【OrthoFinder】直系同源基因分析工具

目录

OrthoFinder工具介绍

OrthoFinder的安装方法

OrthoFinder使用方法

参数介绍

输入与输出

OrthoFinder结果解读

Comparative_Genomics_Statistics:

Gene_Duplication_Events:

Gene_Trees:

Orthogroups:

Orthogroup_Sequences:

Species_Tree:

WorkingDirectory:

MultipleSequenceAlignments:

Reference


OrthoFinder工具介绍

OrthoFinder:

  • 是一个快速、准确和全面的比较基因组学工具。可以找到直系同源基因群和直系同源基因,为所有直系同源基因群推导出有根的基因树,并确定这些基因树中的所有基因复制事件。
  • 它还为被分析的物种推导出有根的物种树,并将基因树上的基因复制事件映射到物种树的分支上,为比较基因组分析提供全面的统计数据。
  • 它使用简单,运行它所需要的只是一组FASTA格式的蛋白质序列文件(每个物种一个)
  • 它与其他直系同源推断软件不同,OrthoFinder使用基因树。这意味着你可以在它所来自的基因树中检查每个直系同源关系。基因树的使用使得直系同源推断的准确性非常高。

 

OrthoFinder的安装方法

方法一:使用Conda安装(推荐,简单省事),命令如下:

conda install orthofinder

方法二:从GitHub下载安装包安装,流程如下:

# 从github下载最新版本的安装包

wget https://github.com/davidemms/OrthoFinder/releases/download/2.5.5/OrthoFinder.tar.gz

# 解压安装包

tar -xzf OrthoFinder.tar.gz

# 测试运行,如能弹出如图1所示的帮助信息则代表安装成功

python ./OrthoFinder/orthofinder.py -h

./OrthoFinder/orthofinder -h

 

OrthoFinder使用方法

在做比较基因组学分析过程中常用的命令行如下所示: 

./orthofinder  -f inputdir/  -S diamond -M msa -T fasttree -t 8 -a 8

如果只进行同源基因鉴定,不进行比较基因组学分析,可以直接使用下面命令: 

./orthofinder -f monocots/ -t 80 -og -n name

参数介绍

-f 表示输入目录,包括所有需要分析物种的蛋白质组文件,每个物种的蛋白质组文件用物种名命名,但长度最好不要超过九个字符。

-S 指定序列搜索程序(可选择:blast、mmseqs、blast_gz、diamond。推荐使用diamond,速度快准确率也比较高)

-M msa 基因树推断方法。

-T选择建树方法,可以选择fasttree(默认), iqtree, raxml, raxml-ng。

-t 序列搜索时的线程数

-a 序列搜索后分析的线程数

-n 输出文件slide名称

输入与输出

需要分析的物种的蛋白质作为输入,每个物种使用一个文件,OrthorFinder 将查找具有(.fa、.faa、.fasta、.fas、.pep)扩展名的文件作为Fasta输入 文件。

  • 推断出物种的直系同源群

  • 推断出一套完整的有根基因树

  • 推断出一个有根的物种树

  • 利用基因树推断出基因之间的所有直系同源关系

  • 推断基因复制事件,并将其与基因树和物种树上的相应节点相互参照

  • 为物种提供比较基因组学的统计数据

OrthoFinder结果解读

运行结束后,会在输入目录下生成一个名为:OrthoFinder/Results_**的文件夹,分析得到的所有结果都在这里面,当运行命令加上-M msa,则会多出一个MultipleSequenceAlignments目录。

 

Comparative_Genomics_Statistics:

Duplications_per_Species_Tree_Node.tsv:物种树中每个节点发生的基因重复事件的数量。

Duplications_per_Orthogroup.tsv:每个直系同源组(Orthogroup)中推断出的基因重复事件数量。

Statistics_Overall.tsv:关于直系同源群大小和分配到直系同源群的基因比例的一般统计信息。

Statistics_PerSpecies.tsv:统计了每个物种的情况。

Orthogroups_SpeciesOverlaps.tsv:物种间共享的直系同源组。

