Title: Hyper-structures et
1- Hyper-structures et
- modélisation de chimie artificielle
- dans le langage MGS
Clément BOIN Nicolas THIBAULT Maîtrise
Informatique Université dEvry Val-dEssonne
2001-2002
T.E.R. encadré par Jean-Louis Giavitto Olivier
Michel
2Plan
- Introduction
- La chimie artificielle
- MGS
- Modélisation dun réseau autocatalytique
- Modélisation dun réseau biochimique
- Conclusion
3La chimie artificielle
- Chimie virtuelle
- Modèles discrets et combinatoires
- Avantages et Inconvénients
4Définition dune expérience
- Un ensemble dobjets
- Des règles de transformation
- Des règles dinteraction dynamique
5MGS (Modèle Général de Simulation)
- Langage dédié
- Langage déclaratif
- Deux interprètes Ocaml et C
6Particularités de MGS
- Les collections topologiques
- Les transformations
- Les enregistrements
- Lien avec la chimie
7Exemple MGS
- fun objets(m) if m1
- then ()set
- else m(objets (m-1))
- fi
- trans premier
- x , y/(yx0) gt x
- premier'iter'fixpoint(objets(100))
8Modélisation dun réseau autocatalytique
- Exposé chimique du problème
- Idée générale de modélisation
- Stratégie dimplémentation en MGS
- Représentation dun polymère
- Création des produits et réactions
- Exécution
- Exemple dutilisation et interprétation des
résultats
9Exposé chimique du problème
- M1 M2 M12
- Sélectionner les polymères dominants
Kf
Kr
10Idée générale de modélisation
- Approche individuelle des polymères
- Utilisation dentiers
-
- 1 2 12
- Création aléatoire des éléments
14
11Représentation dun polymère en MGS
- Séquence
- 1 2 12
- 2 1 21
- 12 12 1212
- Séquence avec déterminisme de la réaction
- 1 2 12
- 2 1 12
- 12 12 1212
- Multi-ensemble
- 1 2 12
- 2 1 12
- 12 12 1122
12Création aléatoire des produits et réactions
- Monomères
- Polymères
- Séquence des polymères initiaux
- Séquence des polymères possibles
- Réactions
13Exécution des réactions
- Création des produits et réactions
- Initialisation de la solution
- Transformation MGS générique
- Application de chaque réaction pour un pas
dévolution. - Itération du processus pour plusieurs pas
dévolution.
14Code MGS
trans Biochimie reaction_a a, b, c
/((anieme(i,reaction).poly1) (bnieme(i,react
ion).poly2)(cnieme(i,reaction).cata))
gt if condition(nieme(i,reaction).kf) then
(nieme(i,reaction).poly_res)c()solution
else abc()solution fi reaction_b
a, c /((anieme(i,reaction).poly_res) (cnieme
(i,reaction).cata)) gt if
condition(nieme(i,reaction).kr) then
(nieme(i,reaction).poly1)
(nieme(i,reaction).poly2)c()solution else
ac()solution fi
15Exemple
- Polymères initiaux 42 , 42
- Polymères possibles 42 , 4242
- Réaction
- 42 42 4242
- 42 42 4242
Kf 42
Kr 67
Kf 62
Kr 78
16Exemple
Après 20 itérations
Après 50 itérations
17Modélisation dun réseau biochimique
- Lexpérience de A.E. Bugrim
- Modélisation en MGS
- Visualisation avec Imoview
18Les molécules Schéma logique
Stimulus
Fig.1
19Les réactions Réseau dinteractions
Stimulus
8
Ca2extracell
Channel(closed)
Agonist
9
Channel(open)
Rec
PhK
1
G-protein
Ca2intracell
Rec
2
?diff
10
AC
G-protein
3
(cAMP)2R
CaPhK
R2C2
AC
G-protein
C
6
5
?diff
?diff
4
ATP
cAMP
7
?inh
I
Ca.PhK
CI
Fig.2
20Lexpérience de Bugrim en MGS
- Les molécules - enregistrements
- Structure générale - collections
- Les réactions - transformations
- Application récursive
- Aspects dynamiques
- Les temps de diffusion
- Les réactions non-déterministes
21Code MGS (1)
// Description des strutures dans
l'espace collection Volume bag collection
Membrane bag collection Univ
Volume collection Plasma Membrane collection
Cytosol Volume collection Retic_Endo
Membrane // Initialisation RETICULUM
nom"r2c2" ()Retic_Endo CYTOSOL
nom"i" nom"phk" nom"atp"
RETICULUM ()Cytosol PLASMA nom
"recepteur",actif0 nom"r2c2" nom
"gprot",actif0 nom "ac",actif0nom
"channel",actif0 CYTOSOL ()Plasma U
nom "agonist",actif1 nom
"stimulus",actif1 nom "ca",diffuse0
PLASMA ()Univ
22Code MGS (2)
// Ensemble des réactions trans Biochimie
Incr cCytosol gt IncrCyt(c)()Cytosol
//Incrémenter les tps de diffusion Reaction1
aAgonist1, pPlasma gt (aactif0)ActiveRecep
teur(p)()Univ Reaction2 rRecepteur1,
gGprot0 gt (gactif1)(ractif0)()Plasm
a Reaction3 gGprot1, a AC0 gt
(gactif0)(aactif1)()Plasma
Reaction4 a AC1, cCytosol gt(aactif0)
TransAtp(c)()Plasma Reaction5 acAMP1,
reRetic_Endo/member(nom"r2c2",re) gt
AleaR2C2(a,re) Reaction5b rR2C2,
cCytosol/member(nom"camp",diffuseDIFFCAMP,c)
gt delete(nom"camp",diffuseDIFFCAMP,
(nom"c",diffuse0nom"(camp)2.r"c))()
Plasma Reaction6 cCenzime1, xCaPhK0 gt
c(xactif1)()Cytosol Reaction7
cCenzime, iI gt Aleatoire(TAUXINIB,c,i)
Reaction8 sStimulus1, pPlasma gt
(sactif0)ActiveChannel(p)()Univ
Reaction9 cCa2p, pPlasma/member(nom"channel"
,actif1,p) gt AjoutPlasmaCa(DesChannel(p))()
Univ Reaction10 xCa2p1, yPhK gt
nom"caphk", actif 0()Cytosol
23Imoview (État initial)
Reticulum
Cytosol
Stimulus
Agonist
Plasma
24État final
Ca.PhK
CI
25Conclusion
- MGS, langage abstrait
- Limites
- Complexité
- Fonctions aléatoires
- Code peu réutilisable