# 專題期末成果報告
----
## 撰寫格式
1. What
2. When
3. How
## 摘要
----
病原菌的多重抗藥性一直是目前臨床感染用藥上非常棘手的議題,而病原菌中的外排蛋白(Efflux Protein)是藥物治療中產生抗藥性的重要因素之一。因此,若能識別出外排蛋白,有助於人類對於病原菌抗藥性的認知及臨床上研發預防用藥。
在傳統的生物研究中,解析外排蛋白需要將膜蛋白進行冷凍斷裂,且進行蛋白質序列分析困難,研究過程耗時且準確度相對有限。因此本專題將使用深度學習的卷積神經網路的架構,使用位置相似矩陣(PSSM)將上述三種蛋白質的序列擷取胺基酸序列特徵,最終從膜蛋白(membrane protein)以及運輸蛋白(transport protein)中識別出外排蛋白(efflux protein)。
----
膜蛋白(membrane protein)為細胞膜上蛋白,它的功能十分多
元,有些能接收細胞外的訊號,進而引發細胞內的反應;有些作為
酵素(enzyme)可催化反應。
其中一種被稱為運輸蛋白(transport
protein)可以使離子在生物膜上移動,從而完成許多不同的生物功
能。這兩種蛋白能調節膜電位和電信號來控制細胞膜的離子運輸。
* 運輸蛋白(transport protein)是一種膜蛋白主要負責運輸物質,能選擇性地使非自由擴散的小分子物質透過質膜。例如,血紅素協助運輸送氧氣,能夠維持生理細胞功能的正常運作。
* 外排蛋白(efflux protein)是一種膜蛋白也是一種運輸蛋白,且功能上能夠在病原體接收對自身有害的物質時,迅速的將其從細胞內排出,使病原體具有抗生素抗藥性,增加新用藥開發困難度。
本研究首先使用一個基於位置相似矩陣(PSSM)將上述兩種蛋白質的序列,
編碼為一個類似圖片像素的矩陣,並結合機器視覺的技術訓練深度神經網路模型,來從膜蛋白中分類離子通道與離子運輸蛋白。
膜蛋白(membrane protein)是指細胞膜上的蛋白質,它的功能十多
元,有些能接收細胞外的訊號,進而引發細胞內的反應;有些作為
酵素(enzyme)可催化反應,其中一種被稱運輸蛋白(transport
protein)可以使離子在生物膜上移動,從而完成許多不同的生物功
能。
這兩種蛋白能調節膜電位和電信號來控制細胞膜的離子運輸。本文
首先使用一個基於位置相似矩陣(PSSM)將上述兩種蛋白質的序列,
iv
編碼為一個類似圖片像素的矩陣,並結合機器視覺的技術訓練深度
神經網路模型,來從膜蛋白中分類離子通道與離子運輸蛋白
### (一)緒論
----
#### 外排蛋白與運輸蛋白(efflux protein/tranaport protein)
膜蛋白(membrane protein)是指細胞膜上的蛋白質,它的功能十多
元,有些能接收細胞外的訊號,進而引發細胞內的反應;有些作為
酵素(enzyme)可催化反應,其中一種被稱運輸蛋白(transport
protein)可以使離子在生物膜上移動,從而完成許多不同的生物功
能。
運輸蛋白(transport protein)是一種膜蛋白主要負責運輸物質,為脂雙分子層、蛋白質和少量糖組成的,具有半透膜,能選擇性地使非自由擴散的小分子物質透過質膜。能選擇性地使非自由擴散的小分子物質透過質膜。例如,血紅素協助運輸送氧氣,能夠維持生理細胞功能的正常運作。
外排蛋白(efflux protein)是一種膜蛋白也是一種運輸蛋白,且功能上能夠在病原體接收對自身有害的物質時,迅速的將其從細胞內排出,使病原體具有抗生素抗藥性,增加新用藥開發困難度。
----
#### 位置加權相似矩陣 position-specific scoring matrix
PSSM可以記錄蛋白質序列中每一個胺基酸在被其他20種胺基酸取代後,功能仍舊相同的權重值。胺基酸權重值越低代表此胺基酸越不可被取代,反之亦然。我們可以從此類蛋白質的PSSM中,較高的權重值得到可能性較大的特徵組合。
要生成 PSSM 首先需要一個非冗餘(none redundant)蛋白數據庫,
我們使用的是 National Center for Biotechnology Information(NCBI)的
NR 蛋白質數據庫。接著使用 Basic Local Alignment Search
Tool(BLAST)[6]裡提供的 PSI-BLAST 工具將我們蒐集到的蛋白質序
列產生為 PSSM。由於分類問題所使用的深度學習模型通常需要輸
入資料相同大小,所以我們將每個序列補零直至跟資料中最長的序
列相同長度。

