Presentation is loading. Please wait.

Presentation is loading. Please wait.

CompuCell3D: A Morphogenesis simulation package

Similar presentations


Presentation on theme: "CompuCell3D: A Morphogenesis simulation package"— Presentation transcript:

1 CompuCell3D: A Morphogenesis simulation package
Nan Chen and Mark Alber 2/20/2006

2 Topics Introduction to CompuCell3D Cellular Potts Model
Framework of CompuCell3D Usage of CompuCell3D Future Plans

3 Introduction to CompuCell3D

4 CompuCell3D overview Morphogenesis simulation package based on Cellular Potts Model (CPM) Capable of modeling cell clustering as well as growth, division, death, intracellular adhesion, and volume and surface area constraints Partial differential equation models for external chemical fields which can model reaction-diffusion Cell type automata provides a method for categorizing cells by behavior into types and algorithms for changing cell type Chemotaxis and haptotaxis

5 CompuCell3D overview Framework design allow scientists to focus on simulation development Visualization tool (CompCell Player) Standard input (XML) make the package easy to use Minimize the amount of coding required Flexible simulation framework Software design Pattern and Plug in feature Easy to extend and add new features

6 CompuCell3D Applications
Cell sorting Limb bud growth Amoeba migration Dictyostelium discoideum Somites formation

7 Cell Sorting Simple set-up of the Cellular Potts Model (CPM) (a) Initial condition, (b-d) results for various bond-strength settings between dark cells, light cells and the surrounding medium.

8 Limb bud growth Left. Skeletal Pattern formation: Time-series of chick limb-bud development. Right. 3D cell condensation and patterning into skeletal elements- humerus, ulna+radius, and digits in a chicken limb.

9 Cellular Potts Model

10 Cellular Potts Model Cell structure is discretized into a cell map, each number in the above cell map corresponds to one cell.

11 Cellular Potts Model System Hamiltonian consists of adhesion energy, volume energy and chemical energy Transition probability, W, is determined by the change of free energy due to orientation alteration. DG, according to above equation.

12 Cellular Potts Model Energy minimization formalism
extended by Graner and Glazier, 1992 DAH: Contact energy depending on cell types (differentiated cells) Extensions: J_cell_cell is type dependent Other terms: Cell volume, Chemotaxis/Haptotaxis Metropolis algorithm: probability of configuration change

13 Framework of CompuCell3D

14 Information flow chart for CompuCell3D
CompuCellPlayer XML input User CompuCell3D Kernal

15 CompuCellPlayer Visualization tool Using QT Lib 3D Visualization
2D Cross-section Zooming, rotating, translating Picture Generation pause a simulation

16 CompuCell3D - XML input <Potts> Potts Model
<Dimensions x=“51" y=“51" z="21"/> <Steps>10</Steps> <Temperature>2</Temperature> <Flip2DimRatio>1</Flip2DimRatio> </Potts> Potts Model Defination <Plugin Name="Volume"> <TargetVolume>64</TargetVolume> <LambdaVolume>0.05</LambdaVolume> </Plugin> Volume volume volumeEnergy(cell) <Plugin Name="Surface"> <TargetSurface>77</TargetSurface> <LambdaSurface>0.05</LambdaSurface> </Plugin> Surface area surfaceEnergy(cell) <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> Contact contactEnergy( cell1, cell2)

17 CompuCell3D Structure Steppables are executed once per Monte Carlo step and once before and after the main loop. They are the main hooks for initialization and rendering. Initialization() Steppables.Start() For each Monte Carlo step: For flip attempt: if(flip): CellChangeWatcher(cell) Automatons.Update(cell) Steppers.step() Steppabless.step() Steppables.finish() CompuCell3D Program Flow Plugins are loaded at runtime. They are the main way of adding new features to CompuCell. They can be Steppables, Steppers, CellChangeWatchers, or Automatons. CellChangeWatchers are executed once per each successful spin flip. They are useful for adjusting values that depend on the number of lattice points in a cell. Automatons enable cell state to change their state as the simulation evolves. Steppers are executed once per spin flip attempt. They are the main hooks for energy functions.

