$darkmode
DENOPTIM
denoptim.graph.Vertex Class Referenceabstract

A vertex is a data structure that has an identity and holds a list of AttachmentPoints. More...

Inheritance diagram for denoptim.graph.Vertex:
[legend]
Collaboration diagram for denoptim.graph.Vertex:
[legend]

Classes

enum  BBType
 The type of building block. More...
 
class  DENOPTIMVertexDeserializer
 
enum  VertexType
 Flag declaring the type of Vertex implementation. More...
 

Public Member Functions

 Vertex (VertexType vertexType)
 Constructor for an empty vertex. More...
 
 Vertex (VertexType vertexType, long id)
 Constructor for an identified vertex without attachment points. More...
 
abstract List< AttachmentPointgetAttachmentPoints ()
 
void setAsRCV (boolean isRCV)
 
void setVertexId (long vertexId2)
 
long getVertexId ()
 
int getBuildingBlockId ()
 Returns the index of the building block that should correspond to the position of the building block in the library of building blocks of its kind. More...
 
void setBuildingBlockId (int buildingBlockId)
 
Vertex.BBType getBuildingBlockType ()
 
void setBuildingBlockType (Vertex.BBType buildingBlockType)
 
abstract List< SymmetricAPsgetSymmetricAPSets ()
 
SymmetricAPs getSymmetricAPs (AttachmentPoint ap)
 For the given attachment point index locate the symmetric partners i.e. More...
 
int getNumberOfAPs ()
 
int getFreeAPCount ()
 
ArrayList< AttachmentPointgetFreeAPThroughout ()
 Gets attachment points that are availability throughout the graph level, i.e., checks also across the inner graph template boundary. More...
 
int getFreeAPCountThroughout ()
 Counts the number of attachment points that are availability throughout the graph level, i.e., checks also across the inner graph template boundary. More...
 
ArrayList< AttachmentPointgetCappedAPs ()
 Gets attachment points that are used by capping groups. More...
 
ArrayList< AttachmentPointgetCappedAPsThroughout ()
 Gets attachment points that are used by capping groups throughout the graph levels, i.e., checks also across the inner graph template boundary. More...
 
int getCappedAPCountThroughout ()
 Counts the number of attachment points that are used by BBType#CAP vertex. More...
 
boolean hasFreeAP ()
 
boolean isRCV ()
 
boolean hasSymmetricAP ()
 
String toString ()
 Produces a human readable, short string to represent the vertex by its vertex ID, building block ID (1-based), building block type, and level in the graph (if any). More...
 
void cleanup ()
 
abstract Vertex clone ()
 Returns a deep-copy of this vertex. More...
 
boolean sameAs (Vertex other)
 Compares this and another vertex ignoring vertex IDs. More...
 
boolean sameAs (Vertex other, StringBuilder reason)
 Compares this and another vertex ignoring vertex IDs. More...
 
boolean sameVertexFeatures (Vertex other, StringBuilder reason)
 Compares this and another vertex ignoring vertex IDs. More...
 
abstract int getHeavyAtomsCount ()
 
abstract boolean containsAtoms ()
 
abstract IAtomContainer getIAtomContainer ()
 
abstract IAtomContainer getIAtomContainer (Logger logger, Randomizer rng, boolean removeUsedRCAs, boolean rebuild)
 Method meant to trigger regeneration of the chemical representation, typically needed to drop a low quality structure that is good enough for most cheminformatic tasks, and replace it with a better quality structure that is suitable to be fed to molecular modeling tasks. More...
 
ArrayList< APClassgetAllAPClasses ()
 Returns the list of all APClasses present on this vertex. More...
 
ArrayList< APClassgetAllAvailableAPClasses ()
 Returns the list of all APClasses present on free attachment point on this vertex. More...
 
void resetGraphOwner ()
 
void setGraphOwner (DGraph owner)
 
DGraph getGraphOwner ()
 Returns the graph this vertex belongs to or null. More...
 
List< VertexgetMutationSites ()
 A list of mutation sites from within this vertex. More...
 
abstract List< VertexgetMutationSites (List< MutationType > ignoredTypes)
 A list of mutation sites from within this vertex. More...
 
void setMutationTypes (List< MutationType > lst)
 
boolean removeMutationType (MutationType mt)
 Removes the specified mutation type. More...
 
List< MutationTypegetMutationTypes ()
 Returns the list of mutation types. More...
 
List< MutationTypegetMutationTypes (List< MutationType > excludedTypes)
 Returns the list of mutation types. More...
 
AttachmentPoint getAP (int i)
 Get attachment point i on this vertex. More...
 
AttachmentPoint getAPWithId (int i)
 Get attachment point that has the given identifier, or null. More...
 
int getIndexOfAP (AttachmentPoint ap)
 Returns the position of the given AP in the list of APs of this vertex. More...
 
Edge getEdgeToParent ()
 Looks into the edges that use any of the APs that belong to this vertex and returns the edge that has this vertex as the target, i.e., the edge to the parent vertex. More...
 
Vertex getParent ()
 Looks into the edges that use any of the APs that belong to this vertex and returns the vertex which is the source of the edge in which this vertex is the target. More...
 
ArrayList< AttachmentPointgetAPsFromChildren ()
 Looks into the edges that use any of the APs that belong to this vertex and returns the list of attachment point on child vertices that form an edge with any of the APs of this vertex. More...
 
ArrayList< VertexgetChildrenThroughout ()
 Looks into the edges that use any of the APs that belong to this vertex and returns the list of vertices which are target of any edge departing from this vertex. More...
 
ArrayList< VertexgetChilddren ()
 Looks into the edges that use any of the APs that belong to this vertex and returns the list of vertices which are target of any edge departing from this vertex. More...
 
void setUniquefyingProperty (String key)
 Add the given key among the properties that are checked for equality when comparing vertices with the Vertex#sameAs(Vertex, StringBuilder) method. More...
 
Map< Object, Object > getProperties ()
 
boolean hasProperty (Object property)
 
Object getProperty (Object property)
 
void setProperty (Object key, Object property)
 
void removeProperty (Object key)
 
void setProperties (Map< Object, Object > properties)
 
VertexType getVertexType ()
 Returns the value of the vertex type. More...
 
String[] getPathIDs (AttachmentPoint apA, AttachmentPoint apB)
 Produces a pair of strings that identify the "path" between two given attachment points. More...
 
boolean connectedTo (Vertex other)
 Checks if this and another vertex are directly connected by an edge within the same graph recursion level, i.e., both vertices must belong to the same graph. More...
 
Edge getEdgeWith (Vertex other)
 Finds the edge between this and the other vertex, if it exists. More...
 

Static Public Member Functions

static Vertex newVertexFromLibrary (int bbId, Vertex.BBType bbt, FragmentSpace fragSpace) throws DENOPTIMException
 Builds a new molecular fragment kind of vertex. More...
 
static Vertex newVertexFromLibrary (long vertexId, int bbId, Vertex.BBType bbt, FragmentSpace fragSpace) throws DENOPTIMException
 Make a new vertex that is a copy of a vertex in the fragment space. More...
 
static Vertex fromJson (String json)
 
static Vertex convertIACToVertex (IAtomContainer iac, Vertex.BBType bbt) throws DENOPTIMException
 Processes an IAtomContainer and builds a Vertex that is an instance of Fragment. More...
 
static Vertex parseVertexFromSDFFormat (IAtomContainer mol, Gson reader, BBType bbt) throws DENOPTIMException
 Created a Vertex from the SDF representation, i.e., from an IAtomContainer. More...
 

Protected Member Functions

abstract void setSymmetricAPSets (List< SymmetricAPs > sAPs)
 
abstract void addSymmetricAPSet (SymmetricAPs symAPs)
 
int getUniqueAPIndex ()
 
List< MutationTypegetUnfilteredMutationTypes ()
 Returns the mutation types that are constitutionally configures for this vertex irrespectively on the graph or the context in which this vertex is included. More...
 
Map< Object, Object > copyStringBasedProperties ()
 Copies all the string-based properties and properties defined in the Vertex#uniquefyingPropertyKeys set. More...
 

Protected Attributes

int buildingBlockId = -99
 Index of this building block in the library of building blocks, or negative if this vertex is not part of a library. More...
 
BBType buildingBlockType = Vertex.BBType.UNDEFINED
 
Map< Object, Object > properties
 Map of customizable properties. More...
 
Set< String > uniquefyingPropertyKeys = new HashSet<String>()
 List of properties required to make Vertex#sameAs(Vertex, StringBuilder) method return false when property values differ. More...
 
