Mercurial > repos > drosofff > lumpy
diff lumpy.xml @ 0:8b3daa745d9b draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/lumpy commit c0bfc4b2215705e1b5fd1d4e60b1d72e5da13c92
author | drosofff |
---|---|
date | Tue, 06 Dec 2016 05:46:28 -0500 |
parents | |
children | a006d42dd759 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lumpy.xml Tue Dec 06 05:46:28 2016 -0500 @@ -0,0 +1,102 @@ +<tool id="lumpy" name="lumpy-sv" version="0.1"> + <description>find structural variants</description> + <requirements> + <requirement type="package" version="0.2.12">lumpy-sv</requirement> + <requirement type="package" version="1.3.1">samtools</requirement> + <requirement type="package" version="1.11.2">numpy</requirement> + </requirements> + <stdio> + <exit_code range="1:" level="fatal" description="Tool exception" /> + </stdio> + <version_command>lumpy --version</version_command> + <command><![CDATA[ + ln -f -s "$input_file" input.bam && + #if $seq_method.seq_method_list == "paired-end": + samtools view -b -F 1294 input.bam > "input.discordants.unsorted.bam" && + samtools view -h input.bam | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools view -Sb - > "input.splitters.unsorted.bam" && + samtools sort input.discordants.unsorted.bam > input.discordants.bam && + samtools sort input.splitters.unsorted.bam > input.splitters.bam && + samtools view -r readgroup input.bam + |tail -n +$seq_method.additional_params.samplingValue + |python $__tool_directory__/pairend_distro.py -r 101 -X 4 -N $seq_method.additional_params.samplingValue -o input.lib.histo > meandev.txt && + mean=\$(cat meandev.txt | sed s/mean:// | sed -r s/stdev:.+//) && + stdev=\$(cat meandev.txt | sed -r s/mean:.+stdev://) && + lumpy -mw 4 -tt 0 + -pe id:input.bam,bam_file:input.discordants.bam,histo_file:input.lib.histo,mean:"\$mean",stdev:"\$stdev",read_length:$seq_method.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 + -sr id:input.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 > output.vcf && + mv input.discordants.bam $discordants && + mv input.splitters.bam $splits && + mv input.lib.histo $histogram && + mv output.vcf $vcf_call && + rm input.discordants.unsorted.bam input.splitters.unsorted.bam meandev.txt + #end if + #if $seq_method.seq_method_list == "single-read": + samtools view -h input.bam | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools view -Sb - > "input.splitters.unsorted.bam" && + lumpy -mw 4 -tt 0 + -sr id:input.bam,bam_file:input.splitters.unsorted.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 > output.vcf && + mv input.splitters.unsorted.bam $splits && + mv output.vcf $vcf_call + #end if + + ]]></command> + <!-- basic error handling --> + <inputs> + <param format="bam" name="input_file" type="data" label="One BAM alignment file produced by BWA-mem"/> + <conditional name="seq_method"> + <param help="Paired-end or single-read sequencing" label="Sequencing method" name="seq_method_list" type="select"> + <option selected="True" value="paired-end">Paired-end sequencing</option> + <option value="single-read">Single-read sequencing</option> + </param> + <when value="paired-end"> + <param name="readLength" value="151" type="integer" label="read length" help="e.g. 151 nt" /> + <section name="additional_params" title="Additional Options" expanded="False"> + <param name="samplingValue" value="100000" type="integer" label="number of reads to compute mean and stdev of read length" help="e.g. 10000" /> + <param name="min_non_overlap" value="101" type="integer" label="min_non_overlap" help="e.g. 101" /> + <param name="discordant_z" value="5" type="integer" label="discordant_z" help="e.g. 5" /> + <param name="back_distance" value="10" type="integer" label="back_distance" help="e.g. 10" /> + <param name="weight" value="1" type="integer" label="weight" help="e.g. 1" /> + <param name="min_mapping_threshold" value="20" type="integer" label="min_mapping_threshold" help="e.g. 20" /> + </section> + </when> + <when value="single-read"> + <section name="additional_params" title="Additional Options" expanded="False"> + <param name="back_distance" value="10" type="integer" label="back_distance" help="e.g. 10" /> + <param name="weight" value="1" type="integer" label="weight" help="e.g. 1" /> + <param name="min_mapping_threshold" value="20" type="integer" label="min_mapping_threshold" help="e.g. 20" /> + </section> + </when> + + </conditional> + + </inputs> + + <outputs> + <data format="tabular" name="histogram" type="data" label="${input_file.element_identifier} Fragment size distribution"> + <filter>seq_method['seq_method_list'] == "paired-end"</filter> + </data> + <data format="bam" name="splits" type="data" label="${input_file.element_identifier} Split Reads (Bam format)"/> + <data format="bam" name="discordants" type="data" label="${input_file.element_identifier} Discordant Pairs (Bam format)"> + <filter>seq_method['seq_method_list'] == "paired-end"</filter> + </data> + <data format="vcf" name="vcf_call" type="data" label="${input_file.element_identifier} Variant Calling (vcf format)"/> + </outputs> + + <tests> + <test> + <param name="input_file" value="sr.input.bam" ftype="bam"/> + <param name="seq_method_list" value="single-read" /> + <param name="back_distance" value="10"/> + <param name="weight" value="1" /> + <param name="min_mapping_threshold" value="20" /> + <output name="vcf_call" file="output.vcf" ftype="vcf"/> + </test> + </tests> + + <help> + Some help required + </help> + + <citations> + <citation type="doi">10.1186/gb-2014-15-6-r84</citation> + </citations> +</tool>