MonoPhy教程

奥兰多Schwery公司

2024-05-04

1引言

这是一个教程小插曲,提供了一个快速简单的介绍MonoPhy的使用。它将利用内置的示例文件和引导了解软件包最重要的功能。

为了了解新生成的系统发育和当前分类,有必要评估单系树上的分类群。MonoPhy可以快速简单地完成这项工作方式,既只使用系统发育,又包括文件分配提示分类群。值得注意的是,这样的文件可以包含任何类型的在树中测试单声道的信息(例如,特征或地理发生),只要注意这一点该评估在生物学上有意义。

2安装

2.1起重机

为了安装软件包的稳定CRAN版本:

安装.包(“MonoPhy”)

2.2 GitHub的开发版本

如果出于任何原因,您想安装开发版本,我建议临时安装在包裹的帮助下开发工具:

# 1. 安装软件包“devtools”(如果尚未安装):
安装.包(“开发工具”)

# 2. 加载“devtools”并在开发人员模式下临时安装和加载“MonoPhy”:
图书馆(开发工具)
设备模式(_M)(上的=T)
安装github(“奥斯卡/MonoPhy”)#从GitHub安装包
图书馆(MonoPhy)#加载包

#3.试用完“MonoPhy”后,离开开发者模式:
设备模式(_M)(上的=F)
#软件包不会像那样永久保存在您的系统中,这对于
#开发版本,而不是稳定版本

3使用

当我们加载包时,它的所有功能和其他所需功能包已导入。

图书馆(MonoPhy)

3.1负荷数据

3.1.1示例文件

该软件包附带了示例文件,供您试用函数,将在本教程中使用。系统发育是杜鹃花科植物,发表于Schwery等。(2015)删减为77个分类群。两个分类单元文件分配部落或两者部落和亚科。

#负荷数据
数据(埃里卡特里)
数据(Ericactribes)
数据(Ericac亚科)

检查通常是一个好主意(尤其是使用自己的数据)数据格式是否正确:

#检查数据
埃里卡特里
## ##具有77个尖端和76个内部节点的系统发生树。## ##提示标签:##木虱属、木虱科、木虱子属、木豚属、异刺木虱、仙女座、木犀草属。。。## ##生根;包括分支长度。
(埃里克塔里比斯)
##V1 V2版##1琼脂_牛痘##2琼脂_霍桑疫苗科##3琼脂糖菌苗科##4 Allotropa_virgata Monotropeae##5仙女座_多叶仙女座##6灯心草
(Ericacsubams)
##V1 V2 V3版##1琼脂_牛痘疫苗科疫苗亚科##2琼脂_霍桑疫苗科疫苗亚科##3伞形目_蕨类疫苗科疫苗亚科##4异托洛帕_病毒属单托洛帕亚科(Allotropa_virgata Monotropeae Monotropoidee)##5仙女座_polifolia仙女座亚科疫苗亚科##6荆芥(Bruckenthalia_spiculifolia Ericeae Ericoideae)

3.1.2自己的文件

如果您想分析自己的数据(最终应该是目标),您可以这样加载您的系统发育:

物理(phy)<- read.tree(读取树)(文件=“/your_path/your_phylogeny.tre”)

此时,包要求输入树是根目录,尽管它可能是多种多样的;此外,它只能处理单个输入到目前为止都是树。这在未来可能会改变。将处理多原子以保守的方式:如果不同的分类群出现在一个多体中将假定它们是非单系的。

分类法文件应该是带有或不带有标题和在系统发育中每个尖端一行。第一列应该是尖端名称,任何其他列都应将相应的提示指定给分类组,以每组一列的格式(在可能有几个分类层次)。如果文件有标头,则其中的名称将用于命名函数中的税务级别。如果不知道或不适用于某个小费所属的组在分类级别上,它应该编码为“NA”。您可以加载分类文件如下:

您的刀片<- 读取.csv(文件=“/your_path/your_taxonomy_file.csv”,收割台=错误的)

要再次检查数据的格式是否正确:

#检查数据
物理(phy)
(您的刀片)

3.2运行主要分析

主分析步骤的命令是评估专一性.这将检查所有分类单元的单系性在树中,确定哪些入侵者和异常值负责一个分类单元的非单系性并决定其在后者中的地位绘制。取决于树中提示的数量和单系问题,这一步将花费或多或少的时间。例如文件,此步骤只需几秒钟,需要数千个提示a只需几分钟,但对于一棵有着10公里尖端的冲突频繁的树来说很容易就要花上几个小时。访问信息然而,事后却相当迅速。

