MAF文件格式

參考:UCSC中對(duì)數(shù)據(jù)格式的說明
本文所描述的是用于記錄序列多重比對(duì)信息的multiple alignment format格式,另外還有一種記錄腫瘤單細(xì)胞突變注釋信息的MAF格式叫做mutation annotation format,請(qǐng)注意區(qū)分。后一種MAF格式可以參考這篇文章

MAF(multiple alignment format,多重序列比對(duì)格式)存儲(chǔ)一系列多重序列比對(duì)結(jié)果(multiple alignment), 并保證易解析和相對(duì)易讀。這一格式在全基因組DNA水平上存儲(chǔ)不同來(lái)源的多重序列比對(duì)。先前的格式適合單個(gè)蛋白質(zhì)或一段沒有重排的DNA區(qū)域的多重序列比對(duì)結(jié)果,但是需要相當(dāng)大的額外開銷來(lái)處理基因組問題,例如正向和反向鏈方向、多個(gè)片段的排列等等。

零、一般結(jié)構(gòu)

.maf格式是一種面向行的文本格式。每個(gè)多重比對(duì)(multiple alignment)均與參考基因組行對(duì)齊,并以一個(gè)空行結(jié)束。一個(gè)比對(duì)(alignment)中的每個(gè)序列都在一行內(nèi),這一行的長(zhǎng)度可能很長(zhǎng),沒有長(zhǎng)度限制。行中的單詞(Words)由任何空格分隔。以#開頭的行被視為注釋。以##開頭的行可以被大多數(shù)程序忽略,但包含某種形式的元數(shù)據(jù)。

文件分為多個(gè)段落,段落之間以空行隔開。在段落中,一行的第一個(gè)字表示其類型。每個(gè)多重比對(duì)都在一個(gè)單獨(dú)的段落中,該段落以“a”行開始,并包含多重對(duì)齊中每個(gè)序列的“s”行。第一個(gè)序列必須是其余序列映射的參考基因組。某些MAF文件可能包含其他可選行類型:

  • 一個(gè)"i"行,包含前一個(gè)“s”行前后對(duì)齊物種DNA中的信息
  • 一個(gè)"e"行,包含跨越當(dāng)前塊的路線之間間隙大小的信息
  • 一個(gè)"q"行,指明物種中已比對(duì)堿基的質(zhì)量

解析器可能會(huì)忽略其它類型的段落和一個(gè)比對(duì)段落中其他類型的行。

一、自定義軌跡(Custom Tracks)

一個(gè)自定義MAF 軌跡的首行必須是一個(gè)“軌跡”(track)行,包含一個(gè)name=value的組合,以標(biāo)明軌跡的名字。下面是一個(gè)簡(jiǎn)單示例:

track name=sample

下面這些變量可以在一個(gè)自定義MAF中指定一個(gè)軌跡行:

  • name=sample - 必需。標(biāo)明一個(gè)Track的名字
  • description="Sample Track" - 可選。為軌跡指定一個(gè)長(zhǎng)名稱。
  • frames=multiz28wayFrames - 可選。告訴瀏覽器從哪個(gè)表中獲取基因幀。這通常與名稱以“Frames”結(jié)尾的N-way比對(duì)相關(guān)聯(lián)。
  • mafDot=on - 可選。當(dāng)堿基相同時(shí),用句點(diǎn)"."代替堿基名稱。
  • visibility=dense|pack|full - 可選。設(shè)置此軌跡的默認(rèn)可見性模式。
  • speciesOrder="hg18 panTro2" - 可選。用空格分隔的一個(gè)列表,指定maf中序列的顯示順序。

自定義MAF軌跡的第二行必須是一個(gè)標(biāo)頭(header)行,其格式如下所述:

二、標(biāo)頭行(header line)

一個(gè).maf文件的第一行以##maf開頭,其后會(huì)跟上一些形如variable=value的變量組合,組合之間以空格分隔開,等號(hào)左右不能有空格。

##maf version=1 scoring=tba.v8

已經(jīng)明確定義的變量包括:

  • version - 必需。maf文件的版本號(hào),當(dāng)前設(shè)置為1。
  • scoring - 可選。用于序列比對(duì)的評(píng)分方案的名稱。當(dāng)前的評(píng)分方案是:
    • bit - 大致對(duì)應(yīng)于blast bit values(每個(gè)匹配的堿基大約是2分,再減去錯(cuò)配和插入的罰分)
    • blastz - blastz評(píng)分方案——每個(gè)比對(duì)堿基大約100分
    • probability - 一些經(jīng)過歸一化的分?jǐn)?shù),值域?yàn)?到1
  • program - 可選。產(chǎn)生此序列比對(duì)結(jié)果的軟件名稱。

