RNA-Seq FASTQファイルの処理方法 — 発現量の計算からSubio Platformへのインポートまで

Subio Platformでは、RNA-SeqのFASTQファイルから遺伝子やtranscriptの発現量を計算し、そのままデータ解析を始めることができます。WindowsまたはMacの一般的なコンピューターで実行でき、UNIXのコマンドラインを操作する必要はありません。

発現量の計算には、高速なKallistoと、ゲノムへのマッピングを行うHISAT2+StringTieの2つの方法を選択できます。また、処理を途中で中断した場合や、予期せずSubio Platformが終了した場合でも、完了済みの処理結果を再利用して、途中から処理を再開できます。

この記事では、2つの解析方法の選び方から、FASTQファイルの処理、Subio Platformへのデータインポートまでを説明します。

KallistoとHISAT2+StringTie、どちらを使う?

Subio Platformでは、RNA-Seqの発現量を計算する方法として、KallistoとHISAT2+StringTieを選択できます。

Kallisto HISAT2+StringTie
解析方法 既知のtranscript配列を利用して発現量を推定 リードを参照ゲノムにマッピングして発現量を推定
処理速度 非常に高速 比較的時間がかかる
参照データ Transcriptome Genome、遺伝子アノテーション
主な用途 既知の遺伝子・transcriptの発現量解析 上記に加えて、BAMファイルやゲノムへのマッピング情報を利用する解析

一般的な遺伝子発現解析にはKallistoがお勧め

Kallistoは、RNA-Seqのリードを参照transcriptomeと照合し、各transcriptの発現量を高速に推定するツールです。ゲノム上の位置を一つずつ決定する通常のマッピング処理を行わないため、計算時間やメモリ使用量を大幅に抑えられます。既知の遺伝子やtranscriptの発現量を取得して、発現比較やクラスタリングなどの解析を行う場合は、まずKallistoをお勧めします。

ゲノムへのマッピング情報を利用したい場合はHISAT2+StringTie

HISAT2は、RNA-Seqのリードを参照ゲノムにマッピングするツールです。StringTieは、そのマッピング結果を利用して発現量を推定します。Kallistoより多くの計算時間や保存容量を必要としますが、ゲノム上のマッピング情報を利用した解析を行いたい場合に適しています。

どちらの方法でも、計算した発現量をSubio Platformにインポートして解析できます。

解析を始める前に:ツールと参照データの準備

FASTQファイルの処理を実行するには、使用するツールと参照データをあらかじめ準備する必要があります。初めて利用する場合は、お使いのOSに応じて、以下の設定手順をご覧ください。

設定が完了したら、以下の操作動画に従ってFASTQファイルの処理を実行してください。

KallistoによるFASTQファイルの処理

【ここにKallistoの操作ムービーを挿入予定】

Kallistoを利用するには、Kallisto本体と、解析対象の生物種に対応する参照transcriptomeを準備します。Subio PlatformでKallistoを選択し、使用するツールと参照データを設定したら、FASTQファイルを指定して処理を実行します。FASTQファイルは、gzip圧縮された .fastq.gz 形式のまま使用できます。

処理は、fastpによる品質調整からKallistoによる発現量の計算まで自動的に進みます。処理が完了すると、遺伝子単位およびtranscript単位の推定CountとTPMを取得できます。最後に、計算した発現量をSubio Platformにインポートします。

インポート時には、Gene IDまたはGene Symbolを選択できます。一つのGene Symbolに複数のGene IDが対応することがあるため、Gene Symbolを選択した場合は、同一Gene Symbolの値をSumで合算してインポートすることをお勧めします。CountはCh1 Raw Signal、TPMはCh1 Reservedに格納されます。

HISAT2+StringTieによるFASTQファイルの処理

【ここにHISAT2+StringTieの操作ムービーを挿入予定】

HISAT2+StringTieを利用するには、それぞれのツールと、解析対象の生物種に対応する参照ゲノムおよび遺伝子アノテーションを準備します。Subio PlatformでHISAT2+StringTieを選択し、使用するツールと参照データを設定したら、FASTQファイルを指定して処理を実行します。FASTQファイルは、Kallistoの場合と同様に、gzip圧縮されたまま使用できます。

処理は、fastpによる品質調整、HISAT2によるマッピング、StringTieによる発現量の計算という順番で進みます。計算した発現量は、Kallistoの場合と同様にSubio Platformへインポートできます。

処理を中断した場合や、エラーが発生した場合

RNA-SeqのFASTQファイルの処理には、データ量やコンピューターの性能によって長い時間がかかる場合があります。Subio Platformでは、PauseやStopで処理を中断できます。また、途中でエラーが発生した場合も、完了済みの処理結果を再利用して再開できるため、すべての処理を最初からやり直す必要はありません。 再開時には、各サンプルのどの工程まで完了しているかを確認し、必要な処理だけを実行できます。

途中で作成されたフォルダーは削除しないでください

処理を中断したり、再開したりすると、途中結果を保存するフォルダーが複数作成されることがあります。これらのフォルダーには、すでに完了した工程の結果が保存されています。処理を再開する可能性がある場合は、途中で作成されたフォルダーやファイルを削除しないでください。

Subio Platformは、保存されている処理結果のうち再利用できるものを利用して、必要な工程から処理を続けます。正常に解析が完了すると、最終的な解析結果は一つのフォルダーにまとめられます。そのため、処理途中でフォルダーが増えても心配する必要はありません。