final VertexType vertexType
 Field distinguishing implementations of Vertex when deserializing JSON representations. More...
 

Private Attributes

DGraph owner
 Graph that includes this vertex. More...
 
long vertexId
 Unique identifier associated with the vertex instance. More...
 
boolean isRCV
 
List< MutationTypeallowedMutationTypes
 List of mutations that we can perform on this vertex. More...
 

Detailed Description

A vertex is a data structure that has an identity and holds a list of AttachmentPoints.

Author
Vishwesh Venkatraman
Marco Foscato

Definition at line 60 of file Vertex.java.

Constructor & Destructor Documentation

◆ Vertex() [1/2]

denoptim.graph.Vertex.Vertex ( VertexType  vertexType)

Constructor for an empty vertex.

Definition at line 183 of file Vertex.java.

References denoptim.utils.GraphUtils.getUniqueVertexIndex(), denoptim.graph.Vertex.isRCV, denoptim.graph.Vertex.vertexId, and denoptim.graph.Vertex.vertexType.

Here is the call graph for this function:

◆ Vertex() [2/2]

denoptim.graph.Vertex.Vertex ( VertexType  vertexType,
long  id 
)

Constructor for an identified vertex without attachment points.

Parameters
idthe VertedID of the vertex to construct. Note that this ID should be unique within a graph. To generate unique IDs either use GraphUtils#getUniqueVertexIndex() or use constructor DENOPTIMVertex().

Definition at line 199 of file Vertex.java.

References denoptim.graph.Vertex.vertexId, and denoptim.graph.Vertex.vertexType.

Member Function Documentation

◆ addSymmetricAPSet()

abstract void denoptim.graph.Vertex.addSymmetricAPSet ( SymmetricAPs  symAPs)
abstractprotected

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

Referenced by denoptim.graph.Vertex.DENOPTIMVertexDeserializer.deserialize().

Here is the caller graph for this function:

◆ cleanup()

void denoptim.graph.Vertex.cleanup ( )

Reimplemented in denoptim.graph.EmptyVertex.

Definition at line 567 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), and denoptim.graph.Vertex.getSymmetricAPSets().

Here is the call graph for this function:

◆ clone()

◆ connectedTo()

boolean denoptim.graph.Vertex.connectedTo ( Vertex  other)

Checks if this and another vertex are directly connected by an edge within the same graph recursion level, i.e., both vertices must belong to the same graph.

Parameters
other
Returns
true

Definition at line 1407 of file Vertex.java.

References denoptim.graph.Vertex.getParent().

Here is the call graph for this function:

◆ containsAtoms()

abstract boolean denoptim.graph.Vertex.containsAtoms ( )
abstract

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), and denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer().

Here is the caller graph for this function:

◆ convertIACToVertex()

static Vertex denoptim.graph.Vertex.convertIACToVertex ( IAtomContainer  iac,
Vertex.BBType  bbt 
) throws DENOPTIMException
static

Processes an IAtomContainer and builds a Vertex that is an instance of Fragment.

This method does not consider any JSON definition that might be embedded in the container properties. This because this method is meant to convert an IAtomContainer with AttachmentPoints defined in the IAtomContainer's properties.

Parameters
iacthe atom containers.
bbtthe type of building block.
Returns
the vertex.
Exceptions
DENOPTIMExceptionif the atom container could not be converted into a Fragment.

Definition at line 1345 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.Vertex.getNumberOfAPs(), denoptim.graph.rings.RingClosingAttractor.RCAAPCLASSSET, and denoptim.graph.Vertex.setAsRCV().

Referenced by denoptim.graph.Vertex.parseVertexFromSDFFormat().

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

◆ copyStringBasedProperties()

Map< Object, Object > denoptim.graph.Vertex.copyStringBasedProperties ( )
protected

Copies all the string-based properties and properties defined in the Vertex#uniquefyingPropertyKeys set.

Returns
the map of cloned properties.

Definition at line 1174 of file Vertex.java.

References denoptim.graph.Vertex.properties, and denoptim.graph.Vertex.uniquefyingPropertyKeys.

Referenced by denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), and denoptim.graph.Template.clone().

Here is the caller graph for this function:

◆ fromJson()

static Vertex denoptim.graph.Vertex.fromJson ( String  json)
static

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

Definition at line 1202 of file Vertex.java.

References denoptim.json.DENOPTIMgson.getReader().

Referenced by denoptim.graph.Vertex.parseVertexFromSDFFormat(), denoptim.io.DenoptimIO.readDENOPTIMVertexesFromJSONFile(), denoptim.graph.VertexTest.testFromToJSON_minimal(), denoptim.graph.VertexTest.testFromToJSON_withSymmetricAPs(), denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), and denoptim.json.DENOPTIMgsonTest.testTemplateSerialization().

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

◆ getAllAPClasses()

ArrayList< APClass > denoptim.graph.Vertex.getAllAPClasses ( )

Returns the list of all APClasses present on this vertex.

Returns
the list of APClassess

Reimplemented in denoptim.graph.EmptyVertex.

Definition at line 720 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.fragspace.FragmentSpace.classifyFragment(), denoptim.fragmenter.FragmenterTools.filterFragment(), denoptim.fragspace.FragmentSpace.getCompatibleCappingFragments(), and denoptim.graph.VertexTest.testClone().

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

◆ getAllAvailableAPClasses()

ArrayList< APClass > denoptim.graph.Vertex.getAllAvailableAPClasses ( )

Returns the list of all APClasses present on free attachment point on this vertex.

Returns
the list of APClassess

Definition at line 742 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Here is the call graph for this function:

◆ getAP()

AttachmentPoint denoptim.graph.Vertex.getAP ( int  i)

Get attachment point i on this vertex.

Parameters
iindex of attachment point on this vertex
Returns
attachment point i on this vertex

