この記事では、macOS版Subio Platformで RNA-SeqのFASTQファイルを処理するための パイプラインの設定方法を説明します。 Subio Platformでは、以下のツールを利用してFASTQファイルから遺伝子発現データを取得できます。 Windows版の設定方法はこちらをご覧ください。
| ツール | 役割 | 動作確認済みバージョン |
|---|---|---|
| fastp | アダプター配列の除去、低品質リードのフィルタリング | 1.1.0 |
| Kallisto | Transcriptomeを参照した高速な発現量推定 | 0.52.0(公式配布版) |
| HISAT2 | リファレンスゲノムへのリードのマッピング | 2.2.3 |
| StringTie | HISAT2のマッピング結果を利用したTranscript発現量の推定 | 3.0.3 |
上記はApple Silicon搭載Macで動作確認したバージョンです。 他のバージョンでも動作する場合があります。
この記事では、まずKallistoを使用するパイプラインを設定し、 その後、HISAT2–StringTieを使用する場合の設定方法を説明します。 HISAT2–StringTieを使用しない場合は、その設定を省略できます。
なお、FASTQファイルの処理中にエラーが発生した場合は、
FASTQファイルが保存されているフォルダー内に生成される一時フォルダーを確認してください。
その中にあるrun.logには、パイプラインの実行状況やエラーに関する情報が記録されています。
run.log.gzとしてgzip圧縮されている場合は、解凍してから内容を確認してください。
run.logをChatGPTなどのAIに読み込ませて、エラーの原因や対処方法を相談すると、
問題解決の手がかりが得られる場合があります。
1. Condaのインストール
fastp、HISAT2、StringTieのインストールには、パッケージ管理ツールのCondaを使用します。Condaがインストールされていない場合は、Miniforgeの利用を推奨します。Apple Silicon搭載Macでは、arm64用のインストーラーを選択してください。すでにCondaを使用できる環境がある場合は、Miniforgeを新たにインストールする必要はありません。
インストール後、ターミナルを起動します。Condaコマンドが使用できない場合は、Miniforgeのインストール先にあるetc/profile.d/conda.shを読み込んでください。インストール先は環境によって異なります。
2. fastpのインストール
ターミナルで次のコマンドを実行し、Biocondaからfastpをインストールします。
conda install -n base bioconda::fastp
インストールが完了したら、次のコマンドで実行ファイルのパスを確認します。
which fastp
表示されたパスを、Subio Platformのパイプライン設定画面にあるfastpの実行ファイル欄に指定します。
3. Kallistoのダウンロードと設定
Kallistoは、公式GitHubからmacOS用の実行ファイルをダウンロードします。KallistoはBiocondaからもインストールできますが、当社の検証環境では、Bioconda経由でインストールした実行ファイルでIndexファイルを正常に読み込めない問題が発生しました。このため、Subio Platformでは、動作を確認した公式配布版のKallistoを使用することを推奨します。
- Kallistoの公式リリースページを開きます。
- kallisto_mac-v0.52.0.tar.gzをダウンロードします。
- ダウンロードしたファイルを展開します。
- Subio Platformのパイプライン設定画面で、展開したKallistoの実行ファイルを指定します。
macOSのセキュリティによって実行がブロックされる場合
Safariなどのブラウザからダウンロードしたファイルには、macOSによって隔離属性が付けられることがあります。そのため、Kallistoを初めて実行するときに、macOSのセキュリティ機能(Gatekeeper)によって実行がブロックされる場合があります。この場合は、ダウンロード元がKallistoの公式リリースページであることを確認したうえで、Appleの案内に従って対応してください。
Appleサポート:Macでアプリを安全に開く
4. Kallisto Indexの設定
KallistoでFASTQファイルを処理するには、解析対象の生物種に対応したTranscriptomeのIndexファイルが必要です。Subio Platformのパイプライン設定画面で「Download reference data...」ボタンをクリックすると、生物種の選択画面が表示されます。生物種を選択すると、必要な参照データが自動的にダウンロードされ、設定されます。すでに参照データをダウンロードしている場合は、該当するファイルのパスを直接指定することもできます。
5. Kallistoパイプラインの動作確認
FASTQファイルの処理には時間がかかるため、最初は処理するリード数を制限して、パイプラインが正常に動作することを確認します。
- Subio Platformのパイプライン設定画面を開きます。
- fastpの設定で、プリセット「Process 10000 reads」を選択し、「Load」ボタンをクリックします。
- 1~2サンプル分のFASTQファイルをインポートし、処理が最後まで正常に完了することを確認します。
- 動作確認が終わったら、テスト用にインポートしたサンプルを削除します。
- fastpの設定で「Default」を選択し、「Load」ボタンをクリックして通常の処理設定に戻します。
通常の解析を始める前に、必ず「Default」に戻してください。「Process 10000 reads」のままでは、FASTQファイルの一部のリードしか処理されません。
6. HISAT2とStringTieのインストール
ここからは、HISAT2–StringTieを使用するパイプラインの設定方法を説明します。Kallistoだけを使用する場合、この後の設定は不要です。すでにインストールしたCondaとfastpは、そのまま使用できます。
ターミナルを起動し、必要に応じてConda環境を読み込んだ後、次のコマンドを実行します。
conda install -n base bioconda::hisat2 bioconda::stringtie
インストールが完了したら、次のコマンドで実行ファイルのパスを確認します。
which hisat2
which stringtie
表示されたパスを、Subio Platformのパイプライン設定画面にあるHISAT2とStringTieの実行ファイル欄に指定します。 Biocondaからインストールされるバージョンは、インストール時期や環境によって異なる場合があります。
7. HISAT2 IndexとGTFファイルの設定
HISAT2–StringTieパイプラインでは、リファレンスゲノムのIndexと、遺伝子アノテーションを記載したGTFファイルが必要です。
- 解析対象の生物種に対応するHISAT2 Indexをダウンロードします。
- Indexに使用されているリファレンスゲノムと同じバージョンに対応するGTFファイルを用意します。
- Subio Platformのパイプライン設定画面で、HISAT2 IndexとGTFファイルのパスを指定します。
HISAT2 IndexとGTFファイルは、同じリファレンスゲノムに対応するものを使用してください。異なるゲノムバージョンを組み合わせると、発現量の推定結果に影響する可能性があります。
8. HISAT2–StringTieパイプラインの動作確認
HISAT2–StringTieパイプラインも、最初は処理するリード数を制限して動作確認を行います。
- Subio Platformのパイプライン設定画面で、fastpのプリセット「Process 10000 reads」を選択し、「Load」ボタンをクリックします。
- HISAT2–StringTieパイプラインを使用してFASTQファイルをインポートします。
- 処理が最後まで正常に完了することを確認します。
- テスト用にインポートしたサンプルを削除します。
- fastpのプリセットを「Default」に戻し、「Load」ボタンをクリックします。
本番の解析では「Default」プリセットを使用してください。
9. 通常のFASTQ処理を開始する
以上で、RNA-Seq FASTQ処理パイプラインの設定は完了です。動作確認用の設定を解除したことを確認してから、解析対象のFASTQファイルをインポートしてください。なお、ここまでの動作確認は、パイプラインが最後まで実行できることを確かめるためのものです。得られた発現データの信頼性については、リードの品質、マッピング結果、サンプル間の発現分布などを確認することが重要です。詳しくは、データの可視化によって解析結果の問題を発見するケーススタディも参考にしてください。
Subio Platformのパイプライン設定画面と実行画面の遷移
以下の図は、Subio Platformのパイプライン設定からFASTQファイルの処理実行までの画面遷移を示しています。KallistoとHISAT2–StringTieのどちらも、基本的な操作の流れは共通しています。