You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
clear case of expression upregulation is not detected by CAGEE #39
Dear Developers,
we are trying to use CAGEE to detect genes that are up/downregulated in a particular lineage of 2 sister species.
We have 7 species in total and this tree.
We are running
cagee -t tree.nh -i expression_matrix.tsv -o run_default/result
with expression_matrix.tsv containing 12334 genes.
Our top-ranked gene has expression levels of 0.64 to 3.8 in the background species and several hundred fold higher values (1660 and 2794) in the two focal species, as shown in this tree.
CAGEE reconstructs that their common ancestor (node 10) has a value of 2078, which makes sense.
Node 9, representing the next ancestor, also has the expected low expression of 2.18.
This clearly shows that a "credible" upregulation occurred on the branch between node 9 and 10.
However, comparing the credible intervals of the parent and child, the intervals DO overlap, because the node 9 interval is very large 1.32 to 5013.05.
Could you pls have a look and check if this is a bug? All the ancestral node values make perfect sense but this credible interval seems to be too large.
And if the clearest case of upregulation is not credible, we can likely not use CAGEE for our analysis.
As far as I can tell, this is not a bug, but rather an honest rendering of the uncertainty in the ancestral node state. While I don't know exactly what value of sigma^2 was inferred, it was clearly high enough--and the time long enough--that the ancestral states are inferred with large credible intervals. This is clear within each of the two main clades, as well.
Given then that there is only one outgroup species, with quite a long branch to it and to the root from the main two clades, this is just not enough to really move the credible intervals (though of course the ML estimate at this node is quite low, as you note).
All of this is to say: there is clearly a large and biologically significant change in gene expression! There is nothing wrong with using the MLEs at each internal node to make this point, either. It's just that there is some small probability that the shift happened on more than one branch of the tree.
Activity
hahnlab-user commentedon Jul 30, 2026
Hi Michael,
As far as I can tell, this is not a bug, but rather an honest rendering of the uncertainty in the ancestral node state. While I don't know exactly what value of sigma^2 was inferred, it was clearly high enough--and the time long enough--that the ancestral states are inferred with large credible intervals. This is clear within each of the two main clades, as well.
Given then that there is only one outgroup species, with quite a long branch to it and to the root from the main two clades, this is just not enough to really move the credible intervals (though of course the ML estimate at this node is quite low, as you note).
All of this is to say: there is clearly a large and biologically significant change in gene expression! There is nothing wrong with using the MLEs at each internal node to make this point, either. It's just that there is some small probability that the shift happened on more than one branch of the tree.
Matt