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

如果第一次阅读本系列文档请先移步阅读【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)