下载sra数据

今天又要开始摸鱼了。记录下下载sra数据的历程。曲折啊。

下载sra files的目的是为了获得相应的fastq或sam files,进而进行分析。

第1选择 -- Aspera Connect 如果aspera connect不能下载,推荐sratoolkit的prefetch功能。尽量不要用wget或curl下载,速度慢,且有时下载不完全

注意:Aspera>Sratools>ftp

下载sra数据可以用Aspera connect
这是 高速下载sra数据高效的方式之一,可我并没有成功运行。哎,搞了好久,好丧气啊。

#download aspera lastest version:

wget https://download.asperasoft.com/download/sw/connect/3.8.1/ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz

tar xzvf ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.sh

#install aspera in server:

sh aspera-connect-3.8.1.161274-linux-g2.12-64.sh

# add environment variable
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc   

#密钥备份到/home/的家目录(后面会用,否则报错)
cp ~/.aspera/connect/etc/asperaweb_id_dsa.openssh ~/

# check help file
ascp --help 

比如下载SRR949627.sra文件

ascp -v -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l200m [email protected]:/sra/sra instant/reads/ByRun/sra/SRR/SRR949/SRR949627/SRR949627.sra .
# 
如果报ascp: Source file list not specified, exiting,看下最后那个点是否加了,有空格
···
注意:最后那个.一定要有,表示下载后的路径,我的速度大概5M/s,比起wget和prefetch已经是在奔跑了。

可能的报错
ascp: Failed to open TCP connection for SSH, exiting.

Session Stop  (Error: Failed to open TCP connection for SSH)

On many Linux systems the default firewall can be configured with iptables. You will have to allow all incoming and outgoing traffic on UDP port 33001 (or whatever your Aspera UDP port is), which you can do with the following commands:

# iptables -I INPUT -p tcp --dport 33001 -j ACCEPT

# iptables -I OUTPUT -p tcp --dport 33001 -j ACCEPT



## 2 使用命令行ftp下载

##### 1 wget命令

比如


wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871481/SRR1871481.sra

2 SRA toolkit的prefetch命令
# 单个下载 
prefetch -v SRR925811`
# 或批量下载
#for i in `seq 48 62`; 
#do 
#prefetch SRR35899${i} 
#done

还可以多个一起下载
先找到要下载的页面,比如https://www.ncbi.nlm.nih.gov/sra,然后右上角,send to-file,format选择accession list,保存为一个file(默认是SraAccList.txt),然后
prefetch $(

prefetch --option-file id.txt # 下载
另外,还可以尝试geofetch功能,具体见

https://github.com/pepkit/geofetch


总结

虽然相对麻烦,建议还是用Aspera进行下载,速度是真的快。其次是prefetch,最后再是wget

R也很慢。等回头看看有没有快速下载的方法。

利用SRA toolkit 的 prefetch 下载,并指定下载方式为 ascp,命令如下,各种参数的含义自行查看文档(爱看不看)

prefetch -t ascp -a "/home/user/.aspera/connect/bin/ascp|/home/user/.aspera/connect/etc/asperaweb_id_dsa.openssh" --option-file srr.txt -O /opt/user/ncbi
其中-a 参数中必须要用绝对路径写上ascp所在的位置和previte KEY 的位置,如果是正常安装只需要把user替换为自己的用户名。

你可能感兴趣的:(下载sra数据)