2015-01-29 7 views

उत्तर

12

आपको लिंक मैट्रिक्स जेड की आवश्यकता है, जो सिसी डेंडरोग्राम फ़ंक्शन में इनपुट है, और इसे न्यूिक प्रारूप में परिवर्तित करें। इसके अतिरिक्त, आपको अपनी पत्तियों के नामों के साथ 'leaf_names' सूची की आवश्यकता है। यहां एक ऐसा कार्य है जो नौकरी करेगा:

from scipy.cluster import hierarchy 
def getNewick(node, newick, parentdist, leaf_names): 
    if node.is_leaf(): 
     return "%s:%.2f%s" % (leaf_names[node.id], parentdist - node.dist, newick) 
    else: 
     if len(newick) > 0: 
      newick = "):%.2f%s" % (parentdist - node.dist, newick) 
     else: 
      newick = ");" 
     newick = getNewick(node.get_left(), newick, node.dist, leaf_names) 
     newick = getNewick(node.get_right(), ",%s" % (newick), node.dist, leaf_names) 
     newick = "(%s" % (newick) 
     return newick 

tree = hierarchy.to_tree(Z,False) 
getNewick(tree, "", tree.dist, leaf_names) 
संबंधित मुद्दे