我是分层聚类基因表达数据。我的结果数据形状像树状图。我想保留整个树在Python中的一些数据结构,并在每个节点(我认为递归)做一些计算。对于每个节点,我都知道那里的基因和一些额外的信息(GO,p值等)。 对于如何在Python中存储这种数据,我可以遍历整个树的方式有什么建议吗? 我首先想到的是字典列表:哪里可以保留python中的层次聚类数据?
clusters=[{'id': 1, 'cluster': [gen1, gen2,...], 'size': ... , 'ChildIDs': ... , 'ParentID': ... , 'distance': ..., 'score': ...}, {'id': 2, ...}, ... ]
但由于集群是嵌套的,那么存储的基因对每个簇是没有效率的,我想。
如果任何人有一个更好的主意如何保持这种信息,我将不胜感激:)
你可以看看[这种层次聚类的实现](http://www.nltk.org/_modules/nltk/cluster/gaac.html)。它将信息存储在[Dendogram类](http://www.nltk.org/_modules/nltk/cluster/util.html)中。如果你看一下'Dendogram'类的'show'方法,你可能会知道它在做什么。我不知道你正在谈论的基因有多少,可能很多,以及这种实现的效率如何......希望它有帮助。 – lrnzcig