测序数据处理 —— 数据下载
如果是我们自己测的数据,一般公司提供的文件是压缩后的数据,后缀为
fastq.gz
或
fq.gz
。但如果我们想要使用别人上传到
SRA
或
EBI
数据库中的测序数据,则需要使用专门的下载软件把这些数据下载到本地。
下载 SRA 数据
对于 SRA
数据库中的文件,我们可以使用官方提供的 sratools
工具包中的软件进行下载,该工具包可以使用 conda
来进行安装
conda install -c bioconda sra-tools
在 GEO
中搜索感兴趣的项目,并进入 SRA
数据库
我们可以选择全部或部分文件,并下载对应的 Accession List
,我们选择两个文件
然后使用 sratools
工具包中的 prefetch
下载对应的文件,例如
prefetch --option-file SRR_Acc_List.txt --output-directory .
下载成功之后会有两个 sra
文件
ls */*sra
# SRR22225215/SRR22225215.sra SRR22225218/SRR22225218.sra
需要先将其转换为 fastq
ls */*sra | xargs fastq-dump --split-3
再将其压缩为 gz
格式,因为是双端测序,所以每个样本会有两个以 1
和 2
标识的数据
ls *fastq | xargs gzip
ls *fastq.gz
# SRR22225215_1.fastq.gz SRR22225215_2.fastq.gz SRR22225218_1.fastq.gz SRR22225218_2.fastq.gz
或者直接一步到位
ls */*.sra | xargs fastq-dump --split-files --gzip -O .
如果你嫌 fastq-dump
跑的太慢的话,可以使用更快的 fasterq-dump
,并使用 -e
指定线程数,但是该方法不支持压缩命令,需要手动压缩
ls */*.sra | xargs fasterq-dump --split-files -e 10 -O .
# 压缩
ls *fastq | xargs gzip
如果你既想要飞一般的速度,同时能够压缩文件,则可以使用 parallel-fastq-dump
先用 conda
安装
conda install -c bioconda parallel-fastq-dump
使用命令行转换
mkdir -p raw
ls */*.sra | xargs -n 1 -P 4 -I {} parallel-fastq-dump \
--sra-id {} \
--threads 4 \
--outdir raw \
--split-3 \
--gzip \
--tmpdir /tmp
或者写入到 Bash
脚本中
# 设置输出目录
output_dir="./raw"
# 确保输出目录存在
mkdir -p "$output_dir"
# 遍历子目录中的所有 .sra 文件
for sra_file in $(ls */*.sra); do
echo "正在解压 $sra_file ..."
parallel-fastq-dump --sra-id "$sra_file" \
--threads 4 \
--outdir "$output_dir" \
--split-3 \
--gzip \
--tmpdir /tmp
echo "$sra_file 解压完成"
done
echo "所有文件解压完成"
下载 EBI 数据
如果下载 SRA
数据库的数据很慢,则可以尝试转道 EBI
数据库下载,这两个数据库中的数据是互通的。比如,进入 https://www.ebi.ac.uk/ena/browser/home
并搜索 SRR22225215
如果要获取所有项目的数据,可以点击第一列项目编号。点击对应的 fastq
文件会进行下载,当然我们不推荐这种方式。因为默认的文件链接是 FTP
形式的,可以获取所有样本的链接然后使用下载工具进行批量下载,点击 TSV
可以下载表格样式的样本信息,也可以根据样本链接的规律进行构造
我们推荐使用 IBM
的下载工具 aspera
进行下载,可以使用 conda
安装,或者下载软件包安装
conda install -c hcc aspera-cli
需要先找到自己的秘钥地址,conda
安装的路径在
echo ${$(which ascp)%/*}/../etc/asperaweb_id_dsa.openssh
手动安装秘钥在
~/.aspera/connect/etc/asperaweb_id_dsa.openssh
使用 aspera
下载,需要获取对应的链接,点击 Show Column Selection
,然后选择 sra_aspera
,在表格中会出现新的一列
获取到链接之后便可以下载数据了,可以运行如下命令
ascp -l 100M -P 33001 -QT -k 2 -i ${$(which ascp)%/*}/../etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/srr/SRR222/015/SRR22225215 .
注意,需要在下载链接前加上 EBI
给的公共账户名 era-fasp
及地址