Ejemplo n.º 1
0
def process_fastq(fastq_r1, fastq_r2, bins, phred_offset, casava17):

    fh_r1 = fastq_utils.FastQParser(fastq_r1)
    fh_r2 = fastq_utils.FastQParser(fastq_r2)
    oh1 = {}
    oh2 = {}
    root1, ext1 = os.path.splitext(fastq_r1)
    root2, ext2 = os.path.splitext(fastq_r2)
    for b in bins:
        oh1[b] = fastq_utils.FastQWriter("%s.Q%d%s" % (root1, b, ext1))
        oh2[b] = fastq_utils.FastQWriter("%s.Q%d%s" % (root2, b, ext2))

    for r1 in fh_r1:
        r2 = fh_r2.next()
        assert fastq_utils.is_read_pair(
            r1, r2, not casava17
        ), "FATAL: Read identifiers differ for paired reads ({:s} and {:s})".format(
            r1[0], r2[0])

        bin = min(int(round(fastq_utils.avgQ(r1, phred_offset))),
                  int(round(fastq_utils.avgQ(r2, phred_offset))))

        for b in bins:
            if bin >= b:
                oh1[b].write(r1)
                oh2[b].write(r2)

    for oh in oh1.values() + oh2.values():
        oh.close()
Ejemplo n.º 2
0
def process_fastq(fastq_r1, fastq_r2, bins, phred_offset, casava17):
    
    fh_r1 = fastq_utils.FastQParser(fastq_r1)
    fh_r2 = fastq_utils.FastQParser(fastq_r2)
    oh1 = {}
    oh2 = {}
    root1, ext1 = os.path.splitext(fastq_r1)
    root2, ext2 = os.path.splitext(fastq_r2)
    for b in bins:
        oh1[b] = fastq_utils.FastQWriter("%s.Q%d%s" % (root1,b,ext1))
        oh2[b] = fastq_utils.FastQWriter("%s.Q%d%s" % (root2,b,ext2))
    
    for r1 in fh_r1:
        r2 = fh_r2.next()
        assert fastq_utils.is_read_pair(r1,r2,not casava17), "FATAL: Read identifiers differ for paired reads ({:s} and {:s})".format(r1[0],r2[0])

        bin = min(int(round(fastq_utils.avgQ(r1,phred_offset))),int(round(fastq_utils.avgQ(r2,phred_offset))))
        
        for b in bins:
            if bin >= b:
                oh1[b].write(r1)
                oh2[b].write(r2)
        
    for oh in oh1.values() + oh2.values():
        oh.close()
Ejemplo n.º 3
0
def demultiplex_fastq(index, fastq1, fastq2):

    filter = {'index': index}
    
    fp1 = FastQParser(fastq1,filter)
    if fastq2 is not None:
        fp2 = FastQParser(fastq2,filter)
    for r1 in fp1:
        if fastq2 is not None:
            r2 = fp2.next()
            assert is_read_pair(r1,r2), "Mismatching headers for expected read pair" 
            sys.stderr.write("{}\n".format("\n".join(r2)))
             
        sys.stdout.write("{}\n".format("\n".join(r1))) 
def demultiplex_fastq(index, fastq1, fastq2):

    filter = {"index": index}

    fp1 = FastQParser(fastq1, filter)
    if fastq2 is not None:
        fp2 = FastQParser(fastq2, filter)
    for r1 in fp1:
        if fastq2 is not None:
            r2 = fp2.next()
            assert is_read_pair(r1, r2), "Mismatching headers for expected read pair"
            sys.stderr.write("{}\n".format("\n".join(r2)))

        sys.stdout.write("{}\n".format("\n".join(r1)))