欢迎光临散文网 会员登陆 & 注册

【ROSALIND】【练Python,学生信】01 统计DNA序列脱氧核苷酸数目

2019-02-01 17:42 作者:未琢  | 我要投稿

如果第一次阅读本系列文档请先移步阅读【ROSALIND】【练Python,学生信】00 写在前面  谢谢配合~

题目:

统计核苷酸数目(Counting DNA Nucleotides)

Given: A DNA string ss of length at most 1000 nt.

所给:一条被命名为ss的DNA链,长度至少为1000个碱基。

Return: Four integers (separated by spaces) counting the respective number of times that the symbols 'A', 'C', 'G', and 'T' occur in ss.

需得:四个以空格分隔的整数,分别为ss中A、C、G、T的数量。

 

测试数据

AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC

测试输出

20 12 17 21

 

生物背景

细胞是生命活动的主要承担者,早在一百多年前,人们就意识到细胞核在调节细胞生命活动中起着中心作用。细胞核中充满着被称为染色质(分裂期凝缩为染色体)的生物大分子,核酸是染色质的重要组成部分,由单体核苷酸聚合形成。核苷酸又由五碳糖、核酸基团和碱基组成。对DNA分子来说,碱基有四种,分别为腺嘌呤(adenine,A)、鸟嘌呤(guanine,G)、胞嘧啶(cytosine,C)和胸腺嘧啶(thymine,T)。遗传信息就包含在碱基序列中。

 

Python知识点

DNA序列是一个字符串,Python中针对字符串提供了大量方法可直接调用,其中“.count()”方法可用于计数。

将文件保存在与.py文件相同的路径下可以很方便地读入和编辑,参数’r’代表读入;’a’代表添加到文件已有内容之后;’w’代表写入文件,覆盖原有内容。

 

代码

# s = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGC  AGC"      

f = open("rosalind_dna.txt",'r')  # 直接读入序列文件

s = f.read()

print("%d %d %d %d" % (s.count('A'), s.count('C'), s.count('G'), s.count('T')))


【ROSALIND】【练Python,学生信】01 统计DNA序列脱氧核苷酸数目的评论 (共 条)

分享到微博请遵守国家法律