生物信息学常见数据格式

1. fasta

fasta 是一种基于文本用于表示核酸序列多肽序列的格式。其中核酸或氨基酸均以单个字母来表示,且允许在序列前添加序列名及注释。

特征:2部分--id行序列行
> id行以“>”开头, 后跟序列名称&序列描述。有时候会包含注释信息
> 序列行一个字母表示一个碱基/氨基酸(A、T、C、G、N (N表示不知道是什么)/20种常见氨基酸)。序列中允许空格,换行,空行,直到下一个“>”,表示该序列结束。

2. fastq

高通量测序(如Illumina NovaSeq等测序平台)得到的原始图像数据文件,经碱基识别(Base Calling)分析转化为原始测序序列(Sequenced Reads),我们称之为Raw Data或Raw Reads,结果以FASTQ(简称为fq)文件格式存储,其中包含测序序列(Reads)的序列信息以及其对应的测序质量信息。测序样品中真实数据随机截取结果如下图:

特征: 每4行代表一个reads信息

第一行以“@”开头,随后为Illumina测序识别符(Sequence Identifiers)和描述文字(选择性部分);第二行是碱基序列;第三行以“+”开头,随后为Illumina测序识别符(选择性部分);第四行是对应序列的测序质量的ASCII码。碱基质量行的PHRED值是根据ASCII表用一个字符来表示一个碱基质量的好坏。

fastq格式是由fasta (记录id和序列) 和QUAL (记录id和碱基质量) 合并而来。fastq文件第三行往往是个+,其实就是和第一行一样都是id。

第四行碱基质量值
碱基质量值(Quality Score或Q-score)是碱基识别(Base Calling)出错的概率的整数映射。通常使用的碱基质量值Q公式[1]为:Q=-10 * log10P。其中P为碱基识别出错的概率。下表给出了碱基质量值与碱基识别出错的概率的对应关系。

碱基质量值 碱基识别出错的概率 碱基识别精度
10 10% 90%
20 1% 99%
30 0.10% 99.90%
40 0.01% 99.99%

碱基质量值越高表明碱基识别越可靠,准确度越高。比如,对于碱基质量值为Q20的碱基识别,100个碱基中有1个会识别出错,以此类推。

碱基质量值+33(前32个不是单个值),查表找到对应ASCII码

fastq与fasta文件转换

awk '{if(NR%4 == 1){print ">" substr($0, 2)}} {if(NR%4 == 2){print}}' fastq > fasta

3. gff/gtf

gff和gtf可以用cufflinks里的gffread命令互相转换格式

3.1 gff(General Feature Format)

GFF,全称为Generic Feature Format,主要用来描述基因的结构与功能信息,对基因组进行注释。记录序列中转录起始位点、基因、外显子、内含子等组成元件在染色体中的位置信息。现在用得比较多的是第3版,即gff3。gff是一个三级嵌套结构。格式文件为文本文件,分为9列,以TAB分开。控制符使用RFC 3986 Percent-Encoding 编码。比如:%20 代表着ASCII的空格。

gff文件一共有9列:

列数 关键字 描述
1 seqid 序列的id。(The name of the sequence where the feature is located.)
2 source 注释的来源,一般指明产生此gff3文件的软件或方法(e.g. Augustus or RepeatMasker)。如果未知,则用点(.)代替。
3 type 属性的类型,建议使用符合SO惯例的名称(sequence ontology)描述这一行记录的内容(例如gene,mRNA,start_codon,stop_codon,exon,CDS,UTR等)
4 start 起始位置,从1开始计数(区别于bed文件从0开始计数)。
5 end 终止位置
6 score 得分,注释信息可能性说明,可以是序列相似性比对时的E-values值或者基因预测时的P-values值。”.”表示为空。
7 strand “+”表示正链,“-”表示负链,“.”表示不需要指定正负链,“?” 表示未知.
8 phase 步进。仅对编码蛋白质的CDS有效,本列指定下一个密码子开始的位置。可以是0、1或2,表示到达下一个密码子需要跳过碱基个数。
9 attributes 属性。一个包含众多属性的列表,格式为“标签=值”(tag=value),不同属性之间以分号相隔。

第九列的详解

标签 含义
ID 属性feature的唯一标识,一个GFF文件内ID具有唯一性
Name 属性feature所展示的名称
Alias 属性feature的第二个name,可以不具有唯一性
Parent 属性feature的上一级ID,可以将exons聚集成transcripts, transcripts聚集成genes, and so forth。一个feature可以有多个parents。
Target 表示比对的目标区域,格式为"target_id start end [strand]", 其中strand是可选("+" or "-")。 如果target_id含有空格,必须转换为’%20’
Gap 比对结果的Gap信息
Note 文本描述
Ontology_term A reference to an ontology term,对应的GO数据库ID
Is_circular 表明属性feature是否为环化
3.2 gtf (Gene transfer format)

GTF全称为gene transfer format,主要是用来对基因进行注释。现在用得比较多的是第2版,即gtf2。gtf文件也是分为9列,前八个字段与GFF相同(有一些小的差别),重点在第九列的不同。

两种文件差异比较:

列数 列名 GTF GFF3
1 seqid same same
2 source same same
3 type feature requirements depend on software can be anything
4 start position same same
5 end position same same
6 score same same
7 strand same same
8 phase same same
9 Attributes 键值对使用空格” ”分开,“标签 值”(tag value) 使用”=”号,“标签=值”(tag=value)

❗️如何从gtf/gff文件中得到特定版本的ID和symbol的对应关系

