基于优化递归算法的分子量分解问题

基于优化递归算法的分子量分解问题

ID:40964709

大小:402.18 KB

页数:16页

时间:2019-08-12

基于优化递归算法的分子量分解问题_第1页
基于优化递归算法的分子量分解问题_第2页
基于优化递归算法的分子量分解问题_第3页
基于优化递归算法的分子量分解问题_第4页
基于优化递归算法的分子量分解问题_第5页
资源描述:

《基于优化递归算法的分子量分解问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于优化递归算法的分子量分解问题摘要:本文讨论的问题是:在实验室拥有或不拥有计算机的情况下,如何将已知分子量x的蛋白质分解成18种已知分子量的氨基酸的问题,并满足蛋白质含氮量在15%—17%的物理性质。在实验室有计算机的情况下,本文首先考虑了穷举算法,该问题就等效为十八元一次方程求整数解的问题,表示为每种氨基酸构成蛋白质数量root(i)的上限为+1,取x最大为1000时,有种,运算量过大难以实现。我们又考虑了递归算法,即从分子量最大的第18种氨基酸开始考虑,第18种氨基酸分子构成蛋白质的个数,对root进行分类取值,在取值已

2、知的情况下再考虑第17种氨基酸,此时分子量减去第18种氨基酸总分子质量,得到新的分子量,将大大减少计算量。抽象归纳为的取值范围如下:该算法同样满足含氮量的约束条件。我们借助C语言编写程序并对程序进行优化,大大加快了运行速度。在实验室无计算机的情况下,由氨基酸的结构通式得出,每个氨基酸都存在结构,分子量为56。本文将18种氨基酸的分子量都减去56,得到18种氨基酸R基的分子量。先将任一分子量除以56取整,得到构成该蛋白质的氨基酸数目的范围(即),再根据b的取值进行分类讨论从而选择R基,后根据蛋白质含氮量对结果进行验证,在人工的情

3、况下,此方法相对于递归法大大地减少了计算量。关键词:分子量分解问题递归优化法含氮量C语言结构通式1、问题重述生命蛋白质是由若干种氨基酸经不同的方式组合而成。在实验中,为了分析某个生命蛋白质的分子组成,通常用质谱实验测定其分子量x(正整数),然后将分子量x分解为n个已知分子量a[i](i=1,.......,n)氨基酸的和的形式。某实验室所研究的问题中:n=18,x1000,a[i](i=1,.......,18)分别为57,71,87,97,99,101,103,113,114,115,128,129,131,137,147,

4、156,163,186。要求针对该实验室拥有或不拥有计算机的情况,对如何分解分子量x作出解答,即针对任意一个分子量x具体给出由哪些a[i](i=1,.......,n)氨基酸组成。2、问题分析题目中给出18种氨基酸分子量,要求解出已知分子量的蛋白质由哪几种氨基酸组成。初步分析,这是十八元一次方程求整数解的问题,方程形式为其中为已知量,为18种氨基酸分子量,未知数为组成蛋白质的每种氨基酸的个数。3、模型假设(1)假设氨基酸组合形成蛋白质时不脱水。(2)假设蛋白质中肽键不存在多键或成环情况,两个氨基酸之间只形成一条肽键。(3)假设

5、每种氨基酸出现的概率都相同。4、符号设定—第种氨基酸的分子量;—第种氨基酸的数量;—第种氨基酸分子中氮原子的个数;—蛋白质分子量;—第种氨基酸基的分子量;—蛋白质中所含氨基酸的总数;5、模型建立与求解5.1实验室有计算机时的模型建立5.1.1穷举法模型我们首先考虑用穷举算法求解方程,根据上文符号设定,该方程可以表示为其中且为整数。利用穷举法,对每个分别取,1,…,,找出符合上述方程的每个的取值,所得的每组解的集合即为最终解。穷举算法利用MATLAB实现,程序代码见附录一。用上述算法,我们发现,如果的取值太大,MATLAB警告“

6、busy”,程序无法运行。假如,求出每一个的最大值,如表一所示:表一最大值i123456789101112131415161718a(i)5771879799101103113114115128129131137147156163186root(i)17141110109988877776665运算次数为次,MATLAB无法进行如此大数量级的运算,导致可求解的具有很大的局限性。所以我们建立下文中的新模型,从而减少运算次数,提高运算速度,增强运算可行性。5.1.2递归法模型为减少冗余次数,我们设计思路如下:从分子量最大的氨基酸开

7、始考虑,初步确定第18种氨基酸分子个数后,对剩下17种氨基酸的确定,则不需要再用作为衡量标准,而可以将蛋白质中所含第18种氨基酸总分子质量减掉后,得到新的分子量,则剩下的17种氨基酸可以用新的分子量来确定。按照此思路分析,的新取值范围如下:利用这种模型,可以有效减少运算次数,使程序可以顺利运行。5.1.3结果筛选我们考虑通过查阅资料了解到测定蛋白质的常用指标是含氮量,一般蛋白质的含氮量在15%~17%左右。所以我们设定限制条件利用此条件,可以把不符合蛋白质基本性质的结果筛选出去,剩下的解即为该问题的最终结果。根据题目中给出的1

8、8种氨基酸的分子量,我们可以查找出题目中18种氨基酸的种类、分子式,从而得到每种氨基酸分子中氮原子个数,如表二所示(题目中按照氨基酸两端成键给出分子量,故在写分子式时也考虑为两端成键):表二18种氨基酸信息一览表分子量名称分子式氨基酸含N量分子中含氮原子个数57甘氨酸10.2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。