其他未定義的變量會(huì)被解析器忽略。

標(biāo)頭行后面通常是注釋行(以#開頭),用于描述用于運(yùn)行序列比對(duì)程序的參數(shù)。例如:

# tba.v8 (((human chimp) baboon) (mouse rat))

三、序列比對(duì)區(qū)塊行(Alignment Block Lines)

這些行以字母"a"開頭,這個(gè)字母用于指明一個(gè)新的序列比對(duì)區(qū)塊的開始

a score=23262.0

每個(gè)比對(duì)以"a"行開始,這一行中對(duì)整個(gè)比對(duì)區(qū)塊的變量進(jìn)行了設(shè)定。"a"之后跟隨一些variable=value的變量組合,這些變量組合并不是必需的。已經(jīng)明確定義的變量包括:

  • score - 可選。以浮點(diǎn)數(shù)表示的分?jǐn)?shù),如果其存在,最好在第一行定義一下scoring變量。
  • pass - 可選。一個(gè)正整數(shù)。對(duì)于執(zhí)行多遍比對(duì)的程序(如blastz),這將顯示該比對(duì)結(jié)果來(lái)自哪一遍。通常,這些程序的第1遍比對(duì)(pass=1)將在全基因組范圍內(nèi)找到最強(qiáng)的比對(duì),第2遍比對(duì)(pass=2)將在兩個(gè)第一遍比對(duì)之間找到較弱的比對(duì)。

(一)、以"s"開頭的行——一個(gè)比對(duì)區(qū)塊中的序列

s hg16.chr7    27707221 13 + 158545518 gcagctgaaaaca
s panTro1.chr6 28869787 13 + 161576975 gcagctgaaaaca
s baboon         249182 13 +   4622798 gcagctgaaaaca
s mm4.chr6     53310102 13 + 151104725 ACAGCTGAAAATA

"s"行與"a"行一起定義了多重比對(duì)。第一個(gè)"s"行必須是參考基因組,在上面的例子中是hg16。"s"行具有由位置決定的以下字段(從左到右依次為src、start、size、strand、srcSize、text)。

  • src - 序列來(lái)源(物種名稱)。對(duì)于駐留在瀏覽器程序集中的序列,"database.chromosome"表單允許自動(dòng)創(chuàng)建到其他程序集的鏈接。非瀏覽器來(lái)源的序列通常僅通過物種名稱進(jìn)行引用。
  • start - 比對(duì)區(qū)域在源序列中的起始位置,這個(gè)位置從0開始計(jì)數(shù)。如果strand字段(見下文)為"-",則這是相對(duì)于反向互補(bǔ)的源序列的起點(diǎn)(參見坐標(biāo)變換)。
  • size - 比對(duì)區(qū)域在源序列中的長(zhǎng)度。此數(shù)字等于下面序列比對(duì)文本字段中的非短杠字符(non-dash characters)的數(shù)量。
  • strand - 只可以是"+"或"-"中的一種。如果是"-",則表明序列是反向比對(duì)到源序列上的。
  • srcSize - 整個(gè)源序列的完整大小,不僅僅是當(dāng)前這條比對(duì)序列的長(zhǎng)度。
  • text - 比對(duì)序列的內(nèi)容,包括堿基/氨基酸殘基,以及用短杠代表的插入。

(二)、以"i"開頭的行——一些信息,關(guān)于在當(dāng)前物種中,在這個(gè)序列比對(duì)區(qū)塊之前和之后發(fā)生的事件信息

s hg16.chr7    27707221 13 + 158545518 gcagctgaaaaca
s panTro1.chr6 28869787 13 + 161576975 gcagctgaaaaca
i panTro1.chr6 N 0 C 0
s baboon         249182 13 +   4622798 gcagctgaaaaca
i baboon       I 234 n 19 

"i"行包含關(guān)于緊接在它們之前的序列行的上下文的信息。以下字段由位置定義:

  • src - 序列來(lái)源(物種名稱)。與本行前面的第一個(gè)"s"行的src字段應(yīng)當(dāng)一致。
  • leftStatus - 一個(gè)字符,指定此塊中的序列與前一個(gè)區(qū)塊中出現(xiàn)的序列之間的關(guān)系
  • leftCount - 通常是在本序列開始位置和前一個(gè)區(qū)塊中序列的結(jié)束位置之間的堿基數(shù),表示兩個(gè)區(qū)塊之間跳過了多少個(gè)堿基對(duì)。如果是0,則說明這個(gè)區(qū)塊和前一個(gè)區(qū)塊是緊挨著的。
  • rightStatus - 一個(gè)字符,指定此塊中的序列與后一個(gè)區(qū)塊中出現(xiàn)的序列之間的關(guān)系
  • rightCount - 通常是在本序列開始位置和后一個(gè)區(qū)塊中序列的結(jié)束位置之間的堿基數(shù),表示兩個(gè)區(qū)塊之間跳過了多少個(gè)堿基對(duì)。如果是0,則說明這個(gè)區(qū)塊和后一個(gè)區(qū)塊是緊挨著的。

