测序数据下载工具——aspera或prefetch从SRA或ENA数据库下载NGS测序原始数据的方法

写在前面

  • 下面所有内容均是在老师提供的账号上,根据课堂内容进行和完成的
  • 部分文件为老师提供
    安装方式均选择了一种进行上机演示

1. Aspera高速下载工具的安装和使用

  • 作为主流的生物数据库,NCBI和ENA存储了大量的生物序列或测序数据。有些高通量测序数据,动辄几百Mb,甚至于几个Gb,在传输的时候往往耗费不少时间。
  • IBM Aspera FASP技术,能够突破网络传输瓶颈,以最大速度传输文件链接: https://www.ibm.com/products/aspera;是我们下载这些数据的理想选择。

1.1.安装

1.1.1. conda安装
  • 对于Aspera Connect软件包,可以使用Conda进行搜索和安装。
  1. 首先,使用以下命令在Conda上搜索可安装的Aspera版本:

    conda search aspera* -c hcc
    

    这将显示可用的Aspera软件包及其版本。

  2. 选择想要安装的版本,并使用以下命令进行安装(以4.2.6版为例):

    conda install aspera=4.2.6 -c hcc
    

    你可以将版本号替换为自己所需要的版本号。

  • Conda会自动解决依赖关系并安装Aspera Connect软件包。

  • 完成安装后,可以按照Aspera Connect的官方文档使用它。

1.1.2. 预编译安装
  1. 确保你已经安装了wget工具。安装了就省略这一步,如果没有安装,使用以下命令进行安装:

    sudo apt update
    sudo apt install wget
    
  2. 使用以下命令下载Aspera Connect软件包(自行选择版本下载):

    wget https://d3gcli72yxqn2z.cloudfront.net/downloads/connect/latest/bin/ibm-aspera-	connect_4.2.6.393_linux_x86_64.tar.gz
    #4.2.7版:wget https://d3gcli72yxqn2z.cloudfront.net/downloads/connect/latest/bin/ibm-aspera-connect_4.2.7.445_linux_x86_64.tar.gz
    
  3. 下载完成后,解压缩软件包:

    tar -zxvf ibm-aspera-connect_4.2.6.393_linux_x86_64.tar.gz
    
  4. 运行安装脚本:

    bash ./ibm-aspera-connect_4.2.6.393_linux_x86_64.sh
    
  5. 完成安装后,可以使用以下命令检查ascp命令的帮助信息:

    ~/.aspera/connect/bin/ascp -h
    
  6. 执行以下命令将ascp命令添加到系统路径中:

    echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
    source ~/.bashrc
    
  7. 显示ascp命令的帮助信息,这样你就可以在任何位置使用ascp命令了:

    ascp -h
    
1.1.3. 上机演示
  • 老师已经提前为我们准备好了预编译的安装包,我直接复制过来解压缩的
  • 我在运行命令bash ./ibm-aspera-connect_4.2.6.393_linux_x86_64.sh后显示
    Installing IBM Aspera Connect
    
    Deploying IBM Aspera Connect (/disk1/user202131107010081/.aspera/connect) for the current user only.
    Unable to update desktop database, IBM Aspera Connect may not be able to auto-launch
    
    Install complete.
    
    意思是:
    IBM Aspera Connect已经成功安装,并放置在当前用户的目录下(/disk1/user202131107010081/.aspera/connect)。
    然而,由于更新桌面数据库失败,可能导致IBM Aspera Connect无法自动启动。

在这里插入图片描述
在这里插入图片描述

1.2. 使用

  • 最近aspera从SRA数据库下载的时候,总是显示出错信息:
    ascp: Failed to open TCP connection for SSH, exiting.
    Session Stop (Error: Failed to open TCP connection for SSH)
    
  • 解决办法:
1.2.1. ENA数据库检索数据文件和下载
1.2.2. 步骤详解
  1. 在ENA主页输入SRA号,搜索
    在这里插入图片描述
  2. 在Show column Selection中,勾选
    • fastq_aspera
    • sra_aspera
    • Download report中,选择TSV

在这里插入图片描述在这里插入图片描述
3. 在下载的report文件中,得到fasp下载链接

  • 一个是fastq格式的,一个是sra格式的
    在这里插入图片描述
1.2.3. 从ENA数据库下载SRR6208854文件指令示例
  1. ascp下载
    • 注意ascp常用参数的使用,了解-P参数, -k 和-i参数的运用
    ascp -P 33001 -k 1 -l 200m -T -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR620/004/SRR6208854/SRR6208854.fastq.gz ./
    #了解ascp常用参数
    #ascp -h
    
  2. 解压查看原始测试数据
    gunzip -c /disk1/shares/SRR6208854.fastq.gz |less
    

