samtools及bam檔案的相關知識

2021-09-27 12:57:17 字數 1903 閱讀 4232

bam檔案的header

bam檔案的主要內容

主要包括bam檔案的一些格式及序列比對的一些基礎知識

​​​​這裡的一點感悟是線性比對和嵌合比對,實際上,一條read的比對情況有時候會很複雜,例如乙個read可能比對到多個位置,因為基因組非常龐大,存在很多的repeat區域,而二代測序的read一般比較短,在200bp以內,所以這種時候,可能在bam檔案就會出現多條記錄該read比對情況的記錄,它們擁有相同的id,其中的乙個較好的比對被認為是"典型的"比對結果,而其他的都被稱為「補充的」比對結果。而且就算比對到同乙個位置,還有可能有方向性問題,這是也會有兩條記錄存在,而沒有方向問題,單一的最優比對的read就被叫做線性比對,具體表現在bam檔案中將只有一條關於該read的比對記錄(注意是read而不是paired reads)。

​​這個值是在二代測序檔案中常常出現的phred 值,這個值是對p值的乙個log變換,可以更加直觀的反應p值,phred值越大,代表p值越小,例如phred值為10,那麼p值則為0.1;phred為20時,p值為0.01 。

根據samtools的說明,1base的檔案主要有 sam,vcf,gff,wiggle檔案,而0base的檔案主要是bam,bcf,bed這樣的檔案。

找到乙個bam檔案並輸入如下命令檢視title資訊

samtools view *.bam -h|less
可以看到bam檔案的header有如下幾個部分組成

bam檔案的前11列為必須有的內容,缺失值使用』*'或者』0』代替,這11列內如如下圖所示。

由於之前已經有一篇介紹這些欄位的內容

這裡挑幾個今天了解到的之前不是很清楚的地方:

#獲取secendary alignment的條目

注意看cigar值那一列,就是紅框的那一列,都是帶有hardclip的

#獲取supplement alignment的條目

在三代測序的比對結果中常見2048的supplementary alignment。

使用samtools view -f/-f引數可以獲取包含/不包含指定flag的內容的條目。

其他的一些常用的比對情況如下,摘自samtools flagstat的說明,它們是flagstat的主要統計內容:

flag的64和128為在(paired-end sequencing)雙端測序中的read1和read2,而flag為16和32則代表雙端測序中一條read反向互補,即代表比對到了負鏈上。

bam檔案的理解

bam檔案的理解 less sn in.sam 開啟sam檔案 samtools view h in.bam 開啟bam檔案 接下來我們重點看看每一列在我們的分析中起到的作用。reads name 每一條reads的查詢名稱,於fastq檔案 flag flag是比對質量的重要資訊,不同的值代表比對...

bam檔案讀取 bam格式檔案處理大全 一)

sam檔案是短序列比對生成的檔案,是二代測序中最核心的檔案。在rnaseq,變異檢測等分析中,都需要首先生成sam檔案格式。bam檔案是sam格式的二進位制格式,轉換為二進位制之後,可以減小檔案的儲存。掌握sam bam檔案的操作是處理二代測序資料的非常重要的內容,例如sam與bam的轉換,排序,建...

Pysam 處理bam檔案

pysam可用來處理bam檔案 安裝 用 pip 或者 conda即可 使用 pysam的函式有很多,主要的讀取函式有 一般常用的是第乙個和第二個。例子 1 import pysam 23 bf pysam.alignmentfile in.bam rb 其中r read,b binary.二進位制...