.fastq.gz ファイルを Gene Expression Omnibus (GEO) から入手する方法

もし、著者がアップロードしたGene CountsやTPMなどのファイルがダウンロードできるのであれば、 それを使うのが簡単です。 それがない場合でも、NCBI-generated dataが https://www.ncbi.nlm.nih.gov/geo/download/?acc=[GSE accession number] よりダウンロードできる場合は、自分でFASTQファイルを処理しなくてもよい場合があります。 これらのデータが利用できない場合や、FASTQから自分で再解析したい場合には、 FASTQファイルを取得して処理します。

なお、ENAなどでFASTQ.gzファイルへの直接URLを取得できる場合は、 FASTQを一度ローカルに保存して処理する代わりに、 RaNA-Seqを使ってFASTQからGene Countsを高速・簡単に取得する方法 もあります。

これらの方法を利用できない場合は、時間はかかりますが、以下の方法でGEOからFASTQファイルを取得できます。

SRR番号を確認する

GEOからFASTQファイルを取得する場合は、まず各サンプルに対応するSRR番号を確認します。 GEOのGSM recordのページを開き、ページ下部にあるSRXへのリンクをたどります。 そこでシーケンスリードがSINGLEかPAIREDかを確認し、対応するSRR番号を取得します。 サンプル数が多い場合には、SRA Run Selectorを利用すると、複数のSRR番号をまとめて確認できます。 また、SRR番号とGSM番号の対応も確認できるため、後でFASTQファイル名をGSM番号に変更する場合にも便利です。

Kingfisherを使ってFASTQ.gzを取得する

GEOに登録されているRNA-SeqデータからFASTQファイルを取得する場合には、 Kingfisher を利用すると便利です。 Kingfisherでは複数のデータ取得方法を利用できますが、 European Nucleotide Archive(ENA)にFASTQ.gzファイルが保存されている場合には、 圧縮済みのFASTQ.gzファイルを直接ダウンロードできます。

これはRNA-Seqデータを取得する際に大きなメリットがあります。 SRAデータからFASTQを作成する方法では、一度大きな非圧縮FASTQファイルを作成し、その後gzip圧縮する必要があります。 一方、ENAからFASTQ.gzを直接取得できれば、非圧縮FASTQを一時的に作成する必要がなく、ダウンロード後のgzip圧縮も不要です。 そのため、必要なディスク容量を抑えられるだけでなく、取得後の作業も単純になります。

Kingfisherを実行する環境

Kingfisherはコマンドラインから実行します。 MacやLinuxではTerminalから利用できます。 Windowsの場合は、WSL(Windows Subsystem for Linux)上にUbuntuなどのLinux環境を用意して実行すると便利です。 Kingfisherやconda環境のインストール方法は使用しているOSや環境によって異なるため、 最新の公式ドキュメントを確認するか、ChatGPTなどのAIに自分の環境を伝えて、 インストール手順を案内してもらうと簡単です。

Kingfisherがインストールされていれば、たとえば次のようにENAからFASTQ.gzを直接取得できます。

kingfisher get -r SRR1234 -m ena-ftp -f fastq.gz

Paired-Endデータの場合には通常、 SRR1234_1.fastq.gzとSRR1234_2.fastq.gzが取得されます。 取得したFASTQ.gzファイルは、そのまま多くのRNA-Seq解析ツールの入力として利用できます。

SRR番号のリストからまとめてFASTQ.gzを取得する

Kingfisherの便利な点の一つは、多数のSRR番号をテキストファイルにまとめて指定できることです。 たとえば、次のように1行に1つのSRR番号を記載した SraAccList.txtを作成します。

SRR1234
SRR1235
SRR1236
SRR1237

このファイルを指定して次のように実行すると、リストに含まれるSRR番号について順番にFASTQ.gzを取得できます。 SRA Run SelectorなどからSRR番号の一覧を取得してテキストファイルにしておけば、 数十サンプルのFASTQファイルでもまとめて取得できます。

kingfisher get --run-identifiers-list SraAccList.txt -m ena-ftp -f fastq.gz

このようにKingfisherを利用すると、 非圧縮FASTQを一時的に作成することなく、圧縮済みFASTQ.gzを直接取得できます。 また、別途gzip圧縮する必要がなく、SRR番号のリストから多数のRunをまとめて処理できるため、 少数のサンプルだけでなく、大量のRNA-Seqデータを取得する場合にも便利です。

Kingfisherで取得できない場合はSRA Toolkitを使う

データの登録状況などによってKingfisherでFASTQ.gzを直接取得できない場合には、 NCBIのSRA Toolkitを利用します。

一般には、従来のfastq-dumpに代わる、より高速な方法として fasterq-dumpの利用が推奨されていますが、 実際にはfasterq-dumpが安定して動作しないことがあります。 そのような場合は、従来のfastq-dumpを試してみると、 安定して取得できることがあります。

コマンドプロンプト、PowerShell、Terminalなどを開き、 SRA Toolkitのbinフォルダーにあるfasterq-dumpを実行します。 たとえば、Paired-EndのSRR1234をFASTQへ変換する場合は、次のようにします。

fasterq-dump --split-files --outdir "C:Users[user name]Documentsastqdump" SRR1234

--split-filesを指定すると、Paired-Endデータは SRR1234_1.fastqとSRR1234_2.fastqに分けて出力されます。 --outdirでは保存先を指定し、末尾のSRR番号で取得したいRunを指定します。 Single-Endの場合は、--split-filesを付ける必要はありません。

fasterq-dumpで作成されるFASTQファイルは圧縮されていません。 RNA-SeqのFASTQファイルは非常に大きいため、通常は変換後にgzip形式へ圧縮します。 また、多くのRNA-Seq解析ツールでは、gzip圧縮されたFASTQ.gzファイルをそのまま入力として利用できます。 ただし、fasterq-dumpでは最初に大きな非圧縮FASTQファイルを作成するため、 最終的なFASTQ.gzファイルよりも一時的にかなり大きな空きディスク容量が必要になることがあります。 そのため、ENAからFASTQ.gzを直接取得できる場合には、Kingfisherを利用する方が一般に簡単です。

ひとつのサンプルが複数のRunに分かれている場合はFASTQを結合する

ひとつのGSMに対して複数のSRR番号が登録されている場合には、 それぞれのRunが同じライブラリを複数回に分けてシーケンスしたものかどうかを、 GEOやSRAの情報で確認します。 同じライブラリに由来する複数のRunであれば、 必要に応じて対応するFASTQファイルを連結してから解析します。

Windowsのコマンドプロンプトを使う場合

copy /b SRR1234.fastq.gz + SRR1235.fastq.gz + SRR1236.fastq.gz GSM5678.fastq.gz

Mac、Linux、WSLのTerminalを使う場合

cat SRR1234.fastq.gz SRR1235.fastq.gz SRR1236.fastq.gz > GSM5678.fastq.gz

Paired-Endの場合は、Read 1同士とRead 2同士をそれぞれ別々に連結します。 たとえば、SRR1234_1.fastq.gzとSRR1235_1.fastq.gzを GSM5678_1.fastq.gzへ、 SRR1234_2.fastq.gzとSRR1235_2.fastq.gzを GSM5678_2.fastq.gzへ連結します。

次のステップ

RNA-Seqデータ解析の全体チュートリアルはこちらをご覧ください:
→ RNA-Seqデータ解析チュートリアル

GEOからFASTQファイルを取得した後は、 チュートリアルの「1-a. FASTQファイルのインポートと処理」から進めてください。