# My Blog site:
https://wp.me/pf9GTU-5N
实在是困到喝咖啡也提不起神了,前段时间高强度突击完成2天分析完一个转录组的壮举(包括高级分析),和现在手头上的内容形成鲜明的反差。处理过程太漫长了,漫长到我都有时间写Blog了。
虽然现在测序的费用每年都在下降,但是我们每一个人依然都有一个梦想,那就是白嫖别人的数据。
很幸运,在open data的环境下,虽然做不到100%的白嫖,但是「数据共享」的水平是可以实现的。
测序数据在文章发表时或即将发表时,一般会要求上传到公共数据库。常见的有NCBI的SRA(Sequence Read Archive)数据库,还有国产的CNGB数据库,这里以SRA数据库为例,介绍怎么下载数据库里公开的数据。
一、检索SRA数据ID
在首先,各位必须了解SRA数据库的结构,大致分为四个类型:
Project(研究项目)
例如:PRJNA721267
提供研究的总体背景信息,如研究目的、数据来源、研究领域等。BioProject 是一个用于描述和组织整个研究项目的实体。它通常代表一个完整的生物学研究项目,可能包含多个实验。
Experiment(实验)
例如:SRX10597183
SRA Experiment 表示一个实验,定义了测序技术、平台、样品的处理方法等实验细节。它是 BioProject 的组成部分。一个实验通常包含一种测序方案,例如单端测序或双端测序。
一个实验对应一个具体的测序实验方案,但可以有多个测序运行(SRA-run)
Sample(样本)
例如:SAMN18721103
BioSample 描述了样品的具体信息,包括样品的来源、生物种类、实验条件等。 一个样品可能被用在多个实验中。BioSample 提供与测序相关的生物样品元数据。
Run(实例)
例如:SRR14233957
SRA Run 表示实际的测序数据。每个 Run 对应一次测序运行,包含测序生成的原始数据(FASTQ 文件)。Run 是最小的单位,表示实际的测序文件。一个实验可能包含多个 Run(例如多次重复测序)。
下载需要的ID,就是Run ID,检索一般是通过Project – Experiment – Sample – Run这样实现的,可以直接在SRA数据库里搜索物种名称等,也可以通过文献最后的data availablity里找Project ID,再获得其下属的Run
比如说我现在已经找到了我想要下载的run,它们的ID是:
- SRR14233960
- SRR14233959
- SRR14233958
- SRR14233957
- SRR14233956
- SRR14233955
二、部署SRA toolkit
一般测序的原始数据都比较大,即使是数据库里收纳的都是经过高度压缩的数据,所以一般无法直接下载,SRA数据库里的大文件需要通过其提供的sra toolkit才能下载
# SRA toolkit主页
https://github.com/ncbi/sra-tools/wiki/01.-Downloading-SRA-Toolkit
安装方式就是找到自己的系统环境,下载后解压即可,如果懒一点的话,就每次cd到~/sra-toolkit/bin/目录下使用,不想每次都麻烦的话就配置一下环境变量
Windows系统:
设置——系统——系统信息——高级系统设置,在弹出的「系统属性」中找到:高级——环境变量
在系统变量里找到Path,然后编辑
image.png
然后新建,把解压缩的sra toolkit文件夹下的bin添加到环境变量里,确定确定确定,完成
image.png
Linux/macOS:
Linux以我最喜欢的Ubuntu为例:
首先下载
# in Ubuntu
wget --output-document sratoolkit.tar.gz https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-ubuntu64.tar.gz
# in macOS, or you can use wget if you prefer
curl --output sratoolkit.tar.gz https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-mac64.tar.gz
然后解压一下
tar -vxzf sratoolkit.tar.gz
# 注意,sratoolkit.tar.gz替换成实际的文件名
不想每次都cd就搞一下系统变量
export PATH=$PATH:$PWD/sratoolkit.3.0.0-mac64/bin
# 注意,sratoolkit.3.0.0-mac64替换成实际的目录
弄好后测试一下是否ok,Windows也一样,看看系统变量配置好了没
which fastq-dump
# out put should be similar like:
# /Users/yuntaozhu/sratoolkit.3.0.0-mac64/bin/fastq-dump
三、使用SRA toolkit下载序列
cd到你存储序列的仓库盘目录下,在powershell(Windows)或者terminal(Linux/macOS)中输入:
cd /mnt/e/seqs/
prefetch SRR14233960 SRR14233959 SRR14233958 SRR14233957 SRR14233956 SRR14233955
# 当然,你可以一次只下载1个
# 需要指定输出目录的话,-O /output_dir
随后sra toolkit会自动在seqs目录下创建6个对应名称的子文件夹,并且下载SRA格式的序列
image.png
嗯,下载速度奇慢无比,后面的处理也奇慢无比,可能是因为在国内又加墙了,不然我应该没空更新blog
四、将SRA文件转换为FASTQ格式
SRA文件是高度压缩的,需要转换成FASTQ(FQ)格式才能使用
用fastq-dump或者fasterq-dump都可以,我这里用fasterq-dump,理论上来说支持多线程更快一些
CD E:\Sequences\Ldavi\SRR14233963
fasterq-dump SRR14233963 --split-files --threads 4
# --split-files,把双端测序拆分为2个文件
# --threads依个人能力而定,但是我感觉多少线程都没什么用,CPU全在摸鱼
image.png
一个10G的文件转换了差不多一小时,《CPU一边不动》
再后面就是用什么Hisat2/Bowtie2、Salmon、kallisto之类的定量了,下次有空再写