gpt4 book ai didi

java - 将不同的模式与字符串匹配

转载 作者:行者123 更新时间:2023-12-01 15:38:37 25 4
gpt4 key购买 nike

(这是 one I asked before 的后续问题)

所以我有一个 DNA 字符串

例如

acagatgaaggaggacgcgcccccgccgctgtcctgcgcctcagccatcctatgagacgg

我有 20 个不同的 3 个字母模式(每个组合对应一个氨基酸),我想与数据匹配。我的 java 程序一次查看 3 个字母,并尝试将其与其中一种模式进行匹配。我想最终计算每个氨基酸出现的次数,因此当我找到匹配项时,我需要增加特定的计数器。我想使用 java regex 来实现这个,所以我有:

Pattern A = Pattern.compile("(gct)|(gcc)|(gca)|(gcg)");
Pattern C = Pattern.compile("(tgt) | (tgc)");
Pattern D = Pattern.compile("(gat) | (gac)");

等等

但是,我现在意识到您需要为每个模式创建一个匹配器,并且不能使用一个匹配器来搜索所有模式;对我来说实现我想要做的事情的最好方法是什么?

最佳答案

我不会在这里使用正则表达式。您有四个字母,因此 4^3 = 64 可能是三元组。只需循环字符串,将每个三元组转换为其数字(a -> 0, c -> 1, g -> 2, t -> 3,因此 gcc -> 2*4 ^2 + 1*4^1 + 1*4^0 = 37),增加 counter[number] 并忽略最后不需要的那些。 (如果您还想要位置,则可能值得在插入适当的列表之前检查当前的三元组是否是所需的三元组之一,以节省一些空间。)

关于java - 将不同的模式与字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8445882/

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