计算生物学项目描述
简要了解“计算生物学”,并学习本项目中我们将实现的功能特性。
引言
自发现脱氧核糖核酸(DNA)和核糖核酸(RNA)以来,计算机科学在生物学领域得到了广泛应用。一个名为计算生物学的专门领域应运而生,旨在将计算机科学应用于生物学问题。
本章讨论的情景与问题均与计算生物学中涉及的DNA序列和蛋白质序列密切相关。
问题描述
假设你是一名生物实验室的开发者,被委派开发不同物种DNA转化的模拟程序。生物实验室希望你编写一套用于处理DNA和蛋白质的程序。
我们将首先分析:是否可以通过替换基因的方式,将某一物种的DNA序列转化为另一物种的DNA序列。在此突变过程中,观察到一些病毒序列,需要将其分离出来。随后,我们将探索能够对已识别病毒提供免疫作用的不同蛋白质。
功能需求
为实现上述功能,我们需要引入以下特性:
-
特性 #1:判断一个未知的DNA序列是否仅通过单个基因替换就与已知的DNA序列不同。
-
特性 #2:一种新病毒会通过插入长度为k的唯一核苷酸长序列来感染物种。给定一条染色体,判断其是否可能已被感染,方法是找出包含k个不同核苷酸的最长子序列。
-
特性 #3:在染色体中定位回文结构,以识别潜在的蛋白质。
-
特性 #4:蛋白质通常具有回文序列。判断给定字符串是否可能是一种蛋白质。
-
特性 #5:重新排列DNA序列中的核苷酸,以推导出下一次最强突变,并确定病毒最占优势的变异形式。
-
特性 #6:通过找出DNA序列中长度最长的不重复核苷酸序列,来确定病毒的独特标识符。
-
特性 #7:通过尝试所有可能的DNA序列排列组合,构造出一个回文结构,以验证一段核苷酸序列是否为蛋白质。
-
特性 #8:比较两条DNA链,计算使它们完全相同所需的最少编辑操作次数。
-
特性 #9:某星球上的物种拥有n个不同的基因,编号为1到n。在给定的DNA序列中,找出第k个缺失的基因。
理解这些功能需求并设计相应的解决方案,将有助于我们实现所要求的计算生物学软件套件功能。
在接下来的课程中,我们将讨论这些特性的推荐实现方式。这些解决方案同样适用于常见的编程面试题目。