Functions that construct random ReactionNetwork instances by various methods.
Functions
Linear(natoms, maxlength, pform, pbreak[, ...]) | Generates a random ReactionNetwork from molecules that are strings of atoms and can join together or break apart. |
Uniform(nmols, nreactions, nreactants, nproducts) | Generates a random ReactionNetwork by assigning reaction randomly between all molecular species. |
Classes
ReactionNetwork(rates) | A dictionary of reactions where each key is a reaction composed of (tuple(sorted(reactants)), sorted(tuple(products))) and each value is the rate. |
Generates a random ReactionNetwork by assigning reaction randomly between all molecular species.
Arguments:
Note
ReactionNetwork tracks molecules by their reactions, so if a molecule is not part of any reaction it will not appear at all e.g. in seen(). This could lead to differences from nmols.
Note
The value of nreactions is the number of times a reaction will be added to the ReactionNetwork. If it is already in the ReactionNetwork, it will be replaced. This can lead to ReactionNetwork with less than nreactions reactions.
Number of reactants for each reaction in the reaction network. Can be a single value or a tuple/list which will be uniformly sampled from (duplicates can be used to give a non-uniform distribution).
Note
If this is a tuple/list it will be sampled for each reaction.
Number of products for each reaction in the reaction network. Can be a single value or a tuple/list which will be uniformly sampled from (duplicates can be used to give a non-uniform distribution).
If this is None, then nreactants must be a tuple of (nreactants, nproducts) or a list of tuples.
Note
If this is a tuple/list it will be sampled for each reaction.
Rate of each reaction in the reaction network. Can be a single value or a tuple/list which will be uniformly sampled from (duplicates can be used to give a non-uniform distribution).
Note
If this is a tuple/list it will be sampled for each reaction.
These arguments can be a single value or a tuple/list which will be uniformly sampled from.
For example:
Uniform(5,3,2,1) will generate 5 molecules with 3 reactions between them where each reaction has two reactants and one product.
Uniform(5,3,(1,2), (1,2)) will generate 5 molecules with 3 reactions between them where each reaction has one or two reactants and one or two products.
Uniform(5,3,((2,1),(1,2)), None) will generate 5 molecules with 3 reactions between them where each reaction has either two reactants and one product or one reactant and two products.
Generates a random ReactionNetwork from molecules that are strings of atoms and can join together or break apart.
Based on the paper Autocatalytic sets of proteins. 1986. Journal of Theoretical Biology 119:1-24 by Kauffman, Stuart A. but without the explicit catalytic activity.
Arguments:
Note
ReactionNetwork tracks molecules by their reactions, so if a molecule is not part of any reaction it will not appear at all e.g. in seen().