当前位置: 首页 > article >正文

PartitionFinder2 安装与使用-bioinfomatics tools 051

1. 引言

PartitionFinder2 是目前针对大中型数据集(核苷酸、氨基酸、形态数据)最理想的分区检测和进化模型选择工具。其推演的最优进化模型结果与 jModelTest2(核苷酸)和 ProTest3(氨基酸)的结果较为接近。

2. 官网

https://www.robertlanfear.com/partitionfinder/

PartitionFinder2 作者 Rob Lanfear 建议:

  • AICc 是进化模型选择的最佳度量,不推荐使用 AIC(出于历史原因仍保留)。
  • rcluster 算法优于 hcluster,应尽量避免使用 hcluster。

3. 安装 PartitionFinder2

3.1 安装 Python

  • PartitionFinder2 需要 Python 2.7.10 或更高版本,但不支持 Python 3.x。
  • 推荐使用 Anaconda 进行安装(下载地址:http://continuum.io/downloads)。
  • 若不使用 Anaconda,请确保 Python 版本 ≥2.7.10,并安装以下依赖包:
    pip install numpy pandas tables pyparsing scipy sklearn
    
    注意:安装的是 tables 而不是 pytables

3.2 安装 PartitionFinder2

  • 从 PartitionFinder2 官网下载最新版本并解压。
https://github.com/brettc/partitionfinder/releases/latest
  • 移动解压后的文件夹至所需目录,无需额外安装。

4. 入门使用

4.1 序列数据格式

  • 支持 PHYLIP 格式,序列名称字符长度范围 1-100。
  • 数据文件需与 partition_finder.cfg 配置文件位于同一文件夹。

4.2 配置文件 (partition_finder.cfg)

PartitionFinder2 的核心配置文件 partition_finder.cfg 需严格按照格式编写。示例如下:

# 序列数据文件
alignment = test.phy;# 枝长估计方式(linked / unlinked)
branchlengths = linked;# 进化模型选择(all / allx / mrbayes / beast / gamma / gammai / <list>)
models = GTR, GTR+G, GTR+I+G;# 模型选择标准(AIC / AICc / BIC)
model_selection = AICc;# 数据分区
[data_blocks]
Gene1_pos1 = 1-789\3;
Gene1_pos2 = 2-789\3;
Gene1_pos3 = 3-789\3;# 方案搜索算法(all / user / greedy / rcluster / rclusterf / kmeans)
[schemes]
search = greedy;

4.3 重要参数说明

  • alignment = test.phy:指定序列数据文件。
  • branchlengths = linked:设定枝长估计方式。
  • models = all:设定进化模型范围,可选 allx 以最大似然估计碱基/氨基酸频率。
  • model_selection = AICc:选择用于模型选择的标准。
  • [data_blocks]:设定数据分区,通常基于基因和密码子位置划分。
  • [schemes] search = greedy:设定分区搜索算法,推荐 greedy(贪婪搜索)或 rcluster(松弛聚类)。

5. PartitionFinder2 实战

5.1 运行 PartitionFinder2(小型数据集,约 10 个基因座)

  • 核苷酸数据集(使用 PhyML):
    python PartitionFinder.py /path/to/nucleotide_data
    
  • 氨基酸数据集(使用 RAxML):
    python PartitionFinderProtein.py /path/to/aminoacid_data
    

5.2 运行 PartitionFinder2(大型数据集,约 100 个基因座)

  • 设置配置文件
    branchlengths = linked;
    models = all;
    model_selection = AICc;
    search = greedy;
    
  • 运行 PartitionFinder2(使用 RAxML 加速)
    python PartitionFinder.py /path/to/nucleotide_data --raxml
    python PartitionFinderProtein.py /path/to/aminoacid_data --raxml
    
  • 优化氨基酸数据集计算速度(减少模型数量)
    models = LG, LG+G, LG+I+G, LG+I+G+F, LG4X;
    

5.3 运行 PartitionFinder2(超大数据集,约 1000 个基因座)

  • 设置配置文件
    branchlengths = linked;
    models = all;
    model_selection = AICc;
    search = rcluster;
    
  • 运行 PartitionFinder2(使用松弛聚类)
    python PartitionFinder.py /path/to/nucleotide_data --raxml
    python PartitionFinderProtein.py /path/to/aminoacid_data --raxml
    
  • 优化计算速度(降低 rcluster-max 参数)
    python PartitionFinder.py /path/to/nucleotide_data --raxml --rcluster-max 100
    

5.4 运行 PartitionFinder2(形态学数据集)

  • 设置配置文件
    branchlengths = linked;
    models = multistate+G;
    model_selection = AICc;
    search = kmeans;
    
  • 运行 PartitionFinder2(形态学数据集)
    python PartitionFinder.py /path/to/morphology_data --raxml
    

5.5 附注

  • user_tree_topology 选项:允许用户提供固定的系统发育树,避免软件默认生成邻接法树。
  • branchlengths = unlinked 适用于 MrBayes、BEAST、RAxML 等支持不相关枝长估计的软件。
  • 形态学数据模型
    • BINARY+G(二进制数据)
    • MULTISTATE+G(多状态数据,MK 模型)
    • +A 选项用于偏倚校正

PartitionFinder2 是一个强大的分区和模型选择工具,适用于核苷酸、氨基酸和形态学数据。通过合理选择分区方案和搜索算法,可以提高分析效率。建议在大数据集时使用 RAxML 结合 rcluster 算法,以平衡计算速度和准确性。

6. 引用

Lanfear, R., Frandsen, P. B., Wright, A. M., Senfeld, T., Calcott, B. (2016)
PartitionFinder 2: new methods for selecting partitioned models of evolution for
molecular and morphological phylogenetic analyses. Molecular biology and evolution.
DOI: dx.doi.org/10.1093/molbev/msw260.
Lanfear, R., Calcott, B., Kainer, D., Mayer, C., & Stamatakis, A. (2014). Selecting
optimal partitioning schemes for phylogenomic datasets. BMC evolutionary
biology, 14(1), 82.
Frandsen, P. B., Calcott, B., Mayer, C., & Lanfear, R. (2015). Automatic selection of
partitioning schemes for phylogenetic analyses using iterative k-means clustering of site
rates. BMC Evolutionary Biology, 15(1), 13. 

相关文章:

PartitionFinder2 安装与使用-bioinfomatics tools 051

1. 引言 PartitionFinder2 是目前针对大中型数据集&#xff08;核苷酸、氨基酸、形态数据&#xff09;最理想的分区检测和进化模型选择工具。其推演的最优进化模型结果与 jModelTest2&#xff08;核苷酸&#xff09;和 ProTest3&#xff08;氨基酸&#xff09;的结果较为接近。…...

MCP与RAG:增强大型语言模型的两种路径

引言 近年来&#xff0c;大型语言模型&#xff08;LLM&#xff09;在自然语言处理任务中展现了令人印象深刻的能力。然而&#xff0c;这些模型的局限性&#xff0c;如知识过时、生成幻觉&#xff08;hallucination&#xff09;等问题&#xff0c;促使研究人员开发了多种增强技…...

ARM 架构下 cache 一致性问题整理

本篇文章主要整理 ARM 架构下&#xff0c;和 Cache 一致性相关的一些知识。 本文假设读者具备一定的计算机体系结构和 Cache 相关基础知识&#xff0c;适合有相关背景的读者阅读 1、引言 简单介绍一下 Cache 和内存之间的关系 在使能 Cache 的情况下&#xff0c;CPU 每次获取数…...

GB28181未来发展趋势,如何借助于EasyGBS国标GB28181平台+EasyGBD国标GB28181设备端抓住大机会

GB28181规范目前已经迎来了2022版&#xff0c;随着规范行业影响力和应用范围越来越大&#xff0c;相信还会有类似2028、2030等迭代版本出来&#xff0c;我们预测的GB28181发展趋势可能会是以下几个方面&#xff0c;感兴趣的也可以跟我单独探讨&#xff1a; 技术标准持续优化&a…...

代数结构—笔记

线性空间 如果满足以下性质&#xff0c;则域 K K K上定义了二元运算&#xff08;加法&#xff09;与二元函数&#xff08;数乘&#xff09;的非空集合 X X X称为线性空间。 1、加法封闭性&#xff1a;对任意 u , v ∈ X u, v \in X u,v∈X&#xff0c;存在 u v ∈ X uv\in X …...

tcc编译器教程1 配置tcc编译器环境

TinyCC&#xff08;又名TCC&#xff09;是一款开源小型但超快速的C编译器。下面介绍在windows下使用 1软件下载 tcc编译器官网为 https://www.bellard.org/tcc/ 下载地址为 http://download.savannah.gnu.org/releases/tinycc/ 选择其中tcc-0.9.27-win64-bin.zip进行下载 htt…...

安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类

文章目录 引言pom.xmlI 校验注解ApiValidationII token服务TokenService获取当前用户信息的辅助类III 域登录接口响应数据登陆用户信息引言 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO…...

机器学习:线性回归,梯度下降,多元线性回归

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归&#xff08;Multiple Linear Regression&#xff09;...

报错The default superclass, “jakarta.servlet.http.HttpServlet“(已经配置好tomcat)

报错报错DescriptionResourcePathLocationType The default superclass,“jakarta.servlet.http.HttpServlet”, according to the project’s Dynamic Web Module facet version (5.0), was not found on the Java Build Path. 解决办法&#xff1a; 根据错误信息&#xff0…...

【人工智能】数据挖掘与应用题库(1-100)

1、涉及变化快慢的问题可以考虑使用导数来分析。 答案:对 2、导数的几何意义是曲线在某点处切线的斜率。 答案:对 3、函数在某点的左导数存在,则导数就存在。 答案:错 4、关于梯度下降算法,下列说法错误的是( ) 错误:梯度下降算法能找到函数精确的最小值。 5、正…...

C#委托(delegate)的常用方式

C# 中委托的常用方式&#xff0c;包括委托的定义、实例化、不同的赋值方式以及匿名委托的使用。 委托的定义 // 委托的核心是跟委托的函数结构一样 public delegate string SayHello(string c);public delegate string SayHello(string c);&#xff1a;定义了一个公共委托类型 …...

【弹性计算】弹性裸金属服务器和神龙虚拟化(一):功能特点

弹性裸金属服务器和神龙虚拟化&#xff08;一&#xff09;&#xff1a;功能特点 特征一&#xff1a;分钟级交付特征二&#xff1a;兼容 VPC、SLB、RDS 等云平台全业务特征三&#xff1a;兼容虚拟机镜像特征四&#xff1a;云盘启动和数据云盘动态热插拔特征五&#xff1a;虚拟机…...

小结:BGP 的自动聚合与手动聚合

BGP 的自动聚合与手动聚合 BGP 在大规模网络中&#xff0c;通常会进行路由聚合&#xff08;Route Aggregation&#xff09;&#xff0c;即将多个更具体&#xff08;更小&#xff09;的路由前缀合并成一个更大&#xff08;更粗略&#xff09;的前缀&#xff0c;以减少 BGP 路由…...

CTF中pwn shellcode题目

CTF中pwn shellcode题目 下面是一些shellcode代码和绕过技巧。 一些只给payload或者exp一把梭 首先给出两个常用shellcode仓库&#xff0c;可以检索需要的shellcode shellcode databaseexploit-db 基础 基础shellcode shellcode asm(shellcraft.sh())生成指定函数 用法…...

Conda 环境搭建实战:从基础到进阶

在当今复杂多变的软件开发与数据科学领域&#xff0c;拥有一个稳定、可复现且易于管理的开发环境是项目成功的基石。Conda 作为一款强大的跨平台环境管理与包管理工具&#xff0c;为开发者提供了便捷高效的环境搭建与依赖管理解决方案。本文将深入探讨 Conda 环境搭建的实战技巧…...

深入解析:域名转换成 IP 地址的多种方式

深入解析&#xff1a;域名转换成 IP 地址的多种方式 在互联网的世界里&#xff0c;我们日常访问网站时输入的是易于记忆的域名&#xff0c;比如 “www.example.com”&#xff0c;但计算机之间通信实际上依靠的是 IP 地址。那么&#xff0c;域名是如何转换成 IP 地址的呢&#x…...

大模型function calling:让AI函数调用更智能、更高效

大模型function calling&#xff1a;让AI函数调用更智能、更高效 随着大语言模型&#xff08;LLM&#xff09;的快速发展&#xff0c;其在实际应用中的能力越来越受到关注。Function Calling 是一种新兴的技术&#xff0c;允许大模型与外部工具或API进行交互&#xff0c;从而扩…...

LeetCode:131. 分割回文串(DP Java)

目录 131. 分割回文串 题目描述&#xff1a; 实现代码与解析&#xff1a; 动态规划 原理思路&#xff1a; 131. 分割回文串 题目描述&#xff1a; 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。…...

计算机毕业设计SpringBoot+Vue.js贸易行业CRM系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

虚拟机中的指示命令

1. 复制文件&#xff1a;cp 源文件 目标文件&#xff08;cp file1.txt file2.txt&#xff09; 2. 复制文件夹&#xff1a;cp -r 源文件夹 目标文件夹&#xff08;cp -r dir1 dir2&#xff09; 3. 创建一个空的文件&#xff1a;touch file1.txt 4. 创建一个空目录&a…...

图像分类项目2:鸟类图像分类

1 数据集处理 1.1数据集下载 数据集来源&#xff1a;kaggle&#xff0c;网址&#xff1a;https://www.kaggle.com/&#xff0c;点击进入网站&#xff0c;左侧选择Datasets。 进入后搜索栏搜索关键词bird。此时出现很多数据集可以选择&#xff0c;推荐选择第一个或者第三个。…...

Redis数据结构-List列表

1.List列表 列表类型适用于存储多个有序的字符串&#xff08;这里的有序指的是强调数据排列顺序的重要&#xff0c;不是升序降序的意思&#xff09;&#xff0c;列表中的每个字符串称为元素&#xff08;element&#xff09;&#xff0c;一个列表最多可以存储2^32-1个元素。在R…...

启动你的RocketMQ之旅(三)-Producer启动和发送流程(上)

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final。 &#x1f4dd;个人主页&#xff1a; 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;java专栏 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一…...

Unity UGUI SuperScrollView介绍

先铺垫一下ScrollView Unity中常用的ScrollView 是 Unity 中的一个常见 UI 组件&#xff0c;主要用于创建可滚动的视图。当内容超过其显示区域时&#xff0c;ScrollView 可以让用户通过滚动查看全部内容。它通常包含一个显示区域和一个内容区域&#xff0c;内容区域可以超过显…...

pandas 数据透视表

数据的透视表 数据的透视表&#xff1a; 使用函数 pivot_table( ) # 引用pandas import pandas as pd # pivot_table 使用 pd.pivot_table(data,values,index,aggfunc,fill_value,columns)参数1:data DataFrame的源数据参数2:values 要进行聚合操作的列参数3:index 进行分组…...

【STM32安全性研究】STM32F103RCT6固件读取

最近从飞哥那买了个stm32固件提取器,效果很好。下面记录对某产品主控STM32F103RCT6固件的提取过程,说明提取时的注意事项。 注意本文的目的仅用于stm32安全性研究,不提供涉及产品本身的内容,包括固件、软件等。 stm32固件提取可参考论坛https://www.aisec.fraunhofer.de/en…...

塔子哥Python算法基础课

【入门题】【输入篇1】AB Problem 题目描述&#xff1a; 给定两个整数 A 和 B&#xff0c;请计算它们的和并输出结果。 输入&#xff1a; 输入包含一行&#xff0c;包含两个整数 A 和 B&#xff0c;以空格分隔。 输出&#xff1a; 输出一行&#xff0c;包含一个整数&#…...

C++ 内存管理:深入理解 new、malloc、delete 和 free

引言 在 C 中&#xff0c;内存管理是一个非常重要的主题。正确使用动态内存分配和释放工具&#xff08;如 new、malloc、delete 和 free&#xff09;可以避免内存泄漏和程序崩溃。本文将深入探讨这些工具的区别&#xff0c;并介绍池化计数技术。 1. new 与 malloc 在动态申请内…...

基于互联网协议的诊断通信(DoIP)

1、ISO 13400标准和其他汽车网络协议标准有何不同&#xff1f; ISO 13400 标准即 DoIP 协议标准&#xff0c;与其他常见汽车网络协议标准&#xff08;如 CAN、LIN、FlexRay 等&#xff09;有以下不同&#xff1a; 通信基础与适用场景 ISO 13400&#xff1a;基于互联网协议&a…...

Android15 am命令 APP安装流程

一. PM 安装命令 使用命令 pm install -r xxx.apk pm命令安装app 会触发PackageManagerShellCommand 中runInstall()方法 frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java1. onCommand 函数: public int onCommand(String cmd…...