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
