Ejemplo n.º 1
0
Archivo: Quade.py Proyecto: mablt/Quade
    def simple_index_parser (self):

        # Iterate over fastq chunks for sequence and index reads
        for n, (R1, R2, I1) in enumerate (zip(self.seq_R1, self.seq_R2, self.index_R1)):

            print("Start parsing chunk {}/{}".format(n+1, len(self.seq_R1)))

            # Init FastqReader generators
            R1_gen = FastqReader(R1)
            R2_gen = FastqReader(R2)
            I1_gen = FastqReader(I1)

            # Iterate over reads in fastq files until exhaustion
            try:
                while True:
                    read1 = R1_gen.next()
                    read2 = R2_gen.next()
                    index1 = I1_gen.next()

                    # Extract index and molecular sequences from index reads
                    index =     index1[self.idx1_pos["start"]:self.idx1_pos["end"]]
                    molecular = index1.seq[self.mol1_pos["start"]:self.mol1_pos["end"]]

                    # Identify sample and verify index quality
                    Sample.FINDER (read1,read2, index, molecular)

            except StopIteration as E:
                print(E)
                print("\tEnd of chunk {}".format(n+1))