comparison lumpy.xml @ 6:48e97429a749 draft default tip

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/lumpy_sv commit 37c0f0938a5cad74c954a89827a6a08bbbb81cb0
author artbio
date Mon, 08 Jul 2024 22:23:10 +0000
parents 6ae3a402b9af
children
comparison
equal deleted inserted replaced
5:6ae3a402b9af 6:48e97429a749
1 <tool id="lumpy" name="lumpy-sv" version="1.2.2"> 1 <tool id="lumpy" name="lumpy-sv" version="1.3">
2 <description>find structural variants</description> 2 <description>find structural variants</description>
3 <requirements> 3 <requirements>
4 <requirement type="package" version="0.2.13">lumpy-sv</requirement> 4 <requirement type="package" version="0.3.1">lumpy-sv</requirement>
5 <requirement type="package" version="1.3.1">samtools</requirement> 5 <requirement type="package" version="1.18">samtools</requirement>
6 <requirement type="package" version="1.11.2=py27_0">numpy</requirement> 6 <requirement type="package" version="1.16.5">numpy</requirement>
7 </requirements> 7 </requirements>
8 <stdio> 8 <stdio>
9 <exit_code range="1:" level="fatal" description="Tool exception" /> 9 <exit_code range="1:" level="fatal" description="Tool exception" />
10 </stdio> 10 </stdio>
11 <command detect_errors="exit_code"><![CDATA[ 11 <command detect_errors="exit_code"><![CDATA[
31 samtools view -@ \${GALAXY_SLOTS:-4} -h '$one_sample_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.splitters.bam && 31 samtools view -@ \${GALAXY_SLOTS:-4} -h '$one_sample_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.splitters.bam &&
32 samtools view -@ \${GALAXY_SLOTS:-4} '$one_sample_bam' 32 samtools view -@ \${GALAXY_SLOTS:-4} '$one_sample_bam'
33 |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLength -X 4 -N $seq_method.additional_params.samplingValue -o input.lib.histo > meandev.txt && 33 |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLength -X 4 -N $seq_method.additional_params.samplingValue -o input.lib.histo > meandev.txt &&
34 mean=\$(cat meandev.txt | sed s/mean:// | sed -r s/stdev:.+//) && 34 mean=\$(cat meandev.txt | sed s/mean:// | sed -r s/stdev:.+//) &&
35 stdev=\$(cat meandev.txt | sed -r s/mean:.+stdev://) && 35 stdev=\$(cat meandev.txt | sed -r s/mean:.+stdev://) &&
36 lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt 36 lumpy $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt
37 #if $output_format == "BEDPE": 37 #if $output_format == "BEDPE":
38 -b 38 -b
39 #end if 39 #end if
40 -pe id:'$one_sample_bam',bam_file:input.discordants.bam,histo_file:input.lib.histo,mean:"\$mean",stdev:"\$stdev",read_length:$analysis_type.readLength,min_non_overlap:$seq_method.additional_params.min_non_overlap,discordant_z:$seq_method.additional_params.discordant_z,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold 40 -pe id:'$one_sample_bam',bam_file:input.discordants.bam,histo_file:input.lib.histo,mean:"\$mean",stdev:"\$stdev",read_length:$analysis_type.readLength,min_non_overlap:$seq_method.additional_params.min_non_overlap,discordant_z:$seq_method.additional_params.discordant_z,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold
41 -sr id:'$one_sample_bam',bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call' 41 -sr id:'$one_sample_bam',bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call'
42 #elif $seq_method.seq_method_list == "single-read": 42 #elif $seq_method.seq_method_list == "single-read":
43 samtools view -@ \${GALAXY_SLOTS:-4} -h '$one_sample_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.splitters.bam && 43 samtools view -@ \${GALAXY_SLOTS:-4} -h '$one_sample_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.splitters.bam &&
44 lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt 44 lumpy $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt
45 #if $output_format == "BEDPE": 45 #if $output_format == "BEDPE":
46 -b 46 -b
47 #end if 47 #end if
48 -sr id:'$one_sample_bam',bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call' 48 -sr id:'$one_sample_bam',bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call'
49 #end if 49 #end if
59 |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLengthB -X 4 -N $seq_method.additional_params.samplingValue -o input.B.lib.histo > meandevB.txt && 59 |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLengthB -X 4 -N $seq_method.additional_params.samplingValue -o input.B.lib.histo > meandevB.txt &&
60 meanA=\$(cat meandevA.txt | sed s/mean:// | sed -r s/stdev:.+//) && 60 meanA=\$(cat meandevA.txt | sed s/mean:// | sed -r s/stdev:.+//) &&
61 meanB=\$(cat meandevB.txt | sed s/mean:// | sed -r s/stdev:.+//) && 61 meanB=\$(cat meandevB.txt | sed s/mean:// | sed -r s/stdev:.+//) &&
62 stdevA=\$(cat meandevA.txt | sed -r s/mean:.+stdev://) && 62 stdevA=\$(cat meandevA.txt | sed -r s/mean:.+stdev://) &&
63 stdevB=\$(cat meandevB.txt | sed -r s/mean:.+stdev://) && 63 stdevB=\$(cat meandevB.txt | sed -r s/mean:.+stdev://) &&
64 lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt 64 lumpy $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt
65 #if $output_format == "BEDPE": 65 #if $output_format == "BEDPE":
66 -b 66 -b
67 #end if 67 #end if
68 -pe id:inputA.bam,bam_file:input.discordants.bam,histo_file:input.lib.histo,mean:"\$meanA",stdev:"\$stdevA",read_length:$analysis_type.readLength,min_non_overlap:$seq_method.additional_params.min_non_overlap,discordant_z:$seq_method.additional_params.discordant_z,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold 68 -pe id:inputA.bam,bam_file:input.discordants.bam,histo_file:input.lib.histo,mean:"\$meanA",stdev:"\$stdevA",read_length:$analysis_type.readLength,min_non_overlap:$seq_method.additional_params.min_non_overlap,discordant_z:$seq_method.additional_params.discordant_z,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold
69 -pe id:inputB.bam,bam_file:input.B.discordants.bam,histo_file:input.B.lib.histo,mean:"\$meanB",stdev:"\$stdevA",read_length:$analysis_type.readLengthB,min_non_overlap:$seq_method.additional_params.min_non_overlap,discordant_z:$seq_method.additional_params.discordant_z,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold 69 -pe id:inputB.bam,bam_file:input.B.discordants.bam,histo_file:input.B.lib.histo,mean:"\$meanB",stdev:"\$stdevA",read_length:$analysis_type.readLengthB,min_non_overlap:$seq_method.additional_params.min_non_overlap,discordant_z:$seq_method.additional_params.discordant_z,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold
70 -sr id:inputA.bam,bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold 70 -sr id:inputA.bam,bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold
71 -sr id:inputB.bam,bam_file:input.B.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call' 71 -sr id:inputB.bam,bam_file:input.B.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call'
72 #elif $seq_method.seq_method_list == "single-read": 72 #elif $seq_method.seq_method_list == "single-read":
73 samtools view -@ \${GALAXY_SLOTS:-4} -h '$sample_a_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.splitters.bam && 73 samtools view -@ \${GALAXY_SLOTS:-4} -h '$sample_a_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.splitters.bam &&
74 samtools view -@ \${GALAXY_SLOTS:-4} -h '$sample_b_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.B.splitters.bam && 74 samtools view -@ \${GALAXY_SLOTS:-4} -h '$sample_b_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o input.B.splitters.bam &&
75 lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt 75 lumpy $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt
76 #if $output_format == "BEDPE": 76 #if $output_format == "BEDPE":
77 -b 77 -b
78 #end if 78 #end if
79 -sr id:'$sample_a_bam',bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold 79 -sr id:'$sample_a_bam',bam_file:input.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold
80 -sr id:'$sample_b_bam',bam_file:input.B.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call' 80 -sr id:'$sample_b_bam',bam_file:input.B.splitters.bam,back_distance:$seq_method.additional_params.back_distance,weight:$seq_method.additional_params.weight,min_mapping_threshold:$seq_method.additional_params.min_mapping_threshold > '$vcf_call'
114 <param name="discordant_z" value="5" type="integer" label="discordant_z" help="e.g. 5" /> 114 <param name="discordant_z" value="5" type="integer" label="discordant_z" help="e.g. 5" />
115 <param name="back_distance" value="10" type="integer" label="back_distance" help="e.g. 10" /> 115 <param name="back_distance" value="10" type="integer" label="back_distance" help="e.g. 10" />
116 <param name="weight" value="1" type="integer" label="weight" help="e.g. 1" /> 116 <param name="weight" value="1" type="integer" label="weight" help="e.g. 1" />
117 <param name="min_mapping_threshold" value="20" type="integer" label="min_mapping_threshold" help="e.g. 20" /> 117 <param name="min_mapping_threshold" value="20" type="integer" label="min_mapping_threshold" help="e.g. 20" />
118 <param name="probability_curve" argument="-P" type="boolean" truevalue="-P" falsevalue="" checked="true" label="output probability curve for each variant"/> 118 <param name="probability_curve" argument="-P" type="boolean" truevalue="-P" falsevalue="" checked="true" label="output probability curve for each variant"/>
119 <param name="evidence" argument="-e" type="boolean" truevalue="-e" falsevalue="" checked="true" label="show evidence for each call"/>
120 </section> 119 </section>
121 </when> 120 </when>
122 <when value="single-read"> 121 <when value="single-read">
123 <section name="additional_params" title="Additional Options" expanded="False"> 122 <section name="additional_params" title="Additional Options" expanded="False">
124 <param name="mw" value="4" type="integer" label="-mw" help="minimum weight across all samples for a call (default: 4)" /> 123 <param name="mw" value="4" type="integer" label="-mw" help="minimum weight across all samples for a call (default: 4)" />
125 <param name="tt" value="0" type="integer" label="-tt" help="trim threshold (default: 0)" /> 124 <param name="tt" value="0" type="integer" label="-tt" help="trim threshold (default: 0)" />
126 <param name="back_distance" value="10" type="integer" label="back_distance" help="e.g. 10" /> 125 <param name="back_distance" value="10" type="integer" label="back_distance" help="e.g. 10" />
127 <param name="weight" value="1" type="integer" label="weight" help="e.g. 1" /> 126 <param name="weight" value="1" type="integer" label="weight" help="e.g. 1" />
128 <param name="min_mapping_threshold" value="20" type="integer" label="min_mapping_threshold" help="e.g. 20" /> 127 <param name="min_mapping_threshold" value="20" type="integer" label="min_mapping_threshold" help="e.g. 20" />
129 <param name="probability_curve" argument="-P" type="boolean" truevalue="-P" falsevalue="" checked="false" label="output probability curve for each variant"/> 128 <param name="probability_curve" argument="-P" type="boolean" truevalue="-P" falsevalue="" checked="false" label="output probability curve for each variant"/>
130 <param name="evidence" argument="-e" type="boolean" truevalue="-e" falsevalue="" checked="false" label="show evidence for each call"/>
131 </section> 129 </section>
132 </when> 130 </when>
133 131
134 </conditional> 132 </conditional>
135 <param help="get variant calling in vcf or BEDPE format" label="variant calling format" name="output_format" type="select"> 133 <param help="get variant calling in vcf or BEDPE format" label="variant calling format" name="output_format" type="select">
137 <option value="BEDPE">BEDPE</option> 135 <option value="BEDPE">BEDPE</option>
138 </param> 136 </param>
139 </inputs> 137 </inputs>
140 138
141 <outputs> 139 <outputs>
142 <data format="tabular" name="histogram" label="Lumpy on ${on_string}: Fragment size distribution" from_work_dir="input.lib.histo"> 140 <data format="tabular" name="histogram" label="Lumpy-sv: Fragment size distribution" from_work_dir="input.lib.histo">
143 <filter>seq_method['seq_method_list'] == "paired-end"</filter> 141 <filter>seq_method['seq_method_list'] == "paired-end"</filter>
144 </data> 142 </data>
145 <data format="tabular" name="histogramB" label="Lumpy on ${on_string}: Fragment size distribution" from_work_dir="input.B.lib.histo"> 143 <data format="tabular" name="histogramB" label="Lumpy-sv: FragmentB size distribution" from_work_dir="input.B.lib.histo">
146 <filter>seq_method['seq_method_list'] == "paired-end"</filter> 144 <filter>seq_method['seq_method_list'] == "paired-end"</filter>
147 <filter>analysis_type['analysis_type_list'] == "two_sample"</filter> 145 <filter>analysis_type['analysis_type_list'] == "two_sample"</filter>
148 </data> 146 </data>
149 <data format="bam" name="splits" label="Lumpy on ${on_string}: Split Reads (Bam format)" from_work_dir="input.splitters.bam"/> 147 <data format="bam" name="splits" label="Lumpy on ${on_string}: Split Reads (Bam format)" from_work_dir="input.splitters.bam"/>
150 <data format="bam" name="splitsB" label="Lumpy on ${on_string}: Split Reads (Bam format)" from_work_dir="input.B.splitters.bam"> 148 <data format="bam" name="splitsB" label="Lumpy on ${on_string}: SplitB Reads (Bam format)" from_work_dir="input.B.splitters.bam">
151 <filter>analysis_type['analysis_type_list'] == "two_sample"</filter> 149 <filter>analysis_type['analysis_type_list'] == "two_sample"</filter>
152 </data> 150 </data>
153 <data format="bam" name="discordants" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)" from_work_dir="input.discordants.bam"> 151 <data format="bam" name="discordants" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)" from_work_dir="input.discordants.bam">
154 <filter>seq_method['seq_method_list'] == "paired-end"</filter> 152 <filter>seq_method['seq_method_list'] == "paired-end"</filter>
155 </data> 153 </data>
156 <data format="bam" name="discordantsB" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)" from_work_dir="input.B.discordants.bam"> 154 <data format="bam" name="discordantsB" label="Lumpy on ${on_string}: DiscordantB Pairs (Bam format)" from_work_dir="input.B.discordants.bam">
157 <filter>seq_method['seq_method_list'] == "paired-end"</filter> 155 <filter>seq_method['seq_method_list'] == "paired-end"</filter>
158 <filter>analysis_type['analysis_type_list'] == "two_sample"</filter> 156 <filter>analysis_type['analysis_type_list'] == "two_sample"</filter>
159 </data> 157 </data>
160 <data format="vcf" name="vcf_call" label="Lumpy Variant Calling"> 158 <data format="vcf" name="vcf_call" label="Lumpy Variant Calling">
161 <change_format> 159 <change_format>
163 </change_format> 161 </change_format>
164 </data> 162 </data>
165 </outputs> 163 </outputs>
166 164
167 <tests> 165 <tests>
168 <test> 166 <test expect_num_outputs="7">
169 <param name="analysis_type_list" value="two_sample" /> 167 <param name="analysis_type_list" value="two_sample" />
170 <param name="input_file" value="sample_Del.bam" ftype="bam"/> 168 <param name="input_file" value="sample_Del.bam" ftype="bam"/>
171 <param name="input_fileB" value="sample_cle.bam" ftype="bam"/> 169 <param name="input_fileB" value="sample_cle.bam" ftype="bam"/>
172 <param name="seq_method_list" value="paired-end" /> 170 <param name="seq_method_list" value="paired-end" />
173 <param name="mw" value="4"/> 171 <param name="mw" value="4"/>
175 <param name="back_distance" value="10"/> 173 <param name="back_distance" value="10"/>
176 <param name="weight" value="1" /> 174 <param name="weight" value="1" />
177 <param name="min_mapping_threshold" value="20" /> 175 <param name="min_mapping_threshold" value="20" />
178 <output name="vcf_call" file="output_two.paired_end.vcf" ftype="vcf"/> 176 <output name="vcf_call" file="output_two.paired_end.vcf" ftype="vcf"/>
179 </test> 177 </test>
180 <test> 178 <test expect_num_outputs="2">
181 <param name="analysis_type_list" value="one_sample" /> 179 <param name="analysis_type_list" value="one_sample" />
182 <param name="input_file" value="sr.input.bam" ftype="bam"/> 180 <param name="input_file" value="sr.input.bam" ftype="bam"/>
183 <param name="seq_method_list" value="single-read" /> 181 <param name="seq_method_list" value="single-read" />
184 <param name="mw" value="4"/> 182 <param name="mw" value="4"/>
185 <param name="tt" value="0"/> 183 <param name="tt" value="0"/>
186 <param name="back_distance" value="10"/> 184 <param name="back_distance" value="10"/>
187 <param name="weight" value="1" /> 185 <param name="weight" value="1" />
188 <param name="min_mapping_threshold" value="20" /> 186 <param name="min_mapping_threshold" value="20" />
189 <output name="vcf_call" file="output.vcf" ftype="vcf"/> 187 <output name="vcf_call" file="output.vcf" ftype="vcf"/>
190 </test> 188 </test>
191 <test> 189 <test expect_num_outputs="2">
192 <param name="analysis_type_list" value="one_sample" /> 190 <param name="analysis_type_list" value="one_sample" />
193 <param name="input_file" value="sr.input.bam" ftype="bam"/> 191 <param name="input_file" value="sr.input.bam" ftype="bam"/>
194 <param name="seq_method_list" value="single-read" /> 192 <param name="seq_method_list" value="single-read" />
195 <param name="mw" value="4"/> 193 <param name="mw" value="4"/>
196 <param name="tt" value="0"/> 194 <param name="tt" value="0"/>
197 <param name="back_distance" value="10"/> 195 <param name="back_distance" value="10"/>
198 <param name="weight" value="1" /> 196 <param name="weight" value="1" />
199 <param name="min_mapping_threshold" value="20" /> 197 <param name="min_mapping_threshold" value="20" />
200 <param name="evidence" value="true" />
201 <param name="probability_curve" value="true" /> 198 <param name="probability_curve" value="true" />
202 <output name="vcf_call" file="output_extended.vcf" ftype="vcf" compare="sim_size"/> 199 <output name="vcf_call" file="output_extended.vcf" ftype="vcf" compare="sim_size"/>
203 </test> 200 </test>
204 <test> 201 <test expect_num_outputs="3">
205 <param name="analysis_type_list" value="two_sample" /> 202 <param name="analysis_type_list" value="two_sample" />
206 <param name="input_file" value="sr.input.bam" ftype="bam"/> 203 <param name="input_file" value="sr.input.bam" ftype="bam"/>
207 <param name="input_fileB" value="sr.input.bam" ftype="bam"/> 204 <param name="input_fileB" value="sr.input.bam" ftype="bam"/>
208 <param name="seq_method_list" value="single-read" /> 205 <param name="seq_method_list" value="single-read" />
209 <param name="mw" value="4"/> 206 <param name="mw" value="4"/>