| 
0
 | 
     1 <tool id="gatk_variant_eval" name="Eval Variants" version="0.0.8">
 | 
| 
 | 
     2   <description></description>
 | 
| 
 | 
     3   <requirements>
 | 
| 
 | 
     4       <requirement type="package" version="1.4">gatk</requirement>
 | 
| 
 | 
     5   </requirements>
 | 
| 
 | 
     6   <macros>
 | 
| 
 | 
     7     <import>gatk_macros.xml</import>
 | 
| 
 | 
     8   </macros>
 | 
| 
 | 
     9   <command interpreter="python">gatk_wrapper.py
 | 
| 
 | 
    10    #from binascii import hexlify
 | 
| 
 | 
    11    --max_jvm_heap_fraction "1"
 | 
| 
 | 
    12    --stdout "${output_log}"
 | 
| 
 | 
    13    #for $var_count, $variant in enumerate( $reference_source.variants ):
 | 
| 
 | 
    14       -d "--eval:input_${var_count},%(file_type)s" "${variant.input_variant}" "${variant.input_variant.ext}" "input_variants_${var_count}"
 | 
| 
 | 
    15    #end for
 | 
| 
 | 
    16    -p 'java 
 | 
| 
 | 
    17     -jar "\$JAVA_JAR_PATH/GenomeAnalysisTK.jar"
 | 
| 
 | 
    18     -T "VariantEval"
 | 
| 
 | 
    19     --out "${output_report}"
 | 
| 
 | 
    20     --num_threads \${GALAXY_SLOTS:-4}
 | 
| 
 | 
    21     -et "NO_ET" ##ET no phone home
 | 
| 
 | 
    22     ##-log "${output_log}" ##don't use this to log to file, instead directly capture stdout
 | 
| 
 | 
    23     #if $reference_source.reference_source_selector != "history":
 | 
| 
 | 
    24         -R "${reference_source.ref_file.fields.path}"
 | 
| 
 | 
    25     #end if
 | 
| 
 | 
    26    '
 | 
| 
 | 
    27    
 | 
| 
 | 
    28     #for $rod_binding in $comp_rod_bind:
 | 
| 
 | 
    29         -d "--comp:${rod_binding.comp_rod_name},%(file_type)s" "${rod_binding.comp_input_rod}" "${rod_binding.comp_input_rod.ext}" "input_comp_${rod_binding.comp_rod_name}"
 | 
| 
 | 
    30         #if str( $rod_binding.comp_known_names ):
 | 
| 
 | 
    31             -p '--known_names "${rod_binding.comp_rod_name}"'
 | 
| 
 | 
    32         #end if
 | 
| 
 | 
    33     #end for
 | 
| 
 | 
    34     
 | 
| 
 | 
    35     #if str( $dbsnp_rod_bind_type.dbsnp_rod_bind_type_selector ) == 'set_dbsnp':
 | 
| 
 | 
    36         -d "--dbsnp:${dbsnp_rod_bind_type.dbsnp_rod_name},%(file_type)s" "${dbsnp_rod_bind_type.dbsnp_input_rod}" "${dbsnp_rod_bind_type.dbsnp_input_rod.ext}" "input_dbsnp_${dbsnp_rod_bind_type.dbsnp_rod_name}"
 | 
| 
 | 
    37         #if str( $dbsnp_rod_bind_type.dbsnp_known_names ):
 | 
| 
 | 
    38             -p '--known_names "${dbsnp_rod_bind_type.dbsnp_rod_name}"'
 | 
| 
 | 
    39         #end if
 | 
| 
 | 
    40     #end if
 | 
| 
 | 
    41    
 | 
| 
 | 
    42     #include source=$standard_gatk_options#
 | 
| 
 | 
    43     
 | 
| 
 | 
    44     
 | 
| 
 | 
    45     ##start analysis specific options
 | 
| 
 | 
    46     #if $analysis_param_type.analysis_param_type_selector == "advanced":
 | 
| 
 | 
    47         #for $stratification in $analysis_param_type.stratifications:
 | 
