1.DNA序列

来源:互联网 发布:log4j2 打印sql 编辑:程序博客网 时间:2024/05/01 21:36

一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。

给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。

参考代码:

#include <iostream>#include <string>using namespace std;double Ratio(string a){int num=0;for (int i=0;i<a.size();i++)if (a[i]=='G'||a[i]=='C')num++;return (double)num/(double)a.size();}int main(){string s;int len,start;double max=0;cin>>s;cin>>len;if (len>=s.size() ||len<2||s.size()==0)return -1;for (int i=0;i+len<s.size();i++){string str=s.substr(i,len);if (Ratio(str)>max){max=Ratio(str);start=i;}}cout<<s.substr(start,len)<<endl;}


 

0 0
原创粉丝点击