【WSL】[Bioinformatics] GDC Data Transfer Toolを使ってGDCからデータ取得
GDCとは chatGPTより
Genomic Data Commons(GDC)は、がんゲノムデータの共有とアクセスを促進するためのプラットフォームです。GDCは、米国国立がん研究所(NCI)によって運営されており、がん研究者や臨床医師、バイオインフォマティクス研究者など、さまざまな利用者ががんゲノムデータにアクセスできるようにしています。
GDCは、がんゲノムデータの収集、統合、保管、解析、配信などの機能を提供しています。具体的には、がん患者のゲノムデータや関連する臨床データ、試験データなどを収集し、統合して統一的なフォーマットで保管します。また、バイオインフォマティクス解析のためのツールやパイプラインを提供し、利用者がデータを効果的に解析できるよう支援します。
GDCの主な目的は、がんゲノムデータの共有と再利用を通じてがん研究の進歩を促進することです。研究者や医師は、GDCからデータセットを取得して、研究や治療のための新たな知見を得ることができます。また、GDCは、がんゲノムデータの標準化や品質管理にも取り組んでおり、データの信頼性と品質を確保しています。
GDCのデータセットには、がんのさまざまなタイプや病期に関連するデータが含まれており、TCGA(The Cancer Genome Atlas)プロジェクトなど、さまざまな研究プロジェクトのデータが集約されています。これにより、利用者は多様ながんゲノムデータにアクセスし、独自の研究や治療戦略の開発に役立てることができます。
GDCは、オープンアクセスの原則に基づいており、誰もが利用者として登録し、がんゲノムデータにアクセスすることができます。
処理済みのRNAseqデータやバーチャルスライドデータなどOpen accessで取得できるものも多いが、ファイルサイズが大きいためブラウザからのダウンロードは不安定である。
コマンドを使ってデータをダウンロードするGDC Data Transfer Toolを紹介する。
GDC Data Transfer Toolのページ下部のGDC Data Transfer Tool ClientからUbuntu用をダウンロードする。
アクセスしやすいようにWSLのホームディレクトリに配置した。
インストール
- インストーラーの解凍
unzip gdc-client_v1.6.1_Ubuntu_x64.zip
解凍が終わるとgdc-clientというファイルが1つ作られる。
- パスを通す
ホームディレクトリにあるgdc-clientをWSLで認識可能にするには、ホームディレクトリにパスを通すか、すでにパスが通ったディレクトリに移すか、何通りかやり方がある。
ここではToolsフォルダを作成し、gdc-clientを移動。Toolsフォルダに永続パスを通すことにした。
# フォルダ作成
mkdir Tools
# ファイル移動
mv gdc-client Tools/
# パスを通す
echo 'export PATH=~/Tools:$PATH' >> .profile
以下でgdc-clientが認識されるか確認しておく。
# .profileを再実行 (Ubuntuを立ち上げなおしてもよい)
. .profile
# 通っているパス一覧
echo $PATH
# gdc-clientのパス確認
which gdc-client
使い方
ユーザーガイドはこちらにある。
gdc-client download
の後に、ManifestファイルかファイルIDを指定する。
https://docs.gdc.cancer.gov/Data_Transfer_Tool/Users_Guide/Data_Download_and_Upload/
-m
オプションをつけてManifestファイルのパスを指定し、-d
オプションで保存先ディレクトリを指定する。
Control accessのファイルでアクセス許可を持っている場合は-t
オプションでTOKENファイルの指定ができる。
gdc-client downloadのヘルプ
gdc-client download --help
usage: gdc-client download [-h] [--debug] [--log-file LOG_FILE] [--color_off]
[-t TOKEN_FILE] [-d DIR] [-s server]
[--no-segment-md5sums] [--no-file-md5sum]
[-n N_PROCESSES]
[--http-chunk-size HTTP_CHUNK_SIZE]
[--save-interval SAVE_INTERVAL] [-k]
[--no-related-files] [--no-annotations]
[--no-auto-retry] [--retry-amount RETRY_AMOUNT]
[--wait-time WAIT_TIME] [--latest] [--config FILE]
[-m MANIFEST]
[file_id [file_id ...]]
positional arguments:
file_id The GDC UUID of the file(s) to download
optional arguments:
-h, --help show this help message and exit
--debug Enable debug logging. If a failure occurs, the program
will stop.
--log-file LOG_FILE Save logs to file. Amount logged affected by --debug
--color_off Disable colored output
-t TOKEN_FILE, --token-file TOKEN_FILE
GDC API auth token file
-d DIR, --dir DIR Directory to download files to. Defaults to current
directory
-s server, --server server
The TCP server address server[:port]
--no-segment-md5sums Do not calculate inbound segment md5sums and/or do not
verify md5sums on restart
--no-file-md5sum Do not verify file md5sum after download
-n N_PROCESSES, --n-processes N_PROCESSES
Number of client connections.
--http-chunk-size HTTP_CHUNK_SIZE, -c HTTP_CHUNK_SIZE
Size in bytes of standard HTTP block size.
--save-interval SAVE_INTERVAL
The number of chunks after which to flush state file.
A lower save interval will result in more frequent
printout but lower performance.
-k, --no-verify Perform insecure SSL connection and transfer
--no-related-files Do not download related files.
--no-annotations Do not download annotations.
--no-auto-retry Ask before retrying to download a file
--retry-amount RETRY_AMOUNT
Number of times to retry a download
--wait-time WAIT_TIME
Amount of seconds to wait before retrying
--latest Download latest version of a file if it exists
--config FILE Path to INI-type config file
-m MANIFEST, --manifest MANIFEST
GDC download manifest file
Manifestファイルの用意
GDC Data Portalからダウンロードしたいファイル情報のManifestを取得する。
Repository
RepositoryページのCasesタブ、Filesタブから条件をチェックしていき欲しいファイルだけにしていく。
ここでは以下の条件で1231個のRNAseqデータを得る。
Cases:
Program:
TCGA
Project:
TCGA-BRCA
Files:
Experimental Strategy:
STAR-count
Access:
Open
Repositoryからファイル選別後
画面右側のManifest
ボタンからManifestファイルをダウンロードする。
Manifestはファイル名やファイルIDなどが記載されているテキストファイルである。
Manifest.txt
download
Manifestファイルを使ってダウンロードを実行する。
# 出力フォルダ作成
mkdir TCGA-BRCA
# ダウンロード
gdc-client download -d TCGA-BRCA -m gdc_manifest.2023-06-28.txt
以下のようにダウンロードが始まる。Caseごとにダウンロードが実行されていく。
開始直後
Errorが出るCaseもあったが、annotationファイルがダウンロードできなかったとのことで、発現マトリクス自体はダウンロードされていた。(annotationファイルは特に使用しないので--no-annotations
オプションを入れておいてもいいかも)
Max retries exceeded
幾つかのCaseはMax retries exceededのエラーが出ていた。
トラブルシューティングのページによると接続がタイムアウトしているとのこと。
Caseごとにフォルダがあり、その中に目的のファイル(ここでは発現マトリクス)がある。
ダウンロードされたフォルダ
1つのフォルダの中身
1サンプル分の発現マトリクスを見てみると、ヘッダー行が6行、遺伝子ID/遺伝子名、count値/TPM値/FPKM値などが入っていた。
発現マトリクス
ファイルIDをサンプルIDへ変換
ダウンロードされたファイルやフォルダの名前は長いIDが付与されており、サンプルID (患者ID)の情報は付随していない。
この長ったらしいファイル名をサンプルIDへ変換するにはSample sheetファイルが必要となる。こちらもGDC Data Portalから取得できる。
手順
-
Repository画面で選別したファイルたちを一括でCartへ入れる。
Add All Files to Cart
を選択。
-
右上のCartの箇所にファイル数が表示される。
-
CartをクリックしてCart内のファイルを扱うページへ移動。
-
画面右中央の
Sample Sheet
をクリックしてダウンロードする。
ちなみにManifestファイルはCart画面からダウンロードしてもよい。
Sample sheet
Sample sheetのFile ID列にフォルダ名、File Name列にファイル名が入っている。Sample ID列もあるのでこれを対応表にすれば変換可能である。
Discussion