Mercurial > repos > iuc > tbprofiler
comparison tb_profiler_profile.xml @ 18:4839e590cb26 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/blob/master/tools/tb-profiler commit 74ef4277d954bbbb0acd47ae6ef2d323485d5bf1
author | iuc |
---|---|
date | Thu, 30 May 2024 11:31:53 +0000 |
parents | d03af1c7002c |
children | 51dd22484644 |
comparison
equal
deleted
inserted
replaced
17:d03af1c7002c | 18:4839e590cb26 |
---|---|
1 <tool id="tb_profiler_profile" name="TB-Profiler Profile" version="@TOOL_VERSION@+galaxy0" profile="20.09"> | 1 <tool id="tb_profiler_profile" name="TB-Profiler Profile" version="@TOOL_VERSION@+galaxy0" profile="23.2" license="AGPL-3.0-or-later"> |
2 <description>Infer strain types and drug resistance markers from sequences</description> | 2 <description>Infer strain types and drug resistance markers from sequences</description> |
3 <macros> | 3 <macros> |
4 <token name="@TOOL_VERSION@">4.4.1</token> | 4 <token name="@TOOL_VERSION@">6.2.1</token> |
5 </macros> | 5 </macros> |
6 <xrefs> | 6 <xrefs> |
7 <xref type="bio.tools">tb-profiler</xref> | 7 <xref type="bio.tools">tb-profiler</xref> |
8 </xrefs> | 8 </xrefs> |
9 <requirements> | 9 <requirements> |
29 ln -s '$fastq_or_bam.bam_input' input.bam && | 29 ln -s '$fastq_or_bam.bam_input' input.bam && |
30 #end if | 30 #end if |
31 | 31 |
32 tb-profiler profile | 32 tb-profiler profile |
33 --platform '${platform.value}' | 33 --platform '${platform.value}' |
34 ${spoligotype} | |
34 #if str($fastq_or_bam.input_select.value) in ("paired_fastq", "paired_collection_fastq", "single_fastq") | 35 #if str($fastq_or_bam.input_select.value) in ("paired_fastq", "paired_collection_fastq", "single_fastq") |
35 -1 fastq_r1.'$r1_ext' | 36 -1 fastq_r1.'$r1_ext' |
36 #end if | 37 #end if |
37 #if str($fastq_or_bam.input_select.value) in ("paired_fastq", "paired_collection_fastq") | 38 #if str($fastq_or_bam.input_select.value) in ("paired_fastq", "paired_collection_fastq") |
38 -2 fastq_r2.'$r1_ext' | 39 -2 fastq_r2.'$r1_ext' |
42 | 43 |
43 --threads "\${GALAXY_SLOTS:-1}" | 44 --threads "\${GALAXY_SLOTS:-1}" |
44 #if $advanced.options == 'yes' | 45 #if $advanced.options == 'yes' |
45 --mapper '${advanced.mapper}' | 46 --mapper '${advanced.mapper}' |
46 --caller '${advanced.caller}' | 47 --caller '${advanced.caller}' |
47 --min_depth '${advanced.min_depth}' | 48 --depth '${advanced.vf.min_depth_hard},${advanced.vf.min_depth_soft}' |
48 --af '${advanced.min_allele_freq}' | 49 --af '${advanced.vf.min_af_hard},${advanced.vf.min_af_soft}' |
49 --reporting_af '${advanced.min_allele_freq_reporting}' | 50 --strand '${advanced.vf.min_read_hard},${advanced.vf.min_read_soft}' |
51 --sv-depth '${advanced.vf.min_sv_depth_hard},${advanced.vf.min_sv_depth_soft}' | |
52 --sv-af '${advanced.vf.min_sv_af_hard},${advanced.vf.min_sv_af_soft}' | |
53 --sv-len '${advanced.vf.max_sv_len_hard},${advanced.vf.max_sv_len_soft}' | |
54 ${advanced.suspect} | |
55 ${advanced.no_trim} | |
56 ${advanced.no_coverage_qc} | |
57 ${advanced.no_samclip} | |
58 ${advanced.no_delly} | |
50 #end if | 59 #end if |
51 | 60 |
52 #if $output_format == "pdf" | 61 #if $output_format == "pdf" |
53 --pdf | 62 --pdf |
54 #else if $output_format == "txt" | 63 #else if $output_format == "txt" |
56 #end if | 65 #end if |
57 && mv results/tbprofiler.results.json $results_json | 66 && mv results/tbprofiler.results.json $results_json |
58 #if str($fastq_or_bam.input_select) != "bam" | 67 #if str($fastq_or_bam.input_select) != "bam" |
59 && mv bam/tbprofiler.bam '${output_bam}' | 68 && mv bam/tbprofiler.bam '${output_bam}' |
60 #end if | 69 #end if |
61 && bcftools view -Ov -o'${output_vcf}' vcf/tbprofiler.targets.csq.vcf.gz | 70 && bcftools view -Ov -o'${output_vcf}' vcf/tbprofiler.targets.vcf.gz |
62 #if $output_format == "pdf" | 71 #if $output_format == "pdf" |
63 && mv results/tbprofiler.results.pdf '${output_pdf}' | 72 && mv results/tbprofiler.results.pdf '${output_pdf}' |
64 #else if $output_format == "txt" | 73 #else if $output_format == "txt" |
65 && mv results/tbprofiler.results.txt '${output_txt}' | 74 && mv results/tbprofiler.results.txt '${output_txt}' |
66 #end if | 75 #end if |
91 </when> | 100 </when> |
92 <when value="bam"> | 101 <when value="bam"> |
93 <param name="bam_input" type="data" format="bam" label="Bam" help="Warning!!!: The BAM files must have been created using the ensembl version of the genome."/> | 102 <param name="bam_input" type="data" format="bam" label="Bam" help="Warning!!!: The BAM files must have been created using the ensembl version of the genome."/> |
94 </when> | 103 </when> |
95 </conditional> | 104 </conditional> |
105 <param argument="--spoligotype" type="boolean" label="Perform in-silico spoligotyping" checked="false" truevalue="--spoligotype" falsevalue="" | |
106 help="Uses spacers of CRISPR region to call a spoligotype."/> | |
96 <param name="output_format" label="Output format" type="select"> | 107 <param name="output_format" label="Output format" type="select"> |
97 <option value="txt" selected="true">Text</option> | 108 <option value="txt" selected="true">Text</option> |
98 <option value="pdf">PDF</option> | 109 <option value="pdf">PDF</option> |
99 </param> | 110 </param> |
100 <conditional name="advanced"> | 111 <conditional name="advanced"> |
116 <option value="bcftools">bcftools</option> | 127 <option value="bcftools">bcftools</option> |
117 <option value="gatk">gatk</option> | 128 <option value="gatk">gatk</option> |
118 <option value="pilon">pilon</option> | 129 <option value="pilon">pilon</option> |
119 <option value="lofreq">lofreq</option> | 130 <option value="lofreq">lofreq</option> |
120 </param> | 131 </param> |
121 <param name="min_depth" label="Min Depth" type="integer" value="10" help="Minimum depth required to call variant. Bases with depth below this cutoff will be marked as missing (default: 10)"/> | 132 <section name="vf" title="Variant Filters"> |
122 <param name="min_allele_freq" argument="--af" type="float" value="0.1" label="Minimum allele frequency to call variants" help=" Minimum allele frequency to call variants (default: 0.1)" /> | 133 <param name="min_depth_hard" argument="--depth" label="Min Depth (hard cutoff)" type="integer" value="0" min="0" |
123 <param name="min_allele_freq_reporting" argument="--reporting_af" value="0.1" label="Reporting Minimum allele frequency to call variants" type="float" help=" Minimum allele frequency to call variants (default: 0.1)"/> | 134 help="Minimum depth required to call variant. Bases with depth below this cutoff will be marked as missing (default: 0)"/> |
135 <param name="min_depth_soft" argument="--depth" label="Min Depth (soft cutoff)" type="integer" value="10" min="0" | |
136 help="Minimum depth required to call variant. Variants at positions lower than this depth and above the hard cutoff will be marked as QC fail (default: 10)"/> | |
137 <param name="min_af_hard" argument="--af" type="float" value="0" label="Minimum allele frequency to call variants (hard cutoff)" min="0.0" max="1.0" | |
138 help="Minimum allele frequency to call variants (default: 0)" /> | |
139 <param name="min_af_soft" argument="--af" type="float" value="0.1" label="Minimum allele frequency to call variants (soft cutoff)" min="0.0" max="1.0" | |
140 help="Variants with an allele frequency lower than this (and higher than the hard cutoff) will be marked as QC fail (default 0.1)" /> | |
141 <param name="min_read_hard" argument="--strand" type="integer" value="0" label="Mininum read number per strand (hard cutoff)" min="0" | |
142 help="Minimum read number per strand to call variants (default: 0)" /> | |
143 <param name="min_read_soft" argument="--strand" type="integer" value="3" label="Mininum read number per strand (soft cutoff)" min="0" | |
144 help="Minimum read number per strand to report variants (default: 3). Variants with number of reads on each strand below this (and above the hard cutoff) will be marked as QC fail" /> | |
145 <param name="min_sv_depth_hard" argument="--sv-depth" type="integer" value="0" label="Min Depth for SV (hard cutoff)" min="0" | |
146 help="Minimum depth required to call structural variants (default: 0)" /> | |
147 <param name="min_sv_depth_soft" argument="--sv-depth" type="integer" value="10" label="Min Depth for SV (soft cutoff)" min="0" | |
148 help="Minimum depth required to call structural variants. Variants at positions lower than this depth and above the hard cutoff will be marked as QC fail" /> | |
149 <param name="min_sv_af_hard" argument="--sv-af" type="float" value="0.5" label="Min SV allele frequency (hard cutoff)" min="0.0" max="1.0" | |
150 help="Minimum allele frequency to call structural variants (default: 0.5)" /> | |
151 <param name="min_sv_af_soft" argument="--sv-af" type="float" value="0.9" label="Min SV allele frequency (soft cutoff)" min="0.0" max="1.0" | |
152 help="Variants with an allele frequency lower than this (and higher than the hard cutoff) will be marked as QC fail (default 0.9)" /> | |
153 <param name="max_sv_len_hard" argument="--sv-len" type="integer" value="100000" label="Max SV length (hard cutoff)" min="0" | |
154 help="Maximum length (length) of structural variants to call (default: 100000)" /> | |
155 <param name="max_sv_len_soft" argument="--sv-len" type="integer" value="50000" label="Max SV length (soft cutoff)" min="0" | |
156 help="Structural variants with length higher than this (and lower than the hard cutoff) will be marked as QC fail (default: 50000)" /> | |
157 </section> | |
158 <param argument="--suspect" label="Use ML predictions of resistance from the SUSPECT tool suite" type="boolean" checked="False" truevalue="--suspect" falsevalue="" | |
159 help="The SUSPECT tools offer ML-based predictions of RIF, PZA and BDQ resistance. Note that this uses a web service thus requires an Internet connection."/> | |
160 <param argument="--no_trim" label="Do not trim reads using trimmomatic" checked="false" type="boolean" truevalue="--no_trim" falsevalue="" /> | |
161 <param argument="--no_coverage_qc" label="Don't collect flagstats" type="boolean" truevalue="--no_coverage_qc" falsevalue="" /> | |
162 <param argument="--no_samclip" label="Don't removed clipped reads from variant calling" type="boolean" truevalue="--no_samclip" falsevalue="" /> | |
163 <param argument="--no_delly" label="Don't run delly for SV calling" type="boolean" truevalue="--no_delly" falsevalue="" /> | |
124 </when> | 164 </when> |
125 </conditional> | 165 </conditional> |
126 </inputs> | 166 </inputs> |
127 <outputs> | 167 <outputs> |
128 <data name="results_json" format="json" from_work_dir="results/tbprofiler.results.json" label="${tool.name} on ${on_string}: Results.json"/> | 168 <data name="results_json" format="json" from_work_dir="results/tbprofiler.results.json" label="${tool.name} on ${on_string}: Results.json"/> |
134 <filter>output_format == 'pdf'</filter> | 174 <filter>output_format == 'pdf'</filter> |
135 </data> | 175 </data> |
136 <data format="txt" name="output_txt" label="${tool.name} report on ${on_string}"> | 176 <data format="txt" name="output_txt" label="${tool.name} report on ${on_string}"> |
137 <filter>output_format == 'txt'</filter> | 177 <filter>output_format == 'txt'</filter> |
138 </data> | 178 </data> |
139 | |
140 </outputs> | 179 </outputs> |
141 <tests> | 180 <tests> |
142 <test expect_num_outputs="4"> | 181 <test expect_num_outputs="4"> |
143 <param name="input_select" value="single_fastq"/> | 182 <param name="input_select" value="single_fastq"/> |
144 <param name="fastq" ftype="fastq.gz" value="rif_resistant.fastq.gz" /> | 183 <param name="fastq" ftype="fastq.gz" value="rif_resistant.fastq.gz" /> |
146 <param name="platform" value="illumina" /> | 185 <param name="platform" value="illumina" /> |
147 <param name="options" value="no" /> | 186 <param name="options" value="no" /> |
148 <output name="output_txt"> | 187 <output name="output_txt"> |
149 <assert_contents> | 188 <assert_contents> |
150 <has_line line="Drug-resistance: RR-TB" /> | 189 <has_line line="Drug-resistance: RR-TB" /> |
151 <has_line line="lineage2.2.2	1.000	Beijing-RD105/RD207	RD105;RD207" /> | 190 <has_line line="lineage2.2.2	1.000	East-Asian (Beijing)	RD105;RD207" /> |
152 <has_line line="Rifampicin	R	rpoB p.Asp435Val (1.00)" /> | 191 <has_line line="Rifampicin	R	rpoB p.Asp435Val (1.00)" /> |
153 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	type=who_confidence|drug=rifampicin|who_confidence=Assoc w R" /> | 192 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	Assoc w R" /> |
154 </assert_contents> | 193 </assert_contents> |
155 </output> | 194 </output> |
156 </test> | 195 </test> |
157 <test expect_num_outputs="3"> | 196 <test expect_num_outputs="3"> |
158 <param name="input_select" value="bam"/> | 197 <param name="input_select" value="bam"/> |
161 <param name="platform" value="illumina" /> | 200 <param name="platform" value="illumina" /> |
162 <param name="options" value="no" /> | 201 <param name="options" value="no" /> |
163 <output name="output_txt"> | 202 <output name="output_txt"> |
164 <assert_contents> | 203 <assert_contents> |
165 <has_line line="Drug-resistance: RR-TB" /> | 204 <has_line line="Drug-resistance: RR-TB" /> |
166 <has_line line="lineage2.2.2	1.000	Beijing-RD105/RD207	RD105;RD207" /> | 205 <has_line line="lineage2.2.2	1.000	East-Asian (Beijing)	RD105;RD207" /> |
167 <has_line line="Rifampicin	R	rpoB p.Asp435Val (1.00)" /> | 206 <has_line line="Rifampicin	R	rpoB p.Asp435Val (1.00)" /> |
168 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	type=who_confidence|drug=rifampicin|who_confidence=Assoc w R" /> | 207 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	Assoc w R" /> |
169 </assert_contents> | 208 </assert_contents> |
170 </output> | 209 </output> |
171 </test> | 210 </test> |
172 <test expect_num_outputs="4"> | 211 <test expect_num_outputs="4"> |
173 <param name="input_select" value="single_fastq"/> | 212 <param name="input_select" value="single_fastq"/> |
174 <param name="fastq" ftype="fastq.gz" value="rif_resistant.fastq.gz" /> | 213 <param name="fastq" ftype="fastq.gz" value="rif_resistant.fastq.gz" /> |
175 <param name="output_format" value="txt" /> | 214 <param name="output_format" value="txt" /> |
176 <param name="platform" value="illumina" /> | 215 <param name="platform" value="illumina" /> |
177 <param name="options" value="yes" /> | 216 <conditional name="advanced"> |
178 <param name="min_allele_freq" value="0.25" /> | 217 <param name="options" value="yes" /> |
179 <param name="min_allele_freq_reporting" value="0.33" /> | 218 <section name="vf"> |
180 <output name="output_txt"> | 219 <param name="min_depth_hard" value="40" /> |
181 <assert_contents> | 220 <param name="min_depth_soft" value="50" /> |
221 </section> | |
222 </conditional> | |
223 <output name="output_txt"> | |
224 <assert_contents> | |
225 <has_line line="lineage2.2.2	1.000	East-Asian (Beijing)	RD105;RD207" /> | |
226 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	Assoc w R" /> | |
227 </assert_contents> | |
228 </output> | |
229 <output name="results_json"> | |
230 <assert_contents> | |
231 <has_text text='"filter": "soft_fail",' /> | |
232 </assert_contents> | |
233 </output> | |
234 </test> | |
235 <test expect_num_outputs="4"> | |
236 <param name="input_select" value="single_fastq"/> | |
237 <param name="fastq" ftype="fastq.gz" value="rpoB_and_crispr.fastq.gz" /> | |
238 <param name="output_format" value="txt" /> | |
239 <param name="platform" value="illumina" /> | |
240 <param name="spoligotype" value="true" /> | |
241 <param name="options" value="no" /> | |
242 <output name="output_txt"> | |
243 <assert_contents> | |
244 <has_line line="Octal: 000000000000771" /> | |
182 <has_line line="Drug-resistance: RR-TB" /> | 245 <has_line line="Drug-resistance: RR-TB" /> |
183 <has_line line="lineage2.2.2	1.000	Beijing-RD105/RD207	RD105;RD207" /> | |
184 <has_line line="Rifampicin	R	rpoB p.Asp435Val (1.00)" /> | 246 <has_line line="Rifampicin	R	rpoB p.Asp435Val (1.00)" /> |
185 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	type=who_confidence|drug=rifampicin|who_confidence=Assoc w R" /> | 247 <has_line line="761110	Rv0667	rpoB	missense_variant	p.Asp435Val	1.000	rifampicin	Assoc w R" /> |
186 </assert_contents> | 248 </assert_contents> |
187 </output> | 249 </output> |
188 </test> | 250 </test> |
189 </tests> | 251 </tests> |
190 <help><![CDATA[ | 252 <help><![CDATA[ |
196 TB-Profiler also predicts the number of reads supporting drug resistance variants as an insight into | 258 TB-Profiler also predicts the number of reads supporting drug resistance variants as an insight into |
197 hetero-resistance (not applicable for MinION data). | 259 hetero-resistance (not applicable for MinION data). |
198 | 260 |
199 Produces a JSON output file by default. | 261 Produces a JSON output file by default. |
200 | 262 |
263 In the Advanced options, you can select the mapper and variant caller to use, as well as set a number of filtering parameters. | |
264 Each of these typically has a "hard" and a "soft" cutoff. If a variant value is below the "hard" cutoff it is discarded, if | |
265 it is between the "hard" and "soft" values it is removed from the final predictions but added to the "qc_fail_variants" section | |
266 of the output. | |
267 | |
268 One of the advanced options is to use the SUSPECT tool suite to predict resistance to `rifampicin (RIF)`_, `pyrazinamide (PZA)`_ | |
269 and `bedaquiline (BDQ)`_. | |
270 | |
271 .. _rifampicin (RIF): https://www.nature.com/articles/s41598-020-74648-y | |
272 .. _pyrazinamide (PZA): https://www.nature.com/articles/s41598-020-58635-x | |
273 .. _bedaquiline (BDQ): https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0217169 | |
201 ]]> </help> | 274 ]]> </help> |
202 <citations> | 275 <citations> |
203 <citation type="doi">10.1186/s13073-019-0650-x</citation> | 276 <citation type="doi">10.1186/s13073-019-0650-x</citation> |
204 </citations> | 277 </citations> |
205 </tool> | 278 </tool> |