在Linux系统下安装了conda,配置了镜像,创建了分析环境,并且在环境下下载了常用的分析软件,那么接下来做什么呢?锅碗瓢盆、油盐酱醋都已准备妥当,准备开火煮饭却发现没有米!生信分析的米是啥,是数据,数据从哪里来?一种途径是可以把样本送到测序公司,然后测序公司交付数据,比如说你给我样本(和钱),我交付数据,这是一手的“资料”。另一个途径就是用别人的,而且不用花钱,真的就有这么好的事儿。
NCBI是每只科研(狗)都必然会接触到,会用到的工具(绝对是良心之作)。上面说的另一个途径就是从NCBI中的SRA数据库下载其他课题组已经上传且公开的数据,据说这是每个生信人的必备技能,开始实操前先普及一点基础知识。
什么是SRA数据库?
SRA(Sequence Read Archive)数据库用于存储二代高通量测序的原始数据,包括各种新老平台产生的数据,是NCBI众多数据库中的一个。SRA是国际核酸序列数据库合作组织(INSDC, International Nucleotide Sequence Database Collaboration)的一部分(该组织还包括EBI,DDBJ)。除原始数据外,还包括原始序列与参考基因组的比对信息。
SRA的数据的结构层次是这样的:Studies > Experiments > Samples > Runs。
Studies -- 研究课题,或者说研究目的,要验证某个猜想就可能会有N个experiments,数据库中记录时使用的前缀是SRP
Experiments -- 实验设计,记录用到的实验材料、平台等信息,数据库中记录时使用的前缀是SRX
Samples -- 样品信息,数据库中记录时使用的前缀是SRS
Runs -- 测序结果集,测序产生的reads,也就是俗称的data,数据库中记录时使用的前缀是SRR
更加详细的可以参考:NCBI SRA数据库使用详解
综上,我们想要下载某个具体的数据需要的是前缀为SRR的accession number(至于怎么找到这个号,参考上文即可)。
那么,到底怎么下载呢?需要SRA Toolkit这个工具,SRA toolkit是专门用于下载NCBI中的SRA格式数据,并把下载数据转化为fastq格式的工具包https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc。具体怎样下载安装这个软件此处略过,毕竟本节主要内容是讲aspera。
SRA toolkit安装好之后就可以下载数据了,比如说下载accession number为SRRXXXXXXX的数据,可以用如下命令:
# prefetch 是SRA toolkit中的工具之一,用于下载数据
prefetch SRRXXXXXXX
# 是的,命令就是这么简单。该命令会在家目录下自动创建名为ncbi的目录,一直往下cd就找到了:~/ncbi/public/sra。当然了,也可以通过 -O 参数把数据放在指定目录下
但是如果你真的试过这个方法,一定会抓狂,因为慢到下载2G的数据可能半天时间都不够,妥妥的挥霍生命。当aspera出现后,这个世界安静了。
aspera也是一个软件,同样2G的数据,它只需要不到三分钟就能搞定。至于它为什么这么快,可以自行去百度,我粗浅的理解是他用的数据传输协议(The fasp Protocol)跟其他的工具不一样。Anyway,并不十分重要,会用就行了啊!
# 既然是软件,第一步当然也是下载,然后解压,然后激活,命令如下:
wget -c https://download.asperasoft.com/download/sw/connect/3.6.2/aspera-connect-3.6.2.117442-linux-64.tar.gz
tar -zxvf aspera-connect-3.6.2.117442-linux-64.tar.gz
bash aspera-connect-3.6.2.117442-linux-64.sh
ok,至此apsera安装好了,怎么用呢,说实话真的挺复杂(反正我觉得挺复杂)。
# 命令如下:
prefetch -t ascp -a "/home/hhzhu/.aspera/connect/bin/ascp|/home/hhzhu/.aspera/connect/etc/asperaweb_id_dsa.openssh" SRR1039512 -O /trainee/Jude/RNASeq/rawdata/
搞定aspera至少反反复复5次,过程是真的煎熬,但是能用了之后是真的很爽。其中困扰我很长时间的是命令中用到的参数和引号里面的一长串路径,简单解释下:
-t : 这里有个小背景知识需要点一下,如前所述prefetch是SRA toolkit中的功能之一,主要用于下载.sra数据。下载的时候会有数据下载协议的选择(first try fasp (ascp), use http if cannot download using fasp),如果没有安装aspera就只能用http协议了(巨慢)。所以-t参数的作用是指定下载方式,上面的命令指定ascp,也就是aspera。 建议看看 prefetch --help的内容。
-a:该参数后面需要接ascp所在的绝对路径和previte KEY 的位置(也是绝对路径),中间用‘|’隔开。一般来aspera软件都会被放在家目录下,所以需要改的也就是自己的用户名(我这里的是hhzhu)。
SRR1039512:某个run对应数据的accession number
-O:大写的O,后面接数据存放路径
第一次安装可能会失败,第二次很可能还是失败,也许在那样的时刻你应该同时参考下面的文章:
- 当然了,安装使用aspera绝对不止这一种方法,多多探索吧~