5
मैं Newick format में scipy द्वारा उत्पन्न एक डेंड्रोग्राम कैसे सहेज सकता हूं?डेंडरोग्राम को नए प्रारूप में सहेजें
मैं Newick format में scipy द्वारा उत्पन्न एक डेंड्रोग्राम कैसे सहेज सकता हूं?डेंडरोग्राम को नए प्रारूप में सहेजें
आपको लिंक मैट्रिक्स जेड की आवश्यकता है, जो सिसी डेंडरोग्राम फ़ंक्शन में इनपुट है, और इसे न्यूिक प्रारूप में परिवर्तित करें। इसके अतिरिक्त, आपको अपनी पत्तियों के नामों के साथ '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)