Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...



http[s]://<hostname/IP address>:<port>/api/<version of api>/artifacts?qc-flag=PASSED http[s]://<hostname/IP address>:<port>/api/<version of api>/artifacts/<analyte
artifact lims id>


import auth_tokensprint auth_tokens.username #just for sanity check
artifact = GLSRestApiUtils.httpGET(artifactURI, username, password)
Node foundQCNode = artifact.'qc-flag'[0] as Node
if((bp_size >= threshold1) && (bp_size <= threshold2)){qcFlag = "PASSED"}
else{qcFlag = "FAILED"} foundQCNode ? foundQCNode.setValue(qcFlag) : addChild(new Node(null, 'qc-flag', qcFlag), artifact, "qc-flag")
GLSRestApiUtils.httpPUT(artifact, artifactURI, username, password)........
<preset>Your last preset</preset>
<preset>My new preset</preset>
<is-required>Your original value</is-required>
<attach-to-category>Your original value</attach-to-category>
</cnf:field><prc:process uri="http://192.168.8.10:8080/api/v2/processes/24-24452" limsid="24-24452">
<type uri="http://192.168.8.10:8080/api/v2/processtypes/1555">display files</type>
<technician uri="http://192.168.8.10:8080/api/v2/researchers/1">
<first-name>System</first-name>
<last-name>Administrator</last-name>
</technician>
<input-output-map>
<input post-process-uri="http://192.168.8.10:8080/api/v2/artifacts/ADM1301A2PA1?state=48636"
uri="http://192.168.8.10:8080/api/v2/artifacts/ADM1301A2PA1?state=48636"
limsid="ADM1301A2PA1"/>
<output uri="http://192.168.8.10:8080/api/v2/artifacts/2-81806?state=49106"
output-generation-type="PerInput" output-type="Analyte"
limsid="2-81806"/>
</input-output-map>
<input-output-map>
<input post-process-uri="http://192.168.8.10:8080/api/v2/artifacts/ADM1301A3PA1?state=48632"
uri="http://192.168.8.10:8080/api/v2/artifacts/ADM1301A3PA1?state=48632"
limsid="ADM1301A3PA1"/>
<output uri="http://192.168.8.10:8080/api/v2/artifacts/2-81805?state=49105"
output-generation-type="PerInput" output-type="Analyte"
limsid="2-81805"/>
</input-output-map>
<input-output-map>
<input post-process-uri="http://192.168.8.10:8080/api/v2/artifacts/ADM1301A1PA1?state=48650"
uri="http://192.168.8.10:8080/api/v2/artifacts/ADM1301A1PA1?state=48650"
limsid="ADM1301A1PA1"/>
<output uri="http://192.168.8.10:8080/api/v2/artifacts/2-81804?state=49104"
output-generation-type="PerInput" output-type="Analyte"
limsid="2-81804"/>
</input-output-map>
</prc:process><art:artifact uri="http://192.168.8.10:8080/api/v2/artifacts/2-81806?state=49106" limsid="2-81806">
<name>WG-23476-2</name>
<type>Analyte</type>
<output-type>Analyte</output-type>
<parent-process uri="http://192.168.8.10:8080/api/v2/processes/24-24452" limsid="24-24452"/>
<qc-flag>UNKNOWN</qc-flag>
<location>
<container uri="http://192.168.8.10:8080/api/v2/containers/27-11353" limsid="27-11353"/>
<value>1:1</value>
</location>
<working-flag>true</working-flag>
<sample uri="http://192.168.8.10:8080/api/v2/samples/ADM1301A2" limsid="ADM1301A2"/>
</art:artifact> http://192.168.8.10:8080/api/v2/artifacts?samplelimsid=ADM1301A2&process-type=Produce%20Files&type=ResultFile<art:artifacts>
<artifact limsid="92-81803" uri="http://192.168.8.10:8080/api/v2/artifacts/92-81803"/>
</art:artifacts> http://192.168.8.10:8080/api/v2/artifacts?samplelimsid=ADM1301A2&process-type=Produce%20Files&type=ResultFile&name=<name of ResultFile><art:artifact uri="http://192.168.8.10:8080/api/v2/artifacts/92-81803?state=49103" limsid="92-81803">
<name>WG-23476-2</name>
<type>ResultFile</type>
<output-type>ResultFile</output-type>
<parent-process uri="http://192.168.8.10:8080/api/v2/processes/24-24451" limsid="24-24451"/>
<qc-flag>UNKNOWN</qc-flag>
<sample uri="http://192.168.8.10:8080/api/v2/samples/ADM1301A2" limsid="ADM1301A2"/>
<file:file limsid="40-3652" uri="http://192.168.8.10:8080/api/v2/files/40-3652"/>
</art:artifact> http://192.168.8.10:8080/clarity/api/files/3652Harvest the command line parameters
Use the API to convert the LIMS ID (that was passed to the script as the -r parameter) to a full URI
Craft the XML required to create the Input-Output Map for the BCL Conversion Process with -
- the URI we just discovered as the input artifact to the Input-Output Map
POST the XML to the API /path/to/script/scriptname -i {processURI:v2:http} -u {username} \
-p {password} -r {runreportLIMSID} <?xml version="1.0" encoding="UTF-8"?>
<prx:process xmlns:prx="http://genologics.com/ri/processexecution">
<type>BCL Conversion</type>
<technician uri="http://localhost:8080/api/v2/researchers/1"></technician>
<input-output-map shared="false">
<input uri="http://localhost:8080/api/v2/artifacts/92-3771"></input>
<output type="ResultFile"></output>
</input-output-map>
<process-parameter name="Standard"></process-parameter>
</prx:process><art:artifact uri="http://192.168.8.10:8080/api/v2/artifacts/2-42201?state=25871" limsid="2-42201">
<name>Sanger Sample 49</name>
<type>Analyte</type>
<output-type>Analyte</output-type>
<parent-process uri="http://192.168.8.10:8080/api/v2/processes/24-13704" limsid="24-13704"/>
<qc-flag>UNKNOWN</qc-flag>
<location>
<container uri="http://192.168.8.10:8080/api/v2/containers/27-6899" limsid="27-6899"/>
<value>E:1</value>
</location>
<working-flag>true</working-flag>
<sample uri="http://192.168.8.10:8080/api/v2/samples/KUZ407A145" limsid="KUZ407A145"/>
</art:artifact><smp:sample uri="http://192.168.8.10:8080/api/v2/samples/KUZ407A145" limsid="KUZ407A145">
<name>Sanger Sample 49</name>
<date-received>2013-07-15</date-received>
<project limsid="KUZ407" uri="http://192.168.8.10:8080/api/v2/projects/KUZ407"/>
<submitter uri="http://192.168.8.10:8080/api/v2/researchers/4">
<first-name>Jill</first-name>
<last-name>Hesse</last-name>
</submitter>
<artifact limsid="KUZ407A145PA1" uri="http://192.168.8.10:8080/api/v2/artifacts/KUZ407A145PA1?state=25080"/>
<udf:field type="String" name="Progress">Initial sample QC complete</udf:field>
<udf:field type="String" name="Sanger Primer">ITS1</udf:field>
<udf:field type="String" name="Template (uL)">6.9</udf:field>
</smp:sample><art:artifact uri="http://192.168.8.10:8080/api/v2/artifacts/KUZ407A145PA1?state=25080" limsid="KUZ407A145PA1">
<name>Sanger Sample 49</name>
<type>Analyte</type>
<output-type>Analyte</output-type>
<qc-flag>UNKNOWN</qc-flag>
<location>
<container uri="http://192.168.8.10:8080/api/v2/containers/27-6754" limsid="27-6754"/>
<value>1:1</value>
</location>
<working-flag>true</working-flag>
<sample uri="http://192.168.8.10:8080/api/v2/samples/KUZ407A145" limsid="KUZ407A145"/>
<udf:field type="String" name="Conc. Units">ng/uL</udf:field>
<udf:field type="Numeric" name="Concentration">100</udf:field>
<artifact-group name="Sanger Sequencing" uri="http://192.168.8.10:8080/api/v2/artifactgroups/851"/>
</art:artifact><artifact-group name="Sanger Sequencing" uri="http://192.168.8.10:8080/api/v2/artifactgroups/851"/>java -jar ngs-extensions.jar -u {username} -p {password} -i {processURI} \
script:copyUDFs -f <myUDF1>,<myUDF2>,<myUDF3>-f "Library ID"-f "Library ID", "Organism"Does the project exist?
if NO: create it
Does the container exist?
if NO: create it
Create sample<?xml version="1.0" encoding="UTF-8"?>
<smp:samplecreation xmlns:smp="http://genologics.com/ri/sample" xmlns:udf="http://genologics.com/ri/userdefined">
<name>20140909-1</name>
<project uri="https://your_server/api/v2/projects/ROS210"></project>
<location>
<container uri="https://your_server/api/v2/containers/27-195"></container>
<value>1:1</value>
</location>
<udf:field name="Reference Genome">Cane Toad</udf:field>
</smp:samplecreation><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smp:sample uri="https://your_server/api/v2/samples/ROS210A14" limsid="ROS210A14">
<name>20140909-1</name>
<date-received>2014-09-10</date-received>
<project limsid="ROS210" uri="https://your_server/api/v2/projects/ROS210" />
<submitter uri="https://your_server/api/v2/researchers/1">
<first-name>System</first-name>
<last-name>Administrator</last-name>
</submitter>
<artifact limsid="ROS210A14PA1" uri="https://your_server/api/v2/artifacts/ROS210A14PA1?state=4262" />
<udf:field type="String" name="Reference Genome">Cane Toad</udf:field>
</smp:sample><?xml version="1.0" encoding="UTF-8"?>
<prj:project xmlns:udf="http://genologics.com/ri/userdefined" xmlns:ri="http://genologics.com/ri" xmlns:file="http://genologics.com/ri/file" xmlns:prj="http://genologics.com/ri/project">
<name>Week 39</name>
<open-date>2014-09-10</open-date>
<researcher uri="https://your_server/api/v2/researchers/1"/>
</prj:project><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<prj:project uri="https://your_server/api/v2/projects/ADM372" limsid="ADM372">
<name>Week 39</name>
<open-date>2014-09-10</open-date>
<researcher uri="https://your_server/api/v2/researchers/1" />
</prj:project> <?xml version="1.0" encoding="UTF-8"?>
<con:container xmlns:con="http://genologics.com/ri/container">
<name>Example Container 20140910</name>
<type uri="https://your_server/api/v2/containertypes/2" name="Tube"/>
</con:container><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<con:container uri="https://your_server/api/v2/containers/27-1869" limsid="27-1869">
<name>Example Container 20140910</name>
<type uri="https://your_server/api/v2/containertypes/2" name="Tube" />
<occupied-wells>0</occupied-wells>
<state>Empty</state>
</con:container><?xml version="1.0" encoding="UTF-8"?>
<con:container xmlns:con="http://genologics.com/ri/container">
<name>Example Plate 20140910</name>
<type uri="https://your_server/api/v2/containertypes/1" name="96 well plate"/>
</con:container> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<con:container uri="https://your_server/api/v2/containers/27-1870" limsid="27-1870">
<name>Example Plate 20140910</name>
<type uri="https://your_server/api/v2/containertypes/1" name="96 well plate" />
<occupied-wells>0</occupied-wells>
<state>Empty</state>
</con:container> <?xml version="1.0" encoding="UTF-8"?>
<smp:samplecreation xmlns:smp="http://genologics.com/ri/sample" xmlns:udf="http://genologics.com/ri/userdefined">
<name>20140909-1</name>
<project uri="https://your_server/api/v2/projects/ADM372"></project>
<location>
<container uri="https://your_server/api/v2/containers/27-1870"></container>
<value>G:2</value>
</location>
<udf:field name="Reference Genome">Cane Toad</udf:field>
</smp:samplecreation><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smp:sample uri="https://your_server/api/v2/samples/ADM372A2" limsid="ADM372A2">
<name>20140909-1</name>
<date-received>2014-09-10</date-received>
<project limsid="ADM372" uri="https://your_server/api/v2/projects/ADM372" />
<submitter uri="https://your_server/api/v2/researchers/1">
<first-name>System</first-name>
<last-name>Administrator</last-name>
</submitter>
<artifact limsid="ADM372A2PA1" uri="https://your_server/api/v2/artifacts/ADM372A2PA1?state=4264" />
<udf:field type="String" name="Reference Genome">Cane Toad</udf:field>
</smp:sample><prj:projects xmlns:prj="http://genologics.com/ri/project">
<project uri="https://your_server/api/v2/projects/ADM372" limsid="ADM372">
<name>Week 39</name>
</project>
</prj:projects><prj:projects xmlns:prj="http://genologics.com/ri/project"/><con:containers xmlns:con="http://genologics.com/ri/container">
<container uri="https://your_server/api/v2/containers/27-1869" limsid="27-1869">
<name>Example Container 20140910</name>
</container>
</con:containers><con:containers xmlns:con="http://genologics.com/ri/container"/>http://192.168.9.123:8080/api/v2/files<file:files>
<file limsid="92-932-40-16" uri="http://192.168.9.123:8080/api/v2/files/92-932-40-16"/>
<file limsid="92-944-40-18" uri="http://192.168.9.123:8080/api/v2/files/92-944-40-18"/>
<file limsid="92-943-40-20" uri="http://192.168.9.123:8080/api/v2/files/92-943-40-20"/>
<file limsid="92-945-40-22" uri="http://192.168.9.123:8080/api/v2/files/92-945-40-22"/>
<file limsid="92-942-40-24" uri="http://192.168.9.123:8080/api/v2/files/92-942-40-24"/>
<file limsid="92-941-40-26" uri="http://192.168.9.123:8080/api/v2/files/92-941-40-26"/>
<file limsid="ADM102A1DN3-40-28" uri="http://192.168.9.123:8080/api/v2/files/ADM102A1DN3-40-28"/>
...
<file limsid="92-2587-40-459" uri="http://192.168.9.123:8080/api/v2/files/92-2587-40-459"/>
<file limsid="92-2590-40-460" uri="http://192.168.9.123:8080/api/v2/files/92-2590-40-460"/>
<file limsid="92-2594-40-462" uri="http://192.168.9.123:8080/api/v2/files/92-2594-40-462"/>
<file limsid="92-2595-40-463" uri="http://192.168.9.123:8080/api/v2/files/92-2595-40-463"/>
<file limsid="92-2596-40-465" uri="http://192.168.9.123:8080/api/v2/files/92-2596-40-465"/>
<file limsid="92-2597-40-466" uri="http://192.168.9.123:8080/api/v2/files/92-2597-40-466"/>
<file limsid="40-501" uri="http://192.168.9.123:8080/api/v2/files/40-501"/>
<file limsid="40-558" uri="http://192.168.9.123:8080/api/v2/files/40-558"/>
<file limsid="92-4555-40-609" uri="http://192.168.9.123:8080/api/v2/files/92-4555-40-609"/>
<file limsid="92-4554-40-610" uri="http://192.168.9.123:8080/api/v2/files/92-4554-40-610"/>
<file limsid="92-4556-40-611" uri="http://192.168.9.123:8080/api/v2/files/92-4556-40-611"/>
<file limsid="92-4564-40-612" uri="http://192.168.9.123:8080/api/v2/files/92-4564-40-612"/>
<file limsid="92-4563-40-613" uri="http://192.168.9.123:8080/api/v2/files/92-4563-40-613"/>
<file limsid="92-4562-40-614" uri="http://192.168.9.123:8080/api/v2/files/92-4562-40-614"/>
<file limsid="ACC151-40-651" uri="http://192.168.9.123:8080/api/v2/files/ACC151-40-651"/>
<file limsid="ACC151A1-40-652" uri="http://192.168.9.123:8080/api/v2/files/ACC151A1-40-652"/>
</files>http://192.168.9.123:8080/api/v2/files?last-modified=2013-09-10T00:00:00-08:00&published=true<file:files>
<file limsid="ACC151-40-651" uri="http://192.168.9.123:8080/api/v2/files/ACC151-40-651"/>
<file limsid="ACC151A1-40-652" uri="http://192.168.9.123:8080/api/v2/files/ACC151A1-40-652"/>
</file:files><file:file uri="http://192.168.9.123:8080/api/v2/files/ACC151-40-651" limsid="ACC151-40-651">
<attached-to>http://192.168.9.123:8080/api/v2/projects/ACC151</attached-to>
<content-location> sftp://192.168.9.123/home/glsftp/ACC151/ACC151-40-651.csv </content-location>
<original-location>GLims.csv</original-location>
<is-published>true</is-published>
</file:file><file:file uri="http://192.168.9.123:8080/api/v2/files/ACC151A1-40-652" limsid="ACC151A1-40-652">
<attached-to>http://192.168.9.123:8080/api/v2/samples/ACC151A1</attached-to>
<content-location> sftp://192.168.9.123/home/glsftp/ACC151/ACC151A1/ACC151A1-40-652.png </content-location>
<original-location>image001.png</original-location>
<is-published>true</is-published>
</file:file><prj:project uri="http://192.168.9.123:8080/api/v2/projects/ACC151" limsid="ACC151">
<name>Scaffold POC</name>
<open-date>2013-04-18</open-date>
<researcher uri="http://192.168.9.123:8080/api/v2/researchers/3" />
<file:file limsid="ACC151-40-651" uri="http://192.168.9.123:8080/api/v2/files/ACC151-40-651" />
</prj:project><smp:sample uri="http://192.168.9.123:8080/api/v2/samples/ACC151A1" limsid="ACC151A1">
<name>SG-5926 -1</name>
<date-received>2013-04-18</date-received>
<project limsid="ACC151" uri="http://192.168.9.123:8080/api/v2/projects/ACC151"/ >
<submitter uri="http://192.168.9.123:8080/api/v2/researchers/1">
<first-name>System</first-name>
<last-name>Administrator</last-name>
</submitter>
<artifact limsid="ACC151A1PA1" uri="http://192.168.9.123:8080/api/v2/artifacts/ACC151A1PA1?state=451" />
<udf:field type="Boolean" name="Control?">false</udf:field>
<udf:field type="String" name="Category">treated</udf:field>
<file:file limsid="ACC151A1-40-652" uri="http://192.168.9.123:8080/api/v2/files/ACC151A1-40-652"/>
</smp:sample>For each URI in files list:
Retrieve the file object
STORE the contents of the 'original-location' element
IF the contents of the 'attached-to' element contains EITHER 'projects' OR 'samples':
Retrieve the object pointed to by the 'attached-to' element
STORE the contents of the 'name' element
Compile the stored elements into a notification
Publish all notifications produced in an atomic or molecular fashion, as requiredFILE: GLims.csv was recently uploaded to PROJECT: Scaffold POCFILE: image001.png was recently uploaded to SAMPLE: -1java -jar omxprops-ConfigTool.jar addPropertyType <baseName><suffix> /<value> <description>java -jar omxprops-ConfigTool.jar get <baseName><suffix>java -jar omxprops-ConfigTool.jar set -y <baseName><suffix> <newValue>java -jar omxprops-ConfigTool.jar addPropertyType http-lims-files.dir '/limsdata' 'Alternate filestore server dir'
java -jar omxprops-ConfigTool.jar addPropertyType http-lims-files.host 'YourHTTPHost' 'Alternate filestore host'
java -jar omxprops-ConfigTool.jar addPropertyType http-lims-files.port '80' 'Alternate filestore port'
java -jar omxprops-ConfigTool.jar addPropertyType http-lims-files.scheme 'http' 'Alternate filestore server type'java -jar omxprops-ConfigTool.jar addPropertyType -y http-lims-files.dir / Alternate filestore server dir<file:file xmlns:file="http://genologics.com/ri/file">
<content-location>http://YourHTTPHost:80/limsdata/LegacyFile.RAW</content-location>
<attached-to>http://hostname/api/v2/artifacts/92-148</attached-to>
<original-location>http://YourHTTPHost:80/limsdata/LegacyFile.RAW</original-location>
<is-published>false</is-published>
</file:file>/opt/gls/clarity/tomcat/current/webapps/clarity##6.x.x.x/WEB-INF/classes/META-INF/vfs-providers.xml
/opt/gls/clarity/tomcat/current/webapps/api##6.x.x.x/WEB-INF/classes/META-INF/vfs-providers.xmlchown glsjboss:claritylims /opt/gls/clarity/tomcat/current/webapps/clarity##6.x.x.x/WEB-INF/classes/META-INF/vfs-providers.xml
chown glsjboss:claritylims /opt/gls/clarity/tomcat/current/webapps/api##6.x.x.x/WEB-INF/classes/META-INF/vfs-providers.xml