I have around 4000 orthologous proteins for each of 5 species, I'd like to align them and to concatenate alignments. Which tools can I use? And how?



1 Answer 1


4000 isn't much. You'll need to start with an aligner. For aligners the common options are in no particular order:

The current one that 'outperforms' the others strictly on a combination of two published benchmarks comprising 'accuracy' and 'speed' is MAFFT. FAMSA isn't relevant here unless you've a really small computer, like an old laptop, it excels at speed.

However, the situation could have changed recently with the BioRXIV release of Muscle v5. Please note, I have not used it. Here's the Abstract:

On Balifam, ensembles generated by MUSCLE are shown to align an average of 59% of columns correctly, 13% better than Clustal-omega (52% correct) and 26% better than MAFFT (47% correct). The ensemble bootstrap is applied to a previously published tree of RNA viruses ...

On this benchmark they are suggest Clustal Omega is better than MAFFT. Its not been the run of play that is certain MAFFT rose to dominance in recent history. Des Higgins Clustal W and X was historically the aligner of choice by a long shot, then Muscle, then MAFFT ... now its context specific.

Muscle v5 Its difficult to really get to grips with a BioRXIV ms as an algorithm unless you're a specialist in aligner construction. Please note, the 'RNA viruses' is complicated. As an algorithm this author has kudos and has extended that kudos beyond Muscle. The BioRXIV would have been subject to peer-review, but I am not aware Muscle v5 has been accepted for publication.

Historically, Muscle made early advances in accuracy which were duplicated by Clustal Omega at a much later date (2017?).

Essentially, here your choice is between MAFFT and Muscle v5 for this data set (context specific).

concatenate this is less clear but it appears you are performing 4000 alignments with 5 taxa in each? You'll need a data pipeline.

Trimming and concatenation are easily performed in BioPython using BioAlignIO but you would need coding because that can't be done manually. Computationally, BioAlignIO objects are annoyingly expensive - they are SeqIO objectives inside a MultipleAlignment object. However in your case it matters not a jot and would the recommended route all things considered (unless your coding expertise is Java).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.