天天看點

fastq、fasta、sam資料格式FastQfastq與fastaSAM

FastQ

FASTQ是一種存儲了生物序列(通常是核酸序列)以及相應的品質評價的文本格式。

它們都是以ASCII編碼的。現在幾乎是高通量測序的标準格式。

fastq格式是生物資訊分析中最常見的格式之一

  • 通常我們可以将測序的資料分為

    雙端測序

    單端測序

    雙端測序的資料含有兩個fastq格式的檔案,單端測序的資料隻有一個fastq格式的檔案

    fastq格式的檔案詳解如下圖:

    主要分為四行

  • 第一行是用來區分不同reads的一個ID号,一般以

    @

    符号開頭,這一行是用來區分不同的

    reads

    ,而這一行本身包含了很多的資訊。
  1. Read Record Header
  2. Flow Cell ID
  3. Lane
  4. Tile
  5. Tile Coordinates
  6. Barcode
  • 第二行是測序的序列,也就是reads的序列
  • 第三行一般是一個

    +

    号,或者與第一行的資訊相同
  • 第四行是堿基品質值,是對第二行序列的堿基的準确性的描述,一個堿基會對應一個堿基品質值,是以這一行和第二行長度是一樣的,如果不一樣就說明資料有問題
    fastq、fasta、sam資料格式FastQfastq與fastaSAM

fastq與fasta

一、關于Fastq

FASTQ是基于文本的,儲存生物序列(通常是核酸序列)和其測序品質資訊的标準格式。其序列以及品質資訊都是使用一個ASCII字元标示,最初由Sanger開發,目的是将FASTA序列與品質資料放到一起,目前已經成為高通量測序結果的事實标準。

二、Fastq的格式

FASTQ檔案中每個序列通常有四行:第一行,序列辨別以及相關的描述資訊,以‘@’開頭;第二行是序列;第三行以‘+’開頭,後面是序列标示符、描述資訊,或者什麼也不加;第四行,是品質資訊,和第二行的序列相對應,每一個序列都有一個品質評分,根據評分體系的不同,每個字元的含義表示的數字也不相同。

例如

@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
+
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
           

三、關于Fasta

Fasta格式也稱為Pearson格式,是一種基于文本用于表示核苷酸序列或氨基酸序列的格式。在這種格式中堿基對或氨基酸用單個字母來編碼,且允許在序列前添加序列名及注釋。

四、Fasta格式

Fasta格式首先以大于号“>”開頭,接着是序列的辨別符;換行後是序列的描述資訊。換行後是序列資訊,檔案每行的字母一般不應超過80個字元。序列中允許存在空格,換行,空行,直到下一個大于号或檔案結束,表示該序列的結束。

>gi|46575915|ref|NM_008261.2| Mus musculus hepatic nuclear factor 4, alpha (Hnf4a), mRNA
GGGACCTGGGAGGAGGCAGGAGGAGGGCGGGGACGGGGGGGGCTGGGGCTCAGCCCAGGGGCTTGGGTGG
CATCCTGGGCCGGGCAGGACAGGGGGCTAAGGCGTGGGTAGGGGAGAATGCGACTCTCTAAAACCCTTGC
CGGCATGGATATGGCCGACTACAGCGCTGCCCTGGACCCAGCCTACACCACCCTGGAGTTTGAAAATGTG
CAGGTGTTGACCATGGGCAATGACACGTCCCCATCTGAAGGTGCCAACCTCAATTCATCCAACAGCCTGG
GCGTCAGTGCCCTGTGCGCCATCTGTGGCGACCGGGCCACCGGCAAACACTACGGAGCCTCGAGCTGTGA
CGGCTGCAAGGGGTTCTTCAGGAGGAGCGTGAGGAAGAACCACATGT
           

SAM

SAM格式,是一種用于存儲測序序列比對結果的通用格式,以TAB為分割符。SAM格式的設計理念是:靈活存儲所有比對資訊。SAM一般為11列以上,其中前11列為已定義列,12列及以後為可選列,算附加資訊。

