tyssue.dynamics package

Submodules

tyssue.dynamics.apoptosis_model module

Specific functions for apoptosis vertex model

class tyssue.dynamics.apoptosis_model.ApicoBasalTension[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

Effector for the apical-basal tension.

The energy is proportional to the heigth of the cell

dimensions = array(1.) * fJ/um**2
element = 'vert'
static energy(sheet)[source]
static gradient(sheet)[source]
label = 'Apical-basal tension'
magnitude = 'radial_tension'
specs = {'vert': {'height': 1.0, 'is_active': 1, 'radial_tension': 0.0}}

tyssue.dynamics.base_gradients module

tyssue.dynamics.base_gradients.length_grad(sheet)[source]

returns -(dx/l, dy/l, dz/l), ie grad_i(l_ij))

tyssue.dynamics.bulk_gradients module

Base gradients for bulk geometry

tyssue.dynamics.bulk_gradients.lumen_volume_grad(eptm)[source]

Calculates the gradient for the volume enclosed by the epithelium.

For a monolayer, it will by default compute the volume enclosed by the basal side (edges whose ‘segment’ column is “basal”). If the polarity is reversed and the apical side faces the lumen, this can be changed by setting eptm.settings[“lumen_side”] to ‘apical’

tyssue.dynamics.bulk_gradients.volume_grad(eptm)[source]

tyssue.dynamics.bulk_model module

Dynamical models for monlayer and bulk epithelium.

class tyssue.dynamics.bulk_model.LaminaModel[source]

Bases: tyssue.dynamics.factory.model_factory.<locals>.NewModel

Not implemented yet

tyssue.dynamics.effectors module

Generic forces and energies

class tyssue.dynamics.effectors.AbstractEffector[source]

Bases: object

The effector class is used by model factories to construct a model.

dimensions = None
element = None
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Abstract effector'
magnitude = None
spatial_ref = (None, None)
specs = {'cell': {}, 'edge': {}, 'face': {}, 'vert': {}}
temporal_ref = (None, None)
class tyssue.dynamics.effectors.BarrierElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

Barrier use to maintain the tissue integrity.