| 
 | 
    48             #set $select_string = "--select_exps '%s' --select_names '%s'" % ( str( $stratification.select_exps ), str( $stratification.select_name )  )
 | 
| 
 | 
    49             -o '${ hexlify( $select_string ) }'
 | 
| 
 | 
    50         #end for
 | 
| 
 | 
    51         -p '
 | 
| 
 | 
    52         
 | 
| 
 | 
    53         #for $sample in $analysis_param_type.samples:
 | 
| 
 | 
    54             --sample "${sample.sample}"
 | 
| 
 | 
    55         #end for
 | 
| 
 | 
    56         
 | 
| 
 | 
    57         #if str( $analysis_param_type.stratification_modules ) != "None":
 | 
| 
 | 
    58             #for $stratification_module in str( $analysis_param_type.stratification_modules).split( ',' ):
 | 
| 
 | 
    59                 --stratificationModule "${stratification_module}"
 | 
| 
 | 
    60             #end for
 | 
| 
 | 
    61         #end if
 | 
| 
 | 
    62         
 | 
| 
 | 
    63         ${analysis_param_type.do_not_use_all_standard_stratifications}
 | 
| 
 | 
    64         
 | 
| 
 | 
    65         #for $variant_type in $analysis_param_type.only_variants_of_type:
 | 
| 
 | 
    66             --onlyVariantsOfType "${variant_type.variant_type}"
 | 
| 
 | 
    67         #end for
 | 
| 
 | 
    68         
 | 
| 
 | 
    69         #if str( $analysis_param_type.eval_modules ) != "None":
 | 
| 
 | 
    70             #for $eval_module in str( $analysis_param_type.eval_modules).split( ',' ):
 | 
| 
 | 
    71                 --evalModule "${eval_module}"
 | 
| 
 | 
    72             #end for
 | 
| 
 | 
    73         #end if
 | 
| 
 | 
    74         
 | 
| 
 | 
    75         ${analysis_param_type.do_not_use_all_standard_modules}
 | 
| 
 | 
    76         
 | 
| 
 | 
    77         #if str( $analysis_param_type.num_samples ) != "0":
 | 
| 
 | 
    78             --numSamples "${analysis_param_type.num_samples}"
 | 
| 
 | 
    79         #end if
 | 
| 
 | 
    80         
 | 
| 
 | 
    81         --minPhaseQuality "${analysis_param_type.min_phase_quality}"
 | 
| 
 | 
    82         
 | 
| 
 | 
    83         #if str( $analysis_param_type.family ):
 | 
| 
 | 
    84             --family_structure "${analysis_param_type.family}"
 | 
| 
 | 
    85         #end if
 | 
| 
 | 
    86         
 | 
| 
 | 
    87         --mendelianViolationQualThreshold "${analysis_param_type.mendelian_violation_qual_threshold}"
 | 
| 
 | 
    88         
 | 
| 
 | 
    89         #if str( $analysis_param_type.ancestral_alignments ) != "None":
 | 
| 
 | 
    90             --ancestralAlignments "${analysis_param_type.ancestral_alignments}"
 | 
| 
 | 
    91         #end if
 | 
| 
 | 
    92         '
 | 
| 
 | 
    93         #if str( $analysis_param_type.known_cnvs ) != "None":
 | 
| 
 | 
    94             -d "--knownCNVs" "${analysis_param_type.known_cnvs}" "${analysis_param_type.known_cnvs.ext}" "input_known_cnvs"
 | 
| 
 | 
    95         #end if
 | 
| 
 | 
    96         
 | 
| 
 | 
    97         #if str( $analysis_param_type.strat_intervals ) != "None":
 | 
| 
 | 
    98             -d "--stratIntervals" "${analysis_param_type.strat_intervals}" "${analysis_param_type.strat_intervals.ext}" "input_strat_intervals"
 | 
| 
 | 
    99         #end if
 | 
| 
 | 
   100     #end if
 | 
| 
 | 
   101   </command>
 | 
| 
 | 
   102   <inputs>
 | 
| 
 | 
   103     
 | 
| 
 | 
   104     <conditional name="reference_source">
 | 