1.3. aspera connect下载

  • 参考链接:https://ena-docs.readthedocs.io/en/latest/retrieval/file-download.html#using-aspera
  • 使用
    ##用法:
    ascp [option] source destination
    ##重要参数:
    -P	TCP port used for SSH authentication
    #eg:使用端口号1234进行身份验证:ascp -P 1234 source destination
    -Q	Enable fair transfer policy
    -T	Disable encryption
    #eg:禁用加密进行传输:ascp -T source destination
    -i	Private-key file name (id_rsa)
    #eg:使用名为id_rsa的私钥文件进行传输:ascp -i id_rsa source destination
    -k	Resume criterion: 0,3,2,1
    -l	Max transfer rate
    #eg:限制传输速率为1Mbps:ascp -l 1000000 source destination
    
1.3.1. 读取访问密钥文件
  • 4.2版本以上的aspera connect不提供asperaweb_id_dsa.openssh文件了
  • 我在biostars上看到关于此问题解决的一条评论,觉得很有帮助(参考内容链接:https://www.biostars.org/p/93482/

在这里插入图片描述
我想我应该在这里添加一个评论,因为我相信这是一个更普遍的问题,仍然可能以其他方式发生,而不是上面解决的。当Aspera Connect命令行客户端(ascp)无法读取或访问密钥文件时,它似乎在每种情况下都通过请求密码短语来响应。如果这种情况发生在你身上,这里有一些方法可以尝试:

  • 您是否使用最新版本的客户端和正确的密钥文件?(例如,不要像上面讨论的那样使用带有最新代码的putty版本的密钥)。
  • 给出密钥文件的完整路径——我没有在所有情况下都测试过,但在我的MacBook上,ascp客户端无法解析与密钥文件的相对关系,只有在我给出完整路径时才有效。通配符可以工作,因为它被shell解析为完整路径。
  • 确保密钥文件的权限/所有权是正确的。当前用户应该拥有该文件并具有读取权限。
    这可能会让人感到困惑,因为ascp从不抱怨丢失的文件或糟糕的权限,但如果它要求一个密码短语,那可能是因为它找不到/读取密钥文件。

解决方式

  • 将下面的字符存入~/.aspera/connect/etc/asperaweb_id_dsa.openssh即可
-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQDkKQHD6m4yIxgjsey6Pny46acZXERsJHy54p/BqXIyYkVOAkEp
KgvT3qTTNmykWWw4ovOP1+Di1c/2FpYcllcTphkWcS8lA7j012mUEecXavXjPPG0
i3t5vtB8xLy33kQ3e9v9/Lwh0xcRfua0d5UfFwopBIAXvJAr3B6raps8+QIVALws
yeqsx3EolCaCVXJf+61ceJppAoGAPoPtEP4yzHG2XtcxCfXab4u9zE6wPz4ePJt0
UTn3fUvnQmJT7i0KVCRr3g2H2OZMWF12y0jUq8QBuZ2so3CHee7W1VmAdbN7Fxc+
cyV9nE6zURqAaPyt2bE+rgM1pP6LQUYxgD3xKdv1ZG+kDIDEf6U3onjcKbmA6ckx
T6GavoACgYEAobapDv5p2foH+cG5K07sIFD9r0RD7uKJnlqjYAXzFc8U76wXKgu6
WXup2ac0Co+RnZp7Hsa9G+E+iJ6poI9pOR08XTdPly4yDULNST4PwlfrbSFT9FVh
zkWfpOvAUc8fkQAhZqv/PE6VhFQ8w03Z8GpqXx7b3NvBR+EfIx368KoCFEyfl0vH
Ta7g6mGwIMXrdTQQ8fZs
-----END DSA PRIVATE KEY-----
1.3.2. 输入指令和上机演示

输入以下指令进入文本编辑

nano ~/.aspera/connect/etc/asperaweb_id_dsa.openssh

输入以下字符:

-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQDkKQHD6m4yIxgjsey6Pny46acZXERsJHy54p/BqXIyYkVOAkEp
KgvT3qTTNmykWWw4ovOP1+Di1c/2FpYcllcTphkWcS8lA7j012mUEecXavXjPPG0
i3t5vtB8xLy33kQ3e9v9/Lwh0xcRfua0d5UfFwopBIAXvJAr3B6raps8+QIVALws
yeqsx3EolCaCVXJf+61ceJppAoGAPoPtEP4yzHG2XtcxCfXab4u9zE6wPz4ePJt0
UTn3fUvnQmJT7i0KVCRr3g2H2OZMWF12y0jUq8QBuZ2so3CHee7W1VmAdbN7Fxc+
cyV9nE6zURqAaPyt2bE+rgM1pP6LQUYxgD3xKdv1ZG+kDIDEf6U3onjcKbmA6ckx
T6GavoACgYEAobapDv5p2foH+cG5K07sIFD9r0RD7uKJnlqjYAXzFc8U76wXKgu6
WXup2ac0Co+RnZp7Hsa9G+E+iJ6poI9pOR08XTdPly4yDULNST4PwlfrbSFT9FVh
zkWfpOvAUc8fkQAhZqv/PE6VhFQ8w03Z8GpqXx7b3NvBR+EfIx368KoCFEyfl0vH
Ta7g6mGwIMXrdTQQ8fZs
-----END DSA PRIVATE KEY-----

上机演示
在这里插入图片描述
在这里插入图片描述
ctrl+O 保存文件; ctrl+W 查询字符串;
ctrl +C 说明目前光标所在处的行数和列数等信息;
ctrl+ _ 可以直接输入行号,让光标快速移到该行;

2. SRA toolkit的安装与使用

2.1.安装

2.1.1. 有sudo权限
  1. 使用wget命令下载setup-apt.sh文件:

    wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.7/setup-apt.sh
    
  2. 运行脚本,使用sudo bash命令:

    sudo bash setup-apt.sh
    

    运行脚本可能需要一些时间,可能需要等一会儿。

2.1.2. 无sudo权限,预编译安装
  1. 使用wget命令下载sratoolkit.3.0.7-ubuntu64.tar.gz文件(以sratoolkit.3.0.7-ubuntu64.tar.gz为例):

    wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.7/sratoolkit.3.0.7-ubuntu64.tar.gz
    
  2. 使用tar命令解压缩下载的tar.gz文件,并将其放在~/Biosofts目录下:

    tar zvxf sratoolkit.3.0.7-ubuntu64.tar.gz -C ~/Biosofts
    
  3. 进入解压缩后的bin目录:

    cd ~/Biosofts/sratoolkit.3.0.7-ubuntu64/bin
    
  4. 运行prefetch命令的帮助选项来验证安装是否成功:

    ./prefetch -h
    
  5. 将SRAToolkit的bin目录添加到环境变量中,以便可以在任何位置直接运行SRAToolkit的命令。将以下代码添加到~/.bashrc文件中,PATH后面不要有空格:

    echo 'export PATH=~/Biosofts/sratoolkit.3.0.7-ubuntu64/bin:$PATH' >> ~/.bashrc
    
  6. 使用source命令使.bashrc文件中的更改生效:

    source ~/.bashrc
    

    现在,你就可以在任何位置运行SRAToolkit的命令了。

2.1.3. 上机演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
prefetch -h命令后出现帮助界面,安装成功

2.2. 使用

2.2.1. SRA文件的下载(prefetch)
  • 对于单个SRA文件的下载,使用以下命令:

    prefetch SRR6232298
    

    这将使用SRAToolkit的prefetch命令下载SRR6232298对应的SRA文件。

  • 对于批量下载多个SRA文件,如果这些文件的命名方式遵循类似SRR*或SRR的模式,可以使用通配符来批量下载。例如,如果要下载SRR100、SRR200和SRR300的文件,可以使用以下命令:

    prefetch SRR***
    

    下载多个SRA文件可能需要一些时间,具体时间取决于文件的大小和网络速度。

2.2.2. SRA文件转为fastq文件(fastq-dump)
  • 对于下载的SRA文件,可以使用fastq-dump命令将其转换为FASTQ格式文件,并选择是否拆分成多个文件。
  1. 对于单个SRA文件的转换,使用以下命令:

    fastq-dump --split-files SRR6232298/SRR6232298.sra
    

    这将转换SRR6232298.sra文件为两个FASTQ格式文件,即SRR6232298_1.fastq和SRR6232298_2.fastq。

  2. 将FASTQ文件进行压缩以节省空间,可以使用gunzip命令,例如:

    gunzip SRR6232298_1.fastq
    gunzip SRR6232298_2.fastq
    

    这将压缩两个FASTQ文件为SRR6232298_1.fastq.gz和SRR6232298_2.fastq.gz。

  3. 直接查看FASTQ文件的内容,可以使用gunzip命令解压缩.gz文件,并通过管道传递给less命令进行分页浏览:

    gunzip -c SRR6208854_1.fastq.gz | less
    

    这将解压缩SRR6208854_1.fastq.gz文件并使用less命令进行浏览。

  4. 将FASTQ文件转存到指定目录,可以使用-O参数指定输出目录:

    fastq-dump --split-3 SRR6232298.sra -O ~/Seq
    

    这将将SRR6232298.sra文件转换为三个FASTQ文件,并将它们保存到~/Seq目录中。

  5. 更快解压:

    fasterq-dump -h
    

    批量解压:

    --split-files or --split-3
    
2.2.3. 上机演示

下载单个SRA文件
在这里插入图片描述

解压SRA文件
在这里插入图片描述
在这里插入图片描述
按q退出上图界面

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