生信教程|替代模型选择
摘要
由于教程时间比较久远,因此不建议实操,仅阅读以了解学习。
在运行基于可能性的系统发育分析之前,用户需要决定模型中应包含哪些自由参数:是否应该为所有替换假设单一速率(如序列进化的 Jukes-Cantor 模型)或者是否应该允许不同的转换率和颠换率(如 HKY 模型)。或者是否应该对所有替换使用不同的比率(如 GTR 模型)四种核苷酸的频率(“状态频率”)是否应该被估计或假设为全部相等?自由模型参数的最佳数量取决于可用数据,并且可以根据 Akaike 信息准则(AIC)等标准进行选择,该准则旨在在模型拟合的改进与模型拟合所需的附加参数数量之间取得平衡。
在本教程[1]中,我将介绍如何使用软件 PAUP* (Swofford 2003) 选择系统发育分析的替代模型,PAUP* 是一种用于各种类型系统发育分析的流行多功能工具。
数据集
本教程中使用的数据是教程多序列比对中为 16s 和 RAG1 序列生成的比对的过滤版本。由于 PAUP* 需要 Nexus 格式的对齐作为输入,因此请使用文件 16s_filtered.nex 和 rag1_filtered.nex。
PAUP*
该软件最初开发于 20 世纪 80 年代末,是最古老的系统发育分析程序之一,尽管它已经存在了很长时间,但其作者 Dave Swofford 从未发布过最终版本。尽管在基于可能性的系统发育推断方面,PAUP* 在速度方面早已被其他程序超越,但它对于它包含的各种其他功能仍然很重要。不久前,PAUP* 只能以 100 美元左右的价格从 Sinauer Associates 购买。自 2015 年起,Dave Swofford 在他的新 PAUP* 网站上免费分发 PAUP* 4.0 的更新版本作为试用版。这些试用版会在几个月后过期,因此如果您将来还想使用 PAUP,则可能需要重新下载。这种情况可能只是暂时的,因为 PAUP 5 的开发正在进行中,该产品将至少部分进行商业分发。
虽然本教程中的描述假设您已安装适用于 Mac OS X 或 Windows 的 PAUP* 图形用户界面 (GUI) 版本,但也可以安装 PAUP* 的命令行版本,这在 Linux 上是必需的或 Mac OS X Catalina 或更新版本,因为这些系统当前不存在 GUI。如果您使用命令行版本,您可能需要查找等效命令;启动 PAUP* 后,始终可以通过 PAUP* 的帮助屏幕来完成此操作,只需键入“?”即可显示该帮助屏幕。并按 Enter 键。下面的屏幕截图显示了 PAUP* 命令行版本的帮助屏幕。
模型选择和系统发育推断
基于替换模型与序列数据的拟合程度的比较已在多种工具中实现,并且最常使用程序 jModelTest 进行。但由于最近在 PAUP* 中实现了自动选择替代模型,并且该存储库中的其他教程无论如何都需要安装 PAUP,因此我在这里使用 PAUP 而不是 jModelTest 来进行模型选择。实际上,两个程序之间的模型选择非常相似。
-
单击 PAUP* 的“文件”菜单中的“打开...”。确保在打开的窗口底部选择“执行”作为初始模式,如下一个屏幕截图所示。选择 Nexus 格式的 16s 序列对齐文件 (16s_filtered.nex),然后单击“打开”。 PAUP* 将给出其对该文件的解释的简短报告,包括在比对中发现的物种(分类单元)和字符的数量。
-
“自动模型选择”选项可以在 PAUP* 的“分析”菜单中找到。但是,当您单击它时,您会看到为了运行此模型选择,需要系统发育。虽然这可能看起来可能会导致循环推理(选择替代模型是最大似然系统发育分析所必需的,但也取决于系统发育),但这在实践中不是问题,因为模型选择的结果并不强烈依赖于正确的系统发育;因此,任何合理的系统发育都会导致相似的模型选择结果。因此,最好的解决方案是使用 Neighbor-Joining 算法运行快速系统发育分析,该算法也可以在 PAUP* 中方便地实现。
-
要从邻接系统发育分析的可用设置中进行选择,请单击 PAUP* 的“分析”菜单中的“邻接/UPGMA...”,如下面的屏幕截图所示。
-
在新打开的弹出窗口中,保留所有默认选项并单击“确定”(PAUP* 命令行版本中的等效命令只是 NJ;)。 -
再次单击“分析”菜单中的“自动模型选择...”。使用邻接生成的树将已被选择用于模型选择,弹出窗口现在将为您提供用于此模型选择的多个选项。模型选择的可用标准称为“AIC”、“AICc”、“BIC”和“DT”。这些与似然比检验类似,但优点是它们可用于比较非“嵌套”模型(如果其中一个模型具有其他模型的所有参数加上附加参数,则两个模型是嵌套的)。 “AIC”代表“Akaike信息准则”,“AICc”是“针对小样本量校正的Akaike信息准则”,“BIC”是“贝叶斯信息准则”,“DT”是“决策理论”标准。其中最常用的是 Akaike 信息准则。每个模型的 AIC 独立计算为 AIC = 2 k −2 log(L),其中 k 是模型中自由参数的数量,L 是所有自由参数优化后数据的可能性(即最大可能性)。通常,如果一个模型的 AIC 分数比另一个模型的 AIC 分数好(= 小)至少 4 分,则该模型被认为优于另一个模型。设置“AIC”旁边的勾号,但删除“AICc”、“BIC”和“DT”旁边的勾号。另请选择“应用选择模型的设置:”右侧的“AIC”。作为“模型集”,选择数字“3”。这意味着将测试具有相等替代率的模型(例如 Jukes-Cantor 模型)、具有单独的转换和颠换替代率的模型(例如 HKY 模型)以及具有六个独立替代率的模型(GTR 模型)。保留“等速率”和“gamma”旁边的勾号(允许站点间速率变化的伽玛分布),但删除“invar.sites”和“两者”的勾号。我建议这样做,因为不变位点比例(“+I”)和位点间速率变化(“+G”)的参数很混乱,因为对一组位点应用特别低的速率几乎具有相同的效果。考虑到这些站点的效果完全不变。保留“显示每个模型的输出”旁边的勾号,并设置“显示每个模型的参数估计”旁边的勾号。确保设置面板如下面的屏幕截图所示,然后单击“确定”。
-
PAUP* 将在三个表中报告模型选择的输出。在第一个部分(在“评估树 1 的模型”下),您将看到已比较的 12 个模型的列表,如下所示(“JC”代表 Jukes-Cantor 模型)。
-
在同一个表的第 4 列和第 5 列中,您将看到 k,即模型中自由参数的数量。第 4 列列出了与最简单模型相比额外的自由参数的数量,第 5 列列出了自由参数的总数。第二个表列出了每个模型的参数估计值。每个型号的编号和名称后面有九列数字。最后,第三个表再次列出了模型,但这次是按 AIC 分数排名。
-
重复替换模型与 RAG1 序列比对 (rag1_filtered.nex) 的比较。
动动您发财的小手点个赞吧!
Reference
Source: https://github.com/mmatschiner/tutorials/blob/master/substitution_model_selection/README.md
本文由 mdnice 多平台发布
相关文章:
生信教程|替代模型选择
摘要 由于教程时间比较久远,因此不建议实操,仅阅读以了解学习。 在运行基于可能性的系统发育分析之前,用户需要决定模型中应包含哪些自由参数:是否应该为所有替换假设单一速率(如序列进化的 Jukes-Cantor 模型…...
redis持久化、主从和哨兵架构
一、redis持久化 1、RDB快照(snapshot) redis配置RDB存储模式,修改redis.conf文件如下配置: # 在300s内有100个或者以上的key被修改就会把redis中的数据持久化到dump.rdb文件中 # save 300 100# 配置数据存放目录(现…...
Python 连接 Oracle 详解
文章目录 1 首先,安装第三方库 cx_Oracle2 其次,配置命令 1 首先,安装第三方库 cx_Oracle 参考 CSDN 博客:Python 安装第三方库详解(含离线) 2 其次,配置命令 import cx_Oracle# 1.数据库连接…...
认识模块化
1. 模块化的基本概念 1.1 什么是模块化 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组 合、分解和更换的单元。 1. 现实生活中的模块化 2.编程领域中的模块化 编程领域中的模块化,…...
2023年及以后语言、视觉和生成模型的发展和展望
一、简述 在过去的十年里,研究人员都在追求类似的愿景——帮助人们更好地了解周围的世界,并帮助人们更好地了解周围的世界。把事情做完。我们希望建造功能更强大的机器,与人们合作完成各种各样的任务。各种任务。复杂的信息搜寻任务。创造性任务,例如创作音乐、绘制新图片或…...
OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装
目录 一、OpenLdap介绍 二、PhpLdapAdmin介绍 三、使用docker-compose进行安装 1. docker-compose.yml 2. grafana配置文件 3. provisioning 四、安装openldap、phpldapadmin、grafana 五、配置OpenLDAP 1. 登陆PhpLdapAdmin web管理 2. 需要注意的细节 内容介绍参考…...
Java | 排序内容大总结
不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始,不如现在行动! 文章目录 🌴前言🌴算法整理🌴两个结论🌴总结 🌴前言 本文内容是关于选择排序、冒泡排序、插入排序…...
Go 语言入门指南:基础语法和常用特性解析
什么是Go语言? Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致。 Go语言语法与C相近,但功能上有&a…...
20.添加HTTP模块
添加一个简单的静态HTTP。 这里默认读者是熟悉http协议的。 来看看http请求Request的例子 客户端发送一个HTTP请求到服务器的请求消息,其包括:请求行、请求头部、空行、请求数据。 HTTP之响应消息Response 服务器接收并处理客户端发过来的请求后会返…...
Qemu 架构 硬件模拟器
Qemu 架构 硬件模拟器 Qemu 是纯软件实现的虚拟化模拟器, 几乎可以模拟任何硬件设备, 我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机, 虚拟机认为自己和硬件打交道, 但其实是和 Qemu 模拟出来的硬件打交道ÿ…...
通过starrocks jdbc外表查询sqlserver
1.sqlserver环境准备,使用docker环境,可以参考使用flink sqlserver cdc 同步数据到StarRocks_gongxiucheng的博客-CSDN博客 部署获得sqlserver环境; 2.获取starrocks环境,也可以通过docker部署,参考:使用…...
ArcGIS 10.5安装教程!
软件介绍: ArcGIS Desktop 10.5中文特别版是一款功能强大的GSI专业电子地图信息编辑和开发软件,ArcGIS Desktop 包括两种可实现制图和可视化的主要应用程序,即 ArcMap 和 ArcGIS Pro。ArcMap 是用于在 ArcGIS Desktop 中进行制图、编辑、分析…...
ConstraintLayout约束布局
1.进行复杂页面布局时,最外层的根布局不要用ConstraintLayout. 示例布局: <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.co…...
通过pyinstaller将python项目打包成exe执行文件
目录 第一步:安装pyinstaller 第二步:获取一个ico图标(也即是自己这个exe文件最后的图标) 第三步:打包 第一步:安装pyinstaller pip install pyinstaller 第二步:获取一个ico图标ÿ…...
P1068 [NOIP2009 普及组] 分数线划定
题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的 150 % 150\% 150% 划定,即如果计划录取 m m …...
应用在汽车新风系统中消毒杀菌的UVC灯珠
在病毒、细菌的传播可以说是一个让人敏感而恐惧的事情。而对于车内较小的空间,乘坐人员流动性大,更容易残留细菌病毒。车内缺少通风,残留的污垢垃圾也会滋生细菌,加快细菌的繁殖。所以对于车内消毒就自然不容忽视。 那么问题又来…...
TOOLLLM: FACILITATING LARGE LANGUAGE MODELS TO MASTER 16000+ REAL-WORLD APIS
本文是LLM系列的文章之一,针对《TOOLLLM: FACILITATING LARGE LANGUAGE MODELS TO MASTER 16000 REAL-WORLD APIS》的翻译。 TOOLLLMs:让大模型掌握16000的真实世界APIs 摘要1 引言2 数据集构建3 实验4 相关工作5 结论 摘要 尽管开源大型语言模型&…...
【JavaSpring】spring接口-beanfactory和applicationcontext与事件解耦
beanfactory 1.applicationcontext的父接口 2.是Spring的核心容器 功能 表面只有getBean,但实现类默默发挥了巨大作用 1.管理所有bean 2.控制反转 3.基本的依赖注入 applicationcontext 功能 1.继承了MessageSource,有了处理国际化资源的能力 …...
《深入理解Java虚拟机》——Java内存区域与内存溢出异常
Java内存区域与内存溢出异常 运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存 实例堆溢出栈溢出 运行时数据区域 根据《Java虚拟机规范的规定》,Java虚拟机所管理的内存将会包含已下架几个运行时数据区域。 程序计数器 在Java虚…...
公众号hanniman往期精选
目录 一、AI产品分析(10篇) 二、AI产品经理(10篇) 三、AI技术(10篇) 四、AI行业及个人成长(10篇) 一、AI产品分析 1、【重点】深度 | 关于AIGC商业化的13个非共识认知(80…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
