NGS之数据格式

生物信息中常见的几种数据格式有:fasta、fastq、bam、sam、vcf、bed、gff。

参考:http://www.biotrainee.com/thread-42-1-1.html

FASTQ

参考:https://en.wikipedia.org/wiki/FASTQ_format
fastq格式是文本格式。它有对应序列字符的质量分数,出于简洁的目的用ASCII字符来表示,所以fastq格式常用于高通量测试数据的存储。

fastq格式常以四部分组成。

第一部分:序列名称。以 @ 开始紧接着是序列的标识符和可选择的描述信息,和fasta格式的头行很相似。

第二部分:序列碱基。是原始序列信息。

第三部分:以 + 开始,后面可再接与第一部分的相同的序列标识符或者描述信息。

第四部分:碱基的质量。以ASCII字符表示第二行碱基序列的测序质量。! 表示最低的质量而 ~ 表示最高质量。
 

@IL38_2670:1:42:1707:2025/2
CTTTTTTTTTTTTTTTTTTTTTTTTTGTTCTTTTTTTCTTTTTTTTTTTTTTTT
+
())+22;;99-A0B=/=--<=?4+;*=*+A,A<?992()==9<9---=9?A@>@

fastq转换fasta格式:

zcat input_file.fastq.gz | awk 'NR%4==1{printf ">%s\n", substr($0,2)}NR%4==2{print}' > output_file.fa

FASTA


参考:https://en.wikipedia.org/wiki/FASTA_format
fasta格式是生物信息最基本的文本格式,用来展示碱基序列或者氨基酸序列。fasta格式的简洁性有利于文本编辑工具和脚本语言如:Python,Rudy,Perl的编辑操作。

在fasta文件的第一行(header line)通常以";" 或者 ">"开头,用来分割不同的序列。
 

>MAL1
CTAAACCTAAACCTAAACCCTGAACCCTAAACCCTAAACCCTGAACCCTAAACCCTGAAC
CCTGAACCCTAAACCCTGAACCCTAAACCCTGAACCCTGAACCCTAAACCCTAAACCCTA

下面的代码中,

第一部分:NCBI用seqID定义了一个唯一的标识在header line并且指出了序列来源的数据库等信息,即 >gi|55417888|dbj|BA000005.3|。一个空格符之后的 Homo sapiens genomic DNA, chromosome 21q 为描述信息。

第二部分:即是氨基酸或者碱基序列。

>gi|55417888|dbj|BA000005.3| Homo sapiens genomic DNA, chromosome 21q
CATGTTTCCACTTACAGATCCTTCAAAAAGAGTGTTTCAAAACTGCTCTATGAAAAGGAATGTTCAACTC
TGTGAGTTAAATAAAAGCATCAAAAAAAAGTTTCTGAGAATGCTTCTGTCTAGTTTTTATGTGAAGATAT

SAM


参考:http://samtools.github.io/hts-specs/SAMv1.pd
sam格式是文本格式,用来表示短序列片段比对参考序列片段的结果(reads map reference genome)。在高通量测序时经常使用。

sam格式以两部分组成。

