Transformer une matrice en arbres et chercher le plus parcimonieux

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Jean-Loïc Le Quellec
Messages : 3
Enregistré le : 14 Sep 2016, 15:10

Transformer une matrice en arbres et chercher le plus parcimonieux

Messagepar Jean-Loïc Le Quellec » 27 Sep 2016, 12:23

Bonjour,
Je suis débutant et j'espère poser cette question dans la bonne section du forum.
Dans la partie "Phylogenetic analysis" de cet article (http://journals.plos.org/plosone/articl ... ne.0136047) les auteurs disent avoir transformé une matrice (composée de "0" et de "1") en objet de classe phyDat (phangorn library) pour ensuite pouvoir le traiter avec la fonction bab de la même librairie afin de trouver les arbres les plus parcimonieux.
J'ai voulu suivre la même démarche avec une matrice personnelle (composée de "0", de "1" et de "9" -- j'en donne un extrait à la fin de cet envoi pour que vous puissiez voir ce que c'est).

Voici ce que j'ai fait:

Code : Tout sélectionner

library(ape)
library(phangorn)
library(phytools)


J'ai chargé mon fichier au format .csv :

Code : Tout sélectionner

X <- read.csv("MonFichier.csv", header = FALSE)


Je l'ai transformé en objet phyDat pour pouvoir l'utiliser dans phangorn:

Code : Tout sélectionner

data <- as.phyDat(X, type = "USER", levels = c(0, 1, 9))


J'ai ensuite voulu faire l'arbre, en procédant ainsi:

Code : Tout sélectionner

starting <- rtree(n = length(data))
starting$edge.length <- NULL
starting$tip.label <- names(data)
tree <- optim.parsimony(starting, data, rearrangements = "SPR")


J'ai alors reçu le message suivant:

Code : Tout sélectionner

Error in rep(1:nr, attr(x, "weight")) : argument 'times' incorrect



Je ne sais pas ce qu'est l'argument 'times' et en quoi il est incorrect.
Quelqu'un peut-il me dire où se trouve mon erreur ?
Et me réorienter sur une méthode correcte (car je ne suis même pas sûr qu'il faille s'y prendre ainsi pour faire des arbres à partir d'une matrice, pour ensuite chercher les plus parcimonieux?)

Merci d'avance pour votre aide,
JLLQ


Type de matrice utilisée:
AfrC_NC_Tupuri 0 0 0 0 0
AfrC_NS_Mbai 0 1 1 1 0
AfrC_NS_Mbai 0 1 1 1 0
AfrE_AFR_Iraqw 0 0 9 0 0
AfrE_AFR_Iraqw 0 0 1 0 1
AfrE_NC_Usambara 0 0 0 0 0
AfrGL_NC_Isanzu 0 0 1 0 1

Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité