我有一个包含 2 列的表,一个是 id,另一个是包含长字符串的列,例如。
Id strings
1 AGTTAGGACCTTACTCTATATCTGTTCTGTTGGTATGGAG
2 GTACTTGTATTCTGATATCTAGGGTTTTCTAATTACTTCTG
3 GTATTCTCTTTCTAGCTGATCGTAATTAAATCTTATCTAA
当用户执行搜索时,我会在搜索字符串中找到最长的公共子序列以及表中的所有数据。例如。搜索顺序是
TCTGTTCTG
1. Its a 100% match, with the whole match found.
2. The LCS is TCTGTTCTG, but with some gaps.
3. The LCS is TCTGTTCT, with some gaps in BTW.
有没有办法存储关于匹配的信息,它从哪里开始找到匹配,然后到哪里找到匹配,然后又从哪里开始等等?所以,我可以用这种格式来表示数据
First one =>
AGTTAGGACCTTACTCTATATCTGTTCTGTTGGTATGGAG
|||||||||
TCTGTTCTG
Second one =>
GTACTTGTATTCTGATATCTAGGGTTTTCTAATTACTTCTG
| || | |||||
T CT G TTCTG
基本上我可以以某种方式存储每个找到的子序列的每个序列的开始和结束位置,这样当我以后再次显示这个页面时,我不必再次计算这个匹配,并且可以以某种方式挑选出关于开始和的数据从数据库结束并以所示格式显示?我知道这个问题可能有点模糊,但是如果您有任何疑问,请告诉我我还能如何详细说明?