【发布时间】:2018-04-22 06:16:33
【问题描述】:
首先是一些生物学背景,这样你就明白我的问题了。在生物学中,DNA 序列可以包含被酶或蛋白质识别的基序。这些主题是字符串,例如“GACTGC”。分析可以揭示基序中的位置是否“保守”。
酶可能最能识别“GACTGC”,但也可能识别“CACTGC”甚至“TTCTGC”。所以,有些职位可能会有所不同。
我有以下情况: 我想创建一个可以识别的带有图案的排列列表。为此,我有以下信息:
最佳认可:GACTGC
碱基,也是可能的:
GACTGC
A C G
T A
这意味着,在第一个位置,也可能有 A 或 T,在第 4 个位置可能有一个 C 等等,但在第 2 个位置,A 是守恒的,没有其他可能。
我可以通过将“最适合”主题转换为字母列表并替换一个字母,加入并附加到我的列表(为每个位置执行此操作)来生成一个列表,其中每个位置都有一个不同的碱基。所以它基本上是硬编码的。 它成功了,因为我改变了任何位置,无论输入什么主题。 但现在我想根据主题将特定位置更改为特定字母并仅存储特定排列。
因此,我正在寻找最短/最快/可能最聪明的方法,以传递位置信息及其有效字母,以及如何为一个和两个可变位置创建排列。
请注意:我会尝试在答案中或通过编辑发布我的代码,以某种方式复制粘贴,然后在标记的代码上按 ctrl+k 不起作用
【问题讨论】:
标签: python string python-3.x replace