comparison macs2_wrapper.xml @ 0:6bc303d12c70 draft default tip

planemo upload
author eduardo
date Mon, 20 Feb 2017 17:23:19 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:6bc303d12c70
1 <tool id="macs2_peakcalling" name="MACS2" version="2.0.10">
2 <description>Model-based Analysis of ChIP-Seq</description>
3 <command interpreter="python">macs2_wrapper.py $options_file $outputs_file</command>
4 <version_command>macs2 --version</version_command>
5 <inputs>
6 <!--experiment name and option of selecting paired or single end will always be present-->
7 <param name="experiment_name" type="text" value="MACS2 in Galaxy" size="50" label="Experiment Name"/>
8
9 <!--select one of the 7 major commands offered by macs2-->
10 <conditional name="major_command">
11 <param name="major_command_selector" type="select" label="Select action to be performed">
12 <option value="callpeak">Peak Calling</option>
13 <!--<option value="filterdup">filterdup</option>
14 <option value="randsample">randsample</option>-->
15 <option value="bdgcmp">Compare .bdg Files</option>
16 <!--<option value="bdgdiff">bdgdiff</option>
17 <option value="bdgpeakcall">bdgpeakcall</option>
18 <option value="bdgbroadcall">bdgbroadcall</option>-->
19 </param>
20 <!--callpeak option of macs2-->
21 <when value="callpeak">
22 <!--may need to add a few more formats at later time-->
23 <param name="input_chipseq_file1" type="data" format="bam" label="ChIP-Seq Tag File" />
24 <param name="input_control_file1" type="data" format="bam" optional="True" label="ChIP-Seq Control File" />
25 <param name="gsize" type="integer" label="Effective genome size" value="2700000000" help="Human: 3.3e+9, Mouse: 3.0e+9, Fly: 1.9e+8, Worm: 1.3e+8 (--gsize)"/>
26 <param name="bw" type="integer" label="Band width" value="300" help="(--bw)"/>
27 <param name="xls_to_interval" label="Parse xls files into into distinct interval files" type="boolean" truevalue="True" falsevalue="False" checked="False"/>
28 <param name="bdg" label="Save fragment pileup, control lambda, -log10pvalue/qvalue in bedGraph" type="boolean" truevalue="-B" falsevalue="" checked="False" help="files located in html report"/>
29
30 <conditional name="pq_options">
31 <param name="pq_options_selector" type="select" label="Select p-value or q-value" help="default uses q-value">
32 <option value="qvalue">q-value</option>
33 <option value="pvalue">p-value</option>
34 </param>
35 <when value="pvalue">
36 <param name="pvalue" type="float" label="p-value cutoff for peak detection" value="1e-2" help="default: 1e-2 (--pvalue)"/>
37 </when>
38 <when value="qvalue">
39 <param name="qvalue" type="float" label="q-value cutoff for peak detection" value="5e-2" help="default: 5e-2 (--qvalue)"/>
40 </when>
41 </conditional>
42 <conditional name="advanced_options">
43 <param name="advanced_options_selector" type="select" label="Display advanced options">
44 <option value="off">Hide</option>
45 <option value="on">Display</option>
46 </param>
47 <when value="on">
48 <param name="mfoldlo" type="integer" label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (lower-limit)" value="10" help="(--mfold)"/>
49 <param name="mfoldhi" type="integer" label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (upper-limit)" value="30" help="(--mfold)"/>
50 <param name="nolambda" label="Use fixed background lambda as local lambda for every peak region" type="boolean" truevalue="--nolambda" falsevalue="" checked="False" help="up to 9X more time consuming (--nolambda)"/>
51 <conditional name="broad_options">
52 <param name="broad_options_selector" type="select" label="Composite broad regions" help="put nearby highly enriched regions into a broad region with loose cutoff (--broad)">
53 <option value="nobroad" selected="true">No broad regions</option>
54 <option value="broad">Broad regions</option>
55 </param>
56 <when value="broad">
57 <param name="broad_cutoff" type="float" label="Cutoff for broad region" value="0.1" help="value is either p-value or q-value as specified above (--broad-cutoff)"/>
58 </when>
59 <when value="nobroad"/>
60 </conditional>
61 </when>
62 <when value="off">
63 <!--display nothing-->
64 </when>
65 </conditional>
66 <conditional name="nomodel_type">
67 <param name="nomodel_type_selector" type="select" label="Build Model">
68 <option value="nomodel">Do not build the shifting model (--nomodel enabled)</option>
69 <option value="create_model" selected="true">Build the shifting model (--nomodel disabled)</option>
70 </param>
71 <when value="nomodel">
72 <param name="shiftsize" type="integer" label="Arbitrary shift size in bp" value="100" help="(--shiftsize)"/>
73 </when>
74 </conditional>
75 </when>
76
77 <!--callpeak option of macs2-->
78 <when value="bdgcmp">
79 <param name="input_chipseq_file1" type="data" format="bam" label="ChIP-Seq Tag File" />
80 <param name="input_control_file1" type="data" format="bam" optional="True" label="ChIP-Seq Control File" />
81 <param name="pseudocount" type="float" label="Set pseudocount" value="0.00001" help="default: 0.00001 (-p)"/>
82
83 <conditional name="bdgcmp_options">
84 <param name="bdgcmp_options_selector" type="select" label="Select action to be performed">
85 <option value="ppois">ppois</option>
86 <option value="qpois">qpois</option>
87 <option value="subtract">subtract</option>
88 <option value="logFE">logFE</option>
89 <option value="FE">FE</option>
90 <option value="logLR">logLR</option>
91 </param>
92 </conditional>
93 </when>
94 </conditional>
95 </inputs>
96
97 <outputs>
98 <!--callpeaks output-->
99 <data name="output_bed_file" format="bed" label="${tool.name}: callpeak on ${on_string} (peaks: bed)">
100 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
101 </data>
102 <data name="output_extra_files" format="html" label="${tool.name}: callpeak on ${on_string} (html report)">
103 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
104 </data>
105 <data name="output_peaks_file" format="xls" label="${tool.name}: callpeak on ${on_string} (peaks: xls)">
106 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
107 </data>
108 <data name="output_narrowpeaks_file" format="txt" label="${tool.name}: callpeak on ${on_string} (peaks: encodePeak)">
109 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
110 </data>
111 <data name="output_xls_to_interval_peaks_file" format="interval" label="${tool.name}: callpeak on ${on_string} (peaks: interval)">
112 <filter>major_command['xls_to_interval'] is True</filter>
113 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
114 </data>
115 <data name="output_xls_to_interval_negative_peaks_file" format="interval" label="${tool.name}: callpeak on ${on_string} (negative peaks: interval)">
116 <filter>major_command['xls_to_interval'] is True</filter>
117 <filter>major_command['input_control_file1'] is not None</filter>
118 <filter>major_command['major_command_selector'] == 'callpeak'</filter>
119 </data>
120 <!--bdgcmp output-->
121 <data name="output_bdgcmp_file" format="bdg" label="${tool.name}: bdgcmp on ${on_string} (bdg)">
122 <filter>major_command['major_command_selector'] == 'bdgcmp'</filter>
123 </data>
124 </outputs>
125 <configfiles>
126
127 <configfile name="outputs_file">&lt;%
128 import json
129 %&gt;
130 ##=======================================================================================
131 #set $__outputs = { 'command':str( $major_command.major_command_selector ) }
132 #if str( $major_command.major_command_selector ) == 'callpeak':
133 #set $__outputs['output_bed_file'] = str( $output_bed_file )
134 #set $__outputs['output_extra_file'] = str( $output_extra_files )
135 #set $__outputs['output_extra_file_path'] = str( $output_extra_files.files_path )
136 #set $__outputs['output_peaks_file'] = str( $output_peaks_file )
137 #set $__outputs['output_narrowpeaks_file'] = str( $output_narrowpeaks_file )
138 #set $__outputs['output_xls_to_interval_peaks_file'] = str( $output_xls_to_interval_peaks_file )
139 #set $__outputs['output_xls_to_interval_negative_peaks_file'] = str( $output_xls_to_interval_negative_peaks_file )
140 #end if
141 ##=======================================================================================
142 #if str( $major_command.major_command_selector ) == 'bdgcmp':
143 #set $__outputs['output_bdgcmp_file'] = str( $output_bdgcmp_file )
144 #end if
145
146 ${ json.dumps( __outputs ) }
147 </configfile>
148 <configfile name="options_file">&lt;%
149 import json
150 %&gt;
151 ##=======================================================================================
152 #set $__options = { 'experiment_name':str( $experiment_name ) }
153 ##treatment/tag input files and format
154 #set $__options['input_chipseq'] = [ str( $major_command.input_chipseq_file1 ) ]
155 #set $__options['format'] = $major_command.input_chipseq_file1.extension.upper()
156
157 ##control/input files
158 #set $__options['input_control'] = []
159 #if str( $major_command.input_control_file1 ) != 'None':
160 #set $_hole = __options['input_control'].append( str( $major_command.input_control_file1 ) )
161 #end if
162
163 #if str( $major_command.major_command_selector ) == 'callpeak':
164 #set $__options['command'] = str( "callpeak" )
165 #set $__options['gsize'] = int( $major_command.gsize )
166 #set $__options['bw'] = str( $major_command.bw )
167 #set $__options['bdg'] = str( $major_command.bdg )
168 #set $__options['xls_to_interval'] = str( $major_command.xls_to_interval )
169
170 ##advanced options
171 #if str( $major_command.advanced_options.advanced_options_selector ) == 'on':
172 #set $__options['mfoldlo'] = int( $major_command.advanced_options.mfoldlo )
173 #set $__options['mfoldhi'] = int( $major_command.advanced_options.mfoldhi )
174 #set $__options['nolambda'] = str( $major_command.advanced_options.nolambda )
175 #if str($major_command.advanced_options.broad_options.broad_options_selector) == 'broad'
176 #set $__options['broad_cutoff'] = str($major_command.advanced_options.broad_options.broad_cutoff)
177 #end if
178 #else:
179 #set $__options['mfoldlo'] = int( "10" )
180 #set $__options['mfoldhi'] = int( "30" )
181 #set $__options['nolambda'] = str( "" )
182 #end if
183
184 ##enable xls file options
185 ##if str( $major_command.xls_to_interval ) == 'create':
186 ##set $__options['xls_to_interval'] = { 'peaks_file': str( $output_xls_to_interval_peaks_file ), 'negative_peaks_file': str( $output_xls_to_interval_negative_peaks_file ) }
187 ##end if
188
189 ##pq value select options
190 #if str( $major_command.pq_options.pq_options_selector ) == 'qvalue':
191 #set $__options['qvalue'] = str( $major_command.pq_options.qvalue )
192 #else:
193 #set $__options['pvalue'] = str( $major_command.pq_options.pvalue )
194 #end if
195
196 ##model options
197 #if str( $major_command.nomodel_type.nomodel_type_selector ) == 'nomodel':
198 #set $__options['nomodel'] = str( $major_command.nomodel_type.shiftsize )
199 #end if
200 #end if
201 ##=======================================================================================
202 #if str( $major_command.major_command_selector ) == 'bdgcmp':
203 #set $__options['command'] = str( "bdgcmp" )
204 #set $__options['pseudocount'] = float( str( $major_command.pseudocount ) )
205 #set $__options['m'] = str( $major_command.bdgcmp_options.bdgcmp_options_selector )
206 #end if
207 ##=======================================================================================
208
209 ${ json.dumps( __options ) }
210 </configfile>
211 </configfiles>
212 <tests>
213 <!--none yet for macs2-->
214 </tests>
215 <help>
216 **What it does**
217
218 With the improvement of sequencing techniques, chromatin immunoprecipitation followed by high throughput sequencing (ChIP-Seq)
219 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
220 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
221 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.
222
223 View the original MACS2 documentation: https://github.com/taoliu/MACS/blob/master/README
224
225 ------
226
227 **Usage**
228
229 **Peak Calling**: Main MACS2 Function to Call peaks from alignment results.
230
231 **Compare .bdg files**: Deduct noise by comparing two signal tracks in bedGraph.
232
233
234 ------
235
236 **Citation**
237
238 For the underlying tool, please cite Zhang Y, Liu T, Meyer CA, Eeckhoute J, Johnson DS, Bernstein BE, Nusbaum C, Myers RM, Brown M, Li W, Liu XS. Model-based analysis of ChIP-Seq (MACS). Genome Biol. 2008;9(9):R137.
239
240 Integration of MACS2 with Galaxy performed by Ziru Zhou ( ziruzhou@gmail.com ). Please send your comments/questions to modENCODE DCC at help@modencode.org.
241 </help>
242 </tool>