Esempio n. 1
0
def _parse_csfasta_with_qual(csfasta, qual):
    ffh = seek_to_start(csfasta)
    qfh = seek_to_start(qual)

    for fasta, qual in izip(ffh, qfh):
        fasta = fasta.strip()
        fnew = fasta.startswith(">")
        qual = qual.strip()
        qnew = qual.startswith(">")

        if fnew ^ qnew:  # xor
            raise Exception("Mismatched files: id and info not aligned")
        elif fnew and qnew:
            fid = fasta[1:]
            qid = qual[1:]
            if fid != qid:
                raise Exception("Mismatched files: id's do not match")
            # record = {'id' : fid, 'sequence' : None, 'quality' : None}
            record = SolidRead(fid)
        else:
            record.sequence = fasta
            record.quality = qual
            yield record
    ffh.close()
    qfh.close()
    raise StopIteration("Parsing finished")
Esempio n. 2
0
def _parse_csfasta_with_qual(csfasta, qual):
    ffh = seek_to_start(csfasta)
    qfh = seek_to_start(qual)
    
    for fasta,qual in izip(ffh, qfh):
        fasta = fasta.strip()
        fnew = fasta.startswith(">")
        qual = qual.strip()
        qnew = qual.startswith(">")
        
        if fnew ^ qnew:  # xor
            raise Exception("Mismatched files: id and info not aligned")
        elif fnew and qnew:
            fid = fasta[1:]
            qid = qual[1:]
            if fid != qid:
                raise Exception("Mismatched files: id's do not match")
            # record = {'id' : fid, 'sequence' : None, 'quality' : None}
            record = SolidRead(fid)
        else:
            record.sequence = fasta
            record.quality = qual
            yield record
    ffh.close()
    qfh.close()
    raise StopIteration("Parsing finished")
Esempio n. 3
0
def _parse_csfasta_only(csfasta):
    ffh = seek_to_start(csfasta)
    for fasta in ffh:
        fasta = fasta.strip()
        fnew = fasta.startswith(">")
        if fnew:
            fid = fasta[1:]
            # record = {'id' : fid, 'sequence' : None, 'quality' : None}
            record = SolidRead(fid)
        else:
            record.sequence = fasta
            yield record
    ffh.close()
    raise StopIteration("Parsing finished")
Esempio n. 4
0
def _parse_csfasta_only(csfasta):
    ffh = seek_to_start(csfasta)
    for fasta in ffh:
        fasta = fasta.strip()
        fnew = fasta.startswith(">")
        if fnew:
            fid = fasta[1:]
            # record = {'id' : fid, 'sequence' : None, 'quality' : None}
            record = SolidRead(fid)
        else:
            record.sequence = fasta
            yield record
    ffh.close()
    raise StopIteration("Parsing finished")