1 / 20

Modeling morphogenesis at the cell level – tools and techniques

Modeling morphogenesis at the cell level – tools and techniques. Outline: What is CompuCell3D? Motivation Why CompuCell3D and why now? Collaboration Extended Potts Model – an overview Building CompuCell3D Visualization package and scripting languages Example simulations

mairi
Télécharger la présentation

Modeling morphogenesis at the cell level – tools and techniques

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. Modeling morphogenesis at the cell level – tools and techniques • Outline: • What is CompuCell3D? • Motivation • Why CompuCell3D and why now? • Collaboration • Extended Potts Model – an overview • Building CompuCell3D • Visualization package and scripting languages • Example simulations • CompuCell 3D – roadmap

  2. Frequently Asked Questions: Q: What is CompuCell3D? A: CompuCell3D is an open source software for modeling morphogenesis using extended Potts Model Q: How do I use it? A: You need to create XML configuration file which describes your simulation. We are working on graphical front-end to make this process as easy as possible Q: How do I visualize the results of my simulation? A: CompuCell3D will come with CompuCellPlayer – an intuitive visualization tool Q: What do I do if a given feature needed in my simulation is not supported by CompuCell3D? A: You can either implement this feature as a CompuCell3D plugin (will be documented in the developers manual), or implement it using scripting languages such as Python (under construction) or BIOLOGO. BTW, we welcome collaborators and contributors. Q: Is there a parallel version of CompuCell3D? A: Not yet, but we are working on it.

  3. Why CompuCell3D and why now?Typical Evolution of Research Software(in collaboration with Chris Mueller) • First application written in Fortran F77 • Tom ports to C • Adds command line parameters, makefile • Jenny ports to F90 • Extends model C F90 • Brad ports to C++ • Models system using objects C++ C++ Java • Maria implements simulation in Java for the Grid • Implements original model • Sounds familiar? Keep listening…

  4. A Closer Look F771 • There were 6 major versions • 13 actual implementations • 5 Languages • 2 major versions advanced the science • 4 major versions were simply software projects • All versions re-implemented basic features • The implementations used for the papers were not always used for the next major version F772 F901 C3 C1 F902 F903 C2 F904 C++1 C++ Java C++2 Version used for paper Versions that advanced science

  5. Problem: Research software applications are difficult to develop and are costing researchers time and money. Solution: Separate Research and Development and use a development model derived from industrial software development. Benefits • Software Quality is improved • Applications are not single-user prototypes • Features are available to all researchers and are peer-reviewed • Research Process is improved • Researchers can focus on research • Development is not a bottleneck • Reproducibility and Traceability • Reproduce old experiments, trace the data/process that led to a result • Easier to integrate new/visiting researchers • High-end software becomes possible • Parallel and high-performance implementations • Well designed user interfaces, visualization, databases, web applications and services

  6. CompuCell3D collaboration University of Notre Dame , Indiana University People: Mark Alber, Ariel Balter, Rajiv Chaturvedi,Nan Chen, Trevor Cickovski, Jeff Coffland, Michael Crocker, Gabor Forgacs, James Glazier, Tilmann Glimm, George Hentschel, Chengbang Huang, Jesus Izaguirre, Chris Mueller, Stuart Newman, Nikodem Poplawski, Maciej Swat, Gilberto Thomas Funding agencies and institutions: NSF, ICSB Notre Dame, The Biocomplexity Institute Indiana University, NIH Users – most important part of the collaboration. Website: http://sourceforge.net/projects/compucell/ Google keyword:CompuCell3D

  7. The Potts Model x 20 • Energy minimization formalism • - extended by Graner and Glazier, 1992 • DAH: Contact energy depending on cell types (differentiated cells) • Metropolis algorithm: probability of configuration change

  8. CompuCell3D architecture Object oriented implementation in C++ and Python Visualization, Steering, User Interface Plugins Calculate change in energy Interpreter Code Generator Kernel Runs Metropolis Algorithm PDE Solvers Lattice monitoring

  9. XML Basics XML stands for eXtensible markup language. It is not a programming language. Its main purpose is to standarize information exchange between different applications. XML Example: <Sentence> <Text>It is too early to be in class</Text> <FontType>TimesNewRoman</FontType> <FontSize>12</FontSize> <DisplayHint hint=“AddFrameAround”/> </Sentence>

  10. Describing the simulation Lattice and Chemical Fields Cell Parameter and Hamiltonian Plugins The main Potts lattice holds the cells and controls the Monte Carlo loop. Plugins can be used to overlay additional fields, such as chemical concentrations on the lattice. Plugins can define new cell parameters and their associated energy functions. Volume volume volumeEnergy(cell) Cell <Plugin Name="Volume"> <TargetVolume>64</TargetVolume> <LambdaVolume>0.05</LambdaVolume> </Plugin> Surface area surfaceEnergy(cell) <Plugin Name="Surface"> <TargetSurface>77</TargetSurface> <LambdaSurface>0.05</LambdaSurface> </Plugin> Contact contactEnergy( cell1, cell2) <Potts> <Dimensions x="71" y="36" z="211"/> <Steps>10</Steps> <Temperature>2</Temperature> <Flip2DimRatio>2</Flip2DimRatio> </Potts> <Plugin Name="Contact"> <Energy Type1="Medium" Type2="Medium">0</Energy> <Energy Type1="Light" Type2="Medium">0</Energy> <Energy Type1="Dark" Type2="Medium">0.1</Energy> <Energy Type1="Light" Type2="Light">0.5</Energy> <Energy Type1="Dark" Type2="Dark">3.0</Energy> <Energy Type1="Light" Type2="Dark">0.5</Energy> </Plugin> <Plugin Name="Chemical"> <Threshold>0.8</Threshold> <Lambda>10</Lambda> <ConcentrationFile> field.dat </ConcentrationFile> </Plugin> All simulation parameters are controlled by the config file. The config file allows you to only add those features needed for your current simulation, enabling better use of system resources. <Potts> <Dimensions x="71" y="36" z="211"/> <Steps>10</Steps> <Temperature>2</Temperature> <Flip2DimRatio> 2 </Flip2DimRatio> </Potts> <PluginName="Chemical"> <Threshold>0.8</Threshold> <Lambda>10</Lambda> <ConcentrationFile> field.dat </ConcentrationFile> </Plugin> ...

  11. CompuCell related example <Potts> <Dimensionsx="71" y="36" z="211"/> <Steps>10</Steps> <Temperature>2</Temperature> <Flip2DimRatio>2</Flip2DimRatio> </Potts> <PluginName="Chemical"> <Threshold>0.8</Threshold> <Lambda>10</Lambda> <ConcentrationFile> field.dat </ConcentrationFile> </Plugin> ...

  12. Running the simulation Steering bar allows users to start or pause the simulation, zoom in , zoom out, to switch between 2D and 3D visualization, change view modes (cell field, pressure field , chemical concentration field, velocity field etc..) Player can output multiple views during single simulation run – Add Screenshot function Information bar

  13. Kernel C++ Plugin BIOLOGO Scripting languages – extending capabilities of CompuCell3D BIOLOGO - high level, XML based language for describing parts of the simulation. BIOLOGO is translated to C++ and compiled as a CompuCell3D plugin to deliver optimal performance. It is straightforward to use Example: Creating a PDE solver is reduced to writing several statements in BIOLOGO. <DiffEq fieldname="C"> <Term exp="Kronecker(x,y,z)*alpha - epsilon*C*(1-Kronecker(x,y,z)) + DiffConst*Laplacian(C)" condition="true" /> </DiffEq> Python: We will embed Python in CompuCell3D to give users similar level of flexibility as Matlab or Mathematica. Most of the low level functions will be implemented in C++ but callable from Python level.

  14. Example simulations using CompuCell3D Dictyostelium discoideum

  15. The model is based on oscilatory Fitzhugh-Nagumo type of equations (Savill Hogeweg, 1997): c – denotes cAMP concentration - activator r-refractoriness - inhibitor f(c) – piecewise linear function b=0 for excitable cells , b != 0 for autocycling cells This system of equations will produce waves of cAMP passing through the lattice. Cells respond to cAMP gradient by biasing their movement towards higher level of cAMP. We assume that cells chemotact “periodically” and only when cAMP concentration is high enough

  16. Dictyostelium Discoideum – early stages of aggregation Autocycling amoebae initiate waves of cAMP cAMP wave passes through amoebae and a substrate Amoebae move up the cAMP concentration gradient - chemotaxis Mound is formed with autocycling cells at the top cAMP wave propagates down the mound

  17. Cell sorting Cell sorting is a rearrangement of cells driven by local physical properties of cells (cell-cell adhesion). Different parameters lead to different final patterns: Checkerboard pattern arises when adhesion between red and green cells is stronger than adhesion between cells of the same type Complete sorting – adhesion between red cells is stronger then between green cells and between red and green Initial configuration of condensing (red) and non-condensing (green) cells immersed in medium (blue) Partial sorting – very similar to complete sorting except that the adhesion between red and green cells is higher than adhesion between green cells

  18. Gastrulation Ariel Balter Area Opaca Area Pellucida Chemo-repellant source Characteristic bulging due to pressure from aggregating cells Chemo-attractant source All higher animals undergo a process called gastrulation at the earliest stages of development. During gastrulation the embryo takes the first steps from a more-or-less uniform ball of cells towards a differentiated organism with individual organs. One of the key process that begins gastrulation is the onset of large-scale motion of cells which first deform the symmetric blastoderm (the stage preceding gastrulation). It has been hypothesized that cell motion in response to chemical attractors and repellors plays an important role in this process. Here we test a highly simplistic model of chemo-attraction/repulsion in the chick embryo. This model does capture certain features of overall cell redistribution as well as the resulting remodeling of the embryo as a whole. However it does not reproduce vortex motion observed in work done under James Glazier.

  19. Fibronectin driven condensation as a function of cell density Nikodem Poplawski We are able to study how fibronectin-cell interaction and initial cell density affects cell condensation patterns. Fibronectin limits the size of forming clusters. High cell density results in stripes of cell condensate Medium cell density produces a mixture of condensate stripes and spots Low cell density leads to condensate spots

  20. Roadmap CompuCell3D needs further development in order to become a universal framework for modeling morphogenesis: 1st quarter 2006 -Full support for scripting languages -Isolate users from XML - graphical configuration tools -Provide full diagnostics of the simulation in CompuCell Player – for example right-click should provide information about given cell 2nd-3rd quarter 2006 -Movies, scientific plots and all lattice information will be available through the Player -Parallel version 2006/2007 -Steering and parameters sweeps -Serializing simulation – users will be able to stop the simulaiton and resume it later -Project management

More Related