featuresCounts軟體用於統計基因/轉錄本上mapping的reads數,也就是用於raw count定量。該軟體不僅支持基因/轉錄本的定量,也支持exon, gene bodies, genomic bins, chromsomal locations等區間的定量。
官網如下
http://bioinf.wehi.edu.au/featureCounts/
featureCounts集成在subreads 軟體中, 類似 word 和 office 的關係, subreads 這個軟體也有對應的 R包Rsubreads
。
featureCounts 需要兩個輸入文件:
比對產生的BAM/ SAM文件
區間注釋文件
對於區間文件而言,支持以下兩種格式
GTF 格式
SAF 格式
GTF格式在之前的文章中詳細介紹過,這裡看下SAF格式,示例如下
GeneID Chr Start End Strand497097 chr1 3204563 3207049 -497097 chr1 3411783 3411982 -497097 chr1 3660633 3661579 -
就是\t
分隔的5列文件,記錄了基因的染色體上的區間和正負鏈信息。
在featureCounts 軟體中,有兩個核心概念:
feature
metafeature
feature
指的是基因組區間的最小單位,比如exon
; 而metafeature
可以看做是許多的feature
構成的區間,比如屬於同一個gene的外顯子的組合。
在定量的時候,支持對單個feature
定量(對外顯子定量), 也支持對meta-feature
進行定量(對基因進行定量)。
當reads 比對到2個或者以上的features 時,默認情況下,featureCounts在統計時會忽略到這部分reads, 如果你想要統計上這部分reads, 可以添加-O 參數,此時一條reads 比對到多個feature, 每個feature 定量時,都會加1,對於meta-features 來說,如果比對到多個features 屬於同一個 meta-features(比如一條reads比對到了exon, 但這些exon 屬於同一個gene), 則對於這個gene 而言,只會計數1次。
總之,不管對於feature 還是meta-feature, 只有比對多個不同的區間時,才會分別計數。
features 支持對單個樣本定量,還支持對多個樣本進行歸一化。單個樣本定量的用法如下
featureCounts-T 5 \-t exon \-g gene_id -a annotation.gtf -o counts.txt mapping.sam
多個樣本歸一化的用法如下
featureCounts -t exon -g gene_id -a annotation.gtf -o counts.txt library1.bam library2.bam library3.bam
-a
參數指定的區間注釋文件,默認是gtf格式;-T
參數指定線程數,默認是1;-t
參數指定想要統計的feature
的名稱,取值範圍是gtf 文件中的第3列的值,默認是exon;-g
參數 指定想要統計的meta-feature
的名稱,取值範圍參考gtf第9列注釋信息,gtf的第9列為key=value
的格式,-g
參數可能的取值就是所有的key, 默認值是gene_id。
輸出的表達量文件內容示意如下
# Program:featureCounts v1.6.0; Command:"./featureCounts" "-T" "20" "-t" "exon" "-g" "gene_id" "-a" "hg19.gtf" "-o" "gene" "accepted_hits.bam"Geneid Chr Start End Strand Length accepted_hits.bamDDX11L1 chr1;chr1;chr1 11874;12613;13221 12227;12721;14409 +;+;+ 1652 0
#
號開頭的注釋行,記錄了運行的命令;Geneid
開頭的行是表頭,Geneid代表統計的meta-features的名稱,Chr
,Start
,End
對應染色體上的位置,Strand
代表正負鏈,由於一個基因有多個外顯子構成,所以這裡的染色體位置信息有多個,和外顯子個數一一對應。
Length
該區間的長度,最後一列的表頭是你的輸入文件的名稱,代表的是這個meta-feature的表達量。
這個軟體最大的特點就是運行速度非常快,幾分鐘就可以運行完一個樣本的定量。
·end·