Definition at line 920 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.graph.DGraph.addCappingGroups(), denoptim.ga.GraphOperations.addRing(), denoptim.graph.DGraph.appendGraphOnAP(), denoptim.ga.EAUtils.appendVertexesToGraphFollowingEdges(), denoptim.ga.GraphOperations.attachFragmentInClosableChain(), denoptim.combinatorial.GraphBuildingTask.call(), denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.gui.GUIGraphHandler.createEmptyVertexAndPlaceItInGraph(), denoptim.gui.GUIGraphHandler.extendCurrentGraph(), denoptim.ga.GraphOperations.extendGraph(), denoptim.gui.GUIGraphHandler.extendGraphFromFragSpace(), denoptim.graph.DGraph.fixEdgeDirections(), denoptim.utils.GraphConversionTool.getGraphFromString(), denoptim.graph.TemplateTest.getNestedTemplate(), denoptim.ga.GraphOperationsTest.getPairOfTestGraphs(), denoptim.ga.PopulationTest.getPairOfTestGraphsB(), denoptim.ga.PopulationTest.getPairOfTestGraphsBxo(), denoptim.ga.PopulationTest.getPairOfTestGraphsBxoxo(), denoptim.graph.TemplateTest.getTemplateDeepTest(), denoptim.graph.TemplateTest.getTestAmideTemplate(), denoptim.fragspace.FragmentSpaceTest.getTestCase(), denoptim.graph.Template.getTestTemplate(), denoptim.ga.GraphOperationsTest.getThreeCycle(), denoptim.fragmenter.ClusterableFragment.getTransformedCopy(), denoptim.graph.DGraph.insertVertex(), denoptim.graph.DGraphTest.makeDeeplyEmbeddedGraph(), denoptim.graph.DGraphTest.makeDisorderedGraph(), denoptim.graph.FragmentTest.makeFragment(), denoptim.ga.PopulationTest.makeGraphA(), denoptim.ga.PopulationTest.makeGraphB(), denoptim.ga.PopulationTest.makeGraphC(), denoptim.ga.PopulationTest.makeGraphD(), denoptim.ga.PopulationTest.makeGraphE(), denoptim.ga.PopulationTest.makeGraphF(), denoptim.graph.DGraphTest.makeIsostructuralGraphs(), denoptim.graph.DGraphTest.makeTestGraph1(), denoptim.fragspace.GraphLinkFinderTest.makeTestGraphA(), denoptim.graph.DGraphTest.makeTestGraphA(), denoptim.graph.rings.PathSubGraphTest.makeTestGraphA(), denoptim.graph.rings.RingSizeManagerTest.makeTestGraphA(), denoptim.graph.DGraphTest.makeTestGraphA2(), denoptim.graph.rings.PathSubGraphTest.makeTestGraphB(), denoptim.graph.DGraphTest.makeTestGraphB(), denoptim.graph.DGraphTest.makeTestGraphC(), denoptim.graph.DGraphTest.makeTestGraphD(), denoptim.graph.DGraphTest.makeTestGraphDSub1(), denoptim.graph.DGraphTest.makeTestGraphDSub2(), denoptim.fragspace.GraphLinkFinderTest.makeTestGraphE(), denoptim.graph.DGraphTest.makeTestGraphE(), denoptim.fragspace.GraphLinkFinderTest.makeTestGraphF(), denoptim.graph.DGraphTest.makeTestGraphF(), denoptim.graph.DGraphTest.makeTestGraphG(), denoptim.graph.DGraphTest.makeTestGraphH(), denoptim.graph.DGraphTest.makeTestGraphI(), denoptim.graph.DGraphTest.makeTestGraphJ(), denoptim.graph.DGraphTest.makeTestGraphK(), denoptim.graph.DGraphTest.makeTestGraphL(), denoptim.graph.DGraphTest.makeTestGraphM(), denoptim.graph.DGraphTest.makeTestGraphN(), denoptim.graph.rings.PathSubGraph.PathSubGraph(), denoptim.ga.GraphOperations.performCrossover(), denoptim.ga.EAUtilsTest.prepare(), denoptim.ga.XoverSite.projectToClonedGraphs(), denoptim.graph.DGraph.replaceSubGraph(), denoptim.graph.DGraph.replaceUnusedRCVsWithCapps(), denoptim.graph.DGraph.replaceVertex(), denoptim.graph.Vertex.sameVertexFeatures(), denoptim.graph.EdgeTest.setUpClass(), denoptim.ga.GraphOperationsTest.testAddRing(), denoptim.fragspace.APMapFinderTest.testAPMapFinder(), denoptim.fragspace.APMapFinderTest.testAPMapFinder_ConstrainAll(), denoptim.fragspace.APMapFinderTest.testAPMapFinder_Constrained(), denoptim.graph.AttachmentPointTest.testAvailableThrougout(), denoptim.ga.EAUtilsTest.testAvoidRedundantXOver(), denoptim.graph.AttachmentPointTest.testClone(), denoptim.graph.DGraphTest.testClone(), denoptim.graph.TemplateTest.testClone(), denoptim.fragmenter.FragmentClustererTest.testCluster(), denoptim.graph.AttachmentPointTest.testConstructorsAndSDFString(), denoptim.graph.AttachmentPointTest.testConstructorsAndSDFStringNoDirVec(), denoptim.molecularmodeling.ThreeDimTreeBuilderTest.testConversionTo3dTree(), denoptim.graph.FragmentTest.testConversionToIAC(), denoptim.ga.EAUtilsTest.testCrowdingProbability(), denoptim.graph.rings.PathClosabilityToolsTest.testEvaluateConstitutionalClosability(), denoptim.graph.rings.RandomCombOfRingIteratorTest.testEvaluateConstitutionalClosability(), denoptim.graph.rings.RingSizeManagerTest.testEvaluateRCVPair(), denoptim.ga.GraphOperationsTest.testExtendGraph(), denoptim.fragspace.APMapFinderTest.testFindMappingCompatibileAPs(), denoptim.graph.DGraphTest.testFromToJSON(), denoptim.graph.VertexTest.testFromToJSON_withSymmetricAPs(), denoptim.graph.TemplateTest.testGetAttachmentPoints_returnsCorrectNumberOfAPs(), denoptim.graph.DGraphTest.testGetAvailableAPs_returnsListOfAvailableAPs(), denoptim.graph.AttachmentPointTest.testGetEdbeUserThrougout(), denoptim.graph.AttachmentPointTest.testGetEmbeddedAP(), denoptim.fragspace.FragmentSpaceTest.testGetFragAPsCompatibleWithClass(), denoptim.fragspace.FragmentSpaceTest.testGetFragAPsCompatibleWithTheseAPs(), denoptim.fragspace.FragmentSpaceTest.testGetFragsWithAPClass(), denoptim.graph.DGraphTest.testGetInterfaceAPs(), denoptim.graph.AttachmentPointTest.testGetLinkedAP(), denoptim.graph.DGraphTest.testGetSubgraphAPs(), denoptim.fragmenter.ClusterableFragmentTest.testGetTransformedCopy(), denoptim.graph.DGraphTest.testGraphIsomorphism(), denoptim.graph.AttachmentPointTest.testHasConnectedSrcAtom(), denoptim.graph.AttachmentPointTest.testHasSameSrcAtom(), denoptim.graph.DGraphTest.testIsIsostructuralTo(), denoptim.graph.AttachmentPointTest.testIsSrcInUser(), denoptim.graph.DGraphTest.testRemoveCapping(), denoptim.graph.DGraphTest.testRemoveUnusedRCVs(), denoptim.graph.DGraphTest.testRemoveVertex(), denoptim.graph.DGraphTest.testReplaceSubGraph(), denoptim.graph.DGraphTest.testReplaceSubGraph_inTemplate(), denoptim.graph.TemplateTest.testSameAPClass(), denoptim.graph.AttachmentPointTest.testSameAs(), denoptim.graph.AttachmentPointTest.testSameAs_DiffAPClass(), denoptim.graph.DGraphTest.testSameAs_DiffRings(), denoptim.graph.AttachmentPointTest.testSameAs_DiffSrcAtm(), denoptim.graph.DGraphTest.testSameAs_DiffSymmSet(), denoptim.graph.DGraphTest.testSameAs_DiffVertex(), denoptim.graph.DGraphTest.testSameAs_DisorderRings(), denoptim.graph.DGraphTest.testSameAs_Equal(), denoptim.graph.DGraphTest.testSameAs_SameRings(), denoptim.graph.DGraphTest.testSameAs_SameSymmSet(), denoptim.ga.EAUtilsTest.testSelectNonScaffoldNonCapVertex(), denoptim.io.DenoptimIOTest.testSerializeDeserializeDENOPTIMGraphs(), denoptim.graph.AttachmentPointTest.testSortAPs(), denoptim.graph.EdgeTest.testUndirectedComparison(), denoptim.graph.UndirectedEdgeRelationTest.testUndirectedComparison(), and denoptim.fragspace.FragmentSpaceTest.testUseWholeMolGeometryForExtractedTemplates().

Here is the call graph for this function:

◆ getAPsFromChildren()

ArrayList< AttachmentPoint > denoptim.graph.Vertex.getAPsFromChildren ( )

Looks into the edges that use any of the APs that belong to this vertex and returns the list of attachment point on child vertices that form an edge with any of the APs of this vertex.

