Biorithm  1.1
Public Member Functions
MyGainGraph Class Reference
Inheritance diagram for MyGainGraph:
MyGraph

List of all members.

Public Member Functions

 MyGainGraph (string infile, string type, string outputDir, string commandLine, MyNT minEdgeWeight=0)
void setUseDegree (bool ud)
void resetThreshold ()
void setNodeWeights ()
unsigned int printStates (ofstream &ostr, const MyNodeStatesType &states, string currentFunc, string algorithm="Hopfield", bool printAll=false)
void reduce2 (ostream &hopstr, map< MyNodeId, MyGainTriStateType > &nodeStates, const MyGainParams &params, MyGainGraph &reducedGraph, MyNodeIdSet &unpredictableNodes)
 "Reduce" the graph, i.e., remove connected components that do not contain nodes in HYPOTHETICAL_STATE, ANNOTATED_STATE, and NOT_ANNOTATED_STATE.
void setEdgeWeightsCorrelations (ostream &fstr, const MyPointSet &geData)
void computeDenseFunctions (ostream *fstr, MyAnnotations &annotations, GeneOntology &go, map< string, MyGraph > &denseFunctionSubgraphs)
void computeProbabilitiesFromEdgeWeights (ostream &fstr, const MyPointSet &geData, string experimentName, MyHistogram &edgeWeightsToProbabilities)
void computeEdgeProbabilitiesPerDepth (MyGainParams &params, const map< unsigned int, set< GOFunction * > > &functionsByDepth, MyAnnotations &annotations, map< BioFunction, MyHistogram > &probabilities)
void computeEdgeProbabilitiesPerParent (MyGainParams &params, GeneOntology &go, MyAnnotations &annotations, map< BioFunction, MyHistogram > &probs)
void computeProbabilitiesFromEdgeWeights (ostream &fstr, MyAnnotations &annotations, const vector< BioFunction > *functionVector, MyHistogram &edgeWeightsToProbabilities)
void setEdgeWeights (ostream &fstr, const MyHistogram &edgeWeightsToProbabilities)
MyNT computeInput (string nodeId, MyNodeStatesType &nodeStates) const
MyNT computeEnergy (MyNodeStatesType &nodeStates)
MyNT computeChangeInEnergy (MyNodeStatesType &nodeStates, string changedNodeId)
void printDimacs (string filename, MyNodeStatesType &nodeStates, string format)
void runMinCut (string outfile, MyNodeStatesType &nodeStates, const MyGainParams &params)
void computeEdgeTypeWeightsByCutoffFromSharedFunctionRatio (MyAnnotations &annotations, GeneOntology &go, MyGainParams &gainParams)
void computeEdgeTypeWeightsByDepthFromSharedFunctionRatio (MyAnnotations &annotations, GeneOntology &go, MyGainParams &gainParams)
void computeEdgeTypeWeightsJaccard (ostream &logStream, MyAnnotations &annotations)
void assignEdgeWeightFromDepth (const MyGainParams &gainParams, string annotationType, string category, unsigned int depth, MyEdge &edge)

Member Function Documentation

void MyGainGraph::computeProbabilitiesFromEdgeWeights ( ostream &  fstr,
MyAnnotations annotations,
const vector< BioFunction > *  functionVector,
MyHistogram edgeWeightsToProbabilities 
)
void MyGainGraph::reduce2 ( ostream &  hopstr,
map< MyNodeId, MyGainTriStateType > &  nodeStates,
const MyGainParams params,
MyGainGraph reducedGraph,
MyNodeIdSet &  unpredictableNodes 
)

"Reduce" the graph, i.e., remove connected components that do not contain nodes in HYPOTHETICAL_STATE, ANNOTATED_STATE, and NOT_ANNOTATED_STATE.

Parameters:
[in]hopstr,anoutput stream to print logging information to.
[in]nodeStates,amap from MyNodeId to the initial state type (either HYPOTHETICAL_STATE, ANNOTATED_STATE, or NOT_ANNOTATED_STATE) of the node.
[in]params,aninstance of MyGainParams. CURRENTLY NOT USED.
[out]reducedGraph,asubgraph of *this that contains only trichromatic components (see below).
[out]unpredictableNodes,aset of MyNodeIds that the method thinks are no predictable.

This method partitions *this into maximal connected components: two nodes (in HYPOTHETICAL_STATE) are in different components iff all paths between them contain at least one node whose state is ANNOTATED_STATE or NOT_ANNOTATED_STATE.

Such a component is "trichromatic" if it contains nodes in all three states (HYPOTHETICAL_STATE, ANNOTATED_STATE, and NOT_ANNOTATED_STATE). Those are the only components that some algorithms (e.g., Hopfield and SinkSource) can reliably make predictions for. For a non-trichromatic component, running these algorithms will make the component "monochromatic", i.e., all nodes in HYPOTHETICAL_STATE in that component will become annotated either with ANNOTATED_STATE or NOT_ANNOTATED_STATE.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Friends