其中,所有的狀態(tài)字符(status characters)可以取下列的值之一:

  • C - 前一個(gè)區(qū)塊或后一個(gè)區(qū)塊中的序列和本序列連續(xù)
  • I - 前一個(gè)區(qū)塊或后一個(gè)區(qū)塊中的序列和本序列中間跳過了一些堿基
  • N - 這是源序列或測(cè)序支架(scaffold)的起始序列
  • n - 這是源序列或測(cè)序支架(scaffold)的起始序列,但是它被來(lái)自不同染色體(chrom)或支架(scaffold)的另一個(gè)序列比對(duì)所橋接(bridge)。
  • M - 本區(qū)塊之前或之后存在缺失數(shù)據(jù)(即序列中的"N"字符)。
  • T - 本區(qū)塊中的序列被之前的區(qū)塊用過了(例如串聯(lián)重復(fù)那樣)

(三)、以"e"開頭的行——序列比對(duì)區(qū)塊中,空白部分的信息

s hg16.chr7    27707221 13 + 158545518 gcagctgaaaaca
e mm4.chr6     53310102 13 + 151104725 I 

"e"行表示在本區(qū)塊中,本物種沒有DNA序列信息,但當(dāng)前的區(qū)塊需要承接前一個(gè)區(qū)塊并連接后一個(gè)區(qū)塊,因此使用"e"行進(jìn)行占位。
是由連接該區(qū)塊前后的區(qū)塊的鏈連接起來(lái)的。"e"行具有由位置決定的以下字段(與"s"行類似):

  • src - 序列來(lái)源(物種名稱)。
  • start - 比對(duì)區(qū)域在源序列中的起始位置,這個(gè)位置從0開始計(jì)數(shù)。如果strand字段(見下文)為"-",則這是相對(duì)于反向互補(bǔ)的源序列的起點(diǎn)(參見坐標(biāo)變換)。
  • size - 比對(duì)區(qū)域在源序列中的長(zhǎng)度。此數(shù)字等于下面序列比對(duì)文本字段中的非短杠字符(non-dash characters)的數(shù)量。
  • strand - 只可以是"+"或"-"中的一種。如果是"-",則表明序列是反向比對(duì)到源序列上的。
  • srcSize - 整個(gè)源序列的完整大小,不僅僅是當(dāng)前這條比對(duì)序列的長(zhǎng)度。
  • status - 一個(gè)字符,指定此塊中的非比對(duì)序列(non-aligning sequence)與前一塊和后一塊中出現(xiàn)的序列之間的關(guān)系。

其中,status字符可以取下列數(shù)值之一:

  • C - 前一個(gè)區(qū)塊或后一個(gè)區(qū)塊中的序列是連續(xù)的。這意味著在本物種中這一區(qū)塊所對(duì)應(yīng)的序列出現(xiàn)了丟失,或者是在參考基因組中,這一段序列出現(xiàn)了插入。在基因組瀏覽器中,這一段序列會(huì)以一系列"-"或單線表示,以表明這是缺失序列。
  • I - 本物種中這一區(qū)塊內(nèi),存在未對(duì)齊堿基(non-aliging bases),而本區(qū)塊之前和之后的序列是對(duì)齊的。在基因組瀏覽器中,這一段序列會(huì)以一系列"="或雙線表示。
  • M - 本物種中這一區(qū)塊內(nèi),存在未對(duì)齊堿基(non-aliging bases),并且90%以上是缺失值(即序列中的"N"字符)。在基因組瀏覽器中,這一段序列會(huì)以一個(gè)黃色的條帶表示。
  • n - 本物種中這一區(qū)塊內(nèi),存在未對(duì)齊堿基(non-aliging bases),而接下來(lái)的配對(duì)區(qū)塊中,會(huì)從一個(gè)新的染色體或支架(scaffold)開始,并可以橋接到其他的區(qū)塊上?;蚪M瀏覽器會(huì)以"-"或"="繪制這一區(qū)域的序列,取決于兩個(gè)橋接的配對(duì)序列中間的間隔(gap)的堿基數(shù)

