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