changeset 0:c0387293312e

Imported from capsule None
author anton
date Wed, 11 Jun 2014 17:11:07 -0400
parents
children 0ffd38828753
files 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 6 files changed, 187 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/vcfbreakcreatemulti-test1.vcf	Wed Jun 11 17:11:07 2014 -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	Wed Jun 11 17:11:07 2014 -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	Wed Jun 11 17:11:07 2014 -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	Wed Jun 11 17:11:07 2014 -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	Wed Jun 11 17:11:07 2014 -0400
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+  <package name="vcflib" version="586c5ae5d57a38dae6b32ea831fb1f7cfa14c9bd">
+      <repository changeset_revision="7949cc09120a" name="package_vcflib" owner="anton" toolshed="http://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vcfbreakcreatemulti.xml	Wed Jun 11 17:11:07 2014 -0400
@@ -0,0 +1,50 @@
+<tool id="vcfbreakcreatemulti" name="VCFbreakCreateMulti:" version="0.0.1">
+<requirements>
+    <requirement type="package" version="586c5ae5d57a38dae6b32ea831fb1f7cfa14c9bd">vcflib</requirement>
+</requirements>
+  <description>Break multiple alleles into multiple records, or combine overallpoing alleles into a single record</description>
+  <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>
+</tool>