云南网站建设公司排名,行业网站设计开发费用,苏州姑苏区建设局网站,Wordpress付费主题排名问题描述 人类基因组计划的第一阶段于2000年6月26日胜利结束#xff0c;我国的科研工作者圆满地完成了其中的1%的测序工作。众所周知#xff0c;对于任意两个人来说#xff0c;他们的染色体上的DNA序列大部分是相同的#xff08;否则就不是同一物种了#xff09;#xff…问题描述 人类基因组计划的第一阶段于2000年6月26日胜利结束我国的科研工作者圆满地完成了其中的1%的测序工作。 众所周知对于任意两个人来说他们的染色体上的DNA序列大部分是相同的否则就不是同一物种了但是总会有少数碱基对不相同否则世界上的人长得都一模一样了。碱基的不同是由于基因的变异引起的。例如在某个人的DNA序列中一位点上A突变成G。但每个人的DNA序列的变异位置都是不尽相同的。这样对于大部分位点来说很有可能是这么一种情况大部分人在这个位点上的碱基是一致的因为没有发生变异少数人具有不同的碱基因为发生了变异。 这样就给我们一个启发在测序的过程中如果仅仅使用一个人的样本的话在很多位点上测出的结果就不具有代表性如果能够测出多个人的序列那么就有可能“整合”出一段具有人类共性的序列出来这样更有利于研究。 比如说我们要测人的某一段的DNA序列得到了4个人的样本 AAAGGCCT AGAGCTCT AAGGATCT AAACTTCT 按照如下 1、 取出在每一个位置上出现次数最多的碱基作为整合后该位置上的碱基 2、 如果有一个位置上出现次数最多的碱基不止一种那么在出现次数最多的碱基中优先选择A其次C再次G最后T。 按照上边的规则整合后的序列为 AAAGATCT 输入格式 输入数据的第一行是一个数字N(2N10)代表DNA序列的个数 接下来有N行每行都是一个由AGCT组成的字符串代表每个DNA序列保证这些序列拥有相同的长度 序列的长度在2到100之间 输出格式 仅输出一个字符串代表整合后的DNA序列 样例输入 4AAAGGCCTAGAGCTCTAAGGATCTAAACTTCT 样例输出 AAAGATCT package www.tsinsen.com;import java.util.Scanner;public class A1051 {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner scannew Scanner(System.in);int nscan.nextInt();String[] strsnew String[n];for(int i0;in;i){strs[i]scan.next();}int[][] numsnew int[strs[0].length()][4];for(int i0;in;i){for(int j0;jstrs[0].length();j){char cstrs[i].charAt(j);switch(c){case A:nums[j][0];break;case C:nums[j][1];break;case G:nums[j][2];break;case T:nums[j][3];break;}}}StringBuffer sbnew StringBuffer();for(int i0;istrs[0].length();i){int maxnums[i][0];int max_index0;for(int j1;j4;j){if(nums[i][j]max){maxnums[i][j];max_indexj;}}switch (max_index){case 0:sb.append(A);break;case 1:sb.append(C);break;case 2:sb.append(G);break;case 3:sb.append(T);break;default:break;}}System.out.println(sb.toString());}} 转载于:https://www.cnblogs.com/henuLiGang/p/8485728.html