Package org.openscience.cdk.ringsearch
Interface CyclicVertexSearch
public interface CyclicVertexSearch
Describes a search to identify vertices which belong to elementary cycles and
if those cycles are isolated or are part of a fused system. We define a cycle
as isolated if it edge disjoint with all other cycles. This corresponds to
the isolated and spiro rings of a chemical structures.
 Author:
 John May
 Source code:
 main
 Belongs to CDK module:
 core

Method Summary
Modifier and TypeMethodDescriptionint[]
cyclic()
The set of cyclic vertices.boolean
cyclic
(int v) Returns true if the vertex v is in a cycle.boolean
cyclic
(int u, int v) Is the edge between the two vertices u and v in a cycle?int[][]
fused()
Construct the sets of vertices which belong to fused cycle systems (share at least one edge).int[][]
isolated()
Construct the sets of vertices which belong to isolated cycles.int
Returns the number of cycles (circuit rank, frère jacques number, num SSSR).int[]
Build an indexed lookup of vertex color.

Method Details

numCycles
int numCycles()Returns the number of cycles (circuit rank, frère jacques number, num SSSR). Returns:
 number of cycles

cyclic
boolean cyclic(int v) Returns true if the vertex v is in a cycle. Parameters:
v
 a vertex identifier by index Returns:
 whether the vertex is in a cycle

cyclic
boolean cyclic(int u, int v) Is the edge between the two vertices u and v in a cycle? Parameters:
u
 a vertexv
 another vertex Returns:
 whether the edge is cycle

cyclic
int[] cyclic()The set of cyclic vertices. Returns:
 the cyclic vertices of the molecule.

isolated
int[][] isolated()Construct the sets of vertices which belong to isolated cycles. Each row in the array describes a set of cyclic vertices which is edge disjoint with all other elementary cycles. Returns:
 vertices belonging to the isolated rings

fused
int[][] fused()Construct the sets of vertices which belong to fused cycle systems (share at least one edge). Each row in the array describes a set of vertices in a separate fused system. Each fused system is edge disjoint with every other fused system. Returns:
 vertices belonging to the fused cycles

vertexColor
int[] vertexColor()Build an indexed lookup of vertex color. The vertex color indicates which cycle a given vertex belongs. If a vertex belongs to more then one cycle it is colored '0'. If a vertex belongs to no cycle it is colored '1'. Returns:
 vertex colors
