准备
安装Toolkits
建议conda安装,命令如下。(兼容性还行,没必要新建环境)
conda install -c bioconda sra-tools
注意: 使用时记得先激活conda环境。
直接安装,请参考:SRA ToolKit (sra-tools) 的安装和使用
配置prefetch下载路径
prefetch的默认目录是配置Toolkits的路径,非常建议更改下载路径。
- 如果是conda下载,需要激活相应conda环境;如果是直接安装,
cd
到sra-toolkit的安装路径下的bin - 命令行输入
vdb-config -i --interactive-mode textual
,会有以下选项
$ vdb-config -i --interactive-mode textual
vdb-config interactive
data source
NCBI SRA: enabled (recommended) (1)
local workspaces: local file caching: enabled (recommended) (6)
Open Access Data
cached (recommended) (3)
location: '/mnt/data/xxxxx/xxxxx' (4)
To cancel and exit : Press <Enter>
To update and continue : Enter corresponding symbol and Press <Enter>
- 输入4,回车;
- 输入新路径(需要保证新路径为空),回车即可
也可以自行通过图形化界面探索其他配置vdb-config -i
。(图形界面也可以配置下载路径)
其他配置请参考:三、工具包配置
使用
prefetch下载sra
- 如果是conda下载,需要激活相应conda环境
conda activate env_name
;如果是直接安装,直接使用 - 命令行输入
prefetch SRRxxxxxx
或者prefetch SRPxxxxx
即可下载,下载数据在上面配置路径下的sra目录。
注意:
-
下载成功之后会得到
SRRxxxx/
的文件夹,文件夹内有一个SRRxxxxxxx.sra
文件,它就是我们的模板文件,还需要进一步操作,转化成fastq文件才能使用。 -
prefetch自动支持断点续传,若下载过程中,ctrl + c/或其他因素 打断程序运行,重新执行相同的下载命令会在原有基础上下载。
prefetch命令的详细介绍如下
prefetch -X 100G -f no -p -o SRRxxxxx.sra SRRxxxxx
# -X|--max-size <size>
# Maximum file size to download in KB (exclusive). Default: 20G
# -f|--force <yes|no|all|ALL>
# Force object download: one of: no, yes, all, ALL.
# no [default]: skip download if the object if found and complete;
# yes: download it even if it is found and is complete;
# all: ignore lock files (stale locks or it is being downloaded by another process use at your own risk!);
# ALL: ignore lock files, restart download from beginning.
# -p|--progress
# Show progress.
# -o|--output-file <FILE>
# Write file to FILE when downloading single file.
多文件下载
如果你的info.csv中有许多个文件,都需要下载,如图则下载示例如下
# zsh
for i in `cat ../info.csv | awk -F',' '{print $1}' | sed 1d`
prefetch -X 100G -f no -p -o $i.sra $i
# or
# bash
for i in `cat ../info.csv | awk -F',' '{print $1}' | sed 1d`; do
prefetch -X 100G -f no -p -o $i.sra $i
done
格式转换sra to fastq
常见的 sra to fastq 格式转换工具有三个:fastq-dump
, fasterq-dump
和 parallel-fastq-dump
。性能测试可见:https://zhuanlan.zhihu.com/p/591140275
fastq-dump
官方出品的初代版本,稳定可靠,但是没有多线程,性能极差(缺点:速度极慢);fasterq-dump
官方出品,在fastq-dump基础上加入了多线程,提升了数倍性能,但是输出文件不是压缩文件(缺点:不支持压缩);parallel-fastq-dump
性能最强,但是输出文件是压缩后的文件,但是非官方出品,兼容性和可靠性有待考证。(缺点:非官方出品)
个人建议用fasterq-dump
,对parallel-fastq-dump感兴趣自行搜索
fasterp-dump解析成fastq
fasterp-dump命令如下,一般只需要调整最下面的sra路径和-O 输出fastq文件的目录。
fasterq-dump \
-p -e 12 --split-files --include-technical\
-O . \
/mnt/data/prefetch_data/sra/SRRxxxxx.sra
#- -p:指定输出文件为 paired-end (双端) 读取。这意味着输入的 SRA 文件包含配对的读段,输出将生成两个 FASTQ 文件,分别对应每对读段中的第一条和第二条。
#- -e 12:指定使用 12 个线程进行并行处理,可以显著加快转换速度,尤其是对于大型 SRA 文件。
#- --split-3/--split-files:分割文件的方式。
#- -O .:指定输出文件的目录为当前目录 (.)。可以自己指定
# xxxx/sra/SRRxxxxxx.sra : 输入的sra文件的目录
注意:
- fasterq-dump没有
--gzip|--bizp2
选择,您必须在转化成fastq文件后自己再压缩。 - 对于为了cellranger分析的数据,必须使用
--split-files --include-technical
参数才能保证输出的文件为三个(如果转化后不为3个,说明转换成sra文件前就不是3个)。