What are the state of the art programs/libraries for performing dn/ds analyses? I know PAML can do it, but I'm wondering if there are others.
I usually work in C++, so I'm particularly interested interested in C++ libraries - does Seqan or the NCBI C++ toolkit have support for this?
4 answers
I'd recommend HyPhy, which is developed under the essentially same mathematical model of PAML but can do much more. http://www.datam0nk3y.org/hyphy/doku.php
you can also use SLR program http://www.ebi.ac.uk/goldman/SLR/ more or less in the same way as PAML.
libsequence provides hueristic Ka/Ks functions in C++. You could also look into in Bio++ which states that it has rate estimation routines, but I have not used it myself and can't confirm that this would be useful for you.
Here are my recommendations for software ordered by how flexible they are:
- MATLAB's Bioinformatics Toolbox: Here you have the greatest variety of alternative algorithms, operating system compatibility, sliding vs. whole protein analysis, API to Genbank, etc (Here's a great tutorial for using their dN/dS tool). Just remember MATLAB is not free.
- KaKs Calculator: If you only care about whole protein dN/dS, many options are available with the Ka/Ks calculator - they also compute statistical significance using Fisher's exact test. I can also provide an R script that generates error bars from the output, just ask.
- PAML: If you have >2 sequences per protein that you wish to get a dN/dS value from, then many options are available with PAML. This is often used in published papers, but it's not recommended if you only have a pair of sequences per protein.
Log in to answer this question.