SenseMatrix
用核苷酸感知矩陣(加權(quán)矩陣)與概率矩陣判定功能位點(diǎn)
感知矩陣
感知矩陣(或加權(quán)矩陣)
通過訓(xùn)練集構(gòu)建感知矩陣,用權(quán)系數(shù)描述功能位點(diǎn)各位置上每種核苷酸的相對重要性
其大小為4*n
4代表堿基的種類數(shù)目起惕,n代表功能位點(diǎn)的長度
矩陣的每一個(gè)元素M(a,j)的值代表第a種核苷酸在功能位點(diǎn)第j個(gè)位置上出現(xiàn)的得分坛梁。
對于一個(gè)序列s=a1a2…an梨树,根據(jù)對應(yīng)位置上核苷酸的類型瓦呼,取感知矩陣中對應(yīng)的權(quán)值,加和以后得到該序列的得分
設(shè)S=ATTGCA庐椒,則
Ws = 1+6+14-5+8+19=43
T——功能位點(diǎn)閾值
T’——非功能位點(diǎn)閾值
如果Ws > T椒舵,則S是功能位點(diǎn);
如果Ws < T'约谈,則S是非功能位點(diǎn)笔宿。
感知矩陣M的構(gòu)造算法
令A(yù)+代表功能位點(diǎn)集合犁钟,A-代表非功能位點(diǎn)集合
過程如下:
(1)初始化M為零矩陣
(2)執(zhí)行過程(3)-(6)的循環(huán);
(3)依次取訓(xùn)練集合中的每個(gè)實(shí)例Si泼橘,如果Si∈ A+涝动,轉(zhuǎn)(4),如果Si∈ A-,轉(zhuǎn)(5)炬灭;
(4)如果W(Si)> T醋粟,M不變;否則根據(jù)Si的核苷酸分布,將M中所有對應(yīng)元素的值加1(對于正例,增加對應(yīng)位置核苷酸的權(quán)重)轉(zhuǎn)6重归;
(5)如果W(Si)< T’米愿,M不變;否則根據(jù)Si的核苷酸分布,將M中所有對應(yīng)元素的值減1,轉(zhuǎn)6鼻吮;
(6)若訓(xùn)練集合中的所有實(shí)例都處理過育苟,則循環(huán)結(jié)束,轉(zhuǎn)(7)椎木,否則繼續(xù)執(zhí)行循環(huán)體违柏,直到處理完所有實(shí)例;
(7)如果M穩(wěn)定拓哺,則結(jié)束勇垛;否則轉(zhuǎn)(2)。
上述算法反復(fù)調(diào)整感知矩陣M的元素值士鸥,直到M矩陣能夠正確識別訓(xùn)練集中的所有功能位點(diǎn)和非功能位點(diǎn)闲孤。
M穩(wěn)定率:用該感知矩陣分類訓(xùn)練集的正確率。
概率矩陣
與感知矩陣類似烤礁,如果令矩陣每一個(gè)元素M(a,j)的值代表第a種核苷酸在功能位點(diǎn)第j個(gè)位置上出現(xiàn)的概率讼积,則M是一個(gè)概率矩陣。
對于給定一個(gè)序列s=a1a2…an脚仔,
可以計(jì)算出功能位點(diǎn)序列為s的概率:
- image.png
分別統(tǒng)計(jì)功能位點(diǎn)和非功能位點(diǎn)核苷酸出現(xiàn)的概率,通過計(jì)算可以形成兩個(gè)矩陣M和M’
進(jìn)一步計(jì)算可以判斷一個(gè)給定的序列屬于功能位點(diǎn)勤众,還是屬于非功能位點(diǎn)。
給定一個(gè)序列s=a1a2…an鲤脏,定義似然比LR(M,M’,s):
- image.png
在進(jìn)行功能位點(diǎn)檢測時(shí)
計(jì)算LR(M,M’,s)们颜,并與給定的閾值T比較
如果LR(M,M’,s)>T,則序列s可能是一個(gè)功能位點(diǎn)猎醇。
一般閾值取0
軟件截圖
具體輸出結(jié)果存放于sense.txt pro.txt文件
GitHub地址 : https://github.com/SummerChaser/SenseMatrix