我正在尝试使用Bioconductor软件包ShortRead
分析一些NGS文件。
最近,我“发现”了ShortRead函数readFastq()
能够读取普通的.fastq文件以及压缩的.fastq.gz文件。据我了解,文件格式不应影响结果。
dat <- ShortRead::readFastq(dirPath = "./", pattern = "tmp.fastq")
dat.gz <- ShortRead::readFastq(dirPath = "./", pattern = "tmp.fastq.gz")
length(dat)
length(dat.gz)
我将所有NGS结果作为压缩的* .fastq.gz文件。因此,对于这个“测试”,我基本上使用了相同的文件,首先我以压缩状态对其进行了分析,然后我做了同样的事情,但是事先使用“ gunzip”将其解压缩。
但是由于某种原因,与未压缩的文件相比,如果读取.fastq.gz文件,则只能得到序列数的一半。如果我进一步分析数据,我会得到基本相同数量的唯一序列,但每个唯一序列的读数也恰好只有一半。只是为了避免与“读取”混淆,我的意思是我经常在.fastq文件中找到相同的唯一序列。
不幸的是,我无法共享.fastq文件,因为它们是机密的,但是,假设这不仅是我个人的问题,每个可用的.fastq文件都应该存在这种现象。
可以有人给我解释一下吗?
[更新]
我花了一些时间进一步利用一个仅包含5个唯一序列的人为的小型测试文件来研究此问题。读取压缩文件ShortRead::readFastq(dirPath = "./", pattern = "tmp.fastq.gz")
导致实际上只获得全部5个序列一次,而读取解压缩文件ShortRead::readFastq(dirPath = "./", pattern = "tmp.fastq")
则导致获得全部5个序列两次(因此总共10个序列)。我还仔细检查了.fastq和fastq.gz文件,总共应该只有5个序列。有人可以使用自己的.fastq文件来重现此问题吗?
我正在使用R版本3.5.0(2018-04-23)-“玩中的乐趣”和“ ShortRead”软件包1.40.0。