import re
v = re.compile('((ATG)|(TGA)|(TAG)|(TAA))')
test = 'CCATGACCCATGCACCATTGAC'
for i in v.findall(test):
    pass
Использование регулярных выражений Python для разделения на непересекающиеся группы символов (нахождение ORF)