贝叶斯后验中的流氓分类群检测树集合

ORCiD公司Martin R.Smith,达勒姆大学

2023-11-29

检测“流氓”分类群并将其从摘要树中删除可以生成具有更高分辨率的共识树,并可以显示强大的支持否则会被不确定性掩盖的分组流氓的地位。

贝叶斯分析的原始输出需要一些处理在使用“流氓”R识别和探索流氓分类群之前包裹。

这里介绍的工作流应该很容易适应任何贝叶斯系统发育分析的结果,但如果遇到障碍或者被卡住了,请告诉我备案GitHub问题或通过电子邮件发送。

设置

让我们从加载我们需要的包开始:

图书馆(“树工具”)#阅读和绘制树
##警告:包“TreeTools”是在R版本4.3.2下生成的
图书馆(“流氓”)#找到流氓分类群

我们将使用从形态学生成的一些示例数据早期腕足类分析(Sun等人。,2018)使用贝叶斯先生 (Hulsenbeck和Ronquist,2001).我们的数据文件存储在github.让我们加载运行1的结果:

如果(在线){
dataFolder(数据文件夹)<- "https://raw.githubusercontent.com/ms609/hyoliths/master/MrBayes/"
运行1.t<- 粘贴0(数据文件夹,“hyo.nex.run1.t”)
  #阅读10k棵树需要一两秒钟。。。
运行1树<-::阅读.nexus(运行1.t)
  如果(软件包版本(“猿”)<= "5.6.1") {
    #针对猿中一个错误的解决方法,希望在v5.6.2中修复
运行1树<- 结构(重叠地(运行1树,功能(土耳其){
信托收据$提示标签<- 属性(运行1Trees,“TipLabel”)
信托收据
}),类= “multiPhylo”)
}
}其他的{
  #如果没有互联网连接,我们可以生成一些示例树
运行1树<- 结构(未列出的(重叠地(0:21,功能(主干){
    添加TipEverywhere(猿::as.phylo公司(0,n提示= 12),“罗格”)
}),递归的= 错误的),类= “multiPhylo”)
}

选择要分析的树

我们的树文件包含生成的所有树。我们通常希望丢弃一定比例的树木作为老化树木:

燃烧压裂<- 0.25
n棵树<- 长度(运行1Tree)
<-运行1树[序列(来自=燃烧压裂*n棵树,至=n棵树)]

这是需要分析的大量树木。我们可以节省时间通过稍微稀释样品进行初步分析。

样本大小<- 100
<-运行1树[序列(来自=燃烧压裂*n棵树,至=n棵树,
                       输出长度=样本大小)]

为了进行全面分析,我们应该考虑另一方的输出运行我们的分析,可能与

n次跑步<- 4
所有树<- 重叠地(seq_len(n次跑步),功能(运行){
runTrees(运行树)<-::阅读.nexus(粘贴0(数据文件夹,“hyo.nex.run”,运行。“t”))
runTrees(运行树)<-runTrees(运行树)[序列(来自=燃烧压裂*n棵树,至=n棵树,
                           长度.out=样本大小/n跑步)]
})
<- 结构(未列出的(所有树,递归的= 错误的),类= “multiPhylo”)

初步评估

让我们从查看多数规则共识树开始。它可以是通过树叶的不稳定性给树叶着色;这里我们使用特别的的方法史密斯(2022).

首先,让我们定义一个函数来绘制渐变图例:

全体会议<- 共识(树木,第页= 0.5)

标准(三月= 代表(0,4),cex公司= 0.85)
情节(全体会议,尖端.颜色= 科尔比稳定性(树木)
绘图工具::Spectrum图例(
  “右下角”,图例= c(c)(“稳定”,“不稳定”),
  调色板= hcl.颜色(131,“地狱”)[1:101]
)

一些分类群在树上的位置不如其他。删除这些分类群会揭示足够的额外信息吗关于剩余的分类群以补偿关于那些分类群在哪里?

检测流氓分类群

对于如何评估将这些无赖分类群保留在我们的共识树中。

QuickRogue()使用快速启发式方法史密斯(2022);流氓出租车()支架Smith的较慢的启发式,可能会发现一组流氓分类群对一致性树进行略微改进;它也可以是配置为采用RogueNaRok方法(Aberer、Krompass和Stamatakis,2013).

流氓<- QuickRogue公司(树木)
#盗贼<-RugueTaxa(树)可能会做得更好,速度慢得多
流氓
##num taxNum taxon raw改进IC##1 0<NA><NA>NA 435.3517##2 1 49帕特里米特拉68.263028 503.6148##3 2 44麦克风13.3384875 516.9996##4 3 51 Siphonobolus_priscus公司5.467555 522.4672##5 4 53乌苏尼亚15.200668 537.6679
#第一行报告全体树的信息内容
流氓出租车<-流氓$分类单元[-1]

可视化结果

让我们看看这些分类群如何影响我们大多数人的共识结果。移除盗贼可能会通过生成减少的具有更高分辨率或更高拆分支持的共识树值。

标准(三月= 代表(0,4))#删除绘图边距
标准(mfrow公司= c(c)(1,2))#多屏绘图
标准(cex公司= 0.85)#较小的标签

全体会议<- 共识(树木,第页= 0.5)
减少<- 无共识(树木、流氓出租车、,第页= 0.5)

情节(全体会议,
     尖端.颜色= 如果不是这样(全体会议$提示标签%单位:%流氓出租车,2,1))
标签拆分(全体会议,分路频率(全体,树)
情节(减少)
标签拆分(减少,分路频率(减少,树木)

我们还可以想象我们的流氓分类群将在何处密布关于简化共识树:流氓在更明亮的位置。

标准(马尔= 代表(0,4),cex公司= 0.8)
哪辆出租车<- 长度(流氓出租车)#选择一个发光分类单元
位置<- 罗格曲线图(树木,rogueTaxa〔which Taxon〕,第页= 0.5,
                       图例= “左下角”,传奇.inset= 0.06)

工具书类

Aberer,A.J.、Krompass,D.和Stamatakis,A.(2013)。修剪流氓分类群提高了系统发育准确性:一种有效的算法和Web服务。系统生物学,62(1), 162–166. 数字对象标识:10.1093/sysbio/sys078
Hulsenbeck,J.和Ronquist,F.(2001年)。贝叶斯先生:贝叶斯推理系统发育。生物信息学,17, 754–755.
Smith,M.R.(2022)。利用信息论检测流氓分类群和改进共识树。系统生物学,71(5),986–1008. 数字对象标识:10.1093/sysbio/syab099
Sun,H.、Smith,M.R.、Zeng,H.,Zhao,F.、Li,G.和Zhu,M.(2018)。带蒂的滑石阐明了腕足动物身体的起源计划。英国皇家学会学报B:生物科学,285(1887), 20181780. 数字对象标识:10.1098/rspb.2018.1780