18 Quickstart Guide of CompuCell3D

19 Installation For testing purpose, you could directly install binary package Easy to install For development purpose, you could download source code and compile it Your computer needs to have automake, autoconfigure, autohead, libtool package You could find this package from simtk.org

20 Your first example-Foam simulation
Mcs 0 Mcs 50 Mcs 100

21 Your first example 1 2 3 4 <CompuCell3D> <Potts>
<Dimensions x="101" y="101" z="1"/> <Anneal>0</Anneal> <Steps>100</Steps> <Temperature>5</Temperature> <Flip2DimRatio>1</Flip2DimRatio> <Boundary_y>Periodic</Boundary_y> <Boundary_x>Periodic</Boundary_x> <FlipNeighborMaxDistance>1.75</FlipNeighborMaxDistance> </Potts> <Plugin Name="CellType"> <CellType TypeName="Medium" TypeId="0"/> <CellType TypeName="Foam" TypeId="1"/> </Plugin> <Plugin Name="Contact"> <Energy Type1="Foam" Type2="Foam">20</Energy> <Energy Type1="Medium" Type2="Medium">100</Energy> <Energy Type1="Medium" Type2="Foam">100</Energy> <Depth>1.5</Depth> <Steppable Type="PIFInitializer"> <PIFName>Foam_1.pif</PIFName> </Steppable> </CompuCell3D> 1 2 3 4

22 Setting for Potts Model
<Dimensions x="101" y="101" z="1"/> <Anneal>0</Anneal> <Steps>100</Steps> <Temperature>5</Temperature> <Flip2DimRatio>1</Flip2DimRatio> <Boundary_y>Periodic</Boundary_y> <Boundary_x>Periodic</Boundary_x> <FlipNeighborMaxDistance>1.75</FlipNeighborMaxDistance> </Potts>

23 Setting for Cell type and Contact energy
<Plugin Name="CellType"> <CellType TypeName="Medium" TypeId="0"/> <CellType TypeName="Foam" TypeId="1"/> </Plugin> <Plugin Name="Contact"> <Energy Type1="Foam" Type2="Foam">20</Energy> <Energy Type1="Medium" Type2="Medium">100</Energy> <Energy Type1="Medium" Type2="Foam">100</Energy> <Depth>1.5</Depth>

24 PIF File <Steppable Type="PIFInitializer">
<PIFName>Foam_1.pif</PIFName> </Steppable> 1 Foam 2 Foam 3 Foam 4 Foam 5 Foam 6 Foam 7 Foam 8 Foam 9 Foam

25 PIF Generator ./FoamInit.pl -r5 -i60 -ofoaminit1.pif -z2 -m10
Lattice dimension: x_max=301 y_max=301 z_max=1 <Dimensions x="301" y="301" z="1"/>

26 Change temperature 5 500 <Potts>
<Dimensions x="101" y="101" z="1"/> <Anneal>0</Anneal> <Steps>1000</Steps> <Temperature>500</Temperature> <Flip2DimRatio>1</Flip2DimRatio> <Boundary_y>Periodic</Boundary_y>

27 Change Contact energy Mcs 100 Mcs 0 Mcs 50
<Plugin Name="Contact"> <Energy Type1="Foam" Type2="Foam">200</Energy> <Energy Type1="Medium" Type2="Medium">1</Energy> <Energy Type1="Medium" Type2="Foam">1</Energy> <Depth>1.5</Depth> </Plugin>

28 Order of Neighbor 5 4 3 2 1 x <Potts>
<Dimensions x="101" y="101" z="1"/> <Anneal>0</Anneal> <Steps>100</Steps> <Temperature>5</Temperature> <Flip2DimRatio>1</Flip2DimRatio> <Boundary_y>Periodic</Boundary_y> <Boundary_x>Periodic</Boundary_x> <FlipNeighborMaxDistance>1.75</FlipNeighborMaxDistance> </Potts> <Plugin Name="Contact"> <Energy Type1="Foam" Type2="Foam">20</Energy> <Energy Type1="Medium" Type2="Medium">100</Energy> <Energy Type1="Medium" Type2="Foam">100</Energy> <Depth>1.5</Depth> </Plugin>