OrthologuesStats _ *.tsv:物种之间一对一、一对多和多对多的直系同源基因数量

  • OrthologuesStats_one-to-one.tsv是每个物种对之间一对一的直系同源基因的数量。

  • OrthologuesStats_many-to-many.tsv包含了每个物种对之间多对多关系的直系同源基因的数量(由于物种演化后两个系的基因复制事件)。条目(i,j)是物种i中与物种j中的基因有多对多直系同源关系的基因数量。

  • OrthologuesStats_one-to-many.tsv:条目(i,j)给出了物种i中与物种j的基因有一对多直系同源关系的基因数量。

  • OrthologuesStats_many-to-one.tsv:条目(i,j)给出了物种i中与物种j的基因有多对一直系同源关系的基因数量。

  • OrthologuesStats_Total.tsv包含了每个物种对任何倍数的直系同源基因的总数。条目(i,j)是物种i中在物种j中有直系同源关系的基因的总数。

一些字段的补充理解:

Species-specific orthogroup:完全由一个物种的基因组成的直系同源群。

G50:直系同源群中的基因数量,使50%的基因处于该大小的直系同源群中或更大。

O50:最小的直系同源群数,使50%的基因在该大小的直系同源群中或更大。

Single-copy orthogroup:一个直系同源群,每个物种正好有一个基因(而不是更多)。这些直系同源群是推断物种树和许多其他分析的理想选择。

Unassigned gene:一个没有与任何其他基因放在一个直系同源群中的基因。

 

Gene_Duplication_Events:

Duplications.tsv:OrthoFinder推测出的所有基因复制事件的信息。

SpeciesTree_Gene_Duplications_0.5_Support.txt:基因复制事件的总和。其中每个节点显示节点名称,后跟一个下划线,后面为每个节点充分支持的基因复制事件的数量。每个节点或物种名称后面的数字是导致该节点/物种的分支上发生的支持率至少为50%的基因复制事件的数量。分支长度是标准的分支长度,如Species_Tree/SpeciesTree_rooted.txt中给出的。

 一些字段的理解:

列是 "Orthogroup","Species Tree node":发生复制的物种树的分支,见Species_Tree/SpeciesTree_rooted_node_labels. txt,

"基因树节点":与基因复制事件相对应的节点,见Resolved_Gene_Trees/中相应的直系同源群树;

"支持度":复制基因的两个拷贝都存在的预期物种的比例;

"类型":

"末端":在物种树的末端分支上的复制,

"非末端":在物种树的内部分支上的复制,因此被一个以上的物种共享,"非末端-STRIDE"。非末端重复,也通过了非常严格的STRIDE检查,即基因树的拓扑结构在复制后应该是什么;

"基因1":重复基因的一个拷贝的后代基因列表,

"基因2":重复基因的另一个拷贝的后代基因列表。

 

Gene_Trees:

为每个具有4个或更多序列的直系同源群推断的有根的系统发育树(4个序列是大多数树推断程序进行树推断所需的最小数量)。

 

Orthogroups:

Orthogroups.GeneCount.tsv:每个物种在每个直系同源组中所含的基因数目。在进行基因家族扩张与收缩分析过程中会用到这个文件。

Orthogroups.tsv:每个物种在每个直系同源组中所含的基因ID。这个文件可以用于基因家族分析,找到自己感兴趣的基因家族。

Orthogroups.txt:类似于Orthogroups.tsv,只不过是OrhtoMCL的输出格式。

Orthogroups_UnassignedGenes.tsv:记录了MCL中未成功聚类(直系同源组中基因数 >= 1)的离散基因。

Orthogroups_SingleCopyOrthologues.txt:单拷贝的直系同源组。

 

Orthogroup_Sequences:

包含了每个Orthogroup中所包含的蛋白的序列信息,Fasta格式。

Single_Copy_Orthologue_Sequences:包含了每个单拷贝Orthogroup中所包含的蛋白的序列信息,Fasta格式。

 

Species_Tree:

SpeciesTree_rooted.txt:在指定建树方法下得到的有根物种树,可以用于后续物种分歧时间预测分析。

SpeciesTree_rooted_node_labels.txt:节点处包含标签的有根物种树(N0 , N1 , . . . , Nm)。

