changeset 4:111d2508ab15 draft

Uploaded
author jjohnson
date Mon, 07 Aug 2017 15:46:02 -0400
parents 4f78281c42ff
children 044f0a2e2a36
files optitype.xml tool_dependencies.xml
diffstat 2 files changed, 142 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/optitype.xml	Mon Nov 23 09:56:42 2015 -0500
+++ b/optitype.xml	Mon Aug 07 15:46:02 2017 -0400
@@ -1,80 +1,153 @@
-<tool id="optitype" name="OptiType" version="1.0.0">
-  <description>HLA genotyping predictions from NGS data</description>
-  <requirements>
-    <requirement type="package" version="1.8.12">hdf5</requirement>
-    <requirement type="package" version="3.4.0">razers3</requirement>
-    <requirement type="package" version="1.0">optitype</requirement>
-    <requirement type="package" version="2.9.5">cbc</requirement>
-  </requirements>
+<tool id="optitype" name="OptiType" version="1.2.1">
+    <description>HLA genotyping predictions from NGS data</description>
+    <requirements>
+        <requirement type="package" version="1.2.1">optitype</requirement>
+    </requirements>
  <stdio>
-     <exit_code range="1:"  level="fatal" description="Error Running optitype" />
+         <exit_code range="1:"    level="fatal" description="Error Running optitype" />
  </stdio>
-  <command>
+    <command>
 <![CDATA[
 #set $fastqs = []
 #if str( $fastq_input.fastq_input_selector ) == "paired":
-  ln -s "${fastq_input.fastq_input1}" reads_1.fastq
-  && ln -s "${fastq_input.fastq_input2}" reads_2.fastq
-  #set $fastqs = ['reads_1.fastq','reads_2.fastq']
+    ln -s "${fastq_input.fastq_input1}" reads_1.fastq
+    && ln -s "${fastq_input.fastq_input2}" reads_2.fastq
+    #set $fastqs = ['reads_1.fastq','reads_2.fastq']
 #elif str( $fastq_input.fastq_input_selector ) == "paired_collection":
-  ln -s "${fastq_input.fastq_input1.forward}" reads_1.fastq
-  && ln -s "${fastq_input.fastq_input1.reverse}" reads_2.fastq
-  #set $fastqs = ['reads_1.fastq','reads_2.fastq']
+    ln -s "${fastq_input.fastq_input1.forward}" reads_1.fastq
+    && ln -s "${fastq_input.fastq_input1.reverse}" reads_2.fastq
+    #set $fastqs = ['reads_1.fastq','reads_2.fastq']
 #elif str( $fastq_input.fastq_input_selector ) == "single":
-  ln -s "${fastq_input.fastq_input1}" reads.fastq
-  #set $fastqs = ['reads.fastq']
+    ln -s "${fastq_input.fastq_input1}" reads.fastq
+    #set $fastqs = ['reads.fastq']
 #end if
 && cp \$OPTITYPE_DIR/config.ini .
+&& sed "s/path_to_razers3/`which razers3`/" '$optitype_config' | sed "s/threads=16/threads=\$GALAXY_SLOTS/" > config.ini
 && ln -s \$OPTITYPE_DIR/data data
 #set $input_fq = ' '.join($fastqs)
-&& python  \$OPTITYPE_DIR/OptiTypePipeline.py 
-$read_type --input  ${' '.join($fastqs)}
+&& OptiTypePipeline.py 
+$read_type --input    ${' '.join($fastqs)}
 #if str($beta) != '': 
  --beta $beta
 #end if
 #if str($enumerations) != '': 
  --enumerate $enumerations
 #end if
+--config "`pwd`/config.ini"
 --outdir $outdir
 && cp $outdir/*/*_coverage_plot.pdf $coverage_plot
 && cp $outdir/*/*_result.tsv $result
 ]]>
