(這是排序的後續問題one I asked before)匹配不同的圖案爲一個字符串
所以我有一個DNA串
例如
acagatgaaggaggacgcgcccccgccgctgtcctgcgcctcagccatcctatgagacgg
和我有20個不同的3字母模式(每個組合對應一個氨基酸)我想匹配的數據。我的java程序一次只查看3個字母,並嘗試將它與其中一個模式相匹配。我想最終計算每個氨基酸出現的次數,所以當我找到一個匹配時,我需要增加一個特定的計數器。我想實現這個用java正則表達式,所以我有:
Pattern A = Pattern.compile("(gct)|(gcc)|(gca)|(gcg)");
Pattern C = Pattern.compile("(tgt) | (tgc)");
Pattern D = Pattern.compile("(gat) | (gac)");
等
不過,我現在認識到,你需要爲每個模式的匹配,你不能用一個匹配器搜索所有模式;對於我來說,實現我想要做的事情的最佳方式是什麼?
你知道邊界在你的字符串中?這是每封第三封信嗎?如果你不知道,我認爲正則表達式會因一些模式重疊的事實而變得複雜。例如,從上面字符串中的第17個字符開始,您有'gcgcc' - 這將匹配從第一個位置開始的'gcg',但也會匹配從第三個位置開始的'gcc'。這些匹配共享字符串中的第二個g,所以我懷疑這實際上是表示這些位置中的兩種不同的酸。 –
user1058210,讓他們做你的GC04課程真的不是很酷,你應該自己動手做。和平! – StrangeLondoner