批量下载 NCBI sra 文件

本文最近更新地址:
http://blog.csdn.net/tanzuozhev/article/details/51078460

前文
http://blog.csdn.net/tanzuozhev/article/details/51077222
介绍了如何采用 sra-toolkit 下载 sra 文件,但是如果你想下载整个项目的所有样本,应该怎样批量下载呢,下面参考biostar网站的部分回帖,做简单介绍。

R语言 SRAdb 包

参考
https://www.biostars.org/p/93494/

# 安装
source('http://bioconductor.org/biocLite.R')
biocLite('SRAdb')
# 使用
library(SRAdb)
srafile = getSRAdbFile()
con = dbConnect('SQLite',srafile)
# 列举 SRP026197 项目下的所有样本,并写入sqlite数据库
listSRAfile('SRP026197',con)
   study    sample experiment       run                                                                                                           ftp

1 SRP026197 SRS449410 SRX311638 SRR913951 ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX311/SRX311638/SRR913951/SRR913951.sra
2 SRP026197 SRS449476 SRX311704 SRR914066 ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX311/SRX311704/SRR914066/SRR914066.sra
3 SRP026197 SRS449408 SRX311636 SRR913949 ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX311/SRX311636/SRR913949/SRR913949.sra
….
247 SRP026197 SRS449508 SRX311735 SRR914158 ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX311/SRX311735/SRR914158/SRR914158.sra
248 SRP026197 SRS449460 SRX311688 SRR914006 ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX311/SRX311688/SRR914006/SRR914006.sra
249 SRP026197 SRS449509 SRX311736 SRR914160 ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX/SRX311/SRX311736/SRR914160/SRR914160.sra

# 下载数据
getSRAfile('SRP026197',con,fileType='sra')

命令行工具

首先需要下载NCBI的E-utilities工具,这是NCBI所有数据库的API,提供非常丰富的功能,搜索全部NCBI数据库,之前做pubmed的文本挖掘就是用的这个工具。

E-utilities 安装(貌似这个不行了,还是直接用R语言的包吧)

官方文档:http://www.ncbi.nlm.nih.gov/books/NBK179288/
linux和mac没有问题,windows没有试过。

安装

# 这里没有必要非要回到 ~ 目录,也没有必要非要设置 PATH
cd ~
  perl -MNet::FTP -e \
    '$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1); $ftp->login;
     $ftp->binary; $ftp->get("/entrez/entrezdirect/edirect.zip");'

unzip -u -q edirect.zip

 rm edirect.zip
 export PATH=$PATH:$HOME/edirect
 ./edirect/setup.sh

你可能感兴趣的:(NGS)