I would like to implement the following in Python but not sure where to start. Are there good modules for shortest path problems of this type?
I am trying to define the shortest path from a particular atom (node) to all other atoms (nodes) in a given collection of xyz coordinates for a 3D chemical structure (the graph). The bonds between the atoms (nodes) are the edges for which travel from node to node is allowed.
I am trying to filter out certain atoms (nodes) from the molecule (graph) based on the connectivity outward from a selected central node.
**For the paths considered, I want to FORBID certain atoms (nodes) from being crossed. If the shortest path from A to B is through forbidden node, this answer is disallowed. The shortest path from A to B must not include the forbidden node **
If the shortest path from the selected centre atom (A) to another other node(B) INCLUDES the forbidden node, AND there is no other path available from A to B through the available edges (bonds), then node B should be deleted from the final set of xyz coordinates (nodes) to be saved.
This should be repeated for A to C, A to D, A to E, etc. for all other atoms (nodes) in the structure (graph).
Thanks in advance for any help you can offer.