2016-05-12 7 views
1

Ich habe das R-Paket ggtree verwendet, um einen phylogenetischen Baum zu zeichnen, und ich muss die Reihenfolge der Spitzen kennen, damit ich sie mit spezifischen Informationen für jede Spitze kombinieren kann. Natürlich kann ich die Reihenfolge manuell erfassen, aber ich habe viele dieser Bäume. Außerdem gibt mir tr $ tip.label eine andere Reihenfolge der Knoten, die mit der Reihenfolge im Baumdiagramm verglichen werden.Wie bekommt man die Knotenfolge des phylogenetischen Baumes in R?

Ich brauche einige R-Skripte, die eine korrekte Reihenfolge der Tipps von einem phylogenetischen Baumobjekt erhalten können, die die gleiche Reihenfolge haben sollte, wenn R den Baum plottet.

Der Baum:

tr$tip.label gibt:

"Seq6" "seq16" "seq12" "seq34" "SEQ5" "seq35" "seq41" "seq19" "seq22" " seq54 "" seq7 "" seq26 "" seq9 "" seq14 "" seq4 "" seq8 " " seq33 "" seq11 "" seq2 "" seq13 "" seq45 "" seq42 "" seq50 "" seq3 "" seq18 "" seq29 "seq52" "seq53" "seq32" "seq21" "seq38" "seq51" "seq24" "seq47" "seq48" "seq43" "seq39" "seq23" "seq28" "seq1" "seq25" "seq40" "seq46" "seq36" "seq15" "seq49"

Was ich will:

Jeder Baum Spitze richtet auf eine Linie mit einer bestimmten Farbe.

Antwort

1
> library(ggtree) 
> set.seed(123) 
> tr = rtree(15) 
> d=fortify(tr) 
> dd = subset(d, isTip) 
> dd$label[order(dd$y, decreasing=TRUE)] 
[1] "t5" "t8" "t4" "t10" "t12" "t1" "t2" "t3" "t11" "t13" "t9" "t6" 
[13] "t14" "t7" "t15" 

Hier ist ein Beispiel, um die Spitzenbeschriftungen zu erhalten, die ihren Positionen entsprechen.

+0

Vielen Dank! Es ist was ich will! Prost! – yorven