Question: Calculate Average Dn And Ds For Gene Families
2
gravatar for Plantae
8.0 years ago by
Plantae380
Plantae380 wrote:

hi, all

I have several single-copy gene families identified from 12 genomes, Now I want to know evolution rate differences between these gene families, I got average DN/DS from PAML package: average DN/DS can be calculated through codeml 's M0 model (model=0, NSsites=0),

but how to calculate average DN and average DS?

should I run codeml using runmode=-2 to get all pairwise DN and DS estimates, then average between them? or using the "tree length for DN" "tree length for DS" in M0 model output?

gene selection • 5.3k views
ADD COMMENTlink modified 18 months ago by mariamcurbelo20610 • written 8.0 years ago by Plantae380
0
gravatar for Leonor Palmeira
8.0 years ago by
Leonor Palmeira3.7k
Liège, Belgium
Leonor Palmeira3.7k wrote:

You can run this under R and get the values for dN and dS separately (named Ka and Ks in seqinR, but it's the same computation):

library(seqinr)
x=read.alignment("myalignment",format="fasta")
?kaks()
ADD COMMENTlink written 8.0 years ago by Leonor Palmeira3.7k
1

FWIW, that will get the pairwise dNs and dSs for the alignment, the same result as the -2 mode in codeml. I think the OP is asking for an estimate of dN and dS across the tree? Which is subtly different and something I'm surprised to see does come in all the layers of guff codeml spits out

ADD REPLYlink written 8.0 years ago by David W4.7k

codeml reports DN or DS in each branch on the tree, but without average estimates. One simple methods was calculate averages values by summing all branch DN or DS values, then divided by branch numbers. I also calcuated the average DN and DS using codeml's runmode "-2", then averaging the values come from all pairwise comparisons. But the two method gave out quite different results.

ADD REPLYlink written 8.0 years ago by Plantae380
2

I would rather average values with the dN and dS values from the branches rather than averaging on the pairwise comparisons. Somehow, because pairwise computations are combinatorial in the number of sequences, averaging does not seem like the appropriate mathematical tool to me (because of intrinsic correlation between values).

ADD REPLYlink written 8.0 years ago by Leonor Palmeira3.7k
0
gravatar for mariamcurbelo2061
18 months ago by
Cuba/Havana/Faculty of Biology
mariamcurbelo20610 wrote:

Using PALM on python worked for me. It generates a dictionary, and you can access to all the variables, including of course dn and ds separately

ADD COMMENTlink written 18 months ago by mariamcurbelo20610
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1082 users visited in the last hour