You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

简化多条件判断:优化5碱基DNA序列筛选Python代码

简化DNA序列筛选代码方案

核心思路

把碱基的禁止配对规则用字典映射统一管理,再封装成可复用的判断函数,彻底避免重复编写冗余的if语句。

具体实现步骤

  • 定义禁止配对映射:用字典存储每个碱基对应的禁止配对碱基,比如A对应T、T对应A、C对应G、G对应C。
  • 封装判断函数:写一个极简函数,接收两个碱基,判断后者是否不属于前者的禁止配对碱基。
  • 复用逻辑筛选序列:在循环中调用函数,同时验证首尾碱基对、第二与倒数第二碱基对的规则,两个条件都满足时才输出序列。

完整代码

import itertools

# 定义碱基的禁止配对映射
forbidden_pair = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}

def is_valid(base1, base2):
    # 判断两个碱基是否符合规则:base2不是base1的禁止配对碱基
    return base2 != forbidden_pair[base1]

bases = "ATCG"
for seq_tuple in itertools.product(bases, repeat=5):
    # 同时验证两组碱基对的规则
    if is_valid(seq_tuple[0], seq_tuple[4]) and is_valid(seq_tuple[1], seq_tuple[3]):
        seq = "".join(seq_tuple)
        print(seq)

代码优势

  • 逻辑复用:判断函数可直接用于任意位置的碱基对验证,后续新增其他位置的规则时,只需添加对应函数调用即可。
  • 易于维护:若禁止配对规则发生变化,仅需修改forbidden_pair字典,无需改动多处判断逻辑。

内容的提问来源于stack exchange,提问作者indigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:15:38