rbouckaert / Babel

BEAST analysis backing effective linguistics
11 stars 3 forks source link

pseudo Dollo modification? #12

Open vinjlynch opened 1 year ago

vinjlynch commented 1 year ago

Hi,

I'm curious if it is possible to modify the pseudo-Dollo model, from a global one where regains are possible on any branch to a local one where regains are only possible on branches connected by relatively short divergences? I'm not sure if that makes sense in the context of language evolution, but in the context of biological evolution, such a model could allow for regains of a lost trait through processes like incomplete lineage sorting (ILS) or introgression (hybridization). We are studying gene loss events in mammals, which should be a Dollo character in that once lost a homologous gene can never re-evolve -- unless it is re-acquired through things like horizontal gene transfer, ILS, or introgression (the latter two of which are probably common for closely related species).

Best, Vinny

rbouckaert commented 1 year ago

Hi Vinny,

It should be fairly easy to do this when not using BEAGLE: the getTransitionProbabilities method can check for the length of a branch and switch between a matrix that allows a gain to a matrix that does not. However, I am not sure whether it can be made consistent in the sense that now the model changes depending on the sample of taxa. Say, you have a short branch, thus allowing a birth event, and some taxa are removed so that the short branch disappears. Then the birth event is not possible any more just because the set of taxa changed. Anyway, if you still think this makes sense I am happy to help you -- just let me know what you need.

Cheers, Remco

vinjlynch commented 1 year ago

Hi Remco,

Thanks for the reply and info! Your point about consistency is a good one, but I think it will not matter much for our data since we are primarily interested in inferring ancestral states and will provide a fixed user tree. In this case, the short branch represents a short divergence time among the immediate descendant branches, which is when we might expect something like ILS or introgression to possibly lead to a character reacquisition event. Would it be possible to write a local pseudo-Dollo model where we provide a user tree and a prior on the matrix switch?

Best, Vinny