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 ...
随机推荐
- kivy 选择框
from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.lang import builder # 注册 ...
- [技术博客]OKhttp3使用get,post,delete,patch四种请求
OKhttp3使用get,post,delete,patch四种请求 1.okhttp简介 okhttp封装了大量http操作,大大简化了安卓网络请求操作,是现在最火的安卓端轻量级网络框架.如今okh ...
- [no code][scrum meeting] Beta 7
$( "#cnblogs_post_body" ).catalog() 例会时间:5月21日15:30,主持者:彭毛小民 下次例会时间:5月22日15:30,主持者:赵涛 昨日为5 ...
- Noip模拟34 2021.8.9
T1 Merchant 一眼二分,然后想了想维护凸包,好像并没有什么关系, 然后又想了想维护一个栈,发现跳指针细节过多不想打 最后直接打了二分,大点跑的飞快,感觉比较稳,出来$78$分 是没用神奇的$ ...
- 多边形——————区间dp
原题链接:https://www.acwing.com/problem/content/285/ 题意简单来说就是:给你一个环,断掉一条边使其成为一个链,用这个链跑dp,求最大得分. 首先这不是一道板 ...
- 零基础入门非常好的C语言基础资料
C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { in ...
- ab矩阵(实对称矩阵)
今天在做题时巧遇了很多此类型的矩阵,出于更快解,对此进行学习.(感谢up主线帒杨) 1.认识ab矩阵 形如:主对角线元素都是a,其余元素都是b,我们称之为ab矩阵(默认涉及即为n×n阶) 2.求|A| ...
- Asp.Net 熟悉 Spring
注:(为加强记忆,所以记录下来,对于有些地方为什么那样写,我也不太理解) 一.我们先创建个窗体应用程序Demos,事先熟悉它是这么实现的 第一步,先在项目的根目录下建一个library文件夹,目的是放 ...
- 【代码更新】单细胞分析实录(20): 将多个样本的CNV定位到染色体臂,并画热图
之前写过三篇和CNV相关的帖子,如果你做肿瘤单细胞转录组,大概率看过: 单细胞分析实录(11): inferCNV的基本用法 单细胞分析实录(12): 如何推断肿瘤细胞 单细胞分析实录(13): in ...
- 好的编程习惯是减少bug最有效的方法
公司来了几个新手,有时候很简单的一个功能模块都要耗费好几天时间,总是在一些不相关的问题上死耗一整天,搞出莫名其妙的问题,找不到具体原因,总是怀疑编译出问题了,系统出问题了,板子出问题了,搞到快下班了叫 ...