3.2.1基于提示标签的分类

如果我们只使用树运行分析,函数将检查提示标签的格式是否正确属_种,如果因此,将从每个贴片标签中提取属名,并将其用作与本提示相关的分类群。

解决方案0<- 评估单一(埃里卡特里)

结果输出对象将是一个列表,其中包含所有以嵌套方式输出所有分类单元级别的信息。我们将在下面探索如何有效地访问这些信息。

3.2.2基于文件的分类

如果提示标签的格式与属_种或者如果我们想评估不同的分类级别,我们可以通过向命令添加分类法文件来实现这一点。这个分类法文件应该是一个简单的表(数据框架,可能是最容易基于的关闭.csv文件),至少有两列和一列每个提示行数。第一列包含提示标签和其他所有内容列(一个或多个)与相应的提示,而每一列代表不同的分类单元级别(文件具有标题,其条目将用于命名级别)。的顺序文件中的提示名称可以与提示标签的顺序不同但它们必须包含完全相同的名称。如果分类某些提示的级别未知,可以将其编码为NA(但它们不能为空)。评估时将考虑这些提示其他类群的单系,但NA类群的单系不会评估。

解决方案1<- 评估专一性(Ericatree、Ericacsubams)

3.2.3分类法从Web下载

如果分类法文件无法轻松生成,请将分类法指定为征税允许使用具有相同名称的包下载下列组的分类名称出租车水平来自在线数据库“ncbi”,“它”“两者”,如下所示滑行的b滑行前。下载的然后,记录将像分类文件一样使用。

注:虽然该功能的实现方式是从两个数据库中删除重复项,只保留那些生成了一条记录,指定“两者”可能会导致错误这个征税包裹。还要注意,与其余功能-下载分类信息可能会花费大量时间中等大小的树已经有足够的时间了。

3.2.4其他选项

此功能还有一些其他规范。冗长允许自定义最大数量的结果表中显示的入侵者/异常值。异常值检查,如果设置为真的,将让功能考虑树中“太远”的分类单元成员将其分类单元的其余部分作为离群值,而不是所有提示他们之间的“入侵者”,从而有望取得成果生物学上更有意义。如果一个分支中分类单元成员的比率低于指定的值异常值水平并将尝试找到一个具有比率高于此。论据征税紫杉醇允许调整调用的滑行功能税务_名称:紫杉醇允许设置函数是否应显示当前查询的分类单元以及是否找到条目;征税允许设置函数是否提示用户在数据库中的几个潜在匹配项中做出决定,或者选择最有可能的一个。

此命令的默认值如下:

评估专一性<-
功能(树,分类学=无效的,冗长=5,异常值检查=真的,异常值水平=0.5,
出租车水平= 无效的,出租车司机=“ncbi”,出租车司机=“ncbi”,征税=错误的,紫杉醇=错误的)

3.3访问结果

3.3.1第一印象-总结和结果表

为了初步了解结果,我们可以拿出汇总表输出对象的:

获取摘要单体(解决方案0)#拉出汇总表
##$通用##出租车小贴士##总计32 77##单类9 25##非单种6 35##单型17 17##入侵者7 11##异常值12

我们现在可以在第一列中看到这两个分类群是多少单系、非单系或单型(仅由一个组成代表),以及有多少异常值或入侵者另一个分类单元。在第二列中,我们可以看到有多少提示属于这些不同的类别。

如果我们使用一个分类文件并具有多个分类级别默认情况下,summary和result函数将返回所有函数。如果我们只想看一个特定的,我们可以指定我们想要的税收水平.

GetResultMonophyly(获取结果单体)(解决方案1,税收水平=2)#在本例中,仅针对2级分类,子家族提取摘要
## $`2`##Monophyly MRCA#提示Delta-Tips#入侵者##疫苗亚科89 34 28 2号##单对虾Yes 80 10 0 0##Ericoideae编号123 23 1 1##仙人掌属是146 5 0 0##蛇总科是150 5 0 0##入侵者数量异常值##痘苗亚科,仙人掌科0##单对虾NA##痘苗总科Ericoidea Vaccioidea 0##仙人掌科NA##蛇总科NA## ##$税级_2##Monophyly MRCA#提示Delta-Tips#入侵者##疫苗亚科89 34 28 2号##单对虾Yes 80 10 0 0##Ericoideae编号123 23 1 1##仙人掌属是146 5 0 0##蛇总科是150 5 0 0##入侵者数量异常值##痘苗亚科,仙人掌科0##单对虾NA##痘苗总科Ericoidea Vaccioidea 0##决明子科NA##蛇总科NA

