基因微阵列数据中的聚类技术研究.docx
- 文档编号:26114857
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:15
- 大小:24.97KB
基因微阵列数据中的聚类技术研究.docx
《基因微阵列数据中的聚类技术研究.docx》由会员分享,可在线阅读,更多相关《基因微阵列数据中的聚类技术研究.docx(15页珍藏版)》请在冰豆网上搜索。
基因微阵列数据中的聚类技术研究
基因微阵列数据中的聚类技术研究
第l6卷第2期
2006年2月
计算机技术与发展
C()NIPUTERTE({N0l)【YANI)I)EVE1』)ljMEN7,
V(,l16NO.2
Feb.2006
基因微阵列数据中的聚类技术研究
马煜,陈莉,方鹤鹤
(西北大学计算机科学系,陕西西安710069)
摘要:
微阵列技术是后基因时代功能基因组研究的主要工具.由于采用了高效的并行杂交技术,每次实验可以得到大量
丰富的数据,因此其结果分析成为一项很有挑战性而且具有重要意义的工作.聚类分析是微阵列数据分析中使用最为广
泛的一类方法.微阵列实验得到的大量数据通过聚类分析,可以得到很多有用的信息,其成功应用已广泛涉及到基因功能
研究和生物医学研究中的各个领域.文中介绍了基因微阵列数据的聚类分析方法及其重要应用.
关键词:
微阵列;基因表达谱;聚类分析
中图分类号:
TP391文献标识码:
A文章编号:
1005—3751(2006)02一Ol17—03
ClusteringAnalysisofMicroarrayGeneExpressionData
MAYu,CHENLi,FANGHe-he
(DepartmentofComputerScience,NorthwestUniversity,Xi'an710069,China)
Abstract:
Microarraytechnologyisthechieftoolforfunctionalgenomeresearch.AsadoptingthehighefficientandparallelDNAhy?
bridizaitontechnology,canachieveadundantdatafromeachexperiment,sothedataanalysisofmicroarraysdatabecomesamorechalleng?
ingandmeaningfultask.Clusteringistheu~fulandmostwidelyusedmethodofmicroarraydataanalysis.Abundantusefulinformationcarl
beobtainedthroughthemicroarrayclustering.ThispaperpresentsasystemofclusteringanalysisforDNAmicroarraydata.
Keywords:
microarray;geneexpressionprofiles;clusteringanalysis
O引言
近年来生物信息学持续迅速发展.随着果蝇基因组
测试和人类基因组工程的第一个草图的完成,基因组测序
研究蓬勃发展.高密度cDNA微阵列与寡核苷酸微阵列
技术已经可以同时测定多个基因(甚至整个基因组)在某
一
条件下的转录水平.大规模基因表达谱数据为研究基
因功能,基因之间的调控机制及医药研究提供了新的研究
思路.怎样从如此浩如烟海的数据集中找到研究者所感
兴趣的信息,不仅是生物信息学研究者的一个重要课题,
也对计算机研究者提出了新的课题.近几年,高性能生物
序列聚类算法¨叫J有了很大提高,这些算法都能自动把数
量非常庞大的基因数据库进行聚类,它是微阵列研究中的
一
个重要的工具.文中系统评述了微阵列数据分组基因
问题中所用到的各种聚类方法.由于聚类问题的多样性
和"开放性",评价一个聚类问题的优劣不仅仅是要看其数
学上表现,而且要在具体的生物学的环境下进行评价,聚
类问题和聚类算法中,特别是在基因表达条件下,有很多
收稿日期:
2005—05—27
基金项目:
陕西省自然科学基金(98X11);陕西省教育厅重点科研计
划项目(00JK015)
作者简介:
马煜(1975~),女,陕西子州人,硕士研究生,研究方向
为数据挖掘,生物信息学;陈莉,副教授,硕士研究生导师,研究方
向为人工智能,数据挖掘.
重要问题需要考虑.因此在这里并不对所有的聚类算法
给定一个统一的评价标准.
1微阵列数据简介
在过去短短几年里,基于微阵列的新技术大量涌现并
且迅速发展.这一类技术包括DNA杂交阵列(hybndi~一
tionarray)[基因表达阵列以及用于测序和多态性研究的
寡核苷酸(oligonucleotide)阵列],蛋白质阵列,组织阵列
等.由于这些高能量方法使大量分子与一个大型文库之
间的组合成为可能.
DNA基因表达微阵列便利生物学家能够在基因组层
次上研究任何种类细胞的任何时间,任何给定条件下的基
因表达模式【.利用这些微阵列,人们正产生出大量的数
据,它们可以帮助人们深入地认识诸多生物过程的本质,
如基因功能,发育,癌症,衰老和药理等.即使是对现有信
息的部分理解也能够提供很有价值的线索.例如,新基因
的共表达(CO—expression)就有助于推断许多缺乏相关信
息的基因的功能.然而,基因徽阵列数据分析方法的发展
现在才刚刚起步.
2基因聚类分析
聚类就是将物理或抽象对象分组成为多个类或簇
(cluster),在同一个簇中的对象之间具有较高的相似度.
?
ll8-计算机技术与发展第16卷
而不同簇中的对象差别较大.基因聚类就是将基因在属
性的基础上分组,这些属性往往是基因在一些特定的情况
下的表达水平或其子集.
2.1分级聚类
聚类可以通过分级的分支过程得到.因此有一些方
法,可以根据两两相似度从数据中自动建立一棵树.对于
基因表达的情况,这就是文献[6]所用的方法.这种方法
的输出是一棵树而非一组类别.特别地,如何从树中定义
类别往往不明显.因为类别是通过在树的某些点剪枝得
到,而这一过程或多或少带有主观性.
分级聚类算法的步骤:
Stepl:
建立Gene—experiment矩阵.
建立m×矩阵,其中每一列是不同的组织,或者在
不同的条件下的样本,每一行是基因的编号,每个基因的
表达量用标准化后的log2R/G表示.
Step2:
计算所有基因之间的相关系数(correlationco—
efficient).
基因的相似分值(similarityscore)可以由Pearsonscor—
relation公式计算:
y:
i=1
cc
G妇一般取值为标准化后的中位数G=
√堕,或平均值.它等于0,即log2R/G:
0.表示表达无差异.
Step3:
建立C-ene—C-ene的距离矩阵(见表1).
表1Gene—Gene距离矩阵
G1G2G3G4G5
G10
G220
G3650
(3410940
G598530
Step'*:
建立系统发育树(dendrograrn).
根据Game-Gane矩阵的分值,首先找到矩阵中两个
最相似的元素(具有最大相关性,距离最近的),生成一个
结点将它们结合在一起,例如对表1,有5个基因的矩阵,
得到的系统发育树如图1所示.
12345
图L系统发育树图
Steps:
建立表达图谱,通过求两个元素表达谱(ex—
pressionprofile)(或向量)的平均(缺失的数据可以忽略,求
平均时可以按照向量中元素的个数进行加权)生成新节点
的表达谱(或向量).
s~tp6:
用新节点取代两个结合的元素,按照新计算的
表达谱(或向量)计算新的相关矩阵.这个相关矩阵比原
来的矩阵要小一些.
Step7:
从N个点开始,这个过程将最多重复N一1
次,直至只剩下1个单节点.
正如已经指出的,在建立了这样一个标准树图以后,
如何显示结果以及如何选取类别仍然是个问题.这一步
往往是由人手工来完成的,既浪费时间又带着强烈的主观
性.文献[6]用了一种启发式近似算法,它用平均表达水
平,柒色体位置和最大诱导时间(timeofmaximalinduc—
tion)对基因加权.通过对一组基因表达数据聚类得到的
主要类别确实显示出了生物学上的相关性.
2.2K均值聚类法
在所有的聚类算法中,K均值聚类法_7J可能具有最清
晰的概率表述.K均值聚类法与分层聚类有本质的区别,
首先类别数被固定为一个值K,然后将全部的基因按照相
似性的距离,归人这几类中.一开始就给各类选择代表点
或类中心,这样K个代表点或类中心的选择或多或少带
有随意性.它们也被称为质心(centroid)或原型(proto—
thee).
K均值聚类算法:
Stepl:
将gene—experiments矩阵转化为gene—gene
distance矩阵,但与分层聚类计算相关系数的方法不同,用
欧氏距离(Euclideandistance)公式计算:
———_
d(X,Y)=^/(K—)Yi=l
式中,x,y为两个基因.
然后将所有的基因随机分配到K类中.
Step2:
计算出每个类中的基因的均值,把每个点分到
离它最近的代表点所代表的类内;分类诸新的代表点,比
如取每一个新类的平均或重心.
Step3:
重复上面两个步骤,直到系统收敛或涨落很
小.
这里要注意:
K均值聚类法要求选择类别数,要求可
以计算点与点之间的距离或相似度,并且对于每一类在给
定其成员时可以计算代表点.
2.3基于图论的聚类算法
该算法基于图论中最小生成树方法的聚类分析.其
作法是利用最小生成树算法(MST)将多维基因数据建
树,这个表示的关键性是表达数据的每个簇对应MST的
一
个子树,这样将一个多维数据的聚类问题严格地转换成
为一个树的划分问题,然后删去最大边产生聚类J.'
D={d}是一个表达数据的集合,其中每个d=
{e,e;,…,e}表示从时间1到时间t基因,的表达水平.
在这里定义一个带权图G(D):
(,E).向量集V:
{d
ldj∈D},边集E∈{(d,d,)ld,df∈D且i≠J}.因
第2期马煜等:
基因微阵列数据中的聚类技术研究?
ll9?
此((D)是一个完全图,每个边(U,)∈E都有一个权重
用来代表两个结点之间的距离或(相异性).p(U,)在U
和之间的距离可以被定义为欧氏距离,相关性系数或是
其它一些距离测试方法.
连接带权图G(D)造成树T是G(D)一个连通子图.
树的属性为:
(1)T包含G(D)中每个向量;
(2)T不包含
任何的环.MST是距离总和最小的生成树.
最小生成树算法:
Stepl:
用最小生成树(MSr)算法数据建树.
Step2:
找到最小生成树中两个叶结点之间距离最长
的剪枝,生成一个新簇.
Step3:
若没有执行到N一1步,则执行Step2;否则,输
出聚类结果.
基于图论理论的聚类算法的优点:
(1)树形结构有利于高效地实现严格的聚类算法;
(2)基于图论的聚类不依赖于簇的几何形状,它可以
克服其它划分聚类算法的问题即严重依赖簇的几何形状,
一
般在面对包含无重叠的向量集中的簇时并不能很好地
发挥性能.
缺点:
因为过渡区域的点,这个算法所面对的是一套
强连通的基因,所以基于图论的聚类算法的计算复杂性
高.
2.4自组织映射
自组织映射(sat—organizedmap,SOMs)分析'2J是人
工神经网络应用于聚类分析中的例子.它采用的是结构
简单的单层竞争性神经网络.模式在输入端引入并与输
出结点关联,其间的权重通过学习反复变更,直到达到终
止标准.结果是相似的模式被分人同组,并为同一个单位
(神经元)所代表.SOMs法有着和K—me~-3s相同的不足,
在未知分块数目时其初始权重选择很可能不合适而导致
产生次优解.另外收敛受到多种参数影响,结果可能不稳
定.Mavroudi等…1提出了改进的SOMs算法,称为sNet—
SOM(supervisednetworkself—organizedmap),它通过一个
动态扩展过程可以自适应地确定分组数目,同时有效地降
低了计算代价.
2.5模拟退火算法聚类
模拟退火算法-9.9是一种受统计力学启发的通用的优
化算法.在模拟退火聚类算法中假设N是基因表达水平
的数量,每一个表达水平包含M个时间点上的数据.起初
每个基因表达水平用一个M维向量{e,,…,}表示,
每个维的值被标准化为{0,l}之间的值.两个向量和
之间的距离用欧氏距离表示:
M
d:
[:
(一)]尼一l
对于给定簇的数量K时,使用最小化簇中所有点之
间距离d之和来得到簇的最优分布.簇内所有点之间距
离之和用下式表示:
.K
E(K)=∑[∑∑]
这里计算最小化簇中所有点之间距离之和时使用的
是模拟退火算法.
模拟退火算法步骤:
Stepl:
将集体中的所有向量任意分到K个簇内.
Step2:
选择一个簇中的任意一个向量,将它分配至另
一
簇中.计算一个新的E一和原来的值Edd进行比较.如
果Edd大于E一则向量就被无条件地分配到新的簇中,
E一做为下一次迭代的开始.
Step3:
计算新的分配被接受的可能性exp[~(E一一
E)/T].
Step4:
如果T没有接近0,则执行Step2,else输出所得
到的簇.
这里可能性表达式中如果E的值可以看作系统的能
量时,T可以被理解为"温度".这个算法保证了经过有限
步的迭代后系统在给定的温度下服从波耳兹曼一吉布斯
分布.因此,如果温度T接近0,那么系统中E函数也就接
近了全局的最小值.
3展望
基因微阵列数据的聚类分析方法已经在生命科学的
各个领域内得到了许多成功的应用,如基因表达谱与生物
个体行为关系的研究,肿瘤分类等等.由于其应用的广泛
性,出现了大量可用的聚类分析软件,更加方便了其推广
和应用.
聚类算法在目前生物信息的分析中应用极其广泛,但
大多数是基于统计理论,而生物领域的知识很少被涉及.
而一个聚类结果的质量的好坏不仅仅要看其在数学形态
上的表现,生物领域的知识是要起非常大的作用的.生物
信息的聚类分析进行应该充分考虑将基因的生物学意义
和聚类算法很好地结合起来.
参考文献:
[1]Mavrou~S,PapadimitriouS,BegerianosA.Geneexpression
dataanalysiswithadynamicallyextendedself—organizedmap
thatexploitsclassinformation[J].Bioinformatics,2002,18:
1446~1453.
[2]GoulbTR,SlonimDK,TamayoP,eta1.Molecularclassifica.
tionofcancer:
classdiscoveryanddasspredictionbygeneex-
pressionminitoring[J].Science,1999,286(18):
1194~1206.
[3]Cxx)perGF.Computationalcomplexityofprobabilityinference
usingBayesianBeliefNetworks[J].ArtificialIntelligence,
1993,15:
246—255.
[4]Luk~shinAV,FucKsR.Analysisiftemporalgeneexpression
profiles:
clusteringbysimulatedannealinganddetemfiningthe
optimalnumberofclusters[J].Bioinformaties,2001,17:
405
~
414.
[5]HolstegeFCP,JenningsEG,WyrickJJ,eta1.Dissectingthe
regulatorydrc~tryofaeukaryoticgenome[J].Ceu,1998,95:
(下转第l22页)
?
l22?
计算机技术与发展第16卷
synchronizedvoidLeftEnter()throws[nterruptedException{
a)一一一while(nRight>O)wait();
nLeft+;//获取资源,nLeft加1
}
synchronizedvoidLeftExit(){
p_Le~t一一;//释放资源线处,nLeft减1
b)一一一if(nLeft==O)
notifyAU();
}
a)判断另一类线程是否占用资源:
如果nRight等于
0说明没有占用该资源,如果nRight大于0,说明另一类
线程正在占用该资源,这样就挂起本线程.
b)释放资源并唤醒线程:
如果nLeft(nRight)等于零,
就说明该类线程已经全释放了资源,重新唤醒所有线程继
续竞争资源,这样就保证了多线程的延续性.
(3)synchronized的作用[.
Java提供了专门机制以解决这种冲突,即synchro—
nized关键字,它有效避免了同一个数据对象被多个线程
同时访问.synchronized方法使每个类实例对应一把锁,
每个synchronized方法都必须获得调用该方法的类实例
的锁方能执行,否则所属线程阻塞本程序就是使用第一种
方法来实现对公共资源的互斥访问.
3.3.3关于FairTunne1.java的控制分析
FairTunnel类是对SafeTunnel类的改进,在实现多线
程并发执行中的安全性的同时,也保证了多个线程对资源
访问的公平性.
privatehatnLeft:
0,nRight=0,wai~ht=0,waitLeft
=0;
privatebooleanRightturn:
true;
synchronizedvoidLeft.Enter()throwsInterruptedException{
++waitLeft;//等待的LeftTrain线程的个数加1
a)一一一while(nPdght>0II(waitiight>0&&R/ght—
turn))wait();
一一waitLeft;//等待的LeftTrain线程个数减1
++nLeft;//占用该资源的线程个数随之加1
}
synchronizedvoidLeftExit(){
一一rllt;//释放资源,nLeft(nRight)减1
b)一一一Righrtum=true;
c)一一一if(n1.eft:
=O)
notifyAU();
(上接第119页)
717—728.
[6]EisenMB,SpeIlmaJ1PT,BrownPO,eta1.Clusteranalysis
anddisplayofgenome--wideexpressionpatterns[A].Proc.
Nat1.Acad.SciUSA,95[C].USA:
[S.n.],1998.14863—
14868.
[7]DudaRO,HartPE.PatternClassificatinandSceneAnalysis
}
在这个类中引用了以下几个公共变量:
*nLeft,nRight:
代表占用资源的同类线程数;
*waitLeft,waitRight:
代表申请资源的同类线程数;
*Rightturn:
是一个时间片开关,它实现了两边的两
类线程公平地访问资源,两类线程申请资源获得允许使用
权力的时间片就是一列Train通过单行隧道的时间.
a)挂起线程:
当n_Right大于0时说明RightTrain线
程正在占用资源,当waitRight大于0时,说明有新的
RightTrain线程将准备使用资源,Rightturn等于true时,
说明RightTrain线程有权继续使用资源.在上述情况下,
挂起LeftTrain线程.
b)当第一个使用资源的LeftTrain线程到达资源释放
处时,使得Rightturn改为true,使得LeftTrain线程失去申
请资源获得允许使用权力.
c)释放资源并唤醒线程:
如果n.Left(nRight)等于零,
就说明该类线程已经全释放了资源,重新唤醒所有线程继
续竞争资源,这样就保证了多线程的延续性.
4结束语
文中简单模拟火车行驶单行隧道,通过这个实验模拟
了多线程并发系统中的安全性与公平性问题,分别演示了
在不同情况下产生何种后果:
只考虑安全性,将会有一类
Train(LeftTrain或者RightTrain)长时间等待,申请不到资
源;只考虑公平性,会出现两边火车相撞的情况.由此,可
充分认识打到并发系统中的安全性与公平性二者的辨证
关系,通过两者的结合,设计解决实际问题的最优方案.
参考文献:
[1JMageeJ,KramerJ.Concurrency:
StateModels&JavaPro—
grams[M].[s.1_]:
Willeypublishingoompany,1999
[2]任爱华,王雷.操作系统实用教程(第2版)[M].北京:
清
华大学出版社,2004.
[3]StallingsW.操作系统精髓与设计原理(第3版)[M].北京:
清华大学出版社,1998.
[4]陶冶.Java多线程学习笔记[EB/OL].http:
//www.岱一
'programAnd0-2(.hun.2003—06—18.
[5]DeitelHM,DeitelPJ.Java程序设计教程[M].施平安,施
惠琼译.北京:
清华大学出版社,2004.
[M].[S.I_]:
JohnWileyandSorts,1973.
[8]XuYing,OlmanV,XuDong.Clusteringgeneexprexsiondata
usingagraph-theoreticapproach:
anapplicationofnfinimum
spanningtrees[J].Bioinformatics,2002,l8:
536—545.
[9]KirkpatrickS,GelattCD,VecchiMP.Optimizationbysimu—
latedanne~ng[JJ.Science,1983,220:
671—680.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基因 阵列 数据 中的 技术研究