把 GCModeller 内部标准代谢网络(化合物 + 反应的集合)装配成 RetroPath 的 逆向合成通路搜索器。
MetabolicAdapter
00 Remarks
构造期一次性完成: 1) 化合物结构索引(SMILES 净化 + 元素白名单 + 解析); 2) 反应实例 → 广义反应规则(MCS 原子映射 + 反应中心提取 + SMARTS 泛化); 3) 底盘内源代谢物汇集合。 之后每次 MetabolicAdapter.FindPathway() 只是对已装配的 Netwalk 发起一次搜索。
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | 从内部标准代谢模型装配搜索器。 |
| GetCompound | 1 | 按 compound id 取结构(无结构时返回 Nothing) |
| FindPathway | 1 | 以给定 SMILES 为目标做逆向合成通路搜索。 查询时会把目标自身从汇集合中剔除:BeamSearch 一旦判定"目标已属于汇"就直接返回 0 条路径,而"目标在底盘中已存在"对通路设计没有意义——我们想知道的是它怎么被合成出来。 |
| SynthesisRoute | 1 | 从起点代谢物 A 出发,搜索合成目标代谢物 B 的最经济通路。 |
| SynthesisRouteById | 1 | 以代谢模型的化合物 id 指定起点与目标(如 "CHORISMATE" → "ENTEROBACTIN")。 |
| CreateNetwalk | 1 | 用已装配好的规则集与汇集合另建一个搜索器(可指定不同的搜索参数)。 |
| SmilesOf | 1 | 按 compound id 取净化后的 SMILES(无结构时抛异常) |
| FindPathwayById | 1 | 以内部模型的化合物 id 为目标做搜索(如 "ENTEROBACTIN") |
03 Properties
04 Fields
| Name | Overloads | Summary |
|---|---|---|
| sinkEntries | 1 | 汇条目:(分子指纹, compound id, 净化后的 SMILES) |
05 Members
IEnumerable(Of MetabolicCompound), IEnumerable(Of MetabolicReaction), SearchOptions, ScoreWeights, SinkModes, Int32, Int32, Int32, Int32, Int32, Int32, Boolean, Boolean, Boolean, Boolean)从内部标准代谢模型装配搜索器。
| Name | Type | Description |
|---|---|---|
compounds | IEnumerable(Of MetabolicCompound) | 内部代谢化合物集合(必须有 SMILES 才能参与挖掘)。 |
metabolic | IEnumerable(Of MetabolicReaction) | 内部代谢反应集合(left/right 引用上面的化合物 id)。 |
opts | SearchOptions | 束搜索参数(默认 beam / width 50 / depth 6)。 |
w | ScoreWeights | 路径评分权重(默认 0.4 热力学 / 0.3 酶可得性 / 0.3 长度)。 |
sinkMode | SinkModes | 汇集合模式:Core = 核心中心代谢子集;All = 全库。 |
coreDegree | Int32 | Core 模式下判定枢纽代谢物的最少反应出现次数; 小规模手写网络建议取 2,真实库取 4。 |
maxMoleculeAtoms | Int32 | 参与反应的分子重原子数上限(超出则跳过该反应,控耗时)。 |
maxPatternAtoms | Int32 | 模式原子数上限(超出则规则过特异,跳过)。 |
mcsNodeBudget | Int32 | MCS 原子映射的回溯节点预算。 |
maxUnmappedAtoms | Int32 | MCS 允许保留的未映射原子数(≈反应中心规模)。 |
shellRadius | Int32 | 反应中心向外扩展的层数(泛化环境半径)。 |
includeBuiltinRules | Boolean | 是否叠加 RetroPath 内置的 9 条广义规则。 |
strictSelfCheck | Boolean | 严格模式:丢弃无法重现自身反应的退化规则。 |
verbose | Boolean | 是否向 stderr 输出装配诊断。 |
keepRuleTrace | Boolean | 是否记录逐条反应的跳过原因。 |
String)按 compound id 取结构(无结构时返回 Nothing)
String)以给定 SMILES 为目标做逆向合成通路搜索。 查询时会把目标自身从汇集合中剔除:BeamSearch 一旦判定"目标已属于汇"就直接返回 0 条路径,而"目标在底盘中已存在"对通路设计没有意义——我们想知道的是它怎么被合成出来。
| Name | Type | Description |
|---|---|---|
targetSmiles | String | 目标分子的 SMILES。 |
含参数快照、统计与候选通路的报告。
String, String, SourceRoles, Boolean, IEnumerable(Of ValueTuple(Of String, String)), Int32, Boolean)从起点代谢物 A 出发,搜索合成目标代谢物 B 的最经济通路。
| Name | Type | Description |
|---|---|---|
sourceSmiles | String | 起点化合物 A 的 SMILES。 |
targetSmiles | String | 目标化合物 B 的 SMILES。 |
role | SourceRoles | A 的角色:Source = 必须是最上游叶子原料;Anywhere = 出现在通路任意位置即可。 |
strict | Boolean | 严格模式:除 A 与货币分子外不依赖任何底盘代谢物(可用 allowedExtra 放行个别辅因子)。 |
allowedExtra | IEnumerable(Of ValueTuple(Of String, String)) | strict 模式下额外允许作为起点的化合物(名称, SMILES)。 |
maxRoutes | Int32 | 最多返回多少条候选(0 = 默认 10 条)。 |
escalate | Boolean | 首轮未命中时是否自动加大束宽/深度重试。 |
String, String, SourceRoles, Boolean, IEnumerable(Of String), Int32, Boolean)以代谢模型的化合物 id 指定起点与目标(如 "CHORISMATE" → "ENTEROBACTIN")。
| Name | Type | Description |
|---|---|---|
allowedExtraIds | String | strict 模式下额外放行的化合物 id(如 ATP / NADH)。 |
SearchOptions, ScoreWeights)用已装配好的规则集与汇集合另建一个搜索器(可指定不同的搜索参数)。
| Name | Type | Description |
|---|---|---|
opts | SearchOptions | 搜索参数;省略时用构造期参数。适合做串行/并行对比或按查询调参。 |
w | ScoreWeights | 评分权重;省略时用构造期权重。 |
String)按 compound id 取净化后的 SMILES(无结构时抛异常)
String)以内部模型的化合物 id 为目标做搜索(如 "ENTEROBACTIN")
| Name | Type | Description |
|---|---|---|
compoundId | String | 化合物 id(即 |
current sink mode
规则挖掘过程中被跳过的条目及原因计数
逐条反应的跳过原因(reaction id → 原因),用于排查某条反应为何未进规则库
装配统计信息(化合物总数 / 可用结构数 / 规则数 / 汇大小 / 耗时)
挖掘得到的广义反应规则集
compound id → 结构(净化后的 SMILES + 分子图)
汇条目:(分子指纹, compound id, 净化后的 SMILES)