Archives

Categories

数据高速上传下载的利器:Aspera及其在生命科学中的应用

一、Aspera 介绍

Aspera是IBM公司的一款高速传输软件,在 2013年被IBM收购 前属于Aspera, Inc 公司。

IBM® Aspera® 快速文件传输使企业能够利用现有的 WAN 基础架构,以可预测、可靠且安全的传送方式,快速传输大型文件和数据集(不论是结构化还是非结构化数据),而与文件大小、传输距离和网络状况无关。该文件传输软件包含客户端和服务器软件包,可以使用状态不佳的网络,跨多个位置(甚至是远程位置),传输对时间要求严格的文件。

本材料来源:http://www-03.ibm.com/software/products/zh/high-speed-file-transfer

一句话:就是传输速度快,基本可以占满客户的带宽。

二、Aspera 在生命科学领域内的应用

NCBI(数据下载接口)/ENA/GigaScience 等都采用Aspera技术提供数据下载服务。

三、 下载安装

这部分内容只包含Linux(测试平台: CentOS 7 操作系统)平台的安装以及常用数据的操作,NCBI提供了Web接口,通过浏览器插件也可以很方便的下载数据。

下载和安装:

wget  http://download.asperasoft.com/download/sw/connect/3.7.2/aspera-connect-3.7.2.141527-linux-64.sh
sh aspera-connect-3.7.2.141527-linux-64.sh

如需其它平台请移步: http://downloads.asperasoft.com/en/downloads/8?list

文件会被安装在:/home/biostack/.aspera 目录 目录结构如下:

.
└── connect
    ├── bin
    ├── etc
    ├── iso-swid
    ├── lib
    ├── localization
    ├── notices.txt
    ├── plugins
    ├── product-info.mf
    ├── res
    └── var

9 directories, 2 files

默认路径是浏览器可以找到的目录,如果不是有浏览器插件,只使用命令行工具 ascp , 那可以随便将 .aspera 拷贝任何目录: 比如:

mv connect aspera-connect-3.7.2
mv aspera-connect-3.7.2 /biostack/tools/utils
export PATH=/biostack/tools/utils/aspera-connect-3.7.2/bin:$PATH

这样就可以愉快的使用命令行工具了:

$ascp -h
Usage: ascp [OPTION] SRC... DEST
          SRC to DEST, or multiple SRC to DEST dir
          SRC, DEST format: [[user@]host:]PATH
  -h,--help                       Display usage
  -A,--version                    Display version.
  -T                              Disable encryption
  -d                              Create target directory, implied for file/file-pair lists
  -p                              Preserve file timestamp
  -q                              Disable progress display
  -v                              Verbose mode
  -6                              Use IPv6
  -D...                           Debug level
  -l MAX-RATE                     Max transfer rate
  -m MIN-RATE                     Min transfer rate
                                  RATE: G/g(gig),M/m(meg),K/k(kilo)
  -u USER-STRING                  User-specific string

这样还不够,如果你有管理权权限的话:

sudo cp etc/asperaweb_id_dsa.openssh  /etc/asperaweb_id_dsa.openssh

这样会比较方便,没有也没有关系:记住asperaweb_id_dsa.openssh 路径:/biostack/tools/utils/aspera-connect-3.7.2/etc/asperaweb_id_dsa.openssh 就可以了。

下面介绍下如何下载NCBI和ENA的数据。

四、NCBI和ENA 下载/上传

为什么一定要掌握Aspera这款工具呢? 上传原始数据到NCBI SRA 数据库, 如果数据库超过10G,需要采用”preload” 模式, 即先上传到申请的目录, 然后在从文件夹选择文件完成上传。

NCBI

下载NCBI家的数据, 比如 BLAST 程序: 先前我们需要这样下载:

wget  ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.6.0/ncbi-blast-2.6.0+-x64-linux.tar.gz

现在我们可以这样:

ascp -i /etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m anonftp@ftp.ncbi.nlm.nih.gov:/blast/executables/blast+/2.6.0/ncbi-blast-2.6.0+-x64-linux.tar.gz .

上传数据时需要预先申请 ”preload 目录”, 比如:

ascp -i /etc/asperaweb_id_dsa.openssh  --overwrite=diff  -QT -l1000m -k1 -d  upload_R1.fastq.gz  subasp@upload.ncbi.nlm.nih.gov:uploads/申请目录/PRJNAXXXXXXX/

只需要将: 申请目录替换成提交SRA申请到的目录就可以了, PRJNAXXXXXXX 一般设置成申请到的项目名称。

现在应该会下载和上传了,但是,有时候记住那么多东西很麻烦,每次执行其实就是替换我们的下载ftp地址,使用脚本程序可以简化接口,比如:

ascp_ncbi_download ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.6.0/ncbi-blast-2.6.0+-x64-linux.tar.gz

那如果 SRA/SRP/SRX 呢,其实熟悉NCBI FTP 目录的应该很容易想到直接告诉脚本SRA/SRP/SRX号就可以直接找到具体目录进行下载 比如:

ascp_sra  ERR000002  ERR000001

然后自动翻译成:

ascp -i /etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m anonftp@ftp.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/ERR/ERR000/ERR000002  ./
ascp -i /etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m anonftp@ftp.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/ERR/ERR000/ERR000001  ./

进行下载.

这样够简单吧。

ENA

有NCBI为什么还要使用ENA呢,ENA和NCBI数据存储方式不同,illumina数据ENA提供了fastq.gz存储, NCBI统一成了sra, 下一篇文章介绍下, NCBI的 SRA Toolkit 以及如何 hack 结果。

ENA的数据下载可以参考:http://www.internationalgenome.org/faq/how-download-ena-files-using-aspera/

还以ERR000002 ERR000001为例子很像

直接命令行模式:

ascp -i /etc/asperaweb_id_dsa.openssh –overwrite=diff -QTr -l6000m -P33001 era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR208/002/SRR2088062/SRR2088062_1.fastq.gz .

同样,我们可以简单化:

ascp_ena_download ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR208/002/SRR2088062/SRR2088062_1.fastq.gz

五、几点说明

1. 选用ENA的fastq还是NCBI的sra在Twitter上讨论过很多,很多人倾向于fastq格式,sra后续处理还存在各种问题,可参考: https://gist.github.com/lh3/acf621374581be03f0de654c45cf5ca8

2. 经过广泛测试 Windows 平台的客户端下载NCBI SRA 数据不光从稳定还是易用性来说,要好不少,续传问题也很灵活。

本文材料为 BASE (Biostack Applied bioinformatic SEies ) 课程 Linux Command Line Tools for Life Scientists 材料, 版权归 上海逻捷信息科技有限公司 所有

Last Update: 2017-09-19 1:52 PM

Comments are closed.