Bedtools如何比较两个参考基因组注释版本的基因?
问题
原问题来自:How to calculate overlapping genes between two genome annotation versions?
其实可分为两个问题:
- 一是我组装了一个新的基因组,做了多个注释版本,如何比较它们的feature?比如gene
 - 二是我组装了一个新的参考基因组,并做了注释,想和其他已有的同物种参考基因组比较,如何寻找共有和特有的基因(或其他feature)?
 
思路
第一个问题是比较好解决的,使用bedtools即可。
bedtools比较gff、bed、bam的方法类似,具体可参考这篇教程:
bedtools求overlap
要比较gene,可先从gff中提取gene后再进行比较。或者比较所有feature后再筛选也行。
# 将所有overlap 区域成对输出
 bedtools intersect -a  A.gene.gff3 -b B.gene.gff3 -wa -wb >gene_wa_wb.out
#只要A中的这段区域与B中区域有交集,就输出,而且overlap几次,就输出几次
 bedtools intersect -a  A.gene.gff3 -b B.gene.gff3 -wa >gene_wa.out
#除了输出A中的overlap区域外,还会输出B中的整个区间
 bedtools intersect -a  A.gene.gff3 -b B.gene.gff3 -wb >gene_wb.out
#统计A中每个区域与B overlap的次数
 bedtools intersect -a  A.gene.gff3 -b B.gene.gff3 -c >gene_overlap.count
#只输出A中没有与B overlap的区域
 bedtools intersect -a  A.gene.gff3 -b B.gene.gff3 -v >gene_nonoverlap.count
 bedtools intersect  -a B.gene.gff3 -b  A.gene.gff3 -v >gene_msu_uniq.count
第二个问题需要用比对软件,如gmap进行比对,建立两个基因组的联系,得到gff文件。再利用bedtools比较。
/gmap/bin/gmap_build -D ./ -d A A.fa
/gmap/bin/gmap -D ./ -t 30 -d A -f gff3_gene ../B.cdna > B.gff3
最后的结果要注意,feature不是一一对应的,有一对多,多对一,unique等情况。
Bedtools如何比较两个参考基因组注释版本的基因?的更多相关文章
- 植物基因组|注释版本问题|重测序vs泛基因组
		
生命组学: 细菌和其他物种比,容易发生基因漂移,duplication和重排. 泛基因组学研究的一般思路是通过comparison找到特殊基因区域orspecific gene,研究其调控机制(即通过 ...
 - 【annotation】非人类物种基因组注释(MSU为例)
		
基因组注释工具ANNOVAR是一款非常好用的注释软件,功能强大,输出数据简单美中不足就是对于非人类物种来说UI不够完善,因此总结一下整个注释的过程,帮助别人快乐自己. 首先我们需要明确我们需要的数据和 ...
 - 使用BRAKER2进行基因组注释
		
来自:https://www.jianshu.com/p/e6a5e1f85dda 使用BRAKER2进行基因组注释 BRAKER2是一个基因组注释流程,能够组合GeneMark,AUGUSTUS和转 ...
 - 【基因组注释】ncRNA注释
		
目录 1. ncRNA 2. 软件 tRNA注释 rRNA注释 其他ncRNA注释 3. 注释 tRNA rRNA snRNA.miRNA等 4. snRNA.miRNA等结果的统计 1. ncRNA ...
 - 【基因组预测】braker2基因结构注释要点记录
		
目录 流程使用 问题 记录下braker2的使用要点,以备忘记. 流程使用 braker2有很多流程,根据你的数据:组装的基因组.转录组.蛋白(同源,包括近缘或远缘)选择不同流程,官网有说明: htt ...
 - 【基因组注释】同源注释比对软件tblastn、gamp和exonerate比较
		
基因结构预测中同源注释策略,将mRNA.cDNA.蛋白.EST等序列比对到组装的基因组中,在文章中通常使用以下比对软件: tblastn gamp exonerate blat 根据我的实测,以上软件 ...
 - 【基因组注释】RepeatMasker和RepeatModeler安装、配置与运行避坑
		
目录 1.conda安装 2.配置RepBase 3.RepeatMasker避坑 4.RepeatProteinMask避坑 5.RepeatModeler避坑 6.自定义重复序列库 后记 1.co ...
 - 关于基因组注释文件GTF的解释
		
GTF文件的全称是gene transfer format,主要是对染色体上的基因进行标注.怎么理解呢,其实所谓的基因名,基因座等,都只是后来人们给一段DNA序列起的名字而已,还原到细胞中就是细胞核里 ...
 - 【基因组注释】GMAP安装使用问题
		
homology策略预测基因结构,下载了公共mRNA/CDS序列,考虑用gmap比对.本来是个很简单的脚本,但总是不那么顺利. 无论是用conda安装,还是源码安装较新版本,都存在问题. gmap_b ...
 
随机推荐
- Python绘制Excel图表
			
今天讲解下如何使用Python绘制各种Excel图表,下面我们以绘制饼状图.柱状图.水平图.气泡图.2D面积图.3D面积图为例来说明. import openpyxlfrom openpyxl imp ...
 - [no code][scrum meeting] Alpha 15
			
项目 内容 会议时间 2020-04-23 会议主题 OCR紧急会议 会议时长 45min 参会人员 PM + OCR组(赵涛,黎正宇) 项目 内容 会议时间 2020-04-24 会议主题 全体测试 ...
 - 乘风破浪,遇见上一代操作系统Windows 10 - 抢鲜尝试安装新微软商店(Microsoft Store)
			
背景 在微软官方文章的<十一项关于微软商店新知>中提到: 新的微软商店现在可在Windows 11上找到,我们很高兴地分享,它将在未来几个月内提供给Windows 10客户!我们将很快分享 ...
 - 上拉电阻大小对i2c总线的影响
			
漏极开路上拉电阻取值为何不能很大或很小? 如果上拉电阻值过小,Vcc灌入端口的电流(Ic)将较大,这样会导致MOS管V2(三极管)不完全导通(Ib*β<Ic),有饱和状态变成放大状态,这样端口输 ...
 - STM32中按键中断分析
			
在按键学习中,我们有用到查询的方法来判断按键事件是否发生,这种查询按键事件适用于程序工作量较少的情况下,一旦程序中工作量较大较多,则势必影响程序运行的效率,为了简化程序中控制的功能模块的执行时间,引入 ...
 - linux shell 基本语法之快速上手shell编程
			
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
 - STM32核心板焊接
			
焊接工具和材料 电烙铁及烙铁头介绍 电烙铁有很多种,常用的有内热式.外热式.恒温式和吸锡式,为了方便携带,建议使内热式电烙铁,且要带烙铁架和海绵,烙铁架用于放置电烙铁,海绵用于擦拭烙铁锡渣,因此海绵不 ...
 - 一次fork引发的惨案!
			
"你还有什么要说的吗?没有的话我就要动手了",kill程序最后问道. 这一次,我没有再回答. 只见kill老哥手起刀落,我短暂的一生就这样结束了··· 我是一个网络程序,一直以来都 ...
 - 【Go语言学习笔记】Go的defer
			
关键字 defer ⽤于延迟一个函数或者方法(或者当前所创建的匿名函数)的执行. 注意,defer语句只能出现在函数或方法的内部. defer语句经常被用于处理成对的操作,如打开.关闭.连接.断开连接 ...
 - conda无法导入,pip可以导入
			
在conda中创建测试的虚拟环境 进入test虚拟环境,输入命令:conda install keras 输入命令python,进入python环境,输入import keras 返回错误,No mo ...