生信步骤|Orthofinder寻找直系同源基因

在探究功能基因的时候,我们经常需要对所研究的基因/蛋白质进行聚类分组,逐个类群探究蛋白功能。创建同源群可以采用Otrhofinder软件,该软件安装方便,运行快速,调用简单,可以说是构建同源群的神器。从OrthoFinder2.4.0版本开始,同源群的划分给予有根树的层次,这种划分方法比依靠相似度要更加准确。此外,如果在推断的过程中添加了外群物种,分群的精度有望进一步提升[1]。

OrthoFinder 工作流程

  1. 调用 DIAMOND 对输入序列进行 all-vs-all 序列比对。diamond搜索速度快,非常适用于大量基因的相似度比对。
  2. 使用 MCL(Markov Cluster Algorithm) 算法根据比对结果进行聚类,得到直系同源组(orthogroup)。其中每个 orthogroup 的蛋白及序列信息存放在 Orthogroup_Sequences 文件夹中,单拷贝 orthogroup 的蛋白及序列信息存放在 Single_Copy_Orthologue_Sequences 文件夹中,orthogroup 的统计信息存放在 Comparative_Genomics_Statistics、Orthogroups 文件夹中。
  3. 使用 FastMe 对每个 orthogroup构建无根基因树(gene tree)。
  4. 使用 STAG(Species Tree Inference from All Genes) 根据刚刚划分好的包含所有物种的orthogroups中的同源基因推断无根物种树(species tree),此处会综合考虑每一棵OG内基因构建的基因树,汇总成为最终的物种树。通过参数 -M dendroblast 或 -M msa,OrthoFinder 可以调用 STAG 中两种构建物种树的方法:DendroBLAST 和 CMSA(Concatenated Multiple Sequence Alignment,联合多序列比对)。
  5. 使用 STRIDE(Species Tree Root Inference from Gene Duplication Events) 通过基因复制事件的不可逆性为无根物种树、无根基因树赋根,得到有根物种树、有根基因树、基因间的直系同源关系、基因复制事件。结果存放在文件夹 Species_Tree、Gene_Tree、Orthologues、Gene_Duplication_Events、Comparative_Genomics_Statistics 中。

1.创建环境并安装orthofinder

conda create -n ogsfinder python=3.9.15 #太高版本的python,例如3.11在后面会报错。
conda activate ogsfinder
conda install -c bioconda orthofinder diamond=2.1.8 #错误的diamond版本会报错。

2.运行orthofinder寻找直系同源基因

将待寻找OGs的多个蛋白质组文件存放于ExampleData文件夹,运行orthofinder命令。指定运行占用20个cpu(默认使用16个cpu)。此处添加参数-M msa会进行bootstrap检验,最终看到的物种数是具有bootstrap值的。

orthofinder -f ExampleData -S diamond -t 20 -M msa#-t 并行序列搜索线程数(默认= 16)
#-a 并行分析线程数(默认值= 1)
#-M 基因树推断方法。可选:dendroblast和msa(默认= dendroblast)推荐msa,可执行带有bootstrape的建树
#-S 序列搜索程序(默认= blast)选项:blast,mmseqs,,blast_gz,diamond(推荐使用diamond,比对速度很给力)
#-A 多序列联配方式,需要添加参数-M msa时才有效;(默认= mafft)可选择:muscle,mafft
#-T 建树方法,需要添加参数-M msa时才有效,(默认 = fasttree)可选:iqtree,raxml-ng,fasttree,raxml(推荐)

但是如需在构建物种树里加入bootstrape值则需要进入程序的config.json文件修改对应建树软件的e值或者新增-b 1000/-bb 1000。
运行结束后会在ExampleData目录下生成新的目录OrthoFinder


参考信息:

  1. Github OrthoFinder https://github.com/davidemms/OrthoFinder#getting-started-with-orthofinder
  2. orthofinder安装及使用教程 https://www.jianshu.com/p/3bcd965605f5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/616316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

逆变器简述

一般家用电器,像微波炉,电饭煲等都是直接插墙壁上的电就可以工作,所以这些家用电器是使用我们市电AC220V的电压 但我们用到的手机,电瓶车以及新能源汽车都是需要充电器的,所以这些用电产品里面都是有电池的&#xff0…

统计学-R语言-4.1

文章目录 前言编写R函数图形的控制和布局par函数layout函数 练习 前言 安装完R软件之后就可以对其进行代码的编写了。 编写R函数 如果对数据分析有些特殊需要,已有的R包或函数不能满足,可以在R中编写自己的函数。函数的定义格式如下所示: …

在微服务架构中认证和授权的那些事儿

在微服务架构中认证和授权是最基础的服务能力,其中这一块行业类的标准就是OAuth2 和 SSO ,而OAuth2 和 SSO 可以归类为“用户管理和身份验证”工具,OpenID Connect 1.0是 OAuth 2.0 协议之上的一个简单身份层。 Part.1 认识OAuth 2.0 OAuth…

低代码与小程序开发:简化创新,加速应用开发

随着信息技术的迅速发展,应用程序的需求与日俱增。然而,传统的软件开发往往耗时、复杂,对于许多企业和开发者来说,开发应用程序的成本和难度成为了一道门槛。而近年来,低代码开发和小程序开发的兴起为解决这一难题带来…

RocketMQ源码阅读-Producer发消息

