multiple sequence alignments ( msas ) are essential in most bioinformatics analyses that involve comparing homologous sequences .
the exact way of computing an optimal alignment between n sequences has a computational complexity of o(l ) for n sequences of length l making it prohibitive for even small numbers of sequences .
most automatic methods are based on the  progressive alignment ' heuristic ( hogeweg and hesper , 1984 ) , which aligns sequences in larger and larger subalignments , following the branching order in a  guide tree . ' with a complexity of roughly o(n ) , this approach can routinely make alignments of a few thousand sequences of moderate length , but it is tough to make alignments much bigger than this . the progressive approach is a 
greedy algorithm ' where mistakes made at the initial alignment stages can not be corrected later . to counteract this effect ,
this has allowed the production of a new generation of more accurate aligners ( e.g. t - coffee ( notredame et al , 2000 ) ) but at the expense of ease of computation .
these methods give 510% more accurate alignments , as measured on benchmarks , but are confined to a few hundred sequences . in this report , we introduce a new program called clustal omega , which is accurate but also allows alignments of almost any size to be produced .
we have used it to generate alignments of over 190 000 sequences on a single processor in a few hours . in benchmark tests , it is distinctly more accurate than most widely used , fast methods and comparable in accuracy to some of the intensive slow methods .
it also has powerful features for allowing users to reuse their alignments so as to avoid recomputing an entire alignment , every time new sequences become available .
the key to making the progressive alignment approach scale is the method used to make the guide tree .
normally , this involves aligning all n sequences to each other giving time and memory requirements of o(n ) . protein families with > 50 000 sequences are appearing and will become common from various wide scale genome sequencing projects .
currently , the only method that can routinely make alignments of more than about 10 000 sequences is mafft / parttree ( katoh and toh , 2007 ) .
it is very fast but leads to a loss in accuracy , which has to be compensated for by iteration and other heuristics . with clustal omega
, we use a modified version of mbed ( blackshields et al , 2010 ) , which has complexity of o(n log n ) , and which produces guide trees that are just as accurate as those from conventional methods .
mbed works by  embedding ' each sequence in a space of n dimensions where n is proportional to log n. each sequence
is then replaced by an n element vector , where each element is simply the distance to one of n  reference sequences . '
these vectors can then be clustered extremely quickly by standard methods such as k - means or upgma . in clustal omega ,
the alignments are then computed using the very accurate hhalign package ( sding , 2005 ) , which aligns two profile hidden markov models ( eddy , 1998 ) .
clustal omega has a number of features for adding sequences to existing alignments or for using existing alignments to help align new sequences .
one innovation is to allow users to specify a profile hmm that is derived from an alignment of sequences that are homologous to the input set .
the sequences are then aligned to these  external profiles ' to help align them to the rest of the input set .
there are already widely available collections of hmms from many sources such as pfam ( finn et al , 2009 ) and these can now be used to help users to align their sequences .
the standard method for measuring the accuracy of multiple alignment algorithms is to use benchmark test sets of reference alignments , generated with reference to three - dimensional structures . here , we present results from a range of packages tested on three benchmarks : balibase ( thompson et al , 2005 ) , prefab ( edgar , 2004 ) and an extended version of homfam ( blackshields et al , 2010 ) . for these tests , we just report results using the default settings for all programs but with two exceptions , which were needed to allow muscle ( edgar , 2004 ) and mafft to align the biggest test cases in homfam . for test cases with > 3000 sequences , we run muscle with the maxiter parameter set to 2 , in order to finish the alignments in reasonable times .
mafft ( katoh et al , 2002 ) consists of a series of programs that can be run separately or called automatically from a script with the --auto flag set .
this flag chooses to run a slow , consistency - based program ( l - ins - i ) when the number and lengths of sequences is small .
when the numbers exceed inbuilt thresholds , a conventional progressive aligner is used ( fft - ns-2 ) .
the latter is also the program that is run by default if mafft is called with no flags set .
for very large data sets , the --parttree flag must be set on the command line and a very fast guide tree calculation is then used .
the results for the balibase benchmark tests are shown in table i. balibase is divided into six  references . '
average scores are given for each reference , along with total run times and average total column ( tc ) scores , which give the proportion of the total alignment columns that is recovered .
there are two rows for the mafft package : mafft ( auto ) and mafft default . in
most ( 203 out of 218 ) balibase test cases , the number of sequences is small and the script runs l - ins - i , which is the slow accurate program that uses the consistency heuristic ( notredame et al , 2000 ) that is also used by msaprobs ( liu et al , 2010 ) , probalign , probcons ( do et al , 2005 ) and t - coffee .
these programs are all restricted to small numbers of sequences but tend to give accurate alignments .
this is clearly reflected in the times and average scores in table i. the times range from 25 min up to 22 h for these packages and the accuracies range from 55 to 61% of columns correct .
omega only takes 9 min for the same runs but has an accuracy level that is similar to that of probcons and t - coffee . the rest of the table is mainly taken by the programs that use progressive alignment .
some of these are very fast but this speed is matched by a considerable drop in accuracy compared with the consistency - based programs and clustal omega .
the weakest program here , is clustal w ( larkin et al , 2007 ) followed by prank ( lytynoja and goldman , 2008 ) .
prank is not designed for aligning distantly related sequences but at giving good alignments for phylogenetic work with special attention to gaps .
these gap positions are not included in these tests as they tend not to be structurally conserved .
dialign ( morgenstern et al , 1998 ) does not use consistency or progressive alignment but is based on finding best local multiple alignments . fsa ( bradley et al , 2009 ) uses sampling of pairwise alignments and  sequence annealing ' and has been shown to deliver good nucleotide sequence alignments in the past .
, the results are divided into five groups according to the percent identity of the sequences .
the overall scores range from 53 to 73% of columns correct . the consistency - based programs msaprobs , mafft l - ins - i , probalign , probcons and t - coffee , are again the most accurate but with long run times .
there is then a gap to the faster progressive based programs of muscle , mafft , kalign ( lassmann and sonnhammer , 2005 ) and clustal w. results from testing large alignments with up to 50 000 sequences are given in table iii using homfam . here
, each alignment is made up of a core of a homstrad ( mizuguchi et al , 1998 ) structure - based alignment of at least five sequences .
these sequences are then inserted into a test set of sequences from the corresponding , homologous , pfam domain .
this gives very large sets of sequences to be aligned but the testing is only carried out on the sequences with known structures .
only some programs are able to deliver alignments at all , with data sets of this size .
mafft with default settings , has a limit of 20 000 sequences and we only use mafft with --parttree for the last section of table iii .
therefore , for > 3000 sequences we used muscle with the faster but less accurate setting of maxiters 2 , which restricts the number of iterations to two .
the run times show mafft default and kalign to be exceptionally fast on the smaller test cases and mafft --parttree to be very fast on the biggest families .
we do have two further test cases with > 50 000 sequences , but it was not possible to get results for these from muscle or kalign .
overall , mafft is faster than the other programs over all test case sizes but clustal omega scales similarly .
points in figure 1 represent different families with different average sequence lengths and pairwise identities .
therefore , the scalability trend is fuzzy , with larger dots occurring generally above smaller dots .
supplementary figure s3 shows scalability data , where subsets of increasing size are sampled from one large family only .
for example , if a user wishes to align a set of globin sequences and has an existing globin alignment , this alignment can be converted to a profile hmm and used as well as the sequence input file .
this hmm is here referred to as an  external profile ' and its use in this way as 
pseudocount information from the external profile is then transferred , position by position , to the input sequence .
ideally , this would be used with large curated alignments of particular proteins or domains of interest such as are used in metagenomics projects . rather than taking the input sequences and aligning them from scratch ,
every time new sequences are found , the alignment should be carefully maintained and used as an external profile for epa .
users can add sequences to an alignment , one by one or align a set of aligned sequences to the alignment . in this paper , we demonstrate the epa approach with two examples .
first , we take the 94 homfam test cases from the previous section and use the corresponding pfam hmm for epa . before epa ,
the average accuracy for the test cases was 0.627 of correctly aligned homstrad positions but after epa it rises to 0.653 .
each dot is one test case with the tc score for clustal omega plotted against the score using epa .
here , we take all the balibase reference sets and align them as normal using clustal omega and obtain the benchmark result of 0.554 of columns correctly aligned , as already reported in table i. for epa , we use the benchmark reference alignments themselves as external profiles .
the results now jump to 0.857 of columns correct . this is a jump of over 30% and
while it is not a valid measure of clustal omega accuracy for comparison with other programs , it does illustrate the potential power of epa to use information in external alignments .
once a msa has been made from a set of input sequences , it can be converted into a hmm and used for epa to help realign the input sequences .
this can also be combined with a full recalculation of the guide tree . in figure 3
, we show the results of one and two iterations on every test case from homfam .
the graph is plotted as a running average tc score for all test cases with n or fewer test cases where n is plotted on the horizontal axis using a log scale . with some smaller test cases ,
once you get near 1000 or more sequences , however , a clear trend emerges .
the more sequences you have , the more beneficial the effect of iteration is . with bigger test cases ,
it also confirms the difficulty in aligning extremely large numbers of sequences but gives one partial solution .
it also gives a very simple but effective iteration scheme , not just for guide tree iteration , as used in many packages , but for iteration of the alignment itself .
the standard method for measuring the accuracy of multiple alignment algorithms is to use benchmark test sets of reference alignments , generated with reference to three - dimensional structures . here , we present results from a range of packages tested on three benchmarks : balibase ( thompson et al , 2005 ) , prefab ( edgar , 2004 ) and an extended version of homfam ( blackshields et al , 2010 ) . for these tests , we just report results using the default settings for all programs but with two exceptions , which were needed to allow muscle ( edgar , 2004 ) and mafft to align the biggest test cases in homfam . for test cases with > 3000 sequences , we run muscle with the maxiter parameter set to 2 , in order to finish the alignments in reasonable times .
mafft ( katoh et al , 2002 ) consists of a series of programs that can be run separately or called automatically from a script with the --auto flag set .
this flag chooses to run a slow , consistency - based program ( l - ins - i ) when the number and lengths of sequences is small .
when the numbers exceed inbuilt thresholds , a conventional progressive aligner is used ( fft - ns-2 ) .
the latter is also the program that is run by default if mafft is called with no flags set .
for very large data sets , the --parttree flag must be set on the command line and a very fast guide tree calculation is then used .
the results for the balibase benchmark tests are shown in table i. balibase is divided into six  references . '
average scores are given for each reference , along with total run times and average total column ( tc ) scores , which give the proportion of the total alignment columns that is recovered .
there are two rows for the mafft package : mafft ( auto ) and mafft default . in
most ( 203 out of 218 ) balibase test cases , the number of sequences is small and the script runs l - ins - i , which is the slow accurate program that uses the consistency heuristic ( notredame et al , 2000 ) that is also used by msaprobs ( liu et al , 2010 ) , probalign , probcons ( do et al , 2005 ) and t - coffee .
these programs are all restricted to small numbers of sequences but tend to give accurate alignments .
this is clearly reflected in the times and average scores in table i. the times range from 25 min up to 22 h for these packages and the accuracies range from 55 to 61% of columns correct .
omega only takes 9 min for the same runs but has an accuracy level that is similar to that of probcons and t - coffee . the rest of the table is mainly taken by the programs that use progressive alignment .
some of these are very fast but this speed is matched by a considerable drop in accuracy compared with the consistency - based programs and clustal omega .
the weakest program here , is clustal w ( larkin et al , 2007 ) followed by prank ( lytynoja and goldman , 2008 ) .
prank is not designed for aligning distantly related sequences but at giving good alignments for phylogenetic work with special attention to gaps .
these gap positions are not included in these tests as they tend not to be structurally conserved .
dialign ( morgenstern et al , 1998 ) does not use consistency or progressive alignment but is based on finding best local multiple alignments . fsa ( bradley et al , 2009 ) uses sampling of pairwise alignments and  sequence annealing ' and has been shown to deliver good nucleotide sequence alignments in the past .
, the results are divided into five groups according to the percent identity of the sequences .
the overall scores range from 53 to 73% of columns correct . the consistency - based programs msaprobs , mafft l - ins - i , probalign , probcons and t - coffee , are again the most accurate but with long run times .
there is then a gap to the faster progressive based programs of muscle , mafft , kalign ( lassmann and sonnhammer , 2005 ) and clustal w. results from testing large alignments with up to 50 000 sequences are given in table iii using homfam . here
, each alignment is made up of a core of a homstrad ( mizuguchi et al , 1998 ) structure - based alignment of at least five sequences .
these sequences are then inserted into a test set of sequences from the corresponding , homologous , pfam domain .
this gives very large sets of sequences to be aligned but the testing is only carried out on the sequences with known structures .
only some programs are able to deliver alignments at all , with data sets of this size .
mafft with default settings , has a limit of 20 000 sequences and we only use mafft with --parttree for the last section of table iii .
therefore , for > 3000 sequences we used muscle with the faster but less accurate setting of maxiters 2 , which restricts the number of iterations to two .
the run times show mafft default and kalign to be exceptionally fast on the smaller test cases and mafft --parttree to be very fast on the biggest families .
we do have two further test cases with > 50 000 sequences , but it was not possible to get results for these from muscle or kalign .
overall , mafft is faster than the other programs over all test case sizes but clustal omega scales similarly .
points in figure 1 represent different families with different average sequence lengths and pairwise identities .
therefore , the scalability trend is fuzzy , with larger dots occurring generally above smaller dots .
supplementary figure s3 shows scalability data , where subsets of increasing size are sampled from one large family only .
for example , if a user wishes to align a set of globin sequences and has an existing globin alignment , this alignment can be converted to a profile hmm and used as well as the sequence input file .
this hmm is here referred to as an  external profile ' and its use in this way as  external profile alignment ' ( epa ) . during epa
pseudocount information from the external profile is then transferred , position by position , to the input sequence .
ideally , this would be used with large curated alignments of particular proteins or domains of interest such as are used in metagenomics projects .
rather than taking the input sequences and aligning them from scratch , every time new sequences are found , the alignment should be carefully maintained and used as an external profile for epa .
users can add sequences to an alignment , one by one or align a set of aligned sequences to the alignment .
first , we take the 94 homfam test cases from the previous section and use the corresponding pfam hmm for epa . before epa ,
the average accuracy for the test cases was 0.627 of correctly aligned homstrad positions but after epa it rises to 0.653 .
each dot is one test case with the tc score for clustal omega plotted against the score using epa .
, we take all the balibase reference sets and align them as normal using clustal omega and obtain the benchmark result of 0.554 of columns correctly aligned , as already reported in table i. for epa , we use the benchmark reference alignments themselves as external profiles .
this is a jump of over 30% and while it is not a valid measure of clustal omega accuracy for comparison with other programs , it does illustrate the potential power of epa to use information in external alignments .
once a msa has been made from a set of input sequences , it can be converted into a hmm and used for epa to help realign the input sequences .
this can also be combined with a full recalculation of the guide tree . in figure 3
, we show the results of one and two iterations on every test case from homfam .
the graph is plotted as a running average tc score for all test cases with n or fewer test cases where n is plotted on the horizontal axis using a log scale . with some smaller test cases ,
once you get near 1000 or more sequences , however , a clear trend emerges .
the more sequences you have , the more beneficial the effect of iteration is . with bigger test cases , it becomes more and more beneficial to apply two iterations .
it also confirms the difficulty in aligning extremely large numbers of sequences but gives one partial solution .
it also gives a very simple but effective iteration scheme , not just for guide tree iteration , as used in many packages , but for iteration of the alignment itself .
the main breakthroughs since the mid 1980s in msa methods have been progressive alignment and the use of consistency . otherwise , most recent work has concerned refinements for speed or accuracy on benchmark test sets .
the speed increases have been dramatic but , with just two major exceptions , the methods are still basically o(n ) and incapable of being extended to data sets of > 10 000 sequences .
parttree is faster but at the expense of accuracy , at least as judged by the benchmarking here .
this has tended to focus on results from benchmarking , a potentially contentious issue ( aniba et al , 2010 ; edgar , 2010 ) . the benchmark test sets that we have are limited in scope and heavily biased toward single domain globular proteins .
this has the potential to lead to methods that behave well on benchmarks but which are not so flexible or useful in real - world situations .
one development to improve accuracy has been the recruitment of extra homologs to bulk up input data sets . this seems to work well with the consistency - based methods and for small data sets .
it appears , however , that there is a limit to the extra accuracy that can be obtained this way , without further development .
the extra sequences may also bring in noise and dramatically increase the complexity of the computational problem .
this can be partly fixed by iteration but , epa to a high - quality reference alignment might be a better solution .
this also raises the need for methods to visualize such large alignments , in order to detect problems .
a second major focus for development has been the use of external information such as rna structure ( wilm et al , 2008 ) or protein structure predictions ( pirovano et al , 2008 ) .
epa is a new approach that allows users to exploit information in their own or in publicly available alignments .
the new sequences get aligned to each other using progressive alignment but the information in the external profile can help provide information as to which amino acids are most likely to occur at each position in a sequence .
most methods attempt to predict this from general models of protein evolution with secondary structure prediction as a refinement . in this paper
, we have shown that even using the mass produced alignments from pfam as external profiles provides a small increase in accuracy for a large general set of test cases .
this opens up a new set of possibilities for users to make use of the information contained in large , publicly available alignments and creates an incentive for database providers to make very high - quality alignments available .
one of the reasons for the great success of clustal x was the very user - friendly graphical user interface ( gui ) .
this , however , is not as critical as in the past due to the widespread availability of web - based services where the gui is provided by the web - based front - end server .
further , there are several very high - quality alignment viewers and editors such as jalview ( clamp et al , 2004 ) and seaview ( gouy et al , 2010 ) that read clustal omega output or which can call clustal omega directly .
source code as well as precompiled binaries for linux , freebsd , windows and mac ( intel and powerpc ) are available at http://www.clustal.org .
clustal omega is available as a command line program only , which uses gnu - style command line options , and also accepts clustalw - style command options for backwards compatibility and easy integration into existing pipelines .
clustal omega is written in c and c++ and makes use of a number of excellent free software packages .
we used a modified version of sean eddy 's squid library ( http://selab.janelia.org/software.html ) for sequence i / o , allowing the use of a wide variety of file formats .
we use david arthur 's k - means++ code ( arthur and vassilvitskii , 2007 ) for fast clustering of sequence vectors .
code for fast upgma and guide tree handling routines was adopted from muscle ( edgar , 2004 ) .
we use the openmp library to enable multithreaded computation of pairwise distances and alignment match states .
the documentation for clustal omega 's api is part of the source code , and in addition is available from http://www.clustal.org / omega / clustalo - api/. full details of all algorithms are given in the accompanying supplementary information .
the benchmarks that were used were balibase 3 ( thompson et al , 2005 ) , prefab 4.0 ( posted march 2005 ) ( edgar , 2010 ) and a newly constructed data set ( homfam ) using sequences from pfam ( version 25 ) and homstrad ( as of 2011 - 06 - 13 ) ( mizuguchi et al , 1998 ) .
the programs that were compared can be obtained from : clustalw2 , v2.1 ( http://www.clustal.org ) dialign 2.2.1 ( http://dialign.gobics.de/ ) fsa 1.15.5 ( http://sourceforge.net/projects/fsa/ ) kalign 2.04 ( http://msa.sbc.su.se/cgi-bin/msa.cgi ) mafft 6.857 ( http://mafft.cbrc.jp/alignment/software/source.html ) msaprobs 0.9.4 ( http://sourceforge.net/projects/msaprobs/files/ ) muscle version 3.8.31 posted 1 may 2010 ( http://www.drive5.com/muscle/downloads.htm ) prank v.100802 , 2 august 2010 ( http://www.ebi.ac.uk/goldman-srv/prank/src/prank/ ) probalign v1.4 ( http://cs.njit.edu/usman/probalign/ ) probcons version 1.12 ( http://probcons.stanford.edu/download.html ) t - coffee version 8.99 ( http://www.tcoffee.org/projects_home_page/t_coffee_home_page.html#download ) .
 fast , scalable generation of high - quality protein multiple sequence alignments using clustal omegamultiple sequence alignments are fundamental to many sequence analysis methods . 
 the new program clustal omega can align virtually any number of protein sequences quickly and has powerful features for adding sequences to existing precomputed alignments . 
Introduction
Results
Alignment accuracy
External profile alignment
Iteration
Discussion
Materials and methods
Supplementary Material