日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析

發(fā)布時(shí)間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介:?阿里云高效基因序列檢索助力新冠肺炎病毒序列快速分析

AnalyticDB for MySQL是云端托管的PB級(jí)高并發(fā)低延時(shí)數(shù)據(jù)倉(cāng)庫(kù),通過(guò)AnalyticDB for MySQL向量檢索功能構(gòu)建基因檢索系統(tǒng),支持毫秒級(jí)針對(duì)10億級(jí)別的向量數(shù)據(jù)進(jìn)行查詢分析,更加快速、高效地為新冠肺炎病毒防控、研發(fā)治療藥物以及相關(guān)疫苗提供幫助。

1.背景信息

2019年年底,中國(guó)的新興商業(yè)中心武漢,爆發(fā)了一種名為新型冠狀病毒肺炎(簡(jiǎn)稱新冠肺炎)的疫情。在新冠肺炎流行的兩個(gè)多月中,中國(guó)造成了3300多人死亡,8萬(wàn)2千多人感染。隨著疫情的進(jìn)一步蔓延,目前已經(jīng)橫跨了109個(gè)國(guó)家,造成了80多萬(wàn)人感染,4萬(wàn)多人失去了生命。到目前為止,疫情使得50多個(gè)國(guó)家停擺,全世界范圍內(nèi)造成了數(shù)千億美元的經(jīng)濟(jì)損失。在疫情防治期間,阿里云提供了高效基因序列檢索技術(shù),助力新冠肺炎病毒序列分析。

2.基因序列檢索技術(shù)應(yīng)用范圍和現(xiàn)狀

對(duì)于當(dāng)下疫情,基因序列檢索技術(shù)主要應(yīng)用于以下場(chǎng)景:

  • 用于新冠肺炎的溯源和分析,幫助疫情防控找到病毒宿主,做好有效防范。
    通過(guò)基因序列檢索技術(shù),發(fā)現(xiàn)蝙蝠和穿山甲身上的冠狀病毒RNA序列匹配度高達(dá)96%和99.7%,可以推斷蝙蝠和穿山甲很可能是新冠肺炎的宿主。
  • 用于分析新冠肺炎病毒的復(fù)制和傳播過(guò)程,為研發(fā)治療藥物和疫苗提供幫助。
    通過(guò)基因序列檢索技術(shù)對(duì)基因序列按功能區(qū)域劃分,了解各個(gè)模塊的功能,從而更好地分析出病毒的復(fù)制和傳播過(guò)程,進(jìn)而找到關(guān)鍵節(jié)點(diǎn),為研發(fā)治療藥物和疫苗提供幫助。
  • 用于檢索到與冠狀病毒相似的病毒基因序列。
    基因序列檢索技術(shù)也可以檢索與新冠肺炎病毒相似的病毒基因序列,例如SARS、MERS等病毒,從而借鑒相關(guān)藥物靶點(diǎn)設(shè)計(jì)機(jī)制,更快、更高效地研發(fā)檢測(cè)試劑盒、疫苗以及相關(guān)的治療藥物。

基于當(dāng)下疫情的快速蔓延,當(dāng)前的基因匹配算法太慢,迫切需要高效匹配算法進(jìn)行基因序列檢索。阿里云AnalyticDB for MySQL團(tuán)隊(duì)將基因序列片段轉(zhuǎn)化成對(duì)應(yīng)的1024維特征向量,將兩個(gè)基因片段的匹配問(wèn)題,轉(zhuǎn)換成了兩個(gè)向量間的距離計(jì)算問(wèn)題,從而大大降低了計(jì)算開銷,實(shí)現(xiàn)毫秒級(jí)返回相關(guān)基因片段,完成基因片段的首次篩選。然后,使用基因相似計(jì)算BLAST算法,完成基因相似度的精確排查,從而高效率完成基因序列的匹配計(jì)算。匹配算法從原來(lái)O(M+N)的復(fù)雜度降低到O(1)。同時(shí),阿里云AnalyticDB for MySQL提供強(qiáng)大的機(jī)器學(xué)習(xí)分析工具,通過(guò)基因轉(zhuǎn)向量技術(shù),將局部的和疾病相關(guān)的關(guān)鍵靶點(diǎn)基因片段轉(zhuǎn)成特征向量,用于基因藥物的研發(fā),大大加速了基因分析過(guò)程。

3. AnalyticDB for MySQL基因檢索系統(tǒng)

