JWS-112 Bumping version of ClustalO (src, binaries and windows) to version 1.2.4.
[jabaws.git] / binaries / src / clustalo / README
1 \r
2 \r
3 CLUSTAL-OMEGA is a general purpose multiple sequence alignment program\r
4 for protein and DNA/RNA.\r
5 \r
6 \r
7 If you like Clustal-Omega please cite: Sievers F, Wilm A, Dineen D,\r
8  Gibson TJ, Karplus K, Li W, Lopez R, McWilliam H, Remmert M, Söding\r
9  J, Thompson JD, Higgins DG.  Fast, scalable generation of\r
10  high-quality protein multiple sequence alignments using Clustal\r
11  Omega.  Mol Syst Biol. 2011 Oct 11;7:539. doi:\r
12  10.1038/msb.2011.75. PMID: 21988835.\r
13 If you don't like Clustal-Omega, please let us know why (and cite us\r
14 anyway).\r
15 \r
16 Check http://www.clustal.org for more information and updates.\r
17 \r
18 \r
19 INTRODUCTION\r
20 \r
21 Clustal-Omega is a general purpose multiple sequence alignment (MSA)\r
22 program for protein and DNA/RNA. It produces high quality MSAs and is\r
23 capable of handling data-sets of hundreds of thousands of sequences in\r
24 reasonable time.\r
25 \r
26 In default mode, users give a file of sequences to be aligned and\r
27 these are clustered to produce a guide tree and this is used to guide\r
28 a "progressive alignment" of the sequences.  There are also facilities\r
29 for aligning existing alignments to each other, aligning a sequence to\r
30 an alignment and for using a hidden Markov model (HMM) to help guide\r
31 an alignment of new sequences that are homologous to the sequences\r
32 used to make the HMM.  This latter procedure is referred to as\r
33 "external profile alignment" or EPA.\r
34 \r
35 Clustal-Omega uses HMMs for the alignment engine, based on the HHalign\r
36 package from Johannes Soeding [1]. Guide trees are made using an\r
37 enhanced version of mBed [2] which can cluster very large numbers of\r
38 sequences in O(N*log(N)) time. Multiple alignment then proceeds by\r
39 aligning larger and larger alignments using HHalign, following the\r
40 clustering given by the guide tree.\r
41 \r
42 In its current form Clustal-Omega has been extensivly tested for\r
43 protein sequences, DNA/RNA support has been added since version 1.1.0.\r
44 \r
45 \r
46 \r
47 SEQUENCE INPUT:\r
48 \r
49 -i, --in, --infile={<file>,-}\r
50         Multiple sequence input file (- for stdin)\r
51 \r
52 --hmm-in=<file>\r
53         HMM input files\r
54 \r
55 --dealign\r
56         Dealign input sequences\r
57 \r
58 --profile1, --p1=<file>\r
59         Pre-aligned multiple sequence file (aligned columns will be kept fixed)\r
60 \r
61 --profile2, --p2=<file>\r
62         Pre-aligned multiple sequence file (aligned columns will be kept fixed)\r
63 \r
64 --is-profile\r
65         disable check if profile, force profile (default no)\r
66 \r
67 -t, --seqtype={Protein, RNA, DNA} \r
68         Force a sequence type (default: auto)\r
69 \r
70 --infmt={a2m=fa[sta],clu[stal],msf,phy[lip],selex,st[ockholm],vie[nna]} \r
71         Forced sequence input file format (default: auto)\r
72 \r
73 \r
74 For sequence and profile input Clustal-Omega uses the Squid library\r
75 from Sean Eddy [3].\r
76 \r
77 \r
78 Clustal-Omega accepts 3 types of sequence input: (i) a sequence file\r
79 with un-aligned or aligned sequences, (ii) profiles (a multiple\r
80 alignment in a file) of aligned sequences, (iii) a HMM. Valid\r
81 combinations of the above are:\r
82 \r
83 (a) one file with un-aligned or aligned sequences (i); the sequences\r
84     will be aligned, and the alignment will be written out. For this\r
85     mode use the -i flag. If the sequences are aligned (all sequences\r
86     have the same length and at least one sequence has at least one\r
87     gap), then the alignment is turned into a HMM, the sequences are\r
88     de-aligned and the now un-aligned sequences are aligned using the\r
89     HMM as an External Profile for External Profile Alignment (EPA).\r
90     If no EPA is desired use the --dealign flag.\r
91 \r
92     Use the above option to make a multiple alignment from a set of\r
93     sequences. A sequence file must contain more than one sequence (at\r
94     least two sequences).\r
95 \r
96 (b) two profiles (ii)+(ii); the columns in each profile will be kept\r
97     fixed and the alignment of the two profiles will be written\r
98     out. Use the --p1 and --p2 flags for this mode.\r
99 \r
100     Use this option to align two alignments (profiles) together.\r
101 \r
102 \r
103 (c) one file with un/aligned sequences (i) and one profile (ii); the\r
104     profile is converted into a HMM and the un-aligned sequences will\r
105     be multiply aligned (using the HMM background information) to form\r
106     a profile; this constructed profile is aligned with the input\r
107     profile; the columns in each profile (the original one and the one\r
108     created from the un-aligned sequences) will be kept fixed and the\r
109     alignment of the two profiles will be written out. Use the -i flag\r
110     in conjunction with the --p1 flag for this mode.\r
111       The un/aligned sequences file (i) must contain at least two\r
112     sequences. If a single sequence has to be aligned with a profile\r
113     the profile-profile option (b) has to be used.\r
114 \r
115     Use the above option to add new sequences to an existing\r
116     alignment.\r
117 \r
118 (d) one file with un-aligned sequences (i) and one HMM (iii); the\r
119     un-aligned sequences will be aligned to form a profile, using the\r
120     HMM as an External Profile. So far only one HMM can be input and\r
121     only HMMer2 and HMMer3 formats are allowed. The alignment will be\r
122     written out; the HMM information is discarded. As, at the moment,\r
123     only one HMM can be used, no HMM is produced if the sequences are\r
124     already aligned. Use the -i flag in conjunction with the --hmm-in\r
125     flag for this mode. Multiple HMMs can be inputted, however, in the\r
126     current version all but the first HMM will be ignored.\r
127 \r
128     Use this option to make a new multiple alignment of sequences from\r
129     the input file and use the HMM as a guide (EPA).\r
130 \r
131 Sequences that all have the same lengths but do not contain a single\r
132 gap are by default not recognised as a profile. If these sequences are\r
133 indeed a profile and not just a collection of unaligned sequences that\r
134 happen to have the same length, then specify the --is-profile flag.\r
135 \r
136 \r
137 Invalid combinations of the above are:\r
138 \r
139 (v) an un/aligned sequence file containing just one sequence (i)\r
140 \r
141 (w) an un/aligned sequence file containing just one sequence and a profile\r
142     (i)+(ii)\r
143 \r
144 (x) an un/aligned sequence file containing just one sequence and a HMM\r
145     (i)+(iii)\r
146 \r
147 (y) two or more HMMs (iii)+(iii)+... cannot be aligned to one another.\r
148 \r
149 (z) one profile (ii) cannot be aligned with a HMM (iii)\r
150 \r
151 \r
152 The following MSA file formats are allowed:\r
153 \r
154     a2m=fasta, (vienna)\r
155     clustal,\r
156     msf,\r
157     phylip,\r
158     selex,\r
159     stockholm\r
160 \r
161 Clustal-Omega accepts gzip-ed input.\r
162 \r
163 \r
164 Prior to MSA, Clustal-Omega de-aligns all sequence input (i). However,\r
165 alignment information is automatically converted into a HMM and used\r
166 during MSA, unless the --dealign flag is specifically set.  Profiles\r
167 (ii) are not de-aligned.\r
168 \r
169 Since version 1.1.0 the Clustal-Omega alignment engine can process\r
170 DNA/RNA. Clustal-Omega tries to guess the sequence type (protein,\r
171 DNA/RNA), but this can be over-ruled with the --seqtype (-t) flag.\r
172 \r
173 \r
174 CLUSTERING:\r
175 \r
176   --distmat-in=<file>\r
177         Pairwise distance matrix input file (skips distance computation)\r
178 \r
179   --distmat-out=<file>\r
180         Pairwise distance matrix output file\r
181 \r
182   --guidetree-in=<file>\r
183         Guide tree input file\r
184         (skips distance computation and guide tree clustering step)\r
185 \r
186   --guidetree-out=<file>\r
187         Guide tree output file\r
188 \r
189   --full\r
190         Use full distance matrix for guide-tree calculation (slow; mBed is default)\r
191 \r
192   --full-iter\r
193         Use full distance matrix for guide-tree calculation during iteration (mBed is default)\r
194 \r
195   --cluster-size=<n>        \r
196         soft maximum of sequences in sub-clusters\r
197 \r
198   --clustering-out=<file>   \r
199         Clustering output file\r
200 \r
201   --use-kimura\r
202         use Kimura distance correction for aligned sequences (default no)\r
203 \r
204   --percent-id\r
205         convert distances into percent identities (default no)\r
206 \r
207 In order to produce a multiple alignment Clustal-Omega requires a\r
208 guide tree which defines the order in which sequences/profiles are\r
209 aligned. A guide tree in turn is constructed, based on a distance\r
210 matrix. Conventionally, this distance matrix is comprised of all the\r
211 pair-wise distances of the sequences. The distance measure\r
212 Clustal-Omega uses for pair-wise distances of un-aligned sequences is\r
213 the k-tuple measure [4], which was also implemented in Clustal 1.83\r
214 and ClustalW2 [5,6]. If the protein sequences inputted via -i are\r
215 aligned, then Clustal-Omega uses pairwise aligned identities, these\r
216 distances can be Kimura-corrected [7] by specifying --use-kimura. The\r
217 distances between aligned DNA/RNA sequences are determined from the\r
218 alignment, no Kimura correction can be used. The computational effort\r
219 (time/memory) to calculate and store a full distance matrix grows\r
220 quadratically with the number of sequences.  Clustal-Omega can improve\r
221 this scalability to N*log(N) by employing a fast clustering algorithm\r
222 called mBed [2]; this option is automatically invoked (default). If a\r
223 full distance matrix evaluation is desired, then the --full flag has\r
224 to be set. The mBed mode calculates a reduced set of pair-wise\r
225 distances. These distances are used in a k-means algorithm, that\r
226 clusters at most 100 sequences. For each cluster a full distance\r
227 matrix is calculated. No full distance matrix (of all input sequences)\r
228 is calculated in mBed mode. If there are less than 100 sequences in\r
229 the input, then in effect a full distance matrix is calculated in mBed\r
230 mode, however, no distance matrix can be outputted (see below).  The\r
231 default cluster size of 100 can be over-written by specifying the\r
232 --cluster-size flag.\r
233 \r
234 Clustal-Omega uses Muscle's [8] fast UPGMA implementation to construct\r
235 its guide trees from the distance matrix. By default, the distance\r
236 matrix is used internally to construct the guide tree and is then\r
237 discarded. By specifying --distmat-out the internal distance matrix\r
238 can be written to file. This is only possible in --full or --full-iter\r
239 mode. The guide trees by default are used internally to guide the\r
240 multiple alignment and are then discarded. By specifying the\r
241 --guidetree-out option these internal guide trees can be written out\r
242 to file. Conversely, the distance calculation and/or guide tree\r
243 building stage can be skipped, by reading in a pre-calculated distance\r
244 matrix and/or pre-calculated guide tree. These options are invoked by\r
245 specifying the --distmat-in and/or --guidetree-in flags,\r
246 respectively. By default, distance matrix and guide tree files are not\r
247 over-written, if a file with the specified name already exists. In\r
248 this case Clustal-Omega aborts during the command-line processing\r
249 stage. To force over-writing of already existing files use the --force\r
250 flag (see MISCELLANEOUS).  In mBed mode a full distance matrix cannot\r
251 be outputted, distance matrix output is only possible in --full mode.\r
252 mBed or --full distance mode do not affect the ability to write out\r
253 guide-trees. It is possible to perform an initial mBed (not-full)\r
254 distance calculation and a subsequent full distance calculation by\r
255 specifying the --full-iter flag (see section ITERATION). In this case\r
256 a distance matrix can be outputted.\r
257 \r
258 Guide trees can be iterated to refine the alignment (see section\r
259 ITERATION). Clustal-Omega takes the alignment, that was produced\r
260 initially and constructs a new distance matrix from this alignment.\r
261 The distance measure used at this stage is a full alignment distance\r
262 (as opposed the initial pairwise k-tuple distance); distances of\r
263 protein sequences can be Kimura corrected [7], DNA/RNA distances are\r
264 not. By default, Clustal-Omega constructs a reduced distance matrix at\r
265 this stage using the mBed algorithm, which will then be used to create\r
266 an improved (iterated) new guide tree. To turn off mBed-like\r
267 clustering at this stage the --full-iter flag has to be set. While\r
268 full alignment distances in general are much faster to calculate than\r
269 k-tuple distances, time and memory requirements still scale\r
270 quadratically with the number of sequences and --full-iter clustering\r
271 should only be considered for smaller cases (<< 10,000 sequences) or\r
272 if response time and resources are not an issue.\r
273 \r
274 The default cluster size in mBed mode is 100. This means that\r
275 sequences are grouped into clusters with a soft maximum of 100\r
276 sequences, full distance matrices are calculated for these clusters,\r
277 guide-trees are calculated for the clusters and the clusters are then\r
278 strung together with an over-arching guide-tree. It is possible to\r
279 change the cluster-size with the --cluster-size flag. The clustering\r
280 can be outputted to file. The output is comprised of the cluster\r
281 index, a running index for the sequences within each cluster, the\r
282 running index for the sequence within the input file, the name of the\r
283 sequence and the bi-section sequence (see EXAMPLES). \r
284 \r
285 Clustal-Omega uses pair-distances. Between unaligned sequences these\r
286 are so called k-tuple distance, between aligned sequences they are\r
287 full alignment distances, as employed by Squid. These values range\r
288 between 0.0 (identical) and 1.0 (completely different). The distances\r
289 are used to construct the guide-tree and are by default outputted if\r
290 --distmat-out is specified (and --full and/or --full-iter are\r
291 set). For full alignment distances there is a so called Kimura\r
292 correction [7] which more closely reflects evolutionary\r
293 distance. Kimura-corrected distances range from 0.0 (identical) to\r
294 theoretically infinity (completely different). In practice there\r
295 appears to be a maximum value. In Clustal-Omega these Kimura-corrected\r
296 distance can be outputted for protein if the --use-kimura flag is\r
297 specified. Kimura correction is not available for DNA/RNA.  Up to and\r
298 including version 1.1.1 Kimura-corrected distances were outputted by\r
299 default (where possible). Since version 1.2.0 the default is to output\r
300 uncorrected distances.\r
301 \r
302 \r
303 Pair-distances closely correspond to percentage pair-wise identities\r
304 through i=100*(1-d), where i is the percentage pair-wise identity and\r
305 d is the pair-wise distance. Percentage pair-wise identities can be\r
306 outputted in Clustal-Omega instead of the distance matrix by\r
307 specifying the --percent-id flag as well as --distmat-out, --full\r
308 and/or --full-iter. Percentage pair-wise identities cannot be\r
309 outputted if --use-kimura is specified.\r
310 \r
311 \r
312 ALIGNMENT OUTPUT:\r
313 \r
314   -o, --out, --outfile={file,-} \r
315         Multiple sequence alignment output file (default: stdout)\r
316 \r
317   --outfmt={a2m=fa[sta],clu[stal],msf,phy[lip],selex,st[ockholm],vie[nna]} \r
318         MSA output file format (default: fasta)\r
319 \r
320   --residuenumber, --resno  \r
321         in Clustal format print residue numbers (default no)\r
322 \r
323   --wrap=<n>  \r
324         number of residues before line-wrap in output\r
325 \r
326   --output-order={input-order,tree-order} \r
327         MSA output order like in input/guide-tree\r
328 \r
329 \r
330 By default Clustal-Omega writes its results (alignments) to stdout. An\r
331 output file can be specified with the -o flag. Output to stdout is not\r
332 possible in verbose mode (-v, see MISCELLANEOUS) as verbose/debugging\r
333 messages would interfere with the alignment output.  By default,\r
334 alignment files are not over-written, if a file with the specified\r
335 name already exists. In this case Clustal-Omega aborts during the\r
336 command-line processing stage. To force over-writing of already\r
337 existing files use the --force flag (see MISCELLANEOUS).\r
338 \r
339 Clustal-Omega can output alignments in various formats by setting the\r
340 --outfmt flag:\r
341 \r
342   * for Fasta format set: --outfmt=a2m  or  --outfmt=fa  or  --outfmt=fasta\r
343 \r
344   * for Clustal format set: --outfmt=clu  or  --outfmt=clustal\r
345 \r
346   * for Msf format: set --outfmt= msf\r
347 \r
348   * for Phylip format set: --outfmt=phy  or  --outfmt=phylip\r
349 \r
350   * for Selex format set: --outfmt=selex\r
351 \r
352   * for Stockholm format set: --outfmt=st  or  --outfmt=stockholm\r
353 \r
354   * for Vienna format set: --outfmt=vie  or  --outfmt=vienna\r
355 \r
356 In ClustalW one could print the residue number of the last residue in\r
357 each line in Clustal-Format. This feature can be turned on by setting\r
358 the --resno or --residuenumber flag.\r
359 \r
360 The line lengths in Clustal Format is usually 60 residues, in Fasta\r
361 format it is usually 60 or 80 residues. This value can be set using\r
362 the --wrap flag.\r
363 \r
364 By default the order of sequences in the output is the same as in the\r
365 input (--output-order=input-order). This can be changed to the order\r
366 in which the sequences appear in the guide-tree by setting\r
367 --output-order=tree-order.\r
368 \r
369 \r
370 ITERATION:\r
371 \r
372   --iterations, --iter=<n>  Number of (combined guide tree/HMM) iterations\r
373 \r
374   --max-guidetree-iterations=<n> Maximum guide tree iterations\r
375 \r
376   --max-hmm-iterations=<n>  Maximum number of HMM iterations\r
377 \r
378 \r
379 By default, Clustal-Omega calculates (or reads in) a guide tree and\r
380 performs a multiple alignment in the order specified by this guide\r
381 tree. This alignment is then outputted. Clustal-Omega can 'iterate'\r
382 its guide tree. The hope is that the full alignment distances, that\r
383 can be derived from the initial alignment, will give rise to a better\r
384 guide tree, and by extension, to a better alignment.\r
385 \r
386 A similar rationale applies to HMM-iteration. MSAs in general are very\r
387 'vulnerable' at their early stages. Sequences that are aligned at an\r
388 early stage remain fixed for the rest of the MSA. Another way of\r
389 putting this is: 'once a gap, always a gap'. This behaviour can be\r
390 mitigated by HMM iteration. An initial alignment is created and turned\r
391 into a HMM. This HMM can help in a new round of MSA to 'anticipate'\r
392 where residues should align. This is using the HMM as an External\r
393 Profile and carrying out iterative EPA.  In practice, individual\r
394 sequences and profiles are aligned to the External HMM, derived after\r
395 the initial alignment. Pseudo-count information is then transferred to\r
396 the (internal) HMM, corresponding to the individual\r
397 sequence/profile. The now somewhat 'softened' sequences/profiles are\r
398 then in turn aligned in the order specified by the guide\r
399 tree. Pseudo-count transfer is reduced with the size of the\r
400 profile. Individual sequences attain the greatest pseudo-count\r
401 transfer, larger profiles less so. Pseudo-count transfer to profiles\r
402 larger than, say, 10 is negligible. The effect of HMM iteration is\r
403 more pronounced in larger test sets (that is, with more sequences).\r
404 \r
405 Both, HMM- and guide tree-iteration come at a cost of increasing the\r
406 run-time. One round of guide tree iteration adds on (roughly) the time\r
407 it took to construct the initial alignment. If, for example, the\r
408 initial alignment took 1min, then it will take (roughly) 2min to\r
409 iterate the guide tree once, 3min to iterate the guide tree twice, and\r
410 so on. HMM-iteration is more costly, as each round of iteration adds\r
411 three times the time required for the alignment stage. For example, if\r
412 the initial alignment took 1min, then each additional round of HMM\r
413 iteration will add on 3min; so 4 iterations will take 13min\r
414 (=1min+4*3min). The factor of 3 stems from the fact that at every\r
415 stage both intermediate profiles have to be aligned with the\r
416 background HMM, and finally the (softened) HMMs have to be aligned as\r
417 well. All times are quoted for single processors.\r
418 \r
419 By default, guide tree iteration and HMM-iteration are coupled. This\r
420 means, at each iteration step both, guide tree and HMM, are\r
421 re-calculated. This is invoked by setting the --iter flag. For\r
422 example, if --iter=1, then first an initial alignment is produced\r
423 (without external HMM background information and using k-tuple\r
424 distances to calculate the guide tree). This initial alignment is then\r
425 used to re-calculate a new guide tree (using full alignment distances)\r
426 and to create a HMM. The new guide tree and the HMM are then used to\r
427 produce a new MSA.\r
428 \r
429 Iteration of guide tree and HMM can be de-coupled. This means that the\r
430 number of guide tree iterations and HMM iterations can be\r
431 different. This can be done by combining the --iter flag with the\r
432 --max-guidetree-iterations and/or the --max-hmm-iterations flag.  The\r
433 number of guide tree iterations is the minimum of --iter and\r
434 --max-guidetree-iterations, while the number of HMM iterations is the\r
435 minimum of --iter and --max-hmm-iterations.  If, for example, HMM\r
436 iteration should be performed 5 times but guide tree iteration should\r
437 be performed only 3 times, then one should set --iter=5 and\r
438 --max-guidetree-iterations=3. All three flags can be specified at the\r
439 same time (however, this makes no sense). It is not sufficient just to\r
440 specify --max-guidetree-iterations and --max-hmm-iterations but not\r
441 --iter. If any iteration is desired, then --iter has to be\r
442 set. Conversely, if no alignment is desired but only distance\r
443 calculation and tree construction, then --max-hmm-iterations=-1 will\r
444 terminate the calculation before the alignment stage; --iter does not\r
445 have to be specified in this case.\r
446 \r
447 \r
448 LIMITS (will exit early, if exceeded):\r
449 \r
450   --maxnumseq=<n>           Maximum allowed number of sequences\r
451 \r
452   --maxseqlen=<l>           Maximum allowed sequence length\r
453 \r
454 Limits can be imposed on the number of sequences in the input file\r
455 and/or the lengths of the sequences. This cap can be set with the\r
456 --maxnumseq and --maxseqlen flags, respectively. Clustal-Omega will\r
457 exit early, if these limits are exceeded.\r
458 \r
459 \r
460 MISCELLANEOUS:\r
461 \r
462   --auto                    Set options automatically (might overwrite some of your options)\r
463 \r
464   --threads=<n>             Number of processors to use\r
465 \r
466   -l, --log=<file>          Log all non-essential output to this file\r
467 \r
468   -h, --help                Print help and exit\r
469 \r
470   -v, --verbose             Verbose output (increases if given multiple times)\r
471 \r
472   --version                 Print version information and exit\r
473 \r
474   --long-version            Print long version information and exit\r
475 \r
476   --force                   Force file overwriting\r
477 \r
478 \r
479 Users may feel unsure which options are appropriate in certain\r
480 situations even though using ClustalO without any special options\r
481 should give you the desired results. The --auto flag tries to\r
482 alleviate this problem and selects accuracy/speed flags according to\r
483 the number of sequences. For all cases will use mBed and thereby\r
484 possibly overwrite the --full option. For more than 1,000 sequences\r
485 the iteration is turned off as the effect of iteration is more\r
486 noticeable for 'larger' problems. Otherwise iterations are set to 1 if\r
487 not already set to a higher value by the user. Expert users may want\r
488 to avoid this flag and exercise more fine tuned control by selecting\r
489 the appropriate options manually.\r
490 \r
491 Certain parts of the MSA calculation have been parallelised. Most\r
492 noticeably, the distance matrix calculation, and certain aspects of\r
493 the HMM building stage. Clustal-Omega uses OpenMP. By default,\r
494 Clustal-Omega will attempt to use as many threads as possible. For\r
495 example, on a 4-core machine Clustal-Omega will attempt to use 4\r
496 threads. The number of threads can be limited by setting the --threads\r
497 flag. This may be desirable, for example, in the case of\r
498 benchmarking/timing.\r
499 \r
500 Usually, non-essential (verbose) output is written to screen. This\r
501 output can be written to file by specifying the --log flag.\r
502 \r
503 Help is available by specifying the -h flag.\r
504 \r
505 By default Clustal-Omega does not print any information to stdout\r
506 (other than the final alignment, if no output file is\r
507 specified). Information concerning the progress of the alignment can\r
508 be obtained by specifying one verbosity flag (-v). This may be\r
509 desirable, to verify what Clustal-Omega is actually doing at the\r
510 moment. If two verbosity flags (-v -v) are specified, command-line\r
511 flags (explicitly and implicitly set) are printed in addition to the\r
512 progress report.  Triple verbose level (-v -v -v) is the most verbose\r
513 level. In addition to single- and double-verbose information much more\r
514 information is displayed: input sequences and names, details of the\r
515 tree construction and intermediate alignments. Tree construction\r
516 information includes pairwise distances. The number of pairwise\r
517 distances scales with the square of the number of sequences, and\r
518 double verbose mode is probably only useful for a small number of\r
519 sequences.\r
520 \r
521 The current version number of Clustal-Omega can be displayed by\r
522 setting the --version flag.\r
523 \r
524 The current version number of Clustal-Omega as well as the code-name\r
525 and the build date can be displayed by setting the --long-version\r
526 flag.\r
527 \r
528 By default, Clustal-Omega does not over-write files. These can be (i)\r
529 alignment output, (ii) distance matrix and (iii) guide\r
530 tree. Overwriting can be forced by setting the --force flag.\r
531 \r
532 \r
533 EXAMPLES:\r
534 \r
535 ./clustalo -i globin.fa\r
536 \r
537 Clustal-Omega reads the sequence file globin.fa, aligns the sequences\r
538 and prints the result to screen in fasta/a2m format.\r
539 \r
540 \r
541 ./clustalo -i globin.fa -o globin.sto --outfmt=st\r
542 \r
543 If the file globin.sto does not exist, then Clustal-Omega reads the\r
544 sequence file globin.fa, aligns the sequences and prints the result to\r
545 globin.sto in Stockholm format. If the file globin.sto does exist\r
546 already, then Clustal-Omega terminates the alignment process before\r
547 reading globin.fa.\r
548 \r
549 \r
550 ./clustalo -i globin.fa -o globin.aln --outfmt=clu --force\r
551 \r
552 Clustal-Omega reads the sequence file globin.fa, aligns the sequences\r
553 and prints the result to globin.aln in Clustal format, overwriting the\r
554 file globin.aln, if it already exists.\r
555 \r
556 \r
557 ./clustalo -i globin.fa --distmat-out=globin.mat --guidetree-out=globin.dnd --force\r
558 \r
559 Clustal-Omega reads the sequence file globin.fa, aligns the sequences,\r
560 prints the result to screen in fasta/a2m format (default), the guide\r
561 tree to globin.dnd and the distance matrix to globin.mat, overwriting\r
562 those files if they already exist.\r
563 \r
564 \r
565 ./clustalo -i globin.fa --guidetree-in=globin.dnd\r
566 \r
567 Clustal-Omega reads the files globin.fa and globin.dnd, skipping\r
568 distance calculation and guide tree creation, using instead the guide\r
569 tree specified in globin.dnd.\r
570 \r
571 \r
572 ./clustalo -i globin.fa --hmm-in=PF00042.hmm\r
573 \r
574 Clustal-Omega reads the sequence file globin.fa and the HMM file\r
575 PF00042.hmm (in HMMer2 or HMMer3 format).  It then performs the\r
576 alignment, transferring pseudo-count information contained in\r
577 PF00042.hmm to the sequences/profiles during the MSA.\r
578 \r
579 \r
580 ./clustalo -i globin.sto\r
581 \r
582 Clustal-Omega reads the file globin.sto (of aligned sequences in\r
583 Stockholm format). It converts the alignment into a HMM, de-aligns the\r
584 sequences and re-aligns them, transferring pseudo-count information to\r
585 the sequences/profiles during the MSA. The guide tree is constructed\r
586 using a full distance matrix.\r
587 \r
588 \r
589 ./clustalo -i globin.sto  --dealign\r
590 \r
591 Clustal-Omega reads the file globin.sto (of aligned sequences in\r
592 Stockholm format). It de-aligns the sequences and then re-aligns\r
593 them. No HMM is produced in the process, no pseudo-count information\r
594 is transferred. Consequently, the output must be the same as for\r
595 unaligned output (like in the first example ./clustalo -i globin.fa)\r
596 \r
597 \r
598 ./clustalo -i globin.fa --iter=2\r
599 \r
600 Clustal-Omega reads the file globin.fa, creates a UPGMA guide tree\r
601 built from k-tuple distances, and performs an initial alignment. This\r
602 initial alignment is converted into a HMM and a new guide tree is\r
603 built from the (preliminary) full alignment distances of the initial\r
604 alignment. The un-aligned sequences are then aligned (for the second\r
605 time but this time) using pseudo-count information from the HMM\r
606 created after the initial alignment (and using the new guide\r
607 tree). This second alignment is then again converted into a HMM and a\r
608 new guide tree is constructed. The un-aligned sequences are then\r
609 aligned (for a third time), again using pseudo-count information of\r
610 the HMM from the previous step and the most recent guide tree. The\r
611 final alignment is written to screen.\r
612 \r
613 \r
614 ./clustalo -i globin.fa --iter=5 --max-guidetree-iterations=1\r
615 \r
616 Clustal-Omega reads the file globin.fa, creates a UPGMA guide tree\r
617 built from k-tuple distances, and performs an initial alignment. This\r
618 initial alignment is converted into a HMM and a new guide tree is\r
619 built from the (preliminary) full alignment distances of the initial\r
620 alignment. The un-aligned sequences are then aligned (for the second\r
621 time but this time) using pseudo-count information from the HMM\r
622 created after the initial alignment (and using the new guide\r
623 tree). For the last 4 iterations the guide tree is left unchanged and\r
624 only HMM iteration is performed. This means that intermediate\r
625 alignments are converted to HMMs, and these intermediate HMMs are used\r
626 to guide the MSA during subsequent iteration stages.\r
627 \r
628 \r
629 ./clustalo -i globin.fa -o globin.a2m -v\r
630 \r
631 In case the file globin.a2m does not exist, Clustal-Omega reads the\r
632 file globin.fa, prints a progress report to screen and writes the\r
633 alignment in (default) Fasta format to globin.a2m. The progress report\r
634 consists of the number of threads used, the number of sequences read,\r
635 the current progress in the k-tuple distance calculation, completion\r
636 of the guide tree computation and current progress of the MSA stage.\r
637 If the file globin.a2m already exists Clustal-Omega aborts before\r
638 reading the file globin.fa. Note that in verbose mode an output file\r
639 has to be specified, because progress/debugging information, which is\r
640 printed to screen, would interfere with the alignment being printed to\r
641 screen.\r
642 \r
643 \r
644 ./clustalo -i PF00042_full.fa --dealign --full --outfmt=vie -o PF00042_full.vie --force\r
645 \r
646 Clustal-Omega reads the file PF00042_full.fa. This file contains\r
647 several thousand aligned sequences. --dealign tells Clustal-Omega to\r
648 erase all alignment information and re-align the sequences from\r
649 scratch. As there are several thousand sequences calculating a full\r
650 distance matrix may be slow. Setting the --full flag specifically\r
651 selects the full distance mode over the default mBed mode. The\r
652 alignment is then written out in Vienna format (fasta format all on\r
653 one line, no line breaks per sequence) to file PF00042_full.vie.\r
654 \r
655 \r
656 ./clustalo -i PF00042_full.fa --dealign --outfmt=vie -o PF00042_full.vie --force\r
657 \r
658 Clustal-Omega reads the file PF00042_full.fa. This file contains\r
659 several thousand aligned sequences. --dealign tells Clustal-Omega to\r
660 erase all alignment information and re-align the sequences from\r
661 scratch. Calculating the distance matrix will be done by mBed\r
662 (default). Clustal-Omega will calculate pairwise distances to a\r
663 small number of reference sequences only. This will give a significant\r
664 speed-up. The speed-up is greater for larger families (more\r
665 sequences). The alignment is then written out in Vienna format (fasta\r
666 format all on one line, no line breaks per sequence) to file\r
667 PF00042_full.vie.\r
668 \r
669 \r
670 ./clustalo --p1=globin.sto --p2=PF00042_full.vie -o globin+pf00042.fa\r
671 \r
672 Clustal-Omega reads files globin.sto and PF00042_full.vie of aligned\r
673 sequences (profiles). Both profiles are then aligned. The relative\r
674 positions of residues in both profiles are not changed during this\r
675 alignment, however, columns of gaps may be inserted into the profiles,\r
676 respectively. The final alignment is written to file globin+pf00042.fa\r
677 in fasta format.\r
678 \r
679 \r
680 ./clustalo -i globin.fa --p1=PF00042_full.vie -o pf00042+globin.fa\r
681 \r
682 Clustal-Omega reads file globin.fa of un-aligned sequences and the\r
683 profile (of aligned sequences) in file PF00042_full.vie. A HMM is\r
684 created from the profile. This HMM is used to guide the alignment of\r
685 the un-aligned sequences in globin.fa. The profile that was generated\r
686 during this alignment of un-aligned globin.fa sequences is then\r
687 aligned to the input profile PF00042_full.vie. The relative positions\r
688 of residues in profile PF00042_full.vie is not changed during this\r
689 alignment, however, columns of gaps may be inserted into the\r
690 profile. The final alignment is output to file pf00042+globin.fa in\r
691 fasta format. The alignment in this example may be slightly different\r
692 from the alignment in the previous example, because no HMM guidance\r
693 was used generate the profile globin.sto. In this example HMM guidance\r
694 was used to align the sequences in globin.fa; the hope being that this\r
695 intermediate alignment will have profited from the bigger profile.\r
696 \r
697 \r
698 ./clustalo -i globin.fa --clustering-out=globin.aux  --cluster-size=3\r
699 \r
700 globin.fa contains 7 sequences. Usually a full distance matrix is\r
701 created for less than 100 sequences. This is over-written by\r
702 specifying --cluster-size=3. Clustal-Omega attempts to create clusters\r
703 of no more than 3 sequences. This clustering is recorded in the file\r
704 globin.aux which looks like\r
705 \r
706         Cluster 0: object 0 has index 0 (=seq P1|HBB_HUMAN )     00\r
707         Cluster 0: object 1 has index 1 (=seq P1|HBB_HORSE )     00\r
708         Cluster 1: object 0 has index 4 (=seq P1|MYG_PHYCA )     1\r
709         Cluster 1: object 1 has index 5 (=seq P1|GLB5_PETMA )    1\r
710         Cluster 1: object 2 has index 6 (=seq P1|LGB2_LUPLU )    1\r
711         Cluster 2: object 0 has index 2 (=seq P1|HBA_HUMAN )     01\r
712         Cluster 2: object 1 has index 3 (=seq P1|HBA_HORSE )     01\r
713 \r
714 There are 3 clusters, named Cluster~0, Cluster~1 and\r
715 Cluster~2. Cluster~0 has 2 sequences, which are sequence 0 and 1 from\r
716 the input file, named P1|HBB_HUMAN and P1|HBB_HORSE. Cluster~1 has 3\r
717 sequences, sequences 4,5,6 from the input file and Cluster~2 has 2\r
718 sequences, sequences 2 and 3 from the input file. The binary string at\r
719 the end of each line encode the bi-section that led to this\r
720 clustering. The first digit indicated the initial split. The '0'\r
721 indicates that in the first split sequences 0,1,2,3 were grouped\r
722 together and the '1' that sequences 4,5,6 were grouped together. The\r
723 size of Cluster~1 does not exceed --cluster-size, so it does not need\r
724 to be broken up. The Cluster (with the initial '0') containing\r
725 sequences 0,1,2,3 is comprised of 4 sequences; this number exceeds\r
726 --cluster-size, so that it will have to be broken up. This second\r
727 split is indicated by the second digit of the binary string. The\r
728 second '0' indicates that sequences 0,1 fall into one Cluster (which\r
729 will ultimately be Cluster~0), and the second '1' indicates that\r
730 sequences 2,3 fall into another cluster (ultimately Cluster~2).\r
731 \r
732 \r
733 LITERATURE:\r
734 \r
735 [1] Johannes Soding (2005) Protein homology detection by HMM-HMM\r
736     comparison. Bioinformatics 21 (7): 951–960.\r
737 \r
738 [2] Blackshields G, Sievers F, Shi W, Wilm A, Higgins DG.  Sequence\r
739     embedding for fast construction of guide trees for multiple\r
740     sequence alignment.  Algorithms Mol Biol. 2010 May 14;5:21.\r
741 \r
742 [3] http://www.genetics.wustl.edu/eddy/software/#squid\r
743 \r
744 [4] Wilbur and Lipman, 1983; PMID 6572363\r
745 \r
746 [5] Thompson JD, Higgins DG, Gibson TJ.  (1994). CLUSTAL W: improving\r
747     the sensitivity of progressive multiple sequence alignment through\r
748     sequence weighting, position-specific gap penalties and weight\r
749     matrix choice. Nucleic Acids Res., 22, 4673-4680.\r
750 \r
751 [6] Larkin MA, Blackshields G, Brown NP, Chenna R, McGettigan PA,\r
752     McWilliam H, Valentin F, Wallace IM, Wilm A, Lopez R, Thompson JD,\r
753     Gibson TJ, Higgins DG.  (2007). Clustal W and Clustal X version\r
754     2.0. Bioinformatics, 23, 2947-2948.\r
755 \r
756 [7] Kimura M (1980). "A simple method for estimating evolutionary\r
757     rates of base substitutions through comparative studies of\r
758     nucleotide sequences". Journal of Molecular Evolution 16: 111–120.\r
759 \r
760 [8] Edgar, R.C. (2004) MUSCLE: multiple sequence alignment with high\r
761     accuracy and high throughput.Nucleic Acids Res. 32(5):1792-1797.\r
762 \r