# 从gff或者gft文件中获取ID与symbol对应关系,以及biotype类型
zless -S Homo_sapiens.GRCh38.95.gtf.gz  |awk -F'\t' '{if($3=="gene"){print$9}}' |awk -F';' '{print$1,$3,$5}' |awk '{print$2"\t"$4"\t"$6}' |sed 's/"//g' |grep 'protein_coding' >protein_coding_id2name.xls

4. sam/bam文件

bam文件和sam文件内容其实是一样的,只是bam是二进制的压缩文件,占内存空间更小。需要通过特定的软件来进行查看。(sam文件可以直接使用less -S查看;bam文件使用samtools view -h xxx.bam | less -S查看)

SAM(The Sequence Alignment / Map format)格式,即序列比对文件的格式,详细介绍文档:http://samtools.github.io/hts-specs/SAMv1.pdf

SAM文件由两部分组成,头部区和主体区,都以tab分列。
头部区:以’@'开始,体现了比对的一些总体信息。比如比对的SAM格式版本,比对的参考序列,比对使用的软件等。
主体区:比对结果,每一个比对结果是一行,有11个主列和一个可选列。

头部区:

@HD VN:1.0 SO:unsorted (排序类型)
头部区第一行:VN是格式版本;SO表示比对排序的类型,有unknown(default),unsorted,queryname和coordinate几种。samtools软件在进行行排序后不能自动更新bam文件的SO值,而picard却可以。
@SQ SN:contig1 LN:9401 (序列ID及长度)
参考序列名,这些参考序列决定了比对结果sort的顺序,SN是参考序列名;LN是参考序列长度;每个参考序列为一行。
例如:@SQ SN:NC_000067.6 LN:195471971
@RG ID:sample01 (样品基本信息)
Read Group。1个sample的测序结果为1个Read Group;该sample可以有多个library的测序结果,可以利用bwa mem -R 加上去这些信息。
例如:@RG ID:ZX1_ID SM:ZX1 LB:PE400 PU:Illumina PL:Miseq
ID:样品的ID号 SM:样品名 LB:文库名 PU:测序以 PL:测序平台
这些信息可以在形成sam文件时加入,ID是必须要有的后面是否添加看分析要求
@PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta7 (比对所使用的软件及版本)
例如:@PG ID:bwa PN:bwa VN:0.7.12-r1039 CL:bwa sampe -a 400 -f ZX1.sam -r @RG ID:ZX1_ID SM:ZX1 LB:PE400 PU:Illumina PL:Miseq …/0_Reference/Reference_Sequence.fa ZX_HQ_clean_R1.fq.sai ZX_HQ_clean_R2.fq.sai …/2_HQData/ZX_HQ_clean_R1.fq …/2_HQData/ZX_HQ_clean_R2.fq
这里的ID是bwa,PN是bwa,VN是0.7.12-r1039版本。CL可以认为是运行程序@RG是上面RG表示的内容,后面是程序内容,这里的@GR内容是可以自己在运行程序是加入的

主体部分介绍:

主体部分有11个主列和1个可选列

列数 关键字 描述
1 QNAME 比对的序列名称 例如:M04650:84:000000000-B837R:1:1101:22699:1759(一条测序reads的名称)
2 FLAG Bwise FLAG(表明比对类型:paring,strand,mate strand等) 例如:99
3 RENAME 比对到参考序列上的染色体号,例如:NC_000075.6。若无法比对,则是*
4 POS 比对到参考序列上的位置 从1开始计数,未比对上则为0
5 MAPQ 比对的质量分数 越高说明该read比对到参考基因组上的位置越准确
6 CIGAR 简要比对信息表达式 其以参考序列为基础,使用数字加字母表示比对结果。
7 MRNM 下一片段比对上的参考序列编号
8 MPOS 下一片段比对上的位置 如果不可用,此处为0
9 ISIZE 插入片段长度 例如:200
10 SEQ 和参考序列在同一个链上比对的序列(若比对结果在负义链上,则序列是其反向重复序列,反向互补序列) 例如:ATTACTTGGCTGCT
11 QUAL 比对序列的质量(ASCII-33=Phred base quality)reads碱基质量值 例如:-8CCCGFCCCF7@E-
12 Optional fields 可选的列以TAG:TYPE:VALUE的形式提供额外的信息

FLAG详解:http://broadinstitute.github.io/picard/explain-flags.html
例如:想要查看FLAG 99是什么意思:samtools flags 99

CIGAR详解
CIGAR string,简要比对信息表达式(Compact Idiosyncratic Gapped AlignmentReport),其以参考序列为基础,使用数字加字母表示比对结果,比如3S6M1P1I4M,前三个碱基被剪切去除了,然后6个比对上了,然后打开了一个缺口,有一个碱基插入,最后是4个比对上了,是按照顺序的,字母的含义如下

sam/bam文件查看
samtools工具:http://www.htslib.org/doc/samtools.html
Samtools常用命令的总结:
https://www.bioinfo-scrounger.com/archives/245/
https://www.cnblogs.com/xiaofeiIDO/p/6805373.html

参考:sam格式文件解读

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,495评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,469评论 2 369
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 140,825评论 0 318
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 51,974评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,849评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 45,990评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,415评论 3 380
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,125评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,351评论 1 288
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,474评论 2 307
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,249评论 1 324
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,119评论 3 310
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,496评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,838评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,118评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,366评论 2 340
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,573评论 2 335

推荐阅读更多精彩内容