- 1. fasta和fastq格式
- 1.1 fasta格式
- 1.2 fastq格式
系列文章:
二代测序方法:DNA测序之靶向重测序
NGS数据分析实践:00. 变异识别的基本流程
NGS数据分析实践:01. Conda环境配置及软件安装
NGS数据分析实践:02. 参考基因组及注释库的下载
测序数据分析中涉及的常用格式:测序得到的是带有质量值的碱基序列(fastq格式),参考基因组是(fasta格式),用比对工具把fastq格式的序列比对到对应的fasta格式的参考基因序列,就可以产生sam格式的比对文件。把sam格式的文本文件压缩成二进制bam文件可以节省空间,如果对参考基因组上面的各个区段标记它们的性质,比如哪些区域是外显子、内含子、UTR等等,这就是gtf/gff格式。如果只是为了单纯描述某个基因组区域,就是bed格式文件,记录染色体号以及起始终止坐标,正负链即可。如果是记录某些位点或者区域碱基的变异,就是vcf文件格式。
fasta/fastq(测序数据)→SAM/BAM(比对)→gff/gtf(描述基因组上的结构:坐标&类型)→Bigwig/Wiggle(测序深度)→bed(描述坐标)→vcf(突变信息)
存储序列:fasta/fastq
比对结果显示的文件:sam/bam
展示注释信息:gtf/gff/bed
突变信息:vcf
注:以下绿色PPT截图来自 生信技能树。
1. fasta和fastq格式 1.1 fasta格式.fasta是存储有顺序的序列数据的文件后缀,包括常用的参考基因组序列、蛋白质序列、编码DNA序列(coding DNA sequence,简称CDS)、转录本序列等,文件后缀除了.fasta之外,也常用.fa或者.fa.gz(gz压缩)。
FASTA文件主要由两个部分构成:序列头信息(序列名字 + 注释信息)和具体的序列数据。
(1) 头信息独占一行,以大于号(>)开头作为识别标记,其中除了记录该条序列的名字之外,有时候还会接上其它的描述信息。
(2) 紧接的下一行是具体的序列内容,直到另一行碰到另一个大于号(>)开头的新序列或者文件末尾。
图示如下:
fasta 数据的序列部分说明:
N (端粒、着丝粒;重复序列,相对于soft masking,不用小写表示而用N表示) + atcg (soft masking:重复序列小写字母表示) + ATCG
fasta文件示例:
which bowtie2
# ~/biosoft/bowtie2/bowtie2-2.3.4.3-linux-x86_64/example/reference
less -S lambda_virus.fa
grep '>' lambda_virus.fa
# ~/reference/genome/hg19
grep '>' hg19.fa
#>chr10
#>chr11
#>chr11_gl000202_random
#>chr12
#>chr13
#>chr14
#>chr15
#>chr16
less hg19.fa | grep ">" |cut -d_ -f1 | sort | uniq -c | awk -F' >' '{print $1"t"$2}'| sort -k1,1nr #注意:使用uniq之前,需要先sort,否则,只能去掉相邻的重复
# 39 chrUn
# 8 chr6
# 6 chr17
# 5 chr9
# 4 chr4
# 3 chr1
# 3 chr19
# 3 chr8
1.2 fastq格式
.fastq格式是目前存储测序数据最普遍公认的数据格式。FASTQ是产生自测序仪的原始测序数据,由测序的图像数据转换过来,也是文本文件,文件大小依照不同的测序量(或测序深度)而有很大差异,小的可能只有几M,大的则常常有几十G上百G,文件后缀通常都是.fastq,.fq或者.fq.gz(gz压缩)。
注:
fasta:为参考基因组序列,不需要考虑质量问题;fastq:自己测序得到的序列,需要质控。
图示如下:
@行:参考 生信星球 好东西,攒着攒着就烂了
+行:可以与第1行相同;也可以用+占位,后边空着。有可能是类似于API接口,便于之后的数据格式向前兼容。
碱基质量值:用来定量描述碱基好坏程度的一个数值。如果测序测得越准确,这个碱基的质量就应该越高。即,可用碱基被测错的概率来描述它的质量值,错误率越低,质量值就越高。假定碱基的测序错误率为p_error,质量值为Q,它们之间的关系如下:Q = -10log(p_error) 。如果该碱基的测序错误率是0.01,那么质量值就是20(俗称Q20),如果是0.001,那么质量值就是30(Q30)。Q20和Q30的比例常被用来评价某次测序结果的好坏,比例越高就越好。
为了存储及处理方便,质量值被直接转换成了ASCII码,并与第二行的read序列构成一一对应的关系——每一个ASCII码都和它正上面的碱基对应。从下表中可以看到下限有33和64两个值,我们把加33的的质量值体系称之为Phred33,加64的称之为Phred64(Solexa的除外,它叫Selexa64)。现在一般都是使用Phred33体系,而且33也恰好是ASCII的第一个可见字符(’!’)。
示例数据:
ls -R #递归列出所有东西 wget https://mothur.s3.us-east-2.amazonaws.com/wiki/miseqsopdata.zip unzip miseqsopdata.zip cd MiSeq_SOP/ less -SN Mock_S280_L001_R1_001.fastq
文本操作练习:
# fastq每条序列是4行,可将其变为4列 cat Mock_S280_L001_R1_001.fastq | head -100 > tmp.fq cat tmp.fq | paste - - - - |less -S cat tmp.fq | paste - - - - |wc # 查看第2行的第1个碱基 cat tmp.fq | paste - - - - | cut -f2 | cut -c1 # -c:第一个字符 cat Mock_S280_L001_R1_001.fastq | paste - - - - | cut -f2 | cut -c1 | sort | uniq -c
其余文件格式见后续。
参考阅读:
http://genome.ucsc.edu/FAQ/FAQformat.html
从零开始完整学习全基因组测序数据分析:第2节 FASTA和FASTQ
生信星球 好东西,攒着攒着就烂了


![NGS数据分析实践:03. 涉及的常用数据格式[1] - fasta和fastq格式 NGS数据分析实践:03. 涉及的常用数据格式[1] - fasta和fastq格式](http://www.mshxw.com/aiimages/31/278858.png)
