alphabet = {
        'A': 'A',
        'T': 'T',
        'C': 'C',
        'G': 'G',
        'W': 'AT',
        'M': 'AC',
        'R': 'AG',
        'Y': 'TC',
        'K': 'TG',
        'S': 'CG',
        'H': 'ATC',
        'D': 'ATG',
        'V': 'AGC',
        'B': 'CTG',
        'N': 'ATCG'
        }

expand = lambda t: reduce(lambda r, s: [x+y for x in r for y in
alphabet[s]], t, [''])

print expand('ATSGS')

--------------

['ATCGC', 'ATCGG', 'ATGGC', 'ATGGG']
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to