结果表向我们显示了每个分类的分析结果考虑单位。“Monophyly”行说明每个分类单元是否单系,“MRCA”给出了最近常见的所有成员的祖先,“#Tips”给出分配的提示数对于这个分类单元,“德尔塔尖”给出了没有的尖的数量属于该分类单元,但也是其MRCA的后代。这个“#Intruders”和“#Outliers”列告诉我们还有多少其他分类群或提示分别是该分类单元的入侵者或离群者。”入侵者和“离群人”告诉我们他们的名字。

3.3.2进一步查看-定制访问详细结果

为了真正深入分析输出,我们可以访问关于哪些分类群和尖端导致单系问题的信息入侵者或异常值,以及哪些节点被推断为每个节点的MRCA分类单元。

在探索入侵者时,我们可以列出所有分类群的入侵者,或者将列表限制为我们感兴趣的分类,例如仅适用于艾丽卡:

获取入侵出租车(解决方案0,分类群=“艾丽卡”)#为Erica获取导致单系问题的属列表
##$通用##$通用$艾丽卡##[1]“Bruckenthalia”

我们了解到布鲁肯塔利亚入侵艾丽卡事实证明这并不是问题布鲁肯塔利亚现在被分类为属于艾丽卡作为好。

类似地,如果我们有多个分类级别,我们可以限制输出到感兴趣的对象:

获取入侵者提示(解决方案1,分类群=“菊科”,税收水平=2)#获取导致Ericoideae亚科单系问题的物种列表
## $`2`##$`2`$爱立信##[1]“Rhodothamnus_chamaecistus”## ## ##$Taxlevel_2美元##$Taxlevel_2$Ericoideae公司##[1]“Rhodothamnus_chamaecistus”

这对MRCA节点、异常值提示和异常值分类单元的工作原理类似(请注意,后者不能局限于焦点分类群,因为提示只能是其自身分类单元的异常值)。而不是数字或“ALL”,我们也可以用他们的名字来选择税率。

获取AncNodes(解决方案1,分类群= 无效的,税收水平=“全部”)
##$税级_1##MRCA公司##疫苗科91##单齿目81##仙女座91##埃里西娅125##布莱恩特137##仙人掌科146##白蜡树82##蛇总科150##叶绿体科139##紫草科NA## ##$税级_2##MRCA公司##疫苗亚科89##单对虾亚纲80##菊科123##仙人掌科146##恩基安托亚科150

注:这个不适用对于Oxydendreae reflects它是单型的,因此没有MRCA。

获取OutlierTaxa(解决方案0,税收水平=“全部”)
##$Genera美元##[1]“越橘”
获取异常提示(解决方案1,分类群= 无效的,税收水平=“全部”)
##$税级_1##$税率_1$仙女座##[1]“痘苗_葡萄_idaea”## ## ##$税级_2##列表()

注: 列表()当然意味着那里在Taxlevel_2中没有任何异常值。

3.4绘图

不用说,最直观的方式是系统发育中单系的问题是要对其进行目视检查。因此,也有许多方法可以查看我们的结果。

3.4.1单体图

单系图是本包的标准图。它会的根据它们的单系地位来选择颜色尖端(和分支),允许快速发现树中出现问题的区域。这个标准颜色是:

  • 绿色:单系
  • 浅紫色:非单系
  • 深紫色:入侵者/离群者

其他一些ColorBrewer调色板有可用的(如帮助文件中所列)并使用定制颜色也有可能。默认情况下,树将是成阶梯状的.

绘制单系的最简单方法如下:

单色打印(解决方案0,Ericatree,绘图类型=“单系”,使成阶梯状=真的,cex公司=0.5)

这向我们展示了属水平上的单系情况。这很容易看看如何单侧花属入侵鹿蹄草,卡尔米奥普斯入侵叶绿体,布鲁肯塔利亚入侵艾丽卡以及如何迪莫朗瑟拉帕菲娅相互入侵。我们进一步了解如何越桔属被入侵了树萝卜属佳露果属,同时有两个离群物种好。请注意(更高)异常值水平只会告诉我们佳露果属入侵越桔属,然后会越橘属苞片作为额外的异常值。

3.4.2分类图

这种相当辅助的绘图类型允许查看由它们所属的分类单元。这里我们想看一个不同的分类学水平,因此我们可以指定在要显示的命令中税收水平=2(正如亚科输入文件中的第二个分类列)并选择输出对象解决方案1,其中包含分析结果合并分类法文件。默认颜色为彩虹这意味着每个分类单元都会得到不同的彩虹光谱中的颜色。

