|
5
|
1 <tool id="meme_chip" name="MEME-ChIP" version="4.11.2">
|
|
0
|
2 <description>- motif discovery, enrichment analysis and clustering on large nucleotide datasets</description>
|
|
|
3 <macros>
|
|
|
4 <import>macros.xml</import>
|
|
|
5 </macros>
|
|
|
6 <expand macro="requirements" />
|
|
5
|
7 <code file="get_meme_motif_databases.py" />
|
|
0
|
8 <command detect_errors="exit_code"><![CDATA[
|
|
3
|
9 #import os
|
|
|
10 #set primary_output = $os.path.join($output.files_path, "index.html")
|
|
0
|
11 #set options_type = $options_type_cond.options_type
|
|
5
|
12 meme-chip '$input'
|
|
0
|
13 -noecho
|
|
6
|
14 #if $control:
|
|
3
|
15 -neg '$control'
|
|
|
16 #end if
|
|
6
|
17 $sequence_alphabet
|
|
0
|
18 -o '$output.files_path'
|
|
|
19 #if str($options_type)=='advanced':
|
|
5
|
20 ## FIXME: CentriMo cannot be run, See the comments in the input section.
|
|
|
21 ## #set run_centrimo = $options_type_cond.run_centrimo_cond.run_centrimo
|
|
3
|
22 ## #if str($run_centrimo) == "yes":
|
|
|
23 ## -db $options_type_cond.run_centrimo_cond.meme_motif_databases.fields.path
|
|
6
|
24 ## #if $options_type_cond.run_centrimo_cond.centrimo_local:
|
|
3
|
25 ## -centrimo-local
|
|
|
26 ## #end if
|
|
6
|
27 ## #if $options_type_cond.run_centrimo_cond.centrimo_score:
|
|
3
|
28 ## -centrimo-score $options_type_cond.run_centrimo_cond.centrimo_score
|
|
|
29 ## #end if
|
|
6
|
30 ## #if $options_type_cond.run_centrimo_cond.centrimo_maxreg:
|
|
3
|
31 ## -centrimo-maxreg $options_type_cond.run_centrimo_cond.centrimo_maxreg
|
|
|
32 ## #end if
|
|
6
|
33 ## #if $options_type_cond.run_centrimo_cond.centrimo_ethresh:
|
|
3
|
34 ## -centrimo-ethresh $options_type_cond.run_centrimo_cond.centrimo_ethresh
|
|
|
35 ## #end if
|
|
6
|
36 ## #if $options_type_cond.run_centrimo_cond.centrimo_noseq:
|
|
3
|
37 ## -centrimo-noseq
|
|
|
38 ## #end if
|
|
6
|
39 ## #if $options_type_cond.run_centrimo_cond.centrimo_flip:
|
|
3
|
40 ## -centrimo-flip
|
|
|
41 ## #end if
|
|
|
42 ## #end if
|
|
6
|
43 #if $options_type_cond.search_given_strand:
|
|
3
|
44 -norc
|
|
|
45 #end if
|
|
0
|
46 -order $options_type_cond.background_model_order
|
|
3
|
47 #if str($options_type_cond.subsampling_cond.subsampling) == "no":
|
|
0
|
48 -norand
|
|
|
49 #set seed = $options_type_cond.subsampling_cond.subsampling.seed
|
|
6
|
50 #if $seed:
|
|
0
|
51 -seed $options_type_cond.subsampling_cond.subsampling.seed
|
|
|
52 #end if
|
|
|
53 #end if
|
|
6
|
54 #if $options_type_cond.nmeme:
|
|
0
|
55 -nmeme $options_type_cond.nmeme
|
|
|
56 #end if
|
|
6
|
57 #if $options_type_cond.ccut:
|
|
0
|
58 -ccut $options_type_cond.ccut
|
|
|
59 #end if
|
|
|
60 -group-thresh $options_type_cond.group_threash
|
|
6
|
61 #if $options_type_cond.group_weak:
|
|
0
|
62 -group-weak $options_type_cond.group_weak
|
|
|
63 #end if
|
|
5
|
64 -filter-thresh $options_type_cond.filter_thresh
|
|
6
|
65 #if $options_type_cond.old_clustering:
|
|
3
|
66 -old-clustering
|
|
|
67 #end if
|
|
0
|
68 -meme-mod $options_type_cond.meme_mod
|
|
6
|
69 #if $options_type_cond.meme_minw:
|
|
0
|
70 -meme-minw $options_type_cond.meme_minw
|
|
|
71 #end if
|
|
6
|
72 #if $options_type_cond.meme_maxw:
|
|
0
|
73 -meme-maxw $options_type_cond.meme_maxw
|
|
|
74 #end if
|
|
6
|
75 #if $options_type_cond.meme_nmotifs:
|
|
0
|
76 -meme-nmotifs $options_type_cond.meme_nmotifs
|
|
|
77 #end if
|
|
6
|
78 #if $options_type_cond.meme_minsites:
|
|
0
|
79 -meme-minsites $options_type_cond.meme_minsites
|
|
|
80 #end if
|
|
6
|
81 #if $options_type_cond.meme_maxsites:
|
|
0
|
82 -meme-maxsites $options_type_cond.meme_maxsites
|
|
|
83 #end if
|
|
6
|
84 #if $options_type_cond.meme_pal:
|
|
0
|
85 -meme-pal
|
|
|
86 #end if
|
|
|
87 -dreme-e $options_type_cond.dreme_e
|
|
|
88 -dreme-m $options_type_cond.dreme_m
|
|
|
89 -spamo-skip
|
|
|
90 -fimo-skip
|
|
|
91 #end if
|
|
3
|
92 && rm '$output'
|
|
|
93 && ln -s $primary_output '$output'
|
|
|
94 ]]></command>
|
|
0
|
95 <inputs>
|
|
|
96 <param name="input" type="data" format="fasta" label="Primary sequences" help="Nucleotide sequences must have equal length"/>
|
|
3
|
97 <param name="control" type="data" format="fasta" optional="true" label="Control sequences" help="If no selection, positive sequences in the input are shuffled to create the negative set"/>
|
|
0
|
98 <param name="sequence_alphabet" type="select" label="Sequence alphabet">
|
|
5
|
99 <option value="-dna" selected="true">DNA</option>
|
|
|
100 <option value="-rna">RNA</option>
|
|
0
|
101 </param>
|
|
|
102 <conditional name="options_type_cond">
|
|
|
103 <param name="options_type" type="select" label="Options Configuration">
|
|
|
104 <option value="basic" selected="true">Basic</option>
|
|
|
105 <option value="advanced">Advanced</option>
|
|
|
106 </param>
|
|
|
107 <when value="basic"/>
|
|
|
108 <when value="advanced">
|
|
3
|
109 <!--
|
|
|
110 FIXME: CentriMo cannot be run since the tool form cannot populate the mem_motif_database select list below.
|
|
|
111 <conditional name="run_centrimo_cond">
|
|
|
112 <param name="run_centrimo" type="select" label="Run TOMTOM and CentriMo?">
|
|
|
113 <option value="yes" selected="true">Yes</option>
|
|
|
114 <option value="no">No</option>
|
|
|
115 </param>
|
|
|
116 <when value="yes">
|
|
|
117
|
|
|
118 We have 2 dynamic select lists here. The first select list (meme_motif_database_dir) is populated from the meme_motif_databases
|
|
|
119 data table. The second select list (meme_motif_database) is dynamically re-rendered whenever the selection in the meme_motif_database_dir
|
|
|
120 select list is changed. This composition used to work (see Examples->Dynamic Options section of
|
|
|
121 https://docs.galaxyproject.org/en/latest/dev/schema.html) but no longer does. We'll have to figure out what is broken in
|
|
|
122 the dynamic options code in ~/parameters/basic.py in order to uncomment this block.
|
|
|
123
|
|
|
124 <param name="meme_motif_database_dir" type="select" label="Select the motifs (DNA)" refresh_on_change="True">
|
|
|
125 <options from_data_table="meme_motif_databases">
|
|
|
126 <filter type="sort_by" column="1"/>
|
|
|
127 <validator type="no_options" message="No MEME motif databases are available for the selected input"/>
|
|
|
128 </options>
|
|
|
129 </param>
|
|
|
130 <param name="meme_motif_database" type="select" label="MEME motif database" dynamic_options="get_meme_motif_database_options(file_path=meme_motif_database_dir)"/>
|
|
|
131 <param name="centrimo_local" type="boolean" truevalue="true" falsevalue="" checked="False" label="Compute enrichment of all regions"/>
|
|
5
|
132 <param name="centrimo_score" type="integer" optional="true" value="0" min="0" label="Minimum allowed CentriMo match score"/>
|
|
|
133 <param name="centrimo_maxreg" type="integer" optional="true" value="0" min="0" label="Maximum CentriMo region size to be considered"/>
|
|
|
134 <param name="centrimo_ethresh" type="integer" optional="true" value="0" min="0" label="CentriMo E-value threshold for reporting" />
|
|
3
|
135 <param name="centrimo_noseq" type="boolean" truevalue="true" falsevalue="" checked="False" label="Store CentriMo sequence IDs in the output"/>
|
|
|
136 <param name="centrimo_flip" type="boolean" truevalue="true" falsevalue="" checked="False" label="Reflect CentriMo matches on reverse strand around center"/>
|
|
|
137 </when>
|
|
|
138 <when value="no"/>
|
|
|
139 </conditional>
|
|
|
140 -->
|
|
0
|
141 <param name="background_model_order" type="select" label="Select the order of the Markov background model">
|
|
|
142 <option value="0">0-order model of sequences</option>
|
|
|
143 <option value="1" selected="True">1st order model of sequences</option>
|
|
|
144 <option value="2">2nd order model of sequences</option>
|
|
|
145 <option value="3">3rd order model of sequences</option>
|
|
|
146 <option value="4">4th order model of sequences</option>
|
|
|
147 </param>
|
|
5
|
148 <param name="nmeme" type="integer" optional="true" value="0" min="0" label="Limit of sequences to pass to MEME" help="Zero value has no effect"/>
|
|
0
|
149 <conditional name="subsampling_cond">
|
|
|
150 <param name="subsampling" type="select" label="Should subsampling be random?" help="Select 'No' if your input sequences are sorted in order of confidence (best to worst)">
|
|
|
151 <option value="yes" selected="true">Yes</option>
|
|
|
152 <option value="no">No</option>
|
|
|
153 </param>
|
|
|
154 <when value="yes">
|
|
5
|
155 <param name="seed" type="integer" optional="true" value="0" min="0" label="Seed for the randomized selection of sequences" help="Zero value indicates random seeding"/>
|
|
0
|
156 </when>
|
|
|
157 <when value="no"/>
|
|
|
158 </conditional>
|
|
5
|
159 <param name="ccut" type="integer" optional="true" value="100" min="0" label="maximum size of a sequence before it is cut down to a centered section" help="Zero value indicates the sequences should not be cut down"/>
|
|
0
|
160 <param name="group_threash" type="float" value="0.05" min="0" label="Primary threshold for clustering motifs" />
|
|
5
|
161 <param name="group_weak" type="float" optional="true" value="0" min="0" label="Secondary threshold for clustering motifs" help="Zero value results in 2*primary threshold"/>
|
|
0
|
162 <param name="filter_thresh" type="float" value="0.05" min="0" label="E-value threshold for including motifs"/>
|
|
3
|
163 <param name="search_given_strand" type="boolean" truevalue="true" falsevalue="" checked="False" label="Search given strand only"/>
|
|
|
164 <param name="old_clustering" type="boolean" truevalue="true" falsevalue="" checked="False" label="Pick cluster seed motifs based only on significance"/>
|
|
0
|
165 <param name="meme_mod" type="select" label="What is the expected motif site distribution?">
|
|
|
166 <option value="oops" selected="True">One occurance per sequence</option>
|
|
|
167 <option value="zoops">Zero or one occurances per sequence</option>
|
|
|
168 <option value="anr">Any number of repititions</option>
|
|
|
169 </param>
|
|
5
|
170 <param name="meme_minw" type="integer" optional="true" value="0" min="0" label="Minimum motif width"/>
|
|
|
171 <param name="meme_maxw" type="integer" optional="true" value="0" min="0" label="Maximum motif width"/>
|
|
|
172 <param name="meme_nmotifs" type="integer" optional="true" value="0" min="0" label="Maximum number of motifs to find"/>
|
|
|
173 <param name="meme_minsites" type="integer" optional="true" value="0" min="0" label="Minimum number of sites per motif"/>
|
|
|
174 <param name="meme_maxsites" type="integer" optional="true" value="0" label="Maximum number of sites per motif"/>
|
|
0
|
175 <param name="meme_pal" type="boolean" truevalue="true" falsevalue="" checked="False" label="Look for palindromes only"/>
|
|
|
176 <param name="dreme_e" type="float" value="0.05" min="0" label="Stop DREME searching after reaching this E-value threshold"/>
|
|
|
177 <param name="dreme_m" type="integer" value="10" min="1" label="Stop DREME searching after finding this many motifs" />
|
|
|
178 </when>
|
|
|
179 </conditional>
|
|
|
180 <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">
|
|
|
181 <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
|
|
|
182 </param>
|
|
|
183 </inputs>
|
|
|
184 <outputs>
|
|
|
185 <data name="output" format="html" label="${tool.name} (html) on ${on_string}"/>
|
|
|
186 </outputs>
|
|
|
187 <tests>
|
|
|
188 <test>
|
|
5
|
189 <param name="input" value="input1.fasta" ftype="fasta"/>
|
|
|
190 <param name="non_commercial_use" value="True"/>
|
|
|
191 <output name="output" file="output1.html" ftype="html" compare="contains"/>
|
|
|
192 </test>
|
|
|
193 <test>
|
|
|
194 <param name="input" value="input1.fasta" ftype="fasta"/>
|
|
6
|
195 <param name="sequence_alphabet" value="-rna"/>
|
|
5
|
196 <param name="options_type" value="advanced"/>
|
|
|
197 <param name="background_model_order" value="0"/>
|
|
|
198 <param name="non_commercial_use" value="True"/>
|
|
|
199 <output name="output" file="output1.html" ftype="html" compare="contains"/>
|
|
0
|
200 </test>
|
|
|
201 </tests>
|
|
|
202 <help>
|
|
|
203 .. class:: warningmark
|
|
|
204
|
|
|
205 **WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted.
|
|
|
206 Before using, be sure to review, agree, and comply with the license.**
|
|
|
207
|
|
|
208 MWMW-ChIP perform motif discovery, motif enrichment analysis and clustering on large nucleotide datasets.
|
|
|
209
|
|
|
210 If you want to specify sequence weights, you must include them at the top of your input FASTA file.
|
|
|
211
|
|
|
212 MEME discovers novel, ungapped motifs (recurring, fixed-length patterns) in your sequences (sample output from sequences).
|
|
|
213 MEME splits variable-length patterns into two or more separate motifs. A motif is a sequence pattern that occurs repeatedly
|
|
|
214 in a group of related sequences. MEME represents motifs as position-dependent letter-probability matrices which describe the
|
|
|
215 probability of each possible letter at each position in the pattern. Individual MEME motifs do not contain gaps. Patterns
|
|
|
216 with variable-length gaps are split by MEME into two or more separate motifs. MEME takes as input a group of sequences and
|
|
|
217 outputs as many motifs as requested. MEME uses statistical modeling techniques to automatically choose the best width, number
|
|
|
218 of occurrences, and description for each motif.
|
|
|
219
|
|
|
220 .. class:: infomark
|
|
|
221
|
|
|
222 For detailed information on MEME, click here_, or view the license_.
|
|
|
223
|
|
|
224 .. _here: http://meme-suite.org/doc/meme.html?man_type=web
|
|
|
225 .. _license: http://meme-suite.org/doc/copyright.html?man_type=web
|
|
|
226
|
|
|
227 </help>
|
|
|
228 <citations>
|
|
3
|
229 <citation type="doi">10.1093/bioinformatics/btr189</citation>
|
|
0
|
230 </citations>
|
|
|
231 </tool>
|
|
3
|
232
|