Biorithm
1.1
|
Public Member Functions | |
MyOneVersusAllHopfieldGainAlgo (MyGainGraph &g, MyAnnotations &a, MyGainParams &p, Reporter &r, GeneOntology *go=NULL) | |
MyGainTriState | computeState (MyNode &node) |
virtual string | getName () |
Check if the states of the nodes in the argument nodes have converged. | |
virtual void | run (const MyNodeIdList &nodesToAnnotate) |
of MyOneVersusAllGainAlgo. This algorithm treats the functional linkage network as a Hopfield Network. It computes node states by minimising an energy function defined as the negative sum over all edges of the product of the weight ofthe edge and the states of the nodes incident on that edge. The algorithm computes a 2-approximation to this energy by ensuring that the state of each node is the signed weighted average of the states of the neighbours of that node. To do so, it applies the guilt-by-association rule implemented in MyOneVersusAllLocalGainAlgo repeatedly and serially over all the nodes until the node states do not change. For details about this algorithm, see "Whole-genome annotation by using evidence integration in functional-linkage networks," Karaoz U, Murali TM, Letovsky S, Zheng Y, Ding C, Cantor CR, Kasif S, Proc Natl Acad Sci U S A. 2004 Mar 2;101(9):2888-93. Epub 2004 Feb 23. PMID: 14981259. http://www.pnas.org/cgi/content/full/101/9/2888
MyGainTriState MyOneVersusAllHopfieldGainAlgo::computeState | ( | MyNode & | node | ) | [virtual] |
This method should be a member of this class since the method needs access to the states of the nodes (stored in subclasses of the class).
Reimplemented from MyOneVersusAllGainAlgo.
virtual string MyOneVersusAllHopfieldGainAlgo::getName | ( | ) | [inline, virtual] |
Check if the states of the nodes in the argument nodes have converged.
Return the name of the algorithm.
Reimplemented from MyOneVersusAllGainAlgo.
Reimplemented in MyOneVersusAllHierarchicalHopfieldGainAlgo, and MyOneVersusAllSemiHierarchicalHopfieldGainAlgo.
void MyOneVersusAllHopfieldGainAlgo::run | ( | const MyNodeIdList & | nodesToAnnotate | ) | [virtual] |
This method repeatedly iterates over all the nodes in nodesToAnnotate in the order in which they occur in nodesToAnnotate. It computes the state of each node in this list. The method iterates until the states converge.
Reimplemented from MyOneVersusAllGainAlgo.