使用aspera下载SRA数据速度高达 下载中国gsa数据? ascp

2024-01-21 20:52

本文主要是介绍使用aspera下载SRA数据速度高达 下载中国gsa数据? ascp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:秘籍 | 惊了,使用aspera下载SRA数据速度高达 291Mb/s - 简书

一、安装Aspera Connect

  • 安装Linux版的Aspera Connect

# 上面链接是最新版,因此下载的时候去官网复制最新的链接地址下载,否则可能会报错
wget https://d3gcli72yxqn2z.cloudfront.net/connect_latest/v4/bin/ibm-aspera-connect-3.11.2.63-linux-g2.12-64.tar.gz
tar -zvxf ibm-aspera-connect-3.11.2.63-linux-g2.12-64.tar.gz
sh ibm-aspera-connect-3.11.2.63-linux-g2.12-64.sh
# 永久添加到环境变量
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

二、简单使用

  • 尝试下载一个小的数据集SRR14209175(343MB)

ascp -v -QT -l 300m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/fastq/SRR142/075/SRR14209175/SRR14209175.fastq.gz ./
  • 结果,峰值速度达

    \color{red}{291 Mb/s }

    ,速度惊人,

    \color{red}{343MB}

    数据用时

    \color{red}{16秒}

SRR14209175.fastq.gz                           100%  343MB  191Mb/s    00:16    
Completed: 351408K bytes transferred in 16 seconds (173214K bits/sec), in 1 file.

三、批量下载

  • 提前准备好【srr.list】文件,格式如下

$ cat srr.list
SRR12362016
SRR12362017
SRR12362022
SRR12362023
SRR12362024
SRR12362025
  • 新建shell脚本,命名为【asperaDownload.sh】,和【srr.list】放在同一个文件夹中

vi asperaDownload.sh
  • 将下面的内容复制进去,里面的${y}需要根据情况微调,${i: -2}表达的意思就是截取字符串的后2位,${i: -1}截取字符串的后1位。特别说明的原因就是,有时候${y}是取一位,有时候取两位,所以要根据情况微调

#!/bin/bash
for i in $(cat srr.list)
do 
x=$(echo $i | cut -b1-6)
y=`echo ${i: -2}`
echo "vol1/fastq/${x}/0${y}/${i}/${i}_1.fastq.gz" >>fastqid_trim.txt
echo "vol1/fastq/${x}/0${y}/${i}/${i}_2.fastq.gz" >>fastqid_trim.txt
doneascp -v -QT -l 300m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --mode recv --host fasp.sra.ebi.ac.uk --user era-fasp --file-list fastqid_trim.txt ./
rm fastqid_trim.txt
  • 执行脚本

sh asperaDownload.sh
  • 结果,峰值速度达

    \color{red}{292 Mb/s }

    ,速度惊人,

    \color{red}{10GB}

    数据用时

    \color{red}{27分钟}

SRR12362016_1.fastq.gz                         100%  858MB  291Mb/s    03:28    
SRR12362016_2.fastq.gz                         100%  873MB  281Mb/s    04:40    
SRR12362017_1.fastq.gz                         100%  868MB  204Mb/s    06:16    
SRR12362017_2.fastq.gz                         100%  885MB  209Mb/s    07:13    
SRR12362022_1.fastq.gz                         100%  960MB  292Mb/s    09:34    
SRR12362022_2.fastq.gz                         100%  977MB  291Mb/s    10:56    
SRR12362023_1.fastq.gz                         100%  887MB  291Mb/s    12:01    
SRR12362023_2.fastq.gz                         100%  907MB  292Mb/s    14:08    
SRR12362024_1.fastq.gz                         100%  874MB  285Mb/s    17:45    
SRR12362024_2.fastq.gz                         100%  888MB  287Mb/s    18:54    
SRR12362025_1.fastq.gz                         100%  845MB  291Mb/s    20:37    
SRR12362025_2.fastq.gz                         100%  858MB  291Mb/s    27:01    
Completed: 10942138K bytes transferred in 1621 seconds

四、ascp 参数说明

  • 不要深究软件、代码怎么实现的,其实会用、目的达到就行了,真想仔细研究可以ascp -h查看,也可以参考以下我总结的,就这么点参数需要注意:
