comparison snpSift_filter.xml @ 2:bf8c1526871b draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/snpsift/snpsift commit d12355cea76843e3ed6f09d96c3e9fe22afe4a4f
author iuc
date Mon, 05 Dec 2016 12:11:18 -0500
parents 98708b88af9f
children 20c7d583fec1
comparison
equal deleted inserted replaced
1:98708b88af9f 2:bf8c1526871b
1 <tool id="snpSift_filter" name="SnpSift Filter" version="@WRAPPER_VERSION@.0"> 1 <tool id="snpSift_filter" name="SnpSift Filter" version="@WRAPPER_VERSION@.1">
2 <description>Filter variants using arbitrary expressions</description> 2 <description>Filter variants using arbitrary expressions</description>
3 <macros> 3 <macros>
4 <import>snpSift_macros.xml</import> 4 <import>snpSift_macros.xml</import>
5 </macros> 5 </macros>
6 <expand macro="requirements" /> 6 <expand macro="requirements" />
7 <expand macro="stdio" /> 7 <expand macro="stdio" />
8 <expand macro="version_command" /> 8 <expand macro="version_command" />
9 9
10 <command><![CDATA[ 10 <command><![CDATA[
11 java -Xmx6G -jar "\$SNPEFF_JAR_PATH/SnpSift.jar" filter -f "$input" -e "$exprFile" $inverse 11 @CONDA_SNPSIFT_JAR_PATH@ &&
12 java -Xmx6G -jar "\$SNPSIFT_JAR_PATH/SnpSift.jar" filter -f "$input" -e "$exprFile" $inverse
12 #if $filtering.mode == 'field': 13 #if $filtering.mode == 'field':
13 #if $filtering.replace.pass: 14 #if $filtering.replace.pass:
14 --pass 15 --pass
15 #if $filtering.replace.filterId and len(str($filtering.replace.filterId).strip()) > 0: 16 #if $filtering.replace.filterId and len(str($filtering.replace.filterId).strip()) > 0:
16 --filterId "$filtering.replace.filterId" 17 --filterId "$filtering.replace.filterId"
27 ]]> 28 ]]>
28 </command> 29 </command>
29 <configfiles> 30 <configfiles>
30 <configfile name="exprFile"> 31 <configfile name="exprFile">
31 $expr#slurp 32 $expr#slurp
32 </configfile> 33 </configfile>
33 </configfiles> 34 </configfiles>
34 <inputs> 35 <inputs>
35 <param format="vcf" name="input" type="data" label="Variant input file in VCF format"/> 36 <param format="vcf" name="input" type="data" label="Variant input file in VCF format"/>
36 <param name="expr" type="text" label="Filter criteria" help="Need help? See below a few examples." > 37 <param name="expr" type="text" label="Filter criteria" help="Need help? See below a few examples." >
37 <sanitizer sanitize="False"/> 38 <sanitizer sanitize="False"/>
39 <param name="inverse" type="boolean" truevalue="--inverse" falsevalue="" checked="false" label="Inverse filter" help="Show lines that do not match filter expression" /> 40 <param name="inverse" type="boolean" truevalue="--inverse" falsevalue="" checked="false" label="Inverse filter" help="Show lines that do not match filter expression" />
40 <conditional name="filtering"> 41 <conditional name="filtering">
41 <param name="mode" type="select" label="Filter mode"> 42 <param name="mode" type="select" label="Filter mode">
42 <option value="entries" selected="true">Retain entries that pass filter, remove other entries</option> 43 <option value="entries" selected="true">Retain entries that pass filter, remove other entries</option>
43 <option value="field">Change the FILTER field, but retain all entries</option> 44 <option value="field">Change the FILTER field, but retain all entries</option>
44 </param> 45 </param>
45 <when value="entries"/> 46 <when value="entries"/>
46 <when value="field"> 47 <when value="field">
47 <conditional name="replace"> 48 <conditional name="replace">
48 <param name="pass" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Set matching entry FILTER to 'PASS'" 49 <param name="pass" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Set matching entry FILTER to 'PASS'"
49 help="appends an ID tag to non-matching entry FILTER "/> 50 help="appends an ID tag to non-matching entry FILTER "/>
50 <when value="no"/> 51 <when value="no"/>
51 <when value="yes"> 52 <when value="yes">
52 <param name="filterId" type="text" value="" optional="true" label="ID appended to non-matching (##FILTER tag in header and FILTER VCF field)." 53 <param name="filterId" type="text" value="" label="ID appended to non-matching (##FILTER tag in header and FILTER VCF field)." help="Default ID is 'SnpSift'"/>
53 help="Default ID is 'SnpSift'"/>
54 </when> 54 </when>
55 </conditional> 55 </conditional>
56 <param name="addFilter" type="text" value="" optional="true" label="Add a string to FILTER VCF field if 'expression' is true." /> 56 <param name="addFilter" type="text" value="" label="Add a string to FILTER VCF field if 'expression' is true." />
57 <param name="rmFilter" type="text" value="" optional="true" label="Remove a string from FILTER VCF field if 'expression' is true (and 'str' is in the field)." /> 57 <param name="rmFilter" type="text" value="" label="Remove a string from FILTER VCF field if 'expression' is true (and 'str' is in the field)." />
58 </when> 58 </when>
59 </conditional> 59 </conditional>
60 </inputs> 60 </inputs>
61 61
62 <outputs> 62 <outputs>
131 131
132 - *Filter value is either 'PASS' or it is missing*: 132 - *Filter value is either 'PASS' or it is missing*:
133 133
134 :: 134 ::
135 135
136 (FILTER = 'PASS') | ( na FILTER ) 136 (FILTER = 'PASS') | ( na FILTER )
137 137
138 - *I want to filter lines with an ANN annotation EFFECT of 'frameshift_variant' ( for vcf files using Sequence Ontology terms )*: 138 - *I want to filter lines with an ANN annotation EFFECT of 'frameshift_variant' ( for vcf files using Sequence Ontology terms )*:
139 139
140 :: 140 ::
141 141
142 ( ANN[*].EFFECT has 'frameshift_variant' ) 142 ( ANN[*].EFFECT has 'frameshift_variant' )
143 143
144 **Important** According to the specification, there can be more than one EFFECT separated by & (e.g. 'missense_variant&splice_region_variant', thus using has operator is better than using equality operator (=). For instance 'missense_variant&splice_region_variant' = 'missense_variant' is false, whereas 'missense_variant&splice_region_variant' has 'missense_variant' is true. 144 **Important** According to the specification, there can be more than one EFFECT separated by & (e.g. 'missense_variant&splice_region_variant', thus using has operator is better than using equality operator (=). For instance 'missense_variant&splice_region_variant' = 'missense_variant' is false, whereas 'missense_variant&splice_region_variant' has 'missense_variant' is true.
145 145
146 - *I want to filter lines with an EFF of 'FRAME_SHIFT' ( for vcf files using Classic Effect names )*: 146 - *I want to filter lines with an EFF of 'FRAME_SHIFT' ( for vcf files using Classic Effect names )*:
147 147
148 :: 148 ::
149 149
150 ( EFF[*].EFFECT = 'FRAME_SHIFT' ) 150 ( EFF[*].EFFECT = 'FRAME_SHIFT' )
151 151
152 - *I want to filter out samples with quality less than 30*: 152 - *I want to filter out samples with quality less than 30*:
153 153
154 :: 154 ::
158 - *...but we also want InDels that have quality 20 or more*: 158 - *...but we also want InDels that have quality 20 or more*:
159 159
160 :: 160 ::
161 161
162 (( exists INDEL ) & (QUAL >= 20)) | (QUAL >= 30 ) 162 (( exists INDEL ) & (QUAL >= 20)) | (QUAL >= 30 )
163 163
164 - *...or any homozygous variant present in more than 3 samples*: 164 - *...or any homozygous variant present in more than 3 samples*:
165 165
166 :: 166 ::
167 167
168 (countHom() > 3) | (( exists INDEL ) & (QUAL >= 20)) | (QUAL >= 30 ) 168 (countHom() > 3) | (( exists INDEL ) & (QUAL >= 20)) | (QUAL >= 30 )
169 169
170 - *...or any heterozygous sample with coverage 25 or more*: 170 - *...or any heterozygous sample with coverage 25 or more*:
171 171
172 :: 172 ::
173 173
174 ((countHet() > 0) & (DP >= 25)) | (countHom() > 3) | (( exists INDEL ) & (QUAL >= 20)) | (QUAL >= 30 ) 174 ((countHet() > 0) & (DP >= 25)) | (countHom() > 3) | (( exists INDEL ) & (QUAL >= 20)) | (QUAL >= 30 )
175 175
176 - *I want to keep samples where the genotype for the first sample is homozygous variant and the genotype for the second sample is reference*: 176 - *I want to keep samples where the genotype for the first sample is homozygous variant and the genotype for the second sample is reference*:
177 177
178 :: 178 ::
179 179
180 (isHom( GEN[0] ) & isVariant( GEN[0] ) & isRef( GEN[1] )) 180 (isHom( GEN[0] ) & isVariant( GEN[0] ) & isRef( GEN[1] ))
181 181
182 182
183 **For information regarding HGVS and Sequence Ontology terms versus classic names**: 183 **For information regarding HGVS and Sequence Ontology terms versus classic names**:
184 184