Mercurial > repos > drosofff > lumpy
changeset 12:b3fb23bbca8e draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/lumpy commit 03ac2f3182f9e72db31297fa9e2fd5f0802343ea
author | drosofff |
---|---|
date | Sun, 18 Dec 2016 10:35:43 -0500 |
parents | ecbc563571ea |
children | 02adb61c0246 |
files | lumpy.xml test-data/output.vcf test-data/output_extended.vcf test-data/output_two.vcf |
diffstat | 4 files changed, 188 insertions(+), 72 deletions(-) [+] |
line wrap: on
line diff
--- a/lumpy.xml Mon Dec 12 13:45:08 2016 -0500 +++ b/lumpy.xml Sun Dec 18 10:35:43 2016 -0500 @@ -1,4 +1,4 @@ -<tool id="lumpy" name="lumpy-sv" version="0.2.1"> +<tool id="lumpy" name="lumpy-sv" version="0.3.0"> <description>find structural variants</description> <requirements> <requirement type="package" version="0.2.12">lumpy-sv</requirement> @@ -9,101 +9,76 @@ <exit_code range="1:" level="fatal" description="Tool exception" /> </stdio> <command detect_errors="exit_code"><![CDATA[ + #import re + #set one_sample_bam = re.sub('[^\w\-]', '_', str($analysis_type.input_file.element_identifier)) #if $analysis_type.analysis_type_list == "one_sample": - ln -f -s '$analysis_type.input_file' input.bam && + ln -f -s '$analysis_type.input_file' '$one_sample_bam' && #else: - ln -f -s '$analysis_type.input_file' input.A.bam && - ln -f -s '$analysis_type.input_fileB' input.B.bam && + #set sample_a_bam = re.sub('[^\w\-]', '_', str($analysis_type.input_file.element_identifier)) + #set sample_b_bam = re.sub('[^\w\-]', '_', str($analysis_type.input_fileB.element_identifier)) + #if $sample_a_bam == $sample_b_bam: + #set sample_a_bam = "%s_a" % str($sample_a_bam) + #set sample_b_bam = "%s_b" % str($sample_b_bam) + #end if + ln -f -s '$analysis_type.input_file' '$sample_a_bam' && + ln -f -s '$analysis_type.input_fileB' '$sample_b_bam' && #end if #if $analysis_type.analysis_type_list == "one_sample": #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 input.bam - |tail -n +1 + samtools view -u -F 1294 '$one_sample_bam' | samtools sort -O bam -o input.discordants.bam && + samtools view -h '$one_sample_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -O bam -o input.splitters.bam && + samtools view '$one_sample_bam' |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLength -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 $seq_method.additional_params.mw -tt $seq_method.additional_params.tt + lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt #if $output_format == "BEDPE": -b #end if - -pe id:input.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 - -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 $seq_method.additional_params.mw -tt $seq_method.additional_params.tt + -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 + -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' + #elif $seq_method.seq_method_list == "single-read": + samtools view -h '$one_sample_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -O bam -o input.splitters.bam && + lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt #if $output_format == "BEDPE": -b #end if - -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 + -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' #end if - #else: - #if $seq_method.seq_method_list == "paired-end": - samtools view -b -F 1294 input.A.bam > "input.A.discordants.unsorted.bam" && - samtools view -b -F 1294 input.B.bam > "input.B.discordants.unsorted.bam" && - samtools view -h input.A.bam | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools view -Sb - > "input.A.splitters.unsorted.bam" && - samtools view -h input.B.bam | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools view -Sb - > "input.B.splitters.unsorted.bam" && - samtools sort input.A.discordants.unsorted.bam > input.A.discordants.bam && - samtools sort input.B.discordants.unsorted.bam > input.B.discordants.bam && - samtools sort input.A.splitters.unsorted.bam > input.A.splitters.bam && - samtools sort input.B.splitters.unsorted.bam > input.B.splitters.bam && - samtools view input.A.bam - |tail -n +1 - |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLength -X 4 -N $seq_method.additional_params.samplingValue -o input.A.lib.histo > meandevA.txt && - samtools view input.B.bam - |tail -n +1 + samtools view -u -F 1294 '$sample_a_bam' | samtools sort -O bam -o input.discordants.bam && + samtools view -u -F 1294 '$sample_b_bam' | samtools sort -O bam -o input.B.discordants.bam && + samtools view -h '$sample_a_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -O bam -o input.splitters.bam && + samtools view -h '$sample_b_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -O bam -o input.B.splitters.bam && + samtools view '$sample_a_bam' + |python $__tool_directory__/pairend_distro.py -r $analysis_type.readLength -X 4 -N $seq_method.additional_params.samplingValue -o input.lib.histo > meandevA.txt && + samtools view '$sample_b_bam' |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 && meanA=\$(cat meandevA.txt | sed s/mean:// | sed -r s/stdev:.+//) && meanB=\$(cat meandevB.txt | sed s/mean:// | sed -r s/stdev:.+//) && stdevA=\$(cat meandevA.txt | sed -r s/mean:.+stdev://) && stdevB=\$(cat meandevB.txt | sed -r s/mean:.+stdev://) && - lumpy -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt + lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt #if $output_format == "BEDPE": -b #end if - -pe id:inputA.bam,bam_file:input.A.discordants.bam,histo_file:input.A.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 + -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 -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 - -sr id:inputA.bam,bam_file:input.A.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 - -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 > output.vcf && - mv input.A.discordants.bam $discordants && - mv input.B.discordants.bam $discordantsB && - mv input.A.splitters.bam $splits && - mv input.B.splitters.bam $splitsB && - mv input.A.lib.histo $histogram && - mv input.B.lib.histo $histogramB && - mv output.vcf $vcf_call && - rm input.A.discordants.unsorted.bam input.B.discordants.unsorted.bam input.A.splitters.unsorted.bam input.B.splitters.unsorted.bam meandevA.txt meandevB.txt - #end if - #if $seq_method.seq_method_list == "single-read": - samtools view -h input.A.bam | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools view -Sb - > "input.A.splitters.unsorted.bam" && - samtools view -h input.B.bam | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools view -Sb - > "input.B.splitters.unsorted.bam" && - lumpy -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt + -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 + -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' + #elif $seq_method.seq_method_list == "single-read": + samtools view -h '$sample_a_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -O bam -o input.splitters.bam && + samtools view -h '$sample_b_bam' | python $__tool_directory__/extractSplitReads_BwaMem.py -i stdin | samtools sort -O bam -o input.B.splitters.bam && + lumpy $seq_method.additional_params.evidence $seq_method.additional_params.probability_curve -mw $seq_method.additional_params.mw -tt $seq_method.additional_params.tt #if $output_format == "BEDPE": -b #end if - -sr id:input.A.bam,bam_file:input.A.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 - -sr id:input.B.bam,bam_file:input.B.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.A.splitters.unsorted.bam $splits && - mv input.B.splitters.unsorted.bam $splitsB && - mv output.vcf $vcf_call + -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 + -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' #end if - - #end if ]]></command> @@ -140,6 +115,8 @@ <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" /> + <param name="probability_curve" argument="-P" type="boolean" truevalue="-P" falsevalue="" checked="true" label="output probability curve for each variant"/> + <param name="evidence" argument="-e" type="boolean" truevalue="-e" falsevalue="" checked="true" label="show evidence for each call"/> </section> </when> <when value="single-read"> @@ -149,6 +126,8 @@ <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" /> + <param name="probability_curve" argument="-P" type="boolean" truevalue="-P" falsevalue="" checked="false" label="output probability curve for each variant"/> + <param name="evidence" argument="-e" type="boolean" truevalue="-e" falsevalue="" checked="false" label="show evidence for each call"/> </section> </when> @@ -160,21 +139,21 @@ </inputs> <outputs> - <data format="tabular" name="histogram" label="Lumpy on ${on_string}: Fragment size distribution"> + <data format="tabular" name="histogram" label="Lumpy on ${on_string}: Fragment size distribution" from_work_dir="input.lib.histo"> <filter>seq_method['seq_method_list'] == "paired-end"</filter> </data> - <data format="tabular" name="histogramB" label="Lumpy on ${on_string}: Fragment size distribution"> + <data format="tabular" name="histogramB" label="Lumpy on ${on_string}: Fragment size distribution" from_work_dir="input.B.lib.histo"> <filter>seq_method['seq_method_list'] == "paired-end"</filter> <filter>analysis_type['analysis_type_list'] == "two_sample"</filter> </data> - <data format="bam" name="splits" label="Lumpy on ${on_string}: Split Reads (Bam format)"/> - <data format="bam" name="splitsB" label="Lumpy on ${on_string}: Split Reads (Bam format)"> + <data format="bam" name="splits" label="Lumpy on ${on_string}: Split Reads (Bam format)" from_work_dir="input.splitters.bam"/> + <data format="bam" name="splitsB" label="Lumpy on ${on_string}: Split Reads (Bam format)" from_work_dir="input.B.splitters.bam"> <filter>analysis_type['analysis_type_list'] == "two_sample"</filter> </data> - <data format="bam" name="discordants" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)"> + <data format="bam" name="discordants" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)" from_work_dir="input.discordants.bam"> <filter>seq_method['seq_method_list'] == "paired-end"</filter> </data> - <data format="bam" name="discordantsB" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)"> + <data format="bam" name="discordantsB" label="Lumpy on ${on_string}: Discordant Pairs (Bam format)" from_work_dir="input.discordants.B.bam"> <filter>seq_method['seq_method_list'] == "paired-end"</filter> <filter>analysis_type['analysis_type_list'] == "two_sample"</filter> </data> @@ -187,7 +166,7 @@ <tests> <test> - <param name="analysis_type" value="one_sample" /> + <param name="analysis_type_list" value="one_sample" /> <param name="input_file" value="sr.input.bam" ftype="bam"/> <param name="seq_method_list" value="single-read" /> <param name="mw" value="4"/> @@ -197,6 +176,31 @@ <param name="min_mapping_threshold" value="20" /> <output name="vcf_call" file="output.vcf" ftype="vcf"/> </test> + <test> + <param name="analysis_type_list" value="one_sample" /> + <param name="input_file" value="sr.input.bam" ftype="bam"/> + <param name="seq_method_list" value="single-read" /> + <param name="mw" value="4"/> + <param name="tt" value="0"/> + <param name="back_distance" value="10"/> + <param name="weight" value="1" /> + <param name="min_mapping_threshold" value="20" /> + <param name="evidence" value="true" /> + <param name="probability_curve" value="true" /> + <output name="vcf_call" file="output_extended.vcf" ftype="vcf" compare="sim_size"/> + </test> + <test> + <param name="analysis_type_list" value="two_sample" /> + <param name="input_file" value="sr.input.bam" ftype="bam"/> + <param name="input_fileB" value="sr.input.bam" ftype="bam"/> + <param name="seq_method_list" value="single-read" /> + <param name="mw" value="4"/> + <param name="tt" value="0"/> + <param name="back_distance" value="10"/> + <param name="weight" value="1" /> + <param name="min_mapping_threshold" value="20" /> + <output name="vcf_call" file="output_two.vcf" ftype="vcf"/> + </test> </tests> <help>
--- a/test-data/output.vcf Mon Dec 12 13:45:08 2016 -0500 +++ b/test-data/output.vcf Sun Dec 18 10:35:43 2016 -0500 @@ -30,7 +30,7 @@ ##FORMAT=<ID=PE,Number=1,Type=Integer,Description="Number of paired-end reads supporting the variant"> ##FORMAT=<ID=SR,Number=1,Type=Integer,Description="Number of split reads supporting the variant"> ##FORMAT=<ID=BD,Number=1,Type=Integer,Description="Amount of BED evidence supporting the variant"> -#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT input.bam +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sr_input_bam hg38_gold_U07000.1 14 1_1 N [hg38_gold_U07000.1:1876[N . . SVTYPE=BND;STRANDS=--:19;EVENT=1;MATEID=1_2;CIPOS=0,0;CIEND=0,2;CIPOS95=0,0;CIEND95=0,0;SU=19;SR=19 GT:SU:SR ./.:19:19 hg38_gold_U07000.1 1876 1_2 N [hg38_gold_U07000.1:14[N . . SVTYPE=BND;STRANDS=--:19;SECONDARY;EVENT=1;MATEID=1_1;CIPOS=0,2;CIEND=0,0;CIPOS95=0,0;CIEND95=0,0;SU=19;SR=19 GT:SU:SR ./.:19:19 hg38_gold_U07000.1 10 2_1 N [hg38_gold_U07000.1:1897[N . . SVTYPE=BND;STRANDS=--:19;EVENT=2;MATEID=2_2;CIPOS=-1,0;CIEND=-7,5;CIPOS95=0,1;CIEND95=-2,1;IMPRECISE;SU=19;SR=19 GT:SU:SR ./.:19:19
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output_extended.vcf Sun Dec 18 10:35:43 2016 -0500 @@ -0,0 +1,75 @@ +##fileformat=VCFv4.2 +##source=LUMPY +##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant"> +##INFO=<ID=SVLEN,Number=.,Type=Integer,Description="Difference in length between REF and ALT alleles"> +##INFO=<ID=END,Number=1,Type=Integer,Description="End position of the variant described in this record"> +##INFO=<ID=STRANDS,Number=.,Type=String,Description="Strand orientation of the adjacency in BEDPE format (DEL:+-, DUP:-+, INV:++/--)"> +##INFO=<ID=IMPRECISE,Number=0,Type=Flag,Description="Imprecise structural variation"> +##INFO=<ID=CIPOS,Number=2,Type=Integer,Description="Confidence interval around POS for imprecise variants"> +##INFO=<ID=CIEND,Number=2,Type=Integer,Description="Confidence interval around END for imprecise variants"> +##INFO=<ID=CIPOS95,Number=2,Type=Integer,Description="Confidence interval (95%) around POS for imprecise variants"> +##INFO=<ID=CIEND95,Number=2,Type=Integer,Description="Confidence interval (95%) around END for imprecise variants"> +##INFO=<ID=MATEID,Number=.,Type=String,Description="ID of mate breakends"> +##INFO=<ID=EVENT,Number=1,Type=String,Description="ID of event associated to breakend"> +##INFO=<ID=SECONDARY,Number=0,Type=Flag,Description="Secondary breakend in a multi-line variants"> +##INFO=<ID=SU,Number=.,Type=Integer,Description="Number of pieces of evidence supporting the variant across all samples"> +##INFO=<ID=PE,Number=.,Type=Integer,Description="Number of paired-end reads supporting the variant across all samples"> +##INFO=<ID=SR,Number=.,Type=Integer,Description="Number of split reads supporting the variant across all samples"> +##INFO=<ID=BD,Number=.,Type=Integer,Description="Amount of BED evidence supporting the variant across all samples"> +##INFO=<ID=EV,Number=.,Type=String,Description="Type of LUMPY evidence contributing to the variant call"> +##INFO=<ID=PRPOS,Number=.,Type=String,Description="LUMPY probability curve of the POS breakend"> +##INFO=<ID=PREND,Number=.,Type=String,Description="LUMPY probability curve of the END breakend"> +##ALT=<ID=DEL,Description="Deletion"> +##ALT=<ID=DUP,Description="Duplication"> +##ALT=<ID=INV,Description="Inversion"> +##ALT=<ID=DUP:TANDEM,Description="Tandem duplication"> +##ALT=<ID=INS,Description="Insertion of novel sequence"> +##ALT=<ID=CNV,Description="Copy number variable region"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=SU,Number=1,Type=Integer,Description="Number of pieces of evidence supporting the variant"> +##FORMAT=<ID=PE,Number=1,Type=Integer,Description="Number of paired-end reads supporting the variant"> +##FORMAT=<ID=SR,Number=1,Type=Integer,Description="Number of split reads supporting the variant"> +##FORMAT=<ID=BD,Number=1,Type=Integer,Description="Amount of BED evidence supporting the variant"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sr_input_bam + Evidence: M00860:26:000000000-A6UGV:1:1101:22421:6659_2 hg38_gold_U07000.1 8 50 hg38_gold_U07000.1 1885 1932 0x17456f0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:21503:6234_2 hg38_gold_U07000.1 13 52 hg38_gold_U07000.1 1885 1933 0x17451d0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:14108:4338_2 hg38_gold_U07000.1 8 53 hg38_gold_U07000.1 1879 1932 0x1747410 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:22281:3587_2 hg38_gold_U07000.1 8 52 hg38_gold_U07000.1 1879 1944 0x174d920 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:9129:3504_2 hg38_gold_U07000.1 13 50 hg38_gold_U07000.1 1872 1932 0x1748e60 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:10154:5887_2 hg38_gold_U07000.1 10 41 hg38_gold_U07000.1 1872 1931 0x17499d0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:9382:5932_2 hg38_gold_U07000.1 8 53 hg38_gold_U07000.1 1871 1921 0x174d580 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:22747:6442_2 hg38_gold_U07000.1 8 52 hg38_gold_U07000.1 1870 1933 0x1748cc0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:6411:6050_2 hg38_gold_U07000.1 13 49 hg38_gold_U07000.1 1868 1932 0x17486a0 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:23865:5544_2 hg38_gold_U07000.1 13 56 hg38_gold_U07000.1 1868 1923 0x1748480 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:20349:5252_2 hg38_gold_U07000.1 13 51 hg38_gold_U07000.1 1868 1931 0x174ce80 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:22571:4203_2 hg38_gold_U07000.1 13 50 hg38_gold_U07000.1 1868 1926 0x1745050 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:16719:4051_2 hg38_gold_U07000.1 8 51 hg38_gold_U07000.1 1868 1932 0x1747b70 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:8961:3182_2 hg38_gold_U07000.1 15 51 hg38_gold_U07000.1 1868 1917 0x1744130 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:18427:2937_2 hg38_gold_U07000.1 8 41 hg38_gold_U07000.1 1868 1932 0x174b760 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:21139:5913_2 hg38_gold_U07000.1 12 50 hg38_gold_U07000.1 1868 1924 0x174d640 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:10523:5853_2 hg38_gold_U07000.1 8 50 hg38_gold_U07000.1 1868 1935 0x174de60 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:16433:5445_2 hg38_gold_U07000.1 13 51 hg38_gold_U07000.1 1868 1932 0x174d870 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:12490:4165_2 hg38_gold_U07000.1 13 58 hg38_gold_U07000.1 1868 1917 0x174d9f0 0 - + id:1 weight:1 +hg38_gold_U07000.1 14 1_1 N [hg38_gold_U07000.1:1876[N . . SVTYPE=BND;STRANDS=--:19;EVENT=1;MATEID=1_2;CIPOS=0,0;CIEND=0,2;CIPOS95=0,0;CIEND95=0,0;SU=19;SR=19;PRPOS=1;PREND=0.99996,3.98091e-05,1.58483e-09 GT:SU:SR ./.:19:19 +hg38_gold_U07000.1 1876 1_2 N [hg38_gold_U07000.1:14[N . . SVTYPE=BND;STRANDS=--:19;SECONDARY;EVENT=1;MATEID=1_1;CIPOS=0,2;CIEND=0,0;CIPOS95=0,0;CIEND95=0,0;SU=19;SR=19;PRPOS=0.99996,3.98091e-05,1.58483e-09;PREND=1 GT:SU:SR ./.:19:19 + Evidence: M00860:26:000000000-A6UGV:1:1101:7043:5583_2 hg38_gold_U07000.1 13 56 hg38_gold_U07000.1 1899 1935 0x1742010 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:19472:2185_2 hg38_gold_U07000.1 0 56 hg38_gold_U07000.1 1898 1945 0x1744270 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:9324:6462_2 hg38_gold_U07000.1 0 51 hg38_gold_U07000.1 1898 1933 0x1748fd0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:23764:6273_2 hg38_gold_U07000.1 13 48 hg38_gold_U07000.1 1898 1945 0x17490a0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:7772:5906_2 hg38_gold_U07000.1 0 54 hg38_gold_U07000.1 1898 1942 0x1747240 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:6971:4906_2 hg38_gold_U07000.1 13 51 hg38_gold_U07000.1 1898 1935 0x1746170 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:10511:4776_2 hg38_gold_U07000.1 8 50 hg38_gold_U07000.1 1898 1934 0x174a840 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:19677:3538_2 hg38_gold_U07000.1 13 51 hg38_gold_U07000.1 1898 1940 0x174c190 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:22109:4922_2 hg38_gold_U07000.1 13 53 hg38_gold_U07000.1 1897 1933 0x1743ac0 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:14027:4470_2 hg38_gold_U07000.1 0 51 hg38_gold_U07000.1 1896 1933 0x174b500 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:22736:5607_2 hg38_gold_U07000.1 13 57 hg38_gold_U07000.1 1893 1945 0x174cf30 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:10768:5508_2 hg38_gold_U07000.1 13 56 hg38_gold_U07000.1 1893 1935 0x17480b0 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:14449:3437_2 hg38_gold_U07000.1 13 48 hg38_gold_U07000.1 1893 1933 0x174b150 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:18009:3360_2 hg38_gold_U07000.1 13 47 hg38_gold_U07000.1 1893 1925 0x1749390 0 + - id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:16615:6513_2 hg38_gold_U07000.1 13 51 hg38_gold_U07000.1 1893 1931 0x174b860 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:19235:5076_2 hg38_gold_U07000.1 13 45 hg38_gold_U07000.1 1893 1932 0x174a790 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:14629:4828_2 hg38_gold_U07000.1 8 50 hg38_gold_U07000.1 1893 1932 0x174b360 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:22780:4994_2 hg38_gold_U07000.1 13 50 hg38_gold_U07000.1 1892 1924 0x174aaf0 0 - + id:1 weight:1 + Evidence: M00860:26:000000000-A6UGV:1:1101:12387:3929_2 hg38_gold_U07000.1 13 51 hg38_gold_U07000.1 1892 1931 0x174c000 0 - + id:1 weight:1 +hg38_gold_U07000.1 10 2_1 N [hg38_gold_U07000.1:1897[N . . SVTYPE=BND;STRANDS=--:19;EVENT=2;MATEID=2_2;CIPOS=-1,0;CIEND=-7,5;CIPOS95=0,1;CIEND95=-2,1;IMPRECISE;SU=19;SR=19;PRPOS=9.99999e-13,9.99999e-07;PREND=4.89496e-31,1.94872e-23,7.75799e-16,3.08851e-08,0.0308851,0.0775799,0.194872,0.489496,0.194872,0.0122956,1.94872e-09,4.89496e-17,1.22956e-24 GT:SU:SR ./.:19:19 +hg38_gold_U07000.1 1897 2_2 N [hg38_gold_U07000.1:10[N . . SVTYPE=BND;STRANDS=--:19;SECONDARY;EVENT=2;MATEID=2_1;CIPOS=-7,5;CIEND=-1,0;CIPOS95=-2,1;CIEND95=0,1;IMPRECISE;SU=19;SR=19;PRPOS=4.89496e-31,1.94872e-23,7.75799e-16,3.08851e-08,0.0308851,0.0775799,0.194872,0.489496,0.194872,0.0122956,1.94872e-09,4.89496e-17,1.22956e-24;PREND=9.99999e-13,9.99999e-07 GT:SU:SR ./.:19:19
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output_two.vcf Sun Dec 18 10:35:43 2016 -0500 @@ -0,0 +1,37 @@ +##fileformat=VCFv4.2 +##source=LUMPY +##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant"> +##INFO=<ID=SVLEN,Number=.,Type=Integer,Description="Difference in length between REF and ALT alleles"> +##INFO=<ID=END,Number=1,Type=Integer,Description="End position of the variant described in this record"> +##INFO=<ID=STRANDS,Number=.,Type=String,Description="Strand orientation of the adjacency in BEDPE format (DEL:+-, DUP:-+, INV:++/--)"> +##INFO=<ID=IMPRECISE,Number=0,Type=Flag,Description="Imprecise structural variation"> +##INFO=<ID=CIPOS,Number=2,Type=Integer,Description="Confidence interval around POS for imprecise variants"> +##INFO=<ID=CIEND,Number=2,Type=Integer,Description="Confidence interval around END for imprecise variants"> +##INFO=<ID=CIPOS95,Number=2,Type=Integer,Description="Confidence interval (95%) around POS for imprecise variants"> +##INFO=<ID=CIEND95,Number=2,Type=Integer,Description="Confidence interval (95%) around END for imprecise variants"> +##INFO=<ID=MATEID,Number=.,Type=String,Description="ID of mate breakends"> +##INFO=<ID=EVENT,Number=1,Type=String,Description="ID of event associated to breakend"> +##INFO=<ID=SECONDARY,Number=0,Type=Flag,Description="Secondary breakend in a multi-line variants"> +##INFO=<ID=SU,Number=.,Type=Integer,Description="Number of pieces of evidence supporting the variant across all samples"> +##INFO=<ID=PE,Number=.,Type=Integer,Description="Number of paired-end reads supporting the variant across all samples"> +##INFO=<ID=SR,Number=.,Type=Integer,Description="Number of split reads supporting the variant across all samples"> +##INFO=<ID=BD,Number=.,Type=Integer,Description="Amount of BED evidence supporting the variant across all samples"> +##INFO=<ID=EV,Number=.,Type=String,Description="Type of LUMPY evidence contributing to the variant call"> +##INFO=<ID=PRPOS,Number=.,Type=String,Description="LUMPY probability curve of the POS breakend"> +##INFO=<ID=PREND,Number=.,Type=String,Description="LUMPY probability curve of the END breakend"> +##ALT=<ID=DEL,Description="Deletion"> +##ALT=<ID=DUP,Description="Duplication"> +##ALT=<ID=INV,Description="Inversion"> +##ALT=<ID=DUP:TANDEM,Description="Tandem duplication"> +##ALT=<ID=INS,Description="Insertion of novel sequence"> +##ALT=<ID=CNV,Description="Copy number variable region"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=SU,Number=1,Type=Integer,Description="Number of pieces of evidence supporting the variant"> +##FORMAT=<ID=PE,Number=1,Type=Integer,Description="Number of paired-end reads supporting the variant"> +##FORMAT=<ID=SR,Number=1,Type=Integer,Description="Number of split reads supporting the variant"> +##FORMAT=<ID=BD,Number=1,Type=Integer,Description="Amount of BED evidence supporting the variant"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sr_input_bam_a sr_input_bam_b +hg38_gold_U07000.1 14 1_1 N [hg38_gold_U07000.1:1876[N . . SVTYPE=BND;STRANDS=--:38;EVENT=1;MATEID=1_2;CIPOS=0,0;CIEND=0,0;CIPOS95=0,0;CIEND95=0,0;SU=38;SR=38 GT:SU:SR ./.:19:19 ./.:19:19 +hg38_gold_U07000.1 1876 1_2 N [hg38_gold_U07000.1:14[N . . SVTYPE=BND;STRANDS=--:38;SECONDARY;EVENT=1;MATEID=1_1;CIPOS=0,0;CIEND=0,0;CIPOS95=0,0;CIEND95=0,0;SU=38;SR=38 GT:SU:SR ./.:19:19 ./.:19:19 +hg38_gold_U07000.1 10 2_1 N [hg38_gold_U07000.1:1897[N . . SVTYPE=BND;STRANDS=--:38;EVENT=2;MATEID=2_2;CIPOS=0,0;CIEND=-7,5;CIPOS95=0,1;CIEND95=-1,1;IMPRECISE;SU=38;SR=38 GT:SU:SR ./.:19:19 ./.:19:19 +hg38_gold_U07000.1 1897 2_2 N [hg38_gold_U07000.1:10[N . . SVTYPE=BND;STRANDS=--:38;SECONDARY;EVENT=2;MATEID=2_1;CIPOS=-7,5;CIEND=0,0;CIPOS95=-1,1;CIEND95=0,1;IMPRECISE;SU=38;SR=38 GT:SU:SR ./.:19:19 ./.:19:19