Skip to content

funkelab/morphix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Morphix

Trainable Morphogenesis Simulation in JAX.

Overview

morphix is a python/JAX package to simulate and train morphogenesis, i.e., the development of organsisms from a single cell. morphix simulates

  • mechanical forces between cells,
  • secretion/diffusion/sensing of molecules between cells,
  • cell-internal reactions, and
  • cell division events.

The functions underlying all simulated components (except for the mechanical forces) are learnable through a combination of auto-differentiation in JAX and reinforcement learning.

In the future, this will allow learning the development rules that give rise to different morphologies.

morphix.mov

Note

This package is under active development (pre-release) and the API is subject to change.

Other Efforts

This package was developed in an independent effort to Jax-Morph and shares a lot of its goals. Please refer to the publication Engineering morphogenesis of cell clusters with differentiable programming to learn more about Jax-Morph and what it can do.

At the moment, Jax-Morph is a more mature package for morphogenesis simulation, highly customizable, and has already been used to uncover principles of development.

Development

Deployment

To deploy a new version, first make sure to bump the version string in morphix/__init__.py. Then create an annotated tag, and push it to github. This will trigger the deploy.yaml workflow to upload to PyPI

git tag -a vX.Y.Z -m vX.Y.Z
git push upstream --follow-tags

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages