comparison ideas.xml @ 0:3b27bfc37b83 draft

Uploaded
author greg
date Wed, 09 Aug 2017 12:40:46 -0400
parents
children d75cbb2db2c4
comparison
equal deleted inserted replaced
-1:000000000000 0:3b27bfc37b83
1 <tool id="ideas" name="IDEAS" version="1.20.0">
2 <description>accounts for position dependent epigenetic events and detects local cell type relationships</description>
3 <requirements>
4 <requirement type="package" version="2.26.0">bedtools</requirement>
5 <requirement type="package" version="332">ucsc-bedgraphtobigwig</requirement>
6 <requirement type="package" version="332">ucsc-bedsort</requirement>
7 <requirement type="package" version="332">ucsc-bigwigaverageoverbed</requirement>
8 <requirement type="package" version="1.2.0">ideas</requirement>
9 </requirements>
10 <command><![CDATA[
11 mkdir -p tmp &&
12 ## Create the config file and prepare the data
13 #set input_type = $input_type_cond.input_type
14 cp '$build_config_file' 'config_file.txt' &&
15 prepMat
16 #if str($input_type) == 'datasets':
17 '$build_config_file'
18 #set specify_genomic_window_cond = $input_type_cond.specify_genomic_window_cond
19 #set specify_genomic_window = $specify_genomic_window_cond.specify_genomic_window
20 #if str($specify_genomic_window) == 'yes':
21 --bed '$bed_input'
22 #else:
23 -gsz '$chromInfo'
24 -wsz $specify_genomic_window_cond.window_size
25 #set restrict_chromosomes = $specify_genomic_window_cond.restrict_chromosomes_cond.restrict_chromosomes
26 #if str($restrict_chromosomes) == 'yes':
27 #set chroms = []
28 #set chrom_repeat = $specify_genomic_window_cond.restrict_chromosomes_cond.chrom_repeat
29 #for $i in $chrom_repeat.chrom
30 $chroms.append($i)
31 #end for
32 -chr ",".join(chroms)
33 #end if
34 #end if
35 #end if
36 #set outputs_by_chr = $outputs_by_chr_cond.outputs_by_chr
37 #if str($outputs_by_chr) == 'yes':
38 -bychr
39 #end if
40 -c $reads_per_bp
41 #set blacklist_regions = $blacklist_regions_cond.blacklist_regions
42 #if str($blacklist_regions) == 'yes':
43 -exclude '$blacklist_regions_cond.blacklist_input'
44 #end if
45 #set standardize_datasets = $standardize_datasets_cond.standardize_datasets
46 #if str($standardize_datasets) == 'yes':
47 -norm
48 #end if
49 ## Run IDEAS on the prepared data
50 && mkdir -p output
51 && ideas
52 '$build_config_file'
53 #set smoother_annotation = $smoother_annotation_cond.smoother_annotation
54 #if str($smoother_annotation) == 'yes':
55 -hp
56 #end if
57 #set smoother_annotation = $smoother_annotation_cond.smoother_annotation
58 #if str($smoother_annotation) == 'yes':
59 -hp
60 #end if
61 #set in_windows = $in_windows_cond.in_windows
62 #if str($in_windows) == 'yes':
63 -inv $window_start $window_end
64 #end if
65 #set log2_transformation = $log2_transformation_cond.log2_transformation
66 #if str($log2_transformation) == 'yes':
67 #set log2_num = $log2_transformation.log2_num
68 -log2
69 #if str($log2_num) != '0':
70 $log2_num
71 #end if
72 #end if
73 #set max_states_inferred = $max_states_inferred_cond.max_states_inferred
74 #if str($max_states_inferred) == 'yes':
75 -G $max_states_inferred_cond.max_states
76 #end if
77 #set num_initial_states = $num_initial_states_cond.num_initial_states
78 #if str($num_initial_states) == 'yes':
79 -C $num_initial_states_cond.initial_states
80 #end if
81 #if str($max_position_classes) != '0':
82 -P $max_position_classes
83 #end if
84 #if str($max_cell_type_clusters) != '0':
85 -K $max_cell_type_clusters
86 #end if
87 #if str($prior_concentration) != '0':
88 -A $prior_concentration
89 #end if
90 #set burnin_max_steps = $burnin_max_steps_cond.burnin_max_steps
91 #if str($burnin_max_steps) == 'yes':
92 -sample $burnin_max_steps_cond.burnin_num $burnin_max_steps_cond.mcmc_num
93 #end if
94 #set set_min_standard_dev = $set_min_standard_dev_cond.set_min_standard_dev
95 #if str($set_min_standard_dev) == 'yes':
96 -minerr $set_min_standard_dev_cond.min_standard_dev
97 #end if
98 #set set_max_standard_dev = $set_max_standard_dev_cond.set_max_standard_dev
99 #if str($set_max_standard_dev) == 'yes':
100 -maxerr $set_max_standard_dev_cond.max_standard_dev
101 #end if
102 -thread \${GALAXY_SLOTS:-4}
103 -o output
104 ]]></command>
105 <configfiles>
106 <configfile name="build_config_file"><![CDATA[#for $input_items in $input_type_cond.input_repeat:
107 ${input_items.cell_type_name} ${input_items.epigenetic_factor_name} ${input_items.input}
108 #end for ]]></configfile>
109 </configfiles>
110 <inputs>
111 <conditional name="input_type_cond">
112 <param name="input_type" type="select" label="Select input type">
113 <option value="datasets" selected="true">Bam, BigWig files</option>
114 <option value="data_matrix">Data matrix</option>
115 </param>
116 <when value="datasets">
117 <repeat name="input_repeat" title="Cell type, Epigenetic factor and Input" min="1">
118 <param name="cell_type_name" type="text" value="" label="Cell type name"/>
119 <param name="epigenetic_factor_name" type="text" value="" label="Epigenetic factor name"/>
120 <param name="input" type="data" format="bigwig,bam" label="BAM or BigWig file">
121 <validator type="unspecified_build"/>
122 </param>
123 </repeat>
124 <conditional name="specify_genomic_window_cond">
125 <param name="specify_genomic_window" type="select" label="Select Bed file that defines genomic windows on which to process the data">
126 <option value="no" selected="true">No</option>
127 <option value="yes">Yes</option>
128 </param>
129 <when value="no">
130 <param name="window_size" type="integer" value="200" label="Window size in base pairs"/>
131 <conditional name="restrict_chromosomes_cond">
132 <param name="restrict_chromosomes" type="select" label="Restrict processing to specified chromosomes">
133 <option value="no" selected="true">No</option>
134 <option value="yes">Yes</option>
135 </param>
136 <when value="no"/>
137 <when value="yes">
138 <repeat name="chrom_repeat" title="Chromosomes" min="1">
139 <param name="chrom" type="text" value="" label="Chromosome"/>
140 </repeat>
141 </when>
142 </conditional>
143 </when>
144 <when value="yes">
145 <param name="bed_input" type="data" format="bed" label="Bed file specifying the genomic windows"/>
146 </when>
147 </conditional>
148 </when>
149 <when value="data_matrix"/>
150 </conditional>
151 <conditional name="outputs_by_chr_cond">
152 <param name="outputs_by_chr" type="select" display="radio" label="Output chromosomes in seperate files">
153 <option value="no" selected="true">No</option>
154 <option value="yes">Yes</option>
155 </param>
156 <when value="no"/>
157 <when value="yes"/>
158 </conditional>
159 <param name="reads_per_bp" type="integer" value="1" min="1" max="8" label="Number of reads per base pair for calculating the average signal in each genomic window"/>
160 <conditional name="blacklist_regions_cond">
161 <param name="blacklist_regions" type="select" label="Select Bed file containing blacklist regions for exclusion">
162 <option value="no" selected="true">No</option>
163 <option value="yes">Yes</option>
164 </param>
165 <when value="no"/>
166 <when value="yes">
167 <param name="blacklist_input" type="data" format="bed" label="Bed file containing regions to exclude"/>
168 </when>
169 </conditional>
170 <conditional name="standardize_datasets_cond">
171 <param name="standardize_datasets" type="select" display="radio" label="Standardize all datasets">
172 <option value="no" selected="true">No</option>
173 <option value="yes">Yes</option>
174 </param>
175 <when value="no"/>
176 <when value="yes"/>
177 </conditional>
178 <conditional name="smoother_annotation_cond">
179 <param name="smoother_annotation" type="select" display="radio" label="Discourage state transition across chromosomes">
180 <option value="no" selected="true">No</option>
181 <option value="yes">Yes</option>
182 </param>
183 <when value="no"/>
184 <when value="yes"/>
185 </conditional>
186 <conditional name="in_windows_cond">
187 <param name="in_windows" type="select" display="radio" label="Run IDEAS only within defined windows in the input data">
188 <option value="no" selected="true">No</option>
189 <option value="yes">Yes</option>
190 </param>
191 <when value="no"/>
192 <when value="yes">
193 <param name="window_start" type="integer" value="0" min="0" label="Window start" help="Zero-based"/>
194 <param name="window_end" type="integer" value="0" min="0" label="Window end" help="Zero-based"/>
195 </when>
196 </conditional>
197 <conditional name="log2_transformation_cond">
198 <param name="log2_transformation" type="select" label="Perform Log2-transformation of the input data">
199 <option value="no" selected="true">No</option>
200 <option value="yes">Yes</option>
201 </param>
202 <when value="no"/>
203 <when value="yes">
204 <param name="log2_num" type="float" value="0" min="0" max="1" label="Enter a number to use log2(x+num) transformation" help="Zero value has no affect"/>
205 </when>
206 </conditional>
207 <conditional name="max_states_inferred_cond">
208 <param name="max_states_inferred" type="select" label="Set the maximum number of states to be inferred">
209 <option value="no" selected="true">No</option>
210 <option value="yes">Yes</option>
211 </param>
212 <when value="no"/>
213 <when value="yes">
214 <param name="max_states" type="float" value="1" min="1" label="Maximum number of states to be inferred"/>
215 </when>
216 </conditional>
217 <conditional name="num_initial_states_cond">
218 <param name="num_initial_states" type="select" label="Set the initial number of states">
219 <option value="no" selected="true">No</option>
220 <option value="yes">Yes</option>
221 </param>
222 <when value="no"/>
223 <when value="yes">
224 <param name="initial_states" type="integer" value="20" min="1" label="Initial number of states"/>
225 </when>
226 </conditional>
227 <param name="max_position_classes" type="integer" value="0" min="0" label="Maximum number of position classes to be inferred" help="Zero value has no affect"/>
228 <param name="max_cell_type_clusters" type="integer" value="0" min="0" label="Maximum number of cell type clusters allowed" help="Zero value has no affect"/>
229 <param name="prior_concentration" type="float" value="0" min="0" label="Prior concentration" help="Zero value results in the default value: sqrt(number of cell types)"/>
230 <conditional name="burnin_max_steps_cond">
231 <param name="burnin_max_steps" type="select" label="Set the the number of burnin and maximization steps">
232 <option value="no" selected="true">No</option>
233 <option value="yes">Yes</option>
234 </param>
235 <when value="no"/>
236 <when value="yes">
237 <param name="burnin_num" type="integer" value="50" min="1" label="Number of burnin steps"/>
238 <param name="mcmc_num" type="integer" value="50" min="1" label="Number of maximization steps"/>
239 </when>
240 </conditional>
241 <conditional name="set_min_standard_dev_cond">
242 <param name="set_min_standard_dev" type="select" label="Set the minimum standard deviation for the emission Gaussian distribution?">
243 <option value="no" selected="true">No</option>
244 <option value="yes">Yes</option>
245 </param>
246 <when value="no"/>
247 <when value="yes">
248 <param name="min_standard_dev" type="float" value="0.5" label="Minimum standard deviation for the emission Gaussian distribution"/>
249 </when>
250 </conditional>
251 <conditional name="set_max_standard_dev_cond">
252 <param name="set_max_standard_dev" type="select" label="Set the maximum standard deviation for the emission Gaussian distribution?">
253 <option value="no" selected="true">No</option>
254 <option value="yes">Yes</option>
255 </param>
256 <when value="no"/>
257 <when value="yes">
258 <param name="max_standard_dev" type="float" value="100000000" label="Maximum standard deviation for the emission Gaussian distribution"/>
259 </when>
260 </conditional>
261 </inputs>
262 <outputs>
263 <data name="output_state" format="txt" label="${tool.name} (epigenetic states and position classes) on ${on_string}"/>
264 <data name="output_para" format="txt" label="${tool.name} (epigenetic state frequency, mean and variance parameters) on ${on_string}"/>
265 <data name="output_cluster" format="txt" label="${tool.name} (local cell type clustering) on ${on_string}"/>
266 </outputs>
267 <tests>
268 </tests>
269 <help>
270 **What it does**
271
272 Employs the IDEAS (Integrative and Discriminative Epigenome Annotation System) method for jointly and quantitatively characterizing
273 multivariate epigenetic landscapes in many cell types, tissues or conditions. The method accounts for position dependent epigenetic
274 events and detects local cell type relationships, which not only help to improve the accuracy of annotating functional classes of DNA
275 sequences, but also reveal cell type constitutive and specific loci. The method utilizes Bayesian non-parametric techniques to automatically
276 identify the best model size fitting to the data so users do not have to specify the number of states. On the other hand, users can
277 still specify the number of states if desired.
278
279 -----
280
281 **Required options**
282
283 * **Cell type, Epigenetic factor and Input** - specify any number of inputs with currently supported formats, either bam or bigwig. The cell name + factor name must be unique for each input. For example, if you have replicate data you may want to specify the cell name as "cell_rep1", "cell_rep2", etc and the factor name as "factor_rep1", "factor_rep2", etc.
284
285 * **Cell type name** - cell type name
286 * **Epigenetic factor name** - epigenetic factor name
287 * **BAM or BigWig file** - BAM or BigWig file
288
289 * **Set genomic windows on which to process the data** - if "No" is selected, IDEAS will run whole genome segmentation. If "Yes" is selected, IDEAS will segment genomes in the unit of the windows defined by the bed file. This file can be in BED3, BED4 or BED5 format, but only the first three columns (chr posst posed) will be used.
290
291 * **Window size in base pairs** - Window size in base pairs (if "No" is selected)
292 * **Restrict processing to specified chromosomes** - If "Yes" is selected, processing will be restricted to specified chromosomes
293
294 * **Chromosomes** - processing will be restricted to specified chromosomes (if "Yes" is selected)
295
296 * **Chromosome** - specified chromosome
297
298 * **Bed file specifying the genomic windows** - bed file specifying the genomic windows (if "Yes" is selected)
299
300 **Other options**
301
302 * **Output chromosomes in seperate files** - select "Yes" to produce seperate files for each chromosome, allowing you to run IDEAS on different chromosomes separately.
303 * **Select Bed file containing blacklist regions for exclusion** - select a Bed file that contains regions you'd like excluded from your datasets.
304 * **Standardize all datasets** - select "Yes" to standardize all datasets (e.g., reads / total_reads * 20 million) so that the signals from different cell types become comparable - your datasets can be read counts, logp-values or fold change.
305
306 * **Discourage state transition across chromosomes** - select "Yes" to produce similar states in adjacent windows, making the annotation smoother, but at risk of reducing precision.
307 * **Run IDEAS only within defined windows in the input data** - select "Yes" to Run IDEAS only in windows between zero-based start and end indexes of windows in the input data.
308 * **Perform Log2-transformation of the input data** - select "Yes" to perform Log2-transformation of the input data by log2(x+1) (recommended for read count data to reduce skewness). You can optionally enter a number less than 1 to direct IDEAS to produce log2(x+num) transformation. For example, if your input data is mean read count per window, then 1 may be too large, but using 0.1 may be more reasonable.
309 * **Set the maximum number of states to be inferred** - select "Yes" to restrict the maximum number of states to be generated by IDEAS; the final number of inferred states may be smaller than the number you specified
310 * **Set the initial number of states** - select "Yes" if the number of states you expect to generate is greater than 20. While IDEAS may infer 30 states or more by starting from just 20 states, it may not do so if it is trapped in a local mode. We recommend setting the initial number of states slightly larger than the number of states you expect.
311 * **Maximum number of position classes to be inferred** - Set this value only if:
312
313 * you do not want position classes (e.g., for testing purposes), in this case set the value t0 1
314 * IDEAS runs slow because there are too many position classes, generally less than 100 position classes will run fine
315
316 * **Maximum number of cell type clusters allowed** - Set this value only for testing. If you set the value to 1, then all cell types will be clustered in one group.
317 * **Prior concentration** - specify the prior concentration parameter; default is A=sqrt(number of cell types). A smaller concentration parameter (e.g., 1 or less) will emphasize more on position specificity and a larger concentration parameter (e.g., 10 * number of cell types) will emphasize more on global homogeneity.
318 * **Set the the number of burnin and maximization steps** - specify the number of burnin and maximization steps; default it is 50 50. Increasing these two numbers will increase computing and only slightly increase accuracy. Decreasing these two numbers will reduce computing but may also reduce accuracy. We recommend to run IDEAS with at least 20 burnins and 20 maximizations. IDEAS will not stop even if it reaches a maximum mode.
319 * **Set the minimum standard deviation for the emission Gaussian distribution** - specify the minimum standard deviation for the emission Gaussian distribution.
320
321 * **Minimum standard deviation for the emission Gaussian distribution** - you should change the default minerr value of 0.5 if the standard deviation of your data is much smaller or much larger than 1. The first line of the output produced by IDEAS is **ysd=xxx**, which is the total standard deviation of your data. If that value is less than 0.5, you may set the minimum standard deviation to an even smaller number (e.g., xxx/2). If the standard deviation of your data is much greater than 1, (e.g., 20), you may set the minimum standard deviation to a larger value, (e.g., 5). Modifying the minimum standard deviation in the former case is more necessary than in the latter case because otherwise you may end up finding no interesting segmentations. We do not recommend setting the minimum standard deviation to be 0 or smaller, as doing so may capture some artificial and uninteresting states due to tightly clustered data, such as 0 in read counts.
322
323 * **Set the maximum standard deviation for the emission Gaussian distribution** - specify the maximim standard deviation for the emission Gaussian distribution.
324
325 * **Maximim standard deviation for the emission Gaussian distribution** - if you want to find fine-grained states you may use this option (if not used, IDEAS uses infinity), but it is rearely used unless you need more states to be inferred.
326
327 </help>
328 <citations>
329 <citation type="doi">10.1093/nar/gkw278</citation>
330 </citations>
331 </tool>