RNA-seq解析入門③:トリミング編

この記事では、クオリティチェックの次のステップである「トリミング」について解説します。トリミングとは何かという概念から、fastp・Trimmomatic・Cutadapt・BBDukの4ツールの特徴と使い分け、そしてCutadaptを使った実践コードの読み方まで、初学者にもわかりやすく説明します。

トリミングとは?なぜ必要なのか

クオリティチェックで問題が見つかったら、次はその問題を取り除く作業が必要です。それがトリミングです。

具体的には、リードの末端にある低品質な塩基や、混入しているアダプター配列を除去します。この作業を行うことで、後続のマッピングや定量の精度が大きく向上します。

💡 アダプター配列とは?
シーケンサーでDNA・RNAを読み取る際、技術的な理由から配列の端に人工的な配列(アダプター)が付加されます。これが解析データに混入するため、除去する必要があります。前のステップのFastQCレポートの「Adapter Content」で混入状況を確認できます。経験上、受託解析業者から納品されたFASTQは、すでにトリミングされているケースが多いです。FastQCでチェックしてみましょう。


主なツールの紹介と比較

トリミングで使われる主なツールは以下の4つです。

ツール名開発言語特徴
fastpC++高速・QCレポートも同時生成
TrimmomaticJava論文実績が豊富な定番ツール
CutadaptPythonシンプルで学習コストが低い
BBDukJava汚染除去にも対応した高機能ツール

fastp

C++で書かれた高速なツール。トリミングとQCレポートの生成を1コマンドで行えます。設定が少なくてもある程度よい結果が得られるため、スピード重視の場面で活躍します。

メリット

  • 処理が非常に速い(マルチスレッド対応)
  • QCレポートを自動生成
  • コマンドが短くて済む

デメリット

  • 細かいカスタマイズは限定的
  • 歴史が浅くドキュメントが少ない

このツールを選ぶ理由:大量サンプルをとにかく速く処理したい場合に最適。QCとトリミングを同時に終わらせたいときにも便利です。


Trimmomatic

Javaベースのトリミングツールで、RNA-seq解析の論文で長年使われてきた実績があります。複数の処理ステップを組み合わせる柔軟な設計が特徴です。

メリット

  • 論文での使用実績が多く信頼性が高い
  • ペアエンド処理を得意とする
  • 処理ステップを細かく組み合わせ可能

デメリット

  • Javaが必要で環境構築がやや面倒
  • コマンドが長くなりがち
  • fastpと比べると速度が劣る

このツールを選ぶ理由:使用するツールを論文に合わせる必要がある場合や、細かいパラメーター調整が必要な場面に向いています。


Cutadapt

Pythonで書かれたアダプター除去に特化したツールです。コマンドがシンプルで動作が直感的に理解しやすく、ドキュメントも充実しています。

メリット

  • コマンドがシンプルで覚えやすい
  • Python環境があればすぐ導入可能
  • 公式ドキュメントが充実している

デメリット

  • fastpより処理速度は遅い
  • QCレポートは別途FastQCが必要

このツールを選ぶ理由:初学者や、Pythonに慣れている方に最適。将来的にPythonスクリプトへ組み込む際もスムーズに連携できます。


BBDuk

BBToolsと呼ばれるツール群の一部で、トリミングだけでなく外来配列(コンタミ)の除去も得意とする多機能ツールです。

メリット

  • 汚染除去など幅広い前処理に対応
  • 処理速度が速い
  • 柔軟なフィルタリング設定が可能

デメリット

  • オプションが多く初心者には難しい
  • 日本語の情報が少ない

このツールを選ぶ理由:コンタミ除去も同時に行いたい場合や、より高度な前処理が求められる研究に適しています。

ツール選びのまとめ

状況おすすめの選択
はじめてトリミングをするCutadapt
大量サンプルを速く処理したいfastp
論文の手法に合わせたいTrimmomatic
汚染除去もまとめてやりたいBBDuk

Cutadaptの基本的な使い方

インストール

Pythonのパッケージ管理ツール(pip)でインストールできます。

# pipでインストール pip install cutadapt # バージョン確認 cutadapt –version

💡 Conda環境を使っている場合
conda install -c bioconda cutadapt でもインストールできます。

シングルエンドの基本コマンド

ファイルが1つの場合(例:一般的なRNA-seqデータ)のコマンドです。

bash
cutadapt -a AGATCGGAAGAGC -q 20 --minimum-length 30 -o trimmed.fastq.gz input.fastq.gz

cutadapt -a AGATCGGAAGAGC -q 20 –minimum-length 30 -o trimmed.fastq.gz input.fastq.gz

-a AGATCGGAAGAGC3’末端のアダプター配列を指定。これはIllumina TruSeqの例です。FastQCのAdapter ContentでアダプターIDを確認し、対応する配列に変更してください。
-q 20品質スコア(Phredスコア)が20未満の塩基を3’末端から除去します。Q20は正確度99%が目安の一般的な閾値です。
–minimum-length 30トリミング後にリードが30bp未満になった場合は破棄します。短すぎるリードはマッピングで使えないためです。
-o trimmed.fastq.gz出力ファイル名を指定します。.gzをつけると自動的に圧縮して保存されます。
input.fastq.gz解析したい入力ファイル。コマンドの最後に書きます。

ペアエンドへの応用

R1・R2の2ファイルがある場合(Illuminaのペアエンドシーケンス)は以下のように書きます。シングルエンドのコマンドに、R2用のオプション(-A-p)を追加するだけです。

bash
cutadapt \
  -a AGATCGGAAGAGC \    # R1のアダプター
  -A AGATCGGAAGAGC \    # R2のアダプター(-A が R2 用)
  -q 20 \
  --minimum-length 30 \
  -o trimmed_R1.fastq.gz \  # R1の出力
  -p trimmed_R2.fastq.gz \  # R2の出力(-p が R2 用)
  input_R1.fastq.gz input_R2.fastq.gz

💡 ペアエンドの特徴
R1とR2は対になっているため、片方のリードがトリミングで破棄された場合、もう片方も自動的に破棄されます。これによりペアの対応関係が維持されます。


発展的なオプション(参考)

慣れてきたら以下のオプションも活用してみましょう。

  • –cores 4使用するCPUコア数を指定。増やすほど処理が速くなる(デフォルトは1コア)。
  • -g SEQUENCE5’末端のアダプターを除去したい場合に使用(-a は3’末端用)。
  • –discard-untrimmedアダプターが検出されなかったリードを結果から除外する。
  • -e 0.1アダプターマッチングのエラー許容率を調整(デフォルト0.1 = 10%のミスマッチを許容)。
  • –nextseq-trim 20NextSeqシリーズ特有のG塩基誤認識に対応した品質トリミング。
  • –json report.jsonトリミング統計をJSONで保存。パイプライン自動化に便利。

まとめ

  • トリミングは、低品質塩基とアダプター配列を除去するRNA-seq前処理の重要なステップ
  • 初学者にはシンプルなコマンドで学べるCutadaptがおすすめ
  • 大量サンプルにはfastp、論文の手法に合わせる場合はTrimmomaticを検討する
  • 基本オプションは -a・-q・--minimum-length・-o の4つだけでまず試してみよう
  • ペアエンドはシングルエンドのコマンドに -A と -p を追加するだけ

次のステップ:トリミング後はFastQCで品質が改善されたか再確認し、マッピング(HISAT2・STAR等)へと進みましょう。

コメント

タイトルとURLをコピーしました