featureCounts

featureCounts はマッピング結果である BAM または SAM ファイルを入力とし、各 feature 領域(gene、CDS、exon)ごとにリードをカウントするプログラムである。HTSeq の htseq-count と機能的に似ているプログラムである。マルチスレッドが利用でき、実行速度が非常に速く、htseq-count で 20 分ぐらいかかるデータも featureCounts ならば 2 分前後で終わる。

featureCounts は Subread パッケージに含まれるプログラムの一つである。featureCounts を利用するには subread をインストールする必要がある。

subread (featureCounts) のインストール

subread のソースコードは sourceforge で公開されている。

wget http://downloads.sourceforge.net/project/subread/subread-1.4.6/subread-1.4.6-source.tar.gz
tar xzvf subread-1.4.6-source.tar.gz

ソースコードが保存されているディレクトリに移動し、コンパイルする。

cd subread-1.4.6-source/src
make -f Makefile.Linux

プログラムは「subread-1.4.6-source/bin」に保存される。必要ならばパスを通す

使い方

featureCounts の簡単な利用例。入力ファイルとしてマッピング結果である BAM または SAM ファイルと、リファレンスゲノムのアノテーションである GTF を必要とする。(あるいは簡単なタブ区切りのアノテーションファイルでも可)

single-end リード

single-end リードのマッピング結果 SAM ファイルに対して、feature カウントする例。

featureCounts -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.sam

single-end リードのマッピング結果 BAM ファイルに対して、feature カウントする例。

featureCounts -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

strand-specific single-end の場合、「-s」で方向を指定する。「-s 1」ならば forward、「-s 2」ならば reverse となる。

featureCounts -s 1 -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam
featureCounts -s 2 -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

5 スレッドで解析する例。

featureCounts -T 5 -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

paired-end リード

paired-end リードのマッピング結果 SAM ファイルに対して、feature カウントする例。

featureCounts -p exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.sam

paired-end リードのマッピング結果 BAM ファイルに対して、feature カウントする例。

featureCounts -p -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

strand-specific single-end の場合、「-s」で方向を指定する。「-s 1」ならば forward、「-s 2」ならば reverse となる。

featureCounts -p -s 1 -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam
featureCounts -p -s 2 -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

5 スレッドで解析する例。

featureCounts -T 5 -p -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

ペアとなる 2 つのリードの両方マップされている場合のみカウントする例。

featureCounts -p -B -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

chimeric read を無視してカウントする例。chimeric read とは、ペアとなるリードが異なる染色体にマッピングされているようなリードのことをいう。

featureCounts -p -C -t exon -g gene_id -a annotation.gtf -o counts.txt mapping_results.bam

References

  1. Liao Y, Smyth GK, Shi W. featureCounts: an efficient general purpose program for assigning sequence reads to genomic features. Bioinformatics. 2014, 30(7):923-30. PubMed Abstract