SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Pattes de mouches: une modélisation de biophysique 
utilisant python scientifique 
Logo DamCB 
Guillaume Gay 
DamCB - Data analysis and modeling for Cell Biology 
e-mail: guillaume@damcb.com (mailto:guillaume@damcb.com) 
github / freenode: glyg 
twitter: @damcellbio / @elagachado
On travaille sur la mouche de vinaigre, drosophila Melanogaster: 
source: wikipedia 
Drosophila development 
On regarde la formation du petit pli entre les segments 4 et 5... 
Vue de très près ça ressemble à ça: 
Vue apicale
Le problème biologique: comment la mouche plie ses 
pattes? 
L'apoptose, ou les cellules kamikases 
Mort programmée via une cascade biochimique. 
Nombreuses fonctions: 
comme la prévention du cancer 
et la morphogénèse 
Un exemple de phénotype quand il y a un défaut d'apoptose
Dans le tissu qui donnera la patte 
Pour former un pli, ~ 30 apoptoses en anneau autour de l'épithélium 
Apical vue of the fold formation on a 
drosophila leg disk 
from glyg 
00:05 
Apical vue of the fold formation on a drosophila leg disk (http://vimeo.com/109897311) from glyg 
(http://vimeo.com/user12210065) on Vimeo (https://vimeo.com). 
Et lorsqu'on suprime l'apoptose... 
Des pattes trop droites
Regardons ce qu'il se passe à l'échelle cellulaire: 
L'apoptose dans la cellule vivante 
Le problème biophysique 
Les déformations du tissus sont dues à l'activité d'un ensemble de protéines intra et extra cellulaires. 
Le modèle de Farhadifar 
Ces protéines forment un maillage entre les cellules, que l'on peut modéliser comme un réseau 
Architecture du réseau pour une cellule 
Minimiser localement l'énergie à chaque modification 
Équilibre des forces 
Le modèle est donc basé sur la bibliothèque graph_tool écrite et maintenue par Tiago P. Peixoto, 
permettant de manipuler des graphes.
graph-tool | Efficient network analysis 
Download Documentation Mailing List Git Issues 
What is graph-tool? 
Graph-tool is an efficient Python module for 
manipulation and statistical analysis of graphs 
(a.k.a. networks). Contrary to most other 
python modules with similar functionality, the 
core data structures and algorithms are 
implemented in C++, making extensive use of 
template metaprogramming, based heavily on 
Download version 2.2.35  
See Instructions | See Changelog 
Voici un exemple rapide de cette bibliothèque 
In [3]: g = gt.price_network(3000) 
pos = gt.sfdp_layout(g) 
pos = gt.graph_draw(g, pos=pos, output="graph-draw-sfdp.png") 
A graph generatated by graph-tool
Les avantages de graph-tool: 
1. C'est rapide (C++ / meta-programming, openMP) 
2. PropertyMaps interfacées aux ndarray de NumPy. 
3. Bonnes E/S 
4. Mécanisme de filtrage (via des PropertyMaps booléennes appliquées sur le graphe) 
5. Bibliothèque complète d'analyse de graphes. 
Le module leg_joint 
Objet Epithelium: 
graphe orienté, masques 
géométrie 
méthodes de base 
Fonctions: 
Division cellulaire, apoptose ... 
Optimisations 
Représentation graphiques 
In [4]: ### Create an epithelium by instanciating the container class 
eptm = lj.Epithelium(lj.data.before_apoptosis_xml(), 
save_dir='.', 
identifier='slides', 
copy=True) 
### Scale the tissue globaly to approach equilibrium 
eptm.isotropic_relax()
A simulated tissue 
Un exemple: la division cellulaire
In [5]: ### Select cell a vertex 
mother_cell = eptm.graph.vertex(913) 
print('The vertex {} is a cell: {}'.format( 
mother_cell, bool(eptm.is_cell_vert[mother_cell]))) 
### Local mask is used to work only on part of the epithelium 
eptm.set_local_mask(None) 
eptm.set_local_mask(mother_cell, wider=True) 
fig, axes=plt.subplots(1, 2, figsize=(9, 4), sharey=True) 
axes = lj.plot_2pannels(eptm, 
cell_kwargs={'c_text':True}, 
edge_kwargs={'c':'g', 'lw':2, 'alpha':0.4}, 
axes=axes) 
The vertex 913 is a cell: True 
/home/guillaume/anaconda/envs/python3/lib/python3.4/site-packages/matplotlib-1.4.x-py3.4-linux-x86_ 
64.egg/matplotlib/figure.py:1644: UserWarning: This figure includes Axes that are not compatible wi 
th tight_layout, so its results might be incorrect. 
warnings.warn("This figure includes Axes that are not "
In [6]: septum = lj.cell_division(eptm, mother_cell, verbose=False) 
### Gradient descent energy minimization (`fmin_lbfgs_b` is used) 
pos0, pos1 = lj.find_energy_min(eptm) 
fig, axes=plt.subplots(1, 2, figsize=(9, 4), sharey=True) 
axes = lj.plot_2pannels(eptm, 
cell_kwargs={'c_text':False}, 
edge_kwargs={'c':'g', 'lw':2, 'alpha':0.4}, 
axes=axes) 
On choisit une cellule apoptotique
In [8]: fig, axes = plt.subplots(1, 2, figsize=(8, 6)) 
a_cell = mother_cell 
eptm.set_local_mask(None) 
eptm.set_local_mask(a_cell, wider=True) 
ax_zs, ax_xy = show_apopto_surroundings(eptm, a_cell, axes=axes) 
À 10 reprises, on diminue son volume d'équilibre, et on tire dessus avec une force radiale croissante
In [9]: fig, axes = plt.subplots(1, 2, figsize=(8, 6)) 
for i in range(10): 
lj.apoptosis_step(eptm, a_cell, 
vol_reduction=0.7, ## Reduction of equilibrium volume 
radial_tension=0.1, ## Increase in radial force 
contractility=1.2, ## Increase in contractility for the apoptotic cell 
) 
ax_zs, ax_xy = show_apopto_surroundings(eptm, a_cell, axes)
Lorsqu'on fait ça 30 fois, voilà ce qu'il se passe: 
Fold formation model 
from glyg 
00:40 
Fold formation model (http://vimeo.com/107188046) from glyg (http://vimeo.com/user12210065) on Vimeo 
(https://vimeo.com).
Différentes conditions 
Pas de force $Leftrightarrow$ pas de pli: 
on confirme l'hypothèse de la nécessité d'un rôle actif de l'apoptose dans la morphogénèse 
Reste à faire 
1. Tests unitaires & intégration continue 
2. Rendu dynamique 3D avec Blender (en cours) 
Gros réusinage du code: 
description basée sur des évennements 
optimiser (y'a du boulot...) 
3. 
Et ensuite 
1. Généraliser la géométrie, surface basale 
2. Plateforme de modélisation de tissus "multi-physique"
Les biologistes du LBCMCP (CNRS/Université de Toulouse) 
Mélanie Gettings 
Bruno Monier 
Sonia Shott 
Magali Suzanne 
L'autre physicien 
Thomas Mangeat 
Merci!

Weitere ähnliche Inhalte

Andere mochten auch

Cas clients SparkUp
Cas clients SparkUpCas clients SparkUp
Cas clients SparkUpSparkUp
 
Présentation Session Live 1 - CHOIXDIF
Présentation Session Live 1 - CHOIXDIFPrésentation Session Live 1 - CHOIXDIF
Présentation Session Live 1 - CHOIXDIFFirst_Finance
 
Sales Navigator - Faire une recherche avancée dans lead builder
Sales Navigator - Faire une recherche avancée dans lead builderSales Navigator - Faire une recherche avancée dans lead builder
Sales Navigator - Faire une recherche avancée dans lead builderNathalie Degouy
 
090918 Futurouest Tourisme20
090918 Futurouest Tourisme20090918 Futurouest Tourisme20
090918 Futurouest Tourisme20Beer Bergman
 
Présentation de Veni Vidi Ludi
Présentation de Veni Vidi LudiPrésentation de Veni Vidi Ludi
Présentation de Veni Vidi LudiVeni Vidi Ludi
 
Cinematique 1 2008
Cinematique 1 2008Cinematique 1 2008
Cinematique 1 2008atire
 
Presentation 04 03 08 Nicolas Flavier
Presentation 04 03 08 Nicolas FlavierPresentation 04 03 08 Nicolas Flavier
Presentation 04 03 08 Nicolas Flavierguestc07ba1
 
Exovecteurs4
Exovecteurs4Exovecteurs4
Exovecteurs4atire
 
Présentation Montréal 2013
Présentation Montréal 2013Présentation Montréal 2013
Présentation Montréal 2013Emmanuelle_Sordet
 
Institut Sage - Réseau social pour les entrepreneurs
Institut Sage - Réseau social pour les entrepreneurs Institut Sage - Réseau social pour les entrepreneurs
Institut Sage - Réseau social pour les entrepreneurs julie.micheli
 
Vecteurs1
Vecteurs1Vecteurs1
Vecteurs1atire
 
TTR SERIE ERGIT _ FRANCAIS
TTR SERIE ERGIT _ FRANCAISTTR SERIE ERGIT _ FRANCAIS
TTR SERIE ERGIT _ FRANCAISantoniocarraro
 
2015 presentation-investisseurs-juin
2015 presentation-investisseurs-juin2015 presentation-investisseurs-juin
2015 presentation-investisseurs-juinFalcoCorporate
 
Action co Fidélisation client mars 2010
Action co Fidélisation client mars 2010Action co Fidélisation client mars 2010
Action co Fidélisation client mars 2010Patrick Seifert
 
Les médias sociaux avec la LpCoMeN - Organisation d'un jeu-concours
Les médias sociaux avec la LpCoMeN - Organisation d'un jeu-concoursLes médias sociaux avec la LpCoMeN - Organisation d'un jeu-concours
Les médias sociaux avec la LpCoMeN - Organisation d'un jeu-concoursLpCoMeN ComenVrai
 
Resñumen Web2.0
Resñumen Web2.0Resñumen Web2.0
Resñumen Web2.0jesiga
 
Presentación excursió sta coloma
Presentación excursió sta colomaPresentación excursió sta coloma
Presentación excursió sta colomaAna Ruiz
 

Andere mochten auch (20)

Cas clients SparkUp
Cas clients SparkUpCas clients SparkUp
Cas clients SparkUp
 
Présentation Session Live 1 - CHOIXDIF
Présentation Session Live 1 - CHOIXDIFPrésentation Session Live 1 - CHOIXDIF
Présentation Session Live 1 - CHOIXDIF
 
Sales Navigator - Faire une recherche avancée dans lead builder
Sales Navigator - Faire une recherche avancée dans lead builderSales Navigator - Faire une recherche avancée dans lead builder
Sales Navigator - Faire une recherche avancée dans lead builder
 
090918 Futurouest Tourisme20
090918 Futurouest Tourisme20090918 Futurouest Tourisme20
090918 Futurouest Tourisme20
 
Présentation de Veni Vidi Ludi
Présentation de Veni Vidi LudiPrésentation de Veni Vidi Ludi
Présentation de Veni Vidi Ludi
 
Cinematique 1 2008
Cinematique 1 2008Cinematique 1 2008
Cinematique 1 2008
 
Presentation 04 03 08 Nicolas Flavier
Presentation 04 03 08 Nicolas FlavierPresentation 04 03 08 Nicolas Flavier
Presentation 04 03 08 Nicolas Flavier
 
Exovecteurs4
Exovecteurs4Exovecteurs4
Exovecteurs4
 
Présentation Montréal 2013
Présentation Montréal 2013Présentation Montréal 2013
Présentation Montréal 2013
 
Blog
BlogBlog
Blog
 
Institut Sage - Réseau social pour les entrepreneurs
Institut Sage - Réseau social pour les entrepreneurs Institut Sage - Réseau social pour les entrepreneurs
Institut Sage - Réseau social pour les entrepreneurs
 
Vecteurs1
Vecteurs1Vecteurs1
Vecteurs1
 
Saphir - Exemples de réalisations
Saphir - Exemples de réalisationsSaphir - Exemples de réalisations
Saphir - Exemples de réalisations
 
Analisis seo
Analisis seoAnalisis seo
Analisis seo
 
TTR SERIE ERGIT _ FRANCAIS
TTR SERIE ERGIT _ FRANCAISTTR SERIE ERGIT _ FRANCAIS
TTR SERIE ERGIT _ FRANCAIS
 
2015 presentation-investisseurs-juin
2015 presentation-investisseurs-juin2015 presentation-investisseurs-juin
2015 presentation-investisseurs-juin
 
Action co Fidélisation client mars 2010
Action co Fidélisation client mars 2010Action co Fidélisation client mars 2010
Action co Fidélisation client mars 2010
 
Les médias sociaux avec la LpCoMeN - Organisation d'un jeu-concours
Les médias sociaux avec la LpCoMeN - Organisation d'un jeu-concoursLes médias sociaux avec la LpCoMeN - Organisation d'un jeu-concours
Les médias sociaux avec la LpCoMeN - Organisation d'un jeu-concours
 
Resñumen Web2.0
Resñumen Web2.0Resñumen Web2.0
Resñumen Web2.0
 
Presentación excursió sta coloma
Presentación excursió sta colomaPresentación excursió sta coloma
Presentación excursió sta coloma
 

Ähnlich wie pattes de mouche Pyconfr 2014

Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Dr Samir A. ROUABHI
 
Traquer les fuites mémoires avec Python
Traquer les fuites mémoires avec PythonTraquer les fuites mémoires avec Python
Traquer les fuites mémoires avec PythonVictor Stinner
 
PhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRIDPhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRIDsuive
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfSafaeElOmari
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Emeric Tapachès
 
Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5SmartnSkilled
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
 
Introduction à la programmation
Introduction à la programmationIntroduction à la programmation
Introduction à la programmationpierrepo
 
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Mohammed TAMALI
 
Cours_D3SI_S5_Python for DS_MatPlotLib.pdf
Cours_D3SI_S5_Python for DS_MatPlotLib.pdfCours_D3SI_S5_Python for DS_MatPlotLib.pdf
Cours_D3SI_S5_Python for DS_MatPlotLib.pdfsaid350040
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretjfeudeline
 
Cours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptxCours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptxDonyKravitz1
 
Réseaux avec NetLogo
Réseaux avec NetLogoRéseaux avec NetLogo
Réseaux avec NetLogoAlvaro Gil
 
20131028 InterMine AG CATI BBRIC
20131028 InterMine AG CATI BBRIC20131028 InterMine AG CATI BBRIC
20131028 InterMine AG CATI BBRICSebastien Carrere
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherchePhilippe YONNET
 

Ähnlich wie pattes de mouche Pyconfr 2014 (20)

Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
 
Traquer les fuites mémoires avec Python
Traquer les fuites mémoires avec PythonTraquer les fuites mémoires avec Python
Traquer les fuites mémoires avec Python
 
PhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRIDPhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRID
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2
 
Drools
DroolsDrools
Drools
 
Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
 
Introduction à la programmation
Introduction à la programmationIntroduction à la programmation
Introduction à la programmation
 
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
 
Cours_D3SI_S5_Python for DS_MatPlotLib.pdf
Cours_D3SI_S5_Python for DS_MatPlotLib.pdfCours_D3SI_S5_Python for DS_MatPlotLib.pdf
Cours_D3SI_S5_Python for DS_MatPlotLib.pdf
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
 
Cours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptxCours Visualisaton 2018 - 2019.pptx
Cours Visualisaton 2018 - 2019.pptx
 
Réseaux avec NetLogo
Réseaux avec NetLogoRéseaux avec NetLogo
Réseaux avec NetLogo
 
20131028 InterMine AG CATI BBRIC
20131028 InterMine AG CATI BBRIC20131028 InterMine AG CATI BBRIC
20131028 InterMine AG CATI BBRIC
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherche
 

pattes de mouche Pyconfr 2014

  • 1. Pattes de mouches: une modélisation de biophysique utilisant python scientifique Logo DamCB Guillaume Gay DamCB - Data analysis and modeling for Cell Biology e-mail: guillaume@damcb.com (mailto:guillaume@damcb.com) github / freenode: glyg twitter: @damcellbio / @elagachado
  • 2. On travaille sur la mouche de vinaigre, drosophila Melanogaster: source: wikipedia Drosophila development On regarde la formation du petit pli entre les segments 4 et 5... Vue de très près ça ressemble à ça: Vue apicale
  • 3. Le problème biologique: comment la mouche plie ses pattes? L'apoptose, ou les cellules kamikases Mort programmée via une cascade biochimique. Nombreuses fonctions: comme la prévention du cancer et la morphogénèse Un exemple de phénotype quand il y a un défaut d'apoptose
  • 4. Dans le tissu qui donnera la patte Pour former un pli, ~ 30 apoptoses en anneau autour de l'épithélium Apical vue of the fold formation on a drosophila leg disk from glyg 00:05 Apical vue of the fold formation on a drosophila leg disk (http://vimeo.com/109897311) from glyg (http://vimeo.com/user12210065) on Vimeo (https://vimeo.com). Et lorsqu'on suprime l'apoptose... Des pattes trop droites
  • 5. Regardons ce qu'il se passe à l'échelle cellulaire: L'apoptose dans la cellule vivante Le problème biophysique Les déformations du tissus sont dues à l'activité d'un ensemble de protéines intra et extra cellulaires. Le modèle de Farhadifar Ces protéines forment un maillage entre les cellules, que l'on peut modéliser comme un réseau Architecture du réseau pour une cellule Minimiser localement l'énergie à chaque modification Équilibre des forces Le modèle est donc basé sur la bibliothèque graph_tool écrite et maintenue par Tiago P. Peixoto, permettant de manipuler des graphes.
  • 6. graph-tool | Efficient network analysis Download Documentation Mailing List Git Issues What is graph-tool? Graph-tool is an efficient Python module for manipulation and statistical analysis of graphs (a.k.a. networks). Contrary to most other python modules with similar functionality, the core data structures and algorithms are implemented in C++, making extensive use of template metaprogramming, based heavily on Download version 2.2.35  See Instructions | See Changelog Voici un exemple rapide de cette bibliothèque In [3]: g = gt.price_network(3000) pos = gt.sfdp_layout(g) pos = gt.graph_draw(g, pos=pos, output="graph-draw-sfdp.png") A graph generatated by graph-tool
  • 7. Les avantages de graph-tool: 1. C'est rapide (C++ / meta-programming, openMP) 2. PropertyMaps interfacées aux ndarray de NumPy. 3. Bonnes E/S 4. Mécanisme de filtrage (via des PropertyMaps booléennes appliquées sur le graphe) 5. Bibliothèque complète d'analyse de graphes. Le module leg_joint Objet Epithelium: graphe orienté, masques géométrie méthodes de base Fonctions: Division cellulaire, apoptose ... Optimisations Représentation graphiques In [4]: ### Create an epithelium by instanciating the container class eptm = lj.Epithelium(lj.data.before_apoptosis_xml(), save_dir='.', identifier='slides', copy=True) ### Scale the tissue globaly to approach equilibrium eptm.isotropic_relax()
  • 8. A simulated tissue Un exemple: la division cellulaire
  • 9. In [5]: ### Select cell a vertex mother_cell = eptm.graph.vertex(913) print('The vertex {} is a cell: {}'.format( mother_cell, bool(eptm.is_cell_vert[mother_cell]))) ### Local mask is used to work only on part of the epithelium eptm.set_local_mask(None) eptm.set_local_mask(mother_cell, wider=True) fig, axes=plt.subplots(1, 2, figsize=(9, 4), sharey=True) axes = lj.plot_2pannels(eptm, cell_kwargs={'c_text':True}, edge_kwargs={'c':'g', 'lw':2, 'alpha':0.4}, axes=axes) The vertex 913 is a cell: True /home/guillaume/anaconda/envs/python3/lib/python3.4/site-packages/matplotlib-1.4.x-py3.4-linux-x86_ 64.egg/matplotlib/figure.py:1644: UserWarning: This figure includes Axes that are not compatible wi th tight_layout, so its results might be incorrect. warnings.warn("This figure includes Axes that are not "
  • 10. In [6]: septum = lj.cell_division(eptm, mother_cell, verbose=False) ### Gradient descent energy minimization (`fmin_lbfgs_b` is used) pos0, pos1 = lj.find_energy_min(eptm) fig, axes=plt.subplots(1, 2, figsize=(9, 4), sharey=True) axes = lj.plot_2pannels(eptm, cell_kwargs={'c_text':False}, edge_kwargs={'c':'g', 'lw':2, 'alpha':0.4}, axes=axes) On choisit une cellule apoptotique
  • 11. In [8]: fig, axes = plt.subplots(1, 2, figsize=(8, 6)) a_cell = mother_cell eptm.set_local_mask(None) eptm.set_local_mask(a_cell, wider=True) ax_zs, ax_xy = show_apopto_surroundings(eptm, a_cell, axes=axes) À 10 reprises, on diminue son volume d'équilibre, et on tire dessus avec une force radiale croissante
  • 12. In [9]: fig, axes = plt.subplots(1, 2, figsize=(8, 6)) for i in range(10): lj.apoptosis_step(eptm, a_cell, vol_reduction=0.7, ## Reduction of equilibrium volume radial_tension=0.1, ## Increase in radial force contractility=1.2, ## Increase in contractility for the apoptotic cell ) ax_zs, ax_xy = show_apopto_surroundings(eptm, a_cell, axes)
  • 13. Lorsqu'on fait ça 30 fois, voilà ce qu'il se passe: Fold formation model from glyg 00:40 Fold formation model (http://vimeo.com/107188046) from glyg (http://vimeo.com/user12210065) on Vimeo (https://vimeo.com).
  • 14. Différentes conditions Pas de force $Leftrightarrow$ pas de pli: on confirme l'hypothèse de la nécessité d'un rôle actif de l'apoptose dans la morphogénèse Reste à faire 1. Tests unitaires & intégration continue 2. Rendu dynamique 3D avec Blender (en cours) Gros réusinage du code: description basée sur des évennements optimiser (y'a du boulot...) 3. Et ensuite 1. Généraliser la géométrie, surface basale 2. Plateforme de modélisation de tissus "multi-physique"
  • 15. Les biologistes du LBCMCP (CNRS/Université de Toulouse) Mélanie Gettings Bruno Monier Sonia Shott Magali Suzanne L'autre physicien Thomas Mangeat Merci!