跳到内容

thijsjanzen/节点子

存储库文件导航

节点子节点

CRAN_状态_标签 R-CMD检查

分行 [Codecov标志]
主人 代码cov.io
发展 编解码器.io
理查 编解码器.io

NodeSub是一个R包,可用于在节点替换模型下生成路线。

安装

NodeSub还提供执行BEAST2分析的功能,如果您想访问这些功能,则需要依赖babette套件的功能。不幸的是,目前CRAN上没有babette套件,但可以从rOpenSci安装:

远程::install_github(“ropensci/beautier”)远程::install_github(“ropensci/tracerer”)远程::install_github(“ropensci/beastier”)远程::install_github(“ropensci/mauricer”)远程::install_github(“ropensci/babette”)远程::install_github(“ropensci/mcbette”)

接下来,我们需要安装BEAST2和BEAST2NS包(用于边际似然计算),并确保R可以找到它。我们可以这样做:

远程::install_github(“richelbilderbeek/beastierinstall”)beastierinstall::install_beast2()beastier::is_beast2_installed()遥控器::install_github(“richelbilderbeek/mauricenstall”)mauricerinstall::install_beast2_pkg(“NS”)mauricer::is_beast2_ns_pkg_installed()

NodeSub的安装

为了使用BEAST2函数,我们现在需要一些CRAN上没有的函数,因为CRAN不支持在R包中包含依赖github的代码。您可以通过以下方式安装此功能:

远程::install_github(“thijsjanzen/nodeSub”,ref=“babette”)

用法

给定一个树,我们可以生成一个NodeSubstitution对齐,如下所示:

input_tree<-树sim::sim.bd.taxa(n=100,numbsim=1,λ=1,μ=0.1,完整=真)[1]目标对齐<-sim_unlinked(phy=输入树,费率1=1e-3,费率2=1e-3,l=10000,节点时间=0.3)

然后,我们可以继续创建一个双路线(例如,给定相同的树,但使用“正常”替换模型,具有完全相同数量的累积替换的路线)

comp_alignment<-create_equal_alignment#(input_tree=geiger::drop.confinated(input_tree),#只能在没有灭绝分支的树上工作sub_rate=1e-3,alignment_result=目标对齐)

现在我们有两个对齐,一个使用节点替换模型生成,另一个使用标准的严格时钟模型。对于这两种情况,我们都可以进行系统发育推断以获得结果树。目的是将树的后验分布与我们从“input_tree”开始的真实树进行比较,并估计节点替换模型调用的错误。

节点后部<-推断起源(target_alignment$alignment,“节点_后部”,clock_prior=beautier::create_strict_clock_model(clock_rate_param=beautier::create_clock_cate_param(值=1e-3)),燃耗=0.1,working_dir=获取wd(),sub_rate=1e-3)reference_posterior<-推断起源(comp_alignment$alignment,“reference_posteror”,燃耗=0.1,clock_prior=beautier::create_strict_clock_model(clock_rate_param=beautier::create_clock_date_param(值=comp_alignment$adjusted_rate)),working_dir=获取(),sub_rate=1e-3)

有两个树的后验分布,我们可以根据汇总统计进行比较。

node_ stats<-calc_ sum_,输入树)ref_stats<-calc_sum_stats(reference_posterior$all_trees,输入树)