本文近期更新地址:
前文
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