Orthogroups_for_concatenated_alignment.txt:仅在 -M msa 模式下输出,列出了所有串联起来用于推断物种树的Orthogroup ID。

 

WorkingDirectory:

OrthoFinder 运行时必须的中间文件,包括DIAMOND 比对结果和STAG 输出的无根物种树等。当程序中断时可以在这个目录下从中断位置继续运行。

 

MultipleSequenceAlignments:

此目录仅在 -M msa 模式下输出,均为 FASTA 格式文件。其中包含的多序列比对文件SpeciesTreeAlignment.fa,可以用于后续用别的建树方法进行系统发育基因组学分析。

后续如果笔者有更深入的应用会持续更新......

Reference

https://github.com/davidemms/OrthoFinder

https://davidemms.github.io/

Emms, D.M., Kelly, S. OrthoFinder: phylogenetic orthology inference for comparative genomics. Genome Biol 20, 238 (2019)

https://mp.weixin.qq.com/s/wi0O9wfwUidhMYYHQawwpw

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【比较mybatis、lazy、sqltoy、lambda、操作数据 】操作批量新增、分页查询【一】

orm框架使用Lambda性能比较 环境: idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本mybatis☑️☑️3.5.4sqltoy☑️☑️5.2.98lazy✖️☑️1.2.3-JDK17 数据库表(含有唯一性索引s_u) CREATE TABLE sys_u…

AGM CPLD (AGRV2K )的时钟(外部时钟和片上内部振荡器)

