手把手教会高速下载SRA数据

来源:七月评论405

一、SRA数据结构

SRA(Sequence Read Archive)数据包括下面四级。

NCBI BioProject:PRJN**** ,是单个研究计划,可能包含多个样本和数据集。

SRA Experiment: SRX****,一个实验的数据集,含有多个样本Sample。

NCBI BioSample: SAMN**** 或者SRS**** ,每一个独立的样本都会被注册为一个BioSample,用于标注样本的标签和属性。

SRA Run: SRR**** 或者ERR****,一个样本的序列库,即样本测序数据。一个SRX一般会有1个或多个SRA Run。

二、和GEO的关系

GEO数据分为两级,GEO数据库将高通量测序的原始数据上传到SRA数据库。

GSE(GEO Series) : 是一个研究的数据集,一个GSE数据集对应一个PRJN数据。

GSM(GEO sample):每个样本具有一个特有的GSM号,每一个GSM对应一个SRX数据(有时也会有多个)。

三、SRA数据下载实例

以这篇2015年发表在CELL上的文章为例

可以看到,这篇文章数据分为两个GSE

这里只演示GSE71275数据的下载

1)可以依次点开每一个GSM,获取每一个SRR号;

optional:使用命令批量获取数据的SRR号

#需要先安装esearch,efetch,可以用conda安装
#下载runinfo 
esearch -db sra -query PRJNA290779 | efetch -format runinfo > runinfo.csv 
#提取其中的SRR 
cat runinfo.csv | cut -d, -f1 | grep SRR > ranids.txt
#查看获得的SRR号
cat ranids.txt
  SRR2125156
  SRR2125157
  SRR2125158
  SRR2125159
#可以查看更多信息,比如数据大小,类型,单端还是双端测序等
cat runinfo.csv | cut -d, -f1,8,13,16
Run,size_MB,LibraryStrategy,LibraryLayout
  SRR2125156,1090,RNA-Seq,SINGLE
  SRR2125157,1114,RNA-Seq,SINGLE
  SRR2125158,1225,RNA-Seq,SINGLE
  SRR2125159,1161,RNA-Seq,SINGLE

不过runinfo中并没有样本名称和SRR的对应关系,可以通过一下命令获取

#需要先安装xtract
#先下载信息
esearch -db sra -query PRJNA290779 | efetch -format docsum > docsum.txt
#提取有用信息
cat docsum.txt | xtract -pattern DocumentSummary -element Title,Bioproject,Biosample,Run@acc
  GSM1831735: HS5-1 Inversion rep2; Homo sapiens; RNA-Seq	PRJNA290779	SAMN03897346	SRR2125159
  GSM1831734: HS5-1 Inversion rep1; Homo sapiens; RNA-Seq	PRJNA290779	SAMN03897345	SRR2125158
  GSM1831733: Wild type control rep2; Homo sapiens; RNA-Seq	PRJNA290779	SAMN03897344	SRR2125157
  GSM1831732: Wild type control rep1; Homo sapiens; RNA-Seq	PRJNA290779	SAMN03897343	SRR2125156

由此,便获得了GSM编号与样本的对应关系

2)开始下载

1.prefetch

#单个下载
prefetch SRR2125159
#批量下载
for i in `cat ranids.txt`;do prefetch  $i;done
#如需要多线程同时下载,可使用parallel,需要先安装
cat ranids.txt | parallel prefetch {}

2.直接使用fastq-dump

for i in`cat ranids.txt`;do fastq-dump  $i;done

3.使用Aspera

NCBI的ftp目前无法下载,可通过ENA 下载数据

ascp -v -k 1 -T -l 200m -P 33001 -i /root/miniconda3/envs/bioinfo/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/fastq/SRR212/006/SRR2125156/SRR2125156.fastq.gz ./
#多线程同时下载命令
seq 6 9 | parallel --verbose "ascp -v -k 1 -T -l 200m -P 33001 -i /root/miniconda3/envs/bioinfo/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/fastq/SRR212/00{}/SRR212515{}/SRR212515{}.fastq.gz ./ "

可以看到下载速度高达62M/s,在1分31秒完成下载。

发表评论

匿名网友