Mercurial > repos > devteam > variant_filtration
diff variant_filtration.xml @ 0:7555e479e47e draft default tip
Imported from capsule None
author | devteam |
---|---|
date | Tue, 01 Apr 2014 09:12:22 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_filtration.xml Tue Apr 01 09:12:22 2014 -0400 @@ -0,0 +1,182 @@ +<tool id="gatk_variant_filtration" name="Variant Filtration" version="0.0.5"> + <description>on VCF files</description> + <requirements> + <requirement type="package" version="1.4">gatk</requirement> + </requirements> + <macros> + <import>gatk_macros.xml</import> + </macros> + <command interpreter="python">gatk_wrapper.py + #from binascii import hexlify + --max_jvm_heap_fraction "1" + --stdout "${output_log}" + -d "--variant:variant,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant" + -p 'java + -jar "\$JAVA_JAR_PATH/GenomeAnalysisTK.jar" + -T "VariantFiltration" + ##--num_threads 4 ##hard coded, for now + -et "NO_ET" ##ET no phone home + -o "${output_vcf}" + ##-log "${output_log}" ##don't use this to log to file, instead directly capture stdout + #if $reference_source.reference_source_selector != "history": + -R "${reference_source.ref_file.fields.path}" + #end if + ' + #for $variant_filter in $variant_filters: + #set $variant_filter = "--%sExpression '%s' --%sName '%s'" % ( str( $variant_filter.is_genotype_filter ), str( $variant_filter.filter_expression ), str( $variant_filter.is_genotype_filter ), str( $variant_filter.filter_name ) ) + -o '${ hexlify( $variant_filter ) }' + #end for + + #if str( $mask_rod_bind_type.mask_rod_bind_type_selector ) == 'set_mask': + -d "--mask:${mask_rod_bind_type.mask_rod_name},%(file_type)s" "${mask_rod_bind_type.input_mask_rod}" "${mask_rod_bind_type.input_mask_rod.ext}" "input_mask_${mask_rod_bind_type.mask_rod_name}" + -p ' + --maskExtension "${mask_rod_bind_type.mask_extension}" + --maskName "${mask_rod_bind_type.mask_rod_name}" + ' + #end if + + #include source=$standard_gatk_options# + + ##start analysis specific options + #if $cluster_snp_type.cluster_snp_type_selector == "cluster_snp": + -p ' + --clusterSize "${cluster_snp_type.cluster_size}" + --clusterWindowSize "${cluster_snp_type.cluster_window_size}" + ' + #end if + -p '${missing_values_in_expressions_should_evaluate_as_failing}' + </command> + <inputs> + <conditional name="reference_source"> + <expand macro="reference_source_selector_param" /> + <when value="cached"> + <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" help="-V,--variant &lt;variant&gt;" /> + <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &lt;reference_sequence&gt;"> + <options from_data_table="gatk_picard_indexes"> + <filter type="data_meta" key="dbkey" ref="input_variant" column="dbkey"/> + </options> + <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/> + </param> + </when> + <when value="history"> <!-- FIX ME!!!! --> + <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" help="-V,--variant &lt;variant&gt;" /> + <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &lt;reference_sequence&gt;" /> + </when> + </conditional> + + + <repeat name="variant_filters" title="Variant Filters"> + <param name="filter_expression" value="AB < 0.2 || MQ0 > 50" type="text" label="Filter expression" help="JEXL formatted expressions (-filter,--filterExpression &lt;filterExpression&gt;)"> + <sanitizer> + <valid initial="string.printable"> + <remove value="'"/> + </valid> + <mapping initial="none"/> + </sanitizer> + </param> + <param name="filter_name" value="custom_filter" type="text" label="Filter name" help="-filterName,--filterName &lt;filterName&gt;"/> + <param name="is_genotype_filter" type="boolean" truevalue="genotypeFilter" falsevalue="filter" label="Use filter at the individual sample level" help="Use -G_filter,--genotypeFilterExpression &lt;genotypeFilterExpression&gt; and -G_filterName,--genotypeFilterName &lt;genotypeFilterName&gt; for filter type" /> + </repeat> + + + + <conditional name="mask_rod_bind_type"> + <param name="mask_rod_bind_type_selector" type="select" label="Provide a Mask reference-ordered data file"> + <option value="set_mask" selected="True">Set maskP</option> + <option value="exclude_mask">Don't set mask</option> + </param> + <when value="exclude_mask"> + <!-- Do nothing here --> + </when> + <when value="set_mask"> + <param name="input_mask_rod" type="data" format="bed,gatk_dbsnp,vcf" label="Mask ROD file" help="--mask &lt;mask&gt;" /> + <param name="mask_rod_name" type="text" value="Mask" label="Mask Name" help="-maskName,--maskName &lt;maskName&gt;"/> + <param name="mask_extension" type="integer" value="0" label="Mask Extension" help="-maskExtend,--maskExtension &lt;maskExtension&gt;"/> + </when> + </conditional> + + + <expand macro="gatk_param_type_conditional" /> + + <conditional name="cluster_snp_type"> + <param name="cluster_snp_type_selector" type="select" label="Cluster SNPs"> + <option value="cluster_snp">Cluster SNPs</option> + <option value="do_not_cluster_snp" selected="True">Do not cluster SNPs</option> + </param> + <when value="do_not_cluster_snp"> + <!-- Do nothing here --> + </when> + <when value="cluster_snp"> + <param name="cluster_size" type="integer" value="3" label="The number of SNPs which make up a cluster" help="-cluster,--clusterSize &lt;clusterSize&gt;"/> + <param name="cluster_window_size" type="integer" value="0" label="The window size (in bases) in which to evaluate clustered SNPs" help="-window,--clusterWindowSize &lt;clusterWindowSize&gt;"/> + </when> + </conditional> + + <param name="missing_values_in_expressions_should_evaluate_as_failing" type="boolean" truevalue="--missingValuesInExpressionsShouldEvaluateAsFailing" falsevalue="" label="Should missing values be considered failing the expression" help="--missingValuesInExpressionsShouldEvaluateAsFailing" /> + + </inputs> + <outputs> + <data format="vcf" name="output_vcf" label="${tool.name} on ${on_string} (Variant File)" /> + <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" /> + </outputs> + <tests> + <test> + <param name="reference_source_selector" value="history" /> + <param name="ref_file" value="phiX.fasta" ftype="fasta" /> + <param name="input_variant" value="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" ftype="vcf" /> + <param name="filter_expression" value="MQ < 37.74 || MQ0 > 50" /> + <param name="filter_name" value="Galaxy_filter" /> + <param name="is_genotype_filter" /> + <param name="mask_rod_bind_type_selector" value="set_mask" /> + <param name="input_mask_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" /> + <param name="mask_rod_name" value="." /> + <param name="mask_extension" value="0" /> + <param name="gatk_param_type_selector" value="basic" /> + <param name="cluster_snp_type_selector" value="do_not_cluster_snp" /> + <param name="missing_values_in_expressions_should_evaluate_as_failing" /> + <output name="output_vcf" file="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" lines_diff="4" /> + <output name="output_log" file="gatk/gatk_variant_filtration/gatk_variant_filtration_out_1.log.contains" compare="contains" /> + </test> + </tests> + <help> +**What it does** + +Filters variant calls using a number of user-selectable, parameterizable criteria. + +For more information on using the VariantFiltration module, see this `tool specific page <http://www.broadinstitute.org/gsa/wiki/index.php/VariantFiltrationWalker>`_. + +To learn about best practices for variant detection using GATK, see this `overview <http://www.broadinstitute.org/gsa/wiki/index.php/Best_Practice_Variant_Detection_with_the_GATK_v3>`_. + +If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gsa/wiki/index.php/Frequently_Asked_Questions>`_. + +------ + +**Inputs** + +GenomeAnalysisTK: VariantFiltration accepts a VCF input file. + + +**Outputs** + +The output is in VCF format. + + +Go `here <http://www.broadinstitute.org/gsa/wiki/index.php/Input_files_for_the_GATK>`_ for details on GATK file formats. + +------- + +**Settings**:: + + + filterExpression One or more expression used with INFO fields to filter (see wiki docs for more info) + filterName Names to use for the list of filters (must be a 1-to-1 mapping); this name is put in the FILTER field for variants that get filtered + genotypeFilterExpression One or more expression used with FORMAT (sample/genotype-level) fields to filter (see wiki docs for more info) + genotypeFilterName Names to use for the list of sample/genotype filters (must be a 1-to-1 mapping); this name is put in the FILTER field for variants that get filtered + clusterSize The number of SNPs which make up a cluster (see also --clusterWindowSize); [default:3] + clusterWindowSize The window size (in bases) in which to evaluate clustered SNPs (to disable the clustered SNP filter, set this value to less than 1); [default:0] + maskName The text to put in the FILTER field if a 'mask' rod is provided and overlaps with a variant call; [default:'Mask'] + missingValuesInExpressionsShouldEvaluateAsFailing When evaluating the JEXL expressions, should missing values be considered failing the expression (by default they are considered passing)? + +@CITATION_SECTION@ + </help> +</tool>