实验六 动态规划算法比对序列.docx

实验六 动态规划算法比对序列.docx

ID:62185080

大小:15.67 KB

页数:10页

时间:2021-04-20

实验六  动态规划算法比对序列.docx_第1页
实验六  动态规划算法比对序列.docx_第2页
实验六  动态规划算法比对序列.docx_第3页
实验六  动态规划算法比对序列.docx_第4页
实验六  动态规划算法比对序列.docx_第5页
资源描述:

《实验六 动态规划算法比对序列.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验六动态规划算法比对序列#!/usr/bin/perl-wprint"先生,那个做业,我交了3次。以那次为准哈。以前的逻辑上或者者语法上或者多或者少有些成绩详细了局以下:";$seq1="YKRDKPHVNIGTIGHVDHGKTTLTAAITSVLAKERGITISTAHVEYQTDKRHYAHIDCPGHADYIKNDGPMPQTREHILLARQVNVPALVVFLNKVDILLELVEMELRELLTEYGFPGDDIPIIKGSALNIMELMD";$seq2="IGHVDHGKTTLTAAITSVLAKERGITISTAH

2、VIKNMITGAAQMDGAILVVAGTDGPMPQTREHILLARQVNVPALVVFLNKVDIALLELVEMELRELLTEYGFPGDDIPIIKGSALNALNEKAIMELMDAVDDYIP";@seq1=split(//,$seq1);@seq2=split(//,$seq2);#界说奖分划定规矩$match=1;$dismatch=0;$gap=-1;#挨分矩阵第一列以及第一止赋值#$score[0][0]={0};$len1=(@seq1);$len2=(@seq2);#横着赋值for$i(0..$len1){$sco

3、re[0][$i]=-$i;}#横着赋值for$j(0..$len2){$score[$j][0]=-$j;}#挖充患上分矩阵的其余地位for$i(1..$len1){$letter2=$seq2[$i-1];for$j(1..$len2){$letter1=$seq1[$j-1];if($letter1eq$letter2)#线路歪着走(要末婚配,要末容忍){$diagonal=$score[$i-1][$j-1]+$match;}else$diagonal=$score[$i-1][$j-1]+$dismatch;}$up=$score[$

4、i-1][$j]+$gap;#线路横着走$left=$score[$i][$j-1]+$gap;#线路横着走#对比4种情形的最劣患上分if($diagonal>=$up){if($diagonal>=$left){$score[$i][$j]=$diagonal;$trace[$i][$j]=1;}else{$score[$i][$j]=$left;$trace[$i][$j]=2;}}else{if($up>=$left){$score[$i][$j]=$up;$trace[$i][$j]=3;}else{$score[$i][$j]=$le

5、ft;$trace[$i][$j]=2;}}}}print"最下患上分为$score[$i-1][$j-1]";#正在患上分矩阵中,寻到最劣途径的标志,从而寻到最劣途径$j=@seq1;$i=@seq2;$k=0;#@align1;while(1){if($i>0&&$j>0){if($trace[$i][$j]==1){$align1[$k]=$seq1[$j-1];$align2[$k]=$seq2[$i-1];$k++;$j--;$i--;next;}elsif($trace[$i][$j]==2){$align1[$k]=$seq1

6、[$j-1];$align2[$k]="-";$k++;$j--;next;}elsif($trace[$i][$j]==3){$align1[$k]="-";$align2[$k]=$seq2[$i-1];$k++;$i--;next;}}elsif($i==0&&$j!=0){$align2[$k]=$seq1[$j-1];$align1[$k]="-";$k++;$j--;}elsif($j==0&&$i!=0){$align1[$k]=$seq2[$i-1];$align2[$k]="-";$k++;$i--;}elsif($j==0&

7、&$i==0){last;}}@align1=reverse(@align1);@align2=reverse(@align2);print"比对于了局为:";print"序列1:@align1";print"序列2:@align2";借有一种圆法:#!/usr/bin/perlusestrict;my$x="YKRDKPHVNIGTIGHVDHGKTTLTAAITSVLAKERGITISTAHVEYQTDKRHYAHIDCPGHADYIKNDGPMPQTREHILLARQVNVPALVVFLNKVDILLELVEMELRELLTE

8、YGFPGDDIPIIKGSALNIMELMD";#将序列寄存正在sequence中my@bb=split(//,$x);#宰割数组,将元素保留正在b

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

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

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