15
|
1 <tool id="gatk2_print_reads" name="Print Reads" version="@VERSION@.0">
|
|
2 <description>on BAM files</description>
|
|
3 <macros>
|
|
4 <import>gatk2_macros.xml</import>
|
|
5 </macros>
|
|
6 <expand macro="requirements" />
|
|
7 <expand macro="version_command" />
|
|
8 <command interpreter="python">
|
|
9 gatk2_wrapper.py
|
|
10 --stdout "${output_log}"
|
|
11 -d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
|
|
12 #if str( $reference_source.input_bam.metadata.bam_index ) != "None":
|
|
13 -d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
|
|
14 #end if
|
|
15 -p '
|
|
16 @JAR_PATH@
|
|
17 -T "PrintReads"
|
|
18 -o "${output_bam}"
|
|
19 \$GATK2_SITE_OPTIONS
|
|
20
|
|
21 ## according to http://www.broadinstitute.org/gatk/guide/article?id=1975
|
|
22 --num_cpu_threads_per_data_thread \${GALAXY_SLOTS:-6}
|
|
23
|
|
24 #if $reference_source.reference_source_selector != "history":
|
|
25 -R "${reference_source.ref_file.fields.path}"
|
|
26 #end if
|
|
27 #if str($input_recal) != 'None':
|
|
28 --BQSR "${input_recal}"
|
|
29 #end if
|
|
30 --disable_bam_indexing
|
|
31 '
|
|
32
|
|
33 #include source=$standard_gatk_options#
|
|
34
|
|
35 ##start analysis specific options
|
|
36 #if $analysis_param_type.analysis_param_type_selector == "advanced":
|
|
37 -p '
|
|
38 #if $analysis_param_type.default_read_group_type.default_read_group_type_selector == "set":
|
|
39 --default_read_group "${analysis_param_type.default_read_group_type.default_read_group}"
|
|
40 #end if
|
|
41 #if str( $analysis_param_type.default_platform ) != "default":
|
|
42 --default_platform "${analysis_param_type.default_platform}"
|
|
43 #end if
|
|
44 #if str( $analysis_param_type.force_read_group_type.force_read_group_type_selector ) == "set":
|
|
45 --force_read_group "${analysis_param_type.force_read_group_type.force_read_group}"
|
|
46 #end if
|
|
47 #if str( $analysis_param_type.force_platform ) != "default":
|
|
48 --force_platform "${analysis_param_type.force_platform}"
|
|
49 #end if
|
|
50 ${analysis_param_type.exception_if_no_tile}
|
|
51 #if str( $analysis_param_type.solid_options_type.solid_options_type_selector ) == "set":
|
|
52 #if str( $analysis_param_type.solid_options_type.solid_recal_mode ) != "default":
|
|
53 --solid_recal_mode "${analysis_param_type.solid_options_type.solid_recal_mode}"
|
|
54 #end if
|
|
55 #if str( $analysis_param_type.solid_options_type.solid_nocall_strategy ) != "default":
|
|
56 --solid_nocall_strategy "${analysis_param_type.solid_options_type.solid_nocall_strategy}"
|
|
57 #end if
|
|
58 #end if
|
|
59 ${analysis_param_type.simplify_bam}
|
|
60 --preserve_qscores_less_than "${analysis_param_type.preserve_qscores_less_than}"
|
|
61 --smoothing "${analysis_param_type.smoothing}"
|
|
62 --max_quality_score "${analysis_param_type.max_quality_score}"
|
|
63 --window_size_nqs "${analysis_param_type.window_size_nqs}"
|
|
64 --homopolymer_nback "${analysis_param_type.homopolymer_nback}"
|
|
65 ${analysis_param_type.do_not_write_original_quals}
|
|
66 '
|
|
67 #end if
|
|
68 </command>
|
|
69 <inputs>
|
|
70 <param name="input_recal" type="data" format="gatk_report" optional="true" label="Covariates table recalibration file"
|
|
71 help="The input covariates table file which enables on-the-fly base quality score recalibration (intended for use with BaseRecalibrator files) (-BQSR,--BQSR)" />
|
|
72 <conditional name="reference_source">
|
|
73 <expand macro="reference_source_selector_param" />
|
|
74 <when value="cached">
|
|
75 <param name="input_bam" type="data" format="bam" label="BAM file" help="-I,--input_file &lt;input_file&gt;">
|
|
76 <validator type="unspecified_build" />
|
|
77 <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 -->
|
|
78 </param>
|
|
79 <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &lt;reference_sequence&gt;" >
|
|
80 <options from_data_table="gatk2_picard_indexes">
|
|
81 <filter type="data_meta" key="dbkey" ref="input_bam" column="dbkey"/>
|
|
82 </options>
|
|
83 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
|
|
84 </param>
|
|
85 </when>
|
|
86 <when value="history">
|
|
87 <param name="input_bam" type="data" format="bam" label="BAM file" help="-I,--input_file &lt;input_file&gt;" />
|
|
88 <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &lt;reference_sequence&gt;">
|
|
89 <options>
|
|
90 <filter type="data_meta" key="dbkey" ref="input_bam" />
|
|
91 </options>
|
|
92 </param>
|
|
93 </when>
|
|
94 </conditional>
|
|
95
|
|
96 <expand macro="gatk_param_type_conditional" />
|
|
97
|
|
98 <conditional name="analysis_param_type">
|
|
99 <param name="analysis_param_type_selector" type="select" label="Basic or Advanced Analysis options">
|
|
100 <option value="basic" selected="True">Basic</option>
|
|
101 <option value="advanced">Advanced</option>
|
|
102 </param>
|
|
103 <when value="basic">
|
|
104 <!-- Do nothing here -->
|
|
105 </when>
|
|
106 <when value="advanced">
|
|
107 <conditional name="default_read_group_type">
|
|
108 <param name="default_read_group_type_selector" type="select" label="Set default Read Group" help="--default_read_group">
|
|
109 <option value="default" selected="True">Don't Set</option>
|
|
110 <option value="set">Set</option>
|
|
111 </param>
|
|
112 <when value="default">
|
|
113 <!-- do nothing here -->
|
|
114 </when>
|
|
115 <when value="set">
|
|
116 <param name="default_read_group" type="text" value="Unknown" label="If a read has no read group then default to the provided String"/>
|
|
117 </when>
|
|
118 </conditional>
|
|
119 <param name="default_platform" type="select" label="Set default Platform" help="--default_platform">
|
|
120 <option value="default" selected="True">Don't Set</option>
|
|
121 <option value="illumina">illumina</option>
|
|
122 <option value="454">454</option>
|
|
123 <option value="solid">solid</option>
|
|
124 </param>
|
|
125 <conditional name="force_read_group_type">
|
|
126 <param name="force_read_group_type_selector" type="select" label="Force Read Group" help="--force_read_group">
|
|
127 <option value="default" selected="True">Don't Force</option>
|
|
128 <option value="set">Force</option>
|
|
129 </param>
|
|
130 <when value="default">
|
|
131 <!-- do nothing here -->
|
|
132 </when>
|
|
133 <when value="set">
|
|
134 <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."/>
|
|
135 </when>
|
|
136 </conditional>
|
|
137 <param name="force_platform" type="select" label="Force Platform" help="--force_platform">
|
|
138 <option value="default" selected="True">Don't Force</option>
|
|
139 <option value="illumina">illumina</option>
|
|
140 <option value="454">454</option>
|
|
141 <option value="solid">solid</option>
|
|
142 </param>
|
|
143 <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"/>
|
|
144 <conditional name="solid_options_type">
|
|
145 <param name="solid_options_type_selector" type="select" label="Set SOLiD specific options">
|
|
146 <option value="default" selected="True">Don't Set</option>
|
|
147 <option value="set">Set</option>
|
|
148 </param>
|
|
149 <when value="default">
|
|
150 <!-- do nothing here -->
|
|
151 </when>
|
|
152 <when value="set">
|
|
153 <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 &lt;solid_recal_mode&gt;">
|
|
154 <option value="default" selected="True">Don't set</option>
|
|
155 <option value="DO_NOTHING">DO_NOTHING</option>
|
|
156 <option value="SET_Q_ZERO">SET_Q_ZERO</option>
|
|
157 <option value="SET_Q_ZERO_BASE_N">SET_Q_ZERO_BASE_N</option>
|
|
158 <option value="REMOVE_REF_BIAS">REMOVE_REF_BIAS</option>
|
|
159 </param>
|
|
160 <param name="solid_nocall_strategy" type="select" label="Behavior of the recalibrator when it encounters no calls" help="-solid_nocall_strategy,--solid_nocall_strategy &lt;solid_nocall_strategy&gt;">
|
|
161 <option value="default" selected="True">Don't set</option>
|
|
162 <option value="THROW_EXCEPTION">THROW_EXCEPTION</option>
|
|
163 <option value="LEAVE_READ_UNRECALIBRATED">LEAVE_READ_UNRECALIBRATED</option>
|
|
164 <option value="PURGE_READ">PURGE_READ</option>
|
|
165 </param>
|
|
166 </when>
|
|
167 </conditional>
|
|
168 <param name="simplify_bam" type="boolean" checked="False" truevalue="-simplifyBAM" falsevalue="" label="Simplify BAM" help="-simplifyBAM,--simplifyBAM"/>
|
|
169 <param name="window_size_nqs" type="integer" value="5" label="Window size used by MinimumNQSCovariate" help="--window_size_nqs"/>
|
|
170 <param name="homopolymer_nback" type="integer" value="7" label="Number of previous bases to look at in HomopolymerCovariate" help="-nback,--homopolymer_nback &lt;homopolymer_nback&gt;" />
|
|
171 <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 &lt;preserve_qscores_less_than&gt;"/>
|
|
172 <param name="smoothing" type="integer" value="1" label="smoothing" help="-sm,--smoothing &lt;smoothing&gt;"/>
|
|
173 <param name="max_quality_score" type="integer" value="50" label="Max quality score" help="-maxQ,--max_quality_score &lt;max_quality_score&gt;"/>
|
|
174 <param name="do_not_write_original_quals" type="boolean" checked="False" truevalue="--doNotWriteOriginalQuals" falsevalue="" label="Do Not Write Original Quality tag" help="-noOQs,--doNotWriteOriginalQuals"/>
|
|
175 </when>
|
|
176 </conditional>
|
|
177 </inputs>
|
|
178 <outputs>
|
|
179 <data format="bam" name="output_bam" label="${tool.name} on ${on_string} (BAM)" />
|
|
180 <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" />
|
|
181 </outputs>
|
|
182 <tests>
|
|
183 <test>
|
|
184 <param name="input_recal" value="gatk/gatk_count_covariates/gatk_count_covariates_out_1.csv" ftype="csv" />
|
|
185 <param name="reference_source_selector" value="history" />
|
|
186 <param name="ref_file" value="phiX.fasta" ftype="fasta" />
|
|
187 <param name="input_bam" value="gatk/gatk_indel_realigner/gatk_indel_realigner_out_1.bam" ftype="bam" />
|
|
188 <param name="gatk_param_type_selector" value="basic" />
|
|
189 <param name="analysis_param_type_selector" value="basic" />
|
|
190 <output name="output_bam" file="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" lines_diff="4" />
|
|
191 <output name="output_log" file="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.log.contains" compare="contains" />
|
|
192 </test>
|
|
193 </tests>
|
|
194 <help>
|
|
195 **What it does**
|
|
196
|
|
197 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.
|
|
198
|
|
199 For more information on base quality score recalibration using the GATK, see this `tool specific page <http://www.broadinstitute.org/gatk/gatkdocs/org_broadinstitute_sting_gatk_walkers_readutils_PrintReads.html>`_.
|
|
200
|
|
201 To learn about best practices for variant detection using GATK, see this `overview <http://www.broadinstitute.org/gatk/guide/topic?name=best-practices>`_.
|
|
202
|
|
203 If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gatk/guide/topic?name=faqs>`_.
|
|
204
|
|
205 ------
|
|
206
|
|
207 **Inputs**
|
|
208
|
|
209 GenomeAnalysisTK: PrintReads accepts an aligned BAM and a recalibration (gatk_report) input files.
|
|
210
|
|
211
|
|
212 **Outputs**
|
|
213
|
|
214 The output is in BAM format.
|
|
215
|
|
216
|
|
217 Go `here <http://www.broadinstitute.org/gatk/guide/topic?name=intro>`_ for details on GATK file formats.
|
|
218
|
|
219 -------
|
|
220
|
|
221 **Settings**::
|
|
222
|
|
223 default_read_group If a read has no read group then default to the provided String.
|
|
224 default_platform If a read has no platform then default to the provided String. Valid options are illumina, 454, and solid.
|
|
225 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.
|
|
226 force_platform If provided, the platform of EVERY read will be forced to be the provided String. Valid options are illumina, 454, and solid.
|
|
227 window_size_nqs The window size used by MinimumNQSCovariate for its calculation
|
|
228 homopolymer_nback The number of previous bases to look at in HomopolymerCovariate
|
|
229 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
|
|
230 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)
|
|
231 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)
|
|
232 recal_file Filename for the input covariates table recalibration .gatk_report file
|
|
233 out The output BAM file
|
|
234 bam_compression Compression level to use for writing BAM files
|
|
235 disable_bam_indexing Turn off on-the-fly creation of indices for output BAM files.
|
|
236 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
|
|
237 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 < 5, since base callers use these values to indicate random or bad bases
|
|
238 smoothing Number of imaginary counts to add to each bin bin order to smooth out bins with few data points, default=1
|
|
239 max_quality_score The integer value at which to cap the quality scores, default=50
|
|
240 doNotWriteOriginalQuals If true, we will not write the original quality (OQ) tag for each read
|
|
241
|
|
242 @CITATION_SECTION@
|
|
243 </help>
|
|
244 <expand macro="citations" />
|
|
245 </tool>
|