dimensions = array(1.) * fJ/um**2
element = 'vert'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Barrier elasticity'
magnitude = 'barrier_elasticity'
specs = {'vert': {'barrier_elasticity': 1.0, 'delta_rho': 0.0, 'is_active': 1}}
class tyssue.dynamics.effectors.BorderElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um**2
element = 'edge'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Border edges elasticity'
magnitude = 'border_elasticity'
spatial_ref = ('prefered_length', UnitLength('micrometer', 0.001 * mm, 'um'))
specs = {'edge': {'border_elasticity': 1.0, 'is_active': 1, 'is_border': 1.0, 'length': 1.0, 'prefered_length': 1.0}}
class tyssue.dynamics.effectors.CellAreaElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um**4
element = 'cell'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Area elasticity'
magnitude = 'area_elasticity'
spatial_ref = ('prefered_area', array(1.) * um**2)
specs = {'cell': {'area': 1.0, 'area_elasticity': 1.0, 'is_alive': 1, 'prefered_area': 1.0}}
class tyssue.dynamics.effectors.CellVolumeElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um**6
element = 'cell'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Volume elasticity'
magnitude = 'vol_elasticity'
spatial_ref = ('prefered_vol', array(1.) * um**3)
specs = {'cell': {'is_alive': 1, 'prefered_vol': 1.0, 'vol': 1.0, 'vol_elasticity': 1.0}}
class tyssue.dynamics.effectors.FaceAreaElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensionless = False
dimensions = array(1.) * fJ/um**4
element = 'face'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Area elasticity'
magnitude = 'area_elasticity'
spatial_ref = ('prefered_area', array(1.) * um**2)
specs = {'edge': {'sub_area': 0.16666666666666666}, 'face': {'area': 1.0, 'area_elasticity': 1.0, 'is_alive': 1, 'prefered_area': 1.0}}
class tyssue.dynamics.effectors.FaceContractility[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um**2
element = 'face'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Contractility'
magnitude = 'contractility'
spatial_ref = ('mean_perimeter', UnitLength('micrometer', 0.001 * mm, 'um'))
specs = {'face': {'contractility': 1.0, 'is_alive': 1, 'perimeter': 1.0}}
class tyssue.dynamics.effectors.FaceVolumeElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um**6
element = 'face'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Volume elasticity'
magnitude = 'vol_elasticity'
spatial_ref = ('prefered_vol', array(1.) * um**3)
specs = {'edge': {'sub_area': 0.16666666666666666}, 'face': {'is_alive': 1, 'prefered_vol': 1.0, 'vol': 1.0, 'vol_elasticity': 1.0}, 'vert': {'height': 1.0}}
class tyssue.dynamics.effectors.LengthElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

Elastic half edge

dimensions = array(1.) * fJ/um**2
element = 'edge'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Length elasticity'
magnitude = 'length_elasticity'
spatial_ref = ('prefered_length', UnitLength('micrometer', 0.001 * mm, 'um'))
specs = {'edge': {'is_active': 1, 'length': 1.0, 'length_elasticity': 1.0, 'prefered_length': 1.0, 'ux': 0.5773502691896257, 'uy': 0.5773502691896257, 'uz': 0.5773502691896257}}
class tyssue.dynamics.effectors.LineTension[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um
element = 'edge'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Line tension'
magnitude = 'line_tension'
spatial_ref = ('mean_length', UnitLength('micrometer', 0.001 * mm, 'um'))
specs = {'edge': {'is_active': 1, 'line_tension': 1.0}}
class tyssue.dynamics.effectors.LineViscosity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * s*nN/um
element = 'edge'
static gradient(eptm)[source]
label = 'Linear viscosity'
magnitude = 'edge_viscosity'
spatial_ref = ('mean_length', UnitLength('micrometer', 0.001 * mm, 'um'))
specs = {'edge': {'edge_viscosity': 1.0, 'is_active': 1}}
temporal_ref = ('dt', UnitTime('second', 's'))
class tyssue.dynamics.effectors.LumenAreaElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

..math:

rac{K_Y}{2}(A_{mathrm{lumen}} - A_{0,mathrm{lumen}})^2

dimensions = array(1.) * fJ/um**4
element = 'settings'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Lumen volume constraint'
magnitude = 'lumen_elasticity'
spatial_ref = ('lumen_prefered_vol', array(1.) * um**2)
specs = {'settings': {'lumen_elasticity': 1.0, 'lumen_prefered_vol': 1.0, 'lumen_vol': 1.0}}
class tyssue.dynamics.effectors.LumenVolumeElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

Global volume elasticity of the object. For example the volume of the yolk in the Drosophila embryo

dimensions = array(1.) * fJ/um**6
element = 'settings'
static energy(eptm)[source]
static get_nrj_norm(specs)[source]
static gradient(eptm)[source]
label = 'Lumen volume elasticity'
magnitude = 'lumen_vol_elasticity'
spatial_ref = ('lumen_prefered_vol', array(1.) * um**3)
specs = {'settings': {'lumen_prefered_vol': 1.0, 'lumen_vol': 1.0, 'lumen_vol_elasticity': 1.0}}
class tyssue.dynamics.effectors.PerimeterElasticity[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

From Mapeng Bi et al. https://doi.org/10.1038/nphys3471

dimensions = array(1.) * fJ/um**2
element = 'face'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Perimeter Elasticity'
magnitude = 'perimeter_elasticity'
spatial_ref = ('prefered_perimeter', UnitLength('micrometer', 0.001 * mm, 'um'))
specs = {'face': {'is_alive': 1, 'perimeter': 1.0, 'perimeter_elasticity': 0.1, 'prefered_perimeter': 3.81}}
class tyssue.dynamics.effectors.RadialTension[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

Apply a tension perpendicular to a face.

dimensions = array(1.) * fJ/um
element = 'face'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Apical basal tension'
magnitude = 'radial_tension'
specs = {'face': {'height': 1.0, 'radial_tension': 1.0}}
class tyssue.dynamics.effectors.SurfaceTension[source]

Bases: tyssue.dynamics.effectors.AbstractEffector

dimensions = array(1.) * fJ/um**2
element = 'face'
static energy(eptm)[source]
static gradient(eptm)[source]
label = 'Surface tension'
magnitude = 'surface_tension'
spatial_ref = ('prefered_area', array(1.) * um**2)
specs = {'face': {'area': 1.0, 'is_active': 1, 'surface_tension': 1.0}}
tyssue.dynamics.effectors.dimensionalize(nondim_specs, dim_specs, effector, ref_effector)[source]
tyssue.dynamics.effectors.elastic_energy(element_df, var, elasticity, prefered)[source]
tyssue.dynamics.effectors.elastic_force(element_df, var, elasticity, prefered)[source]
tyssue.dynamics.effectors.normalize(dim_specs, nondim_specs, effector, ref_effector)[source]
tyssue.dynamics.effectors.scaler(nondim_specs, dim_specs, effector, ref_effector)[source]

tyssue.dynamics.factory module

tyssue.dynamics.factory.model_factory(effectors, ref_effector=None)[source]

Produces a Model class with the provided effectors.

Parameters
  • effectors (list of effectors.AbstractEffectors classes.) –

  • ref_effector (optional, default None) – if passed, will be used for normalization, by default, the last effector in the list is used

Returns

NewModel – methods

Return type

a Model derived class with compute_enregy and compute_gradient

tyssue.dynamics.planar_gradients module

tyssue.dynamics.planar_gradients.area_grad(sheet)[source]
tyssue.dynamics.planar_gradients.lumen_area_grad(eptm)[source]

tyssue.dynamics.planar_vertex_model module

tyssue.dynamics.sheet_gradients module

Base gradients for sheet like geometries

tyssue.dynamics.sheet_gradients.area_grad(sheet)[source]
tyssue.dynamics.sheet_gradients.height_grad(sheet)[source]

tyssue.dynamics.sheet_vertex_model module

Vertex model for an Epithelial sheet (see definitions).

Depends on the sheet vertex geometry functions.

tyssue.dynamics.units module

Small module to manage units and dimension analysis

Module contents

dynamics