NAME
Bio::Cellucidate - Perl library for cellucidate.com
SYNOPSIS
use Cellucidate;
# Search for a bookshelf, returns an array of bookshelf hashes
$bookshelves = Bio::Cellucidate::Bookshelf->find();
$bookshelves = Bio::Cellucidate::Bookshelf->find( { name => 'Reference 10' });
# Single bookshelf
$bookshelf = Bio::Cellucidate::Bookshelf->show(102);
# Bookshelf properties
$bookshelf->{id} # => 102
$bookshelf->{name} # => 'Reference 10'
# All books on a bookshelf
$books = $bookshelf->books();
# Search for a book
$books = Bio::Cellucidate::Book->find( ... );
# Search for models..
$models = Bio::Cellucidate::Model->find( ... );
# Single model
$model = Bio::Cellucidate::Model->show( id );
# All models in a book
$model = Bio::Cellucidate::Book->models( book_id );
# All model rules in a model
$model_rules = Bio::Cellucidate::Model->model_rules( model_id );
# All initial conditions in a model
$initial_conditions = Bio::Cellucidate::Model->initial_conditions( model_id );
# All simulation runs in a model
$simulation_runs = Bio::Cellucidate::Model->simulation_runs( model_id );
# Create a simulation run for a model
$simulation_run_params = { "model_id" => $model_id };
$simulation_run = Bio::Cellucidate::SimulationRun->create($simulation_run_params);
$csv_data = Bio::Cellucidate::SimulationRun->get($simulation_run_id, 'csv');
$plots = Bio::Cellucidate::SimulationRun->plots($simulation_run_id);
$plots = $simulation_run->plots(); # Bio::Cellucidate::Plot->find( { simulation_run_id => $id } );
DESCRIPTION
Cellucidate is a tool for computation biologists to run simulations. It is based on the Kappa language.
The various objects in Cellucidate are arranged into a book metaphor. The basic hierarchy is:
Bookshelves
`-> Books
`-> Agents
`-> Rules
`-> Models
`-> Model Rules
`-> Initial Conditions
`-> Rule Observables
`-> Solution Observables
`-> Simulation Runs
`-> Ode Results
`-> Plots
`-> Series
Additionally, there are a few resources for auxiliary tasks, like importing data and running various jobs Cellucidate::KappaImportJob.
REST
Cellucidate has a RESTful interface. So this library is built upon the REST::Client library. At the core, there are 4 operations over HTTP, including: GET, POST, PUT and DELETE. The encoding is primarily XML, but certain resource can be returned in CSV and Kappa (application/x-kappa).
COMMON METHODS / PATTERN
Around each resource, there are convience methods -
find( { params }, format)
get(id, format)
update(id, { data }, format)
create({ data }, format)
See each subclass for a list of specific methods and examples
CONFIGURATION
There are two variables that should be set. These are used by all subclasses.
- $Bio::Cellucidate::CONFIG
-
This is a hash of configuration options for the underling REST client. See REST::Client for more information.
$Bio::Cellucidate::CONFIG = { host => 'http://api.cellucidate.com' };
- $Bio::Cellucidate::AUTH
-
This is a hash of your authentication information from cellucidate.com. It includes your email address as your login and API Key.
$Bio::Cellucidate::AUTH = { login => 'email@host.com', api_key => '111111' };
SUBCLASSES
- Bio::Cellucidate::Base
-
Base class for each resource.
- Bio::Cellucidate::Bookshelf
-
Represents a Bookshelf in Cellucidate. This is pretty much the top tier of cellucidate resources.
- Bio::Cellucidate::Book
-
Represents a Book in Cellucidate. This is where Models live. A book can be placed on a Bookshelf and has many Models.
- Bio::Cellucidate::Agent
-
Represents an agent in Cellucidate. Agents are used by rules and initial conditions and solution observables. Books have zero, one or many agents and an agent belongs to a book.
- Bio::Cellucidate::Rule
-
Represents a rule in Cellucidate. Books have zero, one or many rules and a rule belongs to a book. Models have Rules through the ModelRule resource.
- Bio::Cellucidate::Model
-
Represents a biological model in Cellucidate. The model belongs to a book and contains a number of Model Rules and Initial Conditions. A number of simulations can be run from a Model, each having a number of settings.
- Bio::Cellucidate::ModelRule
-
Represents a Rule that is used my a model. Model rules belong to a model and models have one or more typically many model rules. ModelRules have an association to Rules.
- Bio::Cellucidate::SolutionObservable
-
Represents an Agent or set of Agents that you want to observe and plot the concentration of when the simulation is run.
- Bio::Cellucidate::RuleObservable
-
Represents a ModelRule that you want to observe the activity of when the simulation is run.
- Bio::Cellucidate::InitialCondition
-
This is an initial condition in a model. Models have one by more typically many initial conditions and an initial condition belongs to a model.
- Bio::Cellucidate::SimulationRun
-
A simulation run represents an execution of the Cellucidate simulator and contains child result resources. Simulation runs define various settings. A Model has one or many simulation runs and a simulation run belongs to a model.
- Bio::Cellucidate::OdeResult
-
Represents the set of ODE formulas generated when running a simulation in ODE-mode. The results can be used directly in MATLAB.
- Bio::Cellucidate::Plot
-
A plot contains a single time series and a number of data series representing the rule and solution observables. A simulation run has one or many plots (one for each iteration).
- Bio::Cellucidate::Series
-
A collection of datapoints. A series belongs to a plot and represents an observable or time.
- Bio::Cellucidate::KappaImportJob
-
This is a resource that represents an import job. This allows the creation of a Book, including Model Rules and Initial Conditions, from a Kappa string.
- Bio::Cellucidate::Request
-
This is the request client, a subclass of REST::Client. This isn't a cellucidate resource.
SEE ALSO
http://cellucidate.com, REST::Client
AUTHOR
Brian Kaney, <brian@vermonster.com<gt>
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Plectix BioSystems Inc
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.9 or, at your option, any later version of Perl 5 you may have available.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 156:
You forgot a '=back' before '=head1'