org.gersteinlab.tyna.core.graph
Interface AdvancedUndirectedGraph

All Superinterfaces:
Graph, java.io.Serializable, UndirectedGraph
All Known Implementing Classes:
UndirectedMultiGraph, UndirectedSimpleGraph

public interface AdvancedUndirectedGraph
extends UndirectedGraph

        This interface declares advanced methods for undirected graphs such as
        motif mining that are not mandatory for basic implementations of
        UndirectedGraph classes.

        The methods are not synchronized for efficiency reasons. May need to
        change in the future if concurrent access is required.
        

Version:
1.1 (September 10, 2007) Change History: 1.0 - Initial version 1.1 - Added Laplacian and diffusion distance matrices
Author:
Kevin Yuk-Lap Yip

Method Summary
 java.util.List getDefectiveCliquesMissingEdges(int k, int l)
          Get the missing edges in defective cliques formed by two cliques with .
 double[][] getDiffusionDistanceMatrix(double beta, int[][] laplacianMatrix)
          Get the diffusion distance matrix of a subgraph according to a given Laplacian matrix.
 double[][] getDiffusionDistanceMatrix(double beta, java.util.List nodeList)
          Get the diffusion distance matrix of a subgraph according to a given node order.
 int[][] getLaplacianMatrix(int[][] adjacencyMatrix)
          Get the Laplacian matrix of a subgraph according to a given adjacency matrix.
 int[][] getLaplacianMatrix(java.util.List nodeList)
          Get the Laplacian matrix of a subgraph according to a given node order.
 java.util.List getMaximalCliques()
          Get all maximal cliques
 java.util.List getMaximalIndependentSets()
          Get all maximal independent sets
 
Methods inherited from interface org.gersteinlab.tyna.core.graph.UndirectedGraph
getDegree, getDegrees, getEdges, getNeighbors
 
Methods inherited from interface org.gersteinlab.tyna.core.graph.Graph
addEdge, addNode, containsEdge, containsNode, getAttr, getAttrs, getEdgeCount, getEdgeIterator, getEdgeNodePairs, getNode, getNodeCount, getNodeIterator, setAttr
 

Method Detail

getLaplacianMatrix

int[][] getLaplacianMatrix(java.util.List nodeList)
Get the Laplacian matrix of a subgraph according to a given node order.

Parameters:
nodeList - The list of nodes in the subgraph
Returns:
The Laplacian matrix

getLaplacianMatrix

int[][] getLaplacianMatrix(int[][] adjacencyMatrix)
Get the Laplacian matrix of a subgraph according to a given adjacency matrix.

Parameters:
adjacencyMatrix - The adjacency matrix
Returns:
The Laplacian matrix

getDiffusionDistanceMatrix

double[][] getDiffusionDistanceMatrix(double beta,
                                      java.util.List nodeList)
                                      throws JSci.maths.MaximumIterationsExceededException
Get the diffusion distance matrix of a subgraph according to a given node order.

Parameters:
beta - The diffusion parameter
nodeList - The list of nodes in the subgraph
Returns:
The diffusion distance matrix
Throws:
JSci.maths.MaximumIterationsExceededException

getDiffusionDistanceMatrix

double[][] getDiffusionDistanceMatrix(double beta,
                                      int[][] laplacianMatrix)
                                      throws JSci.maths.MaximumIterationsExceededException
Get the diffusion distance matrix of a subgraph according to a given Laplacian matrix.

Parameters:
beta - The diffusion parameter
laplacianMatrix - The Laplacian matrix
Returns:
The diffusion distance matrix
Throws:
JSci.maths.MaximumIterationsExceededException

getMaximalIndependentSets

java.util.List getMaximalIndependentSets()
Get all maximal independent sets

Returns:
A list of Node[], each containing the set of vertices in a maximal independent set

getMaximalCliques

java.util.List getMaximalCliques()
Get all maximal cliques

Returns:
A list of Node[], each containing the set of vertices in a maximal clique

getDefectiveCliquesMissingEdges

java.util.List getDefectiveCliquesMissingEdges(int k,
                                               int l)
                                               throws java.lang.IllegalArgumentException
Get the missing edges in defective cliques formed by two cliques with . At least k vertices in common . At most l vertices not in common

Parameters:
k - The minimum size of the overlapped clique
l - The maximum number of nodes not in the overlapping clique
Returns:
A list of Node[], each containing the two vertices of a missing edge
Throws:
java.lang.IllegalArgumentException - If the inputs are invalid