APP下载

计算机算法在生物信息学中的应用综述

2017-09-29刘奇付李静静

软件导刊 2017年9期
关键词:生物信息学数据分析基因

刘奇付 李静静

摘 要:在人类基因组计划的推动下,生物信息学得到了人们的广泛关注,并呈现出数量多、计算量大等鲜明特征,因此要求在生物信息学中采用计算机算法,以提高生物信息学处理问题的效率。以生物信息学中常用的计算机算法为切入点,进一步从基因表达数据分析、基因组序列信息分析、生物序列差异和相似性分析、遗传数据分析以及蛋白质结构与功能预测5个方面,论述了计算机算法在生物信息学中的典型应用。

关键词:生物信息学;基因;计算机算法;数据分析

DOI:10.11907/rjdk.171382

中圖分类号:TP301 文献标识码:A 文章编号:1672-7800(2017)009-0209-03

Abstract:In the human genome project, the bioinformatics has been widely concerned by the broad masses of bioinformatics scholars, and has the characteristics of large quantity and large computational complexity. This requires that the computer science algorithm should be used in bioinformatics , In order to improve the efficiency of bioinformatics processing problems. In this paper, the computer algorithm used in bioinformatics as the starting point, and further from the analysis of gene expression data, genome sequence information, biological sequence differences and similarity, genetic data and predict the structure and function of protein five aspects, discusses the computer algorithm A typical application in bioinformatics for discussion.

Key Words:bioinformatics; gene; computer algorithm; data analysis

0 引言

生物信息学(Bioinformatics)作为一门新兴的交叉学科,是随着生命科学和计算机科学的高速发展而出现的。它通过充分利用生物学、信息学、数学、物理学、统计学以及计算机网络等工具或手段,对大量生物数据信息进行有效的阐明和分析,使之成为具有相应生物意义的生物数据信息。其涵盖了基因组信息的获取、处理、分配、存储等多个方面,通过对生物信息的比较和分析,从而获取基因编码以及核酸和蛋白质结构功能等信息,是最具活力和发展前景的学科之一。然而,生物信息学在我国由于起步较晚,加之其自身呈现出的数量多、计算量大等特征,使生物信息学面临着计算瓶颈。基于此,笔者结合自己的工作实践,对计算机算法在生物信息学中的应用进行探讨,以期为在生物信息学中进行有效的数据挖掘提供理论支持。

1 生物信息学中常用的计算机算法

算法作为计算机科学的一个重要分支,在计算机科学中居于核心地位。在信息时代,算法作为解决问题的重要工具之一,其通过输入符合规范的信息,从而在短时间内快速获取所需要的输出,现已在各个领域得到了广泛应用。在生物信息学中,计算机算法的应用也对生物信息学的发展起着积极推动作用。生物信息学中常用的计算机算法主要包括以下几种:

(1)分治法。分治法即在解决大的问题实例时,通过将该问题实例分解为具有相同问题的几个小的问题实例,再采用递归方法依次对这些小的问题实例求解,然后将所得的解合并,从而得出大的问题实例的解。分治法主要应用于合并排序、最近对和凸包问题等领域。而在生物信息学中,可以通过分治法来分析处理序列比对以及序列联配等问题。其中,序列比对在生物学中是最为常见的问题之一,通过PSW-DC算法、生物序列比对算法,在分而治之方法理念的指导下,将Query序列划分成几个片段,再分配给对应的处理器,然后并行地按照Smith-Waterman算法和目标序列进行对比,最终根据相应规则的扩展过程得到最优化的序列匹配[1]。

(2)图算法。图算法指通过特制的线条算图求得问题实例解的一种便捷算法。图作为一种非线性结构,极具复杂性。因此,图算法无论是在工程、人工智能、数学领域,还是在生物信息学、计算机科学领域均得到了广泛应用。其中,在生物信息学中,运用图算法能够解决很多生物信息学问题,例如:DNA测序、蛋白质测序等。

