文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

PR

小问题,全程线上修改...

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

mindsponge.metrics.compute_renamed_ground_truth

查看源文件
mindsponge.metrics.compute_renamed_ground_truth(atom14_gt_positions, atom14_alt_gt_positions, atom14_atom_is_ambiguous, atom14_gt_exists, atom14_pred_positions, atom14_alt_gt_exists)[源代码]

由于蛋白质中部分氨基酸侧链存在对称性,因此可能存在等价的构象。本函数根据预测的蛋白质三维坐标与多种等价的构象作比较,并从中选出和预测坐标最接近的构象坐标作为结构标签。

参数:
  • atom14_gt_positions (Tensor) - 按照稠密编码方式编码,蛋白质全原子坐标。shape (Nres,14,3)

  • atom14_alt_gt_positions (Tensor) - 按稠密编码方式编码,根据对称性变换的等价全原子坐标。shape (Nres,14,3)

  • atom14_atom_is_ambiguous (Tensor) - 由于部分氨基酸结构具有局部对称性,其对称原子编码可调换,具体原子参考 common.residue_atom_renaming_swaps 该特征记录了原子不确定的编码位置。shape (Nres,14)

  • atom14_gt_exists (Tensor) - 按照稠密编码方式编码,表示蛋白的相应原子在标签中是否存在的掩码。shape (Nres,14)

  • atom14_pred_positions (Tensor) - 按照稠密编码方式编码,预测的蛋白质全原子坐标。shape (Nres,14,3)

  • atom14_alt_gt_exists (Tensor) - 按照稠密编码方式编码,表示蛋白的等价构象中的相应原子在标签中是否存在的掩码。shape (Nres,14)

返回:
  • alt_naming_is_better (Tensor) - 记录了所有氨基酸是否在对称变换后更贴近预测坐标。shape (Nres,)

  • renamed_atom14_gt_positions (Tensor) - 对称变换后重命名的,稠密编码的原子所对应的真实三维坐标。shape (Nres,14,3)

  • renamed_atom14_gt_exists (Tensor) - 对称变换后重命名的、稠密编码的原子在标签中是否存在的掩码。shape (Nres,14)

符号:

Nres - 蛋白质中氨基酸个数,按蛋白质一级序列排列。

支持平台:

Ascend GPU

样例:

>>> import mindspore as ms
>>> from mindspore import Tensor
>>> import numpy as np
>>> from mindsponge.metrics import compute_renamed_ground_truth
>>> atom14_gt_positions = Tensor(np.random.random(size=(50, 14, 3)), ms.float32)
>>> atom14_alt_gt_positions = Tensor(np.random.random(size=(50, 14, 3)), ms.float32)
>>> atom14_atom_is_ambiguous = Tensor(np.random.random(size=(50, 14)), ms.float32)
>>> atom14_gt_exists = Tensor(np.random.random(size=(50, 14)), ms.float32)
>>> atom14_pred_positions = Tensor(np.random.random(size=(50, 14, 3)), ms.float32)
>>> atom14_alt_gt_exists = Tensor(np.random.random(size=(50, 14)), ms.float32)
>>> alt_naming_is_better, renamed_atom14_gt_positions, renamed_atom14_gt_exists =         ...     compute_renamed_ground_truth(atom14_gt_positions, atom14_alt_gt_positions, atom14_atom_is_ambiguous,
...                                  atom14_gt_exists, atom14_pred_positions, atom14_alt_gt_exists)
>>> print(alt_naming_is_better.shape, renamed_atom14_gt_positions.shape, renamed_atom14_gt_exists.shape)
(50,) (50, 14, 3) (50, 14)