我使用了Bio.Cluster的treecluster,它产生了一个Tree对象。 我正在聚类基因表达矩阵。 如果需要,我想要一种简单的方法来遍历这个树并添加一些额外的功能(一些额外的信息,比如我想要的每个节点的p值或术语名称)。 我发现这种工作的一个很好的包是ete2,但这需要树作为Newick字符串。
是否有可以将Tree对象转换为Newick的函数,或者您是否知道比ete2更好的方法?
提前致谢, 升。
答案 0 :(得分:0)
Bio.Cluster.Tree to newick format,例如:
输入文件 cyano.txt github
gene 0 15min 1hour 6hours 15hours sll0617 0.0 -0.141164092921 -0.564656371686 -0.219393769051 -0.582969948517 slr0452 0.0 -0.124988599702 -0.499954398807 0.195680498436 0.0781478593432 slr1513 0.0 0.788547158236 0.228594792282 0.255819396258 0.304823683415 sll1471 0.0 -0.770355431265 -1.10115338201 -1.00607440632 -0.834932250086 sll1694 0.0 -0.328239937586 -2.16037133914 -1.184544471 -1.36760041273 sll0430 0.0 2.57611845993 0.920296714116 0.331897478085 0.353984672049 sll0851 0.0 -0.260488607867 -1.04195443147 -0.870951657169 -0.563146663432 sll1260 0.0 0.488375211397 1.03336768086 1.05808458732 1.10257501897 sll1031 0.0 2.22636090218 1.2737708006 1.22441048661 1.13556192142 .....
在python
(view example source)
from Bio import Cluster
handle = open("cyano.txt")
record = Cluster.read(handle)
handle.close()
genetree = record.treecluster(method='s')
genetree.scale()
exptree = record.treecluster(dist='u', transpose=1)
record.save("cyano_result", genetree, exptree)
这将创建文件
cyano_result.cdt
,cyano_result.gtr
和cyano_result.atr
现在,我们可以使用R
和Bioconductor将atr转换为newick
安装最新版本的R,然后通过启动R并输入命令来获取最新版本的Bioconductor
#optional, for install bioconductor and ctc library
source("http://bioconductor.org/biocLite.R")
biocLite()
biocLite("ctc")
#code to convert atr to newick
library("ctc")
h <- xcluster2r("cyano_result.atr")
write(hc2Newick(h),file='cyano_result.newick')
在cyano_result
中,我们得到:
(1:0.356996468574314, (2:0.0826361905178331, (5:0.0469498559561281, (3:0.513417484951725,4:0.513417484951725) :0.0469498559561281) :0.0826361905178331) :0.356996468574314);
获得以下情节