gpt4 book ai didi

python - 长度为 4 的字符串中 DNA 字符的所有组合

转载 作者:行者123 更新时间:2023-11-28 21:09:31 24 4
gpt4 key购买 nike

<分区>

我正在尝试用四个字符 ATCG。总共有 4^4 (256) 种不同的组合。我包括重复,这样 AAAA 是允许的。我看过 itertools.combinations_with_replacement(iterable, r)但是,列表输出会根据输入字符串的顺序发生变化,即

itertools.combinations_with_replacement('ATCG', 4) #diff results to...
itertools.combinations_with_replacement('ATGC', 4)

因此,我尝试将 itertools.combinations_with_replacement(iterable, r)itertools.permutations() 结合起来

itertools.permutations() 的输出传递给 itertools.combinations_with_replacement()。定义如下:

def allCombinations(s, strings):
perms = list(itertools.permutations(s, 4))
allCombos = []
for perm in perms:
combo = list(itertools.combinations_with_replacement(perm, 4))
allCombos.append(combo)
for combos in allCombos:
for tup in combos:
strings.append("".join(str(x) for x in tup))

但是运行 allCombinations('ATCG', li) where li = [] 然后取list(set(li)) 仍然只处理 136 个唯一序列,而不是 256 个。

一定有一种简单的方法可以做到这一点,也许生成幂集然后过滤长度为 4?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com