$darkmode
DENOPTIM
|
This object represents a path in a DGraph
.
More...
Public Member Functions | |
PathSubGraph (Vertex vA, Vertex vB, DGraph molGraph) | |
Constructs a new PathSubGraph specifying the first and last vertex of the path. More... | |
void | makeMolecularRepresentation (IAtomContainer mol, boolean make3D, Logger logger, Randomizer randomizer) throws DENOPTIMException |
Creates the molecular representation, list of atoms and bonds involved in the path between the head and tail. More... | |
String | getChainID () |
Returns the string representation of the path. More... | |
List< String > | getAllAlternativeChainIDs () |
Returns all the possible IDs for this chain. More... | |
Vertex | getHeadVertex () |
Returns the vertex representing the head of the chain. More... | |
Vertex | getTailVertex () |
Returns the vertex representing the tail of the chain. More... | |
int | getPathLength () |
Returns the length of the list of edges involved in this path. More... | |
List< Vertex > | getVertecesPath () |
Returns the list of verteces involved. More... | |
List< Edge > | getEdgesPath () |
Returns the list of edges involved. More... | |
boolean | hasMolecularRepresentation () |
Returns true if the molecular representation has been set. More... | |
IAtomContainer | getMolecularRepresentation () |
Returns the molecular representation. More... | |
List< IAtom > | getAtomPath () |
Returns the list of atoms in the path between the head and the tail. More... | |
String | getAtomRefStr () |
Returns the string with atom symbols and number for an easy identification of the path in a molecular structure. More... | |
List< IBond > | getBondPath () |
Returns the list of bonds in the path between the head and the tail. More... | |
ArrayList< ArrayList< Point3d > > | getDihedralRefPoints () |
Returns the list of point to be used to define the torsion of a bond uniquely (independently on the substituents present in this chain) as a dihedral angle. More... | |
RingClosingConformations | getRCC () |
Returns the ring closing conformations. More... | |
void | setRCC (RingClosingConformations rcc) |
Set the ring closing conformations to this object. More... | |
String | toString () |
DGraph | getGraph () |
Static Public Member Functions | |
static DGraph | findPath (Vertex from, Vertex to) |
Returns a path as a DENOPTIMGraph from the first argument to the second one. More... | |
static List< IAtom > | findAtomPath (IAtomContainer iac) |
Finds the shortest path of atoms between the first and last atom in the given atom container. More... | |
Private Member Functions | |
long | getVertexIdInPath (IAtom a) |
Static Private Member Functions | |
static Iterable< AttachmentPoint > | findPath (Vertex from, Vertex to, Set< Long > visited) |
Returns a sequence of APs that is the path from vertex from to vertex to. More... | |
Private Attributes | |
DGraph | graph |
The graph representation of this path. More... | |
String | chainID |
The string identifier of this path. More... | |
String | revChainID |
ArrayList< String > | allPossibleChainIDs = new ArrayList<String>() |
Vertex | vA |
The vertex representing the first RCA: head of the path. More... | |
Vertex | vB |
The vertex representing the second RCA: the tail of the path. More... | |
Vertex | turningPointVert |
The turning point in the graph: after this point the direction of edges becomes opposite than before. More... | |
List< Vertex > | vertPathVAVB |
The list of vertices of the original graph and involved in the path. More... | |
List< Edge > | edgesPathVAVB |
The list of edges of the original graph and involved in the path. More... | |
IAtomContainer | iacPathVAVB |
The molecular representation of the fragment in the path. More... | |
List< IAtom > | atomsPathVAVB |
The list of atoms in the shortest path. More... | |
List< IBond > | bondsPathVAVB |
The list of bonds in the shortest path. More... | |
ArrayList< ArrayList< Point3d > > | dihedralRefPts |
Per each bond the pair of point used to define the torsion. More... | |
boolean | hasMolRepr = false |
The flag defining whether this object has already a molecular representation or not. More... | |
String | atmNumStr |
The string of atoms involved (atom numbers from full molecule list) More... | |
RingClosingConformations | rcc |
The list of closable conformations, if any is found. More... | |
boolean | debug = false |
This object represents a path in a DGraph
.
The path involving more than one Vertex
and Edge
.
Definition at line 56 of file PathSubGraph.java.
Constructs a new PathSubGraph specifying the first and last vertex of the path.
Definition at line 145 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.allPossibleChainIDs, denoptim.graph.rings.PathSubGraph.chainID, denoptim.graph.Vertex.clone(), denoptim.graph.rings.PathSubGraph.edgesPathVAVB, denoptim.graph.Vertex.getAP(), denoptim.graph.Edge.getBondType(), denoptim.graph.AttachmentPoint.getOwner(), denoptim.graph.DGraph.getParentTree(), denoptim.graph.Vertex.getPathIDs(), denoptim.graph.Edge.getSrcAP(), denoptim.graph.Edge.getSrcAPID(), denoptim.graph.Edge.getTrgAPID(), denoptim.graph.rings.PathSubGraph.revChainID, denoptim.graph.rings.PathSubGraph.turningPointVert, denoptim.graph.rings.PathSubGraph.vA, denoptim.graph.rings.PathSubGraph.vB, and denoptim.graph.rings.PathSubGraph.vertPathVAVB.
|
static |
Finds the shortest path of atoms between the first and last atom in the given atom container.
iac | the atom container |
Definition at line 735 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
Returns a path as a DENOPTIMGraph from the first argument to the second one.
The vertices in the path have vacant APs where they would connect to another vertex in the graph that from and to belongs to. The direction of the edges are the same as the graph that from and to belongs to.
An empty graph is returned if from == to.
from | start of path. |
to | end of path. |
IllegalArgumentException | if from cannot reach to. |
Definition at line 328 of file PathSubGraph.java.
References denoptim.graph.DGraph.addVertex(), denoptim.graph.DGraph.appendVertexOnAP(), denoptim.graph.AttachmentPoint.clone(), denoptim.graph.Vertex.clone(), denoptim.graph.rings.PathSubGraph.findPath(), denoptim.graph.AttachmentPoint.getOwner(), and denoptim.graph.AttachmentPoint.setOwner().
Referenced by denoptim.graph.rings.PathSubGraph.findPath().
|
staticprivate |
Returns a sequence of APs that is the path from vertex from to vertex to.
An empty sequence is returned if from cannot reach to. This usually happens if from and to are not part of the same graph.
from | start of path |
to | end of path |
visited | vertices already visited. |
Definition at line 382 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.findPath(), denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.AttachmentPoint.getOwner(), denoptim.graph.Edge.getSrcAP(), denoptim.graph.Edge.getSrcVertex(), denoptim.graph.Edge.getTrgAP(), and denoptim.graph.Vertex.getVertexId().
List< String > denoptim.graph.rings.PathSubGraph.getAllAlternativeChainIDs | ( | ) |
Returns all the possible IDs for this chain.
The alternatives differ in the position of the chord.
Definition at line 771 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.allPossibleChainIDs.
Referenced by denoptim.graph.rings.RingClosuresArchive.containsChain().
List< IAtom > denoptim.graph.rings.PathSubGraph.getAtomPath | ( | ) |
Returns the list of atoms in the path between the head and the tail.
Definition at line 857 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.atomsPathVAVB.
Referenced by denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability().
String denoptim.graph.rings.PathSubGraph.getAtomRefStr | ( | ) |
Returns the string with atom symbols and number for an easy identification of the path in a molecular structure.
Definition at line 869 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.atmNumStr.
List< IBond > denoptim.graph.rings.PathSubGraph.getBondPath | ( | ) |
Returns the list of bonds in the path between the head and the tail.
Note that the IBond
s are those of the entire molecule not of the IAtomContainer
representing only this path.
Definition at line 882 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.bondsPathVAVB.
Referenced by denoptim.graph.rings.CyclicGraphHandler.checkClosabilityOfInterdependentPaths(), and denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability().
String denoptim.graph.rings.PathSubGraph.getChainID | ( | ) |
Returns the string representation of the path.
Definition at line 759 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.chainID.
Referenced by denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability().
ArrayList< ArrayList< Point3d > > denoptim.graph.rings.PathSubGraph.getDihedralRefPoints | ( | ) |
Returns the list of point to be used to define the torsion of a bond uniquely (independently on the substituents present in this chain) as a dihedral angle.
Definition at line 895 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.dihedralRefPts.
Referenced by denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability().
List< Edge > denoptim.graph.rings.PathSubGraph.getEdgesPath | ( | ) |
Returns the list of edges involved.
Definition at line 825 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.edgesPathVAVB.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.graph.rings.PathClosabilityTools.evaluateConstitutionalClosability(), and denoptim.graph.DGraphTest.testReplaceSubGraph().
DGraph denoptim.graph.rings.PathSubGraph.getGraph | ( | ) |
Definition at line 945 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.graph.
Vertex denoptim.graph.rings.PathSubGraph.getHeadVertex | ( | ) |
Returns the vertex representing the head of the chain.
Definition at line 782 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.vA.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), and denoptim.graph.rings.PathClosabilityTools.evaluateConstitutionalClosability().
IAtomContainer denoptim.graph.rings.PathSubGraph.getMolecularRepresentation | ( | ) |
Returns the molecular representation.
Definition at line 846 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.iacPathVAVB.
Referenced by denoptim.graph.rings.PathSubGraphTest.testMakePathSubGraph().
int denoptim.graph.rings.PathSubGraph.getPathLength | ( | ) |
Returns the length of the list of edges involved in this path.
Definition at line 804 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.edgesPathVAVB.
Referenced by denoptim.ga.GraphOperations.locateCompatibleXOverPoints().
RingClosingConformations denoptim.graph.rings.PathSubGraph.getRCC | ( | ) |
Returns the ring closing conformations.
Definition at line 906 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.rcc.
Referenced by denoptim.graph.rings.CyclicGraphHandler.checkClosabilityOfInterdependentPaths().
Vertex denoptim.graph.rings.PathSubGraph.getTailVertex | ( | ) |
Returns the vertex representing the tail of the chain.
Definition at line 793 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.vB.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), and denoptim.graph.rings.PathClosabilityTools.evaluateConstitutionalClosability().
List< Vertex > denoptim.graph.rings.PathSubGraph.getVertecesPath | ( | ) |
Returns the list of verteces involved.
Definition at line 814 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.vertPathVAVB.
Referenced by denoptim.graph.DGraph.addRing(), denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability(), denoptim.graph.rings.PathClosabilityTools.evaluateConstitutionalClosability(), denoptim.graph.rings.RandomCombOfRingsIterator.next(), denoptim.ga.GraphOperations.processPermutationOfEndPoints(), and denoptim.graph.DGraph.replaceSingleSubGraph().
|
private |
Definition at line 747 of file PathSubGraph.java.
References denoptim.constants.DENOPTIMConstants.ATMPROPVERTEXID.
Referenced by denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
boolean denoptim.graph.rings.PathSubGraph.hasMolecularRepresentation | ( | ) |
Returns true if the molecular representation has been set.
Definition at line 836 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.hasMolRepr.
void denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation | ( | IAtomContainer | mol, |
boolean | make3D, | ||
Logger | logger, | ||
Randomizer | randomizer | ||
) | throws DENOPTIMException |
Creates the molecular representation, list of atoms and bonds involved in the path between the head and tail.
mol | the full molecule |
make3D | if true makes the method generate the 3D coordinates of the chain of fragments by rototranslation of the 3D fragments so that to align the APvectors |
DENOPTIMException | if we cannot make the molecular representation. |
Definition at line 427 of file PathSubGraph.java.
References denoptim.constants.DENOPTIMConstants.ATMPROPVERTEXID, denoptim.graph.rings.PathSubGraph.atomsPathVAVB, denoptim.graph.rings.PathSubGraph.bondsPathVAVB, denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.graph.rings.PathSubGraph.debug, denoptim.graph.rings.PathSubGraph.dihedralRefPts, denoptim.graph.rings.PathSubGraph.findAtomPath(), denoptim.graph.rings.PathSubGraph.getVertexIdInPath(), denoptim.graph.rings.PathSubGraph.graph, denoptim.graph.rings.PathSubGraph.hasMolRepr, denoptim.graph.rings.PathSubGraph.iacPathVAVB, denoptim.constants.DENOPTIMConstants.MOLPROPAPxATOM, denoptim.constants.DENOPTIMConstants.MOLPROPAPxBOND, denoptim.graph.rings.PathSubGraph.vertPathVAVB, and denoptim.io.DenoptimIO.writeSDFFile().
Referenced by denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability(), and denoptim.graph.rings.PathSubGraphTest.testMakePathSubGraph().
void denoptim.graph.rings.PathSubGraph.setRCC | ( | RingClosingConformations | rcc | ) |
Set the ring closing conformations to this object.
Definition at line 917 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.rcc.
Referenced by denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability().
String denoptim.graph.rings.PathSubGraph.toString | ( | ) |
Definition at line 929 of file PathSubGraph.java.
References denoptim.graph.rings.PathSubGraph.vertPathVAVB.
|
private |
Definition at line 69 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getAllAlternativeChainIDs(), and denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
The string of atoms involved (atom numbers from full molecule list)
Definition at line 128 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getAtomRefStr().
|
private |
The list of atoms in the shortest path.
Definition at line 105 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getAtomPath(), and denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
The list of bonds in the shortest path.
Note that the IBond
s are those of the entire molecule not of the container representing only this path.
Definition at line 112 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getBondPath(), and denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
The string identifier of this path.
Definition at line 67 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getChainID(), and denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
Definition at line 136 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
Per each bond the pair of point used to define the torsion.
Definition at line 117 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getDihedralRefPoints(), and denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
The list of edges of the original graph and involved in the path.
Definition at line 95 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getEdgesPath(), denoptim.graph.rings.PathSubGraph.getPathLength(), and denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
The graph representation of this path.
Neither vertexes nor edges belong to the original graph.
Definition at line 62 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getGraph(), and denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
The flag defining whether this object has already a molecular representation or not.
Definition at line 123 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.hasMolecularRepresentation(), and denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
The molecular representation of the fragment in the path.
Definition at line 100 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getMolecularRepresentation(), and denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().
|
private |
The list of closable conformations, if any is found.
Definition at line 133 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getRCC(), and denoptim.graph.rings.PathSubGraph.setRCC().
|
private |
Definition at line 68 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
The turning point in the graph: after this point the direction of edges becomes opposite than before.
Definition at line 85 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
The vertex representing the first RCA: head of the path.
Definition at line 74 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getHeadVertex(), and denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
The vertex representing the second RCA: the tail of the path.
Definition at line 79 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getTailVertex(), and denoptim.graph.rings.PathSubGraph.PathSubGraph().
|
private |
The list of vertices of the original graph and involved in the path.
Definition at line 90 of file PathSubGraph.java.
Referenced by denoptim.graph.rings.PathSubGraph.getVertecesPath(), denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation(), denoptim.graph.rings.PathSubGraph.PathSubGraph(), and denoptim.graph.rings.PathSubGraph.toString().