pbastide/PhylogeneticEM

Error in parsimonyNumber

Closed this issue · 3 comments

See file error_parsimony_algo_MWE for details.
This is a case where our DP algorithm seems to fail.

Il y a effectivement des problèmes avec l'algo dans sa formulation actuelle. On ne peut pas se contenter de propager les e^l_k. Il faut propager les coûts et le nombre de configurations parsimonieuses pour un noeud à un état donnée (ce que tu stockes dans nbrReconstructions) même si la configuration induite n'est pas la plus parcimonieuse (i.e. qu'il vaut mieux affecter un autre état au noeud). Ca implique aussi de changer la façon de calculer Krond. En faisant ça, on revient au Sankoff de base, mais on rajoute une couche supplémentaire pour avoir le nombre de configurations parsimonieuses.

J'ai corrigé la fonction qui calcule le nombre de configuration parsimonieuses mais j'ai été "sale" et fait un push dans ta version develop (désolé). Il reste du travail sur la partie "énumération". Et il faudrait qu'on se coordonne sur la façon de contribuer.

J'ai fait une correction aussi, mais dans une branche spécifique.
On pourra comparer les résultats, comme ça.
L'énumération était ma prochaine étape, mais je n'ai pas encore commencé (j'essaie de rédiger l'algo corrigé pour parsimonyNumber avant).