生物信息学常见数据格式
生物信息学里常见的数据格式主要有fasta,fastq,gff/gtf。
1 FASTA
FASTA是一种基于文本用于表示核酸序列或蛋白质的氨基酸序列的格式。
主要分为两部分,第一部分即第一行为id行,以“>”开头,包含注释信息;第二部分(不只有第二行)为序列信息,每个字母表示一个碱基或氨基酸,一般用ATCGN来表示,其中N表示荧光信号干扰无法判断到底是哪个碱基。
下面举几个例子
核酸序列
我们以人类血红蛋白α亚基的mRNA序列为例
图源NCBI
点击红框中的FASTA可查看其FASTA格式,如下
>gi|13650073|gb|AF349571.1| Homo sapiens hemoglobin alpha-1 globin chain (HBA1) mRNA, complete cds
CCCACAGACTCAGAGAGAACCCACCATGGTGCTGTCTCCTGACGACAAGACCAACGTCAAGGCCGCCTGG
GGTAAGGTCGGCGCGCACGCTGGCGAGTATGGTGCGGAGGCCCTGGAGAGGATGTTCCTGTCCTTCCCCA
CCACCAAGACCTACTTCCCGCACTTCGACCTGAGCCACGGCTCTGCCCAGGTTAAGGGCCACGGCAAGAA
GGTGGCCGACGCGCTGACCAACGCCGTGGCGCACGTGGACGACATGCCCAACGCGCTGTCCGCCCTGAGC
GACCTGCACGCGCACAAGCTTCGGGTGGACCCGGTCAACTTCAAGCTCCTAAGCCACTGCCTGCTGGTGA
CCCTGGCCGCCCACCTCCCCGCCGAGTTCACCCCTGCGGTGCACGCCTCCCTGGACAAGTTCCTGGCTTC
TGTGAGCACCGTGCTGACCTCCAAATACCGTTAAGCTGGAGCCTCGGTGGCCATGCTTCTTGCCCCTTTG
G
注释信息
- gb:gene bank,
- AF349571.1:Gi号,类似于每个人都有自己独一无二的身份证,序列也是类似;
- Homo sapiens hemoglobin alpha-1 globin chain (HBA1) mRNA, complete cds:对序列的描述,如是什么核酸序列(mRNA),具体是什么类型(cds)。
我在查询序列的时候发现,作为mRNA序列,没有出现碱基U,反而出现了碱基T。
知乎孟浩巍大佬解释说“这是为了保证数据的统一性,因为U只是在RNA中替换了原来的T,所以为了下游的方便分析处理,无论RNA序列还是DNA序列都是使用T而不是U。”
氨基酸序列
同样以人类血红蛋白α亚基的序列为例
图源NCBI
点上面的FASTA即可查看其FASTA格式,如下
>sp|P69905.2|HBA_HUMAN RecName: Full=Hemoglobin subunit alpha; AltName: Full=Alpha-globin; AltName: Full=Hemoglobin alpha chain
MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHGKKVADALTNA
VAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSK
YR
注释信息
- P69905.2:Gi号
- HBA_HUMAN:序列简称
- RecName:数据库推荐使用的名字
- AltName:别名
正如前面的介绍,FASTA格式非常简单,但相较于下面将要介绍的FASTQ格式来说,缺少了测序序列的质量信息。
2 FASTQ
FASTQ是一种存储了生物序列以及相应的质量评价的文本格式,共有四行。
以SRR2176381为例,在linux环境下使用prefetch命令将SRR2176381的sra格式测序数据下载下来,再通过fastq-dump命令将sra转换为fastq,转换后查看,如下
@SRR2176381.1 HWI-ST397:369:C3JLPACXX:8:1101:1635:2086 length=101
NGAGTAATCCGGCTGTCAGTTCCTGACGCTTGCAAAACTTCACCGATCCCACATTGCCTGAAATATCGCGGGTCTGTGCTTTAACCAATGCACCATCTCCC
+SRR2176381.1 HWI-ST397:369:C3JLPACXX:8:1101:1635:2086 length=101
#1=DDFFFFHHHHJJJJJJIIIJJIIIJJJJJJJJJJJJJEEIHFFGIJJJJJJJHHHHHBDFFFFFDDDDD9>D9@AACDDACCCDBCDDDDDDDCCCDD
第1行: id行,以“@”开头,主要储存序列测序时的坐标等信息。
- SRR2176381.1:Gi号
- HWI-ST397:369:C3JLPACXX:测序仪的唯一设备名称
- 8:lane的编号
- 1101:tail的坐标
- 1635:在tail中的X坐标
- 2086:在tail中的Y坐标
- length=101:长度为101
第2行: 序列行,一般用ATCGN来表示,其中N表示荧光信号干扰无法判断到底是哪个碱基。
第3行: 附加信息行,以“+”开始,一般为空或和第一行相同。
第4行: 碱基质量行,根据ASCII表,用一个字符代表碱基质量的好坏,与第二行的测序结果是一一对应的,可以简单理解为对应位置碱基的质量值,越大说明测序的质量越好。
3 GTF和GFF
GTF和GFF都是以\t分隔的用于基因注释的文件。
GTF文件和GFF文件可通过软件相互转化。
GTF:General Transfer Format
GFF:General Feature Format
一个GTF或GFF文件包含9列内容
- seqid: 序列编号,一般为chr或者scanfold编号,每条染色体拥有一个唯一的ID。
- source: 注释来源,可以是数据库的名称、软件的名称,也可以为空。
- feature: 注释类型,一般为CDS,exon,cDNA,5UTR等等。
- start: 该序列在参考序列上的起始位置,以1为染色体的起点。
- end: 该序列在参考序列上的终止位置。
- score: 得分,如拼装的可信度,“.”表示为空。
- strand: 正链还是负链,+表示正链,-表示负链,?表示不清楚正负链的信息。
- phase: 仅对注释类型为“CDS”有效,表示起始编码的位置,有效值为0、1、2。从0开始,CDS的起始位置,除以3,余数就是这个值,表示到达下一个密码子需要跳过的碱基个数。
- 0表示这个region的第1bp就是正好是密码子的第1个碱基;
- 1表示这个region的第2bp就是正好是密码子的第1个碱基;
- 2表示这个region的第3bp就是正好是密码子的第1个碱基;
- attribute: 包含多属性的列表,一般会记录 gene_id 与transcript_id;标签与值之间以空格分开,且每个特征之后都要有分号(包括最后一个特征)。
chr1 hg19_ncbiRefSeq CDS 67000042 67000051 0.000000 + 0 gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq exon 66999929 67000051 0.000000 + . gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq CDS 67091530 67091593 0.000000 + 2 gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq exon 67091530 67091593 0.000000 + . gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq CDS 67098753 67098777 0.000000 + 1 gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq exon 67098753 67098777 0.000000 + . gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq CDS 67105460 67105516 0.000000 + 0 gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq exon 67105460 67105516 0.000000 + . gene_id "SGIP1"; transcript_id "NM_001308203.1";
chr1 hg19_ncbiRefSeq CDS 67108493 67108547 0.000000 + 0 gene_id "SGIP1"; transcript_id "NM_001308203.1";
相关文章
- Redis缓存何以一枝独秀?——从百变应用场景与热门面试题中感受下Redis的核心特性与使用注意点
- 如何使用 ST05 事物码,快速找到访问指定数据库表的 ABAP 代码试读版
- 大数据NiFi(七):NiFi集群页面管理节点操作
- 开源:一款方便实用的数据库文档管理工具 - SmartSQL
- 准确率可达100%!谷歌全新方法解决ML模型「走捷径」问题
- 每周云安全资讯-2023年第1周
- 谷歌RT-1模型让一个机器人干几份活,700条指令成功率达97%
- 将数据中心代理和Oxylabs住宅代理与MultiLogin集成的操作保姆级流程
- 离谱!女生在自家厕所遭偷拍,照片全网泄露,罪魁祸首竟是萌萌的TA
- 【愚公系列】2023年01月 Dapr分布式应用运行时-Dapr的基本运行
- 位图bitmap的改进版:Roaring Bitmap
- MySQL常用基础 - 小白必看
- 以太网交换机中的网络延迟是什么呢?
- 百度研究院发布2023年十大科技趋势,锚定「AI向实」:行业大模型生态初现,自动驾驶、AIGC、量子科技等智能化创新更加务实
- 官方mysqld_exporter支持抓取多MySQL实例
- 使用 ggplot2 绘制比较各省份及其区县的详细数据
- 如何解决MySQL5升级为MySQL8遇到的问题my.ini(mysql5.6升级mysql8.0)
- 你知道微服务架构中的“发件箱模式”吗
- 软件测试|Postman做 接口自动化测试
- 软件开发入门教程网之MySQL 连接的使用