新冠肺炎病毒的RNA序列可以用一串核酸序列(又稱堿基序列)表示,RNA序列含有四種核苷酸,分別用A、C、G和T表示,分別代表腺嘌呤、胞嘧啶、鳥嘌呤、胸腺嘧啶。每個(gè)字母代表一種堿基,無(wú)間隔排列在一起。每一個(gè)物種的RNA序列均不相同但又有規(guī)律,基因檢索系統(tǒng)可以通過(guò)輸入一串病毒的基因片段,檢索相似的基因,用來(lái)對(duì)病毒的RNA序列進(jìn)行分析。
為方便演示AnalyticDB for MySQL基因片段檢索方法,我們從GenBank下載了大量病毒的RNA片段,并將GenBank內(nèi)部關(guān)于病毒的論文以及Google Scholar中相關(guān)病毒的論文導(dǎo)入AnalyticDB for MySQL基因檢索數(shù)據(jù)庫(kù)中。
AnalyticDB for MySQL基因檢索的演示界面如下圖所示,將新冠肺炎病毒的序列(COVID-19)上傳到AnalyticDB for MySQL基因檢索系統(tǒng)中,AnalyticDB for MySQL基因檢索系統(tǒng)只需幾毫秒即可檢索到相似的基因片段(當(dāng)前示例系統(tǒng)只返回匹配度超過(guò)0.8的基因片段)。從返回的基因片段得出穿山甲攜帶的新冠肺炎病毒(GD/P1L)、蝙蝠攜帶的新冠肺炎病毒(RaTG13)以及SARS和MARS病毒,其中GD/P1L的序列匹配度最高為0.974,由此推斷出新冠肺炎病毒很可能是通過(guò)穿山甲傳染到人的。

?

圖1:AnalyticDB for MySQL基因檢索演示界面

如果RNA片段非常相似,說(shuō)明這兩個(gè)RNA可能有相似的蛋白質(zhì)表達(dá)和結(jié)構(gòu)。通過(guò)基因檢索工具,可以看到SARS和MARS與新冠肺炎病毒的匹配度為0.8以上,說(shuō)明可以將一些SARS或者M(jìn)ARS的研究成果應(yīng)用到新冠肺炎病毒上。系統(tǒng)提取了每種病毒的論文,通過(guò)文本分類算法,將論文劃分為檢測(cè)類、疫苗類和藥物類,例如下圖為SARS的七種檢測(cè)方法、四種疫苗接種方法和10中治療藥物。其中,對(duì)SARS有效的熒光定量PCR檢測(cè),目前正應(yīng)用于新冠肺炎病毒的檢測(cè);基因疫苗的方法以及誘導(dǎo)體內(nèi)免疫疫苗的方法,也正在展開研究;治療藥物中瑞德西韋以及相關(guān)的干擾素也都用于新冠肺炎病毒的治療上。

?

圖2:SARS病毒相關(guān)論文檢索分類結(jié)果

單擊上圖干擾素鏈接可以查看相關(guān)論文,當(dāng)前系統(tǒng)調(diào)用了自動(dòng)翻譯軟件,抽取中文版文件名關(guān)鍵詞作為文件名,方便用戶閱讀。

?

圖3:論文查看效果

4.實(shí)現(xiàn)架構(gòu)

?

?

圖4:基因檢索實(shí)現(xiàn)架構(gòu)

AnalyticDB for MySQL基因檢索系統(tǒng)中,AnalyticDB for MySQL負(fù)責(zé)存儲(chǔ)和查詢所有結(jié)構(gòu)化數(shù)據(jù)(例如基因序列的長(zhǎng)度,長(zhǎng)度包含基因的論文名稱、基因種類、DNA或者RNA等)和基因序列產(chǎn)生的特征向量。查詢數(shù)據(jù)時(shí),通過(guò)基因向量抽取模型將基因轉(zhuǎn)化成向量,在AnalyticDB for MySQL向量數(shù)據(jù)庫(kù)中進(jìn)行粗排檢索,然后在返回的向量匹配結(jié)果集中使用經(jīng)典的BLAST算法進(jìn)行精確檢索,返回最相似的基因序列。
AnalyticDB for MySQL基因檢索系統(tǒng)的核心是基因向量抽取模型,該模塊可以將核苷酸序列轉(zhuǎn)化成向量。目前AnalyticDB for MySQL抽取了各種病毒的RNA全部序列樣本進(jìn)行訓(xùn)練,可以非常方便地對(duì)病毒的RNA進(jìn)行相似度計(jì)算。同時(shí),基因向量抽取模型也可以擴(kuò)展應(yīng)用于其他物種基因檢索。

