NGS基础 - 参考基因组和基因注释文件
参考基因组和基因注释文件获取
通常测序生成的reads要与参考基因组或参考转录组进行比对,或Pseudo-alignment。所以首先需要获取参考基因组和参考转录组信息。
Ensembl http://www.ensembl.org/info/data/ftp/index.html 是常用的信息齐全的参考基因组和GTF文件下载网站。
下图列出了几个常用动物物种的DNA序列和GTF格式的基因组注释。
Ensembl提供的参考基因组有2种组装形式和3种重复序列处理方式, 分别是primary
, toplevel
和unmasked
(dna)、soft-masked
(dna_sm)和masked
(dna_rm)。一般选择dna.primary
或dna_sm.primary
。
- 为什么选择
Primary
Primary assembly contains all toplevel sequence regions excluding haplotypes and patches. This file is best used for performing sequence similarity searcheswhere patch and haplotype sequences would confuse analysis. - 为什么不选择
masked
Masked基因组是指所有重复区和低复杂区被N
代替的基因组序列,比对时就不会有reads比对到这些区域。一般不推荐用masked的基因组,因为它造成了信息的丢失,由此带来的一个问题是uniquely比对到masked基因组上的reads实际上可能不是unique的。而且masked基因组还会带来比对错误,使得在允许错配的情况下,本来来自重复区的reads比对到基因组的其它位置。 另外检测重复区和低复杂区的软件不可能是完美的,这就造成遮盖住的重复序列和低复杂区并不一定是100%准确和敏感的。soft-masked
基因组是指把所有重复区和低复杂区的序列用小写字母标出的基因组,由于主要的比对软件,比如BWA
、bowtie2
等都忽略这些soft-mask
,直接把小写字母当做大写字母比对,所以使用soft-masked
基因组的比对效果和使用unmasked
基因组的比对效果是相同的。
基因注释GTF
文件在分析转录组数据时会用到,也从这获取,GTF
文件的解释见文件格式部分。ENSEMBL的基因注释文件与GeneCode(http://www.gencodegenes.org/)V26版本一致。
ENSEMBL中基因组和GTF文件中染色体的名字都没有添加chr
,最好收到添加,以保持与UCSC
或下游操作一致。
下载基因功能和结构注释信息
ENSEMBL数据库的BioMart http://www.ensembl.org/biomart/martview工具为下载基因的功能信息、序列信息、结构信息、ID的转换等提供了很大的便利。
注意在BioMart的Attribute选项里如果选择了蛋白相关的选项,得到的结果中只有蛋白编码基因的信息。如果要下载所有基因信息,请不要选择蛋白相关的选项。
具体使用如下,下载基因相关信息,首先选择Ensembl Genes 89
数据集
以Human为例,选择Human genes (GRCh38.p10)
如果下载全部的基因信息,Filters
部分可以略过不填。如果只想下载比如说某个GO通路的基因或给定列表的基因信息,可以在Filters
中指定对应的GO ID
。
Attribute
中包含基因的名字、位置、注释、在不同数据库中的名字、GO注释、KEGG注释、功能域信息等,按需选择下载。
选择好后,点击Results
,获取结果
Export al results to
选择存储到文件中。如果特别大,而自己网速又比较慢,可以选择通过邮件发送下载链接
。
也可以通过Biomart提取基因结构信息,比如5’ UTR、3’ UTR、外显子、内含子的坐标等。
Biomart下载很方便,但一个点击也比较麻烦,可以看到截图中存在XML
按钮,点击打开看到选择的下载信息都记录在了这个文件中。
使用wget -O result.txt 'http://www.ensembl.org/biomart/martservice?query=
+
XML中的内容
(调整为一行,并且行尾加一个单引号)即可反复使用。如果想换一个物种,只需修改对应的Dataset name
即可。
- 设计模式专题(十三) ——备忘录模式
- 设计模式专题(十五) ——组合模式
- 设计模式专题(十六)——迭代器模式
- 设计模式专题(十七) ——单例模式
- 设计模式专题(十八) ——桥接模式
- 设计模式专题(十九) ——命令模式
- Thinking in SQL系列之:数据挖掘K均值聚类算法与城市分级
- 设计模式专题(二十) ——职责链模式
- 设计模式专题(二十一) ——中介者模式
- 设计模式专题(二十二) ——享元模式
- 设计模式专题(二十三) ——解释器模式
- Thinking in SQL系列之数据挖掘C4.5决策树算法
- 设计模式专题(二十四) ——访问者模式
- PHP实用功能——modern PHP读书笔记(一)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java 实现 Kafka Producer
- Android短信验证服务分享
- android 震动和提示音的实现代码
- 一个简单的Android圆弧刷新动画
- AccessibilityService实现微信发红包功能
- 处理一次k8s、calico无法分配podIP的心路历程
- Android自定义控件实现时钟效果
- Android倒计时控件 Splash界面5秒自动跳转
- Android仿抖音上下滑动布局
- 一个简单的Android轨迹动画
- Android自定义圆环倒计时控件
- Android 使用URLConnection下载音频文件的方法
- Android自定义TimeButton实现倒计时按钮
- android自定义圆形倒计时显示控件
- android实现上下左右滑动界面布局