【发布时间】:2017-03-31 12:05:44
【问题描述】:
我想在 Python 中实现以下内容,但不知道从哪里开始。这种类型的最短路径问题有没有好的模块?
我试图在给定的 xyz 坐标集合中为 3D 化学结构(图表)定义从特定原子(节点)到所有其他原子(节点)的最短路径。原子(节点)之间的键是允许从一个节点移动到另一个节点的边。
我正在尝试根据从选定中心节点向外的连通性从分子(图)中过滤掉某些原子(节点)。
**对于所考虑的路径,我想禁止某些原子(节点)被交叉。如果从 A 到 B 的最短路径是通过禁止节点,则该答案是不允许的。从 A 到 B 的最短路径不能包含禁止节点**
如果从选定的中心原子 (A) 到另一个其他节点 (B) 的最短路径包括禁止节点,并且没有通过可用边(键)从 A 到 B 的其他可用路径,则节点 B 应该从要保存的最后一组 xyz 坐标(节点)中删除。
对于结构(图)中的所有其他原子(节点),应针对 A 到 C、A 到 D、A 到 E 等重复此操作。
提前感谢您提供的任何帮助。
【问题讨论】:
标签: python graph shortest-path chemistry cheminformatics