Searches also beyond template boundaries, i.e., an AP can be free in the graph owning this vertex and be projected of the surface of the template that embeds such graph, so that the apparently free AP can be used in the outside of the template (a.k.a., beyond template's boundaries).

Returns
the list of APs on child vertices (can be empty list, but not null)

Definition at line 1026 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.Edge.getSrcAPThroughout(), and denoptim.graph.Edge.getTrgAPThroughout().

Here is the call graph for this function:

◆ getAPWithId()

AttachmentPoint denoptim.graph.Vertex.getAPWithId ( int  i)

Get attachment point that has the given identifier, or null.

Parameters
ithe identifier of the attachment point to fetch.
Returns
the attachment point with the given ID, or null

Definition at line 931 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.graph.Vertex.DENOPTIMVertexDeserializer.deserialize().

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

◆ getAttachmentPoints()

abstract List< AttachmentPoint > denoptim.graph.Vertex.getAttachmentPoints ( )
abstract

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

Referenced by denoptim.fragspace.APMapFinder.APMapFinder(), denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), denoptim.ga.EAUtils.appendVertexesToGraphFollowingEdges(), denoptim.graph.DGraph.EdgeFinder.apply(), denoptim.ga.GraphOperationsTest.buildGraph(), denoptim.graph.AttachmentPointTest.checkAvailNT(), denoptim.graph.AttachmentPointTest.checkGetEdgeUserThroughput(), denoptim.graph.AttachmentPointTest.checkIdentityOfEmbeddedAP(), denoptim.fragspace.FragmentSpace.classifyFragment(), denoptim.graph.Vertex.cleanup(), denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.graph.Vertex.convertIACToVertex(), denoptim.graph.rings.RingSizeManager.evaluateRCVPair(), denoptim.graph.rings.PathSubGraph.findPath(), denoptim.graph.DGraph.findSymmetrySetsOfChildVertexes(), denoptim.fragspace.FragsCombinationIterator.FragsCombinationIterator(), denoptim.graph.Vertex.getAllAPClasses(), denoptim.graph.Vertex.getAllAvailableAPClasses(), denoptim.graph.Vertex.getAP(), denoptim.fragspace.FragmentSpace.getAPClassForFragment(), denoptim.graph.Vertex.getAPsFromChildren(), denoptim.graph.Vertex.getAPWithId(), denoptim.graph.Vertex.getCappedAPs(), denoptim.graph.Vertex.getCappedAPsThroughout(), denoptim.graph.Vertex.getChilddren(), denoptim.graph.Vertex.getChildrenThroughout(), denoptim.ga.EAUtils.getCrowdedness(), denoptim.graph.Vertex.getEdgeToParent(), denoptim.graph.Vertex.getEdgeWith(), denoptim.graph.Vertex.getFreeAPCount(), denoptim.graph.Vertex.getFreeAPThroughout(), denoptim.graph.Vertex.getIndexOfAP(), denoptim.graph.Vertex.getMutationTypes(), denoptim.graph.Vertex.getNumberOfAPs(), denoptim.graph.Vertex.getParent(), denoptim.fragspace.GraphLinkFinder.GraphLinkFinder(), denoptim.graph.Vertex.hasFreeAP(), denoptim.graph.Vertex.newVertexFromLibrary(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.graph.DGraph.removeChainUpToBranching(), denoptim.graph.DGraph.setScaffold(), denoptim.graph.FragmentTest.testClone(), denoptim.graph.TemplateTest.testGetAttachmentPoints_returnsAPsWithTemplateAsOwner(), denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), denoptim.graph.DGraphTest.testReplaceVertex(), denoptim.json.DENOPTIMgsonTest.testTemplateSerialization(), denoptim.fragspace.FragmentSpaceTest.testUseWholeMolGeometryForExtractedTemplates(), denoptim.gui.VertexAsTwoDimStructureViewPanel.TwoDimStructurePanel.TwoDimStructurePanel(), denoptim.gui.VertexAsGraphViewPanel.updateAPsMapAndTable(), and denoptim.gui.VertexAsTwoDimStructureViewPanel.updateAPsMapAndTable().

◆ getBuildingBlockId()

int denoptim.graph.Vertex.getBuildingBlockId ( )

Returns the index of the building block that should correspond to the position of the building block in the library of building blocks of its kind.

Since the index is saved and disconnected from the library, changes to the library my make this value inconsistent with the actual position of this building block in the library.

Returns
the presumed index of this building block in the library of building blocks

Definition at line 284 of file Vertex.java.

References denoptim.graph.Vertex.buildingBlockId.

Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), denoptim.gui.GraphViewerPanel.VertexLabelTransformer.apply(), denoptim.ga.EAUtils.buildGraph(), denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.graph.Template.clone(), denoptim.graph.Edge.compareAsUndirected(), denoptim.ga.GraphOperations.extendLink(), denoptim.ga.GraphOperations.getFragmentForClosableChain(), denoptim.graph.Template.getPathIDs(), denoptim.graph.Vertex.getPathIDs(), denoptim.ga.GraphOperations.getRCVForSrcAp(), denoptim.fragspace.FragmentSpace.getVertexFromLibrary(), denoptim.fragspace.GraphLinkFinder.GraphLinkFinder(), denoptim.graph.DGraph.isIsomorphicTo(), denoptim.graph.simplified.UndirectedEdge.makeInvariant(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.graph.Template.sameAs(), denoptim.graph.Vertex.sameVertexFeatures(), denoptim.ga.GraphOperations.substituteLink(), denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), denoptim.graph.DGraphTest.testReplaceVertex(), denoptim.json.DENOPTIMgsonTest.testTemplateSerialization(), and denoptim.graph.Fragment.toString().

Here is the caller graph for this function:

◆ getBuildingBlockType()

Vertex.BBType denoptim.graph.Vertex.getBuildingBlockType ( )

Definition at line 298 of file Vertex.java.

References denoptim.graph.Vertex.buildingBlockType.

Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), denoptim.graph.rings.CyclicGraphHandler.checkChelatesGraph(), denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.graph.Template.clone(), denoptim.graph.Edge.compareAsUndirected(), denoptim.ga.GraphOperations.extendLink(), denoptim.graph.Vertex.getCappedAPs(), denoptim.graph.Vertex.getCappedAPsThroughout(), denoptim.ga.GraphOperations.getFragmentForClosableChain(), denoptim.graph.EmptyVertex.getMutationSites(), denoptim.graph.Fragment.getMutationSites(), denoptim.graph.Template.getMutationSites(), denoptim.graph.Vertex.getMutationTypes(), denoptim.graph.Template.getMutationTypes(), denoptim.graph.Template.getPathIDs(), denoptim.graph.Vertex.getPathIDs(), denoptim.ga.GraphOperations.getRCVForSrcAp(), denoptim.fragspace.GraphLinkFinder.GraphLinkFinder(), denoptim.gui.GraphViewerPanel.JVertex.JVertex(), denoptim.gui.VertexViewPanel.loadTemplateToViewer(), denoptim.ga.GraphOperations.locateCompatibleXOverPoints(), denoptim.graph.simplified.UndirectedEdge.makeInvariant(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.graph.DGraph.removeChainUpToBranching(), denoptim.graph.Vertex.sameVertexFeatures(), denoptim.ga.GraphOperations.substituteLink(), denoptim.graph.FragmentTest.testClone(), denoptim.ga.EAUtilsTest.testMakeGraphFromFragmentationOfMol(), denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), denoptim.graph.DGraphTest.testReplaceVertex(), denoptim.json.DENOPTIMgsonTest.testTemplateSerialization(), and denoptim.graph.Fragment.toString().

Here is the caller graph for this function:

◆ getCappedAPCountThroughout()

int denoptim.graph.Vertex.getCappedAPCountThroughout ( )

Counts the number of attachment points that are used by BBType#CAP vertex.

This method does account for embedding of the vertex in a template, i.e., APs can be available in the graph owning this vertex, 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.

Returns
the number of APs of this vertex that are used to bind a BBType#CAP vertex, whether within the graph owning this vertex (if any) or within a graph owning the template embedding the graph that owns this vertex.

Definition at line 493 of file Vertex.java.

References denoptim.graph.Vertex.getCappedAPsThroughout().

Referenced by denoptim.graph.Vertex.getMutationTypes(), and denoptim.graph.DGraph.removeChainUpToBranching().

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

◆ getCappedAPs()

ArrayList< AttachmentPoint > denoptim.graph.Vertex.getCappedAPs ( )

Gets attachment points that are used by capping groups.

This method does NOT account for embedding of the vertex in a template, i.e., APs can be available in the graph owning this vertex, but if the graph is itself the inner graph of a template, the AP is then projected on the template's surface and can be used. To account for this possibility use Vertex#getCappedAPsThroughout().

Returns
the APs of this vertex that are used to bind a BBType#CAP vertex.

Definition at line 428 of file Vertex.java.

References denoptim.graph.Vertex.BBType.CAP, denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.Vertex.getBuildingBlockType(), denoptim.graph.AttachmentPoint.getLinkedAP(), and denoptim.graph.AttachmentPoint.getOwner().

Referenced by denoptim.graph.Vertex.getMutationTypes().

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

◆ getCappedAPsThroughout()

ArrayList< AttachmentPoint > denoptim.graph.Vertex.getCappedAPsThroughout ( )

Gets attachment points that are used by capping groups throughout the graph levels, i.e., checks also across the inner graph template boundary.

This method does account for embedding of the vertex in a template, i.e., APs can be available in the graph owning this vertex, 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 this vertex, use Vertex#getCappedAPs().

Returns
the APs of this vertex that are used to bind a BBType#CAP vertex, whether within the graph owning this vertex (if any) or within a graph owning the template embedding the graph that owns this vertex.

Definition at line 462 of file Vertex.java.

References denoptim.graph.Vertex.BBType.CAP, denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.Vertex.getBuildingBlockType(), denoptim.graph.AttachmentPoint.getLinkedAPThroughout(), and denoptim.graph.AttachmentPoint.getOwner().

Referenced by denoptim.graph.Vertex.getCappedAPCountThroughout().

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

◆ getChilddren()

ArrayList< Vertex > denoptim.graph.Vertex.getChilddren ( )

Looks into the edges that use any of the APs that belong to this vertex and returns the list of vertices which are target of any edge departing from this vertex.

Only the directly connected children are considered (no recursion). This method does not cross template boundaries, thus all children belong to the same graph.