5.基因向量抽取算法

目前詞向量技術(shù)已經(jīng)非常成熟,被廣泛應(yīng)用于機(jī)器翻譯、閱讀理解、語(yǔ)義分析等相關(guān)領(lǐng)域,并取得了巨大成功。詞向量化采用了分布式語(yǔ)義的方法表示一個(gè)詞的含義,一個(gè)詞的含義就是這個(gè)詞所處的上下文語(yǔ)境。例如高中英語(yǔ)中的完形填空題,一篇短文空出10個(gè)地方,學(xué)生根據(jù)空缺詞的上下文語(yǔ)境選擇合適的詞。也就是說(shuō)上下文語(yǔ)境能夠準(zhǔn)確地表達(dá)這個(gè)詞,如果某位同學(xué)選擇了正確的選詞,表示該同學(xué)理解了空缺詞的含義。因此,通過(guò)上下文詞的關(guān)系,采用詞向量算法,可以為每個(gè)詞生成一個(gè)向量,通過(guò)計(jì)算兩個(gè)詞向量之間的相似度,得到兩個(gè)詞的相似度。
同樣的道理,基因序列的排列具有一定的規(guī)律,并且每一部分基因序列所表達(dá)的功能和含義不同。可以將很長(zhǎng)的基因序列劃分成小的單元片段(也就是詞)進(jìn)行分析,并且這些詞也有上下文語(yǔ)境,這些詞相互連接、相互作用共同完成相對(duì)應(yīng)的功能,形成合理的表達(dá)。因此,生物科學(xué)家們采用詞向量算法對(duì)基因序列單元進(jìn)行向量化,兩個(gè)基因單元相似度很高,說(shuō)明需要這兩個(gè)基因單元共同來(lái)表達(dá)和完成相應(yīng)的功能。
總體而言,AnalyticDB for MySQL基因向量抽取算法分為三步:
(1)在氨基酸序列中定義詞。生物信息學(xué)中用K-mers來(lái)分析氨基酸序列,K-mer是指將核酸序列分成包含K個(gè)堿基的字符串,即從一段連續(xù)的核酸序列中迭代選取長(zhǎng)度為K個(gè)堿基的序列,若核酸序列長(zhǎng)度為L(zhǎng),K-mer長(zhǎng)度為K,那么可以得到L-K+1個(gè)K-mers。例如下圖所示,假設(shè)某序列長(zhǎng)度為12,設(shè)定選取的k-mer長(zhǎng)度為8,則得到(12-8+1=5)5個(gè)5-mers。這些k-mer,就是氨基酸序列中的詞。

?

圖5:8-mers核酸序列示意圖

(2)找到氨基酸序列的上下文語(yǔ)境,將基因序列中的詞轉(zhuǎn)換成1024維向量。對(duì)于詞向量算法而言,另一個(gè)重要的問(wèn)題就是上下文的語(yǔ)境。AnalyticDB for MySQL基因向量抽取算法在氨基酸片段中選擇一個(gè)長(zhǎng)度為L(zhǎng)的窗口,該窗口內(nèi)的氨基酸片段可認(rèn)定為在同一語(yǔ)境內(nèi)。例如CTGGATGA是一段核酸序列,選取了長(zhǎng)度為10的窗口,AnalyticDB for MySQL基因向量抽取算法將CTGGATGA轉(zhuǎn)換成5個(gè)5-mers即{AACTG, ACTGG, CTGGA, GGATG, GATGA}。對(duì)于其中一個(gè)5-mer{CTGGA}而言,另外四個(gè){AACTG, ACTGG, GGATG, GATGA}5-mers就是當(dāng)前5-mer {CTGGA}的上下文語(yǔ)境。AnalyticDB for MySQL基因向量抽取算法套用詞向量空間訓(xùn)練模型,對(duì)已有生物基因的K-mers進(jìn)行訓(xùn)練,便可將一個(gè)K-mer(基因序列中的一個(gè)詞)轉(zhuǎn)換成1024維向量。
(3)類似于詞向量模型,K-mer向量模型也擁有和詞向量模型相似的數(shù)理計(jì)算性質(zhì)。公式一說(shuō)明核苷酸序列ACGAT的向量減去GAT序列的向量和AC序列的向量距離非常接近。公式二說(shuō)明核苷酸序列AC的向量加上ATC序列的向量和ACATC序列的向量距離也很接近。因此,根據(jù)這些數(shù)理特征,計(jì)算一個(gè)長(zhǎng)氨基酸序列向量時(shí),可以將這個(gè)序列中每一段的K-mer序列進(jìn)行累加,最后進(jìn)行歸一化就能得到整個(gè)氨基酸序列的向量。同時(shí),為提升精度,可以將基因片段看作一個(gè)文本,使用doc2vec4將整個(gè)序列轉(zhuǎn)換成向量進(jìn)行計(jì)算。為進(jìn)一步驗(yàn)證算法性能,AnalyticDB for MySQL基因向量抽取算法計(jì)算了常用于基因檢索庫(kù)中的BLAST算法序列與基因轉(zhuǎn)向量l2距離序列的相似度,兩個(gè)序列的斯皮爾曼等級(jí)相關(guān)系數(shù)是0.839。以上得出結(jié)論,將DNA序列轉(zhuǎn)換成向量用于相似基因片段的初次篩選,是有效且可行的。

