首页/实用指南/生命科学数据

NCBI SRA 数据怎么下载?SRR 批量下载和 FASTQ 转换方法

下载 NCBI SRA 数据通常使用 SRA Toolkit。已经有 SRR、ERR 或 DRR 编号时可以直接下载;项目编号则可先通过 Run Selector 获取对应的 Run accession。

1. 安装 SRA Toolkit

进入 NCBI SRA Toolkit 官方安装页面,根据系统选择 Windows、macOS 或 Linux 版本。

安装完成后检查:

bash
prefetch --version
fasterq-dump --version

2. 已经有 SRR 编号

bash
prefetch SRR11180057

下载中断后,重新执行同一条命令即可。

3. 转换成 FASTQ

bash
fasterq-dump --split-files SRR11180057

Paired-end 数据通常会生成:

text
SRR11180057_1.fastq
SRR11180057_2.fastq

指定输出目录:

bash
fasterq-dump --split-files SRR11180057 --outdir ./fastq

4. 直接生成 FASTQ

bash
fasterq-dump --split-files SRR11180057

大文件或网络不稳定时,更适合先执行 prefetch,再使用 fasterq-dump

5. SRR 文件超过 20GB

bash
prefetch SRR11180057 --max-size u

也可以指定上限:

bash
prefetch SRR11180057 --max-size 100g

6. 只有 PRJNA、SRP 或其他项目编号

打开 NCBI SRA Run Selector,搜索项目编号并导出需要的 Run accession。

将 Run 编号保存为 SraAccList.txt

text
SRR11192680
SRR11192681
SRR11192682
SRR11192683
SRR11192684

7. 批量下载多个 SRR

bash
prefetch --option-file SraAccList.txt

取消单个 Run 的默认大小限制:

bash
prefetch --option-file SraAccList.txt --max-size u

8. 批量转换成 FASTQ

macOS / Linux

bash
mkdir -p fastq
while read SRR; do
  fasterq-dump --split-files "$SRR" --outdir ./fastq
done < SraAccList.txt

Windows PowerShell

powershell
New-Item -ItemType Directory -Force fastq
Get-Content SraAccList.txt | ForEach-Object {
    fasterq-dump --split-files $_ --outdir ./fastq
}

9. 检查下载的数据

bash
vdb-validate SRR11180057

10. fasterq-dump 临时目录空间不足

bash
fasterq-dump --split-files SRR11180057 \
  --outdir ./fastq \
  -t /path/to/tmp

11. 提高转换线程数

bash
fasterq-dump --split-files SRR11180057 \
  --outdir ./fastq \
  -e 8

12. 常见问题

prefetch 下载中断

重新执行同一条 prefetch 命令。

Run 超过 20GB

bash
prefetch SRR11180057 --max-size u

有 GSE 编号但不知道 SRR

进入 SRA Run Selector 搜索项目或样本,然后导出 Run accession。

数据需要授权

dbGaP 等受控数据需要先取得对应的访问权限。

SRA 数据仍然无法下载?

如果有一组 SRR / ERR / DRR 编号,或者只有 PRJNA / SRP / GSE 项目链接,但大量数据无法稳定获取,可以通过 DataCrosslane 提交项目链接或 accession 列表进行确认。