作者 | Andre Ye
譯者 | 孟翔傑
來源 | DeepHub IMBA
許多人沒有想到,病毒就像地球上為生存而掙扎的其他生物一樣,它們會進化或變異。
只要看一看人類病毒來源的蝙蝠攜帶的病毒RNA序列片段即可。
AAAATCAAAGCTTGTGTTGAAGAAGTTACAACAACTCTGGAAGAAACTAAGTT
…以及人類COVID-19病毒的RNA序列的摘錄…
AAAATTAAGGCTTGCATTGATGAGGTTACCACAACACTGGAAGAAACTAAGTT
…顯然,冠狀病毒已改變其內部結構以適應其新宿主(更精確地說,冠狀病毒內部結構的約20%發生了突變),但仍保持了足夠的活力,以至於它仍然可以在起源物種體內存活。
實際上,研究表明COVID-19通過反覆變異來提高它們的存活率。在抗擊冠狀病毒的鬥爭中,我們不僅需要找到消滅病毒的方法,還需要找到病毒如何突變以及如何遏制這些突變的方法。
在本文中,我將……
提供RNA序列的簡單解釋使用K-Means創建基因組信息集群使用PCA可視化集群…並對我們執行的每個程序進行分析來獲取經驗。
什麼是基因組序列?
如果您對RNA序列有基本的了解,請跳過此部分。
與「解碼」相比,基因組測序通常是分析從樣品中提取的脫氧核糖核酸(DNA)的過程。在每個正常細胞內有23對染色體,這些染色體容納著DNA。
DNA的捲曲雙螺旋結構使其可以展開為梯形。該梯形由成對的化學字母(稱為鹼基)製成。DNA中只有四種:腺嘌呤,胸腺嘧啶,鳥嘌呤和胞嘧啶。腺嘌呤僅與胸腺嘧啶結合,而鳥嘌呤僅與胞嘧啶結合。這些鹼基分別用A,T,G和C表示。
這些鹼基構成了指示生物體如何構建蛋白質的各種代碼-實際上是控制病毒行為的DNA。
DNA轉換為RNA再轉換為蛋白質的過程
使用包括測序儀器和專用標籤等專用設備,可以揭示特定片段的DNA序列。從中獲得的信息將用於進一步的分析和比較,以使研究人員能夠識別基因的變化過程,並將基因與疾病和表型以及潛在的藥物靶細胞關聯起來。
基因組序列是一串長長的「 A」,「 T」,「 G」和「 C」,代表生物體對環境的反應方式。通過改變DNA可以造成生物的突變。查看基因組序列是分析冠狀病毒突變的有力方法。
了解數據
在Kaggle上找到的數據如下所示:
每行代表蝙蝠病毒的一種突變。首先,只需花一分鐘就可以欣賞大自然的不可思議性-在數周之內,冠狀病毒已經產生了262種自身突變,以提高自身存活率。
一些重要的列:
query acc.ver代表原始病毒標識符。subject acc.ver是病毒突變的標識符。% identity代表當前序列與原始病毒相同的百分比。alignment length表示序列中有多少個相同的標識符。mismatches代表突變和原始變異的數量。bit score表示衡量對齊程度的度量;分數越高,對齊越好。每列的一些統計度量(可以在Python中使用data.describe方便地調用它):
查看% identity列,很有趣的是,該值最小約為77.6%。% identity的標準差為7%。這個數值相當大,意味著存在廣泛可能的突變。bit score比較大的標準差支持這一觀點-標準差大於平均值!
可視化數據的一種好方法是通過關聯熱圖。每個單元代表一個特徵與另一個特徵之間的關聯程度。
圖中可以看到許多數據彼此高度相關。這是有道理的,因為大多數突變都是彼此不同的。需要注意的一件事是alignment length與bit score高度相關。
使用K-Means創建突變聚類
K-Means是用於聚類的算法,它是機器學習中在特徵空間中查找數據點並結合成組的一種方法。我們的K-Means的目標是找到突變簇,由此我們可以得出有關的突變性質以及如何解決突變的見解。
但是,我們仍然需要選擇簇數k。儘管這就像在二維中繪製點一樣簡單,但在更高的維度中則無法實現(如果我們想保留最多的信息)。像肘法(elbow method)這樣選擇k的方法是主觀且不準確的,因此,我們將使用輪廓法(silhouette method)。
輪廓法是針對k個聚類中心給出的聚類結果對數據適應程度的評分。Python中的sklearn庫使實現K-Means和輪廓法變得非常簡單。
似乎5個聚類中心是最合適的。現在,我們可以確定聚類中心。這些聚類中心是每個類別圍繞的點,代表(在這種情況下)5種主要突變類型的數值評估。
注意:已對數據進行了標準化,以使它們全部縮放為相同的比例。否則,每列將不可比較。
此熱圖按列表示每個簇的屬性。因為這些點是按比例縮放的,所以圖中標註的數值在數量上沒有任何意義。但是,可以比較每列中的標註值。您可以從視覺上了解每個突變簇的相對屬性。如果科學家要開發疫苗,它應針對這些主要的病毒突變簇。
在下一節中,我們將使用PCA可視化數據。
PCA數據可視化
PCA(主成分分析法)是一種降維方法。它選擇多維空間中的正交矢量來表示軸,從而保留了最多的信息(方差)。
流行的Python庫sklearn可以用兩行代碼實現PCA。首先,我們可以檢查數據的方差比。這是從原始數據集中保留的統計信息的百分比。在這種情況下,數據的方差比是0.9838548580740327,這已經很高了!我們可以放心,無論我們從PCA進行的任何分析都不會使數據失真。
每個新功能(主要組件)都是其他幾列的線性組合。我們可以通過熱圖可視化其中一列對於相對的兩個其他組件之一的重要性。
主要需要了解成分一具有較高分數的含義-在這種情況下,其特徵具有更長的比對長度(更接近原始病毒),而成分2的主要特徵具有更短的比對長度 (距離原始值更遠)。這也反映在bit score的較大差異上。
顯然,病毒突變有5種主要方式。我們可以從中獲得許多信息。
其中四個突變位於成分一的左側,一個突變位於右側。成分一的特徵是高alignment length。這意味著成分一的值越高則對齊長度越長(更接近原始病毒)。因此,成分一的值較低時在遺傳上距離原始病毒較遠。因此大多數病毒突變與原始病毒差異很大。因此,試圖製造疫苗的科學家應該意識到該病毒會產生大量與原始病毒差異很大的突變。
結論
使用K-Means和PCA,能夠識別冠狀病毒中的五個主要突變簇。研發冠狀病毒疫苗的科學家可以利用聚類中心的信息獲得有關每個聚類特徵的知識。我們能夠使用主成分分析在二維空間上可視化簇,並發現冠狀病毒具有很高的突變率。這可能是它如此致命的原因。
【end】
信息保留的二值神經網絡IR-Net,落地性能和實用性俱佳 | CVPR 2020人生苦短,不光要用Python,還要在VSCode裡用清華學霸組團的工業 AIoT 創企再獲數千萬融資:玩家應推動在邊緣 AI 晶片上跑算法用Java開發自己的Kubernetes控制器,想試試嗎?字節跳動武漢招聘 2000 人,距離大廠 Offer,你還差這篇 Java 乾貨!| 原力計劃數字合約如何將所有權下放?如何使用腳本系統將交易轉換為可編程的智能合約?答案就在這篇文章裡!你點的每個「在看」,我都認真當成了AI