linux下使用Aspera Connect、wget和lftp下载sra数据

时间:2024-12-16 21:53:58

参考链接:/p/680e8d720516

1. 下载Aspera Connect:在命令行输入如下命令

wget /download/sw/connect/3.7.4/aspera-connect-3.7.4.147727-linux-

2. 解压:

tar zxvf aspera-connect-3.7.4.

3. 安装:

bash aspera-connect-3.7.4.

4. 查看是否有.aspera文件夹,去根目录,输入:ls -a #,若看到.aspera文件夹,代表安装成功

5. 永久添加环境变量:

打开~/.bashrc文件,y用vi ~/.bashrc

输入i,切换成编辑命令

export PATH=~/.aspera/connect/bin:$PATH' 

Esc,回到命令行

:wq,保存退出

~/.bashrc, 让配置生效

6. 查看帮助文档,验证是否可以调用:

ascp --help

PS:我输入这个命令出现

所以我进行如下操作

之后输入:.aspera/connect/bin/ascp --help 命令就能正常使用aspera工具。

根据 SRA 数据产生的特点,将 SRA 数据分为四类:

Studies-- 研究课题

Experiments-- 实验设计

Samples-- 样品信息

Runs-- 测序结果集

这四种分类有一个层次关系。首先是 Studies->Experiments->Samples->Runs。这也是一个研究

项目正常的逻辑关系。大家要了解这个层级关系, SRA 数据库用不同的前缀加以区分:

ERP 或 SRP 表示 Studies;

SRS 表示 Samples;

SRX 表示 Experiments;

SRR 表示 Runs。

下载工具准备好了,但是我使用的是我师兄的aspera工具,所以我的下载链接从他那边得到。下载步骤如下(由于服务器原因以下步骤的代码仅限于我本电脑使用,你们使用会出错的):

1. 从NCBI上面获得SRA序列号,在sra数据库输入关键词下载,序列号放在文件中下载下来

2. 根据脚本语言把里面的序列号转成aspera下载的地址链接,注意序列号要格式统一,每行一个序列号且没有空格转换命令:perl /share/home/cuiyong/perl_soft/ 文件名

3. 然后根据里面的命令去下载,在linux控制台打开这个文件用less ,复制黏贴里面的命令到控制台可以直接下载(下载前去查看SRA文件是否存在,有可能序列号在但是没有文件夹,查看序列号文件夹网址ftp:///sra/sra-instant/reads/ByRun/sra/SRR)。

2020.12.7分割线------------

NCBI这个数据库存放sra数据的目录更改了,要用这个网址查看序列号是否存在:ftp:///vol1/fastq

同样已知sra序列号可以去ENA查看下载链接地址用这个:/ena/browser/view/

现在sra数据可以存放NCBI,也有存放sra-sos的,这里我打算写下重新下载sra数据的方法,可以用sratoolkit的prefetch,还可以用lftp,wget,其中wget最慢。

1、prefetch下载sra数据

直接在服务器你的目录下输入:

prefetch SRR5831951

也就是prefetch+序列号,这个下载的数据会在home目录下生成一个ncbi的文件夹,下载的数据存放在/ncbi/public/sra

2、wget下载sra数据

在你要存放数据的文件夹下用wget+下载链接地址,下载链接地址在ncbi搜索sra序列号,得到结果,有个send to保存文件,选择RunInfo会生成一个csv文件下载到本地,打开这个文件里面就有你要的链接地址,在服务器输入:

wget https:///sos2/sra-pub-run-11/SRR5831951/SRR5831951.1

 

这样数据就下载到你当前打开的文件下,这个方法虽然慢,但是它可以下载sra-sos的数据。

3、lftp下载sra数据

首先要安装lftp,这个安装步骤在我另外一个博文里:/console/editor/html/110736977(安装已解决,不过是我们服务器的管理员安装的lftp)

安装成功后,就可以在你存放文件数据的目录下输入:

lftp ftp:///vol1/fastq/SRR583/001/SRR5831951

输入后会到这个ftp:///vol1/fastq/SRR583/001/SRR5831951网站,就到ncbi服务器下了,然后按照以下代码,可以查看数据和下载

  1. [wuchan@login A2literatureSRA]$ lftp ftp:///vol1/fastq/SRR583/001/SRR5831951
  2. cd ok, cwd=/vol1/fastq/SRR583/001/SRR5831951
  3. lftp :/vol1/fastq/SRR583/001/SRR5831951> ls
  4. -rw-r--r-- 1 ftp ftp 2839405306 Oct 08 2017 SRR5831951_1.
  5. -rw-r--r-- 1 ftp ftp 2798460951 Oct 08 2017 SRR5831951_2.

我这里看到是把数据已经分成两个fastq文件,所以我就直接下载fastq,lftp的一些命令使用参考这两个网址:/fiberhome/p/

/linn/p/

后面我就用

get SRR5831951_2.

数据可以下载了,但是我发现网速也很慢,都不到1M(终于把lftp下载方法弄明白,到头来网速还没有wget的快,我上午用wget下载都可以到1M,目前不知道网速慢的原因)。下载完成退出用exit。

可以用多线程下载

pget -n 5 -c SRR5831982_1. #pget指多线程下载,-n 5是将最大连接数设置为5个,最多也是5个,缺省默认5个,-c是下载中断继续

一些下载问题

1)wget下载中断,如何重新下载,wget -c 原来的下载链接(参考:/?p=1569

2)lftp下载中断,get -c 原来下载的文件(参考:如何使用 lftp 来加速 ftp/https 下载速度 /f8qg7f9yd02pe/article/details/79386781

参考:/weixin_43745169/article/details/93311701#comments_14082892

放一个我下午五点看到的一个网址,里面有介绍 enaBrowserTools下载存放在ebi的sra数据:/p/35e656d3c847