Returns
the list of child vertices (can be empty list, but not null)

Definition at line 1085 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.AttachmentPoint.getOwner(), denoptim.graph.Edge.getSrcAP(), and denoptim.graph.Edge.getTrgAP().

Referenced by denoptim.graph.rings.CyclicGraphHandler.checkChelatesGraph(), denoptim.graph.DGraph.getChildVertices(), denoptim.graph.Vertex.getMutationTypes(), denoptim.graph.Template.getMutationTypes(), denoptim.ga.GraphOperations.performMutation(), denoptim.graph.DGraph.removeChainUpToBranching(), and denoptim.graph.DGraph.replaceSubGraph().

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

◆ getChildrenThroughout()

ArrayList< Vertex > denoptim.graph.Vertex.getChildrenThroughout ( )

Looks into the edges that use any of the APs that belong to this vertex and returns the list of vertices which are target of any edge departing from this vertex.

Only the directly connected children are considered (no recursion). This method does cross template boundaries, thus it includes also children belonging to uprooted graph, but does not get into embedded graph at the child side, i.e., each child is the outermost recursion levels.

Returns
the list of child vertices (can be empty list, but not null)

Definition at line 1057 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.AttachmentPoint.getOwner(), and denoptim.graph.Edge.getTrgAP().

Referenced by denoptim.graph.DGraph.removeChainUpToBranching().

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

◆ getEdgeToParent()

Edge denoptim.graph.Vertex.getEdgeToParent ( )

Looks into the edges that use any of the APs that belong to this vertex and returns the edge that has this vertex as the target, i.e., the edge to the parent vertex.

We assume there is only one such edge.

Returns
the edge to the parent.

Definition at line 972 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), and denoptim.graph.Edge.getTrgAP().

Referenced by denoptim.graph.rings.RingSizeManager.addRingClosingBond(), denoptim.graph.DGraph.EdgeFinder.apply(), denoptim.ga.GraphOperations.checkAndAddXoverSites(), denoptim.graph.rings.RingSizeManager.evaluateRCVPair(), denoptim.graph.DGraph.getAPOnLeftVertexID(), denoptim.graph.DGraph.getEdgeWithParent(), denoptim.utils.GraphConversionTool.getJGraphFromGraph(), denoptim.graph.DGraph.getParent(), denoptim.graph.rings.RandomCombOfRingsIterator.next(), and denoptim.graph.DGraph.removeChainUpToBranching().

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

◆ getEdgeWith()

Edge denoptim.graph.Vertex.getEdgeWith ( Vertex  other)

Finds the edge between this and the other vertex, if it exists.

Parameters
otherthe vertex we expect to be linked to this vertex.
Returns
the edge or null if no connection exists between the two.

Definition at line 1419 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.AttachmentPoint.getEdgeUser(), denoptim.graph.AttachmentPoint.getLinkedAP(), denoptim.graph.AttachmentPoint.getOwner(), and denoptim.graph.Vertex.owner.

Referenced by denoptim.graph.DGraph.removeChainUpToBranching().

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

◆ getFreeAPCount()

int denoptim.graph.Vertex.getFreeAPCount ( )

Reimplemented in denoptim.graph.EmptyVertex.

Definition at line 354 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.fragspace.FragmentSpace.classifyFragment(), and denoptim.graph.TemplateTest.testClone().

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

◆ getFreeAPCountThroughout()

int denoptim.graph.Vertex.getFreeAPCountThroughout ( )

Counts the number of attachment points that are availability throughout the graph level, i.e., checks also across the inner graph template boundary.

This method does account for embedding of the vertex in a template, i.e., APs can be available in the graph owning this vertex, 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 this vertex, use Vertex#getFreeAPCount().

Returns
the number of APs that are not used by any edge, whether within the graph owning this vertex (if any) or within a graph owning the template embedding the graph that owns this vertex.

Definition at line 410 of file Vertex.java.

References denoptim.graph.Vertex.getFreeAPThroughout().

Referenced by denoptim.graph.Vertex.getMutationTypes(), and denoptim.graph.DGraph.removeChainUpToBranching().

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

◆ getFreeAPThroughout()

ArrayList< AttachmentPoint > denoptim.graph.Vertex.getFreeAPThroughout ( )

Gets attachment points that are availability throughout the graph level, i.e., checks also across the inner graph template boundary.

This method does account for embedding of the vertex in a template, i.e., APs can be available in the graph owning this vertex, 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 this vertex, use Vertex#getFreeAPCount().

Returns
the APs of this vertex that are not used by any edge, whether within the graph owning this vertex (if any) or within a graph owning the template embedding the graph that owns this vertex.

Definition at line 382 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.ga.GraphOperations.addRing(), denoptim.graph.Vertex.getFreeAPCountThroughout(), and denoptim.graph.DGraph.removeSingleVertexAndWeld().

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

◆ getGraphOwner()

◆ getHeavyAtomsCount()

abstract int denoptim.graph.Vertex.getHeavyAtomsCount ( )
abstract

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

Referenced by denoptim.ga.GraphOperations.extendGraph(), and denoptim.ga.EAUtils.makeGraphFromFragmentationOfMol().

Here is the caller graph for this function:

◆ getIAtomContainer() [1/2]

◆ getIAtomContainer() [2/2]

abstract IAtomContainer denoptim.graph.Vertex.getIAtomContainer ( Logger  logger,
Randomizer  rng,
boolean  removeUsedRCAs,
boolean  rebuild 
)
abstract

Method meant to trigger regeneration of the chemical representation, typically needed to drop a low quality structure that is good enough for most cheminformatic tasks, and replace it with a better quality structure that is suitable to be fed to molecular modeling tasks.

tasks,

Parameters
logger
rng
removeUsedRCAs
rebuild
Returns
the generated structure

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

◆ getIndexOfAP()

int denoptim.graph.Vertex.getIndexOfAP ( AttachmentPoint  ap)

Returns the position of the given AP in the list of APs of this vertex.

Parameters
apthe AP to find in the list of APs
Returns
the index (0-n) of ap or -1 if that AP does not belong to this vertex.

Definition at line 949 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.graph.DGraph.clone(), denoptim.graph.AttachmentPoint.getIndexInOwner(), denoptim.graph.Template.getPathIDs(), denoptim.graph.Vertex.getPathIDs(), denoptim.graph.Edge.getSrcAPID(), denoptim.fragmenter.ClusterableFragment.getTransformedCopy(), and denoptim.graph.Edge.getTrgAPID().

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

◆ getMutationSites() [1/2]

List< Vertex > denoptim.graph.Vertex.getMutationSites ( )

A list of mutation sites from within this vertex.

Returns
the list of vertices that allow any mutation type.

Definition at line 790 of file Vertex.java.

References denoptim.graph.Vertex.getMutationSites().

Referenced by denoptim.graph.Vertex.getMutationSites(), denoptim.graph.Template.getMutationSites(), and denoptim.graph.VertexTest.testGetMutationSites().

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

◆ getMutationSites() [2/2]

abstract List< Vertex > denoptim.graph.Vertex.getMutationSites ( List< MutationType ignoredTypes)
abstract

A list of mutation sites from within this vertex.

Parameters
ignoredTypesa collection of mutation types to ignore. vertices that allow only ignored types of mutation will not be considered mutation sites.
Returns
the list of vertices that allow any non-ignored mutation type.

Reimplemented in denoptim.graph.EmptyVertex, denoptim.graph.Fragment, and denoptim.graph.Template.

◆ getMutationTypes() [1/2]

List< MutationType > denoptim.graph.Vertex.getMutationTypes ( )

Returns the list of mutation types.

Returns
the list of mutation types.

Definition at line 846 of file Vertex.java.

References denoptim.graph.Vertex.getMutationTypes().

Referenced by denoptim.graph.EmptyVertex.getMutationSites(), denoptim.graph.Fragment.getMutationSites(), denoptim.graph.Template.getMutationSites(), and denoptim.graph.Vertex.getMutationTypes().

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

◆ getMutationTypes() [2/2]

◆ getNumberOfAPs()

◆ getParent()

Vertex denoptim.graph.Vertex.getParent ( )

Looks into the edges that use any of the APs that belong to this vertex and returns the vertex which is the source of the edge in which this vertex is the target.

Returns
the vertex parent to this or null.

Definition at line 996 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.AttachmentPoint.getOwner(), denoptim.graph.Edge.getSrcAP(), and denoptim.graph.Edge.getTrgAP().

