与数据源无关的反应契约——规则挖掘引擎(RuleMiner)的唯一输入。
ReactionSpec
00 Remarks
之所以要这一层:不同数据源的"反应"对象差异很大(BioCyc 的 reactions 带 REACTION-DIRECTION,需要先按方向把左右翻转;GCModeller 内部的 MetabolicReaction 没有方向枚举、一律按 left→right 理解)。把这些差异全部 收敛到各自的数据源映射层之后,挖掘引擎只看到"已归正的底物/产物 id 列表", 从而保证不同数据源挖出的规则语义完全一致。
各字段的取值约定:
- / :必须已完成方向归正,
且已去重、去空、按字典序排列(挖掘结果依赖确定性顺序);
- :非空即视为"常见酶家族",酶层级取
;
- :无 EC 但可自发发生时取
;两者皆无则取 。
01 Syntax
SMRUCC.genomics.Model.Metabolic.RouterAdapter.Data.ReactionSpec
02 Methods
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| Id | 1 | 反应唯一标识。会直接作为规则的 Rule.Id, 便于把搜索结果回溯到原始反应条目。 |
| Name | 1 | 反应名称(对应规则的 Rule.Name)。映射层应按 "常用名 → 系统名 → id" 的顺序回退取值。 |
| ReactantIds | 1 | 已按方向归正的底物 compound id 集合(去重、去空、字典序)。 |
| ProductIds | 1 | 已按方向归正的产物 compound id 集合(去重、去空、字典序)。 |
| ECNumbers | 1 | EC 号集合;非空即判定为"常见酶家族"。 |
| IsSpontaneous | 1 | 是否无需酶催化即可发生。 |
| Gibbs | 1 | 正向(底物 → 产物)的 ΔG,单位 kJ/mol。 |
| IsReversible | 1 | 生理条件下是否可逆。 |
04 Members
Create(
String, String, IEnumerable(Of String), IEnumerable(Of String), String(), Boolean, Double, Boolean)便捷构造:从左右两侧的化合物 id 序列生成一条已排序、去重的反应契约。
Parameters
| Name | Type | Description |
|---|---|---|
id | String | 反应唯一标识。 |
name | String | 反应名称。 |
reactants | IEnumerable(Of String) | 底物侧的化合物引用(可为 Nothing)。 |
products | IEnumerable(Of String) | 产物侧的化合物引用(可为 Nothing)。 |
ecNumbers | String() | EC 号集合。 |
isSpontaneous | Boolean | 是否自发。 |
gibbs | Double | 正向 ΔG。 |
isReversible | Boolean | 是否可逆。 |
Returns
已归正并排序的 ReactionSpec。
Id
反应唯一标识。会直接作为规则的 Rule.Id, 便于把搜索结果回溯到原始反应条目。
Name
反应名称(对应规则的 Rule.Name)。映射层应按 "常用名 → 系统名 → id" 的顺序回退取值。
ReactantIds
已按方向归正的底物 compound id 集合(去重、去空、字典序)。
ProductIds
已按方向归正的产物 compound id 集合(去重、去空、字典序)。
ECNumbers
EC 号集合;非空即判定为"常见酶家族"。
IsSpontaneous
是否无需酶催化即可发生。
Gibbs
正向(底物 → 产物)的 ΔG,单位 kJ/mol。
IsReversible
生理条件下是否可逆。
ToString()