首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将蛋白质序列的权重与正确的序列配对

将蛋白质序列的权重与正确的序列配对
EN

Stack Overflow用户
提问于 2020-12-23 00:27:34
回答 1查看 35关注 0票数 0

这段代码是一个更大的函数的一部分。我已经创建了一个分子量列表,还定义了我的数据中所有片段的列表。我正在试图弄清楚如何才能通过碎片列表,计算它们的分子量,并检查它是否与另一个列表中的数字相匹配。如果匹配,则将该序列追加到一个空列表中。

代码语言:javascript
复制
combs = [397.47, 2267.58, 475.63, 647.68]
fragments = ['SKEPFKTRIDKKPCDHNTEPYMSGGNY', 'KMITKARPGCMHQMGEY', 'AINV', 'QIQD', 'YAINVMQCL', 'IEEATHMTPCYELHGLRWV', 'MQCL', 'HMTPCYELHGLRWV', 'DHTAQPCRSWPMDYPLT', 'IEEATHM', 'MVGKMDMLEQYA', 'GWPDII', 'QIQDY', 'TPCYELHGLRWVQIQDYA', 'HGLRWVQIQDYAINV', 'KKKNARKW', 'TPCYELHGLRWV']
frags = []

for c in combs:
  for f in fragments:
    if c == SeqUtils.molecular_weight(f, 'protein', circular = True):
      frags.append(f)
print(frags)

我猜我不完全知道SeqUtils.molecular_weight命令在Python语言中是如何工作的,但如果有另一种方式也会很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-23 06:27:00

您正在比较浮点值是否相等。这注定要失败。在处理浮点值时,您总是必须考虑到一定程度的错误。在这种特殊情况下,您还必须考虑输入值的误差。

所以不要像这样比较浮点数

代码语言:javascript
复制
x == y

而不是像这样

代码语言:javascript
复制
abs(x - y) < epsilon

其中epsilon是一些精心选择的任意数字。

我对您的代码做了两处细微的修改:我交换了fc循环的顺序,以便能够存储w的计算值。我还将w的值附加到列表frags中,以便更好地理解发生了什么。

修改后的代码现在如下所示:

代码语言:javascript
复制
from Bio import SeqUtils

combs = [397.47, 2267.58, 475.63, 647.68]
fragments = ['SKEPFKTRIDKKPCDHNTEPYMSGGNY', 'KMITKARPGCMHQMGEY', 'AINV', 'QIQD', 'YAINVMQCL', 'IEEATHMTPCYELHGLRWV',
             'MQCL', 'HMTPCYELHGLRWV', 'DHTAQPCRSWPMDYPLT', 'IEEATHM', 'MVGKMDMLEQYA', 'GWPDII', 'QIQDY',
             'TPCYELHGLRWVQIQDYA', 'HGLRWVQIQDYAINV', 'KKKNARKW', 'TPCYELHGLRWV']

frags = []
threshold = 0.5
for f in fragments:
    w = SeqUtils.molecular_weight(f, 'protein', circular=True)
    for c in combs:
        if abs(c - w) < threshold:
            frags.append((f, w))
print(frags)

这将打印结果

代码语言:javascript
复制
[('AINV', 397.46909999999997), ('IEEATHMTPCYELHGLRWV', 2267.5843), ('MQCL', 475.6257), ('QIQDY', 647.6766)]

如您所见,权重的第一个值与参考值相差约0.0009。这就是为什么你没有在你的方法中捕捉到它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65412304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档