6
|
1 <tool id="sniplay_vcftoolsfilter" name="VCFtools Filter" version="1.2.0">
|
2
|
2
|
|
3 <!-- [REQUIRED] Tool description displayed after the tool name -->
|
|
4 <description> </description>
|
|
5
|
|
6 <!-- [OPTIONAL] 3rd party tools, binaries, modules... required for the tool to work -->
|
|
7 <requirements>
|
|
8 <requirement type="binary">perl</requirement>
|
|
9 <requirement type="package" version="0.1.12b">vcftools</requirement>
|
|
10 </requirements>
|
|
11
|
3
|
12
|
|
13 <!-- [STRONGLY RECOMMANDED] Exit code rules -->
|
|
14 <stdio>
|
|
15 <!-- [HELP] If no exit code rule is defined, the tool will stop if anything is written to STDERR -->
|
|
16 <exit_code range="1:" level="fatal" />
|
|
17 </stdio>
|
|
18
|
2
|
19 <!-- [REQUIRED] The command to execute -->
|
|
20 <command interpreter="perl">
|
6
|
21 vcfToolsFilter.sh $input $fileout $filelog $export $frequency $max_freq $allow_missing $nb_alleles_min $nb_alleles_max $type_p $bound_start $bound_end
|
2
|
22 #if str( $samples ) == "":
|
|
23 'None'
|
|
24 #else
|
|
25 $samples
|
|
26 #end if
|
|
27 #if str( $chromosomes ) == "":
|
|
28 'None'
|
|
29 #else
|
|
30 $chromosomes
|
|
31 #end if
|
|
32 #if str( $export ) == "plink":
|
|
33 $fileout_map
|
|
34 #else
|
|
35 ''
|
|
36 #end if
|
|
37 </command>
|
6
|
38 <code file="find_indiv.py"/>
|
2
|
39 <!-- [REQUIRED] Input files and tool parameters -->
|
|
40 <inputs>
|
6
|
41 <param name="input" type="data" format="vcf" optional="false" label="VCF input" />
|
2
|
42 <param name="fileout_label" type="text" value="filtered" optional="false" label="Output file basename"/>
|
6
|
43 <param name="samples" type="select" label="Samples" multiple="true" dynamic_options="get_field_samples_options(input)" help="Samples to be analyzed." />
|
|
44 <param name="chromosomes" type="select" label="Chromosomes" multiple="true" dynamic_options="get_field_chrs_options(input)" help="Chromosomes to be analyzed." />
|
2
|
45 <param name="export" type="select" label="Output format" >
|
|
46 <option value="VCF" selected="true">VCF</option>
|
|
47 <option value="freq">freq</option>
|
|
48 <option value="plink">plink</option>
|
|
49 </param>
|
|
50 <param name="frequency" type="float" value="0.001" label="Minimum MAF." help="Minimum frequency." />
|
|
51 <param name="max_freq" type="float" value="0.5" label="Maximum MAF." help="Maximum frequency." />
|
|
52 <param name="allow_missing" type="float" value="1" min="0" max="1" label="Missing data proportion" help="Allowed missing data proportion per site. Must be comprised between 0 and 1." />
|
|
53 <param name="nb_alleles_min" type="integer" value="2" label="Minimum number of alleles" help="Minimum accepted number of alleles." min="2" max="4" />
|
3
|
54 <param name="nb_alleles_max" type="integer" value="4" label="Maximum number of alleles" help="Maximum accepted number of alleles." min="2" max="4" />
|
2
|
55 <param name="type_p" type="select" label="Polymorphisms" help="Type of polymorphisms to keep." >
|
|
56 <option value="ALL" selected="true">All</option>
|
|
57 <option value="SNP">SNP</option>
|
|
58 <option value="INDEL">Indel</option>
|
|
59 </param>
|
|
60 <param name="bound_start" type="integer" value="1" label="Lower bound" help="Lower bound for a range of sites to be processed." />
|
|
61 <param name="bound_end" type="integer" value="100000000" label="Upper bound" help="Upper bound for a range of sites to be processed." />
|
|
62 </inputs>
|
|
63
|
|
64 <!-- [REQUIRED] Output files -->
|
|
65 <outputs>
|
|
66 <data name="fileout" format="vcf" label="${fileout_label}.#if str($export)=='plink' then 'ped' else '' # #if str($export)=='freq' then 'frq' else '' # #if str($export)=='VCF' then 'vcf' else '' #" >
|
|
67 <change_format>
|
|
68 <when input="export" value="freq" format="tabular" />
|
|
69 <when input="export" value="plink" format="txt" />
|
|
70 </change_format>
|
|
71 </data>
|
3
|
72 <data name="fileout_map" format="tabular" label="${fileout_label}.map">
|
2
|
73 <filter>(export == 'plink')</filter>
|
|
74 </data>
|
|
75 <data name="filelog" format="txt" label="${fileout_label}.log" />
|
|
76 </outputs>
|
|
77
|
|
78
|
|
79 <!-- [OPTIONAL] Tests to be run manually by the Galaxy admin -->
|
|
80 <tests>
|
|
81 <!-- [HELP] Test files have to be in the ~/test-data directory -->
|
|
82 <test>
|
6
|
83 <param name="input" value="sample.vcf" />
|
2
|
84 <param name="chromosomes" value="chr1" />
|
|
85 <param name="export" value="VCF" />
|
|
86 <param name="frequency" value="0.001" />
|
|
87 <param name="max_freq" value="0.5" />
|
|
88 <param name="allow_missing" value="1" />
|
|
89 <param name="nb_alleles_min" value="2" />
|
|
90 <param name="nb_alleles_max" value="4" />
|
|
91 <param name="type_p" value="ALL" />
|
|
92 <param name="bound_start" value="1" />
|
|
93 <param name="bound_end" value="100000000" />
|
4
|
94 <output name="fileout" file="filter-result.vcf" />
|
3
|
95 </test>
|
|
96 <test>
|
6
|
97 <param name="input" value="sample.vcf" />
|
3
|
98 <param name="export" value="plink" />
|
|
99 <param name="type_p" value="SNP" />
|
4
|
100 <output name="fileout" file="filter-result.ped" />
|
|
101 <output name="fileout_map" file="filter-result.map" />
|
3
|
102 </test>
|
|
103 <test>
|
6
|
104 <param name="input" value="sample.vcf" />
|
3
|
105 <param name="export" value="freq" />
|
|
106 <param name="type_p" value="ALL" />
|
4
|
107 <output name="fileout" file="filter-result.frq" />
|
2
|
108 </test>
|
|
109 </tests>
|
|
110
|
|
111 <!-- [OPTIONAL] Help displayed in Galaxy -->
|
|
112 <help>
|
|
113
|
|
114 .. class:: infomark
|
|
115
|
|
116 **Authors** Adam Auton, Petr Danecek and Anthony Marcketta (C++ Module) : VCFtools_
|
|
117
|
|
118 .. _VCFtools: http://vcftools.sourceforge.net
|
|
119
|
|
120 | **Please cite** "The Variant Call Format and VCFtools", Petr Danecek, Adam Auton, Goncalo Abecasis, Cornelis A. Albers, Eric Banks, Mark A. DePristo, Robert Handsaker, Gerton Lunter, Gabor Marth, Stephen T. Sherry, Gilean McVean, Richard Durbin and 1000 Genomes Project Analysis Group, **Bioinformatics**, 2011
|
|
121
|
|
122 .. class:: infomark
|
|
123
|
|
124 **Galaxy integration** Andres Gwendoline, Institut Français de Bioinformatique.
|
|
125
|
|
126 .. class:: infomark
|
|
127
|
|
128 **Support** For any questions about Galaxy integration, please send an e-mail to support.abims@sb-roscoff.fr
|
|
129
|
|
130 ---------------------------------------------------
|
|
131
|
|
132
|
|
133
|
|
134 ================
|
|
135 VCF tools filter
|
|
136 ================
|
|
137
|
|
138 -----------
|
|
139 Description
|
|
140 -----------
|
|
141
|
|
142 | Filter VCF file
|
|
143 | For further informations on VCFtools, please visite the VCFtools website_.
|
|
144
|
|
145 .. _website: http://vcftools.sourceforge.net
|
|
146
|
|
147 -----------------
|
|
148 Workflow position
|
|
149 -----------------
|
|
150
|
|
151 **Upstream tools**
|
|
152
|
|
153 =========== ========================== =======
|
|
154 Name output file(s) format
|
|
155 =========== ========================== =======
|
|
156 =========== ========================== =======
|
|
157
|
|
158
|
|
159 **Downstream tools**
|
|
160
|
|
161 =========== ========================== =======
|
|
162 Name output file(s) format
|
|
163 =========== ========================== =======
|
|
164 =========== ========================== =======
|
|
165
|
|
166
|
|
167 ----------
|
|
168 Input file
|
|
169 ----------
|
|
170
|
|
171 VCF file
|
|
172 VCF file with all SNPs
|
|
173
|
|
174 ----------
|
|
175 Parameters
|
|
176 ----------
|
|
177
|
|
178 Output file basename
|
|
179 Prefix for the output VCF file
|
|
180
|
|
181 Samples
|
|
182 Samples to be analyzed. Comma separated list
|
|
183
|
|
184 Chromosomes
|
|
185 Chromosomes to be analyzed. Comma separated list
|
|
186
|
|
187 Output format
|
|
188 VCF/freq/plink
|
|
189
|
|
190 Minimum MAF
|
|
191 Minimum frequency
|
|
192
|
|
193 Maximum MAF
|
|
194 Maximum frequency
|
|
195
|
|
196 Missing data proportion
|
|
197 Allowed missing data proportion per site. Must be comprised between 0 and 1.
|
|
198
|
|
199 Number of alleles
|
|
200 Accepted number of alleles min and max.
|
|
201
|
|
202 Polymorphisms
|
|
203 Type of polymorphisms to keep (ALL/SNP/INDEL).
|
|
204 Bounds
|
|
205 Lower bound and upper bound for a range of sites to be processed.
|
|
206
|
|
207 ------------
|
|
208 Output files
|
|
209 ------------
|
|
210
|
|
211 VCF file
|
|
212 VCF file filtered
|
|
213
|
|
214 Log file
|
|
215
|
|
216 ---------------------------------------------------
|
|
217
|
|
218 ---------------
|
|
219 Working example
|
|
220 ---------------
|
|
221
|
|
222 Input files
|
|
223 ===========
|
|
224
|
|
225 VCF file
|
|
226 ---------
|
|
227
|
|
228 ::
|
|
229
|
|
230 #fileformat=VCFv4.1
|
|
231 #FILTER=<ID=LowQual,Description="Low quality">
|
|
232 #FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
|
|
233 [...]
|
|
234 CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CATB1
|
|
235 chr1 2209 . G T 213.84 . AC=2;AF=1.00;AN=2;DP=7;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=2;MLEAF=1.00;MQ=41.50;MQ0=0;QD=30.55;EFF=DOWNSTREAM(MODIFIER||||Cc01g00020|mRNA||GSCOCT00012438001|),UPSTREAM(MODIFIER||||Cc01g00010|mRNA||GSCOCT00012439001|) GT:AD:DP:GQ:PL 1/1:0,7:7:18:242,18,0
|
|
236
|
|
237
|
|
238 Parameters
|
|
239 ==========
|
|
240
|
|
241 Output name -> filtered_chr1
|
|
242
|
|
243 Chromosomes -> chr1
|
|
244
|
|
245 Output format -> VCF
|
|
246
|
|
247 Minimum MAF -> 0.001
|
|
248
|
|
249 Maximum MAF -> 0.5
|
|
250
|
|
251 Missing data proportion -> 1
|
|
252
|
|
253 Number of alleles min -> 2
|
|
254
|
|
255 Number of alleles max -> 4
|
|
256
|
|
257 Polymorphisms -> All
|
|
258
|
|
259 Lower bound -> 1
|
|
260
|
|
261 Upper bound -> 100000000
|
|
262
|
|
263
|
|
264 Output files
|
|
265 ============
|
|
266
|
|
267 filtered_genelist_intron.vcf
|
|
268 ----------------------------
|
|
269
|
|
270 ::
|
|
271
|
|
272 #fileformat=VCFv4.1
|
|
273 #FILTER=<ID=LowQual,Description="Low quality">
|
|
274 #FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
|
|
275 [...]
|
|
276 CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CATB1
|
|
277 chr1 5059 . C G 146.84 . AC=2;AF=1.00;AN=2;DP=8;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=2;MLEAF=1.00;MQ=24.14;MQ0=1;QD=18.35;EFF=INTRON(MODIFIER||||Cc01g00020|mRNA||GSCOCT00012438001|),UPSTREAM(MODIFIER||||Cc01g00010|mRNA||GSCOCT00012439001|) GT:AD:DP:GQ:PL 1/1:0,8:8:18:175,18,0
|
|
278
|
|
279
|
|
280 </help>
|
|
281 <citations>
|
|
282 <!-- [HELP] As DOI or BibTex entry -->
|
|
283 <citation type="bibtex">
|
|
284 @article{Danecek01082011,
|
|
285 author = {Danecek, Petr and Auton, Adam and Abecasis, Goncalo and Albers, Cornelis A. and Banks, Eric and DePristo, Mark A. and Handsaker, Robert E. and Lunter, Gerton and Marth, Gabor T. and Sherry, Stephen T. and McVean, Gilean and Durbin, Richard and 1000 Genomes Project Analysis Group},
|
|
286 title = {The variant call format and VCFtools},
|
|
287 volume = {27},
|
|
288 number = {15},
|
|
289 pages = {2156-2158},
|
|
290 year = {2011},
|
|
291 doi = {10.1093/bioinformatics/btr330},
|
|
292 abstract ={Summary: The variant call format (VCF) is a generic format for storing DNA polymorphism data such as SNPs, insertions, deletions and structural variants, together with rich annotations. VCF is usually stored in a compressed manner and can be indexed for fast data retrieval of variants from a range of positions on the reference genome. The format was developed for the 1000 Genomes Project, and has also been adopted by other projects such as UK10K, dbSNP and the NHLBI Exome Project. VCFtools is a software suite that implements various utilities for processing VCF files, including validation, merging, comparing and also provides a general Perl API.Availability: http://vcftools.sourceforge.netContact: rd@sanger.ac.uk},
|
|
293 URL = {http://bioinformatics.oxfordjournals.org/content/27/15/2156.abstract},
|
|
294 eprint = {http://bioinformatics.oxfordjournals.org/content/27/15/2156.full.pdf+html},
|
|
295 journal = {Bioinformatics}
|
|
296 }
|
|
297 </citation>
|
|
298
|
|
299 </citations>
|
|
300
|
|
301 </tool>
|