当前位置: 首页 > news >正文

AF3 correct_msa_restypes函数解读

AlphaFold3  data_transforms 模块的 correct_msa_restypes 函数 该函数的作用是 将 MSA(多序列比对)的氨基酸索引转换为 AlphaFold3 预期的索引顺序,确保 MSA 数据的氨基酸类型与 rc.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE 兼容,同时 转换 MSA 相关的 profile 数据

源代码:

def correct_msa_restypes(protein):
    """Correct MSA restype to have the same order as rc."""
    new_order_list = rc.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE
    new_order = torch.tensor(
        [new_order_list] * protein["msa"].shape[1],
        device=protein["msa"].device,
    ).transpose(0, 1)
    protein["msa"] = torch.gather(new_order, 0, protein["msa"])

    perm_matrix = np.zeros((22, 22), dtype=np.float32)
    perm_matrix[range(len(new_order_list)), new_order_list] = 1.0

    for k in protein:
        if "profile" in k:
            num_dim = protein[k].shape.as_list()[-1]
            assert num_dim in [
                20,
                21,
                22,
            ], "num_dim for %s out of expected range: %s" % (k, num_dim)
            protein[k] = torch.dot(protein[k], perm_matrix[:num_dim, :num_dim])

    return protein

源码解读:

该函数的输入 protein 是一个包含 MSA 相关信息的字典,主要处理 "msa" 和 "profile" 相关的键。

1️⃣ 重新映射 MSA 的氨基酸索引
    new_order_list = rc.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE
  • MAP_HHBLITS_AATYPE_TO_OUR_AATYPE 是一个

相关文章:

  • mac本地代理nginx,解决跨域问题
  • 【Java代码审计 | 第六篇】XSS防范
  • 【React】React + Tailwind CSS 快速入门指南
  • VBA高级应用30例Excel中ListObject对象:提取表内单元格的格式元素
  • WPF 之SizeToContent
  • 8.1linux竞争与并发知识讲解(尽可能详细)_csdn
  • pta L1-003 个位数统计
  • LeetCode 738. 单调递增的数字 java题解
  • 2.装饰器模式
  • 计算机安全 第四节:访问控制(上)
  • Qt常用控件之分组框QGroupBox
  • Express Router 全面教程与最佳实践
  • k8s下部署ansible进行node-export二安装
  • 使用PHP实现异步编程:挑战与解决方案
  • 【数据结构】一文解析跳表
  • 【leetcode100】组合总和
  • 大规模分布式训练技术
  • LINUX SERVER在那種情況下需要做Raid
  • RabbitMQ应用问题大全(精心整理版)
  • 【MATLAB例程】二维环境定位,GDOP和CRLB的计算
  • 无锡制作网站公司/同城推广引流平台
  • 网站的下载链接怎么做/怎样做网站的优化、排名
  • 做伊朗的外贸公司网站/在线制作网页网站
  • 怎么做便民信息网站/离我最近的广告公司
  • 宜兴网站设计/百度指数里的资讯指数是什么
  • 谁有人和兽做的网站?/西安排名seo公司