单色打印(解决方案1,Ericatree,税收水平=2,绘图类型='分类',cex公司=0.5)

这幅图很好地向我们展示了亚科的主要情况单系动物,除了一个红色的流氓伏石花属变色龙尤其是被误称为痘苗亚科(而事实上,它属于Ericoideae)正确的位置)。

3.4.3单体轴索切开镜图

此绘图类型只是将前两种类型合并并显示它们在两棵镜像树上。我们在此再次使用子家族案例。

单色打印(解决方案1,Ericatree,税收水平=2,绘图类型='monoVStax',cex公司=0.4,标签.偏移=18)

看到前面的情节与相应的单系相反映剧情让我们了解整个蝗科和仙人掌科是如何形成的入侵痘苗科:入侵者伏石花属变色龙属将类Vaccinioideae的MRCA节点下拉到包括其他两个亚家族。再一次,更加保守异常值水平会导致生物上更多有意义的结果伏石花属是的异常值痘苗亚科(和菊亚科的入侵者),而其他一切都是好。

3.4.4入侵图

有关树和是谁造成的,你可能想选择入侵者阴谋将特别强调入侵者和离群者以及他们的分类单元为了使情节更加集中于问题,我们设置单色=真,至坍塌单系分类群由每个小费代表。这次,我们展示部落。默认颜色为:

  • 灰色:单系
  • 黑色:非单系
  • 彩虹:入侵者/离群者
单色打印(解决方案1,Ericatree,税收水平=1,绘图类型=“入侵者”,单辊=真的,化学需氧量=0.5,标签.偏移=5)

所有单一种族部落的瓦解缩小了这片土地增加了概述。我们立即看到,这些问题是有限的疫苗科和它们的姐妹分支仙女座着色显示出多叶仙女座,越橘属理想葡萄普氏泽诺比亚是它的起因。显然地,仙女座以及越桔属应该是属于同一部落(仙女座),而泽诺比亚应该属于另一个(作为仙女座的入侵者疫苗科)。这个问题背后的解决方案是部落名称分配给理想越桔泽诺比亚普韦伦塔其中(故意)切换。

注释:闯入者使用彩虹同样,但调色板将是新创建的,并且颜色与分类图中的颜色不对应。

3.4.5大树解决方案

在R中查看系统发育的一个困难是树也可能是在R绘图窗口中可以看到更多细节。为此,我们可以选择直接将绘图打印到PDF文件,这样我们可以然后轻松搜索并缩放到树的所需部分。收件人实现这一点,我们只需设置PDF=真并设定我们想要的中的文件名PDF_filename='urdesiredfilename.PDF'.空间还可以使用单色=真.尺寸可以使用指定PDF的PDF_宽度PDF_高度,默认值为“自动”.

注:请注意,绘制非常大的树可以需要相当长的时间,在某些情况下比运行主分析。

这里有两个打印为PDF的示例,第一个是单系图在属水平上具有坍塌的单系分支:

单色打印(解决方案0,Ericatree,税收水平=1,绘图类型=“单系”,单辊=真的,
用梯子把=真的,PDF格式=真的,PDF_文件名=“Monophyplot_Ericac_Example.pdf”)

其次是子家族层面的入侵者阴谋。一个好主意树是,使用type=“风扇”:

单色打印(解决方案1,Ericatree,税收水平=2,绘图类型=“入侵者”,用梯子把=真的,PDF格式=真的,
PDF_文件名=“Intruderplot_Ericac_Example.pdf”,类型=“风扇”)

注释:如果PDF_高度PDF_宽度设置为“自动”,命令将根据树中的分类群数量。然而,PDF文件似乎受限于最大尺寸为200英寸,因此该函数将大小限制为(自动和手动尺寸)。如果你的树很大,生成的PDF可能很难检查,您可能需要考虑将树切成子树进行绘图(例如使用树片从包中植物醇).

此外,如果自动缩放以某种方式移动提示标签等不喜欢,您可以通过指定相应的自己争论。有关详细信息,请参阅帮助文件。

4最终注释

关于软件包所有功能及其使用的更多信息可以在帮助文件中找到帮助(package=MonoPhy)。对于如有任何其他问题,请发送主题为“MonoPhy”的电子邮件支持'到schwery.macorevo@pm.me.

示例数据基于:

O.施韦里。、Onstein,R.E.、Bouchenak-Khelladi,Y.、。,Xing,Y.、Carter,R.J.和Linder,H.P.(2015年)山:杜鹃花科的辐射。新植物学家.doi:10.1111/nph.13234链接到PDF