使用aspera从EBI下载fastq数据,抛弃NCBI的SRA数据库吧!
前面我们大量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
随便搜索SRR1805951
点击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循环
命令中的变量a4
和a5
最后要加.
,跟前面的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打开的状态:
鼠标点到Linux时,浏览器左下角显示:
下面这是360浏览器打开的状态:
网页有java内容,而chrome不支持java,解决方案就是换个支持java的浏览器。相当奇葩的状况。
文末友情宣传
强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:
全国巡讲全球听(买一得五) ,你的生物信息学入门课
生信技能树的2019年终总结 ,你的生物信息学成长宝藏
另外,其实这个教程是一个系列,我们即将上线在B站的lncRNA-seq数据处理。我们前面已经铺垫了:lncRNA的一些基础知识 ,以及lncRNA芯片的一般分析流程和lncRNA-seq数据的一般分析流程!下面我们先看看对参考基因组使用hisat构建索引
猪的参考基因组
http://asia.ensembl.org/info/data/ftp/index.html
下载地址:ftp://ftp.ensembl.org/pub/release-99/fasta/sus_scrofa/dna/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa.gz
文献数据集
本次用到的数据集是GSE65983
建立hisat2猪参考基因组的索引
参考2:【bwa bowtie2 salmon subread hisat2建索引和比对】
下载猪的参考基因组
下载地址:ftp://ftp.ensembl.org/pub/release-99/fasta/sus_scrofa/dna/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa.gz下载猪的基因组注释文件
下载地址:ftp://ftp.ensembl.org/pub/release-99/gtf/sus_scrofa/Sus_scrofa.Sscrofa11.1.99.gtf.gz使用hisat2的
extract_exons.py
和extract_splice_sites.py
分别获取外显子
和可变剪切
信息使用
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组学数据分析技巧