| 
 | 
   105       <expand macro="reference_source_selector_param" />
 | 
| 
 | 
   106       <when value="cached">
 | 
| 
 | 
   107         <repeat name="variants" title="Variant" min="1" help="-eval,--eval &lt;eval&gt;">
 | 
| 
 | 
   108           <param name="input_variant" type="data" format="vcf" label="Input variant file" />
 | 
| 
 | 
   109         </repeat>
 | 
| 
 | 
   110         <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &lt;reference_sequence&gt;">
 | 
| 
 | 
   111           <options from_data_table="gatk_picard_indexes">
 | 
| 
 | 
   112             <!-- <filter type="data_meta" key="dbkey" ref="input_variant" column="dbkey"/> -->
 | 
| 
 | 
   113           </options>
 | 
| 
 | 
   114           <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
 | 
| 
 | 
   115         </param>
 | 
| 
 | 
   116       </when>
 | 
| 
 | 
   117       <when value="history"> <!-- FIX ME!!!! -->
 | 
| 
 | 
   118         <repeat name="variants" title="Variant" min="1" help="-eval,--eval &lt;eval&gt;">
 | 
| 
 | 
   119           <param name="input_variant" type="data" format="vcf" label="Input variant file" />
 | 
| 
 | 
   120         </repeat>
 | 
| 
 | 
   121         <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &lt;reference_sequence&gt;" />
 | 
| 
 | 
   122       </when>
 | 
| 
 | 
   123     </conditional>
 | 
| 
 | 
   124     
 | 
| 
 | 
   125     <repeat name="comp_rod_bind" title="Binding for reference-ordered comparison data" help="-comp,--comp &lt;comp&gt;">
 | 
| 
 | 
   126       <param name="comp_input_rod" type="data" format="vcf" label="Comparison ROD file" />
 | 
| 
 | 
   127       <param name="comp_rod_name" type="text" value="Unnamed" label="Comparison ROD Name"/>
 | 
| 
 | 
   128       <param name="comp_known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Use Comparison ROD as known_names" help="-knownName,--known_names &lt;known_names&gt;"/>
 | 
| 
 | 
   129     </repeat>
 | 
| 
 | 
   130     
 | 
| 
 | 
   131     <conditional name="dbsnp_rod_bind_type">
 | 
| 
 | 
   132       <param name="dbsnp_rod_bind_type_selector" type="select" label="Provide a dbSNP reference-ordered data file" help="-D,--dbsnp &lt;dbsnp&gt;">
 | 
| 
 | 
   133         <option value="set_dbsnp" selected="True">Set dbSNP</option>
 | 
| 
 | 
   134         <option value="exclude_dbsnp">Don't set dbSNP</option>
 | 
| 
 | 
   135       </param>
 | 
| 
 | 
   136       <when value="exclude_dbsnp">
 | 
| 
 | 
   137         <!-- Do nothing here -->
 | 
| 
 | 
   138       </when>
 | 
| 
 | 
   139       <when value="set_dbsnp">
 | 
| 
 | 
   140         <param name="dbsnp_input_rod" type="data" format="vcf" label="dbSNP ROD file" />
 | 
| 
 | 
   141         <param name="dbsnp_rod_name" type="hidden" value="dbsnp" label="dbSNP ROD Name"/>
 | 
| 
 | 
   142         <param name="dbsnp_known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Use dbSNP ROD as known_names" help="-knownName,--known_names &lt;known_names&gt;" />
 | 
| 
 | 
   143       </when>
 | 
| 
 | 
   144     </conditional>
 | 
| 
 | 
   145     
 | 
| 
 | 
   146     <expand macro="gatk_param_type_conditional" />
 | 
| 
 | 
   147     
 | 
| 
 | 
   148     
 | 
| 
 | 
   149     <expand macro="analysis_type_conditional">
 | 
| 
 | 
   150         <repeat name="stratifications" title="Stratification">
 | 
| 
 | 
   151           <param name="select_exps" value="" type="text" label="Stratification Expression" help="-select,--select_exps &lt;select_exps&gt;">
 | 
| 
 | 
   152             <sanitizer>
 | 
