comparison cuffdiff_wrapper.xml @ 0:9a9e3e83889b draft

Uploaded
author devteam
date Wed, 26 Nov 2014 13:57:28 -0500
parents
children 9ba750f285e3
comparison
equal deleted inserted replaced
-1:000000000000 0:9a9e3e83889b
1 <tool id="cuffdiff" name="Cuffdiff" version="@VERSION@.0">
2 <description>find significant changes in transcript expression, splicing, and promoter use</description>
3 <expand macro="requirements" />
4 <expand macro="stdio" />
5 <macros>
6 <import>cuff_macros.xml</import>
7 </macros>
8 <version_command>cuffdiff 2>&amp;1 | head -n 1</version_command>
9 <command>
10 cuffdiff
11 --no-update-check
12 --FDR=$fdr
13 --num-threads="\${GALAXY_SLOTS:-4}"
14 --min-alignment-count=$min_alignment_count
15 --library-norm-method=$library_norm_method
16 --dispersion-method=$dispersion_method
17
18 ## Set advanced SE data parameters?
19 #if $additional.sAdditional == "Yes":
20 -m $additional.frag_mean_len
21 -s $additional.frag_len_std_dev
22 #end if
23
24 ## Multi-read correct?
25 #if $multiread_correct :
26 -u
27 #end if
28
29 ## Bias correction?
30 #if $bias_correction.do_bias_correction == "Yes":
31 -b
32 #if $bias_correction.seq_source.index_source == "history":
33 ## Custom genome from history.
34 $bias_correction.seq_source.ref_file
35 #else:
36 ## Built-in genome.
37 "${ bias_correction.seq_source.index.fields.path }"
38 #end if
39 #end if
40
41 @CONDITION_LABELS@
42
43 $length_correction
44
45 ## Set advanced parameters for cufflinks
46 #if $advanced_settings.sAdvanced == "Yes":
47 #if str($advanced_settings.library_type) != 'auto':
48 --library-type=$advanced_settings.library_type
49 #end if
50 #if $advanced_settings.mask_file:
51 --mask-file=$advanced_settings.mask_file
52 #end if
53 #if $advanced_settings.time_series:
54 --time-series
55 #end if
56 --max-mle-iterations=$advanced_settings.max_mle_iterations
57 $advanced_settings.hits_norm
58 --max-bundle-frags=$advanced_settings.max_bundle_frags
59 --num-frag-count-draws=$advanced_settings.num_frag_count_draws
60 --num-frag-assign-draws=$advanced_settings.num_frag_assign_draws
61 --min-reps-for-js-test=$advanced_settings.min_reps_for_js_test
62 #end if
63 ## Inputs.
64 $gtf_input
65
66 @CONDITION_SAMPLES@
67 </command>
68 <inputs>
69 <param format="gtf,gff3" name="gtf_input" type="data" label="Transcripts" help="A transcript GFF3 or GTF file produced by cufflinks, cuffcompare, or other source."/>
70 <expand macro="condition_inputs" />
71 <param name="library_norm_method" type="select" label="Library normalization method">
72 <option value="geometric" selected="True">geometric</option>
73 <option value="classic-fpkm">classic-fpkm</option>
74 <option value="quartile">quartile</option>
75 </param>
76
77 <param name="dispersion_method" type="select" label="Dispersion estimation method" help="If using only one sample per condition, you must use 'blind.'">
78 <option value="pooled" selected="True">pooled</option>
79 <option value="per-condition">per-condition</option>
80 <option value="blind">blind</option>
81 <option value="poisson">poisson</option>
82 </param>
83
84 <param name="fdr" type="float" value="0.05" label="False Discovery Rate" help="The allowed false discovery rate."/>
85 <param name="min_alignment_count" type="integer" value="10" label="Min Alignment Count"
86 help="The minimum number of alignments in a locus for needed to conduct significance testing on changes in that locus observed between samples."/>
87 <param name="multiread_correct" type="boolean" label="Use multi-read correct"
88 help="Tells Cufflinks to do an initial estimation procedure to more accurately weight reads mapping to multiple locations in the genome." />
89
90 <conditional name="bias_correction">
91 <param name="do_bias_correction" type="select" label="Perform Bias Correction"
92 help="Bias detection and correction can significantly improve accuracy of transcript abundance estimates.">
93 <option value="No">No</option>
94 <option value="Yes">Yes</option>
95 </param>
96 <when value="Yes">
97 <conditional name="seq_source">
98 <param name="index_source" type="select" label="Reference sequence data">
99 <option value="cached">Locally cached</option>
100 <option value="history">History</option>
101 </param>
102 <when value="cached">
103 <param name="index" type="select" label="Using reference genome">
104 <options from_data_table="fasta_indexes">
105 <filter type="data_meta" ref="gtf_input" key="dbkey" column="1" />
106 <validator type="no_options" message="No reference genome is available for the build associated with the selected input dataset" />
107 </options>
108 </param>
109 </when>
110 <when value="history">
111 <param name="ref_file" type="data" format="fasta" label="Using reference file" />
112 </when>
113 </conditional>
114 </when>
115 <when value="No"></when>
116 </conditional>
117
118 <param name="include_read_group_files" type="select" label="Include Read Group Datasets" help="Read group datasets provide information on replicates.">
119 <option value="No" selected="true">No</option>
120 <option value="Yes">Yes</option>
121 </param>
122
123 <param name="include_count_files" type="select" label="Include Count Based output files"
124 help="Cuffdiff estimates the number of fragments that originated from each transcript, primary transcript, and gene in each sample. Primary transcript and gene counts are computed by summing the counts of transcripts in each primary transcript group or gene group.">
125 <option value="No" selected="true">No</option>
126 <option value="Yes">Yes</option>
127 </param>
128
129 <param name="length_correction" type="select" label="apply length correction" help="mode of length normalization to transcript fpkm.">
130 <option value="" selected="true">cufflinks effective length correction</option>
131 <option value="--no-effective-length-correction">standard length correction</option>
132 <option value="--no-length-correction">no length correction at all (use raw counts)</option>
133 </param>
134
135 <conditional name="additional">
136 <param name="sAdditional" type="select" label="Set Additional Parameters for single end reads? (not recommended for paired-end reads)">
137 <option value="No" selected="True">No</option>
138 <option value="Yes">Yes</option>
139 </param>
140 <when value="No"></when>
141 <when value="Yes">
142 <param name="frag_mean_len" type="integer" value="200" label="Average Fragment Length"/>
143 <param name="frag_len_std_dev" type="integer" value="80" label="Fragment Length Standard Deviation"/>
144 </when>
145 </conditional>
146
147 <conditional name="advanced_settings">
148 <param name="sAdvanced" type="select" label="Set Advanced Cuffdiff parameters? ">
149 <option value="No" selected="True">No</option>
150 <option value="Yes">Yes</option>
151 </param>
152 <when value="No"></when>
153 <when value="Yes">
154 <param type="select" name="library_type" label="Library prep used for input reads" help="">
155 <option value="auto" selected="True">Auto Detect</option>
156 <option value="ff-firststrand">ff-firststrand</option>
157 <option value="ff-secondstrand">ff-secondstrand</option>
158 <option value="ff-unstranded">ff-unstranded</option>
159 <option value="fr-firststrand">fr-firststrand</option>
160 <option value="fr-secondstrand">fr-secondstrand</option>
161 <option value="fr-unstranded" >fr-unstranded</option>
162 <option value="transfrags">transfrags</option>
163 </param>
164 <param name="mask_file" type="data" format="gtf,gff3" label="Mask File" help="Ignore all alignment within transcripts in this file" optional="True" />
165 <param name="time_series" type="boolean" label="Perform Time Series analysis"
166 help="Instructs Cuffdiff to analyze the provided samples as a time series, rather than testing for differences between all pairs of samples. Samples should be provided in increasing time order at the command line (e.g first time point SAM, second timepoint SAM, etc.)" />
167 <param name="max_mle_iterations" value="5000" type="integer" label="Max MLE iterations" help="Maximum iterations allowed for Maximal Likelyhood Estimation calculations" />
168 <param name="hits_norm" type="select" label="Hits included in normalization" help="All Hits: With this option, Cufflinks counts all fragments, including those not compatible with any reference transcript, towards the number of mapped fragments used in the FPKM denominator. Compatible Hits: With this option, Cufflinks counts only those fragments compatible with some reference transcript towards the number of mapped fragments used in the FPKM denominator. Using this mode is generally recommended in Cuffdiff to reduce certain types of bias caused by differential amounts of ribosomal reads which can create the impression of falsely differentially expressed genes. It is active by default." >
169 <option value="--compatible-hits-norm" selected="True">Compatible Hits</option>
170 <option value="--total-hits-norm">All Hits</option>
171 </param>
172 <param name="max_bundle_frags" type="integer" value="500000" label="Maximum number of fragments per locus"
173 help="Sets the maximum number of fragments a locus may have before being skipped. Skipped loci are listed in skipped.gtf. Default: 500,000" />
174 <param name="num_frag_count_draws" type="integer" value="100" label="Number of fragment generation samples"
175 help="Cuffdiff will make this many draws from each transcript's predicted negative binomial random numbder generator. Each draw is a number of fragments that will be probabilistically assigned to the transcripts in the transcriptome. Used to estimate the variance-covariance matrix on assigned fragment counts. Default: 100."/>
176 <param name="num_frag_assign_draws" type="integer" value="50" label="Number of fragment assignment samples per generation" help="For each fragment drawn from a transcript, Cuffdiff will assign it this many times (probabilistically), thus estimating the assignment uncertainty for each transcript. Used to estimate the variance-covariance matrix on assigned fragment counts. Default: 50."/>
177 <param name="min_reps_for_js_test" type="integer" value="3" label="Minimal Replicates for isoform shift testing" help="Cuffdiff won't test genes for differential regulation unless the conditions in question have at least this many replicates. Default: 3." />
178 </when>
179 </conditional>
180 </inputs>
181 <outputs>
182 <!-- Optional read group datasets. -->
183 <data format="tabular" name="isoforms_read_group" label="${tool.name} on ${on_string}: isoforms read group tracking" from_work_dir="isoforms.read_group_tracking" >
184 <filter>(include_read_group_files == 'Yes')</filter>
185 </data>
186 <data format="tabular" name="genes_read_group" label="${tool.name} on ${on_string}: genes read group tracking" from_work_dir="genes.read_group_tracking" >
187 <filter>(include_read_group_files == 'Yes')</filter>
188 </data>
189 <data format="tabular" name="cds_read_group" label="${tool.name} on ${on_string}: CDs read group tracking" from_work_dir="cds.read_group_tracking" >
190 <filter>(include_read_group_files == 'Yes')</filter>
191 </data>
192 <data format="tabular" name="tss_groups_read_group" label="${tool.name} on ${on_string}: TSS groups read group tracking" from_work_dir="tss_groups.read_group_tracking" >
193 <filter>(include_read_group_files == 'Yes')</filter>
194 </data>
195 <data format="text" name="read_group_info" label="${tool.name} on ${on_string}: read group info" from_work_dir="read_groups.info" >
196 <filter>(include_read_group_files == 'Yes')</filter>
197 </data>
198 <data format="text" name="run_info" label="${tool.name} on ${on_string}: run info" from_work_dir="run.info" >
199 <filter>(include_read_group_files == 'Yes')</filter>
200 </data>
201 <!-- Standard datasets. -->
202 <data format="tabular" name="splicing_diff" label="${tool.name} on ${on_string}: splicing differential expression testing" from_work_dir="splicing.diff" />
203 <data format="tabular" name="promoters_diff" label="${tool.name} on ${on_string}: promoters differential expression testing" from_work_dir="promoters.diff" />
204 <data format="tabular" name="cds_diff" label="${tool.name} on ${on_string}: CDS overloading diffential expression testing" from_work_dir="cds.diff" />
205 <data format="tabular" name="cds_exp_fpkm_tracking" label="${tool.name} on ${on_string}: CDS FPKM differential expression testing" from_work_dir="cds_exp.diff" />
206 <data format="tabular" name="cds_fpkm_tracking" label="${tool.name} on ${on_string}: CDS FPKM tracking" from_work_dir="cds.fpkm_tracking" />
207 <data format="tabular" name="cds_count_tracking" label="${tool.name} on ${on_string}: CDS count tracking" from_work_dir="cds.count_tracking" >
208 <filter>(include_count_files == 'Yes')</filter>
209 </data>
210
211 <data format="tabular" name="tss_groups_exp" label="${tool.name} on ${on_string}: TSS groups differential expression testing" from_work_dir="tss_group_exp.diff" />
212 <data format="tabular" name="tss_groups_fpkm_tracking" label="${tool.name} on ${on_string}: TSS groups FPKM tracking" from_work_dir="tss_groups.fpkm_tracking" />
213 <data format="tabular" name="tss_groups_count_tracking" label="${tool.name} on ${on_string}: TSS count FPKM tracking" from_work_dir="tss_groups.count_tracking" >
214 <filter>(include_count_files == 'Yes')</filter>
215 </data>
216
217 <data format="tabular" name="genes_exp" label="${tool.name} on ${on_string}: gene differential expression testing" from_work_dir="gene_exp.diff" />
218 <data format="tabular" name="genes_fpkm_tracking" label="${tool.name} on ${on_string}: gene FPKM tracking" from_work_dir="genes.fpkm_tracking" />
219 <data format="tabular" name="genes_count_tracking" label="${tool.name} on ${on_string}: gene count tracking" from_work_dir="genes.count_tracking" >
220 <filter>(include_count_files == 'Yes')</filter>
221 </data>
222
223 <data format="tabular" name="isoforms_exp" label="${tool.name} on ${on_string}: transcript differential expression testing" from_work_dir="isoform_exp.diff" />
224 <data format="tabular" name="isoforms_fpkm_tracking" label="${tool.name} on ${on_string}: transcript FPKM tracking" from_work_dir="isoforms.fpkm_tracking" />
225 <data format="tabular" name="isoforms_count_tracking" label="${tool.name} on ${on_string}: transcript count tracking" from_work_dir="isoforms.count_tracking" >
226 <filter>(include_count_files == 'Yes')</filter>
227 </data>
228 </outputs>
229
230 <tests>
231 <test>
232 <!--
233 cuffdiff cuffcompare_out5.gtf cuffdiff_in1.sam cuffdiff_in2.sam
234 -->
235 <param name="gtf_input" value="cuffcompare_out5.gtf" ftype="gtf" />
236 <conditional name="in_type">
237 <param name="set_in_type" value="BAM" />
238 <repeat name="conditions">
239 <param name="name" value="q1" />
240 <repeat name="samples">
241 <param name="sample" value="cuffdiff_in1.sam" ftype="sam" />
242 </repeat>
243 </repeat>
244 <repeat name="conditions">
245 <param name="name" value="q2" />
246 <repeat name="samples">
247 <param name="sample" value="cuffdiff_in2.sam" ftype="sam" />
248 </repeat>
249 </repeat>
250 </conditional>
251 <param name="fdr" value="0.05" />
252 <param name="min_alignment_count" value="0" />
253 <param name="do_bias_correction" value="No" />
254 <param name="do_normalization" value="No" />
255 <param name="multiread_correct" value="No"/>
256 <param name="sAdditional" value="No"/>
257 <output name="splicing_diff" file="cuffdiff_out9.txt"/>
258 <output name="promoters_diff" file="cuffdiff_out10.txt"/>
259 <output name="cds_diff" file="cuffdiff_out11.txt"/>
260 <output name="cds_exp_fpkm_tracking" file="cuffdiff_out4.txt"/>
261 <output name="cds_fpkm_tracking" file="cuffdiff_out8.txt"/>
262 <output name="tss_groups_exp" file="cuffdiff_out3.txt" lines_diff="200"/>
263 <output name="tss_groups_fpkm_tracking" file="cuffdiff_out7.txt"/>
264 <output name="genes_exp" file="cuffdiff_out2.txt" lines_diff="200"/>
265 <output name="genes_fpkm_tracking" file="cuffdiff_out6.txt" lines_diff="200"/>
266 <output name="isoforms_exp" file="cuffdiff_out1.txt" lines_diff="200"/>
267 <output name="isoforms_fpkm_tracking" file="cuffdiff_out5.txt" lines_diff="200"/>
268 </test>
269 </tests>
270 <help>
271 **Cuffdiff Overview**
272
273 Cuffdiff is part of Cufflinks_. Cuffdiff find significant changes in transcript expression, splicing, and promoter use. Please cite: Trapnell C, Williams BA, Pertea G, Mortazavi AM, Kwan G, van Baren MJ, Salzberg SL, Wold B, Pachter L. Transcript assembly and abundance estimation from RNA-Seq reveals thousands of new transcripts and switching among isoforms. Nature Biotechnology doi:10.1038/nbt.1621
274
275 .. _Cufflinks: http://cufflinks.cbcb.umd.edu/
276
277 ------
278
279 **Know what you are doing**
280
281 .. class:: warningmark
282
283 There is no such thing (yet) as an automated gearshift in expression analysis. It is all like stick-shift driving in San Francisco. In other words, running this tool with default parameters will probably not give you meaningful results. A way to deal with this is to **understand** the parameters by carefully reading the `documentation`__ and experimenting. Fortunately, Galaxy makes experimenting easy.
284
285 .. __: http://cufflinks.cbcb.umd.edu/manual.html#cuffdiff
286
287 ------
288
289 **Input format**
290
291 Cuffdiff takes Cufflinks or Cuffcompare GTF files as input along with two SAM files containing the fragment alignments for two or more samples.
292
293 ------
294
295 **Outputs**
296
297 Cuffdiff produces many output files:
298
299 1. Transcript FPKM (+count) expression tracking.
300 2. Gene FPKM (+count) expression tracking; tracks the summed FPKM of transcripts sharing each gene_id
301 3. Primary transcript FPKM (+count) tracking; tracks the summed FPKM of transcripts sharing each tss_id
302 4. Coding sequence FPKM (+count) tracking; tracks the summed FPKM of transcripts sharing each p_id, independent of tss_id
303 5. Transcript differential FPKM.
304 6. Gene differential FPKM. Tests difference sin the summed FPKM of transcripts sharing each gene_id
305 7. Primary transcript differential FPKM. Tests difference sin the summed FPKM of transcripts sharing each tss_id
306 8. Coding sequence differential FPKM. Tests difference sin the summed FPKM of transcripts sharing each p_id independent of tss_id
307 9. Differential splicing tests: this tab delimited file lists, for each primary transcript, the amount of overloading detected among its isoforms, i.e. how much differential splicing exists between isoforms processed from a single primary transcript. Only primary transcripts from which two or more isoforms are spliced are listed in this file.
308 10. Differential promoter tests: this tab delimited file lists, for each gene, the amount of overloading detected among its primary transcripts, i.e. how much differential promoter use exists between samples. Only genes producing two or more distinct primary transcripts (i.e. multi-promoter genes) are listed here.
309 11. Differential CDS tests: this tab delimited file lists, for each gene, the amount of overloading detected among its coding sequences, i.e. how much differential CDS output exists between samples. Only genes producing two or more distinct CDS (i.e. multi-protein genes) are listed here.
310
311 -------
312
313 **Settings**
314
315 All of the options have a default value. You can change any of them. Most of the options in Cuffdiff have been implemented here.
316
317 ------
318
319 **Cuffdiff parameter list**
320
321 This is a list of implemented Cuffdiff options::
322
323 -m INT Average fragment length (SE reads); default 200
324 -s INT Fragment legnth standard deviation (SE reads); default 80
325 -c INT The minimum number of alignments in a locus for needed to conduct significance testing on changes in that locus observed between samples. If no testing is performed, changes in the locus are deemed not significant, and the locus' observed changes don't contribute to correction for multiple testing. The default is 1,000 fragment alignments (up to 2,000 paired reads).
326 --FDR FLOAT The allowed false discovery rate. The default is 0.05.
327 --max-mle-iterations INT Sets the number of iterations allowed during maximum likelihood estimation of abundances. Default: 5000
328 --library-norm-method Library Normalization method : Geometric (default), classic-fpkm, quartile
329 --dispersion-method Dispersion estimation method : Pooled (default), per-condition, blind, poisson
330 -u Multi read correction tells Cufflinks to do an initial estimation procedure to more accurately weight reads mapping to multiple locations in the genome.
331 -b ref.fasta bias correction. Bias detection and correction can significantly improve accuracy of transcript abundance estimates.
332 --no-effective-length-correction Use standard length correction
333 --no-length-correction Disable all length correction.
334 --library-type ff-firststrand,ff-secondstrand,ff-unstranded,fr-firstrand,fr-secondstrand,fr-unstranded,transfrags
335 --mask-file (gff3/gtf) Ignore all alignment within transcripts in this file
336 --time-series Treat provided sam files as time series
337 --compatible-hits-norm With this option, Cufflinks counts only those fragments compatible with some reference transcript towards the number of mapped fragments used in the FPKM denominator. Using this mode is generally recommended in Cuffdiff to reduce certain types of bias caused by differential amounts of ribosomal reads which can create the impression of falsely differentially expressed genes.
338 --total-hits-norm With this option, Cufflinks counts all fragments, including those not compatible with any reference transcript, towards the number of mapped fragments used in the FPKM denominator
339 --max-bundle-frags Sets the maximum number of fragments a locus may have before being skipped. Skipped loci are listed in skipped.gtf.
340 --num-frag-count-draws Cuffdiff will make this many draws from each transcript's predicted negative binomial random numbder generator. Each draw is a number of fragments that will be probabilistically assigned to the transcripts in the transcriptome. Used to estimate the variance-covariance matrix on assigned fragment counts.
341 --num-frag-assign-draws For each fragment drawn from a transcript, Cuffdiff will assign it this many times (probabilistically), thus estimating the assignment uncertainty for each transcript. Used to estimate the variance-covariance matrix on assigned fragment counts.
342 --min-reps-for-js-test Cuffdiff won't test genes for differential regulation unless the conditions in question have at least this many replicates.
343 </help>
344 <citations>
345 <citation type="doi">10.1038/nbt.1621</citation>
346 </citations>
347 </tool>