RocketMQ源码阅读-Producer发消息 1. 从单元测试入手2. 启动过程3. 同步消息发送过程4. 异步消息发送过程5. 小结 Producer是消息的生产者。 Producer和Consummer对Rocket来说都是Client,Server是NameServer。 客户端在源码中是一个单独的Model,目录为ro…

Torch not compiled with CUDA enabled

最近接触chatglm3对话预训练模型,从git上下载,装包装半天,最后终于跑起来了,但是一对他进行对话,后台就开始报错了 File "E:\Python311\Lib\site-packages\torch\nn\modules\linear.py", line 114, in forw…

【c++】入门4

内联函数声明和定义不能分开 inline不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址 了,链接就会找不到。 auto关键字 随着程序越来越复杂,程序中用到的类型也越来越复杂,经常体现在&…

JavaWEB学习笔记 2024-1-5 --HTML

JavaWEB 上一篇 个人整理非商业用途,欢迎探讨与指正!! 文章目录 JavaWEB1.HTML1.1HTML中的三大基本标签1.2显示标签1.2.1文本标签1.2.2表单标签1.2.2.1input标签1.2.2.2下拉框1.2.2.3多行文本1.2.2.4表单标签的通用属性1.2.2.5form标签1.2…

用JAVA实现樱花飘落

用java实现一个樱花飘落的方法 package Text2;import javax.swing.*; import java.awt.*; import java.util.ArrayList; import java.util.List;public class Sakura extends JFrame {private List<Point> sakuraList; // 樱花的位置列表public Sakura() {sakuraList n…

动态pv策略和组件

pv和pvc&#xff0c;存储卷&#xff1a; 存储卷&#xff1a; emptyDir 容器内部&#xff0c;随着pod销毁&#xff0c;emptyDir也会消失 不能做数据持久化 hostPath&#xff1a;持久化存储数据 可以和节点上的目录做挂载。pod被销毁了数据还在 NFS&#xff1a;一台机器&am…

【入门】字符串对比(UPC)

题目描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到100之间)&#xff0c;它们之间的关系是以下4种情况之一&#xff1a; 1&#xff1a;两个字符串长度不等。比如 Beijing 和 Hebei 2&#xff1a;两个字符串不仅长度相等&#xff0c;而且相应位置上的字符完…

x-cmd pkg | tsx - Node.js 的直接替代品

目录 简介首次用户功能特点竞品和相关作品进一步探索 简介 tsx 代表 “TypeScript execute”&#xff0c;由 TypeScript 编写&#xff0c;内部使用由 Go 语言编写的 esbuild 核心二进制实现超快的 TypeScript 编译&#xff0c;旨在增强 Node.js 以无缝运行 TypeScript / ESM /…

Golang的API项目快速开始

开启一个简单的API服务。 golang的教程网上一大堆&#xff0c;官网也有非常详细的教程&#xff0c;这里不在赘述这些基础语法教程&#xff0c;我们意在快速进入项目开发阶段。 golang好用语法教程传送门&#xff1a; m.runoob.com/go/ 编写第一个API 前提&#xff1a;按照上一…

3.3 设计模式基础

设计模式的识别&#xff1a;经验丰富的开发者经常会发现&#xff0c;新问题往往与他们之前所遇到的问题存在相似之处&#xff0c;虽然这些问题和解决方案可能各不相同。正是这些问题之间的共性催生了设计模式的概念&#xff1a;将对类似问题解决方案的理解泛化和形式化。 模式…

17. 从零用Rust编写正反向代理, Rust中一些功能的实现

wmproxy wmproxy是由Rust编写&#xff0c;已实现http/https代理&#xff0c;socks5代理&#xff0c; 反向代理&#xff0c;静态文件服务器&#xff0c;内网穿透&#xff0c;配置热更新等&#xff0c; 后续将实现websocket代理等&#xff0c;同时会将实现过程分享出来&#xff…

vite前端工具链,为开发提供极速响应

一、概念 Vite是一个高性能的分布式智能合约平台。它使用了一种名为“异步架构”的设计&#xff0c;能够支持高吞吐量和低延迟的交易处理。Vite采用了基于DAG&#xff08;有向无环图&#xff09;的账本结构&#xff0c;可以实现并行处理多个交易&#xff0c;并且具有快速确认的…

【Golang】十六进制字符串转二进制字符串

使用Go语言将十六进制转换为二进制 在计算机科学中&#xff0c;我们经常需要在不同进制的数字之间进行转换。Go语言提供了一系列的标准库来方便我们进行这些进制转换。本文将介绍如何使用Go语言将十六进制字符串转换为二进制字符串。 函数概述 首先&#xff0c;我们定义一个…

[Oracle][详细] Win完全卸载Oracle

前提准备 进入服务 找到Oracle开头的服务 将这些服务全部停止 Top 1 点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击【Universal Installer】 Top 2 点击之后稍等一会然后会进入进入下图界面,点击卸载产品 Top 3 选中要删除的Oracle产品,然后点击【删除】 Top 4 进…

性能监控软件选择攻略

随着企业对应用程序性能的关注度不断增加&#xff0c;选择适当的性能监控软件变得至关重要。性能监控软件能够帮助企业实时追踪应用程序的性能指标&#xff0c;识别潜在问题并提高系统的稳定性。在选择性能监控软件时&#xff0c;以下攻略将有助于确保您的选择符合业务需求并能…

SpringIOC之support模块GenericApplicationContext

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…