摘要:自然选择是生物进化的动力,在分子水平上检测正选择作用,进而识别重要的氨基酸位点,这对于揭示生物适应性进化机制具有重要的意义。在适应性进化分析中,PAML软件包中的CodeML 子程序是应用最为广泛的一款工具,但由于其晦涩难懂的参数配置及命令行式的操作让不少新用户望而却步。本文应用新开发的CodeML可视化分析工具—EasyCodeML对示例数据进行选择压力分析,并给出CodeML分析基本流程,包括格式转换、参数配置、结果解读和绘图等步骤,可为不同物种开展相关分析提供参考。
关键词: 适应性进化, EasyCodeML, 自然选择, 正选择位点, 似然率检验
研究背景
在DNA水平上检测正选择,并找出对应的氨基酸位点是适应性进化分析中不可或缺的一项重要内容。在基于密码子 (Codon-based) 进化模型的生物软件和资源中,PAML包中的CodeML 程序目前使用最为广泛 (Yang, 2007)。根据序列中不同位点或系统发育树中不同分支上ω 值 (非同义替代与同义替换的比值,即dN/dS或Ka/Ks) 不同,CodeML中的密码子模型可以分为枝模型 (Branch model)、位点模型 (Site model)、枝位点模型 (Branch-site model) 和进化枝模型 (Clade model) 四大类(Yang and Nielsen, 1998 and 2002; Forsberg and Christiansen, 2003; Bielawski and Yang, 2004; Zhang et al., 2005)。 位点模型 (Site model) 常用于检测核苷酸序列中位点的正选择 ( ω >1) 作用,该模型假设数据集中不同密码子的选择压不同,而支系 (Lineage) 间的选择压力相同。位点模型中共有8个不同假设的模型 (表1),其中M0和M3、M1a和M2a、M7和M8以及M8a和M8为四对巢式模型 (Nested model),M0、M1a、M7和M8a为零假设模型 (null model),M3、M2a和M8为备选假设模型 (alternative model)。除M0 vs. M3 (不是用于检测正选择) 外,如果备选模型显著优于零假设模型(Likelihood ratio test, p < 0.05),表明存在正选择作用 (Yang et al., 2000)。检测正选择作用的巢式模型中,M7 vs. M8 是检测正选择最为常用的模型对,但由于M8a vs. M8得到的假阳性结果更低,现在也渐渐被使用。当数据中检测到正选择作用后,可以应用贝叶斯经验贝叶斯法 (Bayes empirical Bayes, BEB) 进一步鉴定可能受正选择作用的氨基酸位点 (Yang et al., 2005)。表1. 位点模型 (Site model) 中不同模型的背景假设
软件运行环境及信息
实验步骤
EasyCodeML分析所需要的数据文件准备就绪后,可在Preset Mode (预置模式) 中"Setup"标签下加载对应的数据文件,并配置主要参数 (图3)。图3. EasyCodeML参数配置界面
常见问题及解决方法
在分析过程中,EasyCodeML用户可以会遇到一些如下问题:
小结与建议
EasyCodeML以CodeML为内核,可以实现CodeML分析界面化、自动化操作,生成准发表级的数据表格。应用EasyCodeML进行适应性进化分析,简单易用。但受内核所限,该软件仅适用于中、小型数据集。对于多基因的CodeML分析,推荐使用LMAP软件 (Maldonado et al., 2016);对于基因组级别的数据,则推荐使用软件PosiGene (Sahm et al., 2017) 和GWideCodeML (Macías et al., 2020)。
致谢
EasyCodeML自2015年首次推出测试版,时至目前最新的1.4版,期间历尽无数次的反复调试。在此,特别感谢华南农业大学陈程杰博士的辛勤付出和广大EasyCodeML用户的反馈意见使得程序日臻完善。
竞争性利益声明
作者声明没有利益冲突
参考文献
If you have any questions/comments about this protocol, you are highly recommended to post here. We will invite the authors of this protocol as well as some of its users to address your questions/comments. To make it easier for them to help you, you are encouraged to post your data including images for the troubleshooting.
您好,关于这个问题,数月之前我们已在 EasyCodeML 相关生物软件社群「QQ:323809849」中有讨论。相信只要仍在社群中的用户(也包括您)可以轻松查询到相关问题讨论历史。您的主要意见是:1)您认为只要包含部分PAML源码,即必须开源所有源代码2)您认为我们早期文档有标写GPL协议,即也必须开源所有源代码讨论结果如下:1)EasyCodeML 中包含的部分PAML源码,即 CodeML 程序相关代码为直接拷贝于PAML程序包。早期软件并不包含该文件。我们仅提供了 windows 和 macOS 的二进制执行程序文件(且已与PAML软件通讯作者有邮件存证)。后续在软件维护过程中,少数用户需要在Linux下运行该界面化软件,而若编译单一二进制程序,无法满足不同Linux发行版均可执行的具体情况。基于EasyCodeML开发的初衷,即让更多人可以更快更好更方便地完成正选择分析,我们试图通过提供PAML部分源码与相关编译命令,引导用户在必要时自行编译。这块需求,实质小众且可去除。此处也欢迎您贡献CodeML相关众多Linux发行版可用的二进制程序,与我们一同解决生物序列分析时多数用户面临的操作难题。2)您说的是事实,我们在前期文档中确实标注了 GPL 相关描述。正如数月前我们在社群中讨论提及,这一描述属于我们这边的失误。我们并无开发源码的计划或打算,但有这一描述,确实不妥当。故将其删去。当然,并非我们无开源精神云云,正如您或其他人均可以看到软件作者亦有向一些开源软件贡献源码。鉴于目前情况,我们更无开源EasyCodeML项目源码意向,请知悉。此一事宜,正如我们参与旅行团旅游,按照给导游的出行计划,我们有一个景点要去,但旅行回家数月后,旅行团要求我们必须重新过去把景点给看了,同时把费用给支付了。这一逻辑,并不妥当。因此,我们选择删除该描述,请知悉。最后,非常感谢您对这一项目的持续关注,您的坚持也是对的。同时再次期待您贡献 CodeML 相关众多 Linux 发行版可用的二进制程序。我们相信,有您的贡献,会让 EasyCodeML 程序用户多多受益。