| 
 | 
   153               <valid initial="string.printable">
 | 
| 
 | 
   154                <remove value="'"/>
 | 
| 
 | 
   155              </valid>
 | 
| 
 | 
   156               <mapping initial="none"/>
 | 
| 
 | 
   157             </sanitizer>
 | 
| 
 | 
   158           </param>
 | 
| 
 | 
   159           <param name="select_name" value="" type="text" label="Name" help="-selectName,--select_names &lt;select_names&gt;"/>
 | 
| 
 | 
   160         </repeat>
 | 
| 
 | 
   161         
 | 
| 
 | 
   162         <repeat name="samples" title="Sample" help="-sn,--sample &lt;sample&gt;">
 | 
| 
 | 
   163           <param name="sample" value="" type="text" label="Derive eval and comp contexts using only these sample genotypes, when genotypes are available in the original context"/>
 | 
| 
 | 
   164         </repeat>
 | 
| 
 | 
   165         
 | 
| 
 | 
   166         <param name="stratification_modules" type="select" multiple="True" display="checkboxes" label="Stratification modules to apply to the eval track(s)" help="-ST,--stratificationModule &lt;stratificationModule&gt;" >
 | 
| 
 | 
   167           <!-- do these need individual options also? gatk wiki has little info -->
 | 
| 
 | 
   168           <option value="AlleleFrequency" />
 | 
| 
 | 
   169           <option value="AlleleCount" />
 | 
| 
 | 
   170           <option value="CompRod" />
 | 
| 
 | 
   171           <option value="Contig" />
 | 
| 
 | 
   172           <option value="CpG" />
 | 
| 
 | 
   173           <option value="Degeneracy" />
 | 
| 
 | 
   174           <option value="EvalRod" />
 | 
| 
 | 
   175           <option value="Filter" />
 | 
| 
 | 
   176           <option value="FunctionalClass" />
 | 
| 
 | 
   177           <option value="JexlExpression" />
 | 
| 
 | 
   178           <option value="Sample" />
 | 
| 
 | 
   179           <option value="IntervalStratification" />
 | 
| 
 | 
   180         </param>
 | 
| 
 | 
   181         <param name="do_not_use_all_standard_stratifications" checked="false" type="boolean" truevalue="--doNotUseAllStandardStratifications" falsevalue="" label="Do not use the standard stratification modules by default" help="-noST,--doNotUseAllStandardStratifications" />
 | 
| 
 | 
   182         
 | 
| 
 | 
   183         <repeat name="only_variants_of_type" title="only Variants Of Type" help="--onlyVariantsOfType">
 | 
| 
 | 
   184           <param name="variant_type" type="text" value="" label="only variants of these types will be considered during the evaluation"/>
 | 
| 
 | 
   185         </repeat>
 | 
| 
 | 
   186         
 | 
| 
 | 
   187         <param name="eval_modules" type="select" multiple="True" display="checkboxes" label="Eval modules to apply to the eval track(s)" help="-EV,--evalModule &lt;evalModule&gt;" >
 | 
| 
 | 
   188           <!-- do these need individual options also? gatk wiki has little info -->
 | 
| 
 | 
   189           <option value="ACTransitionTable" />
 | 
| 
 | 
   190           <option value="AlleleFrequencyComparison" />
 | 
| 
 | 
   191           <option value="AminoAcidTransition" />
 | 
| 
 | 
   192           <option value="CompOverlap" />
 | 
| 
 | 
   193           <option value="CountVariants" />
 | 
| 
 | 
   194           <option value="GenotypeConcordance" />
 | 
| 
 | 
   195           <option value="GenotypePhasingEvaluator" />
 | 
| 
 | 
   196           <option value="IndelMetricsByAC" />
 | 
| 
 | 
   197           <option value="IndelStatistics" />
 | 
| 
 | 
   198           <option value="MendelianViolationEvaluator" />
 | 
| 
 | 
   199           <option value="PrintMissingComp" />
 | 
| 
 | 
   200           <option value="PrivatePermutations" />
 | 
| 
 | 
   201           <option value="SimpleMetricsByAC" />
 | 
