用Aspera批量下载数据
1、下载Aspera
环境:Linux
-
用conda直接下载
conda install -c aspera-cli
-
手动下载
参考:
https://blog.csdn.net/u011262253/article/details/107190684
https://www.jianshu.com/p/8dca09077df3#wget下载 wget https://download.asperasoft.com/download/sw/connect/3.9.9/ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.tar.gz #解压 tar -zxvf ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.tar.gz #运行 ./ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.sh #配置环境 echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc source ~/.bashrc #配置密钥 mkdir /home/clmg/.aspera/config/ cp ~/.aspera/connect/etc/asperaweb_id_dsa.openssh /home/clmg/.aspera/config/ #~/.aspera/connect/etc/asperaweb_id_dsa.openssh是你的密钥,cp是把它复制到了/home/clmg/.aspera/config/,所以我的密钥在/home/clmg/.aspera/config/asperaweb_id_dsa.openssh
2、获取地址
以GSE126958为例
-
去ENA搜索数据:https://www.ebi.ac.uk/ena/browser/view/
选择fastq_aspera,出现开始地址
这个地址不可用于直接下载
-
构建可下载地址
-
新建txt(我的叫ebi.txt),将你想要的数据的Fastq Aspera地址复制进去并保存
例:
-
编写一个py脚本
打开pycharm(我的工作路径为E:\pythonProject\practice)
新建一个python file,叫’down’
将其写入
with open("C:/Users/Administrator/Desktop/ebi.txt") as f: with open('url.txt','w+',newline='') as g: for i in f.readlines(): a = "era-fasp@"+i g.write(a) #C:/Users/Administrator/Desktop/ebi.txt:是我建立的ebi,txt的位置
右键Run ‘down’
会在工作路径下生成一个url.txt,也就是下载地址
-
3、开始下载
我的目录:/home/clmg
#新建一个名叫data的文件夹
mkdir data
将url拖入
-
用conda下载的aspera下载
cd /home/clmg/data cat url.txt | while read id; do (ascp -QT -l 300m -P33001 -i /home/clmg/miniconda3/envs/Chip-seq/etc/asperaweb_id_dsa.openssh ${id} . );done
速度快到飞起~~~~
-
用手动下载的aspera下载
cd /home/clmg/data cat url.txt |while read id; do (ascp -QT -l 300m -P33001 -i /home/clmg/.aspera/config/asperaweb_id_dsa.openssh ${id} .);done
-i 是密钥文件路径;如果用conda下载aspera,一般在你的conda环境的etc目录下。我的环境叫Chip-seq,密钥路径是:/home/clmg/miniconda3/envs/Chip-seq/etc;手动下载请看步骤1。
-QT 不显示进度
-l 传输上限
-P33001 SSH传输端口,默认
. 在当前目录下执行