You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用APE包drop.tip后进化树导出出现:0,如何彻底删除末端分支?

用APE包drop.tip彻底删除进化树末端分支的解决方案

先改最明显的错误:导出的是原树

你代码里写的write.tree(L9_CRESS, ...)是把没处理过的原始树导出了,根本没用到你用drop.tip生成的dropped_tip_b9。先把这行改成:

write.tree(dropped_tip_b9, file = "L9_CRESS_V2.nwk", append = FALSE,
           digits = 5, tree.names = FALSE)

针对分支长度0的重复末端:调整drop.tip参数

你的待删除末端是分支长度为0的重复项,默认参数没法彻底清掉空分支,调整两个参数就能解决:

  • 把collapse.singles = TRUE:删除末端后留下的单节点空分支(就是那些显示:0的部分)会被直接合并
  • 保持trim.internal = TRUE:这个参数会删掉末端对应的内部分支,配合上面的参数刚好处理分支长度0的情况

修改后的drop.tip代码:

dropped_tip_b9 <- drop.tip(L9_CRESS, tip= c(232,260,261), trim.internal = TRUE, subtree = FALSE,
                          root.edge = 0, rooted = is.rooted(L9_CRESS), collapse.singles = TRUE,
                          interactive = FALSE)

补充:subtree = FALSE是默认值,更适合常规删除末端的场景;root.edge = 0是避免不必要的根边缘调整,如果你不需要保留根边缘的话可以这么设。

验证处理结果

改完后可以用这两行代码确认树的结构是否符合预期:

# 查看处理后的末端数量,确认目标末端已删除
length(dropped_tip_b9$tip.label)
# 检查是否还有分支长度为0的情况
any(dropped_tip_b9$edge.length == 0)

内容的提问来源于stack exchange,提问作者Diego Olivo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:35:24