Exemplo n.º 1
0
def sample(chr):
    L=len(chr)
    pos=int(random.uniform(0,L-100000))
    while(pos<L-3):
        codon=chr[pos:pos+3]
        if(codon=="ATG"): break
        pos+=3
    if(codon!="ATG"): return -1
    codons=0
    while(pos<L-3):
        codon=chr[pos:pos+3]
        if(codon[0]=='N' or codon[1]=='N' or codon[2]=='N'): return -1
        if(stops.get(codon,False)): break
        codons+=1
        pos+=3
    return codons

#============================ main() ==============================
reader=FastaReader(filename)
while(True):
    [defline,seq]=reader.nextSequence()
    if(not defline): break
    for i in range(NUM_ORFS):
        length=sample(seq)
        if(length<0): continue
        print(length,flush=True)
reader.close()