----
#### 卷積神經網路 Convolutional Neural Network
我們在本專案中使用MCNN的架構經由PSSM預測蛋白質序列是否為外排蛋白。在MCNN中,將PSSM從神經網路的輸入端輸入,再使用不同大小的filter對PSSM進行掃描,能夠獲取從大範圍到小範圍的重要訊息。再運用最大池化層(max pooling layer)來對filter掃描的結果計算最大值,獲取此蛋白質中最具代表性的特徵。藉由此方法有利於我們從膜蛋白與運輸蛋白中辨別出外排蛋白。

----
#### Multi-window Scanning (MCNN)
我們在本專案中使用MCNN的架構經由PSSM預測蛋白質序列是否為外排蛋白。在MCNN中,將PSSM從神經網路的輸入端輸入,再使用不同大小的filter對PSSM進行掃描,能夠獲取從大範圍到小範圍的重要訊息。再運用最大池化層(max pooling layer)來對filter掃描的結果計算最大值,獲取此蛋白質中最具代表性的特徵。藉由此方法有利於我們從膜蛋白與運輸蛋白中辨別出外排蛋白。


---
### (二)研究目的
近期Alphafold解決了過去50年的蛋白質摺疊難題,成功預測蛋白質的3D結構並且用有良好的精準度,其中3D結構是從Distance map轉換而來,我們期望使用multi-windowscanning的技術獲取Distance map的重要特徵結合PSSM的結果使預測的精準度提高。
### (三)文獻回顧與探討
海報內容
CNN論文
MCNN學長中文論文
----
### (四)研究方法
#### (一)資料蒐集
UniProt(Universal Protein Resource)是免費開源使用的蛋白質序列與功能的開放資料庫,我們可以從中取得高品質與全面性的蛋白質氨基酸序列。 在本次研究中我們將採用Swiss-Prot資料集,Swiss-Prot為經過蛋白質註解的資料集。 我們將取得的資料分為三類,第一類收集Efflux家族的蛋白質序列,第二類收集Membrane蛋白質家族但其中不含Efflux蛋白的蛋白質序列,第三類收集Transport蛋白質但其中不含Efflux蛋白的蛋白質序列。
在本次研究中預計使用 PSSM 來對模型進行訓練,資料來源使用 National Center for Biotechnology Information (NCBI) 的 none redundant 蛋白質資料庫做為基底,並且利用網站所提供的 PSI - BLAST 工具進行相似性比對分析產生 PSSM 。
而胺基酸序列的長度不同,所以我們將所有序列補零使所有胺基酸序列長度相同。
以下為本次實驗的資料集分別將收集來的PSSM分離為測試集與訓練集的資料。

