Community研究与数据分析github.com

ylwu-510/simplify-bioinformatics-code

一个用于简化生物信息学代码的 Codex 技能,同时保留科学意图、可靠输入和可读的分析结构。

simplify-bioinformatics-code 是什么?

该技能专为 AI 编码助手(如 Codex)设计,旨在简化生物信息学代码,同时严格保留原始科学意图、算法逻辑和关键输入数据的完整性。它特别强调保持代码的“科学意图”不变——即确保生物学假设和计算目标在简化过程中不被歪曲或丢失。通过自动识别并移除冗余实现细节、优化变量命名和重构控制流,该技能生成更易读、更简洁的代码,同时保留完整的功能正确性。它支持 Python、R 等生物信息学常用语言,并特别关注维护诸如 BAM/FASTA 文件路径、阈值参数和参考文献等“可信输入”的不可变性。该技能基于明确的规则集,优先分析代码中的科学逻辑(如序列比对、统计检验),而非盲目应用通用代码简化模式。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add ylwu-510/simplify-bioinformatics-code

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

simplify-bioinformatics-code 是做什么的?

一个用于简化生物信息学代码的 Codex 技能,同时保留科学意图、可靠输入和可读的分析结构。

概述

该技能帮助开发者将冗长或复杂的生物信息学脚本转化为更简洁、可维护的版本,同时确保:

  • 科学意图:算法背后的生物学假设和计算逻辑保持不变。
  • 可靠输入:已验证的数据源、文件路径和参数不会被意外修改。
  • 可读分析结构:代码以清晰、逻辑分步骤的方式呈现,便于审查和共享。

适用平台

  • Codex(例如在 OpenAI 的 ChatGPT 或 VS Code 中使用)
  • 其他支持技能机制的 AI 编码助手(如 Claude Code 或 Cursor)

工作原理

  1. 输入扫描:分析输入的代码片段或文件,识别科学函数和关键输入(如参考基因组路径、阈值、参数)。
  2. 意图提取:标记代码中体现生物学逻辑的核心部分(例如序列比对步骤、统计检验)。
  3. 简化规则:应用预设规则集来:
    • 移除冗余实现细节(如重复注释或过度防御性检查)
    • 重命名变量以提高清晰度
    • 将长函数拆分为模块化步骤
    • 保留科学文献引用和注释
  4. 输出验证:确保简化后的代码与原始代码在功能上等效。

示例用法

简化前的代码(Python)

# 加载并修剪原始读段
def process_reads(filename, trim_quality=20):
    import pysam
    samfile = pysam.AlignmentFile(filename, "rb")
    reads = []
    for read in samfile.fetch():
        if read.is_unmapped:
            continue
        # 根据平均质量分数修剪
        if read.query_qualities:
            avg_qual = sum(read.query_qualities) / len(read.query_qualities)
            if avg_qual < trim_quality:
                continue
        reads.append(read)
    return reads

简化后的代码(输出)

def load_filtered_reads(bam_path, min_avg_quality=20):
    """加载 BAM 文件并过滤低质量读段。
    保留映射的读段;根据平均碱基质量分数筛选。
    """
    import pysam
    with pysam.AlignmentFile(bam_path, "rb") as bam:
        mapped_reads = [
            read for read in bam.fetch()
            if not read.is_unmapped
            and read.query_qualities
            and (sum(read.query_qualities) / len(read.query_qualities)) >= min_avg_quality
        ]
    return mapped_reads

使用说明

  • 确保代码包含清晰的科学意图(如注释或描述性函数名)。
  • 输入可以是单个函数、完整脚本或多个文件。
  • 该技能会保留原始科学文献引用和关键参数。

注意事项

  • 该技能不会改变算法逻辑或科学假设。
  • 如果输入缺乏明确意图(例如过于模糊的变量名),简化后的代码可能仍需要人工审查。
  • 始终在简化后验证输出,特别是在处理敏感分析时。

相关技能