(3)贪婪算法。贪婪算法指在一定标准下,通过制定一系列步骤构造问题实例的解,并从众多解中选取局部最优的一个。选取不具有撤销性,因而依此选取直至全局达到最优。在生物信息学中,贪婪算法主要应用于解决基因组重排、反序排列等问题[2]。该算法在生物信息学中的应用不仅能够使问题得到最优解,而且具有较高的运算速度,是一种有效且可行的计算机算法。

(4)动态规划算法。动态规划算法是指将大的问题实例分解为若干小的、类似的、交错的子问题实例,通过从下到上的递推方式求得最优值,并将子问题实例的解进行有效存储,防止重复计算子问题,从而得到问题最优解决方案的一种算法策略。将动态规划算法运用到生物信息学中,能够有效地分析并处理数据之间的重叠性以及相关性等特点,因此主要应用于DNA序列比较、局部及全局序列联配、多重联配、基因预测及填充表达缺失数据等问题中[3]。endprint

2 计算机算法在生物信息学中的典型应用

2.1 基因表达数据分析

基因表达数据分析一直是生物信息学研究的热点和难点。在当今的工作实践中,往往采用计算机算法中的聚类分析对基因表达数据进行分析处理,通过把表达规律相近的基因聚成一类,从而找出相互之间有关联的基因,并分析基因功能。计算机算法可以通过基因的转录调节网络,观察基因的表达模式随环境变化或在药物作用下作出的相应改变,阐明基因相互间的调节作用,并对基因的启动子加以研究,分析具有相同表达模式的同类启动子的组成特性。计算机算法中的聚类分析作为分析基因表达数据的重要方法之一,不仅能够发现基因间的线性关系,而且能够找出基因间的非线性关系,因而逐步得到广大研究者的认可[4]。

2.2 基因组序列信息分析

生物信息学中的基因组序列并不是基因的简单排列,而是具有特定的组织和信息结构,并经过长期演化形成的结果,是基因充分发挥其应有功能所必需的基础条件之一。利用计算机算法对基因组序列信息进行分析,并预测相关功能位点是近年来的主要研究方向之一。分析基因组序列信息通常采用从头算法和比较同源列法两大类。其中,从头算法是基于统计学的方法,它是指通过识别蛋白质编码基因的性质及特征,对外显子、内含子和基因间的区域进行有效区分;而比较同源列法则是通过将基因信息与数据库中的基因信息进行同源比较,从而找出新基因。在新的DNA序列中,一般除基因外,还包含许多与核酸结构特征有关联的其它信息,这些信息对DNA与蛋白质或RNA之间的相互作用具有决定性影响,而运用计算机算法搜索与已知蛋白质、表达序列标签相似的區域,并对其进行编码,是生物信息学中分析基因组序列信息最为理想的算法之一。

2.3 生物序列差异与相似性分析

在生物信息学中,分析生物序列的差异和相似性是最基本且重要的操作之一,通过对生物序列差异和相似性的分析比较,能够及时得到生物序列中的结构、功能以及进化等方面信息。一般而言,结构、功能和生物序列间呈现出相互制约的关系,结构由生物序列决定,而功能又由结构决定。在分析生物序列差异和相似性中采用计算机算法,能够快速达到研究目的。其中,目的之一即通过生物序列之间的相似性,发现相似的结构及功能。当然也有特殊情况,例如:几乎没有任何相似之处的生物序列,不仅分子构成的空间形状相同,而且功能也相同;目的之二即通过对比生物序列之间的相似性,对生物序列间的同源性进行判断,并依此推断生物序列间的进化关系。在分析生物序列的差异和相似性的过程中,常用的计算机算法主要为Needleman-Wunsch动态规划算法、Smith-Waterman算法以及支持向量机算法等。

2.4 遗传数据分析

