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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int[]
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
numCycles()
Returns the number of cycles (circuit rank, frère jacques number, num SSSR).int[]
vertexColor()
Build an indexed lookup of vertex color.



Method Detail

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

