$darkmode
DENOPTIM
denoptim.graph.rings.PathSubGraph Class Reference

This object represents a path in a DGraph. More...

Collaboration diagram for denoptim.graph.rings.PathSubGraph:
[legend]

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< VertexgetVertecesPath ()
 Returns the list of verteces involved. More...
 
List< EdgegetEdgesPath ()
 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< AttachmentPointfindPath (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< VertexvertPathVAVB
 The list of vertices of the original graph and involved in the path. More...
 
List< EdgeedgesPathVAVB
 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
 

Detailed Description

This object represents a path in a DGraph.

The path involving more than one Vertex and Edge.

Author
Marco Foscato

Definition at line 56 of file PathSubGraph.java.

Constructor & Destructor Documentation

◆ PathSubGraph()

Member Function Documentation

◆ findAtomPath()

static List< IAtom > denoptim.graph.rings.PathSubGraph.findAtomPath ( IAtomContainer  iac)
static

Finds the shortest path of atoms between the first and last atom in the given atom container.

Parameters
iacthe atom container
Returns
the path as a list of atoms where the first is the beginning and the last is the end.

Definition at line 735 of file PathSubGraph.java.

Referenced by denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().

Here is the caller graph for this function:

◆ findPath() [1/2]

static DGraph denoptim.graph.rings.PathSubGraph.findPath ( Vertex  from,
Vertex  to 
)
static

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.

Parameters
fromstart of path.
toend of path.
Exceptions
IllegalArgumentExceptionif 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findPath() [2/2]

static Iterable< AttachmentPoint > denoptim.graph.rings.PathSubGraph.findPath ( Vertex  from,
Vertex  to,
Set< Long >  visited 
)
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.

Parameters
fromstart of path
toend of path
visitedvertices already visited.
Returns
the path of APs from vertex from to vertex to.

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().

Here is the call graph for this function:

◆ getAllAlternativeChainIDs()

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().

Here is the caller graph for this function:

◆ getAtomPath()

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().

Here is the caller graph for this function:

◆ getAtomRefStr()

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.

◆ getBondPath()

List< IBond > denoptim.graph.rings.PathSubGraph.getBondPath ( )

Returns the list of bonds in the path between the head and the tail.

Note that the IBonds 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().

Here is the caller graph for this function:

◆ getChainID()

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().

Here is the caller graph for this function:

◆ getDihedralRefPoints()

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().

Here is the caller graph for this function:

◆ getEdgesPath()

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().

Here is the caller graph for this function:

◆ getGraph()

DGraph denoptim.graph.rings.PathSubGraph.getGraph ( )

Definition at line 945 of file PathSubGraph.java.

References denoptim.graph.rings.PathSubGraph.graph.

◆ getHeadVertex()

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().

Here is the caller graph for this function:

◆ getMolecularRepresentation()

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().

Here is the caller graph for this function:

◆ getPathLength()

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().

Here is the caller graph for this function:

◆ getRCC()

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().

Here is the caller graph for this function:

◆ getTailVertex()

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().

Here is the caller graph for this function:

◆ getVertecesPath()

List< Vertex > denoptim.graph.rings.PathSubGraph.getVertecesPath ( )

◆ getVertexIdInPath()

long denoptim.graph.rings.PathSubGraph.getVertexIdInPath ( IAtom  a)
private

Definition at line 747 of file PathSubGraph.java.

References denoptim.constants.DENOPTIMConstants.ATMPROPVERTEXID.

Referenced by denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation().

Here is the caller graph for this function:

◆ hasMolecularRepresentation()

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.

◆ makeMolecularRepresentation()

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.

Parameters
molthe full molecule
make3Dif 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
Exceptions
DENOPTIMExceptionif 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRCC()

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().

Here is the caller graph for this function:

◆ toString()

String denoptim.graph.rings.PathSubGraph.toString ( )
Returns
a string describing this path to a human reader

Definition at line 929 of file PathSubGraph.java.

References denoptim.graph.rings.PathSubGraph.vertPathVAVB.

Member Data Documentation

◆ allPossibleChainIDs

ArrayList<String> denoptim.graph.rings.PathSubGraph.allPossibleChainIDs = new ArrayList<String>()
private

◆ atmNumStr

String denoptim.graph.rings.PathSubGraph.atmNumStr
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().

◆ atomsPathVAVB

List<IAtom> denoptim.graph.rings.PathSubGraph.atomsPathVAVB
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().

◆ bondsPathVAVB

List<IBond> denoptim.graph.rings.PathSubGraph.bondsPathVAVB
private

The list of bonds in the shortest path.

Note that the IBonds 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().

◆ chainID

String denoptim.graph.rings.PathSubGraph.chainID
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().

◆ debug

boolean denoptim.graph.rings.PathSubGraph.debug = false
private

◆ dihedralRefPts

ArrayList<ArrayList<Point3d> > denoptim.graph.rings.PathSubGraph.dihedralRefPts
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().

◆ edgesPathVAVB

List<Edge> denoptim.graph.rings.PathSubGraph.edgesPathVAVB
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().

◆ graph

DGraph denoptim.graph.rings.PathSubGraph.graph
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().

◆ hasMolRepr

boolean denoptim.graph.rings.PathSubGraph.hasMolRepr = false
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().

◆ iacPathVAVB

IAtomContainer denoptim.graph.rings.PathSubGraph.iacPathVAVB
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().

◆ rcc

RingClosingConformations denoptim.graph.rings.PathSubGraph.rcc
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().

◆ revChainID

String denoptim.graph.rings.PathSubGraph.revChainID
private

Definition at line 68 of file PathSubGraph.java.

Referenced by denoptim.graph.rings.PathSubGraph.PathSubGraph().

◆ turningPointVert

Vertex denoptim.graph.rings.PathSubGraph.turningPointVert
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().

◆ vA

Vertex denoptim.graph.rings.PathSubGraph.vA
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().

◆ vB

Vertex denoptim.graph.rings.PathSubGraph.vB
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().

◆ vertPathVAVB

List<Vertex> denoptim.graph.rings.PathSubGraph.vertPathVAVB
private

The documentation for this class was generated from the following file: