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

【ROSALIND】【练Python,学生信】03 DNA的反向互补序列

2019-02-01 18:03 作者:未琢  | 我要投稿

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

题目:

得到DNA的反向互补序列

Given: A DNA string s of length at most 1000 bp.

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

Return: The reverse complement sc of s.

需得:s的反向互补序列sc。

 

测试数据

AAAACCCGGT

测试输出

ACCGGGTTTT

 

生物背景

DAN由反向互补的两条链组成,A和T配对,G和C配对,两条链形成双螺旋结构。

 

思路

要得反向互补链需两步:序列反向;将各碱基变为配对碱基。

 

Python知识点

根据字符串切片的方法可以将一个字符串反向,代码为sequence[::-1](即开始索引=0,结束索引=end,步长=-1)。

利用for循环语句可以遍历字符串,if/elif语句进行条件判断。

 

代码

# s = "AAAACCCGGT"

f = open("rosalind_revc.txt",'r')

s = f.read()

re = s[::-1]  # 字符串反向

c = ""  # 定义字符串c接收互补序列

for i in re:

    if i == 'A':

        c = c + 'T'

    elif i == 'G':

        c = c + 'C'

    elif i == 'T':

        c = c + 'A'

    elif i == 'C':

        c = c + 'G'

 

print(c)


【ROSALIND】【练Python,学生信】03 DNA的反向互补序列的评论 (共 条)

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