在生物信息学研究中,由于基因结构、组序列信息以及生物序列的复杂性,要求在对遗传数据信息的分析过程中运用计算机算法。具体而言,可以借用一些可视化工具,将基因以图、树、链和方体等形式表现出来,从而提高相关工作人员对基因信息以及基因模式的理解。而知识发现作为发现遗传数据最有力的可视化工具之一,能够对遗传数据进行充分挖掘,对转录调控基因组水平也能起到积极影响。

2.5 蛋白质结构与功能预测

蛋白质的生物功能是由蛋白质结构决定的,因此在生物信息学中对蛋白质进行研究时,应当首先了解蛋白质结构。随着现代科技的进步,预测蛋白质结构与功能的方法和手段均有了很大进步,但在具体操作过程中依然远远满足不了实际需要,这从一定程度上为计算机算法的推广应用提供了契机。将计算机算法运用于蛋白质结构与功能预测中,不仅对研究蛋白质结构与功能间的相互关系起着至关重要的作用,而且对蛋白质工程以及蛋白质设计的进展能起到积极促进作用。通常而言,预测蛋白质结构主要包括对蛋白质二级结构以及空间结构进行预测。其中,二级结构预测属于模式识别问题,通过运用计算机算法能够有效判断氨基酸残基形状,而在空间结构预测时采用计算机算法,能够以蛋白质序列为出发点,判断亚细胞定位、糖基化位点、信号肽剪切位点等与蛋白质功能有关的特征。

3 研究展望

随着生物信息学的发展,我国专家学者对生物信息学的重视程度不断提高,而计算机算法的推广应用也在一定程度上为生物信息学的发展提供了新的契机。但从生物信息学的总体发展情况来看,仍和国际水平有很大差距,需要在未来研究中特别注意如下两方面问题:

(1)专业人才培养。生物信息学作为一门新兴学科,要求相关从业人员既要具备扎实的生物学知识,又要具有较高水平的计算机学科技能,但纵观我国生物信息学的从业人员现状,存在着严重的人才断层及人才匮乏现象,从而对计算机算法在生物信息学中的应用产生了一定制约。因此,要求在后期的研究过程中,注重专业人才的培养,有效解决人才匮乏的现状,为计算机算法在生物信息学中的应用提供强大的人才支持。

(2)计算机算法应用范围拓展。随着人类基因组计划的启动以及计算机科学水平的提高,计算机算法在生物信息学中的应用已取得了初步进展,在分析基因表达数据、基因组序列信息、生物序列差异和相似性、遗传数据,以及预测蛋白质结构与功能等方面发挥了重大作用。但生物信息学包含的内容极其丰富,因此要求在后期的研究过程中,应当有计划地扩大计算机算法在生物信息学中的应用范围,使计算机算法的价值得到最大限度的发挥,为生物信息学研究的有效开展提供强有力的技术支持。

4 结语

生物信息学作为一门生物学与计算机科学交叉融合的新兴学科,其核心是生物学,基本工具则是计算机科学。因此,要求生物信息学相关研究人员在工作实践中,加强各学科之间的沟通、合作,充分把握计算机算法在生物信息学中的应用,从而解决生物信息学中信息数量多、计算量大等问题,推动生物信息学的进一步发展。

参考文献:

[1] 于啸,孟繁疆.数据挖掘技术在生物信息学中的应用[J].农机化研究,2009(3):186-188.

[2] 赵磊,刘利军,黄青松.计算机算法在生物信息学中的应用[J].化学与生物工程,2009,26(9):79-81.

[3] 黄元南,王建新,陈建二.数据挖掘技术在生物信息学中的应用探索[J].电脑知识与技术,2006(9):1-11.

[4] 庄丽艳,董红斌.进化计算在生物信息学中的应用[J].哈尔滨师范大学自然科学学报,2007,23(1):60-63.

(责任编辑:黄 健)endprint

猜你喜欢

生物信息学数据分析基因
Frog whisperer
“PBL+E—learning”教学模式探索
移动教学在生物信息学课程改革中的应用
浅析大数据时代对企业营销模式的影响