featureCounts

featureCounts は、マッピング結果からどの feature 領域(gene、CDS、exon など)に何本のリードがマッピングされたのか集計するプログラムである。featureCounts は Subread パッケージに実装されている数多いプログラムの一つであるので、featureCounts を利用する際に Subread をインストールすればよい。

single-end リード

single-end のマッピング結果の BAM ファイル 1 つだけに対して、エクソン領域にマッピングされたリードのみを計上し(-t exon)、その後、遺伝子名ごとに集計する(-g gene_id)。エクソン領域や遺伝子名のアノテーションファイルは -a の引数として与える。

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

複数の BAM ファイルに対して一括に集計する場合は、ワイルドカード * を利用する。

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

strand-specific single-end read の場合、-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

paired-end リード

paired-end リードの場合は、-p を付けることによって、1 リードペアを 1 として計上して集計を行う。

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

featureCounts オプション

featureCounts には多くのオプションが用意されている。ここではよく使われるものだけを取り上げる。

-O1 つの領域が複数の feature id で定義されている場合がある。featureCounts は、このような領域にマッピングされるリードを集計していない。-O を付けることで、このような複数の feature で定義されている領域にマッピングされるリードも集計する。
-MfeatureCounts のデフォルトでは、複数箇所にマッピングされたリードを集計していない。-M を付けることで BAM の NH タグの情報を参照にして、multi-loci mapped リードも集計する。
--fraction-O または -M を使用するとき、同じリードが複数回計上される。この --fraction を付けることで、全体で 1 リードとして計上する。例えば、あるリードが n 箇所にマッピングされた場合、それぞれの箇所で 1/n ずつ計上する。
--splitOnlyBAM の CIGAR に N を含むリードのみを集計する。このオプションをつけることによって、2 つのエクソンに跨がるようなリードのみを集計できるようになる。
--nonSplitOnlyBAM の CIGAR に N を含まないリードのみを集計する。
-p1 リードペアを 1 として集計する。
-Bリードペアの両方がマッピングされている場合のみ集計対象とする。
-Cリードペアが異なる染色体にマッピングされていたり、あるいは異なるストランドにマッピングされている場合は集計対象としない。

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