29 Order of Neighbor 1.5 2.7 1.1 <Plugin Name="Contact">
<Energy Type1="Foam" Type2="Foam">20</Energy> <Energy Type1="Medium" Type2="Medium">200</Energy> <Energy Type1="Medium" Type2="Foam">200</Energy> <Depth>1.1</Depth> </Plugin>

30 Temperature effect on Low Order of Neighbor
<Depth>1.1</Depth> Temperature 20 Temperature 5 <Potts> <Dimensions x="101" y="101" z="1"/> <Anneal>0</Anneal> <Steps>100</Steps> <Temperature>5</Temperature> <Flip2DimRatio>1</Flip2DimRatio> <Boundary_y>Periodic</Boundary_y> <Boundary_x>Periodic</Boundary_x> <FlipNeighborMaxDistance>1.1</FlipNeighborMaxDistance> </Potts>

31 Cell Sorting Initial

32 XML file for Cell Sorting
<CompuCell3D> <Potts> <Dimensions x="70" y="70" z="1"/> <Anneal>10</Anneal> <Steps>10000</Steps> <Temperature>5</Temperature> <Flip2DimRatio>1</Flip2DimRatio> <FlipNeighborMaxDistance>1.75</FlipNeighborMaxDistance> </Potts> <Plugin Name="Volume"> <TargetVolume>9</TargetVolume> <LambdaVolume>3.0</LambdaVolume> </Plugin> <Plugin Name="Surface"> <TargetSurface>16</TargetSurface> <LambdaSurface>0.5</LambdaSurface> <Plugin Name="CellType"> <CellType TypeName="Medium" TypeId="0"/> <CellType TypeName="Condensing" TypeId="1"/> <CellType TypeName="NonCondensing" TypeId="2"/> <Plugin Name="Contact"> <Energy Type1="Medium" Type2="Medium">0</Energy> <Energy Type1="NonCondensing" Type2="NonCondensing">14</Energy> <Energy Type1="Condensing" Type2="Condensing">2</Energy> <Energy Type1="NonCondensing" Type2="Condensing">11</Energy> <Energy Type1="NonCondensing" Type2="Medium">16</Energy> <Energy Type1="Condensing" Type2="Medium">16</Energy> <Depth>1.75</Depth> <Plugin Name="CenterOfMass"/> <Steppable Type="OutputData"/> <Steppable Type="BlobInitializer"> <Gap>0</Gap> <Width>2</Width> <CellSortInit>yes</CellSortInit> <Radius>20-</Radius> </Steppable> </CompuCell3D> 1 2 3 4

33 Energy setting <Plugin Name="Volume">
<TargetVolume>9</TargetVolume> <LambdaVolume>3.0</LambdaVolume> </Plugin> <Plugin Name="Surface"> <TargetSurface>16</TargetSurface> <LambdaSurface>0.5</LambdaSurface> <Plugin Name="CellType"> <CellType TypeName="Medium" TypeId="0"/> <CellType TypeName="Condensing" TypeId="1"/> <CellType TypeName="NonCondensing" TypeId="2"/> <Plugin Name="Contact"> <Energy Type1="Medium" Type2="Medium">0</Energy> <Energy Type1="NonCondensing" Type2="NonCondensing">14</Energy> <Energy Type1="Condensing" Type2="Condensing">2</Energy> <Energy Type1="NonCondensing" Type2="Condensing">11</Energy> <Energy Type1="NonCondensing" Type2="Medium">16</Energy> <Energy Type1="Condensing" Type2="Medium">16</Energy> <Depth>1.75</Depth>

34 Initial structure setting
<Steppable Type="BlobInitializer"> <Gap>0</Gap> <Width>2</Width> <CellSortInit>yes</CellSortInit> <Radius>20-</Radius> </Steppable>

35 Future Plans We want to hear from you Shell language interface
As matlab, FemLab Parallelizing


Download ppt "CompuCell3D: A Morphogenesis simulation package"

Similar presentations


Ads by Google