查看原文
其他

使用aspera从EBI下载fastq数据,抛弃NCBI的SRA数据库吧!

生信技能树 生信技能树 2022-06-07


前面我们大量NGS相关教程视频免费发布在B站,都是使用NCBI的SRA数据库下载sra文件后转为fastq进行NGS分析流程,其实是因为我本人一直不在中国大陆,所以没有网络问题。但是学生们不一样,同样的命令他们prefetch的下载比蜗牛还慢,即使加上aspera后也会面临sra文件转为fastq的限速。所以我们在全国巡讲的答疑群给大家指点的解决方案是使用aspera从EBI下载直接fastq数据,一劳永逸。

现在把这个技巧分享给大家,让我们的讲师助教团队总结了经验如下:

使用`ascp`从EBI下载fastq数据


mkdir -p /data/project/pig_lncRNA && cd /data/project/pig_lncRNA
mkdir -p 1.raw_fq && cd 1.raw_fq

ENA主页:https://www.ebi.ac.uk/ena/browser/home

ENA - home

随便搜索SRR1805951

点击PRJNA275632

ENA - PRJNA275632

这里可以看到整个数据集所有样本的fastq下载地址,随便挑几个,观察一下:

ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/009/SRR1805929/SRR1805929_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/009/SRR1805929/SRR1805929_2.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/000/SRR1805930/SRR1805930_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/000/SRR1805930/SRR1805930_2.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/001/SRR1805931/SRR1805931_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/007/SRR1805937/SRR1805937_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR180/001/SRR1805951/SRR1805951_1.fastq.gz


是有规律的哦,所以可以构建ascp批量下载命令:

参考:https://www.ebi.ac.uk/ena/browse/read-download#downloading_files_aspera ,下面的shell命令需要仔细理解哦,其中aspera软件自己下载安装哦,我们在生信技能树已经介绍过很多次啦。

for i in {29..64}
do
a0='/home/cat1988/.aspera/connect/bin/'
a1='ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR180/00'
a2=$(($i % 10))
a3='/SRR18059'$i
a4='_1.fastq.gz .'
a5='_2.fastq.gz .'
echo $a0$a1$a2$a3$a3$a4
echo $a0$a1$a2$a3$a3$a5
done >> ascp.command
nohup bash ascp.command &

坑1

报错 ascp: Source file list not specified, exiting.

参考:https://www.ebi.ac.uk/ena/browse/read-download#downloading_files_aspera


Downloading files using Aspera

 Aspera ascp command line client can be downloaded here. Please select the   correct operating system. The ascp command line client is distributed as part of   the Aspera connect high-performance transfer browser plug-in.

Your command should look similar to this on Unix:

ascp -QT -l 300m -P33001 -i <aspera connect installation directory>/etc/asper        aweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:<file or files to download>   <download location>


问题就出在这个<download location>,需要设置下载位置,设置下载到当前文件夹,所以for循环命令中的变量a4a5最后要加.,跟前面的gz用空格隔开。


坑2

关于ascp,安装ascp时为了方便使用在~/.bashrc设置了别名

alias ascp=/home/cat1988/.aspera/connect/bin/ascp

直接在shell下写ascp命令,下载速度只有100k/s左右。

for循环写批量ascp时,一开始是没有加全路径(变量a0)的,结果bash ascp.command报错,乖乖加上全路径,然后bash,下载速度到了80M/s,意外的惊喜。


坑2总结就是ascp命令要使用全路径

坑3

关于ascp软件下载的坑。ascp这个命令出自软件Aspera Connect
参考1:使用Aspera从NCBI或EBI高速下载数据
参考2:Ubuntu下Aspera connect的安装与使用


Aspera提供了大文件高速传输方案,适合于大数据的传输。客服端的使用是免费的。

下载地址https://downloads.asperasoft.com/en/downloads/8?list

坑就在这个下载地址,不要用chrome打开这个地址,因为,打开了,你也下不到软件。

下面这是chrome打开的状态:

download_aspera_chrome

鼠标点到Linux时,浏览器左下角显示:

下面这是360浏览器打开的状态:

download_aspera_360

网页有java内容,而chrome不支持java,解决方案就是换个支持java的浏览器。相当奇葩的状况。

文末友情宣传

强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:

另外,其实这个教程是一个系列,我们即将上线在B站的lncRNA-seq数据处理。我们前面已经铺垫了lncRNA的一些基础知识 ,以及lncRNA芯片的一般分析流程和lncRNA-seq数据的一般分析流程!下面我们先看看对参考基因组使用hisat构建索引



猪的参考基因组

http://asia.ensembl.org/info/data/ftp/index.html

ensembl

下载地址:ftp://ftp.ensembl.org/pub/release-99/fasta/sus_scrofa/dna/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa.gz

文献数据集


本次用到的数据集是GSE65983

建立hisat2猪参考基因组的索引

参考1:【生信技能树】猪狗的参考基因组构建索引

参考2:【bwa bowtie2 salmon subread hisat2建索引和比对】

  1. 下载猪的参考基因组
    下载地址:ftp://ftp.ensembl.org/pub/release-99/fasta/sus_scrofa/dna/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa.gz

  2. 下载猪的基因组注释文件
    下载地址:ftp://ftp.ensembl.org/pub/release-99/gtf/sus_scrofa/Sus_scrofa.Sscrofa11.1.99.gtf.gz

  3. 使用hisat2的extract_exons.pyextract_splice_sites.py分别获取外显子可变剪切信息

  4. 使用hisat2-build命令建立索引

mkdir -p /data/reference/genome/pig/
cd /data/reference/genome/pig/
wget -c ftp://ftp.ensembl.org/pub/release-99/fasta/sus_scrofa/dna/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa.gz
gunzip S*

mkdir -p /data/reference/gtf/pig/ && cd /data/reference/gtf/pig/
wget -c ftp://ftp.ensembl.org/pub/release-99/gtf/sus_scrofa/Sus_scrofa.Sscrofa11.1.99.gtf.gz
gunzip S*
hisat2_extract_exons.py Sus_scrofa.Sscrofa11.1.99.gtf > pig.genome.exon
hisat2_extract_splice_sites.py Sus_scrofa.Sscrofa11.1.99.gtf > pig.genome.ss

mkdir -p /data/reference/index/hisat2/pig && cd /data/reference/index/hisat2/pig
ln -s /data/reference/genome/pig/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa ./
ln -s /data/reference/gtf/pig/pig.genome.* ./
hisat2-build -p 4 pig.genome.fa --ss pig.genome.ss --exon pig.genome.exon pig
hisat2-build -p 2 pig.genome.fa --ss pig.genome.ss --exon pig.genome.exon pig
hisat2-build -p 4 pig.genome.fa pig

加入可变剪切exon信息,报错:

Ran out of memory; automatically trying more memory-economical parameters.

网上搜索解决方案,

https://anjingwd.github.io/2018/04/19/hisat2构建GRCH38转录组index内存不足/


首先查看hisat2官网的manual,可以看到这样一句话:

If you use –snp, –ss, and/or –exon, hisat2-build will need about 200GB RAM for the human genome size as index building involves a graph construction. Otherwise, you will be able to build an index on your desktop with 8GB RAM.

尝试了更改线程数去掉ss文件,只保留exon文件,仍然报错,只能用最简单的命令构建索引了:

hisat2-build -p 4 pig.genome.fa pig

https://blog.csdn.net/qq_42100966/article/details/84190086

敬请关注,我们的B站视频哦,学习几乎全部的NGS组学数据分析技巧

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存