Wednesday, August 25, 2010

Defining and creating new modules

The video shows how new modules can be defined and added. A "module" is an encapsulated biological process. So, in TinkerCell, this is treated like a "connection". The graphical representation will be modified to show something more than just a connection (not in this video).

Thursday, August 19, 2010

How the autocompletion of reaction works

Each reaction is now defined by:

1. the family
2. the types, i.e. families, of nodes involved in the connection
3. the "role" of each node involved in the connection

ConnectionFamily::nodeFamilies and ConnectionFamily::nodeFunctions store this information (number 2 and 3 above)

For example, the family named "Enzyme Catalysis" would have:
participant families = Molecule, Molecule, Enzyme
participant roles = Reactant, Product, Catalyst

The roles MUST be unique. If there are multiple Reactants, the roles should define Reactant1, Reactant2, and so on.

The roles are used for:
1. Generating the stoichiometry (Stoichiometry and Rates plugin)
2. Identifying where to place the arrow-heads (Connection Insertion plugin)
3. Identifying how to merge components in a sub-model with the parent-model

The Connection Insertion inserts an arrow for any participant that has the role "Product" or "Target" (or contains those strings).
The Stoichiometry plugins assumes that any participant labeled "Reactant" will be consumed in the reaction and any participant labeled "Product" will be produced.

Abstract reactions with internal models