| 
 | 
   202           <option value="ThetaVariantEvaluator" />
 | 
| 
 | 
   203           <option value="TiTvVariantEvaluator" />
 | 
| 
 | 
   204           <option value="VariantQualityScore" />
 | 
| 
 | 
   205         </param>
 | 
| 
 | 
   206         <param name="do_not_use_all_standard_modules" checked="false" type="boolean" truevalue="--doNotUseAllStandardModules" falsevalue="" label="Do not use the standard eval modules by default" help="-noEV,--doNotUseAllStandardModules" />
 | 
| 
 | 
   207         
 | 
| 
 | 
   208         <param name="num_samples" type="integer" label="Number of samples (used if no samples are available in the VCF file" value="0" help="-ns,--numSamples &lt;numSamples&gt;"/>
 | 
| 
 | 
   209         <param name="min_phase_quality" type="float" label="Minimum phasing quality " value="10.0" help="-mpq,--minPhaseQuality &lt;minPhaseQuality&gt;"/>
 | 
| 
 | 
   210         <param name="family" type="text" value="" label="If provided, genotypes in will be examined for mendelian violations: this argument is a string formatted as dad+mom=child where these parameters determine which sample names are examined" help="--family_structure"/>
 | 
| 
 | 
   211         <param name="mendelian_violation_qual_threshold" type="integer" label="Minimum genotype QUAL score for each trio member required to accept a site as a violation" value="50" help="-mvq,--mendelianViolationQualThreshold &lt;mendelianViolationQualThreshold&gt;"/>
 | 
| 
 | 
   212         <param name="ancestral_alignments" type="data" format="fasta" optional="True" label="Fasta file with ancestral alleles" help="-aa,--ancestralAlignments &lt;ancestralAlignments&gt;" />
 | 
| 
 | 
   213         <param name="known_cnvs" type="data" format="bed,gatk_interval,picard_interval_list" optional="True" label="File containing tribble-readable features describing a known list of copy number variants" help="-knownCNVs,--knownCNVs &lt;knownCNVs&gt;" />
 | 
| 
 | 
   214         <param name="strat_intervals" type="data" format="bed,gatk_interval,picard_interval_list" optional="True" label="File containing tribble-readable features for the IntervalStratificiation" help="-stratIntervals,--stratIntervals &lt;stratIntervals&gt;" />
 | 
| 
 | 
   215         
 | 
| 
 | 
   216     </expand>
 | 
| 
 | 
   217     
 | 
| 
 | 
   218     
 | 
| 
 | 
   219   </inputs>
 | 
| 
 | 
   220   <outputs>
 | 
| 
 | 
   221     <data format="gatk_report" name="output_report" label="${tool.name} on ${on_string} (report)" />
 | 
| 
 | 
   222     <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" />
 | 
| 
 | 
   223   </outputs>
 | 
| 
 | 
   224   <tests>
 | 
| 
 | 
   225       <test>
 | 
| 
 | 
   226           <param name="reference_source_selector" value="history" />
 | 
| 
 | 
   227           <param name="ref_file" value="phiX.fasta" ftype="fasta" />
 | 
| 
 | 
   228           <param name="input_variant" value="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" ftype="vcf" />
 | 
| 
 | 
   229           <param name="dbsnp_rod_bind_type_selector" value="set_dbsnp" />
 | 
| 
 | 
   230           <param name="dbsnp_input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" />
 | 
| 
 | 
   231           <param name="dbsnp_known_names" value="True"/>
 | 
| 
 | 
   232           <param name="comp_rod_bind" value="0" />
 | 
| 
 | 
   233           <param name="gatk_param_type_selector" value="basic" />
 | 
| 
 | 
   234           <param name="analysis_param_type_selector" value="basic" />
 | 
| 
 | 
   235           <output name="output_report" file="gatk/gatk_variant_eval/gatk_variant_eval_out_1.gatk_report" />
 | 
| 
 | 
   236           <output name="output_log" file="gatk/gatk_variant_eval/gatk_variant_eval_out_1.log.contains" compare="contains" />
 | 
