目录

问题

原问题来自: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如何比较两个参考基因组注释版本的基因?的更多相关文章

  1. 植物基因组|注释版本问题|重测序vs泛基因组

    生命组学: 细菌和其他物种比,容易发生基因漂移,duplication和重排. 泛基因组学研究的一般思路是通过comparison找到特殊基因区域orspecific gene,研究其调控机制(即通过 ...

  2. 【annotation】非人类物种基因组注释(MSU为例)

    基因组注释工具ANNOVAR是一款非常好用的注释软件,功能强大,输出数据简单美中不足就是对于非人类物种来说UI不够完善,因此总结一下整个注释的过程,帮助别人快乐自己. 首先我们需要明确我们需要的数据和 ...

  3. 使用BRAKER2进行基因组注释

    来自:https://www.jianshu.com/p/e6a5e1f85dda 使用BRAKER2进行基因组注释 BRAKER2是一个基因组注释流程,能够组合GeneMark,AUGUSTUS和转 ...

  4. 【基因组注释】ncRNA注释

    目录 1. ncRNA 2. 软件 tRNA注释 rRNA注释 其他ncRNA注释 3. 注释 tRNA rRNA snRNA.miRNA等 4. snRNA.miRNA等结果的统计 1. ncRNA ...

  5. 【基因组预测】braker2基因结构注释要点记录

    目录 流程使用 问题 记录下braker2的使用要点,以备忘记. 流程使用 braker2有很多流程,根据你的数据:组装的基因组.转录组.蛋白(同源,包括近缘或远缘)选择不同流程,官网有说明: htt ...

  6. 【基因组注释】同源注释比对软件tblastn、gamp和exonerate比较

    基因结构预测中同源注释策略,将mRNA.cDNA.蛋白.EST等序列比对到组装的基因组中,在文章中通常使用以下比对软件: tblastn gamp exonerate blat 根据我的实测,以上软件 ...

  7. 【基因组注释】RepeatMasker和RepeatModeler安装、配置与运行避坑

    目录 1.conda安装 2.配置RepBase 3.RepeatMasker避坑 4.RepeatProteinMask避坑 5.RepeatModeler避坑 6.自定义重复序列库 后记 1.co ...

  8. 关于基因组注释文件GTF的解释

    GTF文件的全称是gene transfer format,主要是对染色体上的基因进行标注.怎么理解呢,其实所谓的基因名,基因座等,都只是后来人们给一段DNA序列起的名字而已,还原到细胞中就是细胞核里 ...

  9. 【基因组注释】GMAP安装使用问题

    homology策略预测基因结构,下载了公共mRNA/CDS序列,考虑用gmap比对.本来是个很简单的脚本,但总是不那么顺利. 无论是用conda安装,还是源码安装较新版本,都存在问题. gmap_b ...

随机推荐

  1. UltraSoft - Beta - Scrum Meeting 8

    Date: May 24th, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 记录Scrum Meeting Liuzh 前端 暂无 Kkkk 前端 暂无 王f ...

  2. [Beta]the Agiles Scrum Meeting 1

    会议时间:2020.5.9 21:00 1.每个人的工作 今天已完成的工作 讨论转会事项 经过组内成员的讨论,我们做出了非常艰难的决定:我们的组员老c将作为转会成员,离开我们的团队.感谢老c在Alph ...

  3. nod_1004 n^n的末位数字(二分快速幂)

    题意: 给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字. Input 一个数N(1 <= N <= 10^9) OutPut 输出N^N的末位数字 思路: EASY,,,, ...

  4. es6实现继承详解

    ES6中通过class关键字,定义类 class Parent { constructor(name,age){ this.name = name; this.age = age; } speakSo ...

  5. CSS学习(三)特指度和层叠

    一.特指度 特制度的一般形式是0,0,0,0 行内样式,第一位的特指度加一 id选择符,第二位的特指度加一 类选择符.属性选择符.伪类,第三位的特指度加一 元素选择符.伪元素,第四位的特指度加一 特指 ...

  6. Typecho 反序列化漏洞 分析及复现

    0x00 漏洞简介 CVE-2018-18753 漏洞概述: typecho 是一款非常简洁快速博客 CMS,前台 install.php 文件存在反序列化漏洞,通过构造的反序列化字符串注入可以执行任 ...

  7. C++ 类中 关于常量定义 理解总结

    前言 有时我们希望某些常量只在类中有效.由于#define定义的宏常量是 全局 的,不能达到目的,于是想当然地觉得应该用 const修饰 数据成员来实现.const数据成员的确是存在的,但其含义却不是 ...

  8. robot_framewok自动化测试--(3)测试项目与测试套件的概念

    测试项目与测试套件的概念 如果你查看当前所创建的项目会发现,"test_project"是一个目录: "test_suit"则是一个 txt 文件: " ...

  9. Java连接redis之Jedis使用

    测试联通 创建Maven工程,引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId&g ...

  10. go的变量、常量以及判断变量的数据类型

    1.定义变量 p.p1 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(69, 69, 69, 1) } span.s1 ...