Referenced by denoptim.graph.Vertex.connectedTo(), denoptim.graph.DGraph.editGraph(), denoptim.graph.rings.RingSizeManager.evaluateRCVPair(), denoptim.ga.GraphOperations.getFragmentForClosableChain(), denoptim.utils.GraphConversionTool.getJGraphFromGraph(), denoptim.utils.GraphConversionTool.getJGraphKernelFromGraph(), and denoptim.ga.GraphOperations.locateCompatibleXOverPoints().

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

◆ getPathIDs()

String[] denoptim.graph.Vertex.getPathIDs ( AttachmentPoint  apA,
AttachmentPoint  apB 
)

Produces a pair of strings that identify the "path" between two given attachment points.

The two strings represent one the reverse path of the other. So they identify the path when starting from each of the two APs.

Parameters
apA
apB
Returns
a pair of strings that identify the "path" between two given attachment points.

Reimplemented in denoptim.graph.Template.

Definition at line 1315 of file Vertex.java.

References denoptim.graph.Vertex.getBuildingBlockId(), denoptim.graph.Vertex.getBuildingBlockType(), and denoptim.graph.Vertex.getIndexOfAP().

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

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

◆ getProperties()

Map< Object, Object > denoptim.graph.Vertex.getProperties ( )

Definition at line 1119 of file Vertex.java.

References denoptim.graph.Vertex.properties.

◆ getProperty()

◆ getSymmetricAPs()

SymmetricAPs denoptim.graph.Vertex.getSymmetricAPs ( AttachmentPoint  ap)

For the given attachment point index locate the symmetric partners i.e.

those with similar environments and class types.

Parameters
apIdxindex of the attachment point which we want to get the symmetrically related partners of.
Returns
the list of attachment point IDs, which include apIdx or an empty list if no partners present

Reimplemented in denoptim.graph.EmptyVertex.

Definition at line 333 of file Vertex.java.

References denoptim.graph.Vertex.getSymmetricAPSets().

Referenced by denoptim.graph.Template.getSymmetricAPSets(), and denoptim.graph.FragmentTest.testConversionToIAC().

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

◆ getSymmetricAPSets()

◆ getUnfilteredMutationTypes()

List< MutationType > denoptim.graph.Vertex.getUnfilteredMutationTypes ( )
protected

Returns the mutation types that are constitutionally configures for this vertex irrespectively on the graph or the context in which this vertex is included.

Returns
the list of allowed mutation types as configured upon vertex constitution.

Definition at line 823 of file Vertex.java.

References denoptim.graph.Vertex.allowedMutationTypes.

Referenced by denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), and denoptim.graph.Template.clone().

Here is the caller graph for this function:

◆ getUniqueAPIndex()

int denoptim.graph.Vertex.getUniqueAPIndex ( )
protected

Definition at line 512 of file Vertex.java.

References denoptim.graph.Vertex.getNumberOfAPs(), denoptim.graph.DGraph.getUniqueAPIndex(), and denoptim.graph.Vertex.owner.

Referenced by denoptim.graph.AttachmentPoint.AttachmentPoint().

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

◆ getVertexId()

long denoptim.graph.Vertex.getVertexId ( )

Definition at line 268 of file Vertex.java.

References denoptim.graph.Vertex.vertexId.

Referenced by denoptim.molecularmodeling.ThreeDimTreeBuilder.append3DFragmentsViaEdges(), denoptim.graph.DGraph.clone(), denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.graph.Template.clone(), denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.graph.rings.PathSubGraph.findPath(), denoptim.graph.DGraph.fixEdgeDirections(), denoptim.graph.DGraph.getBondingAPIndex(), denoptim.utils.GraphConversionTool.getGraphFromString(), denoptim.graph.Fragment.getIAtomContainer(), denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings(), denoptim.graph.Edge.getSrcVertex(), denoptim.graph.Edge.getTrgVertex(), denoptim.graph.DGraph.indexOfVertexWithID(), denoptim.gui.GraphViewerPanel.JEdge.JEdge(), denoptim.gui.GraphViewerPanel.JVertex.JVertex(), denoptim.gui.VertexViewPanel.loadTemplateToViewer(), denoptim.fragspace.FragsCombinationIterator.next(), denoptim.ga.GraphOperations.performCrossover(), denoptim.graph.DGraph.removeCappingGroups(), denoptim.graph.DGraph.removeChainUpToBranching(), denoptim.graph.DGraph.removeVertex(), denoptim.graph.DGraph.renumberVerticesGetMap(), denoptim.graph.DGraph.replaceUnusedRCVsWithCapps(), denoptim.programs.genetweeker.GeneOpsRunner.runMutation(), denoptim.programs.genetweeker.GeneOpsRunner.runXOver(), denoptim.graph.Ring.DENOPTIMRingSerializer.serialize(), denoptim.graph.Template.setIAtomContainer(), denoptim.graph.DGraph.setScaffold(), denoptim.graph.FragmentTest.testClone(), denoptim.graph.VertexTest.testClone(), denoptim.graph.DGraphTest.testFindVertex(), denoptim.graph.DGraphTest.testGetAvailableAPs_returnsListOfAvailableAPs(), denoptim.graph.DGraphTest.testGetSymmetricSubGraphs(), denoptim.graph.AttachmentPointTest.testHasConnectedSrcAtom(), denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), denoptim.graph.DGraphTest.testReplaceVertex(), denoptim.json.DENOPTIMgsonTest.testTemplateSerialization(), denoptim.graph.APMapping.toIntMappig(), denoptim.graph.Edge.toString(), denoptim.graph.EmptyVertex.toString(), denoptim.graph.Fragment.toString(), and denoptim.graph.simplified.UndirectedEdge.toString().

Here is the caller graph for this function:

◆ getVertexType()

VertexType denoptim.graph.Vertex.getVertexType ( )

Returns the value of the vertex type.

Note the returned object is independent from the object holding the information about the type of this vertex.

Returns
the value of the vertex type

Definition at line 1216 of file Vertex.java.

References denoptim.graph.Vertex.vertexType.

◆ hasFreeAP()

boolean denoptim.graph.Vertex.hasFreeAP ( )

Reimplemented in denoptim.graph.EmptyVertex.

Definition at line 500 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints().

Referenced by denoptim.ga.EAUtils.buildGraph().

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

◆ hasProperty()

boolean denoptim.graph.Vertex.hasProperty ( Object  property)

Definition at line 1126 of file Vertex.java.

References denoptim.graph.Vertex.properties.

Referenced by denoptim.utils.GraphUtils.getLabel().

Here is the caller graph for this function:

◆ hasSymmetricAP()

boolean denoptim.graph.Vertex.hasSymmetricAP ( )
Returns
true if vertex has symmetric APs

Reimplemented in denoptim.graph.EmptyVertex.

Definition at line 541 of file Vertex.java.

References denoptim.graph.Vertex.getSymmetricAPSets().

Referenced by denoptim.fragspace.FragsCombinationIterator.next().

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

◆ isRCV()

boolean denoptim.graph.Vertex.isRCV ( )
Returns
true if vertex is a ring closing vertex

Definition at line 529 of file Vertex.java.

References denoptim.graph.Vertex.isRCV.

◆ newVertexFromLibrary() [1/2]

static Vertex denoptim.graph.Vertex.newVertexFromLibrary ( int  bbId,
Vertex.BBType  bbt,
FragmentSpace  fragSpace 
) throws DENOPTIMException
static

Builds a new molecular fragment kind of vertex.

Parameters
bbId0-based index of building block in the library
bbtthe type of building block 0:scaffold, 1:fragment, 2:capping group
Exceptions
DENOPTIMException

Definition at line 214 of file Vertex.java.

References denoptim.utils.GraphUtils.getUniqueVertexIndex(), and denoptim.graph.Vertex.newVertexFromLibrary().