| 
 | 
   237       </test>
 | 
| 
 | 
   238   </tests>
 | 
| 
 | 
   239   <help>
 | 
| 
 | 
   240 **What it does**
 | 
| 
 | 
   241 
 | 
| 
 | 
   242 General-purpose tool for variant evaluation (% in dbSNP, genotype concordance, Ti/Tv ratios, and a lot more)
 | 
| 
 | 
   243 
 | 
| 
 | 
   244 For more information on using the VariantEval module, see this `tool specific page <http://www.broadinstitute.org/gsa/wiki/index.php/VariantEval>`_.
 | 
| 
 | 
   245 
 | 
| 
 | 
   246 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>`_.
 | 
| 
 | 
   247 
 | 
| 
 | 
   248 If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gsa/wiki/index.php/Frequently_Asked_Questions>`_.
 | 
| 
 | 
   249 
 | 
| 
 | 
   250 ------
 | 
| 
 | 
   251 
 | 
| 
 | 
   252 **Inputs**
 | 
| 
 | 
   253 
 | 
| 
 | 
   254 GenomeAnalysisTK: VariantEval accepts variant files as input.
 | 
| 
 | 
   255 
 | 
| 
 | 
   256 
 | 
| 
 | 
   257 **Outputs**
 | 
| 
 | 
   258 
 | 
| 
 | 
   259 The output is a table of variant evaluation.
 | 
| 
 | 
   260 
 | 
| 
 | 
   261 
 | 
| 
 | 
   262 Go `here <http://www.broadinstitute.org/gsa/wiki/index.php/Input_files_for_the_GATK>`_ for details on GATK file formats.
 | 
| 
 | 
   263 
 | 
| 
 | 
   264 
 | 
| 
 | 
   265 -------
 | 
| 
 | 
   266 
 | 
| 
 | 
   267 **Settings**::
 | 
| 
 | 
   268 
 | 
| 
 | 
   269  out                                   An output file presented to the walker. Will overwrite contents if file exists.
 | 
| 
 | 
   270  list                                  List the available eval modules and exit
 | 
| 
 | 
   271  select_exps                           One or more stratifications to use when evaluating the data
 | 
| 
 | 
   272  select_names                          Names to use for the list of stratifications (must be a 1-to-1 mapping)
 | 
| 
 | 
   273  sample                                Derive eval and comp contexts using only these sample genotypes, when genotypes are available in the original context
 | 
| 
 | 
   274  known_names                           Name of ROD bindings containing variant sites that should be treated as known when splitting eval rods into known and novel subsets
 | 
| 
 | 
   275  stratificationModule                  One or more specific stratification modules to apply to the eval track(s) (in addition to the standard stratifications, unless -noS is specified)
 | 
| 
 | 
   276  doNotUseAllStandardStratifications    Do not use the standard stratification modules by default (instead, only those that are specified with the -S option)
 | 
| 
 | 
   277  onlyVariantsOfType                    If provided, only variants of these types will be considered during the evaluation, in 
 | 
| 
 | 
   278  evalModule                            One or more specific eval modules to apply to the eval track(s) (in addition to the standard modules, unless -noE is specified)
 | 
| 
 | 
   279  doNotUseAllStandardModules            Do not use the standard modules by default (instead, only those that are specified with the -E option)
 | 
| 
 | 
   280  numSamples                            Number of samples (used if no samples are available in the VCF file
 | 
| 
 | 
   281  minPhaseQuality                       Minimum phasing quality
 | 
| 
 | 
   282  family_structure                      If provided, genotypes in will be examined for mendelian violations: this argument is a string formatted as dad+mom=child where these parameters determine which sample names are examined
 | 
| 
 | 
   283  mendelianViolationQualThreshold       Minimum genotype QUAL score for each trio member required to accept a site as a violation
 | 
| 
 | 
   284  ancestralAlignments                   Fasta file with ancestral alleles
 | 
| 
 | 
   285 
 | 
| 
 | 
   286 @CITATION_SECTION@
 | 
| 
 | 
   287   </help>
 | 
| 
 | 
   288 </tool>
 |