生物信息分析人员一般会接触到从NCBI等网站下载的SRA数据,之前也介绍了下载SRA数据的几种方式。下面,我就简单介绍一下如何将下载的sra格式数据转换成为常用的fastq等格式。
1、fastq-dump命令
sratoolkit的下载,该部分详见上一篇文章(SRA数据库及linux本地下载)
单端测序:
fastq-dump SRR14306907.sra -O ./ (结果生成:SRR14306907.fastq)
fastq-dump --fasta SRR14306907.sra -O ./ (结果生成:SRR14306907.fasta)
双端测序:
fastq-dump SRR14306907.sra --split-3 -O ./ (结果生成:SRR14306907_1.fastq,SRR14306907_2.fastq)
fastq-dump SRR14306907.sra --split-3 --gzip -O ./ (结果生成:SRR14306907_1.fastq.gz, SRR14306907_2.fastq.gz)
2、pfastq-dump
1)下载pfastq-dump
git clone https://github.com/inutano/pfastq-dump
cd pfastq-dump/bin/
chmod a+x pfastq-dump
复制到自己的文件夹
cp pfastq-dump /home/xuyang/SRAToolkit/sratoolkit.2.10.9-ubuntu64/bin
2)转换格式
单端测序:
pfastq-dump SRR14306907.sra -O . -t 10
循环
for id in *sra; do pfastq-dump --threads 10 ./$id --gzip; done
双端测序:
pfastq-dump SRR14306907.sra --split-3 --gzip -O ./ -t 10
循环
for id in *sra; do pfastq-dump --threads 8 ./$id --split-3 --gzip; done
或
for i in `tail -n+1 sra_new.ids|cut -f1`;do
pfastq-dump ${i}.sra --split-3 --gzip -O ./ -t 10
done
其中sra_new.ids为所有srafile的ID号,t为线程数
3.批量转换
for循环函数
for i in `tail -n+1 sra_new.ids|cut -f1`;do
pfastq-dump ${i}.sra --split-3 --gzip -O ./ -t 10
done
其中sra_new.ids是sra文件的列表
ref:inutano/pfastq-dump: parallel-fastq-dump implementation in bash script (github.com)