由于測序分兩種:單端測序(Single-read)和雙端測序(Paired-end和Mate-pair)。下文SAM格式中read表示Single-read或Paired-end Read1序列,mate表示Paired-end Read2序列。

  1. 第一列:read name,read的名字通常包括測序平台等資訊;
  2. 第二列:sum of flags,比對flag數字之和,比對flag用數字表示,分别為:
  • 0 read是Single-read且正向比對
  • 1 read是pair中的一條(read表示本條read,mate表示pair中的另一條read)
  • 2 pair一正一負完美的比對上
  • 4 這條read沒有比對上
  • 8 mate沒有比對上
  • 16 這條read反向比對
  • 32 mate反向比對
  • 64 這條read是read1
  • 128 這條read是read2
  • 256 第二次比對
  • 512 比對品質不合格
  • 1024 read是PCR或光學副本産生
  • 2048 輔助比對結果

    通過這個和可以直接推斷出比對的情況。假如說标記不是以上列舉出的數字,比如說83=(64+16+2+1),就是這幾種情況值和。

  1. 第三列:RNAM,reference sequence name,實際上就是比對到參考序列上的染色體号。若是無法比對,則是*;
  2. 第四列:position,read比對到參考序列上,第一個堿基所在的位置。若是無法比對,則是0;
  3. 第五列:Mapping quality,比對的品質分數,越高說明該read比對到參考基因組上的位置越唯一;
  4. 第六列:CIGAR值,read比對的具體情況,
  • “M”表示 match或 mismatch;
  • “I”表示 insert;
  • “D”表示 deletion;
  • “N”表示 skipped(跳過這段區域);
  • “S”表示 soft clipping(被剪切的序列存在于序列中);
  • “H”表示 hard clipping(被剪切的序列不存在于序列中);
  • “P”表示 padding;
  • “=”表示 match;
  • “X”表示 mismatch(錯配,位置是一一對應的);
  1. 第七列:MRNM(chr),mate的reference sequence name,實際上就是mate比對到的染色體号,若是沒有mate,則是*;
  2. 第八列:mate position,mate比對到參考序列上的第一個堿基位置,若無mate,則為0;
  3. 第九列:ISIZE,Inferred fragment size.詳見Illumina中paired end sequencing 和 mate pair sequencing,是負數,推測應該是兩條read之間的間隔(待查證),若無mate則為0;
  4. 第十列:Sequence,就是read的堿基序列,如果是比對到互補鍊上則是reverse completed eg. CGTTTCTGTGGGTGATGGGCCTGAGGGGCGTTCTCN
  5. 第十一列:ASCII,read品質的ASCII編碼。
  6. 第十二列之後:Optional fields,可選的自定義區域
  • AS:i 比對的得分
  • XS:i 第二好的比對的得分
  • YS:i mate 序列比對的得分
  • XN:i 在參考序列上模糊堿基的個數
  • XM:i 錯配的個數
  • XO:i gap open的個數
  • XG:i gap 延伸的個數
  • NM:i 經過編輯的序列
  • YF:i 說明為什麼這個序列被過濾的字元串
  • MD:Z 代表序列和參考序列錯配的字元串(例如MD:Z:45A2C3 失配堿基的位點,45,45+2兩個位點失配)
  • XT:A:U read隻有一個完整比對,U unique
  • XT:A:R read有一個以上位置完整比對,R repeat
  • NM:i:2 read有2個堿基mismatch
  • X0:i:2 read有2個位置完整比對(與XT:A有對應關系)
  • X1:i:2 read有2個位置以1個堿基失配比對
  • XA:Z:Chr3,+1530, 50M,0;Chr4,-7568,50M,1 有0/1個堿基失配的詳細比對情況(與XT:A、X0:i、X1:i有對應關系)

參考連結:

https://blog.csdn.net/u014182497/article/details/51691743

https://www.jianshu.com/p/a9deb1adb5a6

https://www.cnblogs.com/emanlee/p/5366610.html