Skip to content
Wei-ju Wu edited this page Aug 7, 2013 · 20 revisions

In order to use cMonkey for a computation, a user needs to setup a cMonkey run. A run is a set of specific input data and configuration parameters and a set of scoring algorithms that are activated at certain iterations and combined using user-specified weights.

cMonkey Python supports the user by providing the CMonkeyRun class which contains a framework for executing a run. The user can override certain configuration parameters or its methods to customize the run.

Architecture

TODO

Core algorithm

At the heart of the cMonkey algorithm is a scheduler that executes specific scoring modules at user-defined iterations and with a user-defined scoring weight. There are two distinct classes of scoring modules:

  • Row scoring modules are based on the input matrix's rows (or genes). The user may define an arbitrary number of row scoring modules in a run.
  • Column scoring modules are based on the input matrix's columns (or conditions). Currently, only a single column scoring function per run is supported

Anatomy of a scoring module

A cMonkey scoring module is a class that implements the method

def compute(self, iteration_result, reference_matrix=None)

which returns a DataMatrix object with

  • num_genes rows and num_clusters columns for a row scoring module where each cell contains the score for each gene-cluster combination
  • num_conditions rows and num_clusters columns for a column scoring module where each cell contains the score for each condition-cluster combination

Clone this wiki locally