1. 程式人生 > >sam檔案格式簡介

sam檔案格式簡介

簡介
檔案字尾名:.sam


bwa、Bowtie2是現下最流行的短序列比對軟體,SAM(Sequence Alignment/Map)格式是一種通用的比對格式,用來儲存reads到參考序列的比對資訊。
SAM是一種序列比對格式標準,由sanger制定,是以TAB為分割符的文字格式。主要應用於測序序列mapping到基因組上的結果表示,當然也可以表示任意的多重比對結果。
不同的軟體,不同的時期,不同的研究方向,都會建立一種或者多種格式標準,當然根據當時的需要,建立符合需求的標準,也是最容易的事情,而反過來想要真正的理解標準,也必須理解為什麼要建立這樣的標準,解決什麼樣的需要。我前面的有篇文章已經對於現有的多重比對的格式進行總結,但其更多的站在比較基因組學的角度。當我們去了解sam標準格式是什麼的時候,就要思考既然以及有了這麼多得標準,為什麼還要定義SAM標準,當然拿所有的格式進行比較也並非易事,但是簡單的對比,就可以瞭解其中一二,比如aln格式,是比對檢視化的展示,儲存的資訊不夠結構化,無法方便的作為另外程式的輸入;表示資訊的有限性,如果100個多重比對序列放到一個檔案中,檢視維護就會非常困難;還有些格式標準挺強大,但是太繁瑣,同時不夠靈活。那麼反過來就是SAM格式的優點,那麼SAM如何做到這一點的呢?


SAM要處理好的問題:


1. 非常多序列(read),mapping到多個參考基因組(reference)上;
2. 同一條序列,分多段(segment)比對到參考基因組上;
3. 無限量的,結構化資訊表示,包括錯配、刪除、插入等比對資訊;
行、列、註釋說明
SAM分為兩部分,註釋資訊(header section)和比對結果部分(alignment section)。
行:除註釋外,每一行是一個read
註釋資訊可有可無,都是以@開頭,用不同的tag表示不同的資訊,主要有:


[email protected]
,說明符合標準的版本、對比序列的排列順序;
[email protected],參考序列說明;
[email protected],比對上的序列(read)說明;
[email protected],使用的程式說明;
[email protected],任意的說明資訊。
比對結果部分(alignment section),每一行表示一個片段(segment)的比對資訊,包括11個必須的欄位(mandatory fields)和一個可選的欄位,欄位之間用tag分割。必須的欄位有11個,順序固定,不可用時,根據欄位定義,可以為’0’或者’*’,這是11個欄位包括:


1. QNAME    比對片段的(template)的編號;read name,read的名字通常包括測序平臺等資訊
# eg.ILLUMINA-379DBF:1:1:3445:946#0/1
2. FLAG     位標識,template mapping情況的數字表示,每一個數字代表一種比對情況,這裡的值是符合情況的數字相加總和;flag取值見備註(3)
# eg.16
3. RNAME    參考序列的編號,如果註釋中對SQ-SN進行了定義,這裡必須和其保持一致,另外對於沒有mapping上的序列,這裡是'*';
# eg.chr1
4. POS      比對上的位置,注意是從1開始計數,沒有比對上,此處為0;
# eg.36576599
5. MAPQ     mappint的質量,,比對的質量分數,越高說明該read比對到參考基因組上的位置越唯一;
# eg.42
6. CIGAR    簡要比對資訊表示式(Compact Idiosyncratic Gapped Alignment Report),其以參考序列為基礎,使用數字加字母表示比對結果,match/mismatch、insertion、deletion 對應字母 M、I、D。比如3S6M1P1I4M,前三個鹼基被剪下去除了,然後6個比對上了,然後打開了一個缺口,有一個鹼基插入,最後是4個比對上了,是按照順序的;
# eg.36M 表示36個鹼基在比對時完全匹配


###注:第七列到第九列是mate(備註1)的資訊,若是單末端測序這幾列均無意義###


7. RNEXT    下一個片段(即mate)比對上的參考序列的編號,沒有另外的片段,這裡是'*',同一個片段,用'=';
# eg.*
8. PNEXT    下一個片段(即mate)比對到參考序列上的第一個鹼基位置,若無mate,則為0;
# eg.0
9. TLEN     Template的長度,最左邊得為正,最右邊的為負,中間的不用定義正負,不分割槽段(single-segment)的比對上,或者不可用時,此處為0(ISIZE,Inferred fragment size.詳見Illumina中paired end sequencing 和 mate pair sequencing,是負數,推測應該是兩條read之間的間隔(待查證),若無mate則為0);
# eg.0
10. SEQ     序列片段的序列資訊,如果不儲存此類資訊,此處為'*',注意CIGAR中M/I/S/=/X對應數字的和要等於序列長度;
# eg.CGTTTCTGTGGGTGATGGGCCTGAGGGGCGTTCTCN
11. QUAL    序列的質量資訊,read質量的ASCII編碼。,格式同FASTQ一樣。
# eg.PY[[YY_______________QQQQbILKIGEFGKB
12.第十二列之後:Optional fields,以tab建分割。詳見備註(2)
# eg.AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:35T0 YT:Z:UU
可選欄位(optional fields),格式如:TAG:TYPE:VALUE,其中TAG有兩個大寫字母組成,每個TAG代表一類資訊,每一行一個TAG只能出現一次,TYPE表示TAG對應值的型別,可以是字串、整數、位元組、陣列等。


