NCBI下载一个BIOPROJECT的数据

  1. 下载edirect:
    为了从 NCBI 的 SRA 数据库中批量检索和下载样本信息,我们首先需要使用 NCBI 提供的命令行工具集 Entrez Direct (edirect)。该工具可以在本地通过命令行直接访问 NCBI 的各类数据库。

使用以下命令从 NCBI 官方 FTP 站点下载 edirect 工具的压缩文件:
下载完成后,解压压缩包以获取相关可执行文件:

curl ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.zip -o edirect.zip
unzip edirect.zikp
  1. 提取该项目号的信息
    假设我们希望获取与某个 SRA 项目号(例如:PRJNA898313)相关的所有测序运行(RUN)信息,可以使用 esearch 命令结合 efetch 命令提取这些元数据,并将其输出为 CSV 格式:
./edirect/esearch  -db sra -query  PRJNA898313 | ./edirect/efetch -format runinfo > runinfo.csv

这一步操作会从 SRA 数据库中检索项目编号为 PRJNA898313 的所有记录,并将详细的运行信息(包括运行编号、样本名称、平台、文库类型等)保存为名为 runinfo.csv 的文件,方便后续处理。

3.提取RUNID
在下载数据前,需要先从 runinfo.csv 中提取所有运行编号(Run ID,通常以 SRR 开头),这些编号用于后续的数据下载。

使用以下命令提取第一列并筛选出以 SRR 开头的运行编号:

cat runinfo.csv | cut -d, -f1 | grep SRR > ranids.txt

生成的 ranids.txt 文件中将只包含一列运行编号,每行一个

  1. 生成下载脚本
    有了运行编号之后,我们可以构建一个包含所有 prefetch 命令的下载脚本。prefetch 是 SRA Toolkit 中用于下载原始测序数据的工具。

使用以下命令逐行读取 ranids.txt 中的运行编号并写入下载脚本 download.sh:

cat ranids.txt | while read i ; do echo -e "prefetch $i" >> download.sh; done

生成的 download.sh 脚本中,每行都是一个用于下载对应 SRR 编号数据的命令

5.下载

sh download.sh 或者并行 parallel -j 10 < download.sh
  1. split (fastq-dump)
    数据下载完成后,您可能需要使用 fastq-dump(或 fasterq-dump)将 SRA 格式的文件转换为常用的 FASTQ 格式,并进行后续拆分、比对等分析流程。或者推荐使用更快的工具fasterq-dump
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容