#### (二) 不平衡資料處理(Adasyn)
在深度學習的架構中,如果訓練的資料集類別之間不平衡,可能會造成模型(model)訓練後只學習到多數樣本的特徵,造成模型對於少數樣本的學習成果不佳。從我們蒐集的膜蛋白與外排蛋白數據中,多數資料集與少數資料集比例達到10:1,所以很難使模型正確的識別外排蛋白。因此在本次研究中,我們採用Adasyn自適應綜合過採樣的方法來解決資料集不平衡的問題。此方法為根據資料集的分佈情況,對每個數量較少的類別樣本賦予不同的權重合成新的樣本數量,藉此來達到平衡。
步驟:
1. mₛ和mₗ分別是少數和多數類的數量,ß是ADASYN之後所需的(少數數據:多數數據)的比率,當ß=1,計算後生成的少數數據的總數G=(mₗ-mₛ)ß。
2. 找到每個少數實例的k個近鄰中,多數類的佔比rᵢ=majority/k,如果rᵢ越高表示周圍包含越多的多數類數量,並且更難學習。
3. 使用第二步計算出的多數類佔比 $r_i$ 來估算少數樣本需要生成新樣本的數目 $g=\hat r_i\times G$
4. $s_i=x_i+(x_{zi}-x_i)\times \lambda$
* $s_i$: 合成樣本
* $x_i$: 第i個較少數的樣本
* $x_{zi}$: 少數樣本K個鄰近中隨機取樣隨機數($\lambda$)
https://kknews.cc/zh-tw/code/oaxom4q.html
#### (三) 訓練模型
##### 1.卷積層 Convolution layer
卷積層主要是利用卷積核(kernel)在資料上滑動進行運算來獲得資料中的特徵,當卷積核在滑動過程中持續運算所獲得的圖稱為特徵圖(feature map)。
首先在輸入PSSM後,我們使用不同大小的kernel來進行掃描,得到不同的特徵圖。假設L是PSSM序列長度、w是kernel的大小、n是kernel的數量,不同的kernel掃描完後獲得的特徵圖大小分別為$20\times (L-w+1)\times n$。
##### 2.池化層 Pooling layer
在池化層(pooling layer)為了進一步去掉不必要的特徵,將不同大小的特徵圖分別進行max pooling找出最大的特徵值,池化層的kernel大小為$1\times (L-w+1)$,再經過flatten後,串起來並輸入全連接層。
##### 3.全連接層 Fully connect layer
#### 第一層
全連接層中有1000個隱藏神經元幫助模型學習,並且會在前面使用dropout函式避免訓練過程中發生過擬合現象,與卷積層一樣皆使用relu為激活函式。
#### 第二層
最後一層全連接層使用softmax為激活函式進行分類使最後的結果機率相加為1,當機率最高的節點就是我們所要的結果。

### (五)結果與討論
1. 實驗目的
2. 實驗方法
3. 實驗數據與成果
在本次實驗中我們能夠將外排蛋白從膜蛋白與運輸蛋白中識別出來,並且得到良好的成就。我們Uniprot蒐集來的蛋白質氨基酸序列進行統計比對後的到PSSM,經由前處理解決蛋白質序列長短不一的問題。使用經過前處理的蛋白質PSSM資料集作為模型的輸入端,進行深度學習模型的訓練。為了讓PSSM透過多重卷積層與池化層獲取到蛋白質家族中最具代表性的重要特徵,我們使用多重不同大小的kernal同時對PSSM進行掃描,從其中獲取蛋白質的特徵。
由實驗數據可知,我們在蛋白質類別的辨識上具有良好的成果。
在處理多藥抗藥性的全球性議題中,相較於傳統的生物研究獲取外排蛋白序列的方 時且更顯著得提升辨別外排蛋白質的準確度。
本實驗想要透過深度學習的方式訓練深度學習模型來從膜蛋白中分類兩
個重要的蛋白質:外排蛋白、離子運輸蛋白。所以我們在預測屬性
的部分選用 PSSM 來得到蛋白質序列裡的進化訊息,並且為了解決
各蛋白質序列長短不一的問題,我們將之輸入進一個特別的 模型裡。這個模型使用特殊的 pooling layer 來解決序列長短不
一的問題,同時為了解析蛋白質裡的訊息,我們應用 filter 能尋找特
定 pattern 的概念在 PSSM 上,希望能在 PSSM 裡找到一些隱藏的規
律。為了盡量找出所有可能的隱藏規律,因此使用 multi-window
scanning 。
### (六)參考文獻
[參考文獻格式](https://www.citethisforme.com/)
PSSM中文論文