要注意的幾個概念,以及與之對應的模型:


·   reference
·   read
·   segment
·   template(參考序列和比對上的序列共同組成的序列為template)
·   alignment

·   seq

擴充套件
備註
(1)mate,在Illuminated中有兩種測序技術:paired end sequencing,mate pair sequencing。這兩種測序都是測的一個片段的兩端,這兩端產生的reads被稱為mate1,mate2,單末端測序則無mate。


(2)Optional fields:


AS:i:<N>
    Alignment score.可以為負的,在local下可以為正的。 只有當Align≥1 time才出現
XS:i:<N>
    Alignment score for second-best alignment.  當Align>1 time出現
YS:i:<N>
    Alignment score for opposite mate in the paired-end alignment.   當該read是雙末端測序中的一條時出現
XN:i:<N>
    The number of ambiguous bases in the reference covering this alignment.(推測是指不知道錯配發生在哪個位置,推測是針對於插入和缺失,待查證)
XM:i:<N>
    錯配鹼基的數目
XO:i:<N>
    The number of gap opens(針對於比對中的插入和缺失)
XG:i:<N>
    The number of gap extensions(針對於比對中的插入和缺失)
NM:i:<N>
    The edit distance(read string轉換成reference string需要的最少核苷酸的edits:插入/缺失/替換)
YF:Z:<S>
    該reads被過濾掉的原因。可能為LN(錯配數太多,待查證)、NS(read中包含N或者.)、SC(match bonus低於設定的閾值)、QC(failing quality control,待證)
YT:Z:<S>
    值為UU表示不是pair中一部分(單末端?)、CP(是pair且可以完美匹配)
    DP(是pair但不能很好的匹配)、UP(是pair但是無法比對到參考序列上)
MD:Z:<S>
    比對上的錯配鹼基的字串表示
(3)flag取值


0:比對到參考序列的正鏈上(待求證)
1:是paired-end或mate pair中的一條
2:雙末端比對的一條
4:沒有比對到參考序列上
8:是paired-end或mate pair中的一條,且無法比對到參考序列上
16:比對到參考序列的負鏈上
32:雙末端reads的另一條(mate)比對到參考序列的負鏈上
64:這條read是mate 1
128:這條read是mate 2
參考:
SAM的定義:
SAM1.pdf
samtools:
samtools
發表的文獻:
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2723002/
CIGAR的概念
http://asia.ensembl.org/common/Help/Glossary?db=core
一篇部落格對於sam的解釋
博耘生物
SAM格式-Bowtie2
http://davetang.org/wiki/tiki-index.php?page=SAM
perl模組
http://search.cpan.org/~lds/Bio-SamTools/lib/Bio/DB/Sam.pm

相關推薦

sam檔案格式簡介

簡介 檔案字尾名:.sam bwa、Bowtie2是現下最流行的短序列比對軟體,SAM(Sequence Alignment/Map)格式是一種通用的比對格式,用來儲存reads到參考序列的比對資訊。 SAM是一種序列比對格式標準,由sanger制定,是以TAB為分割符的文

SAM檔案格式詳解

生物資訊上的東西,由於發展的時間不長,所以各種標準都不算是廣泛傳播。 尤其是檔案格式之類的,中文版的資料很少,不少英文版的說明也不是很清晰。 這裡對SAM格式進行一下解釋,希望對新人有所幫助。 如下是SAM檔案中的一行 FCC0YG3ACXX:2:1

GZIP檔案格式簡介

由於最近用到了gzip格式相關的東西,所以網上找找可用的資料。 本文轉帖自:http://blog.chinaunix.net/u/22878/showart_374215.html GZIP最早由Jean-loup Gailly和Mark Adler建立,用於UNIX系統

HDR檔案格式簡介

1、HDR簡介    HDR的全稱是High-Dynamic Range(高動態範圍)。在此,我們先解釋一下什麼是Dynamic Range(動態範圍),動態範圍是指影象中所包含的從“最亮”至“最暗”的比值,也就是影象從“最亮”到“最暗”之間灰度劃分的等級數;動態範圍越大,所能表示的層次越豐富,所包含的色彩空

Sam&bam檔案格式詳解

在SAM輸出的結果中每一行都包括十二項通過Tab分隔(\t),從左到右分別是:1 QNAME,序列的名字(Read的名字)2 FLAG, 概括出一個合適的標記,各個數字分別代表1     序列是一對序列中的一個2     比對結果是一個pair-end比對的末端4     沒有找到位點8     這個序列是p

