Source code for fastqtools.fastqReader.fastqReader

import gzip

[docs]class fq(): def __init__(self,id,seq,flag,qual): self.id = id self.seq = seq self.flag = flag self.qual = qual
[docs]class fastqReader(): def __init__(self,fq1,fq2): self.fq1 = open(fq1) if fq1.endswith(".gz"): self.fq1 = gzip.open(fq1) self.fq2 = open(fq2) if fq2.endswith(".gz"): self.fq2 = gzip.open(fq2) self.filter=False def __iter__(self): return self
[docs] def next(self): id1 = self.fq1.readline().strip("\n") id2 = self.fq2.readline().strip("\n") if not id1 or not id2 : raise StopIteration seq1 = self.fq1.readline().strip("\n") flag1 = self.fq1.readline().strip("\n") qual1 = self.fq1.readline().strip("\n") seq2 = self.fq2.readline().strip("\n") flag2 = self.fq2.readline().strip("\n") qual2 = self.fq2.readline().strip("\n") r1 = fq(id1,seq1,flag1,qual1) r2 = fq(id2,seq2,flag2,qual2) self.r1 = r1 self.r2 = r2 return self