我一直在尝试使用中值字符串搜索 ACGT 基因组中的序列。我遇到的问题是要说 AAAAAAAA 到 AAAAAAAC 等等,直到我尝试了所有可能的组合。
通过创建两个列表,一个包含 A、C、G、T 和另一个包含 8 个字符序列,并且在每次搜索之后迭代和交换字符,我基本上一直在使用蛮力。问题是我没有测试所有组合,因为当两个同时迭代时它会跳过一个字母。
有什么办法可以轻松完成 AAAAAAAA - AAAAAAAC - AAAAAAAG - AAAAAAAT - AAAAAACA 等等?
itertools.product("ACGT", repeat=8)
如上建议使用 itertools,
itertools.product("ACGT", repeat=8) # will work in your case.
使用pyparsing wiki 示例页面中的正则表达式逆变器[ACGT]{8}
,反转此正则表达式: . 您也可以在 UtilityMill 尝试在线逆变器,但是此服务器在生成 8 个字符的字符串时会超时,但我在允许的时间内成功获取了最多 6 个字符。