bam(sam格式檔案轉化為fasta格式

bam2fasta的轉變方式: samtools view input.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > output.fasta sam2fasta的轉變方式 cat *.sam | awk '{pri

編碼格式簡介:ASCII碼、ANSI、GBK、GB2312、GB18030和Unicode、UTF-8,BOM頭

family 用兩個 圖片 and 正是 全球化 asc 即使 little 編碼格式簡介:ASCII碼、ANSI、GBK、GB2312、GB18030和Unicode、UTF-8,BOM頭 二進制: 只有0和1。 十進制、十六進制、八進制: 計算機其實挺笨的,它只

sam/bam格式

html 監控 ali .com ati 變異 roc too 序列 一)Sam (Sequence Alignment/Map) ------------------------------------------------- 1) SAM 文件產生背景 隨著Illum

py3學習-----編碼格式簡介

兩個 -- ascii 一個 字節 格式 使用 防止亂碼 utf-8 ascii:英文8位一個字節; unicode:英文32位四個字節;中文32位四個字節; utf-8:英文8位一個字節;中文24位三個字節; gbk:英文8位一個字節;中文16位兩個字節; 1.各個編碼之

hive:資料型別及檔案格式

Hive的資料型別     Hive 提供了基本資料型別和複雜資料型別 1.1 原始資料型別 整型 TINYINT — 微整型,只佔用1個位元組,只能儲存0-255的整數。 SMALLINT– 小整型,佔用2個位元組,儲存範圍–327

ini檔案格式

ini檔案定義 https://en.wikipedia.org/wiki/INI_file The INI file format is an informal standard for configuration files for some platforms or software. INI

MATLAB對ply檔案格式的讀取和顯示

轉自:https://blog.csdn.net/lafengxiaoyu/article/details/60574150 在網上搜索這個題目可以找到一些類似的文章,其來源大致都是http://people.sc.fsu.edu/~jburkardt/m_src/ply_io/ply_io.h

如何利用winrar製作自解壓,自動執行檔案格式的壓縮包

操作提前:電腦安裝WinRAR軟體。 將用來製作的資料放在資料夾內,然後用Ctrl+A全選該資料夾下的檔案。 單擊滑鼠右鍵,然後選擇“新增到壓縮檔案”選項。 在開啟的對話方塊“常規”選項卡中,單擊“壓縮方式”下拉框選擇合適的壓縮方式,並將壓縮選項下的“建立自解壓格式壓縮檔案”選項勾選,這時候會發現“

3d列印模型為什麼檔案格式必須是stl和stp的?

https://www.sohu.com/a/197115674_425589   3D列印需要有3D立體圖,3D立體圖有很多格式,不同的軟體做出來的格式是不同的。比如常見的3D列印格式有:STL、STP、IGS、OBJ、BREP、MAX、3DM、3DS、X_T、SKP、SLDPR

pcd,obj,mtl檔案格式解析

pcd,obj,mtl檔案格式解析 pcd檔案解析 PCD檔案格式並非白費力氣地做重複工作,現有的檔案結構因本身組成的原因不支援由PCL庫引進n維點型別機制處理過程中的某些擴充套件,而PCD檔案格式能夠很好地補足這一點。PCD不是第一個支援3D點雲資料的檔案型別,尤其是計算機圖形

PE檔案格式詳解(六)

0x00 前言   前面兩篇講到了輸出表的內容以及涉及如何在hexWorkShop中找到輸出表及輸入DLL,感覺有幾個地方還是沒有理解好,比如由資料目錄表DataDirectory[16]找到輸出表表後以為找到輸入DLL就完了,其實這一流程的最終功能是通過輸入DLL找到輸入DLL呼叫的函

PE檔案格式學習(二):總體結構

1.概述 PE檔案分為幾個部分,分別是: DOS頭 DOS Stub NT頭(PE頭) 檔案頭 可選頭 區段頭(一個數組,每個元素都是一個結構體,稱之為IMAGE_SECTION_HEADER) .text .rdata .data .rs

PE檔案格式學習(三):匯出表

1.回顧 上篇文章中介紹過,可選頭中的資料目錄表是一個大小為0x10的陣列,匯出表就是這個陣列中的第一個元素。 我們再回顧下資料目錄表的結構體: struct _IMAGE_DATA_DIRECTORY {     DWORD VirtualAddress;    

PE檔案格式學習(一):概述

1.PE檔案簡介 PE檔案格式是Windows系統中應用最廣泛的檔案格式之一,我們常見的可執行檔案.exe、動態連結庫.dll以及驅動檔案.sys等都是PE檔案格式的。 可以通過十六進位制工具如010editor檢視PE檔案,可以看到PE檔案都有一個共同的特點,就是它們的最開頭都是4D5A,也就是ASCI

PE檔案格式學習(十三):載入配置表

1.介紹 載入配置表早期是用於描述當PE檔案頭或PE可選頭無法描述或者因為太大而無法描述的各種功能。 後來以XP及以後的系統主要是為了儲存SEH控制代碼,稱為安全結構化異常處理程式列表,如果SEH異常處理沒有經過註冊,在載入配置表中沒有控制代碼,這個異常處理就不會被執行。 具體的例子就不演示了,看起來只要是