AGM CPLD (AGRV2K )的时钟(外部时钟和片上内部振荡器) 外部晶振 与 内部振荡器: mcu 和 cpld 联合编程时, 整颗芯片需要一颗外部晶振。 (芯片有内部振荡器, 但误差较大, 校准后 5%以内误差&…

基于springboot实现企业员工绩效考评系统项目【项目源码+论文说明】

基于springboot实现企业员工绩效考评系统演示 摘要 时代的变化速度实在超出人类的所料,21世纪,计算机已经发展到各行各业,各个地区,它的载体媒介-计算机,大众称之为的电脑,是一种特高速的科学仪器&#xf…

【web | CTF】BUUCTF [HCTF 2018]WarmUp

天命&#xff1a;这题本地php代码是无法复现的 首先打开网站&#xff0c;啥也没有&#xff0c;查看源码 发现文件&#xff0c;打开访问一下看看&#xff0c;发现是代码审计 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whit…

C语言-------指针进阶(2)

1.指针数组 指针数组表较简单&#xff0c;类比整型数组&#xff0c;字符数组&#xff0c;整型数组里面的元素都是整型变量&#xff0c;字符数组里面 的元素是字符类型&#xff0c;那么指针数组就是数组里面的每个元素都是指针类型&#xff0c;例如int*arr[5]就是一个 指针数…

18个惊艳的可视化大屏(第12辑):智慧校园与教育方向

智慧校园可视化大屏通过数据可视化技术&#xff0c;将学校各个方面的数据信息进行展示&#xff0c;可以提高信息公开透明度、优化校园管理、提高学生教育质量和提高校内活动宣传效果等。 1提高信息公开透明度&#xff1a; 通过大屏幕展示校园各个方面的数据信息&#xff0c;可…

Golang Vs Java:为您的下一个项目选择正确的工具

Java 首次出现在 1995 年&#xff0c;由 James Gosling 和 Sun Microsystems 的其他人开发的一种新编程语言。从那时起&#xff0c;Java 已成为世界上最受欢迎和广泛使用的编程语言之一。Java 的主要特点包括其面向对象的设计、健壮性、平台独立性、自动内存管理以及广泛的内置…

【InternLM 实战营笔记】OpenCompass大模型评测

随着人工智能技术的快速发展&#xff0c; 大规模预训练自然语言模型成为了研究热点和关注焦点。OpenAI于2018年提出了第一代GPT模型&#xff0c;开辟了自然语言模型生成式预训练的路线。沿着这条路线&#xff0c;随后又陆续发布了GPT-2和GPT-3模型。与此同时&#xff0c;谷歌也…

击鼓传花游戏

有N个小朋友围成一圈玩击鼓传花游戏&#xff0c;将小朋友编号为1-N&#xff0c;从1号开始传花&#xff0c;每次传3个&#xff0c;拿到花的小朋友表演节目后退出。任给N&#xff0c;问最后一个表演的小朋友编号是多少&#xff1f;例如&#xff1a;输入5&#xff0c;从1号开始传花…

Java网络通信TCP

目录 TCP两个核心类 服务端 1.用ServerSocker类创建对象并且手动指定端口号 2.accept阻塞连接服务端与客户端 3.给客户端提供处理业务方法 4.处理业务 整体代码 客户端 1.创建Socket对象&#xff0c;并连接服务端的ip与端口号 2.获取Socket流对象&#xff0c;写入数据…

基于springboot+vue的智能学习平台系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

2024年阿里云2核4G配置服务器测评_ECS和轻量性能测评

阿里云2核4G服务器多少钱一年&#xff1f;2核4G服务器1个月费用多少&#xff1f;2核4G服务器30元3个月、85元一年&#xff0c;轻量应用服务器2核4G4M带宽165元一年&#xff0c;企业用户2核4G5M带宽199元一年。本文阿里云服务器网整理的2核4G参加活动的主机是ECS经济型e实例和u1…

备战蓝桥杯---状态压缩DP基础2之TSP问题

先来一个题衔接一下&#xff1a; 与上一题的思路差不多&#xff0c;不过这里有几点需要注意&#xff1a; 1.因为某一列的状态还与上上一行有关&#xff0c;因此我们令f[i][j][k]表示第i行状态为j,第i-1行状态为k的最大炮兵数。 因此&#xff0c;我们可以得到状态转移方程&…

一篇文章吃透整个JVM,JVM超详细笔记

这里写目录标题 JVMJVM执行流程JVM执行流程 JVM内存模型1.堆区&#xff08;Heap&#xff09;2.虚拟机栈&#xff08;JVM Stacks&#xff09;3.本地方法栈&#xff08;Native Method Stacks&#xff09;4.程序计数器&#xff08;Program Counter Register&#xff09;5.方法区/元…

机器学习 -- Octave基本操作

场景 Octave语言是一种高级数值计算和数据可视化的开源软件。它提供了一种方便的方式来执行数值计算、数据分析和可视化&#xff0c;特别是在科学和工程领域中。今天学习了一下Octave的基本操作&#xff0c;记录一下。 下载 去Octave官网下载即可。octave下载可自行下载。 …

学习人工智能:Sora技术报告Video generation models as world simulators,2024.2

原文链接&#xff1a; Video generation models as world simulators (openai.com) 摘要&#xff1a; 我们探索了在视频数据上大规模训练生成模型。具体来说&#xff0c;我们在可变片长、分辨率和纵横比的视频和图像上联合训练文本条件扩散模型text-conditional diffusion mo…

案例介绍:信息抽取技术在汽车销售与分销策略中的应用与实践

一、引言 在当今竞争激烈的汽车制造业中&#xff0c;成功的销售策略、市场营销和分销网络的构建是确保品牌立足市场的关键。作为一名经验丰富的项目经理&#xff0c;我曾领导一个专注于汽车销售和分销的项目&#xff0c;该项目深入挖掘市场数据&#xff0c;运用先进的信息抽取…

【Mybatis】快速入门 基本使用 第一期

文章目录 Mybatis是什么&#xff1f;一、快速入门&#xff08;基于Mybatis3方式&#xff09;二、MyBatis基本使用2.1 向SQL语句传参2.1.1 mybatis日志输出配置2.1.2 #{}形式2.1.3 ${}形式 2.2 数据输入2.2.1 Mybatis总体机制概括2.2.2 概念说明2.2.3 单个简单类型参数2.2.4 实体…

租房招聘平台新篇章:Java+SpringBoot技术革新

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

【iOS ARKit】协作Session

使用 ARWorldMap&#xff0c;能解决使用者再次进入同一物理空间时的AR 场景恢复问题&#xff0c;也能在多人之间共桌AR 体验&#xff0c;但这种共享并不是实时的&#xff0c;在载入ARWorldMap 后&#xff0c;设备新检测到的环境信息和使用者所做操作不会实时共享&#xff0c;即…