NAME

Bio::Metabolic::Reaction - Perl extension for biochemical reactions

SYNOPSIS

use Bio::Metabolic::Reaction;

my $r1 = Bio::Metabolic::Reaction->new('r1',[$sub1,$sub2],[$sub3,$sub4]);

$r1->kinetics('linear');

DESCRIPTION

This class implements objects representing a biochemical reaction. A biochemical reaction in this context is defined by its input and its output substrates, i.e. by two Bio::Metabolic::Network::Cluster objects. Further, every instance of this class is associated with a mathematical expression which determines the dynamical behaviour of the reaction, i.e. the reaction rate.

EXPORT

None

OVERLOADED OPERATORS

String Conversion
  $string = "$reaction";
  print "\$reaction = '$reaction'\n";

Equality
  if ($reaction1 == $reaction2)
  if ($reaction1 != $reaction2)

AUTHOR

Oliver Ebenhöh, oliver.ebenhoeh@rz.hu-berlin.de

SEE ALSO

Bio::Metabolic Bio::Metabolic::Substrate Bio::Metabolic::Substrate::Cluster.

METHODS

Constructor new

There are three ways to call the constructor method:

1.) $r = Bio::Metabolic::Reaction->new($name, $inlist, $outlist);

Here, the first argument must hold the name. The following two arguments 
provide arrayrefs of Bio::Metabolic::Substrate objects, defining the input and 
output substrates of the biochemical reaction.
If a reactant occurs twice (e.g. X + X -> Y), it has to appear twice in the
corresponding list.

2.) $r = Bio::Metabolic::Reaction->new($name, $substrates, $coefficients)

The first argument must specify the name. The second argument can be an 
arrayref of Bio::Metabolic::Substrate objects or a Bio::Metabolic::Substrate::Cluster
object, defining all participating reactants.
The third argument must hold numbers specifying the multiplicity of the 
reactants in the same order as the reactants have been specified.

Example: Let $X and $Y be Bio::Metabolic::Substrate objects defining the
    reactants X and Y. The reaction X + X -> Y can be defined either by

        $r1 = Bio::Metabolic::Reaction->new('r1', [$X,$X], [$Y]);

    or by

        $r2 = Bio::Metabolic::Reaction->new('r2', [$X,$Y], [-2,1]);

3.) The constructor can be called as an object method, using another reaction as template: $r2 = $r1->new().

Method copy

copy() is exactly the same as $r2 = $r1->new();

Method name

Optional argument: sets the object's name. Returns the object's name.

Method substrates

Returns all participating compounds as a Bio::Metabolic::Substrate::Cluster object. Optional argument: sets the substrates.

Method stoichiometry

Returns a hashref. Keys are the substrate names, values the stoichiometric coefficients (negative for input substrates, positive for output substrates). It the absolute value differs from one, the corresponding substrate is consumed/produced more than once. Optional argument: sets the stoichiometries.

Method st_coefficient

Argument must be a substrate. Returns the stoichiometric coefficient (cf. method stoichiometry()) of the specified substrate.

Method in

Returns the input substrates as a Bio::Metabolic::Substrate::Cluster object.

Method out

Returns the output substrates as a Bio::Metabolic::Substrate::Cluster object.

Method dir

Take one parameter which must be -1 or 1. Returns the input or output substrates, respectively.

Method get_substrate_list

Returns input and output substrates as one list.

Method equals()

compares two Bio::Metabolic::Reaction objects. Returns 1 if all substrates occur with the same stoichiometric coefficient, 0 otherwise.

Method kinetics

Sets the rate expression of the reaction. The rate is expressed by a Math::Symbolic object and accessible by the method rate(). Additional, some parameters will be set. The first argument specifies the template to determine the rate expression.

The following templates are available at the moment: 'linear', 'linear_reversible' : multilinear reversible kinetics results in the parameters 'k+' and 'k-'. 'linear_irreversible' : mutlilinear irreversible (forward) kinetics results in the parameter 'k'

Method rate

Optional argument: Sets the rate expression. Returns the rate expression.

Rate expressions are Math::Symbolic objects.

Method parameters

Optional argument: Sets the parameters. Returns the parameters.

Parameters are given as hashrefs and are set e.g. by the method kinetics.

Method parameter

Returns the parameter specified by the argument or undef if that parameter is not defined.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 40:

Non-ASCII character seen before =encoding in 'Ebenhöh,'. Assuming CP1252