5

我一直在尝试使用中值字符串搜索 ACGT 基因组中的序列。我遇到的问题是要说 AAAAAAAA 到 AAAAAAAC 等等,直到我尝试了所有可能的组合。

通过创建两个列表,一个包含 A、C、G、T 和另一个包含 8 个字符序列,并且在每次搜索之后迭代和交换字符,我基本上一直在使用蛮力。问题是我没有测试所有组合,因为当两个同时迭代时它会跳过一个字母。

有什么办法可以轻松完成 AAAAAAAA - AAAAAAAC - AAAAAAAG - AAAAAAAT - AAAAAACA 等等?

4

3 回答 3

10

使用itertools

itertools.product("ACGT", repeat=8)
于 2012-07-13T02:19:31.657 回答
2

如上建议使用 itertools,

itertools.product("ACGT", repeat=8) # will work in your case.
于 2012-07-13T02:24:53.193 回答
1

使用pyparsing wiki 示例页面中的正则表达式逆变器[ACGT]{8},反转此正则表达式: . 您也可以在 UtilityMill 尝试在线逆变器,但是此服务器在生成 8 个字符的字符串时会超时,但我在允许的时间内成功获取了最多 6 个字符。

于 2012-07-13T05:13:13.893 回答