参数说明
-v  唠叨模式,显示下载进度,以百分数显示,建议加上去
-QT-Q指开启自主设定传输速率的功能,而-T指启用密钥以获得最大传输速率,二者配合-l-m使用。-l指定最大传输速率,这也是我峰值速度达到291 Mb/s后没有继续上升的原因,因为我设置的是-l 300m,默认是-l 100m,理论推荐为300M-500M,。-m指定最小传输速率,一般不用设置,默认为-m 0
-P设置用于启动fasp会话的TCP端口,默认搭配-P 33001不要乱改,否则报错
-k断点续传,非常必要的功能,能在意外情况下,继续下载文件,以免重新下载,设置-k1即可。-k1检查文件属性,如果匹配则继续;-k2检查文件属性并做稀疏文件校验和,如果匹配就继续;-k3检查文件属性并进行完整的文件校验和,如果匹配就继续
-i密钥地址,为固定位置:~/.aspera/connect/etc/asperaweb_id_dsa.openssh,不要修改和移动
--mode两种模式可供选择sendrecv--mode send为上传模式,--mode recv为接收模式,默认为--mode recv,因此可在命令行中删除,没有大碍
--host指定下载地址的前缀信息,后缀信息不同网站也不同,具体要修改上述echo中的代码。但我推荐要下载就去ENA下载,不要去NCBI和DDBJ下载,前车之鉴。
--user访问数据库的用户名,指定是去哪里下载
--file-list指定存放下载路径的文件夹,脚本中自动生成与删除,不用过多操心
./最后不要忽略了保存路径

五、常见疑问

问:为什么我下载的这么慢,明明我设置的也是-l 300m却只有几Mb/s甚至几Kb/s

  • 答:1.你家或校园网的带宽就那么宽,你占满速度也提不上去。如千兆光纤(1000Mb/s)最大带宽就是1000÷8=125MB/s,你能达到的上限也就是125MB/s。又如校园网一般说办理的100M宽带,其实单位是M

    \color{red}{b}

    /s,因此最大带宽就是12.5MB/s如此类推。
    2.网络波动,或者其他人占用了一部分带宽(如看剧,下载东西),这种情况就只有在人少或者夜晚下载。
    3.EBI或者NCBI访问人数过多,造成网络拥挤,这种情况就只有多尝试几次。
    4.你没有加参数-Q,没有启动自主设定传输速率的功能,但不加默认是100M,理论上也不应该太慢,因此这种概率低

问:Session Stop (Error: Failed to open TCP connection for SSH)咋回事?

  • 答:加上-P33001即可
    如果依旧不行就不好搞了,因为需要管理员权限,可是我们做生信的哪里去搞服务器权限?但如果你老板给你了,那就运行下面的命令即可,然后再加上-P33001。我没有试验官方给出的解决方案,如果你成功了,请告知我,谢谢

iptables -I INPUT -p tcp --dport 33001 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 33001 -j ACCEPT

问:断点续传对fasta/q序列文件的完整性有怎样的影响?

  • 答:

    \color{red}{影响较大!}

    ,因为后续分析对fa/fq文件格式要求严格,如fq但凡不是四行四行的出现,首先在QC的时候就会报错,因此断点续传看着有用,但有时候是自欺欺人,所以一但下载终止,最好的方法就是把要续传的文件删干净,一个以【.aspera-ckpt】结尾,一个以【.partial】结尾,删除后重新下载!

问:既然断点续传对fasta/q序列文件的完整性有影响,那我不加k1可以嘛?

  • 答:

    \color{red}{不可以!}

    ,因为当你批量下载的时候,如果有的下载成功了,有的下载失败了,这时候重新跑脚本的时候,k1的作用就体现了,他可以跳过下载完整的文件,避免重复下载浪费时间!

问:ascp: failed to authenticate, exiting. Session Stop (Error: failed to authenticate) 怎么回事?

  • 答:

    \color{red}{无解}

    ,因为这种并不能称之为错误,而是网络问题,今天不行,明天再次尝试可能就可以了。



作者:生信卷王
链接:https://www.jianshu.com/p/2987843d97e3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这篇关于使用aspera下载SRA数据速度高达 下载中国gsa数据? ascp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630793

相关文章

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

详解如何使用Python提取视频文件中的音频

《详解如何使用Python提取视频文件中的音频》在多媒体处理中,有时我们需要从视频文件中提取音频,本文为大家整理了几种使用Python编程语言提取视频文件中的音频的方法,大家可以根据需要进行选择... 目录引言代码部分方法扩展引言在多媒体处理中,有时我们需要从视频文件中提取音频,以便进一步处理或分析。本文

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Java springBoot初步使用websocket的代码示例

《JavaspringBoot初步使用websocket的代码示例》:本文主要介绍JavaspringBoot初步使用websocket的相关资料,WebSocket是一种实现实时双向通信的协... 目录一、什么是websocket二、依赖坐标地址1.springBoot父级依赖2.springBoot依赖

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总