参考:
https://github.com/phac-nml/biohansel/issues/60
找了 python包,软件 都没有简易实现方法。
这个链接里的方法最简单:
from itertools import product d = { 'A': ['A'], 'C': ['C'], 'G': ['G'], 'T': ['T'], 'R': ['A', 'G'], 'Y': ['C', 'T'], 'S': ['G', 'C'], 'W': ['A', 'T'], 'K': ['G', 'T'], 'M': ['A', 'C'], 'B': ['C', 'G', 'T'], 'D': ['A', 'G', 'T'], 'H': ['A', 'C', 'T'], 'V': ['A', 'C', 'G'], 'N': ['A', 'C', 'G', 'T'],} def expand_degenerate_bases(seq): """return a list of all possible k-mers given a degenerate base""" return list(map("".join, product(*map(d.get, seq))))