Mercurial > repos > iuc > gatk2
diff unified_genotyper.xml @ 0:340633249b3d draft
Uploaded
author | bgruening |
---|---|
date | Mon, 02 Dec 2013 06:18:36 -0500 |
parents | |
children | 8bcc13094767 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unified_genotyper.xml Mon Dec 02 06:18:36 2013 -0500 @@ -0,0 +1,337 @@ +<tool id="gatk2_unified_genotyper" name="Unified Genotyper" version="0.0.7"> + <description>SNP and indel caller</description> + <expand macro="requirements" /> + <macros> + <import>gatk2_macros.xml</import> + </macros> + <command interpreter="python"> + gatk2_wrapper.py + --stdout "${output_log}" + #for $i, $input_bam in enumerate( $reference_source.input_bams ): + -d "-I" "${input_bam.input_bam}" "${input_bam.input_bam.ext}" "gatk_input_${i}" + #if str( $input_bam.input_bam.metadata.bam_index ) != "None": + -d "" "${input_bam.input_bam.metadata.bam_index}" "bam_index" "gatk_input_${i}" ##hardcode galaxy ext type as bam_index + #end if + #end for + -p ' + @JAR_PATH@ + -T "UnifiedGenotyper" + @THREADS@ + --out "${output_vcf}" + --metrics_file "${output_metrics}" + \$GATK2_SITE_OPTIONS + + ## according to http://www.broadinstitute.org/gatk/guide/article?id=1975 + --num_cpu_threads_per_data_thread 6 + + #if $reference_source.reference_source_selector != "history": + -R "${reference_source.ref_file.fields.path}" + #end if + --genotype_likelihoods_model "${genotype_likelihoods_model}" + --standard_min_confidence_threshold_for_calling "${standard_min_confidence_threshold_for_calling}" + --standard_min_confidence_threshold_for_emitting "${standard_min_confidence_threshold_for_emitting}" + ' + #set $rod_binding_names = dict() + #for $rod_binding in $rod_bind: + #if str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'custom': + #set $rod_bind_name = $rod_binding.rod_bind_type.custom_rod_name + #else + #set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector + #end if + #set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1 + -d "--dbsnp:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}" + #end for + + #include source=$standard_gatk_options# + ##start analysis specific options + #if $analysis_param_type.analysis_param_type_selector == "advanced": + -p ' + --p_nonref_model "${analysis_param_type.p_nonref_model}" + --heterozygosity "${analysis_param_type.heterozygosity}" + --pcr_error_rate "${analysis_param_type.pcr_error_rate}" + --genotyping_mode "${analysis_param_type.genotyping_mode_type.genotyping_mode}" + #if str( $analysis_param_type.genotyping_mode_type.genotyping_mode ) == 'GENOTYPE_GIVEN_ALLELES': + --alleles "${analysis_param_type.genotyping_mode_type.input_alleles_rod}" + #end if + --output_mode "${analysis_param_type.output_mode}" + ${analysis_param_type.compute_SLOD} + --min_base_quality_score "${analysis_param_type.min_base_quality_score}" + --max_deletion_fraction "${analysis_param_type.max_deletion_fraction}" + --max_alternate_alleles "${analysis_param_type.max_alternate_alleles}" + --min_indel_count_for_genotyping "${analysis_param_type.min_indel_count_for_genotyping}" + --indel_heterozygosity "${analysis_param_type.indel_heterozygosity}" + --indelGapContinuationPenalty "${analysis_param_type.indelGapContinuationPenalty}" + --indelGapOpenPenalty "${analysis_param_type.indelGapOpenPenalty}" + --indelHaplotypeSize "${analysis_param_type.indelHaplotypeSize}" + ${analysis_param_type.doContextDependentGapPenalties} + #if str( $analysis_param_type.annotation ) != "None": + #for $annotation in str( $analysis_param_type.annotation.fields.gatk_value ).split( ','): + --annotation "${annotation}" + #end for + #end if + #for $additional_annotation in $analysis_param_type.additional_annotations: + --annotation "${additional_annotation.additional_annotation_name}" + #end for + #if str( $analysis_param_type.group ) != "None": + #for $group in str( $analysis_param_type.group ).split( ','): + --group "${group}" + #end for + #end if + #if str( $analysis_param_type.exclude_annotations ) != "None": + #for $annotation in str( $analysis_param_type.exclude_annotations.fields.gatk_value ).split( ','): + --excludeAnnotation "${annotation}" + #end for + #end if + ${analysis_param_type.multiallelic} + #if str( $analysis_param_type.sample_ploidy ) != '': + --sample_ploidy "$analysis_param_type.sample_ploidy" + #end if + ' +## #if str( $analysis_param_type.snpEff_rod_bind_type.snpEff_rod_bind_type_selector ) == 'set_snpEff': +## -p '--annotation "SnpEff"' +## -d "--snpEffFile:${analysis_param_type.snpEff_rod_bind_type.snpEff_rod_name},%(file_type)s" "${analysis_param_type.snpEff_rod_bind_type.snpEff_input_rod}" "${analysis_param_type.snpEff_rod_bind_type.snpEff_input_rod.ext}" "input_snpEff_${analysis_param_type.snpEff_rod_bind_type.snpEff_rod_name}" +## #else: +## -p '--excludeAnnotation "SnpEff"' +## #end if + #end if + </command> + <inputs> + <conditional name="reference_source"> + <expand macro="reference_source_selector_param" /> + <when value="cached"> + <repeat name="input_bams" title="BAM file" min="1" help="-I,--input_file &lt;input_file&gt;"> + <param name="input_bam" type="data" format="bam" label="BAM file"> + <validator type="unspecified_build" /> + <validator type="dataset_metadata_in_data_table" table_name="gatk2_picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /> <!-- fixme!!! this needs to be a select --> + </param> + </repeat> + <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &lt;reference_sequence&gt;"> + <options from_data_table="gatk2_picard_indexes"> + <!-- <filter type="data_meta" key="dbkey" ref="input_bam" column="dbkey"/> does not yet work in a repeat...--> + </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!!!! --> + <repeat name="input_bams" title="BAM file" min="1" help="-I,--input_file &lt;input_file&gt;"> + <param name="input_bam" type="data" format="bam" label="BAM file" > + </param> + </repeat> + <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &lt;reference_sequence&gt;" /> + </when> + </conditional> + + <repeat name="rod_bind" title="Binding for reference-ordered data" help="-D,--dbsnp &lt;dbsnp&gt;"> + <conditional name="rod_bind_type"> + <param name="rod_bind_type_selector" type="select" label="Binding Type"> + <option value="dbsnp" selected="True">dbSNP</option> + <option value="snps">SNPs</option> + <option value="indels">INDELs</option> + <option value="custom">Custom</option> + </param> + <when value="dbsnp"> + <param name="input_rod" type="data" format="vcf" label="ROD file" /> + </when> + <when value="snps"> + <param name="input_rod" type="data" format="vcf" label="ROD file" /> + </when> + <when value="indels"> + <param name="input_rod" type="data" format="vcf" label="ROD file" /> + </when> + <when value="custom"> + <param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/> + <param name="input_rod" type="data" format="vcf" label="ROD file" /> + </when> + </conditional> + </repeat> + + <param name="genotype_likelihoods_model" type="select" label="Genotype likelihoods calculation model to employ" help="-glm,--genotype_likelihoods_model &lt;genotype_likelihoods_model&gt;"> + <option value="BOTH" selected="True">BOTH</option> + <option value="SNP">SNP</option> + <option value="INDEL">INDEL</option> + </param> + + <param name="standard_min_confidence_threshold_for_calling" type="float" value="30.0" label="The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be called" help="-stand_call_conf,--standard_min_confidence_threshold_for_calling &lt;standard_min_confidence_threshold_for_calling&gt;" /> + <param name="standard_min_confidence_threshold_for_emitting" type="float" value="30.0" label="The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be emitted (and filtered if less than the calling threshold)" help="-stand_emit_conf,--standard_min_confidence_threshold_for_emitting &lt;standard_min_confidence_threshold_for_emitting&gt;" /> + + + <expand macro="gatk_param_type_conditional" /> + + <expand macro="analysis_type_conditional"> + <param name="p_nonref_model" type="select" label="Non-reference probability calculation model to employ" help="-pnrm,--p_nonref_model &lt;p_nonref_model&gt;"> + <option value="EXACT_GENERAL_PLOIDY" selected="True">EXACT_GENERAL_PLOIDY (supports any sample ploidy)</option> + <option value="EXACT_REFERENCE">EXACT_REFERENCE (multi-allelic EXACT model. Extremely slow for many alternate alleles)</option> + </param> + <param name="heterozygosity" type="float" value="1e-3" label="Heterozygosity value used to compute prior likelihoods for any locus" help="-hets,--heterozygosity &lt;heterozygosity&gt;" /> + <param name="pcr_error_rate" type="float" value="1e-4" label="The PCR error rate to be used for computing fragment-based likelihoods" help="-pcr_error,--pcr_error_rate &lt;pcr_error_rate&gt;" /> + <conditional name="genotyping_mode_type"> + <param name="genotyping_mode" type="select" label="How to determine the alternate allele to use for genotyping" help="-gt_mode,--genotyping_mode &lt;genotyping_mode&gt;"> + <option value="DISCOVERY" selected="True">DISCOVERY</option> + <option value="GENOTYPE_GIVEN_ALLELES">GENOTYPE_GIVEN_ALLELES</option> + </param> + <when value="DISCOVERY"> + <!-- Do nothing here --> + </when> + <when value="GENOTYPE_GIVEN_ALLELES"> + <param name="input_alleles_rod" type="data" format="vcf" label="Alleles ROD file" help="-alleles,--alleles &lt;alleles&gt;" /> + </when> + </conditional> + <param name="output_mode" type="select" label="Should we output confident genotypes (i.e. including ref calls) or just the variants?" help="-out_mode,--output_mode &lt;output_mode&gt;"> + <option value="EMIT_VARIANTS_ONLY" selected="True">EMIT_VARIANTS_ONLY</option> + <option value="EMIT_ALL_CONFIDENT_SITES">EMIT_ALL_CONFIDENT_SITES</option> + <option value="EMIT_ALL_SITES">EMIT_ALL_SITES</option> + </param> + <param name="compute_SLOD" type="boolean" truevalue="--computeSLOD" falsevalue="" label="Compute the SLOD" help="--computeSLOD" /> + <param name="min_base_quality_score" type="integer" value="17" label="Minimum base quality required to consider a base for calling" help="-mbq,--min_base_quality_score &lt;min_base_quality_score&gt;" /> + <param name="max_deletion_fraction" type="float" value="0.05" label="Maximum fraction of reads with deletions spanning this locus for it to be callable" help="to disable, set to < 0 or > 1 (-deletions,--max_deletion_fraction &lt;max_deletion_fraction&gt;)" /> + <param name="max_alternate_alleles" type="integer" value="6" label="Maximum number of alternate alleles to genotype" help="-maxAlleles,--max_alternate_alleles &lt;max_alternate_alleles&gt;" /> + <param name="min_indel_count_for_genotyping" type="integer" value="5" label="Minimum number of consensus indels required to trigger genotyping run" help="-minIndelCnt,--min_indel_count_for_genotyping &lt;min_indel_count_for_genotyping&gt;" /> + <param name="indel_heterozygosity" type="float" value="0.000125" label="Heterozygosity for indel calling" help="1.0/8000==0.000125 (-indelHeterozygosity,--indel_heterozygosity &lt;indel_heterozygosity&gt;)"/> + <param name="indelGapContinuationPenalty" type="integer" value="10" label="Indel gap continuation penalty" help="--indelGapContinuationPenalty"> + <help>Indel gap continuation penalty, as Phred-scaled probability. I.e., 30 => 10^-30/10.</help> + <validator type="in_range" message="value between 0 and 255" min="0" max="255"/> + </param> + <param name="indelGapOpenPenalty" type="integer" value="45" label="Indel gap open penalty" help="--indelGapOpenPenalty" > + <help>Indel gap open penalty, as Phred-scaled probability. I.e., 30 => 10^-30/10.</help> + <validator type="in_range" message="value between 0 and 255" min="0" max="255"/> + </param> + <!-- indelHaplotypeSize - Gone in GATK 2.4? --> + <param name="indelHaplotypeSize" type="integer" value="80" label="Indel haplotype size" help="--indelHaplotypeSize" /> + <param name="doContextDependentGapPenalties" type="boolean" truevalue="--doContextDependentGapPenalties" falsevalue="" label="Vary gap penalties by context" help="--doContextDependentGapPenalties" /> + <param name="annotation" type="select" multiple="True" display="checkboxes" label="Annotation Types" help="-A,--annotation &lt;annotation&gt;"> + <!-- load the available annotations from an external configuration file, since additional ones can be added to local installs --> + <options from_data_table="gatk2_annotations"> + <filter type="multiple_splitter" column="tools_valid_for" separator=","/> + <filter type="static_value" value="UnifiedGenotyper" column="tools_valid_for"/> + </options> + </param> + <repeat name="additional_annotations" title="Additional annotation" help="-A,--annotation &lt;annotation&gt;"> + <param name="additional_annotation_name" type="text" value="" label="Annotation name" /> + </repeat> +<!-- + <conditional name="snpEff_rod_bind_type"> + <param name="snpEff_rod_bind_type_selector" type="select" label="Provide a snpEff reference-ordered data file"> + <option value="set_snpEff">Set snpEff</option> + <option value="exclude_snpEff" selected="True">Don't set snpEff</option> + </param> + <when value="exclude_snpEff"> + </when> + <when value="set_snpEff"> + <param name="snpEff_input_rod" type="data" format="vcf" label="ROD file" /> + <param name="snpEff_rod_name" type="hidden" value="snpEff" label="ROD Name"/> + </when> + </conditional> +--> + <param name="group" type="select" multiple="True" display="checkboxes" label="Annotation Interfaces/Groups" help="-G,--group &lt;group&gt;"> + <option value="RodRequiringAnnotation">RodRequiringAnnotation</option> + <option value="Standard">Standard</option> + <option value="Experimental">Experimental</option> + <option value="WorkInProgress">WorkInProgress</option> + <option value="RankSumTest">RankSumTest</option> + <!-- <option value="none">none</option> --> + </param> + <!-- <param name="family_string" type="text" value="" label="Family String"/> --> + <param name="exclude_annotations" type="select" multiple="True" display="checkboxes" label="Annotations to exclude" help="-XA,--excludeAnnotation &lt;excludeAnnotation&gt;" > + <!-- load the available annotations from an external configuration file, since additional ones can be added to local installs --> + <options from_data_table="gatk2_annotations"> + <filter type="multiple_splitter" column="tools_valid_for" separator=","/> + <filter type="static_value" value="UnifiedGenotyper" column="tools_valid_for"/> + </options> + </param> + <param name="multiallelic" type="boolean" truevalue="--multiallelic" falsevalue="" label="Allow the discovery of multiple alleles (SNPs only)" help="--multiallelic" /> + </expand> + </inputs> + <outputs> + <data format="vcf" name="output_vcf" label="${tool.name} on ${on_string} (VCF)" /> + <data format="txt" name="output_metrics" label="${tool.name} on ${on_string} (metrics)" /> + <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" /> + </outputs> + <trackster_conf/> + <tests> + <test> + <param name="reference_source_selector" value="history" /> + <param name="ref_file" value="phiX.fasta" ftype="fasta" /> + <param name="input_bam" value="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" /> + <param name="rod_bind_type_selector" value="dbsnp" /> + <param name="input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" /> + <param name="standard_min_confidence_threshold_for_calling" value="0" /> + <param name="standard_min_confidence_threshold_for_emitting" value="4" /> + <param name="gatk_param_type_selector" value="basic" /> + <param name="analysis_param_type_selector" value="advanced" /> + <param name="genotype_likelihoods_model" value="BOTH" /> + <param name="p_nonref_model" value="EXACT" /> + <param name="heterozygosity" value="0.001" /> + <param name="pcr_error_rate" value="0.0001" /> + <param name="genotyping_mode" value="DISCOVERY" /> + <param name="output_mode" value="EMIT_ALL_CONFIDENT_SITES" /> + <param name="compute_SLOD" /> + <param name="min_base_quality_score" value="17" /> + <param name="max_deletion_fraction" value="-1" /> + <param name="min_indel_count_for_genotyping" value="2" /> + <param name="indel_heterozygosity" value="0.000125" /> + <param name="indelGapContinuationPenalty" value="10" /> + <param name="indelGapOpenPenalty" value="3" /> + <param name="indelHaplotypeSize" value="80" /> + <param name="doContextDependentGapPenalties" /> + <!-- <param name="annotation" value="" /> + <param name="group" value="" /> --> + <output name="output_vcf" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf" lines_diff="4" /> + <output name="output_metrics" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.metrics" /> + <output name="output_log" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains" compare="contains" /> + </test> + </tests> + <help> +**What it does** + +A variant caller which unifies the approaches of several disparate callers. Works for single-sample and multi-sample data. The user can choose from several different incorporated calculation models. + +For more information on the GATK Unified Genotyper, see this `tool specific page <http://www.broadinstitute.org/gatk/gatkdocs/org_broadinstitute_sting_gatk_walkers_genotyper_UnifiedGenotyper.html>`_. + +To learn about best practices for variant detection using GATK, see this `overview <http://www.broadinstitute.org/gatk/guide/topic?name=best-practices>`_. + +If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gatk/guide/topic?name=faqs>`_. + +------ + +**Inputs** + +GenomeAnalysisTK: UnifiedGenotyper accepts an aligned BAM input file. + + +**Outputs** + +The output is in VCF format. + + +Go `here <http://www.broadinstitute.org/gatk/guide/topic?name=intro>`_ for details on GATK file formats. + +------- + +**Settings**:: + + genotype_likelihoods_model Genotype likelihoods calculation model to employ -- BOTH is the default option, while INDEL is also available for calling indels and SNP is available for calling SNPs only (SNP|INDEL|BOTH) + p_nonref_model Non-reference probability calculation model to employ -- EXACT_GENERAL_PLOIDY is the default option, while EXACT_REFERENCE is also available. (EXACT_INDEPENDENT,EXACT_REFERENCE,EXACT_ORIGINAL,EXACT_GENERAL_PLOIDY) + heterozygosity Heterozygosity value used to compute prior likelihoods for any locus + pcr_error_rate The PCR error rate to be used for computing fragment-based likelihoods + genotyping_mode Should we output confident genotypes (i.e. including ref calls) or just the variants? (DISCOVERY|GENOTYPE_GIVEN_ALLELES) + output_mode Should we output confident genotypes (i.e. including ref calls) or just the variants? (EMIT_VARIANTS_ONLY|EMIT_ALL_CONFIDENT_SITES|EMIT_ALL_SITES) + standard_min_confidence_threshold_for_calling The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be called + standard_min_confidence_threshold_for_emitting The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be emitted (and filtered if less than the calling threshold) + noSLOD If provided, we will not calculate the SLOD + min_base_quality_score Minimum base quality required to consider a base for calling + max_deletion_fraction Maximum fraction of reads with deletions spanning this locus for it to be callable [to disable, set to < 0 or > 1; default:0.05] + min_indel_count_for_genotyping Minimum number of consensus indels required to trigger genotyping run + indel_heterozygosity Heterozygosity for indel calling + indelGapContinuationPenalty Indel gap continuation penalty + indelGapOpenPenalty Indel gap open penalty + indelHaplotypeSize Indel haplotype size + doContextDependentGapPenalties Vary gap penalties by context + indel_recal_file Filename for the input covariates table recalibration .csv file - EXPERIMENTAL, DO NO USE + indelDebug Output indel debug info + out File to which variants should be written + annotation One or more specific annotations to apply to variant calls + group One or more classes/groups of annotations to apply to variant calls + +@CITATION_SECTION@ + </help> +</tool>