comparison optitype.xml @ 1:54c9c71dabe8 draft

"planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/optitype commit 4c7dc6705700adf361aadf9ab6ccb425c6691153"
author jjohnson
date Thu, 12 Mar 2020 12:38:06 -0400
parents 3902a76bf089
children bf36e0afdfb4
comparison
equal deleted inserted replaced
0:3902a76bf089 1:54c9c71dabe8
1 <tool id="optitype" name="OptiType" version="1.3.2"> 1 <tool id="optitype" name="OptiType" version="1.3.2">
2 <description>HLA genotyping predictions from NGS data</description> 2 <description>HLA genotyping predictions from NGS data</description>
3 <requirements> 3 <requirements>
4 <requirement type="package" version="1.3.2">optitype</requirement> 4 <requirement type="package" version="1.3.2">optitype</requirement>
5 </requirements> 5 </requirements>
6 <stdio> 6 <command detect_errors="aggressive">
7 <exit_code range="1:" level="fatal" description="Error Running optitype" />
8 </stdio>
9 <command>
10 <![CDATA[ 7 <![CDATA[
11 #set $fastqs = [] 8 #set $fastqs = []
12 #if str( $fastq_input.fastq_input_selector ) == "paired": 9 #if str( $fastq_input.fastq_input_selector ) == "paired":
13 ln -s "${fastq_input.fastq_input1}" reads_1.fastq 10 ln -s "${fastq_input.fastq_input1}" reads_1.fastq
14 && ln -s "${fastq_input.fastq_input2}" reads_2.fastq 11 && ln -s "${fastq_input.fastq_input2}" reads_2.fastq
15 #set $fastqs = ['reads_1.fastq','reads_2.fastq'] 12 #set $fastqs = ['reads_1.fastq','reads_2.fastq']
16 #elif str( $fastq_input.fastq_input_selector ) == "paired_collection": 13 #elif str( $fastq_input.fastq_input_selector ) == "paired_collection":
17 ln -s "${fastq_input.fastq_input1.forward}" reads_1.fastq 14 ln -s "${fastq_input.fastq_input1.forward}" reads_1.fastq
18 && ln -s "${fastq_input.fastq_input1.reverse}" reads_2.fastq 15 && ln -s "${fastq_input.fastq_input1.reverse}" reads_2.fastq
19 #set $fastqs = ['reads_1.fastq','reads_2.fastq'] 16 #set $fastqs = ['reads_1.fastq','reads_2.fastq']
20 #elif str( $fastq_input.fastq_input_selector ) == "single": 17 #elif str( $fastq_input.fastq_input_selector ) == "single":
21 ln -s "${fastq_input.fastq_input1}" reads.fastq 18 ln -s "${fastq_input.fastq_input1}" reads.fastq
22 #set $fastqs = ['reads.fastq'] 19 #set $fastqs = ['reads.fastq']
23 #end if 20 #end if
24 && cp \$OPTITYPE_DIR/config.ini . 21 && RAZERS3=`which razers3`
25 && ln -s \$OPTITYPE_DIR/data data 22 && sed "s#path_to_razers3#\$RAZERS3#" '$optitype_config' | sed "s/threads=16/threads=\$GALAXY_SLOTS/" > config.ini
26 #set $input_fq = ' '.join($fastqs) 23 #set $input_fq = ' '.join($fastqs)
27 && python \$OPTITYPE_DIR/OptiTypePipeline.py 24 && OptiTypePipeline.py
28 $read_type --input ${' '.join($fastqs)} 25 $read_type --input ${' '.join($fastqs)}
29 #if str($beta) != '': 26 #if str($beta) != '':
30 --beta $beta 27 --beta $beta
31 #end if 28 #end if
32 #if str($enumerations) != '': 29 #if str($enumerations) != '':
33 --enumerate $enumerations 30 --enumerate $enumerations
34 #end if 31 #end if
32 --config "`pwd`/config.ini"
35 --outdir $outdir 33 --outdir $outdir
36 && cp $outdir/*/*_coverage_plot.pdf $coverage_plot 34 && cp $outdir/*/*_coverage_plot.pdf $coverage_plot
37 && cp $outdir/*/*_result.tsv $result 35 && cp $outdir/*/*_result.tsv $result
38 ]]> 36 ]]>
39 </command> 37 </command>
40 <inputs> 38 <configfiles>
41 <conditional name="fastq_input"> 39 <configfile name="optitype_config"><![CDATA[
42 <param name="fastq_input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data"> 40 [mapping]
43 <option value="paired">Paired</option> 41
44 <option value="single">Single</option> 42 # Absolute path to RazerS3 binary, and number of threads to use for mapping
45 <option value="paired_collection">Paired Collection</option> 43
46 </param> 44 razers3=path_to_razers3
47 <when value="paired"> 45 threads=16
48 <param name="fastq_input1" type="data" format="fastqsanger" label="Select first set of reads" help="Specify dataset with forward reads"/> 46
49 <param name="fastq_input2" type="data" format="fastqsanger" label="Select second set of reads" help="Specify dataset with reverse reads"/> 47 [ilp]
50 </when> 48
51 <when value="single"> 49 # A Pyomo-supported ILP solver. The solver must be globally accessible in the
52 <param name="fastq_input1" type="data" format="fastqsanger" label="Select fastq dataset" help="Specify dataset with single reads"/> 50 # environment OptiType is run, so make sure to include it in PATH.
53 </when> 51 # Note: this is NOT a path to the solver binary, but a keyword argument for
54 <when value="paired_collection"> 52 # Pyomo. Examples: glpk, cplex, cbc.
55 <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"/> 53
56 </when> 54 solver=$solver
57 </conditional> 55 threads=1
58 <param name="read_type" type="select" label="Nucleotide Type" help=""> 56
59 <option value="--rna">RNA</option> 57 [behavior]
60 <option value="--dna">DNA</option> 58
61 </param> 59 # tempdir=/path/to/tempdir # we may enable this setting later. Not used now.
62 <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)"/> 60
63 <param name="enumerations" type="integer" value="" min="1" max="5" optional="true" label="Enumerations" help="The number of enumerations (Leave blank for default: 1)"/> 61 # Delete intermediate bam files produced by RazerS3 after OptiType finished
64 <param name="outdir" type="hidden" value="output_dir"/> 62 # loading them. If you plan to re-analyze your samples with different settings
65 </inputs> 63 # disabling this option can be a time-saver, as you'll be able to pass the bam
66 <outputs> 64 # files to OptiType directly as input and spare the expensive read mapping
67 <data format="pdf" name="coverage_plot" label="${tool.name} on ${on_string} coverage_plot.pdf"/> 65 # step.
68 <data format="tabular" name="result" label="${tool.name} on ${on_string} result.tsv"/> 66
69 </outputs> 67 deletebam=true
70 <tests> 68
71 <test> 69 # In paired-end mode one might want to use reads with just one mapped end (e.g.,
72 </test> 70 # the other end falls outside the reference region). This setting allows the
73 </tests> 71 # user to keep them with an optionally reduced weight. A value of 0 means they
74 <help> 72 # are discarded for typing, 0.2 means single reads are "worth" 20% of paired
73 # reads, and a value of 1 means they are treated as valuable as properly mapped
74 # read pairs. Note: unpaired reads will be reported on the result coverage plots
75 # for completeness, regardless of this setting.
76
77 unpaired_weight=$unpaired_weight
78
79 # We call a read pair discordant if its two ends best-map to two disjoint sets
80 # of alleles. Such reads can be either omitted or either of their ends treated
81 # as unpaired hits. Note: discordant read pairs are reported on the coverage
82 # plots as unpaired reads, regardless of this setting.
83
84 use_discordant=$use_discordant
85 ]]></configfile>
86 </configfiles>
87 <inputs>
88 <conditional name="fastq_input">
89 <param name="fastq_input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data">
90 <option value="paired">Paired</option>
91 <option value="single">Single</option>
92 <option value="paired_collection">Paired Collection</option>
93 </param>
94 <when value="paired">
95 <param name="fastq_input1" type="data" format="fastqsanger" label="Select first set of reads" help="Specify dataset with forward reads"/>
96 <param name="fastq_input2" type="data" format="fastqsanger" label="Select second set of reads" help="Specify dataset with reverse reads"/>
97 </when>
98 <when value="single">
99 <param name="fastq_input1" type="data" format="fastqsanger" label="Select fastq dataset" help="Specify dataset with single reads"/>
100 </when>
101 <when value="paired_collection">
102 <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"/>
103 </when>
104 </conditional>
105 <param name="read_type" type="select" label="Nucleotide Type" help="">
106 <option value="--rna">RNA</option>
107 <option value="--dna">DNA</option>
108 </param>
109 <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)"/>
110 <param name="enumerations" type="integer" value="" min="1" max="5" optional="true" label="Enumerations" help="The number of enumerations (Leave blank for default: 1)"/>
111 <param name="solver" type="select" label="ILP solver" help="">
112 <option value="glpk">glpk</option>
113 <!--
114 <option value="cbc">cbc</option>
115 -->
116 </param>
117 <param name="unpaired_weight" type="float" value="0" min="0.0" max="1.0" label="unpaired_weight">
118 <help><![CDATA[
119 In paired-end mode one might want to use reads with just one mapped end (e.g.,
120 the other end falls outside the reference region). This setting allows the
121 user to keep them with an optionally reduced weight. A value of 0 means they
122 are discarded for typing, 0.2 means single reads are "worth" 20% of paired
123 reads, and a value of 1 means they are treated as valuable as properly mapped
124 read pairs. Note: unpaired reads will be reported on the result coverage plots
125 for completeness, regardless of this setting. ]]>
126 </help>
127 </param>
128 <param name="use_discordant" type="boolean" truevalue="true" falsevalue="false" checked="false" label="use_discordant">
129 <help><![CDATA[
130 We call a read pair discordant if its two ends best-map to two disjoint sets
131 of alleles. Such reads can be either omitted or either of their ends treated
132 as unpaired hits. Note: discordant read pairs are reported on the coverage
133 plots as unpaired reads, regardless of this setting. ]]>
134 </help>
135 </param>
136 <param name="outdir" type="hidden" value="output_dir"/>
137 </inputs>
138 <outputs>
139 <data format="pdf" name="coverage_plot" label="${tool.name} on ${on_string} coverage_plot.pdf"/>
140 <data format="tabular" name="result" label="${tool.name} on ${on_string} result.tsv"/>
141 </outputs>
142 <tests>
143 <test>
144 <conditional name="fastq_input">
145 <param name="fastq_input_selector" value="paired"/>
146 <param name="fastq_input1" ftype="fastqsanger" value="rna/CRC_81_N_1_fished.fastq"/>
147 <param name="fastq_input2" ftype="fastqsanger" value="rna/CRC_81_N_2_fished.fastq"/>
148 </conditional>
149 <output name="result">
150 <assert_contents>
151 <has_text text="A*31:01" />
152 </assert_contents>
153 </output>
154 </test>
155 </tests>
156 <help>
75 <![CDATA[ 157 <![CDATA[
76 **OptiType** 158 **OptiType**
77 ============ 159 ============
78 160
79 OptiType_ is a novel HLA genotyping algorithm based on integer linear programming, capable of producing accurate 4-digit HLA genotyping predictions from NGS data by simultaneously selecting all major and minor HLA Class I alleles. 161 OptiType_ is a novel HLA genotyping algorithm based on integer linear programming, capable of producing accurate 4-digit HLA genotyping predictions from NGS data by simultaneously selecting all major and minor HLA Class I alleles.
80 162
81 **INPUTS** 163 **INPUTS**
82 164
83 RNA or DNA sequences in fastq format. 165 RNA or DNA sequences in fastq format.
84 166
85 **OPTIONS** 167 **OPTIONS**
86 168
87 --beta <BETA_VALUE> The beta value for for homozygosity detection (see cited paper). 169 --beta <BETA_VALUE> The beta value for for homozygosity detection (see cited paper).
88 Default: 0.009. Handle with care. 170 Default: 0.009. Handle with care.
89 --enumerate <ENUMERATIONS> Number of enumerations. 171 --enumerate <ENUMERATIONS> Number of enumerations.
90 OptiType will output the optimal solution and the top N-1 suboptimal solutions in the results. 172 OptiType will output the optimal solution and the top N-1 suboptimal solutions in the results.
91 Default: 1 173 Default: 1
92 174
93 175
94 **OUTPUTS** 176 **OUTPUTS**
95 177
96 result.tsv A TAB-separated file of HLA genotyping predictions: 178 result.tsv A TAB-separated file of HLA genotyping predictions:
97 179
98 :: 180 ::
99 181
100 A1 A2 B1 B2 C1 C2 Reads Objective 182 A1 A2 B1 B2 C1 C2 Reads Objective
101 0 A*31:01 A*68:01 B*40:01 B*51:01 C*15:02 C*03:04 132 128.43599999999998 183 0 A*31:01 A*68:01 B*40:01 B*51:01 C*15:02 C*03:04 132 128.43599999999998
102 184
103 185
104 coverage_plot.pdf Plots of coverage of HLA genotyping predictions 186 coverage_plot.pdf Plots of coverage of HLA genotyping predictions
105 187
106 .. _OptiType: https://github.com/FRED-2/OptiType 188 .. _OptiType: https://github.com/FRED-2/OptiType
107 ]]> 189 ]]>
108 </help> 190 </help>
109 <citations> 191 <citations>
110 <citation type="doi">10.1093/bioinformatics/btu548</citation> 192 <citation type="doi">10.1093/bioinformatics/btu548</citation>
111 </citations> 193 </citations>
112 </tool> 194 </tool>