把生物學與信息學聯(lián)系起來的三個人

四進制的核苷酸串


2029年惯悠,某科學課老師正在講脫氧核苷酸的內(nèi)容挟憔。這位活潑的00后,當講到DNA的結(jié)構(gòu)的時候拔莱,想到:

脫氧核苷酸的A立美、G匿又、C、T建蹄,難道不是一種四進制嗎碌更?假設A代表0,G代表1洞慎,C代表2痛单,T代表3,互補的和為3劲腿。四進制不就是2位二進制嗎旭绒?

因此萬物皆可二進制

她看到了脫氧核苷酸和二進制的關系,開始想更多的生物學與信息學的問題焦人。

第二天挥吵,她在科學課上對學生講基因工程的時候,講到轉(zhuǎn)錄和翻譯的問題花椭。于是引出了下面的問題忽匈。


尋找正確的脫氧核苷酸串


我們假設有很長的一串DNA,它的內(nèi)容是這樣的:

AGGCACGTTCATGTTAAAGCCATATCTTAGTCCAGTATCATCAGCATGCTAAGTCGTCA……

假設在這串DNA中矿辽,只有找到AGCATG子串的時候丹允,轉(zhuǎn)錄才會開始。我們將介紹兩種尋找脫氧核苷酸串的方法袋倔。

水杉的顏色變化所需要的酶雕蔽,需要通過尋找啟動子來完成? ?

一般來說,我們需要一個一個地比較奕污,就像下面:

這種比較方法叫做BF算法萎羔,它很簡單,但問題是它比較的次數(shù)很多碳默,而且當上一次比較到不同的字符的時候贾陷,還要回去比較之前的字符。當字符數(shù)量多的時候嘱根,比較的次數(shù)將以幾何級數(shù)增加髓废。


KMP算法


于是我們引入一種新的算法,它可以減少不必要的回溯该抒,同時根據(jù)已經(jīng)匹配的長度選擇快速移動的方法慌洪。

在這種情況下,我們需要對于子串(設定為t1t2t3……tn)引入一個next值的概念。我們規(guī)定冈爹,next[1]=0(第一個字符的next值為0)涌攻,第j個字符的next值由下面決定。

next[j]=k频伤,其中"t1t2……t(k-1)"=="t(j-k+1)t(j-k+2)……t(j-1)"恳谎。當k=j時,next[j+1]=next[j]+1憋肖,否則next[j+1]=next[k]+1因痛。當沒有滿足"t1t2……t(k-1)"=="t(j-k+1)t(j-k+2)……t(j-1)"的k值時,next[j+1]=1岸更。

這樣的算法更加適合計算機操作鸵膏,尤其是當字符更多,部分重復區(qū)段更多的時候怎炊,優(yōu)勢就很大了谭企。例如這里,只需要比較到第12次就可以找到位于第43個字符的轉(zhuǎn)錄起點了结胀。

我?guī)湍阋粋€個匹配赞咙,你只管一直向前,KMP算法就像這樣? ??


尋找脫氧核苷酸串的拓展


當科學老師和數(shù)學老師糟港、信息老師交流到DNA的結(jié)構(gòu)和基因工程的時候攀操,數(shù)學老師和信息老師感到很興奮。原來我們熟悉的二進制秸抚,竟然在這肉眼幾乎不可見的DNA中也存在速和,并且關系如此緊密“溃科學老師繼續(xù)展開:

想象一下乘坐11號線颠放,然后隨機在一個站下車的感受? ??

假如是在細菌的環(huán)狀DNA中切割有效片段用于基因工程,應該怎么辦吭敢?

其實道理是一樣的碰凶,只是當環(huán)狀的時候,我們通過把DNA擴充到原來的2倍來思考問題鹿驼。就像下面:

可以看到欲低,目標脫氧核苷酸串在起始點附近的時候,擴充到原來的2倍能夠更好找到目標畜晰。

數(shù)學老師之后也給他的學生講了類似的開鎖問題砾莱,就是在密碼鎖中的鎖芯中有01234567的八進制數(shù)字和開鎖密碼條,只有當鎖芯對應的數(shù)字和密碼對上時才能開鎖凄鼻。

信息老師也發(fā)現(xiàn)了這個關系腊瑟,給學生們講了DNA和計算機的關系聚假,DNA就像是計算機的指令的存儲,而特異的蛋白質(zhì)充當讀取內(nèi)容的磁針的作用闰非。轉(zhuǎn)錄翻譯的過程膘格,本質(zhì)就是轉(zhuǎn)寫二進制編碼的過程。

這些都說明了生物學河胎、信息學與數(shù)學的聯(lián)通性闯袒。

想象一下花園里的門鎖? ??
環(huán)狀DNA就像操場的跑道,或者說是計算機的磁盤??


回到現(xiàn)實


2020年疫情網(wǎng)課期間游岳,在數(shù)據(jù)結(jié)構(gòu)的課堂上,曾經(jīng)講過核酸檢測與KMP算法的關系其徙。本文的故事雖然發(fā)生在未來胚迫,但類似的事情在現(xiàn)在已經(jīng)發(fā)生著。脫氧核苷酸串的匹配已經(jīng)在基因工程中應用唾那,甚至存在于轉(zhuǎn)錄访锻、DNA復制等生命運行的行為中。

2020年的春天闹获,KMP算法讓核酸檢測更加高效??

核酸檢測也是KMP算法的一個應用期犬,KMP算法的高效性在數(shù)據(jù)量極大的脫氧核苷酸序列中獲得了很大的發(fā)揮。

我們應該感謝D.E.Knuth避诽、J.H.Morris和V.R.Pratt龟虎,他們創(chuàng)造的KMP算法,極大地幫助了生物學和信息學的發(fā)展沙庐,讓生命也可以以信息化的方法解決問題鲤妥。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拱雏,隨后出現(xiàn)的幾起案子棉安,更是在濱河造成了極大的恐慌,老刑警劉巖铸抑,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贡耽,死亡現(xiàn)場離奇詭異,居然都是意外死亡鹊汛,警方通過查閱死者的電腦和手機蒲赂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柒昏,“玉大人凳宙,你說我怎么就攤上這事≈暗唬” “怎么了氏涩?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵届囚,是天一觀的道長。 經(jīng)常有香客問我是尖,道長意系,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任饺汹,我火速辦了婚禮蛔添,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兜辞。我一直安慰自己迎瞧,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布逸吵。 她就那樣靜靜地躺著凶硅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扫皱。 梳的紋絲不亂的頭發(fā)上足绅,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音韩脑,去河邊找鬼氢妈。 笑死,一個胖子當著我的面吹牛段多,可吹牛的內(nèi)容都是我干的首量。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼衩匣,長吁一口氣:“原來是場噩夢啊……” “哼蕾总!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起琅捏,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤生百,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后柄延,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚀浆,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年搜吧,在試婚紗的時候發(fā)現(xiàn)自己被綠了市俊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡滤奈,死狀恐怖摆昧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜒程,我是刑警寧澤绅你,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布伺帘,位于F島的核電站,受9級特大地震影響忌锯,放射性物質(zhì)發(fā)生泄漏伪嫁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一偶垮、第九天 我趴在偏房一處隱蔽的房頂上張望张咳。 院中可真熱鬧,春花似錦似舵、人聲如沸脚猾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婚陪。三九已至,卻和暖如春频祝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脆淹。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工常空, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盖溺。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓漓糙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親烘嘱。 傳聞我的和親對象是個殘疾皇子昆禽,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容