diff print_reads.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/print_reads.xml	Mon Dec 02 06:18:36 2013 -0500
@@ -0,0 +1,251 @@
+<tool id="gatk2_print_reads" name="Print Reads" version="0.0.7">
+  <description>on BAM files</description>
+  <expand macro="requirements" />
+  <macros>
+    <import>gatk2_macros.xml</import>
+  </macros>
+  <command interpreter="python">
+    gatk2_wrapper.py
+    --stdout "${output_log}"
+    -d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
+    #if str( $reference_source.input_bam.metadata.bam_index ) != "None":
+        -d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
+    #end if
+    -p '
+    @JAR_PATH@
+    -T "PrintReads"
+    -o "${output_bam}"
+    \$GATK2_SITE_OPTIONS
+
+    ## according to http://www.broadinstitute.org/gatk/guide/article?id=1975
+    --num_cpu_threads_per_data_thread 8
+
+    @THREADS@
+
+    #if $reference_source.reference_source_selector != "history":
+        -R "${reference_source.ref_file.fields.path}"
+    #end if
+    #if str($input_recal) != 'None':
+        --BQSR "${input_recal}"
+    #end if
+    --disable_bam_indexing
+   '
+   
+    #include source=$standard_gatk_options#
+    
+    #if str( $reference_source.reference_source_selector ) == "history":
+        -d "-R" "${reference_source.ref_file}" "${reference_source.ref_file.ext}" "gatk_input"
+    #end if
+    ##end standard gatk options
+    
+    ##start analysis specific options
+    #if $analysis_param_type.analysis_param_type_selector == "advanced":
+        -p '
+        #if $analysis_param_type.default_read_group_type.default_read_group_type_selector == "set":
+            --default_read_group "${analysis_param_type.default_read_group_type.default_read_group}"
+        #end if
+        #if str( $analysis_param_type.default_platform ) != "default":
+            --default_platform "${analysis_param_type.default_platform}"
+        #end if
+        #if str( $analysis_param_type.force_read_group_type.force_read_group_type_selector ) == "set":
+            --force_read_group "${analysis_param_type.force_read_group_type.force_read_group}"
+        #end if
+        #if str( $analysis_param_type.force_platform ) != "default":
+            --force_platform "${analysis_param_type.force_platform}"
+        #end if
+        ${analysis_param_type.exception_if_no_tile}
+        #if str( $analysis_param_type.solid_options_type.solid_options_type_selector ) == "set":
+            #if str( $analysis_param_type.solid_options_type.solid_recal_mode ) != "default":
+                --solid_recal_mode "${analysis_param_type.solid_options_type.solid_recal_mode}" 
+            #end if
+            #if str( $analysis_param_type.solid_options_type.solid_nocall_strategy ) != "default":
+                --solid_nocall_strategy "${analysis_param_type.solid_options_type.solid_nocall_strategy}" 
+            #end if
+        #end if
+        ${analysis_param_type.simplify_bam}
+        --preserve_qscores_less_than "${analysis_param_type.preserve_qscores_less_than}"
+        --smoothing "${analysis_param_type.smoothing}"
+        --max_quality_score "${analysis_param_type.max_quality_score}"
+        --window_size_nqs "${analysis_param_type.window_size_nqs}"
+        --homopolymer_nback "${analysis_param_type.homopolymer_nback}"
+        ${analysis_param_type.do_not_write_original_quals}
+        '
+    #end if
+  </command>
+  <inputs>
+    <param name="input_recal" type="data" format="gatk_report" optional="true" label="Covariates table recalibration file" 
+        help="The input covariates table file which enables on-the-fly base quality score recalibration (intended for use with BaseRecalibrator files) (-BQSR,--BQSR)" />
+    <conditional name="reference_source">
+      <expand macro="reference_source_selector_param" />
+      <when value="cached">
+        <param name="input_bam" type="data" format="bam" label="BAM file" help="-I,--input_file &amp;lt;input_file&amp;gt;">
+          <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>
+        <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &amp;lt;reference_sequence&amp;gt;" >
+          <options from_data_table="gatk2_picard_indexes">
+            <filter type="data_meta" key="dbkey" ref="input_bam" 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">
+        <param name="input_bam" type="data" format="bam" label="BAM file" help="-I,--input_file &amp;lt;input_file&amp;gt;" />
+        <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &amp;lt;reference_sequence&amp;gt;">
+          <options>
+            <filter type="data_meta" key="dbkey" ref="input_bam" />
+          </options>
+        </param>
+      </when>
+    </conditional>
+    
+    <expand macro="gatk_param_type_conditional" />
+    
+    
+    <conditional name="analysis_param_type">
+      <param name="analysis_param_type_selector" type="select" label="Basic or Advanced Analysis options">
+        <option value="basic" selected="True">Basic</option>
+        <option value="advanced">Advanced</option>
+      </param>
+      <when value="basic">
+        <!-- Do nothing here -->
+      </when>
+      <when value="advanced">
+        <conditional name="default_read_group_type">
+          <param name="default_read_group_type_selector" type="select" label="Set default Read Group" help="--default_read_group">
+            <option value="default" selected="True">Don't Set</option>
+            <option value="set">Set</option>
+          </param>
+          <when value="default">
+            <!-- do nothing here -->
+          </when>
+          <when value="set">
+            <param name="default_read_group" type="text" value="Unknown" label="If a read has no read group then default to the provided String"/>
+          </when>
+        </conditional>
+        <param name="default_platform" type="select" label="Set default Platform" help="--default_platform">
+          <option value="default" selected="True">Don't Set</option>
+          <option value="illumina">illumina</option>
+          <option value="454">454</option>
+          <option value="solid">solid</option>
+        </param>
+        <conditional name="force_read_group_type">
+          <param name="force_read_group_type_selector" type="select" label="Force Read Group" help="--force_read_group">
+            <option value="default" selected="True">Don't Force</option>
+            <option value="set">Force</option>
+          </param>
+          <when value="default">
+            <!-- do nothing here -->
+          </when>
+          <when value="set">
+            <param name="force_read_group" type="text" value="Unknown" label="If provided, the read group ID of EVERY read will be forced to be the provided String."/>
+          </when>
+        </conditional>
+        <param name="force_platform" type="select" label="Force Platform" help="--force_platform">
+          <option value="default" selected="True">Don't Force</option>
+          <option value="illumina">illumina</option>
+          <option value="454">454</option>
+          <option value="solid">solid</option>
+        </param>
+        <param name="exception_if_no_tile" type="boolean" checked="False" truevalue="--exception_if_no_tile" falsevalue="" label="Throw an exception when no tile can be found" help="--exception_if_no_tile"/>
+        <conditional name="solid_options_type">
+          <param name="solid_options_type_selector" type="select" label="Set SOLiD specific options">
+            <option value="default" selected="True">Don't Set</option>
+            <option value="set">Set</option>
+          </param>
+          <when value="default">
+            <!-- do nothing here -->
+          </when>
+          <when value="set">
+            <param name="solid_recal_mode" type="select" label="How should we recalibrate solid bases in which the reference was inserted" help="-sMode,--solid_recal_mode &amp;lt;solid_recal_mode&amp;gt;">
+              <option value="default" selected="True">Don't set</option>
+              <option value="DO_NOTHING">DO_NOTHING</option>
+              <option value="SET_Q_ZERO">SET_Q_ZERO</option>
+              <option value="SET_Q_ZERO_BASE_N">SET_Q_ZERO_BASE_N</option>
+              <option value="REMOVE_REF_BIAS">REMOVE_REF_BIAS</option>
+            </param>
+            <param name="solid_nocall_strategy" type="select" label="Behavior of the recalibrator when it encounters no calls" help="-solid_nocall_strategy,--solid_nocall_strategy &amp;lt;solid_nocall_strategy&amp;gt;">
+              <option value="default" selected="True">Don't set</option>
+              <option value="THROW_EXCEPTION">THROW_EXCEPTION</option>
+              <option value="LEAVE_READ_UNRECALIBRATED">LEAVE_READ_UNRECALIBRATED</option>
+              <option value="PURGE_READ">PURGE_READ</option>
+            </param>
+          </when>
+        </conditional>
+        <param name="simplify_bam" type="boolean" checked="False" truevalue="-simplifyBAM" falsevalue="" label="Simplify BAM" help="-simplifyBAM,--simplifyBAM"/>
+        <param name="window_size_nqs" type="integer" value="5" label="Window size used by MinimumNQSCovariate" help="--window_size_nqs"/>
+        <param name="homopolymer_nback" type="integer" value="7" label="Number of previous bases to look at in HomopolymerCovariate" help="-nback,--homopolymer_nback &amp;lt;homopolymer_nback&amp;gt;" />
+        <param name="preserve_qscores_less_than" type="integer" value="5" label="Bases with quality scores less than this threshold won't be recalibrated" help="-pQ,--preserve_qscores_less_than &amp;lt;preserve_qscores_less_than&amp;gt;"/>
+        <param name="smoothing" type="integer" value="1" label="smoothing" help="-sm,--smoothing &amp;lt;smoothing&amp;gt;"/>
+        <param name="max_quality_score" type="integer" value="50" label="Max quality score" help="-maxQ,--max_quality_score &amp;lt;max_quality_score&amp;gt;"/>
+        <param name="do_not_write_original_quals" type="boolean" checked="False" truevalue="--doNotWriteOriginalQuals" falsevalue="" label="Do Not Write Original Quality tag" help="-noOQs,--doNotWriteOriginalQuals"/>
+      </when>
+    </conditional>
+  </inputs>
+  <outputs>
+    <data format="bam" name="output_bam" label="${tool.name} on ${on_string} (BAM)" />
+    <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" />
+  </outputs>
+  <tests>
+      <test>
+          <param name="input_recal" value="gatk/gatk_count_covariates/gatk_count_covariates_out_1.csv" ftype="csv" /> 
+          <param name="reference_source_selector" value="history" />
+          <param name="ref_file" value="phiX.fasta" ftype="fasta" />
+          <param name="input_bam" value="gatk/gatk_indel_realigner/gatk_indel_realigner_out_1.bam" ftype="bam" />
+          <param name="gatk_param_type_selector" value="basic" />
+          <param name="analysis_param_type_selector" value="basic" />
+          <output name="output_bam" file="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" lines_diff="4" />
+          <output name="output_log" file="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.log.contains" compare="contains" />
+      </test>
+  </tests>
+  <help>
+**What it does**
+
+This walker is designed to work as the second pass in a two-pass processing step, doing a by-read traversal.  For each base in each read this walker calculates various user-specified covariates (such as read group, reported quality score, cycle, and dinuc) Using these values as a key in a large hashmap the walker calculates an empirical base quality score and overwrites the quality score currently in the read. This walker then outputs a new bam file with these updated (recalibrated) reads.  Note: This walker expects as input the recalibration table file generated previously by CovariateCounterWalker. Note: This walker is designed to be used in conjunction with CovariateCounterWalker.
+
+For more information on base quality score recalibration using the GATK, see this `tool specific page &lt;http://www.broadinstitute.org/gatk/gatkdocs/org_broadinstitute_sting_gatk_walkers_PrintReads.html&gt;`_.
+
+To learn about best practices for variant detection using GATK, see this `overview &lt;http://www.broadinstitute.org/gatk/guide/topic?name=best-practices&gt;`_.
+
+If you encounter errors, please view the `GATK FAQ &lt;http://www.broadinstitute.org/gatk/guide/topic?name=faqs&gt;`_.
+
+------
+
+**Inputs**
+
+GenomeAnalysisTK: PrintReads accepts an aligned BAM and a recalibration (gatk_report) input files.
+
+
+**Outputs**
+
+The output is in BAM format.
+
+
+Go `here &lt;http://www.broadinstitute.org/gatk/guide/topic?name=intro&gt;`_ for details on GATK file formats.
+
+-------
+
+**Settings**::
+
+ default_read_group             If a read has no read group then default to the provided String.
+ default_platform               If a read has no platform then default to the provided String. Valid options are illumina, 454, and solid.
+ force_read_group               If provided, the read group ID of EVERY read will be forced to be the provided String. This is useful to collapse all data into a single read group.
+ force_platform                 If provided, the platform of EVERY read will be forced to be the provided String. Valid options are illumina, 454, and solid.
+ window_size_nqs                The window size used by MinimumNQSCovariate for its calculation
+ homopolymer_nback              The number of previous bases to look at in HomopolymerCovariate
+ exception_if_no_tile           If provided, TileCovariate will throw an exception when no tile can be found. The default behavior is to use tile = -1
+ solid_recal_mode               How should we recalibrate solid bases in whichthe reference was inserted? Options = DO_NOTHING, SET_Q_ZERO, SET_Q_ZERO_BASE_N, or REMOVE_REF_BIAS (DO_NOTHING|SET_Q_ZERO|SET_Q_ZERO_BASE_N|REMOVE_REF_BIAS)
+ solid_nocall_strategy          Defines the behavior of the recalibrator when it encounters no calls in the color space. Options = THROW_EXCEPTION, LEAVE_READ_UNRECALIBRATED, or PURGE_READ (THROW_EXCEPTION|LEAVE_READ_UNRECALIBRATED|PURGE_READ)
+ recal_file                     Filename for the input covariates table recalibration .gatk_report file
+ out                            The output BAM file
+ bam_compression                Compression level to use for writing BAM files
+ disable_bam_indexing           Turn off on-the-fly creation of indices for output BAM files.
+ simplifyBAM                    If provided, output BAM files will be simplified to include just key reads for downstream variation discovery analyses (removing duplicates, PF-, non-primary reads), as well stripping all extended tags from the kept reads except the read group identifier
+ preserve_qscores_less_than     Bases with quality scores less than this threshold won't be recalibrated, default=5. In general it's unsafe to change qualities scores below &lt; 5, since base callers use these values to indicate random or bad bases
+ smoothing                      Number of imaginary counts to add to each bin bin order to smooth out bins with few data points, default=1
+ max_quality_score              The integer value at which to cap the quality scores, default=50
+ doNotWriteOriginalQuals        If true, we will not write the original quality (OQ) tag for each read
+
+@CITATION_SECTION@
+  </help>
+</tool>