作为生命科学的从事者,不论是老师或者学生都应该用过NCBI((National Center for Biotechnology Information Search database,一个综合性的生命科学资源网站)。那么作为一个生命科学中的一员,如果你们没用过NCBI网站,这就好像是在说“知网是啥”。希望提到这个网站的事情,你的表情不会是下面这个样子,哈哈哈。。。

不管你是否了解NCBI网站,这都不重要,重要的是如果哪一天你需要用到了(比如要从NCBI上面下载个原始数据,这个需求比较合理吧!),你会不会呢?当然不会也没有关系了,因为这篇就是教你如何下载数据的!哈哈。。。

下面言归正传,来说一说NCBI下载数据的几种方式:

NCBI官方的 SRA Toolkit 进行下载

wget, curl 命令直接下载

aspera 工具下载

grabseqs 工具下载

1、SRA Toolkit 下载数据

第一种方法就是使用NCBI官方提供的软件来下来,这个也是相当的方便可行,只要到官网下载SRA Toolkit软件(该软件是二进制的格式,如下截图,选中对应本版下载到本地解压就可以使用,相当方便),然后就可以下载数据了。

软件准备好了,下面就可以下载数据了:

prefetch SRR1482463 -O output #output替换为你想下载数据的路径

那么如果想批量下载一个项目的很多数据呢?首先得找到数据的SRR号,随便选中一个SRR号在“SRA”数据库中搜索,会得到如下截图:

然后点击“All runs”,会得到如下截图:

接着选中你想下载的数据,点击"Accession list",会下载一个包含选中数据SRR号的文件(SRR_Acc_List.txt),如下所示:

最后就可以批量下载了:

prefetch -O output --option-file SRR_Acc_List.txt

2、wget, curl 下载数据

第二种下载方式,wget, curl 命令直接下载。用这种方式下载数据需要知道数据的下载链接,如何获取数据链接呢?获取数据链接也有两种方式,一是通过NCBI网页,二是通过SRA toolkit。

先说通过网页如何获取,当我们在“SRA”数据库中搜索SRR后,点击下面表格中的SRR号如“SRR1482463”,会跳转到页面如下:

切换到‘Data access’界面,就找到数据链接了,如下截图:

通过SRA toolkit获得数据链接就更省事了,到SRA toolkit软件的bin目录下找到srapath软件,一行命令就可以了:

srapath SRR1482463

#结果如下

https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos1/sra-pub-run-5/SRR1482463/SRR1482463.2

找到链接就可以用wget来下载数据了:

wget -c -t 0 -O path/SRR1482463.sra https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos1/sra-pub-run-5/SRR1482463/SRR1482463.2

#-c -t 配合使用可以防止下载数据的过程中链接中断的问题,-O则可以指定下载路径和文件名。

3、aspera下载数据

第三种下载方式,就是使用aspera软件来下载数据:

#软件下载与安装

$ wget https://download.asperasoft.com/download/sw/connect/3.9.1/ibm-aspera-connect-3.9.1.171801-linux-g2.12-64.tar.gz

$ tar zxvf ibm-aspera-connect-3.9.1.171801-linux-g2.12-64.tar.gz

$ bash ibm-aspera-connect-3.9.1.171801-linux-g2.12-64.sh

#数据下载

ascp -v -k 1 -T -l 200m -i /asperaweb_id_dsa.openssh anonftp@ftp.ncbi.nlm.nih.gov:/blast/db/FASTA/nt.gz

4、grabseqs下载数据

第四种下载方式是使用grabseqs软件来下载数据,该软件是比较新的软件,可以将下载的sra数据直接转换为fastq文件,相比于上面三种省略了sra -> fastq的转换步骤,可谓是一步到位。因为该软件会调用fastq-dump直接将sra拆分成fastq,所以你得提前安装好fastq-dump。该软件是基于python3,可使用pip安装相当方便。安装和使用方法如下:

#安装

pip3 install grabseqs

#下载数据

grabseqs sra -t 6 SRR000000 SRP000000 PRJNA000000

sra转化为fastq

当我们拿到了sra数据并不能直接使用,需要将其转为fastq文件。数据都拿到了,转化格式当然是很简单的事了,就是跑一行命令的事情。使用SRA Toolskit中的fastq-dump软件即可。值得注意地是如果数据是pair-end的格式最好加参数--split-3,这样对于一方有而另一方没有的reads就会单独放在一个文件里。

#sra -> fastq

fastq-dump SRR1482463.sra --split-3 --gzip --defline-qual '+' -A filename -O outdir

四种方式你学会了,其实方式不重要,选择一个适合自己的方式即可,重要是能够获取到自己想要的数据,毕竟科研的本质是要数据来支持自己的研究。

最后

emm,今天就分享到这里,帖子纯手打不容易啊,小二哥我得去喝口水休息一下了。各位看官们帮忙点个赞吧!!!

批量下载sra文件linux,NCBI下载SRA数据的4种方法相关推荐

  1. linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍

    本文介绍在Linux操作系统上安装NotePad++的三种方法,使用Snap.Wine和NotePadQQ.这里要说的是:由于像Wine和Snap软件包这样的工具,在Linux上运行的Notepad+ ...

  2. ttc文件linux安装,centos系统安装中文字体几种方法

    前天有用户反应,生成的报到单中他的名字少了一个字.仔细检查了一下,原来是centos系统的默认字体没有他名字中的那个字,于是就直接被忽略了. 其实那个字并不生僻,于是不得不安装中文字体,安装过程也很简 ...

  3. linux下载测序数据,利用SRA号从NCBI下载测序原始数据

    生物或医学中涉及高通量测序的论文,一般会将原始测序数据上传到公开的数据库,上传方式见测序文章数据上传找哪里:并在文章末尾标明数据存储位置和登录号,如 The data from this study ...

  4. python批量下载文件只有1kb_Python 实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件 by:授客 QQ:1033553122 实现功能 批量从不同的Linux服务器下载指定文件 测试环境 Win7 64位 Python 3.3. ...

  5. Python 实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/file_for_downl ...

  6. python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件 by:授客 实现功能 批量从不同的Linux服务器下载指定文件 测试环境 Win7 64位 Python 3.3.2 pscp 64位 下载地 ...

  7. mysql 文件批量插入_mysql大批量插入数据的4种方法示例

    前言 本文主要给大家介绍了关于mysql大批量插入数据的4种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法一:循环插入 这个也是最普通的方式,如果数据量不是很大,可以使用, ...

  8. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法

    Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...

  9. linux下限制CPU使用率的3种方法 (转)

    在租的云服务器上架了一个获取BTCC实时交易数据的服务器程序,因为用了一个while死循环处理数据信息,所以云服务器上的处理器占用率一直在90%多,这两天邮箱里一直收到服务器CPU占用率过高的邮件,在 ...

最新文章

  1. 双活数据中心对企业的帮助
  2. numpy.array创建行数超过一行的矩阵为什么要用两层中括号?
  3. IFE-16 addEventHandler跨浏览器实现事件绑定
  4. 非此即彼的逻辑错误_辩证思维与逻辑思维相对立
  5. GitHub上读北大:覆盖AI高数等130多门课,讲义考题答案全都有,标星已3k+
  6. 【CentOS Linux 7】实验3【网络配置管理】
  7. 在物理内存中观察CLR托管内存及GC行为
  8. linux qt5.9交叉编译,QT5.9移植
  9. SpringMVC 异常的处理
  10. 无效的变量名c语言,变量方法用法 _C语言-w3school教程
  11. 【PDF直接下载】6G总体愿景与潜在关键技术白皮书
  12. 时速云CEO:相对于IaaS和PaaS,未来CaaS将如何定位?
  13. 学计算机买戴尔笔记本哪款,戴尔笔记本大学生用,买哪款比较好?
  14. web网页设计期末课程大作业 基于HTML+CSS+JavaScript响应式环保科技公司网站模板(环保主题网站设计)
  15. vnc以及xfce安装\xrdp连接
  16. 理解SparkSteaming窗口函数操作window()
  17. Git使用流程及技巧 - 详细教程
  18. ubuntu18.04 network有线网络图标缺失解决记录
  19. THREEJS - 旋转中心调整
  20. API-String类、基本数据类型对象包装类

热门文章

  1. 北京农学院计算机考研,北京农学院考研难吗
  2. GM(1,1)和GM(1,n)预测模型
  3. 计算机专业pro配置,计算机专业,这种小米Pro配置可以吗?
  4. WebSphere MQ 性能调优浅谈(转IBM工程师)
  5. 【网络】从日常开发说起,浅谈HTTP协议是做什么的
  6. Dynamics CRM: XrmToolBox插件推荐
  7. 计算机内存与主存的关系(内存是主存吗?内存和主存有什么关系?)
  8. Unity 蓝湖 关于UI工作流优化的思考
  9. HTTP—TCP/IP—SOCKET理解及浅析
  10. 微信公众号开发接口语音下载解决方案