6.向量檢索功能概述

一般包含向量檢索的應(yīng)用系統(tǒng)中,開發(fā)者通常會(huì)使用向量檢索引擎(例如Faiss)存儲(chǔ)向量數(shù)據(jù),然后使用關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)。因此,查詢時(shí)也需要交替查詢兩個(gè)系統(tǒng),明顯額外增加了開發(fā)人員的工作量,數(shù)據(jù)查詢性能也不是最優(yōu)。
AnalyticDB for MySQL是云端托管的PB級(jí)高并發(fā)低延時(shí)數(shù)據(jù)倉(cāng)庫(kù),可以毫秒級(jí)針對(duì)10億級(jí)別的向量數(shù)據(jù)進(jìn)行查詢,100毫秒級(jí)別的響應(yīng)時(shí)間。AnalyticDB for MySQL全面兼容MySQL協(xié)議以及SQL:2003語(yǔ)法標(biāo)準(zhǔn),其向量檢索功能支持對(duì)圖像、文本推薦、聲紋、核苷酸序列等相似性進(jìn)行查詢和分析,目前在多個(gè)城市的安防項(xiàng)目中已大規(guī)模部署了AnalyticDB for MySQL。
AnalyticDB for MySQL支持結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的近似檢索和分析,通過(guò)SQL接口即可快速搭建基因檢索或者基因+結(jié)構(gòu)化數(shù)據(jù)混合檢索等系統(tǒng)。在混合檢索場(chǎng)景中AnalyticDB for MySQL的優(yōu)化器會(huì)根據(jù)數(shù)據(jù)的分布和查詢條件選擇最優(yōu)執(zhí)行計(jì)劃,在保證數(shù)據(jù)召回率的同時(shí),得到最優(yōu)的性能。例如,通過(guò)以下一條SQL即可檢索RNA核酸序列。

-- 查找RNA和提交的序列向量相近的基因序列。 select title, # 文章名length, # 基因長(zhǎng)度type, # mRNA或DNA等l2_distance(feature, array[-0.017,-0.032,...]::real[]) as distance # 向量距離 from demo.paper a, demo.dna_feature b where a.id = b.id order by distance; # 用向量相似度排序

上述SQL中表demo.paper用于存儲(chǔ)上傳的每篇文章的基本信息,demo.dna_feature存儲(chǔ)各個(gè)物種的基因序列對(duì)應(yīng)的向量。通過(guò)基因轉(zhuǎn)向量模型,將要檢索的基因轉(zhuǎn)成向量[-0.017,-0.032,...],然后在AnalyticDB for MySQL數(shù)據(jù)庫(kù)中進(jìn)行檢索。
當(dāng)前系統(tǒng)也支持結(jié)構(gòu)化信息+非結(jié)構(gòu)化信息(核苷酸序列)的混合檢索,例如查找和冠狀病毒相關(guān)的類似基因片段時(shí),只需要在SQL中增加where title like'%COVID-19%'即可。

作者:SRE團(tuán)隊(duì)技術(shù)小編-小蘭

原文鏈接

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載

?

總結(jié)

以上是生活随笔為你收集整理的阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。