$darkmode
DENOPTIM
denoptim.graph.FragmentIsomorphismInspector Class Reference
Collaboration diagram for denoptim.graph.FragmentIsomorphismInspector:
[legend]

Public Member Functions

 FragmentIsomorphismInspector (Fragment fragA, Fragment fragB)
 Constructs a default inspector with a timeout runtime of 60 seconds. More...
 
 FragmentIsomorphismInspector (Fragment fragA, Fragment fragB, int timeout)
 Constructs an inspector with a custom timeout limiet. More...
 
boolean isomorphismExists ()
 Checks if an isomorphism exists between the two fragments. More...
 
Iterator< GraphMapping< FragIsomorphNode, FragIsomorphEdge > > getMappings ()
 

Protected Attributes

boolean reportTimeoutIncidents = true
 Flag indicating if we print earning in case of timeout or not. More...
 

Package Attributes

VF2GraphIsomorphismInspector< FragIsomorphNode, FragIsomorphEdgevf2
 Implementation of the Vento-Foggia 2 algorithm. More...
 

Private Attributes

int timeout
 The maximum time we give the VF2 algorithm (seconds) More...
 
Fragment fragA
 One fragment being analyzed. More...
 
Fragment fragB
 The other fragment being analyzed. More...
 

Detailed Description

Inspector for isomorphism on fragments. The graph representation considered is one where both atoms and AttachmentPoints are represented as graph nodes, and edges are either bonds or atom-to-attachment point connections.

Effectively, this class considers the composition and connectivity (including that of AttachmentPoints when comparing the fragments. Geometry and stereochemistry are not considered.

This works with the VF2GraphIsomorphismInspector, see the dedicated documentation for information of pathological cases.

Author
Marco Foscato

Definition at line 34 of file FragmentIsomorphismInspector.java.

Constructor & Destructor Documentation

◆ FragmentIsomorphismInspector() [1/2]

denoptim.graph.FragmentIsomorphismInspector.FragmentIsomorphismInspector ( Fragment  fragA,
Fragment  fragB 
)

Constructs a default inspector with a timeout runtime of 60 seconds.

Parameters
fragA
fragB

Definition at line 68 of file FragmentIsomorphismInspector.java.

References denoptim.graph.FragmentIsomorphismInspector.fragA, and denoptim.graph.FragmentIsomorphismInspector.fragB.

◆ FragmentIsomorphismInspector() [2/2]

denoptim.graph.FragmentIsomorphismInspector.FragmentIsomorphismInspector ( Fragment  fragA,
Fragment  fragB,
int  timeout 
)

Constructs an inspector with a custom timeout limiet.

Parameters
fragAone fragment to compare
fragBthe other fragment to compare
timeoutmaximum amount of time (milliseconds) given to the inspector for performing any task. associated with returning from any public method in this class.

Definition at line 84 of file FragmentIsomorphismInspector.java.

References denoptim.graph.FragmentIsomorphismInspector.fragA, denoptim.graph.FragmentIsomorphismInspector.fragB, denoptim.graph.Fragment.getJGraphFragIsomorphism(), denoptim.graph.FragIsomorphEdge.label, denoptim.graph.FragIsomorphNode.label, denoptim.graph.FragmentIsomorphismInspector.timeout, and denoptim.graph.FragmentIsomorphismInspector.vf2.

Here is the call graph for this function:

Member Function Documentation

◆ getMappings()

Iterator< GraphMapping< FragIsomorphNode, FragIsomorphEdge > > denoptim.graph.FragmentIsomorphismInspector.getMappings ( )

Definition at line 166 of file FragmentIsomorphismInspector.java.

References denoptim.graph.FragmentIsomorphismInspector.fragA, denoptim.graph.FragmentIsomorphismInspector.fragB, denoptim.graph.FragmentIsomorphismInspector.reportTimeoutIncidents, denoptim.graph.FragmentIsomorphismInspector.timeout, denoptim.graph.Fragment.toJson(), denoptim.graph.FragmentIsomorphismInspector.vf2, and denoptim.io.DenoptimIO.writeVertexesToSDF().

Referenced by denoptim.fragmenter.FragmentAlignement.FragmentAlignement().

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

◆ isomorphismExists()

boolean denoptim.graph.FragmentIsomorphismInspector.isomorphismExists ( )

Checks if an isomorphism exists between the two fragments.

Returns
true is an isomorphism has been found.

Definition at line 119 of file FragmentIsomorphismInspector.java.

References denoptim.graph.FragmentIsomorphismInspector.fragA, denoptim.graph.FragmentIsomorphismInspector.fragB, denoptim.graph.FragmentIsomorphismInspector.reportTimeoutIncidents, denoptim.graph.FragmentIsomorphismInspector.timeout, denoptim.graph.Fragment.toJson(), denoptim.graph.FragmentIsomorphismInspector.vf2, and denoptim.io.DenoptimIO.writeVertexesToSDF().

Referenced by denoptim.fragmenter.FragmentAlignement.FragmentAlignement(), denoptim.graph.Fragment.isIsomorphicTo(), and denoptim.graph.FragmentIsomorphismInspectorTest.testTimeout().

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

Member Data Documentation

◆ fragA

◆ fragB

◆ reportTimeoutIncidents

boolean denoptim.graph.FragmentIsomorphismInspector.reportTimeoutIncidents = true
protected

Flag indicating if we print earning in case of timeout or not.

Definition at line 54 of file FragmentIsomorphismInspector.java.

Referenced by denoptim.graph.FragmentIsomorphismInspector.getMappings(), and denoptim.graph.FragmentIsomorphismInspector.isomorphismExists().

◆ timeout

int denoptim.graph.FragmentIsomorphismInspector.timeout
private

◆ vf2

VF2GraphIsomorphismInspector<FragIsomorphNode, FragIsomorphEdge> denoptim.graph.FragmentIsomorphismInspector.vf2
package

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