IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Arbre de newick

Newick est le nom d'un format de fichier utilisé en biologie pour décrire les relations phylogénétiques entre diverses êtres vivants ou molécules biologiques telles que l'ADN. le code présenté est une classe qui parse une représentation textuelle (sauce moi-même) et généère un arbre à tableau. Avec une 2e passe sur l'arbre on peut reformater les arbres sur d'autres formats dont de l'xml simple.

http://fr.wikipedia.org/wiki/Newick
http://en.wikipedia.org/wiki/Newick_format

// il y a un peu de code de DEMO au debut code:
$toto = '((((1:0.a1,2:a2)3:0.a3,((4:0.b1,5:0.b2)6:0.b3,(7:0.c1,8:0.c2)9:0.c3)10:0.bc3)11:0.abc3,(12:0.d1,13:0.d2):0.d3)14:0.abcd3,15:0.e2)';
//$toto ='(((((1:0.01,2:0.01):0.05,(5:0.02,19:0.02):0.04,alone:dist):0.05,(3:0.03,4:0.03):0.08):0.59,(7:0.13,20:0.13):0.57):0.14,6:0.84)tout:distance;';
$tree = new NewickParser($toto);

echo '';
print_r( $tmp = $tree->parse() );
print_r( $tree->formatFlat($tmp) );
print_r( $tree->formatLayered($tmp) );
print_r( $tree->formatRich($tmp));
file_put_contents(__FILE__.'.xml',$tree->formatXMLString($tmp));
print( $tree->formatNewick($tmp));
echo '';
Avatar de fourmizen
Membre à l'essai https://www.developpez.com
Le 25/07/2012 à 13:58
Superbe !
Juste à la ligne 122 il semble manquer le "$this->" après le "self::". Enfin en tout cas ca enlève l'erreur
Avatar de gene69
Membre émérite https://www.developpez.com
Le 26/07/2012 à 14:04
??
Code : Sélectionner tout
self::{$this->callbackLeaf }($root)

c'est pas juste ? et les callback appelé sont bien static !
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.