将SRA文件转成fastq文件可以用fasterq-dump或者parallel-fastq-dump,其中parallel-fastq-dump可以指定多线程,因此速度更快,并且可指定输出文件为压缩后的fq.gz格式。
但是最近遇到了在转换一个双端测序文件时只能提取出一个文件的情况。重新下载数据以及换用不同的工具转化都无法提取出双端测序文件,于是只能选择其他解决方案。
1.使用参数--include-technical
对于10X的SRA数据,使用fasterq-dump时,除了--split-files参数外,还需要添加--include-technical参数,否则可能会只得到一个文件。
fasterq-dump SRR14996442.sra -e 10 --split-files --include-technical -O ./zip -p -t ./tmp
2.手动拆分R1R2文件
但是在官网上看到应该是得到两个文件的,明确写了 "2 reads"
我们具体看得到的fastq文件其实内部标注了R1,R2的信息,说明该上传的数据是作者合并后的,我们需要再把它拆开才可以进行后续的分析。
R1的reads后用/1表示,而R2的reads后用/2表示。
用seqkit进行手动拆分成R1和R2文件,然后再进行后续的质控和比对。
cd /home/yourpath/
# conda install -c bioconda seqkit
ls
cat SRR18584089_1.fastq | head -n 20
seqkit grep -n -r -p "/1" SRR18584089_1.fastq > SRR18584089_1_R1.fastq
seqkit grep -n -r -p "/2" SRR18584089_1.fastq > SRR18584089_1_R2.fastq
3.使用bam文件转为fastq
如果上面两种方法都不行,最后的办法:
如果看到下图这种情况,解压后得到的fastq文件是无法拆分为R1R2的,因为他不包含两端的信息。
10x 单细胞数据在实际上传的时候,很多人会选择上传 bam 文件,而不是 fastq 文件。bam 文件由于其特殊高效的压缩算法,更易传输。但10x 单细胞文库比较特殊,双端测序获得的两个文件中仅 R2 文件包含 mRNA 反转录后的 cDNA 信息,这就使得 bam 文件中一条 read ID 仅对应一行插入片段信息,而 barcode 和 UMI 以 tag 的形式存在于bam文件中。当作者在 GEO 数据库中仅上传 bam 文件时,系统会对提交的数据进行一系列格式转换,所以我们最终看到的便是只有 1 read per spot,在 tag 中的 barcode 和 UMI 信息不见了。
因此要获得该数据集的 barcode 和 UMI 信息,需要获取作者上传的原始 bam文件。点开 Data access 选项(一般我们进入的 SRR 数据的位置其实是Metadata页面),会发现 Original format 中提供了原始 bam 文件。
在 Data access 选项卡中找到的 bam 文件下载,下载 bam 文件后使用 10x 官方提供的 cellranger 里的工具 bamtofastq 将其转换为 fastq 格式文件。
bamtofastq --nthreads=8 p1.bam.1 ./p1 # 输出目录
欢迎大家评论交流!
(每帖分享:无论怎样的生活,都要有所收获!)