Biorithm  1.1
Public Member Functions
MyReallyAbstractGainAlgo Class Reference

A super-duper rilly, rilly abstract class for function prediction algorithms in GAIN. This class only contains basic methods that all algorithms need. More...

#include <gain-algorithm.h>

Inheritance diagram for MyReallyAbstractGainAlgo:
MyAbstractGainAlgo< StateType > MyAbstractGainAlgo< MyGainTriStateType > MyOneVersusAllGainAlgo MyOneVersusAllAbstractSVMGainAlgo MyOneVersusAllGeneManiaGainAlgo MyOneVersusAllHopfieldGainAlgo MyOneVersusAllLocalGainAlgo MyOneVersusAllMincutGainAlgo MyOneVersusAllSinkSourceGainAlgo MyOneVersusNoneGainAlgo MyOneVersusAllLibSVMGainAlgo MyOneVersusAllSVMLightGainAlgo MyOneVersusAllSemiHierarchicalHopfieldGainAlgo MyOneVersusNoneSinkSourceGainAlgo MyOneVersusNoneFunctionalFlowGainAlgo MyOneVersusNoneLocalGainAlgo MyOneVersusAllSVMLightTransductiveGainAlgo MyOneVersusAllHierarchicalHopfieldGainAlgo

List of all members.

Public Member Functions

virtual void initialiseAlgorithm ()
virtual string getName ()=0
virtual void pipeline (const BioFunction &function)=0
virtual void printStatistics (ostream &statsStream)

Detailed Description

A super-duper rilly, rilly abstract class for function prediction algorithms in GAIN. This class only contains basic methods that all algorithms need.

Implementing a New Algorithm in GAIN.

GAIN contains an easy-to-use framework to implement new function prediction algorithms. Here are the steps that you will need to take:

  1. Decide if the algorithm uses both positive and negative examples or only positive examples. We call algorithms that use both positive and negative example "one-versus-all" algorithms and those that use only positive examples "one-versus-none" algorithms. The steps below show how to add a one-versus-none algorithm called "local" to the GAIN code. The steps for adding a one-versus-all algorithm are analogous.

  2. Give your algorithm a short mnemonic name, e.g., "local".

  3. Add your algorithm's name as a possible option to the one-versus-none and the shorter ovn option in gain.ggo. This change will allow the user to invoke the algorithm with the --one-versus-none local or the --ovn local option.

  4. Create a class called MyOneVersusNoneLocalGainAlgo as a subclass of MyOneVersusNoneGainAlgo in gain-algorithm.h. Document the class, especially by summarising the algorithm. Override any methods in MyOneVersusNoneGainAlgo that you need to.

  5. Add code to the function addAlgorithms in gain.C that will create an instance of MyOneVersusNoneLocalGainAlgo().


Member Function Documentation

virtual string MyReallyAbstractGainAlgo::getName ( ) [pure virtual]
virtual void MyReallyAbstractGainAlgo::initialiseAlgorithm ( ) [inline, virtual]

Initialise internal data structures for the algorithm.

Reimplemented in MyOneVersusAllSemiHierarchicalHopfieldGainAlgo.

virtual void MyReallyAbstractGainAlgo::pipeline ( const BioFunction function) [pure virtual]

Run the complete pipeline for the algorithm.

Implemented in MyAbstractGainAlgo< StateType >, and MyAbstractGainAlgo< MyGainTriStateType >.

virtual void MyReallyAbstractGainAlgo::printStatistics ( ostream &  statsStream) [inline, virtual]

Print statistics about the performance of the algorithm, after processing all functions.

Reimplemented in MyOneVersusAllSemiHierarchicalHopfieldGainAlgo, and MyOneVersusAllGainAlgo.


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