comparison macs2_callpeak.xml @ 0:fe62ba547975 draft

Uploaded
author iuc
date Wed, 11 Feb 2015 10:18:02 -0500
parents
children bfe57d6e0c4c
comparison
equal deleted inserted replaced
-1:000000000000 0:fe62ba547975
1 <tool id="macs2_callpeak" name="MACS2 callpeak" version="@VERSION_STRING@.0">
2 <description>Call peaks from alignment results</description>
3 <expand macro="requirements">
4 <requirement type="package" version="3.0.1">R_3_0_1</requirement>
5 <requirement type="package" version="4.1.0">gnu_awk</requirement>
6 <requirement type="set_environment">MACS2_SCRIPT_PATH</requirement>
7 </expand>
8 <expand macro="version_command" />
9 <macros>
10 <import>macs2_macros.xml</import>
11 </macros>
12 <command>
13 #set $temp_stderr = 'macs2_stderr'
14 (macs2 callpeak
15
16 --name "MACS2"
17 -t ${ ' '.join( map( lambda x:'"%s"' % ( x ), $input_treatment_file ) ) }
18
19 #if str( $input_control_file ) != 'None':
20 -c ${ ' '.join( map( lambda x:'"%s"' % ( x ), $input_control_file ) ) }
21 #end if
22
23 #for $ifile in $input_treatment_file:
24 #if $ifile.ext.upper() == 'BAM' and $bampe:
25 --format BAMPE
26 #else
27 --format='$ifile.ext.upper()'
28 #end if
29 #end for
30
31 @effective_genome_size@
32
33 --bw='$band_width'
34
35 ## advanced options
36 #if $advanced_options.advanced_options_selector == 'on':
37 $advanced_options.nolambda
38 $advanced_options.to_large
39 --ratio $advanced_options.ratio
40 --slocal $advanced_options.slocal
41 --llocal $advanced_options.llocal
42 #if $advanced_options.broad_options.broad_options_selector == 'broad':
43 --broad
44 --broad-cutoff='${ advanced_options.broad_options.broad_cutoff }'
45 #else:
46 $advanced_options.broad_options.call_summits
47 #end if
48
49 #if str( $advanced_options.keep_dup_options.keep_dup_options_selector ) == "user":
50 --keep-dup "${ advanced_options.keep_dup_options.user_keepdup }"
51 #else
52 --keep-dup "${ advanced_options.keep_dup_options.keep_dup_options_selector }"
53 #end if
54
55 #end if
56
57 ## With --bdg two additional output files will be generated.
58 #if 'bdg' in str($outputs).split(','):
59 --bdg
60 #end if
61
62 ## cutoff selection
63 #if str( $cutoff_options.cutoff_options_selector ) == 'qvalue':
64 --qvalue "${ cutoff_options.qvalue }"
65 #elif str( $cutoff_options.cutoff_options_selector ) == 'pvalue':
66 #if str($cutoff_options.pvalue).strip() != '':
67 --pvalue "${ cutoff_options.pvalue }"
68 #end if
69 #else:
70 --foldenrichment "${ cutoff_options.foldenrichment }"
71 #end if
72
73 ## model options
74 #if $nomodel_type.nomodel_type_selector == 'nomodel':
75 --nomodel
76 ##--shiftsize '$nomodel_type.shiftsize'
77 --extsize '${ nomodel_type.extsize }'
78 #end if
79
80 2> $temp_stderr)
81 #if 'peaks_bed' in str($outputs).split(','):
82 &amp;&amp;
83 awk '$2-=1' MACS2_peaks.xls | awk '!/^#/' | awk -v OFS='\t' '$1=$1' | tail -n+3 > "${ output_bed }"
84 #end if
85
86 ## run R to create pdf from model script
87 #if 'pdf' in str($outputs).split(','):
88 &amp;&amp;
89 Rscript MACS2_model.r > MACS2_model.r.log
90 #end if
91
92 #if 'html' in str($outputs).split(','):
93 ## if output files exists, move them to the files_path and create a html result page linking to them
94 &amp;&amp;
95 (
96 count=`ls -1 MACS2* 2>/dev/null | wc -l`;
97 if [ \$count != 0 ];
98 then
99 mkdir "${ output_extra_files.files_path }";
100 cp MACS2* "${ output_extra_files.files_path }";
101 python "\$MACS2_SCRIPT_PATH/dir2html.py" "${ output_extra_files.files_path }" $temp_stderr > "${ output_extra_files }";
102 fi;
103 )
104 #end if
105 ;
106 exit_code_for_galaxy=\$?;
107 cat $temp_stderr 2&gt;&amp;1;
108 (exit \$exit_code_for_galaxy)
109 </command>
110 <expand macro="stdio" />
111 <inputs>
112 <param name="input_treatment_file" type="data" format="bam,sam,bed" multiple="True" label="ChIP-Seq Treatment File" />
113 <param name="input_control_file" type="data" format="bam,sam,bed" multiple="True" optional="True" label="ChIP-Seq Control File" />
114
115 <param name="bampe" type="boolean" truevalue="--format BAMPE" falsevalue="" checked="False" label="Are your inputs Paired-end BAM files?"
116 help="The 'Build model step' will be ignored and the real fragments will be used for each template defined by leftmost and rightmost mapping positions. (--format BAMPE)"/>
117
118 <expand macro="conditional_effective_genome_size" />
119 <expand macro="band_width" />
120
121 <conditional name="cutoff_options">
122 <param name="cutoff_options_selector" type="select" label="Peak detection based on" help="default uses q-value">
123 <option value="qvalue" selected="true">q-value</option>
124 <option value="pvalue">p-value</option>
125 <option value="foldenrichment">foldenrichment</option>
126 </param>
127 <when value="pvalue">
128 <param name="pvalue" type="float" value="" label="p-value cutoff for peak detection"
129 help="default: not set (--pvalue)"/>
130 </when>
131 <when value="qvalue">
132 <param name="qvalue" type="float" value="0.05" label="Minimum FDR (q-value) cutoff for peak detection"
133 help="default: 0.05 (--qvalue)"/>
134 </when>
135 <when value="foldenrichment">
136 <param name="foldenrichment" value="" type="integer" label="Foldenrichment cutoff for peak detection"
137 help="(--foldenrichment)"/>
138 </when>
139 </conditional>
140
141 <conditional name="nomodel_type">
142 <param name="nomodel_type_selector" type="select" label="Build Model">
143 <option value="nomodel">Do not build the shifting model (--nomodel)</option>
144 <option value="create_model" selected="true">Build the shifting model</option>
145 </param>
146 <when value="create_model"/>
147 <when value="nomodel">
148 <!--<param name="shiftsize" type="integer" label="Arbitrary shift size in bp" value="100" help="(shiftsize)"/>-->
149 <param name="extsize" type="integer" value="100" label="The arbitrary extension size in bp"
150 help="MACS will use this value as fragment size to extend each read towards 3' end, then pile them up. It's exactly twice the number of legacy shiftsize. In previous language, each read is moved 3' direction to middle of fragment by 1/2 d, then extended to both direction with 1/2 d. This is equivalent to say each read is extended towards 3' into a d size fragment. DEFAULT: 200 (--extsize)"/>
151 </when>
152 </conditional>
153
154 <param name="outputs" type="select" display="checkboxes" multiple="True" label="Outputs">
155 <option value="peaks_bed" selected="True">Peaks as BED file</option>
156 <!--<option value="narrow">narrow Peaks</option>-->
157 <option value="summits" selected="true">summits</option>
158 <option value="bdg" selected="true">Scores in bedGraph files (--bdg)</option>
159 <option value="html">Summary page (html)</option>
160 <option value="pdf">Plot in PDF</option>
161 <validator type="no_options" message="Please select at least one output file." />
162 </param>
163
164 <conditional name="advanced_options">
165 <param name="advanced_options_selector" type="select" label="Advanced options">
166 <option value="off" selected="true">Hide advanced options</option>
167 <option value="on">Display advanced options</option>
168 </param>
169 <when value="on">
170 <param name="to_large" type="boolean" truevalue="--to-large" falsevalue="" checked="False"
171 label="When set, scale the small sample up to the bigger sample"
172 help="By default, the bigger dataset will be scaled down towards the smaller dataset, which will lead to smaller p/qvalues and more specific results. Keep in mind that scaling down will bring down background noise more. (--to-large)"/>
173 <param name="nolambda" type="boolean" truevalue="--nolambda" falsevalue="" checked="False"
174 label="Use fixed background lambda as local lambda for every peak region" help="up to 9X more time consuming (--nolambda)"/>
175 <param name="ratio" type="float" value="1.0"
176 label="When set, use a custom scaling ratio of ChIP/control (e.g. calculated using NCIS) for linear scaling"
177 help="(--ratio)"/>
178 <param name="slocal" value="1000" type="integer" label="The small nearby region in basepairs to calculate dynamic lambda"
179 help="This is used to capture the bias near the peak summit region. Invalid if there is no control data. If you set this to 0, MACS will skip slocal lambda calculation. *Note* that MACS will always perform a d-size local lambda calculation. The final local bias should be the maximum of the lambda value from d, slocal, and llocal size windows. (--slocal)"/>
180 <param name="llocal" value="10000" type="integer" label="The large nearby region in basepairs to calculate dynamic lambda"
181 help="This is used to capture the surround bias. If you set this to 0, MACS will skip llocal lambda calculation. *Note* that MACS will always perform a d-size local lambda calculation. The final local bias should be the maximum of the lambda value from d, slocal, and llocal size windows. (--llocal)"/>
182 <conditional name="broad_options">
183 <param name="broad_options_selector" type="select"
184 label="Composite broad regions" help="by putting nearby highly enriched regions into a broad region with loose cutoff (--broad)">
185 <option value="nobroad" selected="true">No broad regions</option>
186 <option value="broad">broad regions</option>
187 </param>
188 <when value="broad">
189 <param name="broad_cutoff" type="float" label="Cutoff for broad region" value="0.1"
190 help="value is either p-value or q-value as specified above (--broad-cutoff)"/>
191 </when>
192 <when value="nobroad">
193 <param name="call_summits" type="boolean" truevalue="--call-summits" falsevalue="" checked="False"
194 label="Use a more sophisticated signal processing approach to find subpeak summits in each enriched peak region"
195 help="(--call-summits)"/>
196 </when>
197 </conditional>
198 <expand macro="keep_duplicates" />
199 </when>
200 <when value="off" />
201 </conditional>
202 </inputs>
203 <outputs>
204 <!--callpeaks output-->
205 <data name="output_bed" format="bed" label="${tool.name} on ${on_string} (Peaks in BED format)">
206 <filter>'peaks_bed' in outputs</filter>
207 </data>
208 <data name="output_broadpeaks" format="bed" from_work_dir="MACS2_peaks.broadPeak" label="${tool.name} on ${on_string} (broad Peaks)">
209 <filter>
210 ((
211 advanced_options['advanced_options_selector'] == "on" and
212 advanced_options['broad_options']['broad_options_selector'] == "broad"
213 ))
214 </filter>
215 </data>
216 <data name="output_gappedpeaks" format="tabular" from_work_dir="MACS2_peaks.gappedPeak" label="${tool.name} on ${on_string} (gapped Peaks)">
217 <filter>
218 ((
219 advanced_options['advanced_options_selector'] == "on" and
220 advanced_options['broad_options']['broad_options_selector'] == "broad"
221 ))
222 </filter>
223 </data>
224 <data name="output_narrowpeaks" format="tabular" from_work_dir="MACS2_peaks.narrowPeak" label="${tool.name} on ${on_string} (narrow Peaks)">
225 <filter>
226 (
227 advanced_options['advanced_options_selector'] == "off" or
228 (
229 advanced_options['advanced_options_selector'] == "on" and
230 advanced_options['broad_options']['broad_options_selector'] == "nobroad"
231 ))
232 </filter>
233 </data>
234 <data name="output_summits" format="bed" from_work_dir="MACS2_summits.bed" label="${tool.name} on ${on_string} (summits in BED)">
235 <filter>'summits' in outputs</filter>
236 </data>
237 <data name="output_plot" format="pdf" from_work_dir="MACS2_model.pdf" label="${tool.name} on ${on_string} (plot)">
238 <filter>'pdf' in outputs</filter>
239 </data>
240 <data name="output_treat_pileup" format="bedgraph" from_work_dir="MACS2_treat_pileup.bdg" label="${tool.name} on ${on_string} (Bedgraph Treatment)">
241 <filter>'bdg' in outputs</filter>
242 </data>
243 <data name="output_control_lambda" format="bedgraph" from_work_dir="MACS2_control_lambda.bdg" label="${tool.name} on ${on_string} (Bedgraph Control)">
244 <filter>'bdg' in outputs</filter>
245 </data>
246 <data name="output_extra_files" format="html" label="${tool.name} on ${on_string} (html report)">
247 <filter>'html' in outputs</filter>
248 </data>
249 </outputs>
250 <tests>
251 <test>
252 <param name="input_control_file" value="Control_200K.bed" ftype="bed"/>
253 <param name="input_treatment_file" value="ChIP_200K.bed" ftype="bed"/>
254 <param name="cutoff_options_selector" value="qvalue"/>
255 <param name="qvalue" value="0.05"/>
256 <param name="band_width" value="300"/>
257 <param name="outputs" value="peaks_bed,bdg"/>
258 <param name="effective_genome_size_options_selector" value="user_defined" />
259 <param name="gsize" value="3300000000" />
260 <output name="output_control_lambda" compare="contains" file="callpeak_control_part.bdg"/>
261 <output name="output_treat_pileup" compare="contains" file="callpeak_treatment_part.bdg"/>
262 <output name="output_bed" compare="contains" file="callpeak_part.bed"/>
263 <output name="output_summits" compare="contains" file="callpeak_summits_part.bed"/>
264 </test>
265 </tests>
266 <help>
267 **What it does**
268
269 With the improvement of sequencing techniques, chromatin immunoprecipitation followed by high throughput sequencing (ChIP-Seq)
270 is getting popular to study genome-wide protein-DNA interactions. To address the lack of powerful ChIP-Seq analysis method, we present a novel algorithm, named Model-based Analysis of ChIP-Seq (MACS), for
271 identifying transcript factor binding sites. MACS captures the influence of genome complexity to evaluate the significance of enriched ChIP regions, and MACS improves the spatial resolution of
272 binding sites through combining the information of both sequencing tag position and orientation. MACS can be easily used for ChIP-Seq data alone, or with control sample with the increase of specificity.
273
274 View the original MACS2 documentation: https://github.com/taoliu/MACS/blob/master/README
275
276 ------
277
278 **Usage**
279
280 **Peak Calling**: Main MACS2 Function to Call peaks from alignment results.
281
282 If you choose "Scores in bedGraph files" MACS will output the fragment pileup, control lambda, -log10-pvalue and -log10-qvalue scores in bedGraph files.
283 The peaks in BED format contain the following colomns: chr end length abs_summit pileup -log10(pvalue) fold_enrichment -log10(qvalue) name
284
285 **Compare .bdg files**: Deduct noise by comparing two signal tracks in bedGraph.
286
287
288 @citation@
289 </help>
290 <expand macro="citations" />
291 </tool>