エラーが発生した場合

Subio Platformは、処理中にエラーが発生すると、自動的に再試行します。必要に応じて使用するスレッド数を減らし、処理を続けることもあります。FASTQファイル自体に問題がある場合は、そのファイルを除外して他のサンプルの処理を続けられます。

ただし、すべてのエラーを自動的に解決できるわけではありません。原因を確認し、設定やFASTQファイルを修正してから再実行する必要がある場合もあります。

解析結果はどこに保存される?

解析結果は、rna-seq-pipeline.日時-UUID フォルダーに保存されます。 以下のパスは、このフォルダーを基準にしています。 サンプル名とUUIDは、実際の名前・識別子に置き換わります。 .gzはgzip圧縮されたファイルです。

ファイル・フォルダー 内容
merged.tsv.gz 全サンプルの遺伝子単位のCount・TPMをまとめた発現量表。
pre-alignment/サンプル名.html
pre-alignment/サンプル名.json
fastpの品質管理・フィルタリング結果。HTMLはブラウザーで確認できるレポート、JSONは集計値を含むデータです。
alignment/サンプル名.bam
alignment/サンプル名.bai
HISAT2ラインのみ。アラインメント結果と、そのインデックス。BAMはStringTieによる再解析にも利用できます。
alignment/サンプル名.txt HISAT2ラインのみ。マッピング結果のサマリー。
alignment/UUID.abundance.tsv.gz Kallistoラインのみ。Kallistoの元の転写産物別定量結果。転写産物長・有効長・推定Count・TPMを含み、tximportでの再解析に利用できます。
alignment/UUID.run_info.json Kallistoラインのみ。処理リード数やマッピング結果などの実行情報。
post-alignment/サンプル名_gene.txt.gz サンプル別の遺伝子単位のCount・TPM。Gene ID・Gene Symbolも含みます。
post-alignment/サンプル名.excluded-transcripts.tsv Kallistoラインのみ。GTFに一意に対応せず、遺伝子集計から除外されたTranscript ID・推定Count・TPMと、その合計。
summary.txt サンプルごとのフィルタリング・マッピング・定量結果の概要。
versions.log 使用ツールのバージョンと解析条件。
run.log.gz 処理経過・外部コマンド・エラーなどの実行ログ。実行中や圧縮前はrun.logです。
post-alignment/サンプル名_transcript.txt.gz サンプル別の転写産物単位のCount・TPM。Transcript ID・Gene ID・Gene Symbolも含みます。
Merged_transcript_level.txt.gz 全サンプルの転写産物単位のCount・TPMをまとめた発現量表。

このほか、再開や結果の管理に使用するJSONファイルなどが保存されます。 再試行・再開前の実行履歴がある場合は、historyフォルダーにも記録が残ります。 StringTieの出力GTFは、正常終了後の整理で削除対象となります。

発現量表やログの一部は、保存容量を抑えるためgzip形式で圧縮されています。解析結果は、Subio Platformへのインポートだけでなく、Rなどの外部ツールでの解析にも利用できます。

処理が正常に終了しない場合は実行ログを確認する

エラーが発生して処理が正常に終了しない場合は、run.logを確認してください。run.logには、使用したツールや解析条件、処理の進行状況、エラーに関する情報などが記録されています。run.log.gzとして圧縮されている場合は、解凍してから内容を確認してください。

原因が分からない場合は、run.logをChatGPTなどのAIに読み込ませて、原因と解決方法を質問することをお勧めします。例えば、次のように質問してみてください。

Subio PlatformでRNA-SeqのFASTQファイルを処理していますが、途中でエラーが発生して停止しました。添付したrun.logを調べて、エラーが発生した工程、考えられる原因、解決するために確認すべきことを教えてください。

AIを利用すると、ログの中から問題に関係するメッセージを探し、原因を調べる作業を効率化できます。ただし、ログだけでは原因を特定できないこともあります。また、AIの回答が常に正しいとは限らないため、提案された対処方法は内容を確認してから実行してください。外部のAIサービスにログをアップロードする場合は、個人情報や機密情報が含まれていないか確認してください。

外部ツールで発現量を再集計・解析したい場合

Subio Platformで計算した発現量は、そのままSubio Platformで解析するだけでなく、Rなどの外部ツールでも利用できます。また、遺伝子単位への集計方法を変更したい場合は、最終的な解析結果のフォルダーに保存されたファイルを利用して、独自に集計することもできます。

Kallistoの場合

Subio Platformでは、同じ遺伝子に属するtranscriptの推定Count・TPMをそれぞれ合算して、遺伝子単位の発現量を計算しています。tximportで再集計する場合は、alignmentフォルダーに保存された各サンプルの*.abundance.tsv.gzと、解析に使用したGTFに基づくTranscript IDとGene IDの対応表を利用してください。

HISAT2+StringTieの場合

tximportで再集計する場合は、alignmentフォルダーに保存されたBAMファイルと、解析に使用した参照GTFを使い、StringTieを-e -Bオプション付きで再実行してください。生成されたBallgown形式の定量結果をtximportで読み込めます。FASTQからのマッピングをやり直す必要はありません。

これらの方法では、Subio Platformにインポートされた発現量とは異なる集計方法や解析条件を適用できます。

この後の解析手順については、「RNA-Seqデータ解析チュートリアル|GEOデータで学ぶ解析の流れと結果の見方 」の第2章以降をご覧ください。