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

利用语义相似性去除冗余Gene Ontology(GO)术语的Python工具咨询

用于去除冗余Gene Ontology(GO)术语的Python工具包

以下几个工具包可基于语义相似性帮你去除冗余GO术语:

  • GOATOOLS
    专门针对GO术语设计的工具包,内置Resnik、Lin、Jiang-Conrath等多种语义相似性算法,能直接计算GO术语间的相似度。你可以先加载GO数据库,批量计算数据框中术语对的相似度得分,设定合适阈值后移除相似度超标的冗余术语;也可利用它的GO层级分析功能,用更具代表性的父术语替代冗余子术语,精简术语集合。
    示例片段:

    from goatools.base import get_godag
    from goatools.semantic import semantic_similarity
    
    # 加载GO有向无环图
    godag = get_godag("go-basic.obo")
    # 计算两个GO术语的Lin算法语义相似度
    sim_score = semantic_similarity("GO:0005886", "GO:0016020", godag, method='lin')
    
  • Biopython
    借助Bio.UniProt.GO模块可获取GO术语的层级关系(is_a、part_of等),结合自定义语义相似性逻辑(或调用第三方相似度计算函数)就能筛选非冗余术语。比如先构建GO的DAG结构,遍历数据框中的术语,保留层级更高、覆盖范围更广的条目,自动移除其下属的子术语。

  • scikit-bio
    这个生物信息学工具包提供了GO术语语义相似性计算接口,支持基于信息内容(IC)和集合论的多种算法。你可以批量生成术语间的相似度矩阵,通过层次聚类将高度相似的术语归为一类,每类仅保留一个代表性术语;也可设定相似度阈值,直接过滤重复或高度相似的条目。

  • ontobio
    专注于本体数据处理的工具包,支持GO本体的加载、遍历和语义相似性计算。它能快速获取每个GO术语的祖先、后代节点,结合相似度得分自动筛选非冗余术语集合,适合批量处理数据框中的GO术语列表,操作更偏向高层级的语义精简。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:02:45