生物信息分析过程中的常见文件格式解读
fasta文件
对应文件后缀
- fa
- fasta
- fna (NCBI)
- faa (NCBI)
文件特点
- 包含描述与序列两部分;
- 描述部分:只能写一行;
- 描述部分:均以大于号(>)作为开头;
- 描述部分:以空格或tab为分隔,通常前面部分为ID,后面部分为其他描述(如功能,通俗名称等等)
- 序列部分:可以为一行或多行;
- 序列部分:可以描述碱基(nucleotide)或者氨基酸(amino acid)。
示例
1 2 3 4 5
| >YP_001864424.1 phycoerythrobilin:ferredoxin oxidoreductase MNSERSDVTLYQPFLDYAIAYMRSRLDLEPYPIPTGFESNSAVVGKGKNQEEVVTTSYAFQTAKLRQIRA AHVQGGNSLQVLNFVIFPHLNYDLPFFGADLVTLPGGHLIALDMQPLFRDDSAYQAKYTEPILPIFHAHQ QHLSWGGDFPEEAQPFFSPAFLWTRPQETAVVETQVFAAFKDYLKAYLDFVEQAEAVTDSQNLVAIKQAQ LRYLRYRAEKDPARGMFKRFYGAEWTEEYIHGFLFDLERKLTVVK
|
fastq文件
fastq文件是NGS中存储测序样本序列的常用格式,其中除了包含序列信息,还有每个碱基的质量值信息,以此判断碱基是否可信。质量值相关问题,请见相关博文。
对应文件后缀
通常以压缩文件形式存放,一般无需解压,多数相关软件可以直接读取压缩文件。
文件特点
每4行代表一条序列
- 第一行以@开头,为识别码,即read名称,是测序仪依据设定自动命名;
- 第二行为序列;
- 第三行以+开头,后跟注释,可为空
- 第四行为质量值(ASCII码加Q值的值所对应的字符,具体计算方法请翻看生物信息分析中常见文件FAQ)
示例
1 2 3 4
| @A00869:272:H72GWDSXY:2:1101:30960:1000 1:N:0:GATTAGG+GATTAGGA CTATNGCACACACGTCTCAGGCTGCTCTGGTTTCAGCATTGGTATCATCGACTCTGGCTGCATGGATATGATGAGGGACGTTCACTAGCTAGTGAGTCCATGATTGTGACCCAACATGTTACTGTATGCCCCAACTTTCTAGGTGCTGAC + FFFF#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFF
|
GTF/GFF/GFF3文件
GTF/GFF文件是描述相关特征(包括基因、转录本、外显子、UTR等等)在基因组序列的位置等信息的文件。
GTF/GFF文件中定义了每个特征所在的染色体编号、起始位置、终止位置、所在的正负链信息、名称等等信息。
GTF与GFF文件可以相互转换。
GFF3是 GFF version 3的缩写,目前常用的GFF都是GFF3版本。
文件后缀
文件特点
- GTF/GFF文件是文本文件,可以用notepad++或UltraEdit,以及Excel等打开;
- 一般只记录特征的位置信息,不包含序列信息;
- 每个GTF/GFF文件都对应了一个版本的基因组序列;
- 可以只包含一条染色体,也可以包含所有染色体;
- 染色体名称必须与基因组序列ID完全一致。
- 不同数据库的GTF/GFF文件格式或许有差异,例如Ensembl的文件与UCSC的文件存在差异。
- 通常GTF/GFF的下载来源需要与基因组fasta文件一致,以保证对应。
GTF示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 1 araport11 gene 3631 5899 . + . gene_id "gene:AT1G01010"; 1 araport11 mRNA 3631 5899 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 five_prime_UTR 3631 3759 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 exon 3631 3913 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; exon_number "1"; 1 araport11 CDS 3760 3913 . + 0 transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 exon 3996 4276 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; exon_number "2"; 1 araport11 CDS 3996 4276 . + 2 transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 exon 4486 4605 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; exon_number "3"; 1 araport11 CDS 4486 4605 . + 0 transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 exon 4706 5095 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; exon_number "4"; 1 araport11 CDS 4706 5095 . + 0 transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 exon 5174 5326 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; exon_number "5"; 1 araport11 CDS 5174 5326 . + 0 transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 CDS 5439 5630 . + 0 transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; 1 araport11 exon 5439 5899 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010"; exon_number "6"; 1 araport11 three_prime_UTR 5631 5899 . + . transcript_id "transcript:AT1G01010.1"; gene_id "gene:AT1G01010";
|
GFF示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 1 araport11 gene 3631 5899 . + . ID=AT1G01010;Name=NAC001 1 araport11 mRNA 3631 5899 . + . ID=AT1G01010.1;Parent=AT1G01010 1 araport11 five_prime_UTR 3631 3759 . + . Parent=AT1G01010.1 1 araport11 exon 3631 3913 . + . Parent=AT1G01010.1 1 araport11 CDS 3760 3913 . + 0 ID=CDS:AT1G01010.1;Parent=AT1G01010.1;protein_id=AT1G01010.1 1 araport11 exon 3996 4276 . + . Parent=transcript:AT1G01010.1 1 araport11 CDS 3996 4276 . + 2 ID=CDS:AT1G01010.1;Parent=transcript:AT1G01010.1 1 araport11 exon 4486 4605 . + . Parent=transcript:AT1G01010.1 1 araport11 CDS 4486 4605 . + 0 ID=CDS:AT1G01010.1;Parent=transcript:AT1G01010.1 1 araport11 exon 4706 5095 . + . Parent=transcript:AT1G01010.1 1 araport11 CDS 4706 5095 . + 0 ID=CDS:AT1G01010.1;Parent=transcript:AT1G01010.1 1 araport11 exon 5174 5326 . + . Parent=transcript:AT1G01010.1 1 araport11 CDS 5174 5326 . + 0 ID=CDS:AT1G01010.1;Parent=transcript:AT1G01010.1 1 araport11 CDS 5439 5630 . + 0 ID=CDS:AT1G01010.1;Parent=transcript:AT1G01010.1 1 araport11 exon 5439 5899 . + . Parent=transcript:AT1G01010.1; 1 araport11 three_prime_UTR 5631 5899 . + . Parent=transcript:AT1G01010.1
|
每列含义
列序 |
含义 |
备注 |
1 |
染色体ID |
需要与序列文件完全对应,区分大小写。如:”Chr1”, “chr1”, “1”, “NC_000001.11” 是不同的。 |
2 |
注释信息来源 |
一般为软件或数据库名称 |
3 |
特征的类型 |
gene/mRNA/exon/CDS等等 |
4 |
起始位置 |
起始位点在序列中的位置 |
5 |
终止位置 |
终止位点在序列中的位置 |
6 |
打分值 |
软件或者用户定义的打分值,非必须,一般以”.”表示省略 |
7 |
正负链信息 |
+表示与序列文件一致的链,- 表示序列文件的互补链 |
8 |
阅读框 |
0,1,2. ‘0’表示第一个碱基是密码子的第一个碱基;’1’ 表示第二个碱基是密码子的第一个碱基,以此类推。 非必须,一般以”.”表示省略。 |
9 |
属性(GTF) |
本特征所属的基因ID,转录本ID等等信息,以分号;为分隔符。 |
9 |
属性(GFF) |
本特征的ID(ID),上一级特征的ID(Parent);为分隔符。 exon、CDS和UTR的Parent为mRNA,mRNA的Parent为gene。 |
SAM/BAM文件
SAM(Sequence Alignment/Map format)文件是保存比对信息的文件格式
通常用于记录测序数据(Read)比对到基因组的位置信息等,由比对软件(例如bowtie,hisat2,bwa,star等)直接生成。
文件后缀
文件特点
- SAM文件包含比对质量,比对位置,序列等信息;
- SAM文件通常非常大,可以达到几百G;
- SAM文件是文本格式,但由于较大,一般无需用文本编辑器打开,相关软件可以直接读取;
- BAM文件是SAM文件的压缩格式,非文本格式,节省存储空间。
SAM文件示例
- SAM文件包含head部分和正文部分
- head部分以@开头,记录了每条染色体的长度信息,比对命令等信息
- 正文部分是以制表符(TAB)为分隔符的表格
1 2 3 4 5 6 7
| @HD VN:1.4 SO:coordinate @SQ SN:1 LN:43270923 @SQ SN:2 LN:35937250 @SQ SN:3 LN:36413819 @PG ID:STAR PN:STAR VN:2.7.3a CL:STAR ... A00838:278:H72G3DSXY:2:1474:22896:7701 163 1 2653 255 150M = 2903 400 CTAGCCCTTCCCAAGCCAAATATGGAGGTTCTCTCTCCTCACTCCAT FFFFFF:FFFFFFF,FFFFFFFFFFF,FFF::FFF:FF,FFF:FFFF NH:i:1 HI:i:1 AS:i:298 nM:i:0 A00838:278:H72G3DSXY:2:1615:22498:25520 163 1 2794 255 150M = 2934 290 TATAGGATGTTGGTATATGTAGGATGTAATATGAATGATCTGTTGGA FFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFF NH:i:1 HI:i:1 AS:i:298 nM:i:0
|
SAM正文每列含义
列序 |
含义 |
备注 |
1 |
查询序列名称 |
Read名称 |
2 |
比对flag编码 |
记录比对概况,每个数字的解释见 本链接 |
3 |
比对到的染色体编号 |
|
4 |
比对到的起始位置 |
|
5 |
比对质量 |
由比对软件决定,不同软件可能不一样,一般为0~255 |
6 |
比对详情(CIGAR) |
150M为150bp全部比对,具体可参考本链接 |
7 |
PairEnd的另一端序列比对的染色体 |
“=”表示两端序列比对的染色体一致 ,如不一致则用具体染色体名表示 |
8 |
PairEnd的另一端序列比对的起始位置 |
|
9 |
插入片段大小 |
read1和read2之间的模板(基因组序列)长度 |
10 |
序列 |
本read的序列 |
11 |
碱基质量值 |
本序列的碱基质量值 |
12 |
标签信息 |
由比对软件决定,不同软件输出不一样。 |
SAM文件详细定义见 链接;
SAM与BAM的相互转换
用samtools实现SAM和BAM的互相转换
1 2 3 4 5
| samtools view -bS in.sam >in.bam
samtools view -h in.bam >in.sam
|
BED文件
- BED文件是记录序列位置的一种表示方式
- 通常以文本形式保存
- 以制表符(TAB)分隔,包含至少三列(染色体ID,起始位置,终止位置),
典型示例
1 2 3 4 5 6 7 8 9 10
| 1 2982 10815 Os01g0100100 . + 1 11217 12435 Os01g0100200 . + 1 11371 12284 Os01g0100300 . - 1 12720 15685 Os01g0100400 . + 1 12807 13978 Os01g0100466 . - 1 16398 20144 Os01g0100500 . + 1 22840 26892 Os01g0100600 . + 1 25860 26424 Os01g0100650 . - 1 27142 28644 Os01g0100700 . + 1 29817 34453 Os01g0100800 . +
|
每列含义
列序 |
含义 |
备注 |
1 |
染色体/序列ID |
必须 |
2 |
起始位置 |
必须 |
3 |
终止位置 |
必须 |
4 |
本条记录的名称 |
可选 |
5 |
打分值 |
可选,0~1000,由用户定义,如无打分值,则用点(.)表示 |
6 |
链信息 |
可选,+/-/ . 其中点表示无链信息 |
VCF文件
对应文件后缀
文件特点
- 包含Header与Body两部分;
- Header部分:以井号
#
为开头;
- Header部分:描述本文件内各标签的含义,文件来源及其命令,基因组长度,Body表头等信息;
- Header部分:一般由变异分析软件自动添加;
- Body部分:每个变异一行,可描述SNP、InDel、SV等变异信息;
文件各部分的含义
Body部分各列含义
名称 |
含义 |
备注 |
CHROM |
染色体编号 |
|
POS |
变异位置 |
|
ID |
变异名称 |
缺失可以. 表示 |
REF |
参考基因组的等位信息 |
|
ALT |
非参考基因组的等位信息 |
多个等位可用逗号分隔 |
QUAL |
变异质量 |
|
FILTER |
过滤标签 |
|
INFO |
变异注释信息 |
|
FORMAT |
样本各字段对应格式 |
不同字段以冒号: 分隔 |
SAMPLE1 |
各样本字段内容 |
不同字段以冒号: 分隔 |