-  </command>
-  <inputs>
-    <conditional name="fastq_input">
-      <param name="fastq_input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data">
-        <option value="paired">Paired</option>
-        <option value="single">Single</option>
-        <option value="paired_collection">Paired Collection</option>
-      </param>
-      <when value="paired">
-        <param name="fastq_input1" type="data" format="fastqsanger" label="Select first set of reads" help="Specify dataset with forward reads"/>
-        <param name="fastq_input2" type="data" format="fastqsanger" label="Select second set of reads" help="Specify dataset with reverse reads"/>
-      </when>
-      <when value="single">
-        <param name="fastq_input1" type="data" format="fastqsanger" label="Select fastq dataset" help="Specify dataset with single reads"/>
-      </when>
-      <when value="paired_collection">
-        <param name="fastq_input1" format="fastqsanger" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/>
-      </when>
-    </conditional>
-    <param name="read_type" type="select" label="Nucleotide Type" help="">
-      <option value="--rna">RNA</option>
-      <option value="--dna">DNA</option>
-    </param>
-    <param name="beta" type="float" value="" min="0.0" max="0.1" optional="true" label="homozygosity beta" help="The beta value for for homozygosity detection (Leave blank for default: 0.009)"/>
-    <param name="enumerations" type="integer" value="" min="1" max="5" optional="true" label="Enumerations" help="The number of enumerations (Leave blank for default: 1)"/>
-    <param name="outdir" type="hidden" value="output_dir"/>
-  </inputs>
-  <outputs>
-    <data format="pdf" name="coverage_plot" label="${tool.name} on ${on_string} coverage_plot.pdf"/>
-    <data format="tabular" name="result" label="${tool.name} on ${on_string} result.tsv"/>
-  </outputs>
-  <tests>
-    <test>
-    </test>
-  </tests>
-  <help>
+    </command>
+    <configfiles>
+        <configfile name="optitype_config"><![CDATA[
+[mapping]
+
+# Absolute path to RazerS3 binary, and number of threads to use for mapping
+
+razers3=path_to_razers3
+threads=16
+
+[ilp]
+
+# A Pyomo-supported ILP solver. The solver must be globally accessible in the
+# environment OptiType is run, so make sure to include it in PATH.
+# Note: this is NOT a path to the solver binary, but a keyword argument for
+# Pyomo. Examples: glpk, cplex, cbc.
+
+solver=$solver
+threads=1
+
+[behavior]
+
+# tempdir=/path/to/tempdir  # we may enable this setting later. Not used now.
+
+# Delete intermediate bam files produced by RazerS3 after OptiType finished
+# loading them. If you plan to re-analyze your samples with different settings
+# disabling this option can be a time-saver, as you'll be able to pass the bam
+# files to OptiType directly as input and spare the expensive read mapping
+# step.
+
+deletebam=true
+
+# In paired-end mode one might want to use reads with just one mapped end (e.g.,
+# the other end falls outside the reference region). This setting allows the
+# user to keep them with an optionally reduced weight. A value of 0 means they
+# are discarded for typing, 0.2 means single reads are "worth" 20% of paired
+# reads, and a value of 1 means they are treated as valuable as properly mapped
+# read pairs. Note: unpaired reads will be reported on the result coverage plots
+# for completeness, regardless of this setting.
+
+unpaired_weight=$unpaired_weight
+
+# We call a read pair discordant if its two ends best-map to two disjoint sets
+# of alleles. Such reads can be either omitted or either of their ends treated
+# as unpaired hits. Note: discordant read pairs are reported on the coverage
+# plots as unpaired reads, regardless of this setting.
+
+use_discordant=$use_discordant
+        ]]></configfile>
+    </configfiles>
+    <inputs>
+        <conditional name="fastq_input">
+            <param name="fastq_input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data">
+                <option value="paired">Paired</option>
+                <option value="single">Single</option>
+                <option value="paired_collection">Paired Collection</option>
+            </param>
+            <when value="paired">
+                <param name="fastq_input1" type="data" format="fastqsanger" label="Select first set of reads" help="Specify dataset with forward reads"/>
+                <param name="fastq_input2" type="data" format="fastqsanger" label="Select second set of reads" help="Specify dataset with reverse reads"/>
+            </when>
+            <when value="single">
+                <param name="fastq_input1" type="data" format="fastqsanger" label="Select fastq dataset" help="Specify dataset with single reads"/>
+            </when>
+            <when value="paired_collection">
+                <param name="fastq_input1" format="fastqsanger" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/>
+            </when>
+        </conditional>
+        <param name="read_type" type="select" label="Nucleotide Type" help="">
+            <option value="--rna">RNA</option>
+            <option value="--dna">DNA</option>
+        </param>
+        <param name="beta" type="float" value="" min="0.0" max="0.1" optional="true" label="homozygosity beta" help="The beta value for for homozygosity detection (Leave blank for default: 0.009)"/>
+        <param name="enumerations" type="integer" value="" min="1" max="5" optional="true" label="Enumerations" help="The number of enumerations (Leave blank for default: 1)"/>
+        <param name="solver" type="select" label="ILP solver" help="">
+            <option value="glpk">glpk</option>
+            <!--
+            <option value="cbc">cbc</option>
+            -->
+        </param>
+        <param name="unpaired_weight" type="float" value="0" min="0.0" max="1.0" label="unpaired_weight">
+            <help><![CDATA[
+In paired-end mode one might want to use reads with just one mapped end (e.g.,
+the other end falls outside the reference region). This setting allows the
+user to keep them with an optionally reduced weight. A value of 0 means they
+are discarded for typing, 0.2 means single reads are "worth" 20% of paired
+reads, and a value of 1 means they are treated as valuable as properly mapped
+read pairs. Note: unpaired reads will be reported on the result coverage plots
+for completeness, regardless of this setting. ]]>
+            </help>
+        </param>
+        <param name="use_discordant" type="boolean" truevalue="true" falsevalue="false" checked="false" label="use_discordant">
+            <help><![CDATA[
+We call a read pair discordant if its two ends best-map to two disjoint sets
+of alleles. Such reads can be either omitted or either of their ends treated
+as unpaired hits. Note: discordant read pairs are reported on the coverage
+plots as unpaired reads, regardless of this setting. ]]>
+            </help>
+        </param>
+        <param name="outdir" type="hidden" value="output_dir"/>
+    </inputs>
+    <outputs>
+        <data format="pdf" name="coverage_plot" label="${tool.name} on ${on_string} coverage_plot.pdf"/>
+        <data format="tabular" name="result" label="${tool.name} on ${on_string} result.tsv"/>
+    </outputs>
+    <tests>
+        <test>
+        </test>
+    </tests>
+    <help>
 <![CDATA[
 **OptiType**
 ============
@@ -83,33 +156,33 @@
 
 **INPUTS** 
 
-   RNA or DNA sequences in fastq format.
+     RNA or DNA sequences in fastq format.
 
 **OPTIONS**
 
-  --beta <BETA_VALUE>           The beta value for for homozygosity detection (see cited paper). 
-                                Default: 0.009. Handle with care.
-  --enumerate <ENUMERATIONS>    Number of enumerations. 
-                                OptiType will output the optimal solution and the top N-1 suboptimal solutions in the results. 
-                                Default: 1
+    --beta <BETA_VALUE>                     The beta value for for homozygosity detection (see cited paper). 
+                                                                Default: 0.009. Handle with care.
+    --enumerate <ENUMERATIONS>        Number of enumerations. 
+                                                                OptiType will output the optimal solution and the top N-1 suboptimal solutions in the results. 
+                                                                Default: 1
 
 
 **OUTPUTS**
 
-  result.tsv   A TAB-separated file of HLA genotyping predictions:
+    result.tsv     A TAB-separated file of HLA genotyping predictions:
 
-  ::
+    ::
 
 		A1	A2	B1	B2	C1	C2	Reads	Objective
 	0	A*31:01	A*68:01	B*40:01	B*51:01	C*15:02	C*03:04	132	128.43599999999998
 
 
-  coverage_plot.pdf  Plots of coverage of HLA genotyping predictions
+    coverage_plot.pdf    Plots of coverage of HLA genotyping predictions
 
 .. _OptiType: https://github.com/FRED-2/OptiType
 ]]>
-  </help>
-  <citations>
-    <citation type="doi">10.1093/bioinformatics/btu548</citation>
-  </citations>
+    </help>
+    <citations>
+        <citation type="doi">10.1093/bioinformatics/btu548</citation>
+    </citations>
 </tool>
--- a/tool_dependencies.xml	Mon Nov 23 09:56:42 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0"?>
-<tool_dependency>
-    <package name="hdf5" version="1.8.12">
-            <repository changeset_revision="b6d5355e3754" name="package_hdf5_1_8_12" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-    </package>
-    <package name="razers3" version="3.4.0">
-            <repository changeset_revision="98fbcf8559a9" name="package_razers3_3_4_0" owner="jjohnson" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-    </package>
-    <package name="optitype" version="1.0">
-            <repository changeset_revision="6bbc6df0b3d4" name="package_optitype_0_1" owner="jjohnson" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-    </package>
-    <package name="cbc" version="2.9.5">
-            <repository changeset_revision="a00e1bc0658c" name="package_cbc_2_9_5" owner="jjohnson" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-    </package>
-</tool_dependency>