Skip to content

funkelab/morphix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 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.

frames_2026-02-26_11.44.31.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

 
 
 

Contributors

Languages