你如何循环一个配对结束的fastq文件?对于单端读取,可以执行以下操作
library(ShortRead)
strm <- FastqStreamer("./my.fastq.gz")
repeat {
fq <- yield(strm)
if (length(fq) == 0)
break
#do things
writeFasta(fq, 'output.fq', mode="a")
}但是,如果我编辑一个成对的结束文件,我需要跟踪第二个文件,以便这两个文件继续保持良好的对应关系。
发布于 2017-03-08 09:12:50
成对的fastq文件通常是有序的,
因此,您可以跟踪删除的行,并从配对文件中删除它们。但是这并不是一个很好的方法,如果你的数据是行包装的,你会很痛苦。
更好的方法是使用头信息。
两个文件中成对读取的头是相同的,除了指定读取是反向还是向前(1或2)的字段外。
先从文件1:@M 02621:7:000000000-ARATH:1:1101:15643:1043 1:N:0:12读
先阅读文件2@M 02621:7:000000000-ARATH:1:1101:15643:1043 2:N:0:12
数字1101:15643:1043分别表示瓷砖和x,y坐标。
对于给定的运行,这些数字唯一地标识每个读对。使用此信息,如果读取不在第一个文件中,则可以从第二个文件中删除它们。
或者,如果你在做质量修整.三叶草可以对配对数据进行质量/长度滤波,而且速度快.
https://stackoverflow.com/questions/42293087
复制相似问题