【发布时间】:2016-07-25 14:11:49
【问题描述】:
我有几千个基因树,我正试图准备好使用 codeml 进行分析。下面的树就是一个典型的例子。我想要做的是自动折叠看似重复的提示或节点。例如,节点 56 的后代是tip 26、27、28 等一直到36。现在除了tip 26 之外的所有这些似乎都是重复的。如何将它们全部折叠成一个提示,只留下提示 28 和一个代表其他提示的节点作为节点 56 的后代?
我知道如何手动执行此操作,但我正在尝试自动化该过程,以便函数可以识别哪些提示需要折叠,然后将它们减少为单个具有代表性的提示。到目前为止,我一直在研究计算尖端之间距离的共生函数。但是,我不确定如何使用该信息来折叠提示。
这是下面树的 newick 字符串:
((((11:0.00201426,12:5e-08,(9:1e-08,10:1e-08,8:1e-08)40:0.00403036)41:0.00099978,7:5e-08)42:0.01717066,(3:0.00191517,(4:0.00196859,(5:1e-08,6:1e-08)71:0.00205168)70:0.00112995)69:0.01796015)43:0.042592645,((1:0.00136179,2:0.00267375)44:0.05586907,(((13:0.00093161,14:0.00532243)47:0.01252989,((15:1e-08,16:1e-08)49:0.00123243,(17:0.00272478,(18:0.00085725,19:0.00113572)51:0.01307761)50:0.00847373)48:0.01103656)46:0.00843782,((20:0.0020268,(21:0.00099593,22:1e-08)54:0.00099081)53:0.00297097,(23:0.00200672,(25:1e-08,(36:1e-08,37:1e-08,35:1e-08,34:1e-08,33:1e-08,32:1e-08,31:1e-08,30:1e-08,29:1e-08,28:0.00099682,27:1e-08,26:1e-08)58:0.00200056,24:1e-08)56:0.00100953)55:0.00210137)52:0.01233888)45:0.01906982)73:0.003562205)38;
【问题讨论】:
-
您确定节点是否重复的标准是什么?只是提示之间的距离吗?如果有,门槛是多少?此外,如果您可以为这棵树提供 newick 字符串,其他人会更容易提供帮助。
-
嗨,是的,它是提示之间的距离。我正在使用的阈值是 1e-05,尽管目前这只是任意的。