Biorithm
1.1
|
Public Member Functions | |
MyOneVersusAllSemiHierarchicalHopfieldGainAlgo (MyGainGraph &g, MyAnnotations &a, MyGainParams &p, Reporter &r, GeneOntology *go) | |
virtual void | computePredictions (const BioFunction &function, const MyNodeIdList &nodesToAnnotate, MyNodeIdList &predictedNodes) |
virtual void | initialiseNodeStates (const BioFunction &function, MyNodeIdList &nodesToAnnotate) |
virtual string | getName () |
virtual void | initialiseAlgorithm () |
virtual void | printStatistics (ostream &statsStream) |
Protected Member Functions | |
void | _storeResults (const BioFunction &function) |
Protected Attributes | |
map< BioFunction, map < MyNodeId, MyGainTriStateType > > | _allInitialStates |
map< BioFunction, map < MyNodeId, MyGainTriStateType > > | _allFinalStates |
vector< MyNodeId > | _globalNodePermutation |
map< MyNodeId, unsigned int > | _globalNodePermutationMap |
map< GOFunction *, unsigned int > | _numProcessedChildren |
unsigned int | _numStatesFixedAtStart |
map< string, set< string > > | _statesFixedAtStart |
of MyOneVersusAllHopfieldGainAlgo. When functions are arranged in a DAG (e.g., in the Gene Ontology), this algorithm exploits results obtained for a function's parents in order to compute results for the function. However, this approach does not completely ensure that the predictions follow GO's true path rule, because a gene may have initial state -1 for an ancestor of a function that the gene is predicted to have. To achieve complete consistency with GO's true path rule, use MyOneVersusAllHierarchicalHopfieldGainAlgo.
void MyOneVersusAllSemiHierarchicalHopfieldGainAlgo::computePredictions | ( | const BioFunction & | function, |
const MyNodeIdList & | nodesToAnnotate, | ||
MyNodeIdList & | predictedNodes | ||
) | [virtual] |
Compute which genes in nodesToAnnotate MyOneVersusAllGainAlgo::run() predicts has the function. Since different algorithms may have different methods for predicting a function, this method must be implemented separately for each class.
nodesToAnnotate,an | instance of MyNodeIdList, the nodes that run() tried to annotate. |
predictedNodes,an | instance of MyNodeIdList, the nodes that run() predicts as having the function. |
Reimplemented from MyOneVersusAllGainAlgo.
virtual string MyOneVersusAllSemiHierarchicalHopfieldGainAlgo::getName | ( | ) | [inline, virtual] |
Return the name of the algorithm.
Reimplemented from MyOneVersusAllHopfieldGainAlgo.
Reimplemented in MyOneVersusAllHierarchicalHopfieldGainAlgo.
virtual void MyOneVersusAllSemiHierarchicalHopfieldGainAlgo::initialiseAlgorithm | ( | ) | [inline, virtual] |
Initialise internal data structures for the algorithm.
Reimplemented from MyReallyAbstractGainAlgo.
void MyOneVersusAllSemiHierarchicalHopfieldGainAlgo::initialiseNodeStates | ( | const BioFunction & | function, |
MyNodeIdList & | nodesToAnnotate | ||
) | [virtual] |
Initialise the states of the nodes in the graph. Each node annotated with function gets the state ANNOTATED_STATE; these nodes are "clamped," i.e., the algorithm will not change their states. All other nodes get the state HYPOTHETICAL_STATE. The algorithm may change the states of these nodes. In other words, these nodes are not clamped. The argument nodesToAnnotate contains the IDs of the unclamped nodes.
Reimplemented from MyOneVersusAllGainAlgo.
void MyOneVersusAllSemiHierarchicalHopfieldGainAlgo::printStatistics | ( | ostream & | statsStream | ) | [virtual] |
Print statistics about the performance of the algorithm.
For this algorithm, this method simply prints the number of iterations taken to achieve convergence.
Reimplemented from MyOneVersusAllGainAlgo.