DNA序列

拼搏现实的明天。 2023-06-26 08:18 112阅读 0赞

一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。

输入描述:

输入一个string型基因序列,和int型子串的长度

输出描述:

找出GC比例最高的子串,如果有多个输出第一个的子串

  1. public static void main(String[] args) {
  2. Scanner scan=new Scanner(System.in);
  3. String dna=scan.nextLine();
  4. int length=scan.nextInt();
  5. String maxStr="";//记录比例最高的字符串
  6. double maxRatio=0;//记录目前出现的最高比例
  7. for(int i=0;i<dna.length()-length+1;i++){
  8. String str=dna.substring(i, i+length);
  9. if(GC(str)>maxRatio){
  10. maxStr=str;
  11. maxRatio=GC(str);
  12. }
  13. }
  14. System.out.println(maxStr);
  15. }
  16. //返回一个字符串的GC比例
  17. private static double GC(String str){
  18. double ratio=0;//这里要用double型,如果用int型,2/5的结果为0
  19. double count=0;//用double型,原因同上
  20. for(char ch:str.toCharArray()){
  21. if(ch=='G' || ch=='C')
  22. count++;
  23. }
  24. ratio=count/(double)str.length();
  25. return ratio;
  26. }

发表评论

表情:
评论列表 (有 0 条评论,112人围观)

还没有评论,来说两句吧...

相关阅读

    相关 重复的DNA序列

    题目描述 DNA序列 由一系列核苷酸组成,缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如,“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA

    相关 DNA序列

    > 一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工