约瑟夫-这是分子亚结构替换的一个很好的应用。我特别喜欢使用图表
可视化关系。
我给你的一个建议是“替换子结构列表”
也可以采用以下形式的替换规则“智能”->“微笑”,这可以减少代码的冗长性,并使简单子结构的代码更容易阅读。所以对于替换分子[{“O”},{}]->分子
你可以写“O”->“S”
结果是一样的。同样地分子模式[{“C”,“C”},{键[{1,2},“双”]}]->分子[“乙烷”]
可以写“C=C”->“CC”
对于更复杂的子结构,需要完整的形式。
还要注意,有一个运算符形式分子修改
,因此您可以编写一个运算符,将“CH”转换为“CC”,如addOneMoreCarbon=分子修改[{“ReplaceSubstructureList”,Atom[“C”,“HydrogenCount”->大于[0]]->“CC”}]
我会认为这是一个错误分子修改
你必须打电话给“MakeHydrensExplicit”
方法以获得一致的结果。对于模拟这样的大型网络,保持氢原子隐式可以节省时间和内存,但无论氢是否作为显式顶点包含在分子图中,结果都应该相同。我已经为此提交了一份错误报告,希望可以在下一个版本中修复。
如果您遇到其他问题“替换下部结构”
给出错误的结果,请不要犹豫直接报告.