第一部分:头行(header line)以 @ 开始,紧接着一个或两个字母,比如下列代码中的 SQ 表示参考序列信息,SN表示参考序列名称,LN表示参考序列长度,PG表示软件,ID表示项目记录号(唯一),PN表示软件名称,VN表示软件版本,CL表示命令行等等(全部解释信息可见参考链接)。

    第二部分:比对结果部分(alignment section),每一行表示片段比对信息,共有十一列。

        1 查询序列名称(query template name),是字符串类型,即下列代码的 IL38_2670:1:42:1707:2025  
        2 标识(flag)以整数的形式表示比对的结果,如 16
        3 参考序列的名称(reference sequence name),如 MAL1
        4 第一个碱基比对上的位置(position),没有比对上用0表示,比对上了从1开始计数,如 153717
        5 比对质量(mapping quality),用-10log 10 Pr{mapping position is wrong}计算,粗略近似为从0开始的整数,如:0
        6 CIGAR字符串,是比对的详细信息,使用数字加字母表示比对结果,如31M1D23M 表示31个比对上了1个缺失了最后23个比对上了(还有I表示相对 参考序列是插入的碱基,N跳过了这个区域??(什么叫skip掉?不懂求大神解释和deletion有什么区别),P有缺口等等)
        7 测序中下一个短片段比对上参考序列的名称,没有用*表示,和上一个相同用=表示,如下列代码的*
        8 测序中下一个短片段比对上参考序列的位置,没有用0表示,如下列代码的0
        9 序列模板长度(signed observed template length),如果同一个片段都比对上了同一个参考序列,为最左边的碱基位置到最右边的碱基位置(左为正,右为负),当是single-segment比对上或者不可用时记为0
        10 短序列(reads/segments)的信息,如下图中的AAAAAAAAAAAAAAAAGAAAAAAAGAACAAAAAAAAAAAAAAAAAAAAAAAAAG
        11 比对的质量和fastq文件中记录的相同,如下图的@>@A?9=---9<9==)(299?<A,A+*=*;+4?=<--=/=B0A-99;;22+))(
        最后还有可以选择的信息用TAG:TYPE:VALUE表示。

BAM


bam是sam的二进制格式,为了减少sam文件的储存量。

附格式转换:

sam格式转换成bam格式:

samtools view -bS toy.sam > toy.bam

VCF


vcf(variant calling format)用来表示突变的信息。

vcf格式以两部分组成。第一部分:头行(vcf header),以##开头,有文件格式,使用软件信息,参考序列信息,重叠群(contig)的相关信息(拼接时reads之间的overlap区域)等等。

第二部分:具体的突变信息,共有八列。

1 染色体名称(chromosome),哪一个参考序列上发现了突变,如MAL1

2 发生突变的位置,以1开始计算,如265854

3 突变的ID

4 参考序列上的碱基,如T

5 发生突变的碱基,如C

6 发生突变的碱基质量,如6.2

7 过滤后的状态

8 额外的信息

##fileformat=VCFv4.1
##samtoolsVersion=0.1.19-44428cd
##reference=file://3D7.version2.1.4.fasta
##contig=<ID=MAL1,length=643292>
##contig=<ID=MAL10,length=1687655>
##INFO=<ID=DP,Number=1,Type=Integer,Description="Raw read depth">
##INFO=<ID=DP4,Number=4,Type=Integer,Description="# high-quality ref-forward bases, ref-reverse, alt-f
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=GL,Number=3,Type=Float,Description="Likelihoods for RR,RA,AA genotypes (R=ref,A=alt)">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="# high-quality bases">
##FORMAT=<ID=DV,Number=1,Type=Integer,Description="# high-quality non-reference bases">
##FORMAT=<ID=SP,Number=1,Type=Integer,Description="Phred-scaled strand bias P-value">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="List of Phred-scaled genotype likelihoods">
#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT  cam10.sorted.bam
MAL1    265854  .       T       C       6.2     .       DP=37;VDB=2.699794e-03;RPB=-2.646189e+00;AF1=0.4999;AC1=1;DP4=5,3,9,0;MQ=36;FQ=8.65;PV4=0.082,2.4e-10,0.18,0.37 GT:PL:DP:SP:GQ  0/1:35,0,127:17:11:36

参考:http://www.iwhgao.com/?p=1304

https://en.wikipedia.org/wiki/Variant_Call_Format

@SQ     SN:MAL1 LN:643292
@SQ     SN:MAL10        LN:1687655
@SQ     SN:MAL11        LN:2038337
@SQ     SN:MAL12        LN:2271477
@SQ     SN:MAL13        LN:2895605
@SQ     SN:MAL14        LN:3291871
@SQ     SN:MAL2 LN:947102
@SQ     SN:MAL3 LN:1060087
@SQ     SN:MAL4 LN:1204112
@SQ     SN:MAL5 LN:1343552
@SQ     SN:MAL6 LN:1418244
@SQ     SN:MAL7 LN:1501717
@SQ     SN:MAL8 LN:1419563
@SQ     SN:MAL9 LN:1541723
@PG     ID:bwa  PN:bwa  VN:0.7.12-r1039 CL:/export/common/programs/bwa-0.7.12 samse -f cam10.sam 3D7.version2.1.4.fasta cam10.sai cam10.fastq
IL38_2670:1:42:1707:2025        16      MAL1    153717  0       54M     *       0       0       AAAAAAAAAAAAAAAAGAAAAAAAGAACAAAAAAAAAAAAAAAAAAAAAAAAAG  @>@A?9=---9<9==)(299?<A,A+*=*;+4?=<--=/=B0A-99;;22+))(  XT:A:R  NM:i:2  X0:i:3  X1:i:2  XM:i:2  XO:i:0  XG:i:0  MD:Z:27A17G8

 


参考:

https://blog.csdn.net/Doris_xixi/article/details/80935603

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DrugAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值