Gene Expression Omnibusは、二次解析のための重要な生物学的データ源となっている。しかし、Gene Expression Omnibus (GEO)からデータやメタデータを標準的なアノテーションフォーマットでダウンロードするシンプルでプログラム的な方法は存在しない。GEOfetchは、GEOとSRAからデータとメタデータをダウンロードし、整理するコマンドラインツールである。GEOfetchは、ダウンロードしたメタデータをPortable Encapsulated Projectとしてフォーマットし、公共データの再解析のための普遍的なフォーマットを提供する。GEOfetchはBiocondaとPython Package Index (PyPI)で公開されている。
Documentation
http://geofetch.databio.org/en/latest/
GEOfetchの特徴(Documentationより)
- GEOとSRAのメタデータに対応
- 異なるプロジェクトからのサンプルを結合
- 出力メタデータの標準化
- ダウンロードする前に処理されたファイルの種類とサイズでフィルタリング
- 簡単な操作
- 高速な実行時間
- GEOを検索し、関連するデータを見つけることが可能
- コマンドラインのツールとして、またはAPIとしてPython上で使用できる
インストール
mambaで環境を作って導入した(ubuntu18)。
#conda(link)
mamba create -n geofetch -y
conda activate geofetch
mamba install -c bioconda geofetch -y
#生データのダウンロードにはsratoolkitも必要
mamba install -c bioconda sra-tools -y
#pip(link)
pip install geofetch
> geofetch -h
$ geofetch -h
usage: geofetch [<args>]
The example how to use geofetch (to download GSE573030 just metadata):
geofetch -i GSE67303 -m <folder> --just-metadata
To download all processed data of GSE57303:
geofetch -i GSE67303 --processed --geo-folder <folder> -m <folder>
Automatic GEO and SRA data downloader
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-i INPUT, --input INPUT
required: a GEO (GSE) accession, or a file with a list of GSE numbers
-n NAME, --name NAME Specify a project name. Defaults to GSE number
-m METADATA_ROOT, --metadata-root METADATA_ROOT
Specify a parent folder location to store metadata. The project name will be added as a subfolder [Default: $SRAMETA:]
-u METADATA_FOLDER, --metadata-folder METADATA_FOLDER
Specify an absolute folder location to store metadata. No subfolder will be added. Overrides value of --metadata-root.
--just-metadata If set, don't actually run downloads, just create metadata
-r, --refresh-metadata
If set, re-download metadata even if it exists.
--config-template CONFIG_TEMPLATE
Project config yaml file template.
--pipeline-samples PIPELINE_SAMPLES
Optional: Specify one or more filepaths to SAMPLES pipeline interface yaml files. These will be added to the project config file to make it immediately compatible with
looper. [Default: null]
--pipeline-project PIPELINE_PROJECT
Optional: Specify one or more filepaths to PROJECT pipeline interface yaml files. These will be added to the project config file to make it immediately compatible with
looper. [Default: null]
--disable-progressbar
Optional: Disable progressbar
-k SKIP, --skip SKIP Skip some accessions. [Default: no skip].
--acc-anno Optional: Produce annotation sheets for each accession. Project combined PEP for the whole project won't be produced.
--discard-soft Optional: After creation of PEP files, all .soft files will be deleted
--const-limit-project CONST_LIMIT_PROJECT
Optional: Limit of the number of the constant sample characters that should not be in project yaml. [Default: 50]
--const-limit-discard CONST_LIMIT_DISCARD
Optional: Limit of the number of the constant sample characters that should not be discarded [Default: 250]
--attr-limit-truncate ATTR_LIMIT_TRUNCATE
Optional: Limit of the number of sample characters.Any attribute with more than X characters will truncate to the first X, where X is a number of characters [Default: 500]
--add-dotfile Optional: Add .pep.yaml file that points .yaml PEP file
--max-soft-size MAX_SOFT_SIZE
Optional: Max size of soft file. [Default: 1GB]. Supported input formats : 12B, 12KB, 12MB, 12GB.
--max-prefetch-size MAX_PREFETCH_SIZE
Argument to pass to prefetch program's --max-size option, if prefetch will be used in this run of geofetch; for reference: https://github.com/ncbi/sra-
tools/wiki/08.-prefetch-and-fasterq-dump#check-the-maximum-size-limit-of-the-prefetch-tool
--silent Silence logging. Overrides verbosity.
--verbosity V Set logging level (1-5 or logging module level name)
--logdev Expand content of logging message format.
processed:
-p, --processed Download processed data [Default: download raw data].
--data-source {all,samples,series}
Optional: Specifies the source of data on the GEO record to retrieve processed data, which may be attached to the collective series entity, or to individual samples.
Allowable values are: samples, series or both (all). Ignored unless 'processed' flag is set. [Default: samples]
--filter FILTER Optional: Filter regex for processed filenames [Default: None].Ignored unless 'processed' flag is set.
--filter-size FILTER_SIZE
Optional: Filter size for processed files that are stored as sample repository [Default: None]. Works only for sample data. Supported input formats : 12B, 12KB, 12MB, 12GB.
Ignored unless 'processed' flag is set.
-g GEO_FOLDER, --geo-folder GEO_FOLDER
Optional: Specify a location to store processed GEO files. Ignored unless 'processed' flag is set.[Default: $GEODATA:]
raw:
-x, --split-experiments
Split SRR runs into individual samples. By default, SRX experiments with multiple SRR Runs will have a single entry in the annotation table, with each run as a separate row
in the subannotation table. This setting instead treats each run as a separate sample
-b BAM_FOLDER, --bam-folder BAM_FOLDER
Optional: Specify folder of bam files. Geofetch will not download sra files when corresponding bam files already exist. [Default: $SRABAM:]
-f FQ_FOLDER, --fq-folder FQ_FOLDER
Optional: Specify folder of fastq files. Geofetch will not download sra files when corresponding fastq files already exist. [Default: $SRAFQ:]
--use-key-subset Use just the keys defined in this module when writing out metadata.
--add-convert-modifier
Add looper SRA convert modifier to config file.
実行方法
指定した番号のGSEの生データとメタデータを両方ダウンロードする。処理済み(link)のファイルをダウンロードしたい場合は"-processed"を追加する。マニュアルではこの研究が例に使用されている。
#raw data
geofetch -i GSE95654
#processed data
geofetch -i GSE95654 --processed --geo-folder outdir
- --processed Download processed data [Default: download raw data].
-
--geo-folder <GEO_FOLDER> Optional: Specify a location to store processed GEO files. Ignored unless 'processed' flag is set.[Default: $GEODATA:]
processedなし。
それぞれのディレクトリ内に.sraファイルが収納されている。fastq-dumpでfastqに変換して使用する。
processedあり
outdir/
メタデータのみダウンロードするには"--just-metadata"を付ける。
geofetch -i GSE95654 --just-metadata -m `pwd`
- --just-metadata If set, don't actually run downloads, just create metadata
-
-m <METADATA_ROOT> Specify a parent folder location to store metadata. The project name will be added as a subfolder [Default: $SRAMETA:]
出力
GSE95654/
softファイルはGEOからの直接出力で、実験(_GSE)と個々のサンプル(_GSM)の両方について、GEOによって保存されたすべてのメタデータを含んでいる。
GSE95654_SRA.csv
GSE95654_samples/GSE95654_samples.csv
引用
GEOfetch: a command-line tool for downloading data and standardized metadata from GEO and SRA
Oleksandr Khoroshevskyi, Nathan LeRoy, Vincent P Reuter, Nathan C Sheffield
Bioinformatics, Volume 39, Issue 3, March 2023, Published: 01 March 2023
関連