我有一个fastq文件,其中所有序列都已堆积,这是配对末端测序的结果。我需要将它们分为两个文件,所有反向序列都在一个文件中,而正向文件在第二个文件中。因此,我需要读取前四行并将它们写入文件“ R”,然后读取后四行并将它们写入文件“ F”。之后,我需要以相同的方式阅读并保存以下几行。 我想到了这样的事情(如下),但是没有用。有什么帮助吗?请。
R = open("R.fastq","w+")
F = open("F.fastq","w+")
x = raw_input('type the name of the file you wanna split: ')
with open (x, 'rt') as myfile:
for line in myfile:
R.write (line)
R.write (line)
R.write (line)
R.write (line)
F.write (line)
F.write (line)
F.write (line)
F.write (line)
R.close()
F.close()
您的问题是,您在同一文件中两次写入同一行四次,对于循环中的每次迭代,程序都无法确定应将哪一行写入哪个文件。试试看这段代码,没有文件我无法测试,但是它的理论应该起作用。
请记住,这仅适用于8行长的文件。如果多于或少于8行,则R中有4行,F中有其余行。