1
|
1 <tool id="snpEff" name="SnpEff" version="3.3">
|
|
2 <description>Variant effect and annotation</description>
|
|
3 <!--
|
|
4 You will need to change the path to wherever your installation is.
|
|
5 You can change the amount of memory used by snpEff, just change the -Xmx parameter (e.g. use -Xmx2G for 2Gb of memory)
|
|
6 <command>java -Xmx6G -jar /path/to/your/snpEff/snpEff.jar eff -c /path/to/your/snpEff/snpEff/snpEff.config $inputFormat $offset -upDownStreamLen $udLength $filterIn $filterHomHet -no $filterOut -stats $statsFile $genomeVersion $input > $output </command>
|
|
7 Options:
|
|
8 -a , -around : Show N codons and amino acids around change (only in coding regions). Default is 0 codons.
|
|
9 -i <format> : Input format [ vcf, txt, pileup, bed ]. Default: VCF.
|
|
10 -o <format> : Ouput format [ txt, vcf, gatk, bed, bedAnn ]. Default: VCF.
|
|
11 -interval : Use a custom interval file (you may use this option many times)
|
|
12 -chr <string> : Prepend 'string' to chromosome name (e.g. 'chr1' instead of '1'). Only on TXT output.
|
|
13 -s, -stats : Name of stats file (summary). Default is 'snpEff_summary.html'
|
|
14 -t : Use multiple threads (implies '-noStats'). Default 'off'
|
|
15
|
|
16 Sequence change filter options:
|
|
17 -del : Analyze deletions only
|
|
18 -ins : Analyze insertions only
|
|
19 -hom : Analyze homozygous variants only
|
|
20 -het : Analyze heterozygous variants only
|
|
21 -minQ X, -minQuality X : Filter out variants with quality lower than X
|
|
22 -maxQ X, -maxQuality X : Filter out variants with quality higher than X
|
|
23 -minC X, -minCoverage X : Filter out variants with coverage lower than X
|
|
24 -maxC X, -maxCoverage X : Filter out variants with coverage higher than X
|
|
25 -nmp : Only MNPs (multiple nucleotide polymorphisms)
|
|
26 -snp : Only SNPs (single nucleotide polymorphisms)
|
|
27
|
|
28 Results filter options:
|
|
29 -fi <bedFile> : Only analyze changes that intersect with the intervals specified in this file (you may use this option many times)
|
|
30 -no-downstream : Do not show DOWNSTREAM changes
|
|
31 -no-intergenic : Do not show INTERGENIC changes
|
|
32 -no-intron : Do not show INTRON changes
|
|
33 -no-upstream : Do not show UPSTREAM changes
|
|
34 -no-utr : Do not show 5_PRIME_UTR or 3_PRIME_UTR changes
|
|
35
|
|
36 Annotations options:
|
|
37 -cancer : Perform 'cancer' comparissons (Somatic vs Germline). Default: false
|
|
38 -canon : Only use canonical transcripts.
|
|
39 -geneId : Use gene ID instead of gene name (VCF output). Default: false
|
|
40 -hgvs : Use HGVS annotations for amino acid sub-field. Default: false
|
|
41 -lof : Add loss of function (LOF) and Nonsense mediated decay (NMD) tags.
|
|
42 -reg <name> : Regulation track to use (this option can be used add several times).
|
|
43 -oicr : Add OICR tag in VCF file. Default: false
|
|
44 -onlyReg : Only use regulation tracks.
|
|
45 -onlyTr <file.txt> : Only use the transcripts in this file. Format: One transcript ID per line.
|
|
46 -sequenceOntolgy : Use Sequence Ontolgy terms. Default: false
|
|
47 -ss, -spliceSiteSize <int> : Set size for splice sites (donor and acceptor) in bases. Default: 2
|
|
48 -ud, -upDownStreamLen <int> : Set upstream downstream interval length (in bases)
|
|
49
|
|
50 Generic options:
|
|
51 -0 : File positions are zero-based (same as '-inOffset 0 -outOffset 0')
|
|
52 -1 : File positions are one-based (same as '-inOffset 1 -outOffset 1')
|
|
53 -c , -config : Specify config file
|
|
54 -h , -help : Show this help and exit
|
|
55 -if, -inOffset : Offset input by a number of bases. E.g. '-inOffset 1' for one-based input files
|
|
56 -of, -outOffset : Offset output by a number of bases. E.g. '-outOffset 1' for one-based output files
|
|
57 -noLog : Do not report usage statistics to server
|
|
58 -noStats : Do not create stats (summary) file
|
|
59 -q , -quiet : Quiet mode (do not show any messages or errors)
|
|
60 -v , -verbose : Verbose mode
|
|
61
|
|
62 -->
|
|
63 <requirements>
|
|
64 <requirement type="package" version="3.3">snpEff</requirement>
|
|
65 </requirements>
|
|
66 <command>
|
3
|
67 #if str( $intervals ) != 'None':
|
|
68 ln -s $intervals tempIntervals.bed &&
|
2
|
69 #end if
|
1
|
70 SNPEFF_DATA_DIR=`grep '^data_dir' \$JAVA_JAR_PATH/snpEff.config | sed 's/.*data_dir.*[=:]//'`;
|
|
71 eval "if [ ! -e \$SNPEFF_DATA_DIR/$genomeVersion ] ;
|
|
72 then java -Xmx6G -jar \$JAVA_JAR_PATH/snpEff.jar download -c \$JAVA_JAR_PATH/snpEff.config $genomeVersion ;
|
|
73 fi";
|
|
74 java -Xmx6G -jar \$JAVA_JAR_PATH/snpEff.jar eff -c \$JAVA_JAR_PATH/snpEff.config -i $inputFormat -o $outputFormat -upDownStreamLen $udLength
|
|
75 #if $spliceSiteSize and $spliceSiteSize.__str__ != '':
|
|
76 -spliceSiteSize $spliceSiteSize
|
|
77 #end if
|
|
78 #if $filterIn and $filterIn.__str__ != 'no_filter':
|
|
79 -$filterIn
|
|
80 #end if
|
|
81 #if $filterHomHet and $filterHomHet.__str__ != 'no_filter':
|
|
82 -$filterHomHet
|
|
83 #end if
|
|
84 #if $annotations and $annotations.__str__ != '':
|
|
85 -#slurp
|
|
86 #echo ' -'.join($annotations.__str__.split(','))
|
|
87 #end if
|
|
88 #if $filterOut and $filterOut.__str__ != '':
|
|
89 -#slurp
|
|
90 #echo ' -'.join($filterOut.__str__.split(','))
|
|
91 #end if
|
|
92 #if str( $transcripts ) != 'None':
|
|
93 -onlyTr $transcripts
|
|
94 #end if
|
|
95 #if str( $intervals ) != 'None': ### fix this for multiple dataset input
|
|
96 -interval tempIntervals.bed
|
|
97 #end if
|
|
98 #if $statsFile:
|
|
99 -stats $statsFile
|
|
100 #end if
|
|
101 #if $offset.__str__ != '':
|
|
102 -${offset}
|
|
103 #end if
|
|
104 #if $chr.__str__.strip() != '':
|
|
105 -chr "$chr"
|
|
106 #end if
|
|
107 $noLog $genomeVersion $input > $snpeff_output
|
|
108 </command>
|
|
109 <inputs>
|
|
110 <param format="vcf,tabular,pileup,bed" name="input" type="data" label="Sequence changes (SNPs, MNPs, InDels)"/>
|
|
111
|
|
112 <param name="inputFormat" type="select" label="Input format">
|
|
113 <option value="vcf" selected="true">VCF</option>
|
|
114 <option value="txt">Tabular (Deprecated)</option>
|
|
115 <option value="pileup">Pileup (Deprecated)</option>
|
|
116 <option value="bed">BED (Deprecated)</option>
|
|
117 </param>
|
|
118
|
|
119 <param name="outputFormat" type="select" label="Output format">
|
|
120 <option value="vcf" selected="true">VCF (only if input is VCF)</option>
|
|
121 <option value="txt">Tabular</option>
|
|
122 <option value="bed">BED</option>
|
|
123 <option value="bedAnn">BED Annotations</option>
|
|
124 </param>
|
|
125
|
|
126 <param name="genomeVersion" type="select" label="Genome">
|
|
127 <!--GENOME DESCRIPTION-->
|
|
128 <options from_file="snpeffect_genomedb.loc">
|
|
129 <column name="name" index="1"/>
|
|
130 <column name="value" index="0"/>
|
|
131 </options>
|
|
132 </param>
|
|
133
|
|
134 <param name="udLength" type="select" label="Upstream / Downstream length">
|
|
135 <option value="0">No upstream / downstream intervals (0 bases)</option>
|
|
136 <option value="200">200 bases</option>
|
|
137 <option value="500">500 bases</option>
|
|
138 <option value="1000">1000 bases</option>
|
|
139 <option value="2000">2000 bases</option>
|
|
140 <option value="5000" selected="true">5000 bases</option>
|
|
141 <option value="10000">10000 bases</option>
|
|
142 <option value="20000">20000 bases</option>
|
|
143 </param>
|
|
144
|
|
145 <param name="spliceSiteSize" type="select" optional="true" label="Set size for splice sites (donor and acceptor) in bases. Default: 2">
|
|
146 <option value="1">1 base</option>
|
|
147 <option value="2">2 bases</option>
|
|
148 <option value="3">3 bases</option>
|
|
149 <option value="4">4 bases</option>
|
|
150 <option value="5">5 bases</option>
|
|
151 <option value="6">6 bases</option>
|
|
152 <option value="7">7 bases</option>
|
|
153 <option value="8">8 bases</option>
|
|
154 <option value="9">9 bases</option>
|
|
155 </param>
|
|
156
|
|
157 <param name="filterHomHet" type="select" display="radio" label="Filter homozygous / heterozygous changes">
|
|
158 <option value="no_filter" selected="true">No filter (analyze everything)</option>
|
|
159 <option value="hom">Analyze homozygous sequence changes only </option>
|
|
160 <option value="het">Analyze heterozygous sequence changes only </option>
|
|
161 </param>
|
|
162
|
|
163 <!-- The tool testing code can not handle select,radio,checkbox values that start with '-', so the '-' is added in the command generation -->
|
|
164 <param name="filterIn" type="select" display="radio" label="Filter sequence changes">
|
|
165 <option value="no_filter" selected="true">No filter (analyze everything)</option>
|
|
166 <option value="del">Analyze deletions only </option>
|
|
167 <option value="ins">Analyze insertions only </option>
|
|
168 <option value="mnp">Only MNPs (multiple nucleotide polymorphisms) </option>
|
|
169 <option value="snp">Only SNPs (single nucleotide polymorphisms) </option>
|
|
170 </param>
|
|
171
|
|
172 <param name="annotations" type="select" display="checkboxes" multiple="true" optional="true" label="Annotation options">
|
|
173 <option value="cancer">Perform 'cancer' comparissons (Somatic vs Germline). Default: false</option>
|
|
174 <option value="canon">Only use canonical transcripts.</option>
|
|
175 <option value="geneId">Use gene ID instead of gene name (VCF output). Default: false</option>
|
|
176 <option value="hgvs">Use HGVS annotations for amino acid sub-field. Default: false</option>
|
|
177 <option value="lof">Add loss of function (LOF) and Nonsense mediated decay (NMD) tags.</option>
|
|
178 <option value="oicr">Add OICR tag in VCF file. Default: false</option>
|
|
179 <option value="onlyReg">Only use regulation tracks.</option>
|
|
180 <option value="sequenceOntolgy">Use Sequence Ontolgy terms. Default: false</option>
|
|
181 </param>
|
|
182
|
|
183 <param name="regulation" type="select" display="checkboxes" multiple="true" optional="true" label="Non-coding and regulatory Annotation">
|
|
184 <help>These are available for only a few genomes</help>
|
|
185 <!--GENOME REG_NAME -->
|
|
186 <options from_file="snpeffect_regulationdb.loc">
|
|
187 <column name="name" index="1"/>
|
|
188 <column name="value" index="0"/>
|
|
189 <filter type="param_value" ref="genomeVersion" key="name" column="1" />
|
|
190 </options>
|
|
191 </param>
|
|
192
|
|
193 <param name="intervals" format="bed" type="data" optional="true" label="Use custom interval file for annotation"/>
|
|
194 <param name="transcripts" format="tabular" type="data" optional="true" label="Only use the transcripts in this file. Format: One transcript ID per line."/>
|
|
195
|
|
196 <param name="filterOut" type="select" display="checkboxes" multiple="true" optional="true" label="Filter output">
|
|
197 <option value="no-downstream">Do not show DOWNSTREAM changes </option>
|
|
198 <option value="no-intergenic">Do not show INTERGENIC changes </option>
|
|
199 <option value="no-intron">Do not show INTRON changes </option>
|
|
200 <option value="no-upstream">Do not show UPSTREAM changes </option>
|
|
201 <option value="no-utr">Do not show 5_PRIME_UTR or 3_PRIME_UTR changes </option>
|
|
202 </param>
|
|
203
|
|
204 <param name="offset" type="select" display="radio" optional="true" label="Chromosomal position">
|
|
205 <option value="" selected="true">Use default (based on input type)</option>
|
|
206 <option value="0">Force zero-based positions (both input and output)</option>
|
|
207 <option value="1">Force one-based positions (both input and output)</option>
|
|
208 </param>
|
|
209 <param name="chr" type="text" optionl="true" label="Text to prepend to chromosome name" help="By default SnpEff simplifies all chromosome names. For instance 'chr1' is just '1'. You can prepend any string you want to the chromosome name.">
|
|
210 <validator type="regex" message="No whitespace allows">^\S*$</validator>
|
|
211
|
|
212 </param>
|
|
213 <param name="generate_stats" type="boolean" truevalue="" falsevalue="-noStats" checked="true" label="Produce Summary Stats"/>
|
|
214 <param name="noLog" type="boolean" truevalue="-noLog" falsevalue="" checked="true" label="Do not report usage statistics to server"/>
|
|
215 </inputs>
|
|
216 <outputs>
|
|
217 <data format="vcf" name="snpeff_output" >
|
|
218 <change_format>
|
|
219 <when input="outputFormat" value="vcf" format="vcf" />
|
|
220 <when input="outputFormat" value="txt" format="tabular" />
|
|
221 <when input="outputFormat" value="bed" format="bed" />
|
|
222 <when input="outputFormat" value="bedAnn" format="bed" />
|
|
223 </change_format>
|
|
224 </data>
|
|
225
|
|
226 <data format="html" name="statsFile">
|
|
227 <filter>generate_stats == True</filter>
|
|
228 </data>
|
|
229 </outputs>
|
|
230 <stdio>
|
|
231 <exit_code range="1:" level="fatal" description="Error" />
|
|
232 <exit_code range="-1" level="fatal" description="Error: Cannot open file" />
|
|
233 </stdio>
|
|
234 <tests>
|
|
235 <test>
|
|
236 <param name="input" ftype="vcf" value="vcf_homhet.vcf"/>
|
|
237 <param name="inputFormat" value="vcf"/>
|
|
238 <param name="outputFormat" value="vcf"/>
|
|
239 <param name="genomeVersion" value="testCase"/>
|
|
240 <param name="udLength" value="0"/>
|
|
241 <param name="filterHomHet" value="no_filter"/>
|
|
242 <param name="filterIn" value="no_filter"/>
|
|
243 <param name="generate_stats" value="False"/>
|
|
244 <!--
|
|
245 <param name="filterOut" value="no-upstream"/>
|
|
246 -->
|
|
247 <output name="snpeff_output">
|
|
248 <assert_contents>
|
|
249 <!-- Check that an effect was added -->
|
|
250 <has_text text="EFF=" />
|
|
251 </assert_contents>
|
|
252 </output>
|
|
253 <!-- Check for a HTML header indicating that this was successful -->
|
|
254 <!--
|
|
255 <output name="statsFile">
|
|
256 <assert_contents>
|
|
257 <has_text text="SnpEff: Variant analysis" />
|
|
258 </assert_contents>
|
|
259 </output>
|
|
260 -->
|
|
261 </test>
|
|
262
|
|
263 <test>
|
|
264 <param name="input" ftype="vcf" value="vcf_homhet.vcf"/>
|
|
265 <param name="inputFormat" value="vcf"/>
|
|
266 <param name="outputFormat" value="vcf"/>
|
|
267 <param name="genomeVersion" value="testCase"/>
|
|
268 <param name="udLength" value="0"/>
|
|
269 <param name="filterHomHet" value="het"/>
|
|
270 <param name="filterIn" value="no_filter"/>
|
|
271 <!--
|
|
272 <param name="filterOut" value=""/>
|
|
273 -->
|
|
274 <param name="generate_stats" value="False"/>
|
|
275 <output name="snpeff_output">
|
|
276 <assert_contents>
|
|
277 <!-- Check that NO effects were added since -het is set -->
|
|
278 <not_has_text text="EFF=NON_SYNONYMOUS_CODING" />
|
|
279 </assert_contents>
|
|
280 </output>
|
|
281 </test>
|
|
282 <test>
|
|
283 <param name="input" ftype="vcf" value="vcf_homhet.vcf"/>
|
|
284 <param name="inputFormat" value="vcf"/>
|
|
285 <param name="outputFormat" value="vcf"/>
|
|
286 <param name="genomeVersion" value="testCase"/>
|
|
287 <param name="udLength" value="0"/>
|
|
288 <param name="filterHomHet" value="no_filter"/>
|
|
289 <param name="filterIn" value="del"/>
|
|
290 <!--
|
|
291 <param name="filterOut" value=""/>
|
|
292 -->
|
|
293 <param name="generate_stats" value="False"/>
|
|
294 <output name="snpeff_output">
|
|
295 <assert_contents>
|
|
296 <!-- Check that deleletions were evaluated -->
|
|
297 <has_text_matching expression="Y\t59030478\t.*EFF=INTERGENIC" />
|
|
298 <!-- Check that insertion on last line was NOT evaluated -->
|
|
299 <has_text_matching expression="Y\t59032947\t.*SF=5\tGT" />
|
|
300 </assert_contents>
|
|
301 </output>
|
|
302 </test>
|
|
303 <test>
|
|
304 <param name="input" ftype="vcf" value="vcf_homhet.vcf"/>
|
|
305 <param name="inputFormat" value="vcf"/>
|
|
306 <param name="outputFormat" value="vcf"/>
|
|
307 <param name="genomeVersion" value="testCase"/>
|
|
308 <param name="udLength" value="0"/>
|
|
309 <param name="filterHomHet" value="no_filter"/>
|
|
310 <param name="filterIn" value="no_filter"/>
|
|
311 <param name="filterOut" value="no-upstream"/>
|
|
312 <param name="generate_stats" value="False"/>
|
|
313 <output name="snpeff_output">
|
|
314 <assert_contents>
|
|
315 <!-- Check that NO UPSTREAM effect was added -->
|
|
316 <not_has_text text="UPSTREAM" />
|
|
317 </assert_contents>
|
|
318 </output>
|
|
319 </test>
|
|
320
|
|
321 </tests>
|
|
322 <help>
|
|
323
|
|
324 This tool calculate the effect of variants (SNPs/MNPs/Insertions) and deletions.
|
|
325
|
|
326 For details about this tool, please see the snpEff_ web site.
|
|
327
|
|
328 .. _snpEff: http://snpEff.sourceforge.net
|
|
329 .. _licensed: http://creativecommons.org/licenses/by-nc-nd/3.0/
|
|
330 </help>
|
|
331 </tool>
|
|
332
|