Referenced by denoptim.graph.DGraph.addCappingGroups(), denoptim.ga.GraphOperations.attachFragmentInClosableChain(), denoptim.combinatorial.GraphBuildingTask.call(), denoptim.ga.GraphOperations.extendGraph(), denoptim.utils.GraphConversionTool.getGraphFromString(), denoptim.graph.DGraph.insertVertex(), denoptim.graph.DGraphTest.makeDisorderedGraph(), denoptim.fragspace.FragmentSpace.makeRandomScaffold(), denoptim.graph.DGraphTest.makeTestGraph0(), denoptim.graph.DGraphTest.makeTestGraph1(), denoptim.graph.DGraphTest.makeTestGraphB(), denoptim.graph.DGraphTest.makeTestGraphC(), denoptim.graph.DGraphTest.makeTestGraphD(), denoptim.graph.DGraphTest.makeTestGraphDSub1(), denoptim.graph.DGraphTest.makeTestGraphDSub2(), denoptim.graph.DGraphTest.makeTestGraphE(), denoptim.graph.DGraphTest.makeTestGraphF(), denoptim.graph.DGraphTest.makeTestGraphG(), denoptim.graph.DGraphTest.makeTestGraphH(), denoptim.graph.DGraphTest.makeTestGraphI(), denoptim.graph.DGraphTest.makeTestGraphJ(), denoptim.graph.DGraphTest.makeTestGraphK(), denoptim.graph.DGraphTest.makeTestGraphL(), denoptim.graph.Vertex.newVertexFromLibrary(), denoptim.ga.EAUtilsTest.prepare(), denoptim.graph.DGraph.replaceVertex(), denoptim.gui.GUIGraphHandler.startGraphFromFragSpaceOrCreationOfEmptyVertex(), denoptim.combinatorial.CombinatorialExplorerByLayer.startNewGraphFromScaffold(), denoptim.molecularmodeling.ThreeDimTreeBuilderTest.testConversionTo3dTree(), denoptim.fragspace.FragmentSpaceTest.testGetFragAPsCompatibleWithClass(), denoptim.fragspace.FragmentSpaceTest.testGetFragAPsCompatibleWithTheseAPs(), denoptim.fragspace.FragmentSpaceTest.testGetFragsWithAPClass(), denoptim.graph.DGraphTest.testRemoveUnusedRCVs(), and denoptim.fragspace.FragmentSpaceTest.testSymmetry().

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

◆ newVertexFromLibrary() [2/2]

static Vertex denoptim.graph.Vertex.newVertexFromLibrary ( long  vertexId,
int  bbId,
Vertex.BBType  bbt,
FragmentSpace  fragSpace 
) throws DENOPTIMException
static

Make a new vertex that is a copy of a vertex in the fragment space.

Parameters
vertexIdunique identified of the vertex
bbId0-based index of building block in the library
bbtthe type of building block
Exceptions
DENOPTIMExceptionwhen index is not within the range.

Definition at line 231 of file Vertex.java.

References denoptim.graph.Vertex.getAttachmentPoints(), denoptim.graph.Vertex.getNumberOfAPs(), denoptim.graph.rings.RingClosingAttractor.RCAAPCLASSSET, denoptim.graph.Vertex.setAsRCV(), denoptim.graph.Vertex.setVertexId(), and denoptim.graph.Vertex.vertexId.

Here is the call graph for this function:

◆ parseVertexFromSDFFormat()

static Vertex denoptim.graph.Vertex.parseVertexFromSDFFormat ( IAtomContainer  mol,
Gson  reader,
BBType  bbt 
) throws DENOPTIMException
static

Created a Vertex from the SDF representation, i.e., from an IAtomContainer.

Parameters
molthe container to parse.
readera converted able to deserialize a vertex from a JSON string.
bbtthe type of building block we want to generate.
Returns
a vertex

Definition at line 1366 of file Vertex.java.

References denoptim.logging.StaticLogger.appLogger, denoptim.graph.Vertex.convertIACToVertex(), denoptim.graph.Vertex.fromJson(), denoptim.graph.Vertex.getProperty(), denoptim.constants.DENOPTIMConstants.GRAPHJSONTAG, denoptim.graph.Vertex.setBuildingBlockType(), and denoptim.constants.DENOPTIMConstants.VERTEXJSONTAG.

Referenced by denoptim.io.DenoptimIO.readDENOPTIMVertexesFromSDFile().

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

◆ removeMutationType()

boolean denoptim.graph.Vertex.removeMutationType ( MutationType  mt)

Removes the specified mutation type.

Parameters
mtthe element to remove.
Returns
true if this list contained the specified element.

Definition at line 835 of file Vertex.java.

References denoptim.graph.Vertex.allowedMutationTypes.

Referenced by denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), denoptim.json.DENOPTIMgsonTest.testTemplateSerialization(), and denoptim.graph.Template.updateMutTypeToFixedSTructure().

Here is the caller graph for this function:

◆ removeProperty()

void denoptim.graph.Vertex.removeProperty ( Object  key)

Definition at line 1159 of file Vertex.java.

References denoptim.graph.Vertex.properties.

◆ resetGraphOwner()

void denoptim.graph.Vertex.resetGraphOwner ( )

Definition at line 761 of file Vertex.java.

Referenced by denoptim.graph.DGraph.removeVertex().

Here is the caller graph for this function:

◆ sameAs() [1/2]

boolean denoptim.graph.Vertex.sameAs ( Vertex  other)

Compares this and another vertex ignoring vertex IDs.

Parameters
other
Returns
true if the two vertices represent the same graph node even if the vertex IDs are different.

Definition at line 597 of file Vertex.java.

References denoptim.graph.Vertex.sameAs().

Referenced by denoptim.graph.DGraph.areApsUsedBySymmetricUsers(), denoptim.graph.DGraph.isIsomorphicTo(), and denoptim.graph.Vertex.sameAs().

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

◆ sameAs() [2/2]

boolean denoptim.graph.Vertex.sameAs ( Vertex  other,
StringBuilder  reason 
)

Compares this and another vertex ignoring vertex IDs.

Parameters
other
reasonstring builder used to build the message clarifying the reason for returning false.
Returns
true if the two vertices represent the same graph node even if the vertex IDs are different.

Definition at line 612 of file Vertex.java.

References denoptim.graph.Vertex.sameVertexFeatures().

Here is the call graph for this function:

◆ sameVertexFeatures()

boolean denoptim.graph.Vertex.sameVertexFeatures ( Vertex  other,
StringBuilder  reason 
)

Compares this and another vertex ignoring vertex IDs.

Parameters
other
reasonstring builder used to build the message clarifying the reason for returning false.
Returns
true if the two vertices represent the same graph node even if the vertex IDs are different.

Definition at line 644 of file Vertex.java.

References denoptim.graph.Vertex.getAP(), denoptim.graph.Vertex.getBuildingBlockId(), denoptim.graph.Vertex.getBuildingBlockType(), denoptim.graph.Vertex.getNumberOfAPs(), and denoptim.graph.AttachmentPoint.sameAs().

Referenced by denoptim.graph.EmptyVertex.sameAs(), denoptim.graph.Fragment.sameAs(), denoptim.graph.Template.sameAs(), and denoptim.graph.Vertex.sameAs().

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

◆ setAsRCV()

void denoptim.graph.Vertex.setAsRCV ( boolean  isRCV)

Definition at line 254 of file Vertex.java.

References denoptim.graph.Vertex.isRCV.

Referenced by denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.graph.Vertex.convertIACToVertex(), denoptim.graph.EmptyVertex.EmptyVertex(), denoptim.graph.Fragment.Fragment(), denoptim.ga.PopulationTest.getPairOfTestGraphsB(), denoptim.ga.PopulationTest.getPairOfTestGraphsBxo(), denoptim.ga.PopulationTest.getPairOfTestGraphsBxoxo(), denoptim.fragspace.FragmentSpace.getPolarizedRCV(), denoptim.gui.GUIEmptyVertexMaker.GUIEmptyVertexMaker(), denoptim.graph.FragmentTest.makeFragment(), denoptim.graph.DGraphTest.makeIsostructuralGraphs(), denoptim.graph.rings.PathSubGraphTest.makeTestGraphA(), denoptim.graph.rings.RingSizeManagerTest.makeTestGraphA(), denoptim.graph.rings.PathSubGraphTest.makeTestGraphB(), denoptim.graph.Vertex.newVertexFromLibrary(), denoptim.ga.EAUtilsTest.prepare(), denoptim.graph.DGraphTest.prepare(), denoptim.ga.GraphOperationsTest.testAddRing(), denoptim.graph.TemplateTest.testClone(), denoptim.graph.rings.PathClosabilityToolsTest.testEvaluateConstitutionalClosability(), denoptim.graph.rings.RandomCombOfRingIteratorTest.testEvaluateConstitutionalClosability(), denoptim.graph.rings.RingSizeManagerTest.testEvaluateRCVPair(), denoptim.fragspace.FragmentSpaceTest.testGetRCVsForAPClass(), denoptim.fragspace.FragmentSpaceTest.testGetRCVsWithAPClass(), and denoptim.fragspace.FragmentSpaceTest.testUseWholeMolGeometryForExtractedTemplates().

Here is the caller graph for this function:

◆ setBuildingBlockId()

◆ setBuildingBlockType()

void denoptim.graph.Vertex.setBuildingBlockType ( Vertex.BBType  buildingBlockType)

