This file is indexed.

/var/lib/mobyle/programs/smile.xml is in mobyle-programs 5.1.2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
<?xml version='1.0' encoding='UTF-8'?>
<!-- XML Authors: Corinne Maufrais, Nicolas Joly and Bertrand Neron,             -->
<!-- 'Biological Software and Databases' Group, Institut Pasteur, Paris.         -->
<!-- Distributed under LGPLv2 License. Please refer to the COPYING.LIB document. -->
<program>
  <head>
    <name>smile</name>
    <version>1.47</version>
    <doc>
      <title>SMILE</title>
      <description>
        <text lang="en">Inference of structured signals in multiple sequences</text>
      </description>
      <authors>L. Marsan, J. Allali</authors>
      <reference>Marsan L, Sagot MF (2001). Algorithms for extracting structured motifs using a suffix-tree with application to promoter and regulatory site consensus identification. J. of Computational Biology, 7:345-360.</reference>
      <comment>
        <text lang="en">smile is a program that was primarily made to extract promoter sequences from sequences. The interest of this program is to infer simultaneously several motifs (calledboxes) that respects distance constraints. The user has to select criterias. In a first step of extraction, all signals respecting these criterias are found.  In a second step, they are all statistically evaluated,  aiming  to  detect  the ones that are exceptionally represented in the original sequences.</text>
      </comment>
      <homepagelink>http://www-igm.univ-mlv.fr/~marsan/smile_english.html</homepagelink>
      <sourcelink>http://www-igm.univ-mlv.fr/~marsan/smile_english.html</sourcelink>
    </doc>
    <category>sequence:nucleic:pattern</category>
    <category>sequence:protein:pattern</category>
  </head>
  <parameters>
    <parameter iscommand="1" ishidden="1">
      <name>smile</name>
      <type>
        <datatype>
          <class>String</class>
        </datatype>
      </type>
      <format>
        <code proglang="perl">"smile smile.params"</code>
        <code proglang="python">"smile smile.params"</code>
      </format>
    </parameter>
    <parameter ismandatory="1" issimple="1">
      <name>seq</name>
      <prompt lang="en">Sequences File</prompt>
      <type>
        <datatype>
          <class>Sequence</class>
        </datatype>
        <dataFormat>FASTA</dataFormat>
      </type>
      <format>
        <code proglang="perl">"FASTA file\t\t\t$value\\n"</code>
        <code proglang="python">"FASTA file\t\t\t" + str(value) + "\n"</code>
      </format>
      <argpos>1</argpos>
      <comment>
        <text lang="en">This file must contain at least two sequences, as you cannot detect motifs which are common to several sequences in one sequence!</text>
      </comment>
      <paramfile>smile.params</paramfile>
      <example>
