1、准备conda环境与软件

1
2
3
4
5
6
7
8
# 准备download环境
conda create -n download 
conda activate download

# 安装软件
conda install -c hcc aspera-cli
conda install -c bioconda sra-tools
conda install -c conda-forge pigz
  • 以SRR13911909为例

2、aspera下载

2.1 下载链接

1
2
3
4
5
# era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR139/009/SRR13911909/SRR13911909_1.fastq.gz
# era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR139/009/SRR13911909/SRR13911909_2.fastq.gz
# 观察上述链接规律后,可以自动生成下载链接
era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/${id}/${id}_1.fastq.gz
era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/${id}/${id}_2.fastq.gz 

2.2 aspera下载

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
id=SRR13911909

ascp -QT -l 300m -P33001  \
-i ~/miniconda3/envs/download/etc/asperaweb_id_dsa.openssh   \
era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/${id}/${id}_1.fastq.gz  .

ascp -QT -l 300m -P33001  \
-i ~/miniconda3/envs/download/etc/asperaweb_id_dsa.openssh   \
era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/${id}/${id}_2.fastq.gz  .

#最后一个点表示下载文件的储存路径
#如果是其它环境,将download替换为对应环境名即可
#如果是base环境: ~/miniconda3/etc/asperaweb_id_dsa.openssh

使用aspera可以达到百兆的速度,建议首先尝试。但最近试了几次,容易报错,不稳定(报错内容如下);有时候可以。

1
2
# ascp: failed to authenticate, exiting.
# Session Stop  (Error: failed to authenticate)

如上图所示,虽然ebi网站也提供了fastq.gz的ftp链接。但经过尝试后,不建议使用。因为下载不稳定,容易中断(网速极慢)。尽管wget支持断点续传,但是会出现部分序列丢失情况,导致后续步骤报错。当aspera方法暂时不能使用时,建议使用下面介绍的prefetch方法。

2.3 prefetch下载

  • 先下载.sra文件
1
2
3
4
5
id=SRR13911909
# -p 显示进程
# -X 允许下载的文件内存上限
# -O 下载文件的储存路径
prefetch -p -X 35G ${id} -O .
  • 再拆分为fastq.gz文件
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
fasterq-dump --split-files ${id} -p -O  ./

# pigz多线程压缩
ls *fastq | while read id
do
pigz -v $id
done

# 删除sra文件
rm -rf ${id}