1 / 25

Hyper-structures et modélisation de chimie artificielle dans le langage MGS

Clément BOIN & Nicolas THIBAULT Maîtrise Informatique – Université d’Evry Val-d’Essonne – 2001-2002. Hyper-structures et modélisation de chimie artificielle dans le langage MGS. T.E.R. encadré par Jean-Louis Giavitto & Olivier Michel. Plan. Introduction La chimie artificielle MGS

lukas
Download Presentation

Hyper-structures et modélisation de chimie artificielle dans le langage MGS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Clément BOIN & Nicolas THIBAULT Maîtrise Informatique – Université d’Evry Val-d’Essonne – 2001-2002 Hyper-structures et modélisation de chimie artificielle dans le langage MGS T.E.R. encadré par Jean-Louis Giavitto & Olivier Michel

  2. Plan • Introduction • La chimie artificielle • MGS • Modélisation d’un réseau autocatalytique • Modélisation d’un réseau biochimique • Conclusion

  3. + La chimie artificielle • Chimie virtuelle • Modèles discrets et combinatoires • Avantages et Inconvénients

  4. Définition d’une expérience • Un ensemble d’objets • Des règles de transformation • Des règles d’interaction dynamique

  5. MGS (Modèle Général de Simulation) • Langage dédié • Langage déclaratif • Deux interprètes : Ocaml et C++

  6. + Particularités de MGS • Les collections topologiques • Les transformations • Les enregistrements • Lien avec la chimie

  7. Exemple MGS • fun objets(m) = if m==1 then ():set else m::(objets (m-1)) fi;; • trans premier = {x , y/(y%x==0) => x };; • premier['iter='fixpoint](objets(100));;

  8. Modélisation d’un réseau autocatalytique • Exposé chimique du problème • Idée générale de modélisation • Stratégie d’implémentation en MGS • Représentation d’un polymère • Création des produits et réactions • Exécution • Exemple d’utilisation et interprétation des résultats

  9. Exposé chimique du problème • M1 + M2 M12 • Sélectionner les polymères dominants Kf Kr

  10. Idée générale de modélisation • Approche individuelle des polymères • Utilisation d’entiers 1 + 2 12 • Création aléatoire des éléments 14

  11. Représentation d’un 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

  12. Cré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

  13. Exé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.

  14. Code MGS trans Biochimie = { reaction_a = a, b, c /((a==nieme(i,reaction).poly1)& (b==nieme(i,reaction).poly2)&(c==nieme(i,reaction).cata)) => if condition(nieme(i,reaction).kf) then (nieme(i,reaction).poly_res)::c::():solution else a::b::c::():solution fi; reaction_b = a, c /((a==nieme(i,reaction).poly_res)& (c==nieme(i,reaction).cata)) => if condition(nieme(i,reaction).kr) then (nieme(i,reaction).poly1):: (nieme(i,reaction).poly2)::c::():solution else a::c::():solution fi; };;

  15. Exemple • 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

  16. Exemple Après 20 itérations Après 50 itérations

  17. Modélisation d’un réseau biochimique • L’expérience de A.E. Bugrim • Modélisation en MGS • Visualisation avec Imoview

  18. G AC R R Rec C C ATP cAMP Ca2+ Agonist I CI C + Univers C C PhK R R Plasma Cytosol Reticulum endoplasmique Structure générale de la cellule Stimulus Les molécules : Schéma logique Fig.1

  19. Stimulus Les réactions : Réseau d’interactions 8 Ca2+extracell Channel(closed) Agonist 9 Channel(open) Rec* PhK 1 G-protein Ca2+intracell Rec 2 diff AC 10 G-protein* 3 (cAMP)2•R Ca•PhK R2C2 G-protein AC* C 5 6 diff diff ATP 4 cAMP 7 inh I Ca.PhK* CI Fig.2

  20. L’expé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

  21. Code 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",actif=0}:: {nom="r2c2"}:: {nom= "gprot",actif=0}:: {nom= "ac",actif=0}::{nom= "channel",actif=0}:: CYTOSOL:: ():Plasma ;; U := {nom= "agonist",actif=1}:: {nom= "stimulus",actif=1}:: {nom= "ca++",diffuse=0}:: PLASMA:: ():Univ ;;

  22. Code MGS (2) // Ensemble des réactions trans Biochimie = { Incr = c:Cytosol => IncrCyt(c)::():Cytosol; //Incrémenter les tps de diffusion Reaction1 = a:Agonist1, p:Plasma => (a+{actif=0})::ActiveRecepteur(p)::():Univ; Reaction2 = r:Recepteur1, g:Gprot0 => (g+{actif=1})::(r+{actif=0})::():Plasma; Reaction3 = g:Gprot1, a: AC0 => (g+{actif=0})::(a+{actif=1})::():Plasma; Reaction4 = a: AC1, c:Cytosol =>(a+{actif=0}):: TransAtp(c)::():Plasma; Reaction5 = a:cAMP1, re:Retic_Endo/member({nom="r2c2"},re) => AleaR2C2(a,re); Reaction5b = r:R2C2, c:Cytosol/member({nom="camp",diffuse=DIFFCAMP},c) => delete({nom="camp",diffuse=DIFFCAMP}, ({nom="c",diffuse=0}::{nom="(camp)2.r"}::c))::():Plasma; Reaction6 = c:Cenzime1, x:CaPhK0 => c::(x+{actif=1})::():Cytosol; Reaction7 = c:Cenzime, i:I => Aleatoire(TAUXINIB,c,i); Reaction8 = s:Stimulus1, p:Plasma => (s+{actif=0})::ActiveChannel(p)::():Univ; Reaction9 = c:Ca2p, p:Plasma/member({nom="channel",actif=1},p) => AjoutPlasmaCa(DesChannel(p))::():Univ; Reaction10 = x:Ca2p1, y:PhK => {nom="caphk", actif =0}::():Cytosol; };;

  23. Imoview (État initial) Reticulum Cytosol Stimulus Agonist Plasma

  24. État final Ca.PhK* CI

  25. Conclusion • MGS, langage abstrait • Limites • Complexité • Fonctions aléatoires • Code peu réutilisable

More Related