Vote des utilisateurs
0
0
Détails
Licence : GPL
Mise en ligne le 25 juillet 2012
Langue : Français
Référencé dans
Navigation
Arbre de newick
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 '';
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 '';
Superbe !
Juste à la ligne 122 il semble manquer le "$this->" après le "self::". Enfin en tout cas ca enlève l'erreur
Juste à la ligne 122 il semble manquer le "$this->" après le "self::". Enfin en tout cas ca enlève l'erreur
??
c'est pas juste ? et les callback appelé sont bien static !
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.