我正在尝试编写一个Python代码来查找DNA序列中的限制性内切酶位点。限制性内切酶切割特定的 DNA 序列,但有些限制性酶不是那么严格,例如 XmnI 切割此序列:
甘南NTTC
其中 N 可以是任何核苷酸(A、C、G 或 T)。如果我的数学正确的话,那就是 4^4 = 256 个可以剪切的独特序列。我想列出这 256 个短序列,然后对照(较长)输入 DNA 序列检查每个序列。然而,我很难生成 256 个序列。这是我到目前为止所拥有的:
cutsequencequery = "GAANNNNTTC"
Nseq = ["A", "C", "G", "T"]
querylist = []
if "N" in cutsequencequery:
Nlist = [cutsequencequery.replace("N", t) for t in Nseq]
for j in list(Nlist):
querylist.append(j)
for i in querylist:
print(i)
print(len(querylist))
这是输出:
GAAAAAATTC
GAACCCCTTC
GAAGGGGTTC
GAATTTTTTC
4
所以它将每个 N 切换到 A、C、G 和 T,但我认为我需要另一个循环(或 3?)来生成所有 256 种组合。有没有一种我没有看到的有效方法来做到这一点?
ITMISS
相关分类