nct.networkblast
Class CompatComplexSearch<NodeType extends java.lang.Comparable<? super NodeType>>

java.lang.Object
  extended by nct.networkblast.CompatComplexSearch<NodeType>
All Implemented Interfaces:
SearchGraph<NodeType,java.lang.Double>

public class CompatComplexSearch<NodeType extends java.lang.Comparable<? super NodeType>>
extends java.lang.Object
implements SearchGraph<NodeType,java.lang.Double>

This class implements the SearchGraph interface. It implements the greedy search algorithm described in the supplemental material of Sharan, et al. 2005. "Conserved patterns of protein interaction in mulitple species." PNAS, 102(6),1974-1979. Complexes are defined as branched or unbranched pathways invovling seedSize or more nodes.


Field Summary
protected  boolean createSeeds
           
protected  Graph<NodeType,java.lang.Double> graph
           
protected  int maxComplexSize
           
protected  ScoreModel<NodeType,java.lang.Double> scoreObj
           
protected  java.util.List<Graph<NodeType,java.lang.Double>> seeds
           
protected  int seedSize
           
 
Constructor Summary
CompatComplexSearch(int seedSize, int maxComplexSize)
           
CompatComplexSearch(int seedSize, int maxComplexSize, boolean createSeeds, java.util.List<Graph<NodeType,java.lang.Double>> seeds)
           
 
Method Summary
 java.util.List<Graph<NodeType,java.lang.Double>> searchGraph(Graph<NodeType,java.lang.Double> graph, ScoreModel<NodeType,java.lang.Double> scoreObj)
          This method will be used to call a search algorithm on the given graph object.
 void setSeeds(java.util.List<Graph<NodeType,java.lang.Double>> newSeeds)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

seedSize

protected int seedSize

maxComplexSize

protected int maxComplexSize

createSeeds

protected boolean createSeeds

seeds

protected java.util.List<Graph<NodeType extends java.lang.Comparable<? super NodeType>,java.lang.Double>> seeds

graph

protected Graph<NodeType extends java.lang.Comparable<? super NodeType>,java.lang.Double> graph

scoreObj

protected ScoreModel<NodeType extends java.lang.Comparable<? super NodeType>,java.lang.Double> scoreObj
Constructor Detail

CompatComplexSearch

public CompatComplexSearch(int seedSize,
                           int maxComplexSize)

CompatComplexSearch

public CompatComplexSearch(int seedSize,
                           int maxComplexSize,
                           boolean createSeeds,
                           java.util.List<Graph<NodeType,java.lang.Double>> seeds)
Method Detail

searchGraph

public java.util.List<Graph<NodeType,java.lang.Double>> searchGraph(Graph<NodeType,java.lang.Double> graph,
                                                                    ScoreModel<NodeType,java.lang.Double> scoreObj)
Description copied from interface: SearchGraph
This method will be used to call a search algorithm on the given graph object.

Specified by:
searchGraph in interface SearchGraph<NodeType extends java.lang.Comparable<? super NodeType>,java.lang.Double>
Parameters:
graph - The Graph object to search
scoreObj - The ScoreModel object to use to score pathways in the graph
Returns:
a List of SubGraphs which are the solutions to this search

setSeeds

public void setSeeds(java.util.List<Graph<NodeType,java.lang.Double>> newSeeds)