Definition at line 305 of file Vertex.java.

References denoptim.graph.Vertex.buildingBlockType.

Referenced by denoptim.ga.EAUtils.appendVertexesToGraphFollowingEdges(), denoptim.fragspace.FragmentSpace.appendVertexToLibrary(), denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.graph.Fragment.Fragment(), denoptim.graph.FragmentTest.makeFragment(), denoptim.ga.PopulationTest.makeGraphA(), denoptim.ga.PopulationTest.makeGraphB(), denoptim.ga.PopulationTest.makeGraphC(), denoptim.ga.PopulationTest.makeGraphD(), denoptim.ga.PopulationTest.makeGraphE(), denoptim.ga.PopulationTest.makeGraphF(), denoptim.ga.EAUtils.makeGraphFromFragmentationOfMol(), denoptim.graph.DGraphTest.makeTestGraphN(), denoptim.graph.Vertex.parseVertexFromSDFFormat(), denoptim.fragspace.GraphLinkFinderTest.prepare(), denoptim.ga.EAUtilsTest.prepare(), denoptim.graph.DGraphTest.prepare(), denoptim.graph.Template.Template(), denoptim.fragspace.APMapFinderTest.testAPMapFinder(), denoptim.fragspace.APMapFinderTest.testAPMapFinder_ConstrainAll(), denoptim.fragspace.APMapFinderTest.testAPMapFinder_Constrained(), denoptim.ga.EAUtilsTest.testAvoidRedundantXOver(), denoptim.fragspace.FragmentSpaceTest.testFusedRingAddedToScaffoldLibrary(), denoptim.json.DENOPTIMgsonTest.testMolecularFragmentSerialization(), denoptim.ga.EAUtilsTest.testSelectNonScaffoldNonCapVertex(), denoptim.json.DENOPTIMgsonTest.testTemplateSerialization(), denoptim.graph.EdgeTest.testUndirectedComparison(), and denoptim.graph.UndirectedEdgeRelationTest.testUndirectedComparison().

Here is the caller graph for this function:

◆ setGraphOwner()

void denoptim.graph.Vertex.setGraphOwner ( DGraph  owner)

Definition at line 768 of file Vertex.java.

References denoptim.graph.Vertex.owner.

◆ setMutationTypes()

void denoptim.graph.Vertex.setMutationTypes ( List< MutationType lst)

Definition at line 809 of file Vertex.java.

References denoptim.graph.Vertex.allowedMutationTypes.

Referenced by denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), denoptim.graph.Template.clone(), denoptim.graph.DGraph.replaceVertex(), and denoptim.graph.VertexTest.testGetMutationSites().

Here is the caller graph for this function:

◆ setProperties()

void denoptim.graph.Vertex.setProperties ( Map< Object, Object >  properties)

Definition at line 1195 of file Vertex.java.

References denoptim.graph.Vertex.properties.

Referenced by denoptim.graph.EmptyVertex.clone(), denoptim.graph.Fragment.clone(), and denoptim.graph.Template.clone().

Here is the caller graph for this function:

◆ setProperty()

void denoptim.graph.Vertex.setProperty ( Object  key,
Object  property 
)

Definition at line 1148 of file Vertex.java.

References denoptim.graph.Vertex.properties.

Referenced by denoptim.gui.GUIGraphHandler.collectFragAndAPsCompatibleWithSelectedAPs(), denoptim.graph.Fragment.Fragment(), denoptim.graph.DGraph.getChildrenTree(), denoptim.ga.GraphOperationsTest.getPairOfTestGraphs(), denoptim.ga.PopulationTest.getPairOfTestGraphsB(), denoptim.ga.PopulationTest.getPairOfTestGraphsBxo(), denoptim.ga.PopulationTest.getPairOfTestGraphsBxoxo(), denoptim.graph.DGraphTest.makeIsostructuralGraphs(), denoptim.fragmenter.FragmenterTools.manageFragmentCollection(), denoptim.graph.simplified.Node.Node(), denoptim.graph.Fragment.projectAPsToProperties(), denoptim.graph.DGraph.renumberVerticesGetMap(), denoptim.programs.genetweeker.GeneOpsRunner.runMutation(), denoptim.ga.PopulationTest.testClone(), denoptim.graph.FragmentTest.testClone(), denoptim.graph.TemplateTest.testClone(), denoptim.graph.VertexTest.testClone(), denoptim.graph.DGraphTest.testConvertSymmetricLabelsToSymmetricSets(), denoptim.fragmenter.ConformerExtractorTaskTest.testExtractClusterableFragments(), denoptim.graph.DGraphTest.testGraphIsomorphism(), denoptim.graph.FragmentTest.testHandlingAPsAsObjOrProperty(), denoptim.graph.DGraphTest.testIsIsostructuralTo(), denoptim.ga.GraphOperationsTest.testLocateCompatibleXOverPoints(), denoptim.graph.VertexTest.testSameAs_Equal(), and denoptim.ga.PopulationTest.testXOverCompatibility().

Here is the caller graph for this function:

◆ setSymmetricAPSets()

abstract void denoptim.graph.Vertex.setSymmetricAPSets ( List< SymmetricAPs sAPs)
abstractprotected

◆ setUniquefyingProperty()

void denoptim.graph.Vertex.setUniquefyingProperty ( String  key)

Add the given key among the properties that are checked for equality when comparing vertices with the Vertex#sameAs(Vertex, StringBuilder) method.

Parameters
key

Definition at line 1112 of file Vertex.java.

References denoptim.graph.Vertex.uniquefyingPropertyKeys.

Referenced by denoptim.graph.DGraphTest.makeIsostructuralGraphs(), denoptim.ga.PopulationTest.testClone(), denoptim.graph.DGraphTest.testGraphIsomorphism(), denoptim.graph.DGraphTest.testIsIsostructuralTo(), denoptim.ga.GraphOperationsTest.testLocateCompatibleXOverPoints(), denoptim.graph.VertexTest.testSameAs_Equal(), and denoptim.ga.PopulationTest.testXOverCompatibility().

Here is the caller graph for this function:

◆ setVertexId()

◆ toString()

String denoptim.graph.Vertex.toString ( )

Produces a human readable, short string to represent the vertex by its vertex ID, building block ID (1-based), building block type, and level in the graph (if any).

This is the old syntax used up to version 2 for reporting a vertex in the string representation of a graph. Such notation cannot hold all the information needed to define a template, and is, therefore, obsolete. Use JSON format to serialize a graph that may contain templates.

Reimplemented in denoptim.graph.EmptyVertex, and denoptim.graph.Fragment.

Definition at line 559 of file Vertex.java.

References denoptim.graph.Vertex.buildingBlockId, denoptim.graph.Vertex.buildingBlockType, denoptim.graph.Vertex.BBType.toOldInt(), and denoptim.graph.Vertex.vertexId.

Here is the call graph for this function:

Member Data Documentation

◆ allowedMutationTypes

List<MutationType> denoptim.graph.Vertex.allowedMutationTypes
private
Initial value:
=
new ArrayList<MutationType>(Arrays.asList(MutationType.values()))

List of mutations that we can perform on this vertex.

Definition at line 159 of file Vertex.java.

Referenced by denoptim.graph.Vertex.getMutationTypes(), denoptim.graph.Vertex.getUnfilteredMutationTypes(), denoptim.graph.Vertex.removeMutationType(), and denoptim.graph.Vertex.setMutationTypes().

◆ buildingBlockId

int denoptim.graph.Vertex.buildingBlockId = -99
protected

Index of this building block in the library of building blocks, or negative if this vertex is not part of a library.

Definition at line 76 of file Vertex.java.

Referenced by denoptim.graph.Vertex.getBuildingBlockId(), denoptim.graph.Vertex.setBuildingBlockId(), and denoptim.graph.Vertex.toString().

◆ buildingBlockType

◆ isRCV

◆ owner

◆ properties

◆ uniquefyingPropertyKeys

Set<String> denoptim.graph.Vertex.uniquefyingPropertyKeys = new HashSet<String>()
protected

◆ vertexId

long denoptim.graph.Vertex.vertexId
private

◆ vertexType

final VertexType denoptim.graph.Vertex.vertexType
protected

Field distinguishing implementations of Vertex when deserializing JSON representations.

See DENOPTIMgson.

Definition at line 166 of file Vertex.java.

Referenced by denoptim.graph.Vertex.getVertexType(), denoptim.graph.VertexTest.testFromToJSON_minimal(), and denoptim.graph.Vertex.Vertex().


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