Mercurial > repos > devteam > vcfbreakcreatemulti
changeset 0:f0dae4ac267e draft
Uploaded
author | devteam |
---|---|
date | Thu, 19 Mar 2015 12:43:19 -0400 |
parents | |
children | 3aa04b92957f |
files | macros.xml test-data/vcfbreakcreatemulti-test1.vcf test-data/vcfbreakcreatemulti-test2-input.vcf test-data/vcfbreakcreatemulti-test2.vcf test-data/vcflib.vcf tool_dependencies.xml vcfbreakcreatemulti.xml |
diffstat | 7 files changed, 218 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,28 @@ +<macros> + <xml name="requirements"> + <requirements> + <requirement type="package" version="8a5602bf07">vcflib</requirement> + <yield/> + </requirements> + </xml> + <xml name="stdio"> + <stdio> + <exit_code range="1:" level="fatal" /> + </stdio> + </xml> + <xml name="citations"> + <citations> + <citation type="bibtex"> +@misc{Garrison2015, + author = {Garrison, Erik}, + year = {2015}, + title = {vcflib}, + publisher = {GitHub}, + journal = {GitHub repository}, + url = {https://github.com/ekg/vcflib}, +} + </citation> + </citations> + </xml> + <token name="@IS_PART_OF_VCFLIB@">is a part of VCFlib toolkit developed by Erik Garrison (https://github.com/ekg/vcflib).</token> +</macros>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcfbreakcreatemulti-test1.vcf Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,34 @@ +##fileformat=VCFv4.0 +##fileDate=20090805 +##source=myImputationProgramV3.1 +##reference=1000GenomesPilot-NCBI36 +##phasing=partial +##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> +##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> +##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> +##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> +##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> +##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> +##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> +##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> +##FILTER=<ID=q10,Description="Quality below 10"> +##FILTER=<ID=s50,Description="Less than 50% of samples have data"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> +##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> +##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> +##ALT=<ID=CNV,Description="Copy number variable region"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +19 111 . A C 9.6 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +19 112 . A G 10 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +20 14370 rs6054257 G A 29 PASS AF=0.5;DP=14;NS=3;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. +20 17330 . T A 3 q10 AF=0.017;DP=11;NS=3 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3:.,. +20 1110696 rs6040355 A G 67 PASS AA=T;AF=0.333,0.667;DP=10;NS=2;DB GT:GQ:DP:HQ ./1:21:6:23,27 ./1:2:0:18,2 ./.:35:4:.,. +20 1110696 rs6040355 A T 67 PASS AA=T;AF=0.333,0.667;DP=10;NS=2;DB GT:GQ:DP:HQ ./1:21:6:23,27 ./1:2:0:18,2 1/1:35:4:.,. +20 1230237 . T . 47 PASS AA=T;DP=13;NS=3 GT:GQ:DP:HQ 0|0:54:.:56,60 0|0:48:4:51,51 0/0:61:2:.,. +20 1234567 microsat1 G GA 50 PASS AA=G;AC=3,1;AN=6;DP=9;NS=3 GT:GQ:DP 0/1:.:4 ./0:17:2 1/1:40:3 +20 1234567 microsat1 G GAC 50 PASS AA=G;AC=3,1;AN=6;DP=9;NS=3 GT:GQ:DP ./0:.:4 0/1:17:2 ./.:40:3 +20 1235237 . T . 0 . . GT 0/0 0|0 . +X 10 rsTest AC A 10 PASS . GT 0 0/1 ./0 +X 10 rsTest AC ATG 10 PASS . GT 0 ./0 0/1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcfbreakcreatemulti-test2-input.vcf Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,34 @@ +##fileformat=VCFv4.0 +##fileDate=20090805 +##source=myImputationProgramV3.1 +##reference=1000GenomesPilot-NCBI36 +##phasing=partial +##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> +##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> +##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> +##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> +##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> +##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> +##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> +##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> +##FILTER=<ID=q10,Description="Quality below 10"> +##FILTER=<ID=s50,Description="Less than 50% of samples have data"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> +##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> +##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> +##ALT=<ID=CNV,Description="Copy number variable region"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +19 111 . A C 9.6 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +19 112 . A G 10 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +20 14370 rs6054257 G A 29 PASS AF=0.5;DP=14;NS=3;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. +20 17330 . T A 3 q10 AF=0.017;DP=11;NS=3 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3:.,. +20 1110696 rs6040355 A G 67 PASS AA=T;AF=0.333,0.667;DP=10;NS=2;DB GT:GQ:DP:HQ ./1:21:6:23,27 ./1:2:0:18,2 ./.:35:4:.,. +20 1110696 rs6040355 A T 67 PASS AA=T;AF=0.333,0.667;DP=10;NS=2;DB GT:GQ:DP:HQ ./1:21:6:23,27 ./1:2:0:18,2 1/1:35:4:.,. +20 1230237 . T . 47 PASS AA=T;DP=13;NS=3 GT:GQ:DP:HQ 0|0:54:.:56,60 0|0:48:4:51,51 0/0:61:2:.,. +20 1234567 microsat1 G GA 50 PASS AA=G;AC=3,1;AN=6;DP=9;NS=3 GT:GQ:DP 0/1:.:4 ./0:17:2 1/1:40:3 +20 1234567 microsat1 G GAC 50 PASS AA=G;AC=3,1;AN=6;DP=9;NS=3 GT:GQ:DP ./0:.:4 0/1:17:2 ./.:40:3 +20 1235237 . T . 0 . . GT 0/0 0|0 . +X 10 rsTest AC A 10 PASS . GT 0 0/1 ./0 +X 10 rsTest AC ATG 10 PASS . GT 0 ./0 0/1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcfbreakcreatemulti-test2.vcf Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,32 @@ +##fileformat=VCFv4.0 +##fileDate=20090805 +##source=myImputationProgramV3.1 +##reference=1000GenomesPilot-NCBI36 +##phasing=partial +##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> +##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> +##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> +##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> +##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> +##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> +##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> +##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> +##FILTER=<ID=q10,Description="Quality below 10"> +##FILTER=<ID=s50,Description="Less than 50% of samples have data"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> +##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> +##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> +##ALT=<ID=CNV,Description="Copy number variable region"> +##INFO=<ID=combined,Number=1,Type=String,Description="Range of overlapping variants which were combined into this one using vcfcreatemulti."> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +19 111 . A C 9.6 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +19 112 . A G 10 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +20 14370 rs6054257 G A 29 PASS AF=0.5;DP=14;NS=3;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. +20 17330 . T A 3 q10 AF=0.017;DP=11;NS=3 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3:.,. +20 1110696 rs6040355 A G,T 67 PASS AA=T;AF=0.333,0.667;DP=10;NS=2;combined=1110696-1110696;DB GT:GQ:DP:HQ ./1:21:6:23,27 ./1:2:0:18,2 ./.:35:4:.,. +20 1230237 . T . 47 PASS AA=T;DP=13;NS=3 GT:GQ:DP:HQ 0|0:54:.:56,60 0|0:48:4:51,51 0/0:61:2:.,. +20 1234567 microsat1 G GA,GAC 50 PASS AA=G;AC=3,1;AN=6;DP=9;NS=3;combined=1234567-1234567 GT:GQ:DP 0/1:.:4 ./0:17:2 1/1:40:3 +20 1235237 . T . 0 . . GT 0/0 0|0 . +X 10 rsTest AC A,ATG 10 PASS combined=10-10 GT 0 0/1 ./0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcflib.vcf Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,31 @@ +##fileformat=VCFv4.0 +##fileDate=20090805 +##source=myImputationProgramV3.1 +##reference=1000GenomesPilot-NCBI36 +##phasing=partial +##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> +##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> +##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> +##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> +##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> +##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> +##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> +##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> +##FILTER=<ID=q10,Description="Quality below 10"> +##FILTER=<ID=s50,Description="Less than 50% of samples have data"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> +##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> +##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> +##ALT=<ID=CNV,Description="Copy number variable region"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +19 111 . A C 9.6 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +19 112 . A G 10 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. +20 17330 . T A 3 q10 NS=3;DP=11;AF=0.017 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3:.,. +20 1110696 rs6040355 A G,T 67 PASS NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1|2:21:6:23,27 2|1:2:0:18,2 2/2:35:4:.,. +20 1230237 . T . 47 PASS NS=3;DP=13;AA=T GT:GQ:DP:HQ 0|0:54:.:56,60 0|0:48:4:51,51 0/0:61:2:.,. +20 1234567 microsat1 G GA,GAC 50 PASS NS=3;DP=9;AA=G;AN=6;AC=3,1 GT:GQ:DP 0/1:.:4 0/2:17:2 1/1:40:3 +20 1235237 . T . . . . GT 0/0 0|0 ./. +X 10 rsTest AC A,ATG 10 PASS . GT 0 0/1 0|2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="vcflib" version="8a5602bf07"> + <repository changeset_revision="7e67466b033e" name="package_vcflib_8a5602bf07" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vcfbreakcreatemulti.xml Thu Mar 19 12:43:19 2015 -0400 @@ -0,0 +1,53 @@ +<tool id="vcfbreakcreatemulti" name="VCFbreakCreateMulti:" version="0.0.3"> + <description>Break multiple alleles into multiple records, or combine overallpoing alleles into a single record</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements"></expand> + <expand macro="stdio" /> + <command> + + #if str($break_or_create) == "break": + vcfbreakmulti "${input1}" > "${out_file1}" + #elif str($break_or_create) == "create": + vcfcreatemulti "${input1}" > "${out_file1}" + #end if + +</command> + + <inputs> + <param format="vcf" name="input1" type="data" label="Select VCF dataset"/> + <param name="break_or_create" type="select" display="radio" label="Break or Create?"> + <option value="break">Break</option> + <option value="create">Create</option> + </param> + </inputs> + <outputs> + <data format="vcf" name="out_file1" /> + </outputs> + <tests> + <test> + <param name="break_or_create" value="break"/> + <param name="input1" value="vcflib.vcf"/> + <output name="out_file1" file="vcfbreakcreatemulti-test1.vcf"/> + </test> + <test> + <param name="break_or_create" value="create"/> + <param name="input1" value="vcfbreakcreatemulti-test2-input.vcf"/> + <output name="out_file1" file="vcfbreakcreatemulti-test2.vcf"/> + </test> + </tests> + <help> + +This tool breaks or creates multiallelic VCF records based on user selection (**Break** or **Create**, respectively): + + - **Break** = If multiple alleles are specified in a single record, break the record into multiple lines, preserving allele-specific INFO fields. + - **Create** = If overlapping alleles are represented across multiple records, merge them into a single record. + +---- + +This tools is based on vcfbreakmulti and vcfcreatemulti utilities from the VCFlib toolkit developed by Erik Garrison (https://github.com/ekg/vcflib). + +</help> + <expand macro="citations" /> +</tool>