文章目录
介绍
fastq-dl
接收一个 ENA/SRA 编号(研究、样本、实验或运行),并查询 ENA(通过 数据仓库 API)以确定与之相关的元数据。然后,它会为每个运行下载 FASTQ 文件。对于包含多个运行的样本或实验,用户可以选择性地合并这些运行。
安装
fastq-dl
可以从 Bioconda 获取,我非常推荐您通过这个途径进行安装。
conda create -n fastq-dl -c conda-forge -c bioconda fastq-dl
conda activate fastq-dl
使用
fastq-dl --help
Usage: fastq-dl [OPTIONS]
Download FASTQ files from ENA or SRA.
╭─ Required Options ──────────────────────────────────────────────────────────────────────────╮
│ * --accession -a TEXT ENA/SRA accession to query. (Study, Sample, Experiment, Run │
│ accession) │
│ [required] │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Download Options ──────────────────────────────────────────────────────────────────────────╮
│ --provider [ena|sra] Specify which provider (ENA or SRA) to use. │
│ [default: ena] │
│ --group-by-experiment Group Runs by experiment accession. │
│ --group-by-sample Group Runs by sample accession. │
│ --max-attempts -m INTEGER Maximum number of download attempts. [default: 10] │
│ --sra-lite Set preference to SRA Lite │
│ --only-provider Only attempt download from specified provider. │
│ --only-download-metadata Skip FASTQ downloads, and retrieve only the │
│ metadata. │
│ --ignore -I Ignore MD5 checksums for downloaded files. │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Additional Options ────────────────────────────────────────────────────────────────────────╮
│ --outdir -o TEXT Directory to output downloads to. [default: ./] │
│ --prefix TEXT Prefix to use for naming log files. [default: fastq] │
│ --cpus INTEGER Total cpus used for downloading from SRA. [default: 1] │
│ --force -F Overwrite existing files. │
│ --silent Only critical errors will be printed. │
│ --sleep -s INTEGER Minimum amount of time to sleep between retries (API query and │
│ download) │
│ [default: 10] │
│ --version -V Show the version and exit. │
│ --verbose -v Print debug related text. │
│ --help -h Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯
fastq-dl
需要一个 ENA/SRA 的研究、样本、实验或运行的编号,它会下载该编号下所有运行的 FASTQ 文件。例如,如果提供了一个研究编号,那么该研究下的所有运行都会被下载。默认情况下,fastq-dl
会先尝试从 ENA 下载,如果失败则从 SRA 下载。
–accession
您希望下载相关FASTQ文件的编号。目前接受以下类型的编号。
Accession Type | Prefixes | Example |
---|---|---|
BioProject | PRJEB, PRJNA, PRJDB | PRJEB42779, PRJNA480016, PRJDB14838 |
Study | ERP, DRP, SRP | ERP126685, DRP009283, SRP158268 |
BioSample | SAMD, SAME, SAMN | SAMD00258402, SAMEA7997453, SAMN06479985 |
Sample | ERS, DRS, SRS | ERS5684710, DRS259711, SRS2024210 |
Experiment | ERX, DRX, SRX | ERX5050800, DRX406443, SRX4563689 |
Run | ERR, DRR, SRR | ERR5260405, DRR421224, SRR7706354 |
这些编号使用了 ENA 培训模块 - 编号 部分中的正则表达式。
–provider
fastq-dl
提供了从 ENA 或 SRA 下载的选项。--provider
选项将指定您希望首先尝试从哪个提供者下载。如果从第一个提供者下载失败,将使用另一个提供者进行额外的尝试。
默认选择 ENA 作为提供者,因为 FASTQ 文件可以直接获取,无需转换。
–only-provider
默认情况下,fastq-dl
会回退到一个次要提供者来尝试下载。在某些情况下,您可能希望禁用此功能,这正是 --only-provider
的用途。当使用此选项时,如果无法从原始提供者下载 FASTQ 文件,则不会进行额外的尝试。
–group-by-experiment & --group-by-sample
有时您可能希望根据实验或样本的编号来分组运行编号。这将根据运行编号相关的实验编号(--group-by-experiment
)或样本编号(--group-by-sample
)来合并与运行编号相关的FASTQ文件。
–sra-lite
从SRA下载的数据提供SRA标准化和SRA Lite格式。SRA标准化是原始格式,包含完整的碱基质量分数;而SRA Lite由于将质量分数简化为统一的Q30,所以文件更小。默认情况下,偏好设置为SRA标准化,如果您更倾向于SRA Lite,可以使用--sra-lite
将偏好设置为SRA Lite
输出文件
Extension | Description |
---|---|
-run-info.tsv | Tab-delimited file containing metadata for each Run downloaded |
-run-mergers.tsv | Tab-delimited file merge information from --group-by-experiment or --group-by-sample |
.fastq.gz | FASTQ files downloaded from ENA or SRA |
案例
Download FASTQs associated with a Study
有时候,您可能在阅读一篇论文,作者非常贴心地提供了他们测序的所有样本的 BioProject 编号。于是,您决定想要下载与该 BioProject 编号相关的所有样本的 FASTQ 文件。fastq-dl
可以帮您做到这一点!
fastq-dl --accession PRJNA248678 --provider SRA
fastq-dl --accession PRJNA248678
上述命令将下载属于研究编号 PRJNA248678 下的3个运行的文件,可以从SRA(使用--provider SRA
)或ENA(不使用--provider
)下载。
Download FASTQs associated with an Experiment
假设您不想下载整个 BioProject,而只想下载其中的一个实验。您也可以做到这一点。
fastq-dl --accession SRX477044
上述命令将下载属于实验编号 SRX477044 下的运行编号,这些文件来自 ENA。
实验编号与运行编号之间的关系是一对多的关系,也就是说,一个实验编号可以关联多个运行编号(例如,对同一个样本进行重复测序)。尽管在大多数情况下,这种关系是一对一的,但您可以使用 --group-by-experiment
选项,将与实验编号相关的多个运行编号合并到一个FASTQ文件中。
Download FASTQs associated with an Sample
好的,这次您可能只想下载一个样本(Sample)或生物样本(BioSample)。
fastq-dl --accession SRS1904245 --provider SRA
上述命令将从SRA下载属于样本编号SRS1904245的运行编号。
与实验编号类似,样本编号与运行编号之间的关系也是一对多的关系,即一个样本编号可以关联多个运行编号。尽管在大多数情况下,这种关系是一对一的,但您可以使用--group-by-sample
将与样本编号相关的多个运行编号合并到一个FASTQ文件中。
**警告!**对于某些类型菌株(例如S. aureus USA300),一个生物样本编号可能与成百上千个运行编号相关联。这些运行编号可能与许多不同的条件相关,因此不应该归于一个单一的生物样本编号下。在使用--group-by-sample
时,请务必考虑这一点。
Download FASTQs associated with a Run
让我们保持简单,只下载一个运行(Run)。
fastq-dl --accession SRR1178105 --provider SRA
上述命令将从 SRA 下载运行编号 SRR1178105。运行编号是最终的层级(一对一关系),因此您总是会得到预期的运行。
参考
- https://github.com/rpetit3/fastq-dl