Nous donnons ici un exemple concret de procédure d’analyse avec les logiciels
MBPR et PAUP. De nombreuses options peuvent êtrre modifiées. Celles qui sont
pré-sentées permettent d’obtenir de bons résultats en astrophysique, en un temps de calcul
raisonnable.
La matrice codée adopte généralement le format NEXUSqui est un format standard
lu par la quasi-totalité des logiciels. Voici un exemple de matrice sous format NEXUS :
#NEXUS BEGIN TAXA; TITLE exemple; DIMENSIONS NTAX=5; TAXLABELS A B C D E ; END; BEGIN CHARACTERS;
TITLE ’Matrix in file "exemple.nex"’; DIMENSIONS NCHAR=3;
FORMAT DATATYPE = STANDARD GAP = - MISSING = ?
SYMBOLS = " 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T " ; CHARSTATELABELS 1 ’car1’, 2 ’car2’, 3 ’car3’; MATRIX A 5 G D B O 6 0 C E 7 1 D M 9 2 E 8 A T ; END; BEGIN PAUP; ctype ord: 1 - 3;
set outroot = monophyl torder = right maxtree = 10000 tcompress = yes; weight 1 : 1-3 ;
outgroup A ; END;
Elle est composée de différents blocs encadrés par unBEGIN bloc;et unEND;.
Nous avons ici un premier bloc décrivant les taxons et leurs noms, suivi du bloc des
caractères précisant le type de valeurs (continues, codées ou génétiques) ainsi que
les symbols utilisés pour le codage. Dans le cas présent, les 30 bins sont codés de
0 à T. Dans ce bloc, les noms des caractères sont donnés dans l’ordre des colonnes
de la matrice, suivis la matrice elle-même dont l’ordre des taxons doit correspondre
exactement à celui du bloc des taxons. Enfin, un bloc de commande PAUP permet
de préciser le type de contrainte sur l’évolution des caractères, différent paramètres
jouant sur la présentation de l’arbre ou le nombre maximale d’arbres à conserver à
chaque itération. Ces paramètres sont permanents tant que la session de PAUP n’est
pas fermée.
Les arbres sont représentés par le format standard NEWICK sous forme de
pa-renthèses imbriquées : (A(B(C,D))) dans lequel le niveau le plus interne regroupe les
éléments les plus proches sur l’arbre. Il est possible d’ajouter également une longueur
de branche : (A :1.0(B :0.24(C :9.18,D :0.01))). Cette représentation peut s’intégrer à
un fichier au format NEXUSdans un blocBEGIN tree;.
La recherche de l’arbre le plus parcimonieux s’effectue d’abord avec la méthode
du ratchet avec MBPR. Ce logiciel consiste en un script perl qui va appeler PAUP
plusieurs fois pour effectuer de nombreuses itérations.
perl mbpr.pl --log=paup.log --batch=batch.nex --store=tree --weight=15 --iters=50 --save=10 --echo=paup --limit=1000 --data=exemple.nex
Ce calcul va produire 10 fichiers contenant 50 arbres chacun qui sont les meilleurs
arbres obtenus à chaque itération. Ces arbres sont ensuite utilisé comme point de départ
pour une recherche plus approfondie autour des arbres les plus parcimonieux par la
suite de commande PAUP suivante :
log start file=fichier.log;
set tcompress=yes torder=right outroot=monophyl root=outgroup maxtrees=1000 increase=no; execute exemple.nex ;
gettrees mode=3 duptrees=eliminate file=tree0.tre; gettrees mode=7 duptrees=eliminate file=tree1.tre; gettrees mode=7 duptrees=eliminate file=tree2.tre; gettrees mode=7 duptrees=eliminate file=tree3.tre; gettrees mode=7 duptrees=eliminate file=tree4.tre; gettrees mode=7 duptrees=eliminate file=tree5.tre; gettrees mode=7 duptrees=eliminate file=tree6.tre; gettrees mode=7 duptrees=eliminate file=tree7.tre; gettrees mode=7 duptrees=eliminate file=tree8.tre; gettrees mode=7 duptrees=eliminate file=tree9.tre; pscores ;
filter best;
hsearch start=current swap=TBR steepest=no multrees=yes nreps=1000 nchuck=10
chuckscore=PLAFOND ; pscores ;
filter best;
condense collapse=no deldupes=yes ;
contree all /majrule=yes strict=yes grpfreq=no indices=no showtree=yes replace=yes append=no treefile=paupoptimcons.tre; log stop;
La commandehsearch est celle qui effectue la recherche heuristique des arbres
les plus parcimonieux. L’optionchuckscorelimite la recherche exhaustive aux arbres
ayant un nombre de pas (score) plus petit que PLAFOND. Cette valeur est en principe
choisie égale au meilleur score augmenté de 5 ou 10%. La commandepscorespermet
d’afficher le nombre de pas de chaque arbre en mémoire, ainsi que tous les indicateurs
avec les options correspondantes :
Ces indications ne sont valables que pour un jeu de contraintes donné, notamment le
type d’évolution des caractères (WAGNERordonné ou autre), mais ne dépendent pas
de l’enracinement choisi.
En générale, cette deuxième recherche plus approfondie amène à des arbres
en-core plus parcimonieux. Il faut réitéré jusqu’à convergence. Comme il s’agit d’une
exploration heuristique et non exhaustive de l’espace des arbres, il peut être utile de
recommencer toute la procédure plusieurs fois (MBPR+hsearch).
Enfin une estimation du bootstrap se fait sous PAUP avec la commande :
bootstrap nreps=1000 grpfreq=no search=heuristic/addseq=random nchuck=10 chuckscore=1 nreps=5;