DNA序列整合

gb462719 程序题 共 个子题

人类基因组计划的第一阶段于 2000 年 6 月 26 日胜利结束,我国科研工作者圆满地完成了其中的1%的测序工作。众所周知,组成 DNA 的碱基有四种:腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)、胸腺嘧啶(T)。对任意两个人,其染色体上的 DNA 序列大部分相同,但总会有少数碱基对不同。这种不同是由基因的变异引起,但每个人的变异位置不尽相同。这样,对于大部分位点来说,很可能的情形是:大部分人在该位点上的碱基是一致的(没有发生变异),少数人具有不同的碱基(发生了变异)。

这就给科学家一个启示:在测序过程中,若仅仅使用一个人的样本,在很多位点上测出的结果就不具有代表性;而如果能测出多个人的序列,则有可能“整合”出一段具有人类共性的序列出来,这样更有利于研究。

例如,假设我们要检测人的某一段 DNA 序列,得到 4 人的样本:

AAAGGCCT
AGAGCTCT
AAGGATCT
AAACTTCT

整合规则:

  1. 取出在每个位置(即某一列)上出现次数最多的碱基作为整合后该位置上的碱基;
  2. 若某个位置出现次数最多的碱基不止一种,则优先选择 A,其次是 C、G 和 T。

因此,对于上述 4 个样本,整合以后的结果为:AAAGATCT

请编写一个程序,输入一组 DNA 序列,然后对它们进行整合,并将整合以后的结果打印出来。

输入描述

先输入一个正整数 N(2≤N≤10),然后再输入 N 行,每一行是一个 DNA 序列,它们具有相同的长度。

输出描述

一个字符串,即整合以后的序列。

输入样例1

4
AAAGGCCT
AGAGCTCT
AAGGATCT
AAACTTCT

输出样例1

AAAGATCT

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