RNA-seq(RNA sequencing)のトリミングは、リード末端の低品質な塩基と、混入したアダプター配列を除去する工程です。ここでは4つのツールの使い分けと、Cutadapt の実践的な使い方を押さえます。
1. トリミングのゴール
クオリティチェックで問題が見つかったら、それを取り除きます。具体的には、リード末端の低品質な塩基と、混入しているアダプター配列を除去します。この処理で後続のマッピング・定量の精度が上がります。
除去した結果、リードが短くなりすぎるとマッピングに使えません。そのため一定長を下回るリードは破棄します(Cutadapt では --minimum-length)。
受託解析から納品された FASTQ は、すでにトリミング済みのことがあります。FastQC のレポートで Adapter Content と末端の品質を確認し、問題がなければこの工程は省けます。まず確認してから実行してください。
2. 4つのツールと使い分け
| ツール | 開発言語 | 特徴 |
|---|---|---|
| fastp | C++ | 高速。QC レポートも同時に生成 |
| Trimmomatic | Java | 論文実績が豊富。処理を細かく組み合わせられる |
| Cutadapt | Python | アダプター除去に特化。コマンドがシンプル |
| BBDuk | Java | 汚染除去にも対応した多機能ツール |
fastp はトリミングと QC レポート生成を1コマンドで行え、マルチスレッドで高速です(Chen et al., Bioinformatics, 2018)。設定が少なくても妥当な結果が得られる一方、細かなカスタマイズは限定的です。
Trimmomatic は長年 RNA-seq 論文で使われてきた実績があり、複数の処理ステップを組み合わせる設計です(Bolger et al., Bioinformatics, 2014)。Java が必要で、コマンドは長くなりがちです。
Cutadapt はアダプター除去に特化した Python 製ツールです(Martin, EMBnet.journal, 2011)。コマンドがシンプルで挙動が追いやすく、公式ドキュメントも充実しています。本サイトではこれを基本とします。
BBDuk は BBTools の一部で、トリミングに加えて外来配列(コンタミネーション)の除去も行えます。オプションが多く、高度な前処理が必要な場面に向いています。
| 状況 | 選択 |
|---|---|
| はじめてトリミングをする | Cutadapt |
| 大量サンプルを速く処理したい | fastp |
| 論文の手法に合わせたい | Trimmomatic |
| 汚染除去もまとめて行いたい | BBDuk |
3. Cutadapt の使い方
インストール
bash
# pip でインストール
pip install cutadapt
# conda でも可
conda install -c bioconda cutadapt
# バージョン確認
cutadapt --version
シングルエンドの基本コマンド
bash
# アダプター除去 + 品質トリミング + 短いリードの破棄
cutadapt -a AGATCGGAAGAGC -q 20 --minimum-length 30 -o trimmed.fastq.gz input.fastq.gz
| オプション | 意味 |
|---|---|
-a AGATCGGAAGAGC |
3′ 末端のアダプター配列を指定。これは Illumina TruSeq の例です。FastQC の Adapter Content で確認し、対応する配列に変更します |
-q 20 |
品質スコアが 20 未満の塩基を 3′ 末端から除去します |
--minimum-length 30 |
処理後に 30 bp 未満になったリードを破棄します。短すぎるとマッピングに使えないためです |
-o trimmed.fastq.gz |
出力ファイル名。.gz を付けると自動で圧縮されます |
input.fastq.gz |
入力ファイル。コマンドの最後に置きます |
ペアエンドへの応用
R1・R2 の2ファイルがある場合は、シングルエンドのコマンドに R2 用のオプション(-A と -p)を足すだけです。
bash
cutadapt \
-a AGATCGGAAGAGC \ # R1 のアダプター
-A AGATCGGAAGAGC \ # R2 のアダプター
-q 20 \
--minimum-length 30 \
-o trimmed_R1.fastq.gz \ # R1 の出力
-p trimmed_R2.fastq.gz \ # R2 の出力
input_R1.fastq.gz input_R2.fastq.gz
R1 と R2 は対になっています。片方が破棄されるともう片方も破棄されるため、処理後もペアの対応関係が保たれます。
4. アダプターの位置とオプション
-a は 3′ 末端、-g は 5′ 末端のアダプターを除去します。多くの RNA-seq では 3′ 側の -a だけで足ります。
慣れてきたら次のオプションも使えます。
--cores 4:使用する CPU コア数(既定は1)。増やすほど速くなります。--discard-untrimmed:アダプターが検出されなかったリードを除外します。-e 0.1:アダプター照合のエラー許容率(既定 0.1 = 10% のミスマッチを許容)。--nextseq-trim 20:NextSeq 系特有の G 塩基誤認識に対応した品質トリミング。--json report.json:処理統計を JSON で保存。パイプラインの自動化に便利です。
5. 注意点
- アダプター配列は自分のデータに合わせる:
-aの配列はキットによって異なります。FastQC の Adapter Content で確認してください。 - 切りすぎない:品質のしきい値を上げすぎると、使えるリードが大幅に減ります。
-q 20程度から始め、結果を見て調整します。 - 処理後に再度 QC を行う:問題が取り除けたかを FastQC で確認してから、マッピングへ進みます。
まとめ
- トリミングは低品質な末端とアダプター配列を除去する工程。
- 初学者にはコマンドがシンプルな Cutadapt。大量処理は fastp、論文追随は Trimmomatic。
- 基本は
-a・-q・--minimum-length・-oの4つ。ペアエンドは-Aと-pを足すだけ。 - 処理後はもう一度 FastQC で確認してからマッピングへ進む。
コマンドの周辺でつまずかないために
トリミングのコマンドは、オプションを4つ覚えれば動きます。ただし実務で手が止まるのは、たいていオプションではなく周辺です。入力が .fastq.gz のままでよいのか、出力をどこに置くのか、ログをファイルに残すにはどう書くのか、といった部分です。圧縮ファイルの扱いとリダイレクトが分かっているかどうかで、作業の速さがはっきり変わります。
『生命科学データ解析をはじめる前に読む本』は、gzip による圧縮・解凍や、cut・sort・uniq をパイプでつないで大量のテキストから必要な情報を取り出すところまでを、手を動かしながら扱います。トリミングの前後でリード数を数えたり、複数サンプルの結果を並べて確認したりする作業が、コマンド1行で済むようになります。
![]()
関連記事
参考文献
- Martin, M. (2011). Cutadapt removes adapter sequences from high-throughput sequencing reads. EMBnet.journal, 17(1), 10–12. doi:10.14806/ej.17.1.200
- Chen, S., Zhou, Y., Chen, Y., & Gu, J. (2018). fastp: an ultra-fast all-in-one FASTQ preprocessor. Bioinformatics, 34(17), i884–i890. doi:10.1093/bioinformatics/bty560
- Bolger, A. M., Lohse, M., & Usadel, B. (2014). Trimmomatic: a flexible trimmer for Illumina sequence data. Bioinformatics, 30(15), 2114–2120. doi:10.1093/bioinformatics/btu170


コメント