【编程练习】获得反向互补序列

这篇文章介绍了如何使用Python编程来获取一个DNA序列的反向互补序列,包括列表推导式、map函数、translate方法以及maketrans方法和replace方法。这些方法展示了不同的字符串操作技巧在生物信息学中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

给定:一条DNA序列
任务:得到这条DNA序列的反向互补序列

解题:

complement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'}

seq = 'ATGCTTAGGGATTACG'

  

# 方法一:使用列表推导式

seq_list = [complement[base] for base in seq]

seq_complement = ''.join(seq_list)

print(seq_complement)

  

# 方法二:使用map函数

seq_complement = ''.join(map(complement.get, seq))

print(seq_complement)

  

# 方法三:使用字符串的translate方法

seq_complement = seq.translate(str.maketrans(complement))

print(seq_complement)

  

# 方法四:使用字符串的maketrans方法

seq_complement = seq.translate(str.maketrans('ATCG', 'TAGC'))

print(seq_complement)

  

# 方法五:使用字符串的replace方法

seq_complement = seq.replace('A', 't').replace('T', 'a').replace('C', 'g').replace('G', 'c').upper()

print(seq_complement)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值