&gt;sequence1
atagtagtagcatcagcatcgatccggactcgtcgcgagcactgacacgatc
aatcgatgatgcacgacgatcgactgatgctacgtcgacatcgctgctgtcc
&gt;sequence2
gatccggactcgtcagcatcagcagcgatagtagtagcatcagcatcgatcc
ggactcgtcgcgagcactgacacgatcatgctacgtcgacatcgcatgctac
&gt;sequenceN
gtcgacatcgccgagcactgacacgatcatgctacgtcgacatcgcatgctac
aatcgatgatccggactcgtcgcggatgcacgacagcatcagcagatcgactg
      </example>
    </parameter>
    <parameter ismandatory="1" issimple="1">
      <name>alphabet</name>
      <prompt lang="en">Alphabet</prompt>
      <type>
        <datatype>
          <class>Choice</class>
        </datatype>
      </type>
      <vdef>
        <value>dna.alphabet</value>
      </vdef>
      <vlist>
        <velem>
          <value>dna.alphabet</value>
          <label>DNA</label>
        </velem>
        <velem>
          <value>dnadeg.alphabet</value>
          <label>Degenerated DNA</label>
        </velem>
        <velem>
          <value>aa-barton.alphabet</value>
          <label>Protein (Zvelebil Barton Taylor Sternberg, JMolBiol 195 (1987)</label>
        </velem>
        <velem>
          <value>aa-smiths.alphabet</value>
          <label>Protein (Smith and Smith 1990)</label>
        </velem>
      </vlist>
      <format>
        <code proglang="perl">"Alphabet file\t\t\t<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../Local/Services/Programs/Env/smile_data.xml" xpointer="xpointer(/alphabet/text())" />$value\\n"</code>
        <code proglang="python">"Alphabet file\t\t\t<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../Local/Services/Programs/Env/smile_data.xml" xpointer="xpointer(/alphabet/text())" />" + str(value) + "\n"</code>
      </format>
      <argpos>2</argpos>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter issimple="1">
      <name>how_many_N</name>
      <prompt lang="en">Maximum number of N in a motif for degenerated DNA or protein alphabet.</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <precond>
        <code proglang="perl">$alphabet ne "dna.alphabet"</code>
        <code proglang="python">alphabet != "dna.alphabet"</code>
      </precond>
      <vdef>
        <value>0</value>
      </vdef>
      <format>
        <code proglang="perl">"Composition in *\t\t$value\\n"</code>
        <code proglang="python">"Composition in *\t\t" + str(value)+"\n"</code>
      </format>
      <argpos>3</argpos>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter issimple="1">
      <name>how_many_R</name>
      <prompt lang="en">Maximum number of purine (R) in a motif for degenerated DNA</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <precond>
        <code proglang="perl">$alphabet eq "dnadeg.alphabet"</code>
        <code proglang="python">alphabet == "dnadeg.alphabet"</code>
      </precond>
      <vdef>
        <value>0</value>
      </vdef>
      <format>
        <code proglang="perl">"Composition in AG\t\t$value\\n"</code>
        <code proglang="python">"Composition in AG\t\t" + str(value)+"\n"</code>
      </format>
      <argpos>3</argpos>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter ismandatory="1" issimple="1">
      <name>how_many_Y</name>
      <prompt lang="en">Maximum number of pyrimidine (Y) in a motif for degenerated DNA</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <precond>
        <code proglang="perl">$alphabet eq "dnadeg.alphabet"</code>
        <code proglang="python">alphabet == "dnadeg.alphabet"</code>
      </precond>
      <vdef>
        <value>0</value>
      </vdef>
      <format>
        <code proglang="perl">"Composition in CT\t\t$value\\n"</code>
        <code proglang="python">"Composition in CT\t\t" + str(value)+"\n"</code>
      </format>
      <argpos>3</argpos>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter ismandatory="1">
      <name>quorum</name>
      <prompt lang="en">Minimum percentage of sequences containing a motif (quorum)</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <vdef>
        <value>50</value>
      </vdef>
      <format>
        <code proglang="perl">"Quorum\t\t\t\t$value\\n"</code>
        <code proglang="python">"Quorum\t\t\t\t" + str(value)+"\n"</code>
      </format>
      <argpos>10</argpos>
      <comment>
        <text lang="en">The  percentage of sequences where at least one occurrence of a motif must appear to make it valid. 100 means that a motif must have occurrences in every sequences.</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter ismandatory="1" issimple="1">
      <name>minlen</name>
      <prompt lang="en">Total min length</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <format>
        <code proglang="perl">"Total min length\t\t$value\\n"</code>
        <code proglang="python">"Total min length\t\t" + str(value)+"\n"</code>
      </format>
      <argpos>11</argpos>
      <comment>
        <text lang="en">The minimal length of the whole motif, i.e. the sum of minimal lengths of each  box. Warning:  the  length  of  the gaps between boxes mustn't me taken into account. The total minimal length may differ of the sum of boxs's minimal length:  you  can,  for instance, infer motifs made of two boxes, with min length of boxes equals to 4 and a total min length equals to 10.</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter>
      <name>maxlen</name>
      <prompt lang="en">Total max length</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <vdef>
        <value>0</value>
      </vdef>
      <format>
        <code proglang="perl">(defined $value)? "Total max length\t\t$value\\n" : ""</code>
        <code proglang="python">( "" , "Total max length\t\t" + str(value)+"\n" )[ value is not None ]</code>
      </format>
      <argpos>12</argpos>
      <comment>
        <text lang="en">Same explanation as "Total min length". Excepted that a 0 length means "infinity"</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter ismandatory="1" issimple="1">
      <name>subst</name>
      <prompt lang="en">Total substitutions</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <format>
        <code proglang="perl">"Total substitutions\t\t$value\\n"</code>
        <code proglang="python">"Total substitutions\t\t" + str(value)+"\n"</code>
      </format>
      <ctrl>
        <message>
          <text lang="en">Too many substitutions (number of substitutions
	    must be smaller than min length)</text>
        </message>
        <code proglang="perl">defined $subst and $subst &lt;= $minlen</code>
        <code proglang="python">subst is not None and subst &lt;= minlen</code>
      </ctrl>
      <argpos>13</argpos>
      <comment>
        <text lang="en">Total maximum number of substitutions for the motif.</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter ishidden="1">
      <name>boxes</name>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <format>
        <code proglang="perl">"Boxes\t\t\t\t\1\\n"</code>
        <code proglang="python">"Boxes\t\t\t\t1\n"</code>
      </format>
      <argpos>20</argpos>
      <comment>
        <text lang="en">The  number of boxes that compose the motifs to infer. Imposed 1 for xml.</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter>
      <name>shuffling</name>
      <prompt lang="en">Number of shufflings</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <vdef>
        <value>100</value>
      </vdef>
      <format>
        <code proglang="perl">(defined $value)?  "Shufflings\t\t\t$value\\n":"" </code>
        <code proglang="python">( "" , "Shufflings\t\t\t"+ str(value)+"\n")[value is not None]</code>
      </format>
      <argpos>100</argpos>
      <comment>
        <text lang="en">The number of shufflings of the original sequences to realize for the evaluation  of the statistical significance of the motifs found.</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter>
      <name>kmer</name>
      <prompt lang="en">Length of the words to conserve during shufflings</prompt>
      <type>
        <datatype>
          <class>Integer</class>
        </datatype>
      </type>
      <vdef>
        <value>2</value>
      </vdef>
      <format>
        <code proglang="perl">(defined $value)?  "Size k-mer\t\t\t$value\\n":"" </code>
        <code proglang="python">("" , "Size k-mer\t\t\t"+ str(value)+"\n")[value is not None]</code>
      </format>
      <argpos>100</argpos>
      <comment>
        <text lang="en">Length of the words to conserve during shufflings (usually 2).</text>
      </comment>
      <paramfile>smile.params</paramfile>
    </parameter>
    <parameter isout="1">
      <name>result</name>
      <prompt>Result file</prompt>
      <type>
        <datatype>
          <class>Text</class>
        </datatype>
      </type>
      <format>
        <code proglang="perl"> "Output file\t\t\tsmile.result\\n" </code>
        <code proglang="python">"Output file\t\t\tsmile.result\n"</code>
      </format>
      <argpos>1</argpos>
      <paramfile>smile.params</paramfile>
      <filenames>
        <code proglang="perl">"smile.result"</code>
        <code proglang="python">"smile.result"</code>
      </filenames>
    </parameter>
    <parameter isout="1">
      <name>shufflefiles</name>
      <prompt>Shuffle result file</prompt>
      <type>
        <datatype>
          <class>Text</class>
        </datatype>
      </type>
      <filenames>
        <code proglang="perl">"smile.result.shuffle"</code>
        <code proglang="python">"smile.result.shuffle"</code>
      </filenames>
    </parameter>
  </parameters>
</program>