dynamics and metadynamics in biological and chemical networks hugues bersini iridia universite libre...
TRANSCRIPT
Dynamics and MetaDynamics in Biological and Chemical Networks
Hugues BersiniIRIDIAUniversite Libre de Bruxelles
Two examples
One brief example: Hopfield networkA second longer example: Chemical
Network
1. Network ??
Homogeneous units ai (t) (the same time evolution - the same differential or difference equations) dai/dt = F(aj, Wij)
A connectivity matrix: Wij
A large family of biological networks: Idiotypic immune network Hopfield network Coupled Map Lattice Boolean network Ecological network (Lokta-Volterra) Genetic network
Chemical network ?
a + b --> cc + d --> e…..d[a]/dt = -kabc[a][b]
d[c]/dt = kabc[a][b]Quadratic form of networkFixed point dynamics
Dynamics
ai(t)
Time
MetaDynamics
A second level of change Change in the structure of the
network- add or remove units- add or remove connections- modify connection values
Studied examples
Learning in Hopfield NetworkAdding or removing antibody types
in idiotypic networkAdding or removing molecules in
chemical network
A key interdependency
First Example: Hopfield Network
daidt
ai
f( wijj1
n a j) -
1tanh(x)2
f(x) =
A 6-neurons Hopfield net
0 - 1 0 0 -1 -1
0 0 0 -1 -1 -1
-1 -1 0 0 - 1 0
-1 -1 -1 0 0 0
-1 -1 0 -1 0 0
0 - 1 -1 -1 0 0
Wij =
The dynamics
-2 -1 0 1 2-1.5
-1
-0.5
0
0.5
1
1.5figure 1
-2 -1 0 1 2-1.5
-1
-0.5
0
0.5
1
1.5figure 2
-1 -0.5 0 0.5 1-1
-0.5
0
0.5
1figure 3
-1 -0.5 0 0.5 1-1
-0.5
0
0.5
1figure 4
The frustrated chaos: the idiotypic network - the origin
0
50
100
150
200
250A
b c
on
c
0 5 01 0 01 5 02 0 02 5 0time [d]
3 0 03 5 04 0 0
2-clone case 0 1
1 0
0
50
100
150
200
250
Ab
co
nc
en
tra
tion
s
0 5 01 0 01 5 02 0 02 5 0time [d]
3 0 03 5 04 0 00
100
200
300
400
500
0
Ab
co
nc
en
tra
tion
s
1 0 02 0 03 0 04 0 05 0 06 0 0time [d]
7 0 08 0 0
3-clone open chain 0 1 0
1 0 1
0 1 0
3-clone closed chain
0 1 1
1 0 1
1 1 0
Properties of this chaos
Typical intermittent chaos: critical bifurcation, length of cycles increasing… type 1 or type 2 bifurcation T(wij) = 1/(mij - mij
T)
Where the intermittent cycles are the relaxing cycles
= Kaneko’s chaotic itinerancyPresent in immune, CML, Hopfield Net.Not enough studied
Bifurcation Diagram
MetaDynamics = Learning
Hebbian Learningd(wij)/dt = kai.aj
Control the chaos by stabilizing one of the frustrated cycle.
Learning travels on the bifurcation diagram
Still to “engineerize” or to “cognitivize”….
Second example: Chemical Network
OO CHEMISTRY
AARTIFICIALCHEMISTRY
OO COMPUTATION
Artificial Chemistry
a + b --> c + d A set of molecules:
abstract symbols, numbers, lambda expressions, strings, proofs
A set of reaction rules: string matching, concatenation,lambda calculus, finite
state automata, Turing machines,matrix multiplication, arithmetic, boolean…
A dynamics: ODE, difference equations, explicit collision, cellular
automata, reactor, 3-D Euclidean space, ..
Example
Molecules: {1,2, …}Reaction rules:
a + b --> a + c with c =
Dynamics = random choice of molecules
Dittrich in Dortmund .
a/b if a mod b = 0
b otherwise
Kaufmann - autocatalytic self-maintaining network
Fontana - emergence of self-maintaining and self-producing chaining reactions
Fontana (2)
The three main “raison d'être” of Alife or Achemistry
Offers biologists or chemists software platforms to be easily parameterize to allow simulation of real biology or chemistry--->design patterns
Allow the discovery of laws describing universal emergent behaviors of complex systems. Like Kauffman’s laws of Boolean networks Fontana’s emergence of hypercycles etc….
Lead to new engineering tools
OO Computation
OO reconnects programming and simulation
the program objets are “real” objectsUsing UML diagram helps to visualize the
program. Visualizing allows better understanding
Objects have state and behaviourObjects mutually interact by sending
messages (orders)
OO Chemistry
Component
concentration
modifyConcentration( )
0..*
ChemicalComponent
reactivity0..*
SourceComponent
0..*0..*
11..*
0..*1
myIdentity
Atom
identitykeyslocksvalenceenergyReceptors
1..*
myConnectedAtoms
1
*
1
Link
nbrOfBoundsenergy
exchangeLink( )
headAtom1
1
AtomInMolecule
aCopy_AtomInMolecule
duplicate( )compare( )
1..*
1
*
1
CrossOverOpenBound
Molecule
numberOfInstances[]
11..*
0..*1
1
1
Reaction
1
1..*1..*
1
2.5 Molecule
Atoms aggregationattributes : which atom and how many
instances of eachmethods: constructors :
– from two atoms– from one atom and one molecule– from two molecules– by splitting one molecule
One front door: the headAtom = AtomInMolecule for the structure of the complex
2.6 AtomInMolecule
As soon as an atom get into a molecule they have identity related with atom they code the tree or the graph structures they have pointers called myConnectedAtoms the well-known computational trick to handle
tree and graphs.What molecules do, atomInMolecule have to
do: test affinity, duplicate, be compared.
Basic atoms
1 - valence 42 - valence 23 - valence 14 - valence 1Basic diatomic molecules: 1(1), 2(2),
3(3), 4(4)
1(1(4 4 4) 2 (1 (3 3 3) 2 (2 (3)) 2 (4))
4 4 4
1
3 3 3
1
2
3
2
2
4
2
1
A MOLECULE = A COMPUTATIONAL TREE
Not far from the SMILES notation
2.7 Link
A link between two atomsInMolecule: poleA and poleB
Two capital attributes:the nbr of boundsthe energy
One key method in the crossover type of reactions:
aLink.exchangeLink(anotherLink)
if (the identity of n < the identity of m) { the smaller is n }
else
if (the identity of n = the identity of m)
{ if ( n has no connected atom and m has no connected atom) {the smaller is n}
else
if (the number of connected atoms of n > the number of connected atoms of m) {the smaller is n}
else
if ( the number of connected atoms of n = the number of connected atoms of m)
{for all j connected atoms of n and m
{if (the identity of the jth connected atom of n < the identity of the jth connected of m) {the smaller is n , break-
the-loop}
else
{ for all connected atoms of n and m
{ redo recursively the same testing procedure}}}}
Table 1: Which is the smaller between theatomInMolecule n and m.
THE CANONICALISATION:ONE TREE = ONE MOLECULE
Still miss:
IsomerismMerging molecules: aromaticity,…Cristals…….
The different reaction mechanisms
Chemical CrossOver: HCL + NaOH --> NaCL + H2O N2 + 3H2 --> 2NH3
C2H5OH+CH3COOH --> CH3COOC2H5 + H2O
multiple-link CrossOver: CH4 + 2O2 --> CO2 + 2H2O
OpenBound Reaction: C2H2 + 2H2 --> C2H6
CloseBound Reaction: 2Na2Cl --> 2NO2 + Cl2
Reorganisation: CH3CHO --> CH4 + CO
One simple crossover
Figure 3: a single-link-crossover
1
2
3
4
2
3
1
4
+ =
The single-link crossover:1(1) + [4] 2 (3 4) 1(3 3 3 3) + 1(2(4) 2(4) 2(4) 2(4)
The multiple-link crossover: 1(4 4 4 4) + [2] 2(2) 1(2 2) + [2] 2(4 4)
One open-bond reaction
1
1
+
4
4
=
1
1
444
444
Difference with the GA crossover
Xover occurs between trees = genetic programming
valence plays an important role (no engineering needs)
one or more links can be involvedCANONICALISATION (discussed in the
following) FITNESS (discussed in the following)
CANONICALISATION
Not necessary with GP, only the result of the tree is important not its structure
Don’t care about similar fonctionnal trees in the population because no explicit need of the concentration or the diversity.
FITNESS
Reactions lowering the fitness are much more probable.
So fitness must be implicitly distributed on the links
Molecule presents weak epistasisSimilar to (Baluja and Caruana, 1995)Where the fitness is explicilty
distributed on the schema
The random simulation loop
Take randomly one molecule Take randomly another molecule Make them react according to either:
- the Crossover - the Open-Bond reaction
In each reaction the link which breaks is the weakest link. Generate the new molecule in its canonical form only if
they don’t exist already in the system. Calculate the rate of the reaction.
The determistic simulation
Ad infinitum do {- time = time + 1- For all molecules i of the system
For all molecules j (going from 1 to i) of the system { - Make the reaction (i,j) according to a specific
reaction mechanism - Put the products in the canonical form
- If the products of the reaction already exist, increase their concentration, if not add them in the system with their specific concentration. - To do so calculate the rate
- Decrease the concentration of i and j }}
How is the rate calculated
K = exp(-Ea/T)if ( Er
links> Eplinks) Ea = else
Ea = Ep
links- Erlinks +
Erlinks
Eplinks
Departure of the reactions
Four molecules:
1(1) 2(2) 3(3) 4(4)
After several steps of the simulation
1 ( 3 3 3 3 ) , 1 ( 2 ( 2 ( 3 ) ) 3 3 3 ) , 1 ( 1 ( 3 3 3 ) 3 3 3) , 1 ( 4 4 4 4 ) , 1 ( 3 4 4 4 ) , 2 ( 2 ( 4 ) 3 ) , 1 ( 1 ( 4 4 4 ) 3 3 4 ) , 1 ( 1 ( 3 3 3 ) 1 ( 3 3 3 ) 1 ( 3 3 3 ) 1 ( 3 3 3 ) ) , 1(2 (1 ( 3 3 3 ) ) 3 3 3 ), 1 ( 2 ( 4 ) 3 3 4 ) , 1 ( 2 ( 1 ( 4 4 4 ) ) 4 4 4 ) , 1 ( 3 3 4 4 ) , 2 ( 2 ( 4 ) 4 ) , 1 ( 1 ( 3 3 3 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) ) , 1 ( 1 ( 3 3 3 ) 1 ( 3 3 3 ) 1 ( 3 3 3 ) 2 ( 2 ( 1 ( 3 3 3 ) ) ) ) , 1 ( 2 ( 2 ( 2 ( 1 ( 3 3 3 ) ) ) ) 3 3 3 ) , 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) 2 ( 1 ( 3 3 3 ) ) ) , 1 ( 1 ( 2 ( 4 ) 2 ( 4 ) 2 ( 4 ) ) 2 ( 3 ) 2 ( 3 ) 2 ( 3 ) ) , 1 ( 1 ( 1 ( 4 4 4 ) 2 ( 1 ( 3 3 3 ) ) 2 ( 3 ) ) 1 ( 1 ( 4 4 4 ) 2 ( 1 ( 3 3 3 ) ) 2 ( 3 ) ) 1 ( 1 ( 4 4 4 ) 2 ( 1 ( 3 3 3 ) ) 2 ( 3 ) ) 1 ( 1 ( 4 4 4 ) 2 ( 1 ( 3 3 3 ) ) 2 ( 3 ) ) ) .
A 93 atoms molecule
1 ( 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 2 ( 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) ) ) ) 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 2 ( 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) ) ) ) 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 2 ( 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) ) ) ) 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 2 ( 1 ( 1 ( 4 4 4 ) 1 ( 4 4 4 ) 1 ( 4 4 4 ) ) ) ) )
The dynamics
First order reaction: a + b --> c [c] = [c] + k [a][b] [a] = [a] - k[a][b] [b] = [b] - k[a][b]
First Simple results
A chemical reactor only containing:
And simple Crossover reaction
3
3
And
4
4
Irreversible - simulation deterministe
0
50
100
150
200
250
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61
Series1
Series2
Series3
reversible
0
10
20
30
40
50
60
70
80
90
100
1 4 7 10 13 16 19 22 25 28 31 34 37 40
Series1
Series2
Series3
More general simulations departing with 1(1), 2(2), 3(3) and 4(4).
To avoid exponential explosion: only make the nth first molecules
interact with the nth first moleculesOR
only make the molecules with concentration above a certain threshold to interact
0
10
20
30
40
50
60
70
80
90
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Series1
Series2
Series3
Series4
Series5
Series6
Series7
Series8
Series9
Series10
Series11
Series12
Series13
Series14
Results
Emergence of survival networkWhich network, which molecule, is
hard to predict ??Depending on the dynamics and
metadynamicsVery sensitive in an intricate way to
a lot of factors
Conclusions
Very general abstract scheme studying how metadynamics and dynamics interact in natural networks
Mainly computer experiments For Immune nets: tolerance, homeostasis, memory
... For NN --> possible connection with learning and
the current new wave NN (chaos, oscillation and synchronicity)
For chemistry: how and which surviving networks emerge in an unpredictable way