gpt4 book ai didi

Python 3-切肽正则表达式?

转载 作者:行者123 更新时间:2023-11-28 21:58:24 24 4
gpt4 key购买 nike

目的是用 Python 编写蛋白质序列的理论上的胰蛋白 enzyme 切割。胰蛋白 enzyme 的切割(切割)规则是:在 R 或 K 之后,但不在 P 之前。(即胰蛋白 enzyme 在每个 K 或 R 之后切割(切割)蛋白质序列,除非(K 或 R)后跟 P)。

这是我的正则表达式:

pattern = re.compile('[KR]?[^P].*?[KR](?!P)')
peptides = pattern.findall('GGRGAGSAAWSAAVRYLTMMSSLYQT')

输出:

GGR and GAGSAAWSAAVR

我想要的是:

GGR and GAGSAAWSAAVR and YLTMMSSLYQT

Findall 只返回被剪切的那些,而不返回剩余的。谢谢

最佳答案

根据您发布的链接

The cleavage rule for trypsin is: after R or K, but not before P. (i.e. the trypsin cleaves (cuts) the protein sequence after each K or R, unless (K or R) is followed by a P).

这可以按如下方式实现:

  1. 匹配一个字符。
  2. 在匹配下一个字符之前,检查最后一个不是拆分KR 之一(后面没有P).
  3. 然后消耗下一个字符。
  4. 重复第 2 步和第 3 步。

在正则表达式中,这看起来像这样:

>>> re.findall(r".(?:(?<![KR](?!P)).)*", 'GGRGAGRPSAAWKSAAVRYLTMMSKPSLYQT')
['GGR', 'GAGRPSAAWK', 'SAAVR', 'YLTMMSKPSLYQT']

(我不知道这是否是一个有效序列,但它包括所有相关案例。)

关于Python 3-切肽正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com