[adelist] taxo et phylog

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Mon Oct 31 2005 - 14:25:24 MET

  • Next message: Al Hilton: "x----SPAM----x re[9]"

    La question de Christophe Girod chrisgir69@hotmail.fr a été prise en
    compte :

    /J'ai un problème dans l'utilisation de la fonction taxo2phylog avec un
    fichier de données. J'utilise un fichier représentant la classification
    sous cronquist de 200 genres d'arbres de la forêt guyanaise. Je veux
    intégrer ce fichier sous forme d'une phylogénie avant de l'utiliser dans
    des analyses de DPCOA. L'intégration sous forme de data frame se passe
    sans problème, tout comme le passage en objet de classe taxo. Au moment
    d'utiliser la fonction taxo2phylog j'obtiens le message d'erreur suivant :

    Erreur dans newick2phylog.addtools(res) : la longueur de 'dimnames' [2]
    n'est pas égale à l'étendue du tableau

    /La question était difficile et a mis en évidence plusieurs détails qui
    n'apparaissent que dans le dialogue avec les utilisateurs.

    newick2phylog est une fonction générale qui lit des phylogénies au
    format newick et prépare diverses composantes pour des fonctions
    statistiques évoluées. En général, les feuilles ont des noms et les
    noeuds n'en ont pas : ils sont créés par le programme.

    taxo2phylog est une fonction utilitaire qui écrit un arbre et l'envoie à
    la précédente. Dans ce cas les niveaux des facteurs définissent les noms
    des noeuds intérieurs de l'arbre. Le problème apparaît lorsque un nom de
    niveau bas est complètement inclus avec un nom d'un niveau plus élevé,
    par exemple Simarouba et Simaroubaceae dans l'exemple proposé.

    La fonction as.taxo a été modifiée. Elle interdit un facteur avec un
    seul niveau qui définit la racine et elle interdit un facteur avec un
    seul individu par classe qui définit les feuilles. Mettre les noms des
    feuilles dans les row.names du data frame. Seules les facteurs qui ont
    un sens statistique (plusieurs classes à un ou plusieurs individus) sont
    admis.

    La fonction taxo2phylog a été modifiée.
    taxo2phylog (taxo, add.tools = FALSE, root = "Root", abbrev = TRUE)

    Par défaut les outils statistiques ne sont pas calculés. En effet la
    présence d'énormes râteaux ou de chaînes de descendants uniques (une
    espèce dans un genre dans une famille ...) dans une taxonomie en
    invalide la plupart. Le test se fait avec un modèle linéaire sur des
    variables emboîtées. Le calcul de la matrice des distances taxonomiques
    se fera par ailleurs avec la fonction dist.tax de Sandrine Pavoine qui
    sera optimisée. Il y a une fonction dist.taxo dans ape qui n'a rien à voir.

    On peut passer en clair le nom de la racine pour remplacer le facteur à
    un seul niveau interdit (dans l'exemple Magnoliophyta).

    Par défaut les niveaux de chaque facteur sont abrégés (fonction
    abbreviate du package base) et deux caractères l1, l2, l3, ... sont
    ajoutés par niveau. Le défaut constaté est ainsi contourné.

    Les nouvelles fonctions en attendant la prochaine mise à jour sont
    provisoirement dans http://pbil.univ-lyon1.fr/R/donnees/taxomodif.r

    Faire source("http://pbil.univ-lyon1.fr/R/donnees/taxomodif.r") pour les
    avoir dans le dossier de travail. Tout commentaire bienvenu.

    D. Chessel



    This archive was generated by hypermail 2b30 : Mon Oct 31 2005 - 14:29:57 MET