【发布时间】:2016-01-07 04:53:33
【问题描述】:
Stack Overflow 上有一个类似的问题,但它使用的是 Linux 终端 (Search for specific characters in specific positions of line)。我想使用 python 做类似的事情,我不能完全弄清楚什么是 pythonic 方式来做到这一点,而不必手动编写成员资格检查。
我想在多序列比对的特定位置搜索特定氨基酸。我已经在索引列表中定义了氨基酸比对的位置,
e.g Index = [1, 100, 235, 500].
我已经在这些位置上定义了我想要的氨基酸。
Res1 = ["A","G"]
Res2 = ["T","F"]
Res3 = ["S,"W"]
Res4 = ["H","J"]
我目前正在做这样的事情:
for m in records_dict:
if (records_dict[m].seq[Index[0]] \
in Res1) and (records_dict[m].seq[Index[1]] \
in Res2) and (records_dict[m].seq[Index[2]] \
in Res3) and (records_dict[m].seq[Index[3]]\
in Res4)
print m
现在,假设我有一个包含 40 个残基的列表要检查,我知道我必须编写残基列表以手动检查,但肯定有更简单的方法可以使用 while 循环或别的东西。
另外,有什么方法可以合并一个系统,如果没有序列匹配所有 40 个成员检查,我将获得最接近匹配所有 40 个检查的 5 个最佳序列,以及诸如序列“m”之类的输出有 30/40 个匹配项以及这 30 个匹配项的列表,哪些 10 个不匹配?
【问题讨论】:
标签: python alignment sequence membership biopython