$darkmode
DENOPTIM
|
An attachment point (AP) is a possibility to attach a Vertex
onto the vertex holding the AP (i.e., the owner of the AP), this way forming a new Edge
(i.e., the user of the AP).
More...
Public Member Functions | |
AttachmentPoint (Vertex owner) | |
Constructor for undefined DENOPTIMAttachmentPoint. More... | |
AttachmentPoint (Vertex owner, int atomPositionNumber) | |
Constructor. More... | |
AttachmentPoint (Vertex owner, int atomPosNum, APClass apClass) | |
Constructor. More... | |
AttachmentPoint (Vertex owner, int atomPosNum, Point3d dirVec, APClass apClass) | |
Constructor. More... | |
AttachmentPoint (Vertex owner, String str) throws DENOPTIMException | |
Construct an attachment point based on the formatted string representation. More... | |
int | getID () |
Returns a unique integer that is used to sort list of attachment points. More... | |
void | setID (int id) |
Sets the unique integer that is used to sort list of attachment points. More... | |
int | getAtomPositionNumber () |
The index of the source atom in the atom list of the fragment. More... | |
void | setAtomPositionNumber (int atomPositionNumber) |
Set the index of the source atom in the list of atoms of the fragment. More... | |
int | getAtomPositionNumberInMol () |
The index of the source atom in the atom list of the entire molecule. More... | |
void | setAtomPositionNumberInMol (int atomPositionNumberInMol) |
Set the index of the source atom in the list of atoms of the entire molecule. More... | |
BondType | getBondType () |
Returns the bond type preferred by this attachment point as defined by the APClass , or null if APClass is null. More... | |
void | setDirectionVector (Point3d dirVec) |
Sets the end of the 3D vector defining the direction of the AP in 3D. More... | |
void | setAPClass (String apClass) throws DENOPTIMException |
Set the Attachment Point class. More... | |
void | setAPClass (APClass apClass) |
Set the Attachment Point class. More... | |
APClass | getAPClass () |
Returns the Attachment Point class. More... | |
Point3d | getDirectionVector () |
Returns the end of the direction vector. More... | |
int | getCutId () |
void | setCutId (int id) |
boolean | isAvailable () |
Check availability of this attachment point. More... | |
boolean | isAvailableThroughout () |
Check availability of this attachment point throughout the graph level, i.e., check also across the inner graph template boundary. More... | |
boolean | isClassEnabled () |
Checks if this attachment point respects the APClass-based approach. More... | |
int | compareTo (AttachmentPoint other) |
Compares this and another attachment points based on their unique identifier. More... | |
int | comparePropertiesTo (AttachmentPoint other) |
Compares this and given attachment point. More... | |
boolean | sameAs (AttachmentPoint other) |
Compares the features of this and another attachment point and decides if the two are same. More... | |
boolean | sameAs (AttachmentPoint other, StringBuilder reason) |
Compares the features of this and another attachment point and decides if the two are same. More... | |
AttachmentPoint | clone () |
Returns a deep clone of this attachment point. More... | |
String | getSingleAPStringSDF (boolean isFirst, int srcAtmID) |
Prepare a string for writing this AP in a fragment SDF file. More... | |
String | getSingleAPStringSDF (boolean isFirst) |
Prepare a string for writing this AP in a fragment SDF file. More... | |
String | toStringNoId () |
Produces a string with the information included in this object. More... | |
String | toString () |
Produces a string with the information included in this object. More... | |
void | setOwner (Vertex owner) |
Sets the reference to the vertex that owns this attachment point. More... | |
Vertex | getOwner () |
void | setUser (Edge edge) |
Sets the reference to the edge that is using this attachment point. More... | |
Edge | getEdgeUser () |
Gets the edge that is using this AP, or null if no edge is using this AP. More... | |
Edge | getEdgeUserThroughout () |
Gets the edge that is using this AP, or null if no edge is using this AP. More... | |
AttachmentPoint | getEmbeddedAP () |
For vertices that are templates this method returns the attachment point that is embedded in the template's inner graph. More... | |
AttachmentPoint | getLinkedAP () |
Gets the attachment point (AP) that is connected to this AP via the edge user. More... | |
AttachmentPoint | getLinkedAPThroughout () |
Gets the attachment point (AP) that is connected to this AP via the edge user or in any edge user that might be external to the template embedding the graph where this AP is directly reachable. More... | |
boolean | isSrcInUserThroughout () |
Checks the role of this AP in the user or in any user that might be external to the template embedding the graph where this AP is directly reachable. More... | |
boolean | isSrcInUser () |
Checks the role of this AP in the user. More... | |
int | getIndexInOwner () |
boolean | hasSameSrcAtom (AttachmentPoint other) |
boolean | hasConnectedSrcAtom (AttachmentPoint other) |
Checks if this and another APs are rooted on atoms that are bonded in any way other than a possible connection resulting by an edge made in between this and the other AP. More... | |
Map< Object, Object > | getProperties () |
Object | getProperty (Object description) |
void | setProperty (Object key, Object property) |
Static Public Member Functions | |
static Object[] | processSdfString (String str) throws DENOPTIMException |
Parses the string format used to record one attachment point in SDF files. More... | |
static String | getAPDefinitionsForSDF (LinkedHashMap< Integer, List< AttachmentPoint > > apsPerIndex) |
Prepares the two strings that can be used to define AttachmentPoint s in SDF files. More... | |
Private Member Functions | |
AttachmentPoint (Vertex owner, int atomPositionNumber, Point3d dirVec) | |
Constructor. More... | |
Private Attributes | |
int | id |
Index used to keep the order in a list of attachment points. More... | |
int | atomPositionNumber = -1 |
The index of the source atom in the atom list of the fragment (0-based) More... | |
int | atomPositionNumberInMol = -1 |
The index of the source atom in the atom list of the entire molecule (0-based) More... | |
APClass | apClass |
The attachment point class. More... | |
Point3d | dirVec |
The direction vector representing the bond direction. More... | |
Vertex | owner |
The vertex to which this AP is attached to. More... | |
Edge | user |
The edge that is using this AP, if any. More... | |
int | cutId |
Identifier of the cut operation that generated this AP. More... | |
Map< Object, Object > | properties |
Map of customisable properties. More... | |
An attachment point (AP) is a possibility to attach a Vertex
onto the vertex holding the AP (i.e., the owner of the AP), this way forming a new Edge
(i.e., the user of the AP).
It can be annotated with the index (position) of an atom in the molecule, which is called the attachment point's source atom, three-dimensional information in the form of Cartesian coordinates, and information on the kind of attachment point in terms of APClass
.
Definition at line 52 of file AttachmentPoint.java.
denoptim.graph.AttachmentPoint.AttachmentPoint | ( | Vertex | owner | ) |
Constructor for undefined DENOPTIMAttachmentPoint.
owner | the vertex that holds the attachment point under creation. |
Definition at line 107 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.graph.AttachmentPoint.clone().
denoptim.graph.AttachmentPoint.AttachmentPoint | ( | Vertex | owner, |
int | atomPositionNumber | ||
) |
Constructor.
owner | the vertex that holds the attachment point under creation. |
atomPositionNumber | the index of the source atom (0-based) |
Definition at line 119 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.atomPositionNumber, and denoptim.graph.AttachmentPoint.owner.
|
private |
Constructor.
owner | the vertex that holds the attachment point under creation. |
atomPositionNumber | the index of the source atom (0-based) |
dirVec | the AP direction vector end (the beginning are the coords of the source atom). This array must have 3 entries. |
Definition at line 133 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.atomPositionNumber, denoptim.graph.AttachmentPoint.dirVec, and denoptim.graph.AttachmentPoint.owner.
Constructor.
owner | the vertex that holds the attachment point under creation. |
atomPosNum | the index of the source atom (0-based) |
apClass | the APClass |
Definition at line 156 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, and denoptim.graph.AttachmentPoint.owner.
denoptim.graph.AttachmentPoint.AttachmentPoint | ( | Vertex | owner, |
int | atomPosNum, | ||
Point3d | dirVec, | ||
APClass | apClass | ||
) |
Constructor.
owner | the vertex that holds the attachment point under creation. |
atomPosNum | the index of the source atom (0-based) |
dirVec | the AP direction vector end (the beginning at the coordinates of the source atom). This must array have 3 entries. |
apClass | the APClass |
Definition at line 178 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.AttachmentPoint.dirVec, denoptim.graph.Vertex.getUniqueAPIndex(), and denoptim.graph.AttachmentPoint.owner.
denoptim.graph.AttachmentPoint.AttachmentPoint | ( | Vertex | owner, |
String | str | ||
) | throws DENOPTIMException |
Construct an attachment point based on the formatted string representation.
The format is the one used in SDF files.
owner | the vertex this AP is owned by. |
str | the formatted string. |
DENOPTIMException |
Definition at line 200 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.owner, and denoptim.graph.AttachmentPoint.processSdfString().
AttachmentPoint denoptim.graph.AttachmentPoint.clone | ( | ) |
Returns a deep clone of this attachment point.
Definition at line 719 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.AttachmentPoint.atomPositionNumber, denoptim.graph.AttachmentPoint.AttachmentPoint(), denoptim.graph.APClass.clone(), denoptim.graph.AttachmentPoint.dirVec, denoptim.graph.AttachmentPoint.getOwner(), denoptim.graph.AttachmentPoint.properties, and denoptim.graph.AttachmentPoint.setProperty().
Referenced by denoptim.graph.Template.addInnerToOuterAPMapping(), denoptim.graph.rings.PathSubGraph.findPath(), and denoptim.graph.AttachmentPointTest.testClone().
int denoptim.graph.AttachmentPoint.comparePropertiesTo | ( | AttachmentPoint | other | ) |
Compares this and given attachment point.
This method defines how AttachmentPoint
s are sorted not by natural order, but by consistency of properties.
other. |
Definition at line 581 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.APClass.compareTo(), denoptim.graph.AttachmentPoint.getAPClass(), denoptim.graph.AttachmentPoint.getAtomPositionNumber(), denoptim.graph.AttachmentPoint.getDirectionVector(), and denoptim.graph.AttachmentPoint.sameAs().
int denoptim.graph.AttachmentPoint.compareTo | ( | AttachmentPoint | other | ) |
Compares this and another attachment points based on their unique identifier.
This is done to retain the order of attachment points when regenerating AP lists multiple times.
other | the attachment point to compare this with. |
Definition at line 567 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getID().
Referenced by denoptim.graph.AttachmentPointComparator.compare(), and denoptim.graph.AttachmentPointTest.testSameAs().
APClass denoptim.graph.AttachmentPoint.getAPClass | ( | ) |
Returns the Attachment Point class.
Definition at line 447 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass.
Referenced by denoptim.ga.GraphOperations.addRing(), denoptim.graph.rings.CyclicGraphHandler.checkChelatesGraph(), denoptim.fragspace.FragmentSpace.classifyFragment(), denoptim.graph.AttachmentPoint.comparePropertiesTo(), denoptim.ga.GraphOperations.extendGraph(), denoptim.utils.MoleculeUtils.extractIACForSubgraph(), denoptim.fragspace.APMapFinder.findMappingCompatibileAPs(), denoptim.graph.FragIsomorphNode.FragIsomorphNode(), denoptim.ga.GraphOperations.getFrgApForSrcAp(), denoptim.ga.GraphOperations.getRCVForSrcAp(), denoptim.graph.Edge.getSrcAPClass(), denoptim.graph.Edge.getTrgAPClass(), denoptim.fragspace.GraphLinkFinder.GraphLinkFinder(), denoptim.graph.Fragment.identifySymmetryRelatedAPSets(), denoptim.graph.Template.isValidInnerGraph(), denoptim.gui.GraphViewerPanel.JEdge.JEdge(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.graph.simplified.Node.Node(), denoptim.gui.FragmentViewPanel.putAPsFromTableIntoIAtomContainer(), denoptim.graph.DGraph.removeChainUpToBranching(), denoptim.graph.DGraph.removeSingleVertexAndWeld(), denoptim.graph.DGraph.replaceUnusedRCVsWithCapps(), denoptim.graph.AttachmentPoint.sameAs(), denoptim.graph.AttachmentPointTest.testClone(), denoptim.graph.TemplateTest.testClone(), denoptim.fragspace.FragmentSpaceTest.testGetFragAPsCompatibleWithClass(), denoptim.fragspace.FragmentSpaceTest.testGetFragAPsCompatibleWithTheseAPs(), denoptim.fragspace.FragmentSpaceTest.testGetFragsWithAPClass(), denoptim.graph.TemplateTest.testSameAPClass(), denoptim.graph.Edge.toString(), denoptim.graph.simplified.UndirectedEdge.UndirectedEdge(), and denoptim.graph.Template.updateInnerApID().
|
static |
Prepares the two strings that can be used to define AttachmentPoint
s in SDF files.
apsPerIndex | a map of AttachmentPoint s grouped by index. The index may or may not be an index of an existing atom (i.e., we do not use it as such, but we just place if in the text-representation of the AP. This index is supposed to be 0-based (i.e., in this method it is transformed in 1-based). |
DENOPTIMConstants#APSTAG
tag in SDF file. Definition at line 1235 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getSingleAPStringSDF(), and denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPATMS.
Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.graph.Template.getIAtomContainer(), denoptim.graph.Fragment.projectAPsToProperties(), and denoptim.graph.Template.setIAtomContainer().
int denoptim.graph.AttachmentPoint.getAtomPositionNumber | ( | ) |
The index of the source atom in the atom list of the fragment.
The index is reported considering 0-based enumeration.
Definition at line 335 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.atomPositionNumber, and denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), denoptim.graph.Template.clone(), denoptim.graph.AttachmentPoint.comparePropertiesTo(), denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.graph.rings.RingSizeManager.evaluateRCVPair(), denoptim.graph.Fragment.getAtomHoldingAP(), denoptim.ga.EAUtils.getCrowdedness(), denoptim.graph.Fragment.identifySymmetryRelatedAPSets(), denoptim.graph.Fragment.projectListAPToAtomProperties(), denoptim.graph.Fragment.projectPropertyToAP(), denoptim.gui.FragmentViewPanel.putAPsFromTableIntoIAtomContainer(), denoptim.graph.Fragment.removeAP(), denoptim.graph.AttachmentPoint.sameAs(), denoptim.graph.Template.setIAtomContainer(), denoptim.graph.AttachmentPointTest.testClone(), denoptim.graph.TemplateTest.testClone(), and denoptim.gui.FragmentViewPanel.updateAPsInJmolViewer().
int denoptim.graph.AttachmentPoint.getAtomPositionNumberInMol | ( | ) |
The index of the source atom in the atom list of the entire molecule.
The index is reported considering 0-based enumeration.
Definition at line 362 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.atomPositionNumberInMol, and denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.graph.Template.getIAtomContainer().
BondType denoptim.graph.AttachmentPoint.getBondType | ( | ) |
Returns the bond type preferred by this attachment point as defined by the APClass
, or null if APClass
is null.
APClass
, or null if APClass
is null. Definition at line 390 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.APClass.DEFAULTBT, and denoptim.graph.APClass.getBondType().
Referenced by denoptim.graph.DGraph.clone(), denoptim.utils.GraphConversionTool.getJGraphFromGraph(), and denoptim.graph.DGraph.insertSingleVertex().
int denoptim.graph.AttachmentPoint.getCutId | ( | ) |
Definition at line 469 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.cutId.
Point3d denoptim.graph.AttachmentPoint.getDirectionVector | ( | ) |
Returns the end of the direction vector.
The coordinates are referred to the same reference system of the fragment holding this AP.
Definition at line 459 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.dirVec.
Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), denoptim.graph.Template.clone(), denoptim.graph.AttachmentPoint.comparePropertiesTo(), denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.graph.Template.getIAtomContainer(), denoptim.gui.FragmentViewPanel.putAPsFromTableIntoIAtomContainer(), denoptim.graph.Template.setIAtomContainer(), denoptim.graph.AttachmentPointTest.testClone(), denoptim.fragmenter.FragmentClustererTest.testCluster(), denoptim.fragmenter.ClusterableFragmentTest.testGetTransformedCopy(), and denoptim.gui.FragmentViewPanel.updateAPsInJmolViewer().
Edge denoptim.graph.AttachmentPoint.getEdgeUser | ( | ) |
Gets the edge that is using this AP, or null if no edge is using this AP.
Does NOT account for embedding of the vertex in a template, i.e., this AP can be available in the graph (if any) owning the vertex this AP belongs to, but if the graph is itself the inner graph of a template, the AP is then projected on the template's surface and might be used to make an edge that uses the template as a single vertex. This method considers only any edge user that belongs to the graph owning the vertex that own this AP, if any such owners exist. See AttachmentPoint#getEdgeUserThroughout()
to crossing the template boundary.
Definition at line 929 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.graph.DGraph.fixEdgeDirections(), denoptim.graph.Vertex.getEdgeWith(), denoptim.graph.DGraph.replaceSingleSubGraph(), denoptim.graph.DGraph.setScaffold(), denoptim.graph.AttachmentPointTest.testClone(), and denoptim.graph.EdgeTest.testConnectionDeconnectionLoop().
Edge denoptim.graph.AttachmentPoint.getEdgeUserThroughout | ( | ) |
Gets the edge that is using this AP, or null if no edge is using this AP.
This method does account for embedding of the vertex in a template, i.e., this AP can be available in the graph (if any) owning the vertex this AP belongs to, but if the graph is itself the inner graph of a template, the AP is then projected on the template's surface and might be used to make an edge that uses the template as a single vertex. This method considers any level of template embedding. See AttachmentPoint#getEdgeUser()
to remain within the template boundary.
Definition at line 948 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getEdgeUserThroughout(), denoptim.graph.Vertex.getGraphOwner(), denoptim.graph.Template.getOuterAPFromInnerAP(), denoptim.graph.AttachmentPoint.owner, denoptim.graph.DGraph.templateJacket, and denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.ga.GraphOperations.extendLink(), denoptim.graph.AttachmentPoint.getEdgeUserThroughout(), denoptim.graph.AttachmentPoint.getLinkedAPThroughout(), and denoptim.graph.AttachmentPoint.isSrcInUserThroughout().
AttachmentPoint denoptim.graph.AttachmentPoint.getEmbeddedAP | ( | ) |
For vertices that are templates this method returns the attachment point that is embedded in the template's inner graph.
Effectively, it returns the original object of which this object is a projection on the templates surface.
Definition at line 975 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getEmbeddedAP(), and denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.graph.AttachmentPointTest.checkIdentityOfEmbeddedAP(), denoptim.graph.AttachmentPoint.getEmbeddedAP(), denoptim.graph.AttachmentPoint.getLinkedAPThroughout(), denoptim.graph.Edge.getSrcAPThroughout(), denoptim.graph.Edge.getTrgAPThroughout(), denoptim.graph.AttachmentPoint.hasConnectedSrcAtom(), and denoptim.graph.AttachmentPoint.hasSameSrcAtom().
int denoptim.graph.AttachmentPoint.getID | ( | ) |
Returns a unique integer that is used to sort list of attachment points.
This index follows the order in which attachment points were generated.
Definition at line 312 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.id.
Referenced by denoptim.graph.AttachmentPoint.compareTo(), denoptim.graph.DGraph.embedPatternsInTemplates(), denoptim.gui.GraphViewerPanel.JVertex.JVertex(), denoptim.graph.Edge.DENOPTIMEdgeSerializer.serialize(), denoptim.graph.AttachmentPointTest.testClone(), and denoptim.graph.APMapping.toIntMappig().
int denoptim.graph.AttachmentPoint.getIndexInOwner | ( | ) |
Definition at line 1082 of file AttachmentPoint.java.
References denoptim.graph.Vertex.getIndexOfAP(), and denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.graph.Edge.compareAsUndirected(), denoptim.graph.DGraph.editGraph(), denoptim.gui.GUIGraphHandler.extendCurrentGraph(), denoptim.ga.GraphOperations.extendGraph(), denoptim.utils.MoleculeUtils.extractIACForSubgraph(), denoptim.gui.GraphViewerPanel.JEdge.JEdge(), denoptim.gui.GraphViewerPanel.JVertex.JVertex(), denoptim.graph.simplified.UndirectedEdge.makeInvariant(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.ga.GraphOperations.performCrossover(), denoptim.graph.DGraph.replaceSubGraph(), denoptim.graph.AttachmentPoint.sameAs(), denoptim.graph.APMapping.toIntMappig(), and denoptim.graph.simplified.UndirectedEdge.toString().
AttachmentPoint denoptim.graph.AttachmentPoint.getLinkedAP | ( | ) |
Gets the attachment point (AP) that is connected to this AP via the edge user.
Definition at line 995 of file AttachmentPoint.java.
References denoptim.graph.Edge.getSrcAP(), denoptim.graph.Edge.getTrgAP(), and denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.graph.Vertex.getCappedAPs(), denoptim.graph.Vertex.getEdgeWith(), denoptim.graph.Template.removeProjectionOfInnerAP(), denoptim.graph.DGraph.removeSingleVertexAndWeld(), denoptim.graph.DGraph.replaceSingleSubGraph(), and denoptim.graph.AttachmentPointTest.testGetLinkedAP().
AttachmentPoint denoptim.graph.AttachmentPoint.getLinkedAPThroughout | ( | ) |
Gets the attachment point (AP) that is connected to this AP via the edge user or in any edge user that might be external to the template embedding the graph where this AP is directly reachable.
Note that the AP that is used in the edge might not be the deepest image of that AP, i.e., the AP returned by this method might be a projection of a more deeply embedded AP, which you can get by using the AttachmentPoint#getEmbeddedAP()
method.
Definition at line 1022 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getEdgeUserThroughout(), denoptim.graph.AttachmentPoint.getEmbeddedAP(), denoptim.graph.Edge.getSrcAP(), denoptim.graph.Edge.getSrcAPThroughout(), denoptim.graph.Edge.getTrgAP(), denoptim.graph.Edge.getTrgAPThroughout(), and denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.graph.DGraph.areApsUsedBySymmetricUsers(), denoptim.fragspace.APMapFinder.findMappingCompatibileAPs(), denoptim.graph.DGraph.findSymmetrySetsOfChildVertexes(), denoptim.graph.Vertex.getCappedAPsThroughout(), denoptim.graph.AttachmentPoint.hasConnectedSrcAtom(), and denoptim.graph.DGraph.removeSingleVertexAndWeld().
Vertex denoptim.graph.AttachmentPoint.getOwner | ( | ) |
Definition at line 900 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.graph.DGraph.areApsUsedBySymmetricUsers(), denoptim.graph.DGraph.changeSignOfVertexID(), denoptim.graph.AttachmentPointTest.checkGetEdgeUserThroughput(), denoptim.graph.AttachmentPoint.clone(), denoptim.graph.Edge.compareAsUndirected(), denoptim.graph.DGraph.editGraph(), denoptim.gui.GUIGraphHandler.extendCurrentGraph(), denoptim.ga.GraphOperations.extendLink(), denoptim.graph.rings.PathSubGraph.findPath(), denoptim.graph.DGraph.findSymmetrySetsOfChildVertexes(), denoptim.graph.DGraph.fixEdgeDirections(), denoptim.graph.Fragment.getAtomHoldingAP(), denoptim.graph.Vertex.getCappedAPs(), denoptim.graph.Vertex.getCappedAPsThroughout(), denoptim.graph.Vertex.getChilddren(), denoptim.graph.Vertex.getChildrenThroughout(), denoptim.ga.EAUtils.getCrowdedness(), denoptim.ga.EAUtils.getCrowdingProbability(), denoptim.graph.Vertex.getEdgeWith(), denoptim.graph.Vertex.getParent(), denoptim.graph.DGraph.getParent(), denoptim.graph.Edge.getSrcAPID(), denoptim.graph.Edge.getSrcVertex(), denoptim.graph.Edge.getTrgAPID(), denoptim.graph.Edge.getTrgVertex(), denoptim.graph.AttachmentPoint.hasConnectedSrcAtom(), denoptim.graph.AttachmentPoint.hasSameSrcAtom(), denoptim.graph.DGraph.insertSingleVertex(), denoptim.gui.GraphViewerPanel.JEdge.JEdge(), denoptim.gui.GraphViewerPanel.JVertex.JVertex(), denoptim.graph.simplified.UndirectedEdge.makeInvariant(), denoptim.graph.rings.PathSubGraph.PathSubGraph(), denoptim.ga.GraphOperations.performCrossover(), denoptim.graph.DGraph.removeChainUpToBranching(), denoptim.graph.Template.removeProjectionOfInnerAP(), denoptim.graph.DGraph.removeSingleVertexAndWeld(), denoptim.graph.DGraph.replaceSingleSubGraph(), denoptim.graph.DGraph.setScaffold(), denoptim.graph.AttachmentPointTest.testClone(), denoptim.graph.DGraphTest.testClone(), denoptim.graph.APMapping.toIntMappig(), denoptim.graph.Edge.toString(), and denoptim.graph.simplified.UndirectedEdge.toString().
Map< Object, Object > denoptim.graph.AttachmentPoint.getProperties | ( | ) |
Definition at line 1184 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.properties.
Object denoptim.graph.AttachmentPoint.getProperty | ( | Object | description | ) |
Definition at line 1191 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.properties.
String denoptim.graph.AttachmentPoint.getSingleAPStringSDF | ( | boolean | isFirst | ) |
Prepare a string for writing this AP in a fragment SDF file.
Only DENOPTIM's format is currently supported and we assume three coordinates are used to define the direction vector.
isFirst | set true is this is the first AP among those on the same source atom. When you give false the atom ID and the first separator are omitted. |
Definition at line 829 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getSingleAPStringSDF().
String denoptim.graph.AttachmentPoint.getSingleAPStringSDF | ( | boolean | isFirst, |
int | srcAtmID | ||
) |
Prepare a string for writing this AP in a fragment SDF file.
Only DENOPTIM's format is currently supported and we assume three coordinates are used to define the direction vector.
isFirst | use true if this is the first AP among those on the same source atom. When you give false the atom ID and the first separator are omitted. |
srcAtmID | the index to use to identify the source atom. Use this to write something different from what reported in {@Link DENOPTIMAttachmentPoint::atomPositionNumber}, or use negative value to ignore this argument. |
Definition at line 789 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.AttachmentPoint.atomPositionNumber, denoptim.graph.AttachmentPoint.dirVec, denoptim.utils.GeneralUtils.getEnglishFormattedDecimal(), denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPAAP, denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPSCL, denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPXYZ, and denoptim.graph.APClass.toSDFString().
Referenced by denoptim.graph.AttachmentPoint.getAPDefinitionsForSDF(), denoptim.graph.AttachmentPoint.getSingleAPStringSDF(), denoptim.graph.AttachmentPointTest.testConstructorsAndSDFString(), and denoptim.graph.AttachmentPointTest.testConstructorsAndSDFStringNoDirVec().
boolean denoptim.graph.AttachmentPoint.hasConnectedSrcAtom | ( | AttachmentPoint | other | ) |
Checks if this and another APs are rooted on atoms that are bonded in any way other than a possible connection resulting by an edge made in between this and the other AP.
other | the other aP to consider. |
true
is the two APs are rooted on atoms that participate in a bond either within a molecular fragment or across a graph edge. Definition at line 1128 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getEmbeddedAP(), denoptim.graph.AttachmentPoint.getLinkedAPThroughout(), and denoptim.graph.AttachmentPoint.getOwner().
Referenced by denoptim.graph.DGraph.removeVertexAndWeld(), and denoptim.graph.AttachmentPointTest.testHasConnectedSrcAtom().
boolean denoptim.graph.AttachmentPoint.hasSameSrcAtom | ( | AttachmentPoint | other | ) |
Definition at line 1093 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getEmbeddedAP(), and denoptim.graph.AttachmentPoint.getOwner().
Referenced by denoptim.graph.DGraph.removeVertexAndWeld(), and denoptim.graph.AttachmentPointTest.testHasSameSrcAtom().
boolean denoptim.graph.AttachmentPoint.isAvailable | ( | ) |
Check availability of this attachment point.
Does not account for embedding of the vertex in a template, i.e., this AP can be available in the graph owning the vertex this AP belongs to, but if the graph is itself the inner graph of a template, the AP might be projected on the template's surface and used to make an edge at that level. To account for such possibility use AttachmentPoint#isAvailableThroughout()
true
if the attachment point has no user. Definition at line 497 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.fragspace.FragmentSpace.classifyFragment(), denoptim.ga.GraphOperations.extendGraph(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.graph.Template.removeProjectionOfInnerAP(), and denoptim.graph.DGraph.replaceSingleSubGraph().
boolean denoptim.graph.AttachmentPoint.isAvailableThroughout | ( | ) |
Check availability of this attachment point throughout the graph level, i.e., check also across the inner graph template boundary.
This method does account for embedding of the vertex in a template, i.e., this AP can be available in the graph owning the vertex this AP belongs to, but if the graph is itself the inner graph of a template, the AP is then projected on the template's surface and used to make an edge that uses the template as a single vertex. To ignore this possibility and consider only edges that belong to the graph owning the AP's vertex, use AttachmentPoint#isAvailable()
.
true
if the attachment point has no user. Definition at line 518 of file AttachmentPoint.java.
References denoptim.graph.Vertex.getGraphOwner(), denoptim.graph.Template.getOuterAPFromInnerAP(), denoptim.graph.AttachmentPoint.isAvailableThroughout(), denoptim.graph.AttachmentPoint.owner, denoptim.graph.DGraph.templateJacket, and denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.fragspace.APMapFinder.findMappingCompatibileAPs(), and denoptim.graph.AttachmentPoint.isAvailableThroughout().
boolean denoptim.graph.AttachmentPoint.isClassEnabled | ( | ) |
Checks if this attachment point respects the APClass-based approach.
true
if an APClass is defined. Definition at line 552 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass.
boolean denoptim.graph.AttachmentPoint.isSrcInUser | ( | ) |
Checks the role of this AP in the user.
true
if a user exists and this AP is the src AP in that edge. Otherwise, this method returns false
without discriminating if this AP is free, i.e., the user is null, or this AP is the trg in the edge user. Definition at line 1071 of file AttachmentPoint.java.
References denoptim.graph.Edge.getSrcAP(), and denoptim.graph.AttachmentPoint.user.
Referenced by denoptim.graph.AttachmentPointTest.testIsSrcInUser().
boolean denoptim.graph.AttachmentPoint.isSrcInUserThroughout | ( | ) |
Checks the role of this AP in the user or in any user that might be external to the template embedding the graph where this AP is directly reachable.
true
if a user exists and this AP is the src AP in that edge. Otherwise, this method returns false
without discriminating if this AP is free, i.e., the user is null, or this AP is the trg in the edge user. Definition at line 1052 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getEdgeUserThroughout(), denoptim.graph.Edge.getSrcAP(), denoptim.graph.Edge.getSrcAPThroughout(), and denoptim.graph.AttachmentPoint.user.
|
static |
Parses the string format used to record one attachment point in SDF files.
str | the string to parse |
DENOPTIMException |
Definition at line 222 of file AttachmentPoint.java.
References denoptim.graph.APClass.make(), denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPAAP, denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPSCL, and denoptim.constants.DENOPTIMConstants.SEPARATORAPPROPXYZ.
Referenced by denoptim.graph.AttachmentPoint.AttachmentPoint(), and denoptim.graph.AttachmentPointTest.testParsingofSdfAPString().
boolean denoptim.graph.AttachmentPoint.sameAs | ( | AttachmentPoint | other | ) |
Compares the features of this and another attachment point and decides if the two are same.
Does not check hashcodes, so this is not an equals
method.
other | AP to compare with this AP. |
true
is the two APs have the same features. Definition at line 664 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.sameAs().
Referenced by denoptim.graph.DGraph.areApsUsedBySymmetricUsers(), denoptim.graph.AttachmentPoint.comparePropertiesTo(), denoptim.graph.AttachmentPoint.sameAs(), denoptim.graph.Vertex.sameVertexFeatures(), denoptim.graph.AttachmentPointTest.testSameAs(), denoptim.graph.AttachmentPointTest.testSameAs_DiffAPClass(), and denoptim.graph.AttachmentPointTest.testSameAs_DiffSrcAtm().
boolean denoptim.graph.AttachmentPoint.sameAs | ( | AttachmentPoint | other, |
StringBuilder | reason | ||
) |
Compares the features of this and another attachment point and decides if the two are same.
Does not check hashcodes, so this is not an equals
method.
other | AP to compare with this AP. |
reason | string builder used to build the message clarifying the reason for returning false . |
true
if the two APs have the same features. Definition at line 680 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.getAPClass(), denoptim.graph.AttachmentPoint.getAtomPositionNumber(), and denoptim.graph.AttachmentPoint.getIndexInOwner().
void denoptim.graph.AttachmentPoint.setAPClass | ( | APClass | apClass | ) |
Set the Attachment Point class.
apClass | the new APClass. |
Definition at line 436 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass.
void denoptim.graph.AttachmentPoint.setAPClass | ( | String | apClass | ) | throws DENOPTIMException |
Set the Attachment Point class.
The APClass is the combination of a main class (or "rule") and a subclass (or direction).
apClass | the new APClass. |
Definition at line 424 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, and denoptim.graph.APClass.make().
Referenced by denoptim.utils.GraphConversionTool.getGraphFromString(), denoptim.graph.TemplateTest.testSameAPClass(), denoptim.graph.AttachmentPointTest.testSameAs_DiffAPClass(), and denoptim.graph.Template.updateInnerApID().
void denoptim.graph.AttachmentPoint.setAtomPositionNumber | ( | int | atomPositionNumber | ) |
Set the index of the source atom in the list of atoms of the fragment.
The index should reflect 0-based enumeration.
atomPositionNumber | the index |
Definition at line 349 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.atomPositionNumber.
Referenced by denoptim.graph.Template.clone(), denoptim.graph.Fragment.removeAtoms(), and denoptim.graph.Fragment.updateAPs().
void denoptim.graph.AttachmentPoint.setAtomPositionNumberInMol | ( | int | atomPositionNumberInMol | ) |
Set the index of the source atom in the list of atoms of the entire molecule.
The index should reflect 0-based enumeration.
atomPositionNumberInMol | the index |
Definition at line 377 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.atomPositionNumberInMol.
void denoptim.graph.AttachmentPoint.setCutId | ( | int | id | ) |
id | the identifier of the cut operation that generated this AP. |
Definition at line 479 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.id.
Referenced by denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), and denoptim.fragmenter.FragmenterTools.fragmentation().
void denoptim.graph.AttachmentPoint.setDirectionVector | ( | Point3d | dirVec | ) |
Sets the end of the 3D vector defining the direction of the AP in 3D.
Note that the source of this vector is the source atom, and that the entries of dirVec
are referred to the same origin as the coordinates of the source atom.
dirVec | the coordinates of the 3D point defining the end of the direction vector. |
Definition at line 408 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.dirVec.
Referenced by denoptim.graph.Template.clone(), denoptim.fragmenter.ClusterableFragment.getTransformedCopy(), denoptim.graph.Template.setIAtomContainer(), and denoptim.graph.AttachmentPointTest.testClone().
void denoptim.graph.AttachmentPoint.setID | ( | int | id | ) |
Sets the unique integer that is used to sort list of attachment points.
WARNING: we do not check for uniqueness of the given value.
Definition at line 323 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.id.
Referenced by denoptim.graph.EmptyVertex.clone(), and denoptim.graph.Fragment.clone().
void denoptim.graph.AttachmentPoint.setOwner | ( | Vertex | owner | ) |
Sets the reference to the vertex that owns this attachment point.
This method should be used with caution as it has the capability of altering graphs!
owner | the vertex that own this attachment point. |
Definition at line 894 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.owner.
Referenced by denoptim.graph.Template.addInnerToOuterAPMapping(), denoptim.graph.rings.PathSubGraph.findPath(), and denoptim.graph.Template.updateInnerToOuter().
void denoptim.graph.AttachmentPoint.setProperty | ( | Object | key, |
Object | property | ||
) |
Definition at line 1203 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.properties.
Referenced by denoptim.graph.AttachmentPoint.clone(), and denoptim.utils.MoleculeUtils.extractIACForSubgraph().
void denoptim.graph.AttachmentPoint.setUser | ( | Edge | edge | ) |
Sets the reference to the edge that is using this attachment point.
edge | the user |
Definition at line 910 of file AttachmentPoint.java.
Referenced by denoptim.graph.Edge.Edge(), and denoptim.graph.DGraph.removeEdge().
String denoptim.graph.AttachmentPoint.toString | ( | ) |
Produces a string with the information included in this object.
Definition at line 867 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.AttachmentPoint.atomPositionNumber, and denoptim.graph.AttachmentPoint.dirVec.
Referenced by denoptim.gui.GraphViewerPanel.renumberAPs().
String denoptim.graph.AttachmentPoint.toStringNoId | ( | ) |
Produces a string with the information included in this object.
Definition at line 841 of file AttachmentPoint.java.
References denoptim.graph.AttachmentPoint.apClass, denoptim.graph.AttachmentPoint.atomPositionNumber, and denoptim.graph.AttachmentPoint.dirVec.
Referenced by denoptim.graph.AttachmentPointTest.testConstructorsAndSDFStringNoDirVec().
|
private |
The attachment point class.
Definition at line 73 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.AttachmentPoint(), denoptim.graph.AttachmentPoint.clone(), denoptim.graph.AttachmentPoint.comparePropertiesTo(), denoptim.graph.AttachmentPoint.getAPClass(), denoptim.graph.AttachmentPoint.getBondType(), denoptim.graph.AttachmentPoint.getSingleAPStringSDF(), denoptim.graph.AttachmentPoint.isClassEnabled(), denoptim.graph.AttachmentPoint.setAPClass(), denoptim.graph.AttachmentPoint.toString(), and denoptim.graph.AttachmentPoint.toStringNoId().
|
private |
The index of the source atom in the atom list of the fragment (0-based)
Definition at line 62 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.AttachmentPoint(), denoptim.graph.AttachmentPoint.clone(), denoptim.graph.AttachmentPoint.getAtomPositionNumber(), denoptim.graph.AttachmentPoint.getSingleAPStringSDF(), denoptim.graph.AttachmentPoint.setAtomPositionNumber(), denoptim.graph.AttachmentPoint.toString(), and denoptim.graph.AttachmentPoint.toStringNoId().
|
private |
The index of the source atom in the atom list of the entire molecule (0-based)
Definition at line 68 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.getAtomPositionNumberInMol(), and denoptim.graph.AttachmentPoint.setAtomPositionNumberInMol().
|
private |
Identifier of the cut operation that generated this AP.
Definition at line 93 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.getCutId().
|
private |
The direction vector representing the bond direction.
Definition at line 78 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.AttachmentPoint(), denoptim.graph.AttachmentPoint.clone(), denoptim.graph.AttachmentPoint.getDirectionVector(), denoptim.graph.AttachmentPoint.getSingleAPStringSDF(), denoptim.graph.AttachmentPoint.setDirectionVector(), denoptim.graph.AttachmentPoint.toString(), and denoptim.graph.AttachmentPoint.toStringNoId().
|
private |
Index used to keep the order in a list of attachment points.
Definition at line 57 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.getID(), denoptim.graph.AttachmentPoint.setCutId(), and denoptim.graph.AttachmentPoint.setID().
|
private |
The vertex to which this AP is attached to.
Definition at line 83 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.AttachmentPoint(), denoptim.graph.AttachmentPoint.getAtomPositionNumber(), denoptim.graph.AttachmentPoint.getAtomPositionNumberInMol(), denoptim.graph.AttachmentPoint.getEdgeUserThroughout(), denoptim.graph.AttachmentPoint.getEmbeddedAP(), denoptim.graph.AttachmentPoint.getIndexInOwner(), denoptim.graph.AttachmentPoint.getOwner(), denoptim.graph.AttachmentPoint.isAvailableThroughout(), and denoptim.graph.AttachmentPoint.setOwner().
|
private |
Map of customisable properties.
Definition at line 98 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.clone(), denoptim.graph.AttachmentPoint.getProperties(), denoptim.graph.AttachmentPoint.getProperty(), and denoptim.graph.AttachmentPoint.setProperty().
|
private |
The edge that is using this AP, if any.
Definition at line 88 of file AttachmentPoint.java.
Referenced by denoptim.graph.AttachmentPoint.getEdgeUser(), denoptim.graph.AttachmentPoint.getEdgeUserThroughout(), denoptim.graph.AttachmentPoint.getLinkedAP(), denoptim.graph.AttachmentPoint.getLinkedAPThroughout(), denoptim.graph.AttachmentPoint.isAvailable(), denoptim.graph.AttachmentPoint.isAvailableThroughout(), denoptim.graph.AttachmentPoint.isSrcInUser(), and denoptim.graph.AttachmentPoint.isSrcInUserThroughout().