(四)、以"q"開頭的行——本物種中每個(gè)配對(duì)堿基的質(zhì)量

s hg18.chr1                  32741 26 + 247249719 TTTTTGAAAAACAAACAACAAGTTGG
s panTro2.chrUn            9697231 26 +  58616431 TTTTTGAAAAACAAACAACAAGTTGG
q panTro2.chrUn                                   99999999999999999999999999
s dasNov1.scaffold_179265     1474  7 +      4584 TT----------AAGCA---------
q dasNov1.scaffold_179265                         99----------32239--------- 

"q"行包含實(shí)際的原始質(zhì)量數(shù)據(jù)的壓縮版本,使用數(shù)字0-9或字符"F"表示單個(gè)堿基的質(zhì)量。"q"行具有由位置決定的以下字段:

  • src - 序列來(lái)源(物種名稱)。與本行前面的第一個(gè)"s"行的src字段應(yīng)當(dāng)一致。
  • value - MAF質(zhì)量數(shù)值,每個(gè)字符均與前面的"s"行中的堿基一一對(duì)應(yīng),對(duì)于"s"行中的插入突變(以"-"表示),在"q"行中也用短杠"-"表示。質(zhì)量值可以是"F"(表示完成的序列,“finished sequence”),或者對(duì)應(yīng)于是實(shí)際質(zhì)量分?jǐn)?shù)(0-97)或手動(dòng)分配(manually assigned)得到的質(zhì)量分?jǐn)?shù)(=98)的一個(gè)數(shù)字。MAF質(zhì)量數(shù)值的計(jì)算方法如下:
MAF quality value = min( floor(actual quality value/5), 9 )

依據(jù)這個(gè)方程,我們可以得到實(shí)際質(zhì)量分?jǐn)?shù)和MAF質(zhì)量數(shù)值的映射關(guān)系:

MAF質(zhì)量數(shù)值 原始質(zhì)量分?jǐn)?shù) 質(zhì)量級(jí)別
0-8 0-44
9 45-97
0 98 手動(dòng)分配(manually assigned)
F 99 完成的序列(finished)

四、一個(gè)簡(jiǎn)單的示例

以下是一個(gè)簡(jiǎn)單的示例,包含3個(gè)序列比對(duì)區(qū)塊,這些序列來(lái)自5條起始序列(starting sequences)。第一個(gè)軌跡行(track line)對(duì)于自定義軌跡(custom tracks)是必需的,但是在其他情況下應(yīng)當(dāng)被刪除。序列中的重復(fù)以小寫字母顯示,并且每個(gè)區(qū)塊可能具有一個(gè)輸入序列的子集。所有序列的列和行必須至少包含一個(gè)核苷酸(也就是說,每一列或每一行不可以只由一個(gè)插入組成,即每一行或每一列不可以全是"-"字符)。

track name=euArc visibility=pack
##maf version=1 scoring=tba.v8 
# tba.v8 (((human chimp) baboon) (mouse rat)) 
                   
a score=23262.0     
s hg18.chr7    27578828 38 + 158545518 AAA-GGGAATGTTAACCAAATGA---ATTGTCTCTTACGGTG
s panTro1.chr6 28741140 38 + 161576975 AAA-GGGAATGTTAACCAAATGA---ATTGTCTCTTACGGTG
s baboon         116834 38 +   4622798 AAA-GGGAATGTTAACCAAATGA---GTTGTCTCTTATGGTG
s mm4.chr6     53215344 38 + 151104725 -AATGGGAATGTTAAGCAAACGA---ATTGTCTCTCAGTGTG
s rn3.chr4     81344243 40 + 187371129 -AA-GGGGATGCTAAGCCAATGAGTTGTTGTCTCTCAATGTG
                   
a score=5062.0                    
s hg18.chr7    27699739 6 + 158545518 TAAAGA
s panTro1.chr6 28862317 6 + 161576975 TAAAGA
s baboon         241163 6 +   4622798 TAAAGA 
s mm4.chr6     53303881 6 + 151104725 TAAAGA
s rn3.chr4     81444246 6 + 187371129 taagga

a score=6636.0
s hg18.chr7    27707221 13 + 158545518 gcagctgaaaaca
s panTro1.chr6 28869787 13 + 161576975 gcagctgaaaaca
s baboon         249182 13 +   4622798 gcagctgaaaaca
s mm4.chr6     53310102 13 + 151104725 ACAGCTGAAAATA 

參考:UCSC中對(duì)數(shù)據(jù)格式的說明

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容