All Projects → DamCB → tyssue

DamCB / tyssue

Licence: GPL-3.0 license
An epithelium simulation library

Programming Languages

python
139335 projects - #7 most used programming language
CMake
9771 projects
TeX
3793 projects

Projects that are alternatives of or similar to tyssue

wildmeshing-python
Python bindings for TriWild.
Stars: ✭ 37 (-26%)
Mutual labels:  geometry
LearningPath
Learning repository
Stars: ✭ 143 (+186%)
Mutual labels:  notebook
osm-static-maps
Openstreetmap static maps is a nodejs lib, CLI and server open source inspired on google static map service
Stars: ✭ 130 (+160%)
Mutual labels:  geometry
xp
A framework (comand line tool + libraries) for creating flexible compute pipelines
Stars: ✭ 54 (+8%)
Mutual labels:  notebook
paramak
Create parametric 3D fusion reactor CAD and neutronics models
Stars: ✭ 40 (-20%)
Mutual labels:  geometry
go-notebook
Go-Notebook is inspired by Jupyter Project (link) in order to document Golang code.
Stars: ✭ 33 (-34%)
Mutual labels:  notebook
gorilla-repl
A fork of Jony Epsilon's rich REPL for Clojure in the notebook style.
Stars: ✭ 22 (-56%)
Mutual labels:  notebook
text-rnn-tensorflow
Tutorial: Multi-layer Recurrent Neural Networks (LSTM, RNN) for text models in Python using TensorFlow.
Stars: ✭ 22 (-56%)
Mutual labels:  notebook
Geometry-Solving
This is an open source project to share algorithms for solving the geometry games Pythagorea, Pythagorea 60, Euclidea 3 and Xsection
Stars: ✭ 17 (-66%)
Mutual labels:  geometry
MDAPL
The de facto standard for people who are looking to learn Dyalog APL from a book. This updated version is a work in progress.
Stars: ✭ 24 (-52%)
Mutual labels:  notebook
oriedita
Oriedita (fork of Orihime) is an origami crease pattern editor and folding simulator.
Stars: ✭ 28 (-44%)
Mutual labels:  geometry
jupyterlab plotly
This repository is deprecated. The extension has moved to https://github.com/jupyterlab/jupyter-renderers
Stars: ✭ 16 (-68%)
Mutual labels:  notebook
notesnook
A fully open source & end-to-end encrypted note taking alternative to Evernote.
Stars: ✭ 5,098 (+10096%)
Mutual labels:  notebook
smart-city-analytics
Analyze large data sets collected from a long-range IoT system that uses LoRaWAN networking
Stars: ✭ 28 (-44%)
Mutual labels:  notebook
idr-notebooks
Jupyter Notebooks for the Image Data Resource
Stars: ✭ 14 (-72%)
Mutual labels:  notebook
Shape-Your-Music
A web application for drawing music.
Stars: ✭ 106 (+112%)
Mutual labels:  geometry
source-engine-model-loader
Three.js loader for parsing Valve's Source Engine models
Stars: ✭ 54 (+8%)
Mutual labels:  geometry
machine-learning-use-cases
Machine Learning Notebooks with Turicreate and Keras in a Docker Container
Stars: ✭ 20 (-60%)
Mutual labels:  notebook
Machine-Learning-Notebooks
15+ Machine/Deep Learning Projects in Ipython Notebooks
Stars: ✭ 66 (+32%)
Mutual labels:  notebook
wkb-parser
Well-known binary (WKB) Parser.
Stars: ✭ 69 (+38%)
Mutual labels:  geometry

tyssue : An epithelium simulation library

A nice banner


Build Status

Coverage Status

Doc Status

DOI Join the chat at https://gitter.im/DamCB/tyssue

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

tyssue is now published in the Journal of Open Source Software!

DOI

The tyssue library seeks to provide a unified interface to implement bio-mechanical models of living tissues. It's main focus is on vertex based epithelium models.

Overview

What kind of Models does it implement?

The first model implemented is the one described in Monier et al. [monier2015apico]. It is an example of a vertex model, where the interactions are only evaluated on the apical surface sheet of the epithelium. The second class of models is still at an stage. They implement a description of the tissue's rheology, within a dissipation function formalism.

The two models considered

General Structure of the modeling API

Design principles

APIs not apps

Each biological question, be it in morphogenesis or cancer studies is unique, and requires tweeking of the models developed by the physicists. Most of the modelling softwares follow an architecture based on a core C++ engine with a combinaison of markup or scripting capacities to run specific simulation.

In tyssue, we rather try to expose an API that simplifies the building of tissue models and running simulations, while keeping the possibilities as open as possible.

Separate structure, geometry and models

We seek to have a design as modular as possible, to allow the same epithlium mesh to be fed to different physical models.

Accessible, easy to use data structures

The core of the tyssue library rests on two structures: a set of pandas DataFrame holding the tissue geometry and associated data, and nested dictionnaries holding the model parameters, variables and default values.

Tyssue data structure

The API thus defines an Epithelium class. An instance of this class is a container for the datasets and the specifications, and implements methods to manipulate indexing of the dataframes to ease calculations.

The mesh structure is heavily inspired by CGAL Linear Cell Complexes, most importantly, in the case of a 2D vertex sheet for example, each junction edge between the cells is "splitted" between two oriented half edges.

Creating an Epithelium

## Core object
from tyssue import Sheet
## Simple 2D geometry
from tyssue import PlanarGeometry
## Visualisation (matplotlib based)
from tyssue.draw import sheet_view

sheet = Sheet.planar_sheet_2d('basic2D', nx=6, ny=7,
                              distx=1, disty=1)
PlanarGeometry.update_all(sheet)
sheet.sanitize()
fig, ax = sheet_view(sheet)

Features

  • Easy data manipulation.
  • Multiple geometries (Sheets in 2D and 3D, monolayers, bulk).
  • Easy to extend.
  • 2D (matplotlib) and 3D (ipyvolume) customisable visualisation.
  • Easy quasistatic model definition.
  • Self collision detection. new in 0.3

Documentation

  • The documentation is now browsable on tyssue.io
  • The old documentation is still browsable online here
  • Introduction notebooks are available here.

Mailing list:

[email protected] - https://framalistes.org/sympa/info/tyssue

Subscribe ➙ https://framalistes.org/sympa/subscribe/tyssue Unsubscribe ➙ https://framalistes.org/sympa/sigrequest/tyssue

Authors

  • Bertrand Caré - @bcare
  • Cyprien Gay - @cypriengay
  • Guillaume Gay (maintainer) - @glyg
  • Hadrien Mary - @hadim
  • François Molino
  • Magali Suzanne
  • Sophie Theis - @sophietheis

Dependencies

As all the dependencies are already completely supported in python 3.x, we won't be maintaining a python 2.x version, because it's time to move on...

Core

  • CGAL > 4.7
  • Python >= 3.6
  • numpy
  • scipy
  • matplotlib
  • pandas
  • pytables
  • jupyter
  • notebook
  • quantities
  • ipywidgets
  • pythreejs
  • ipyvolume
  • vispy

Tests

  • pytest
  • coverage
  • pytest-cov

Install

You can install the library with the conda package manager

conda install -c conda-forge tyssue

Through PyPi

You can also install tyssue from PyPi, this is a CGAL-less version (pure python), lacking some features:

python -m pip install --user --upgrade tyssue

From source

See INSTALL.md for a step by step install, including the necessary python environment.

Licence

Since version 0.3, this project is distributed under the terms of the General Public Licence.

Versions 2.4 and earlier were distributed under the Mozilla Public Licence.

If GPL licencing is too restrictive for your intended usage, please contact the maintainer.

Bibliography

The tyssue library stemed from a refactoring of the leg-joint code used in [monier2015apico].

[monier2015apico]: Monier, B. et al. Apico-basal forces exerted by apoptotic cells drive epithelium folding. Nature 518, 245–248 (2015).

[Tamulonis2013]: Tamulonis, C. Cell-based models. (Universiteit ven Amsterdam, 2013). doi:10.1177/1745691612459060.

[Tlili2013]: Tlili,S. et al. Mechanical formalism for tissue dynamics. 6, 23 (2013).

Research notice

Please note that this repository is participating in a study into sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from June 2021.

Data collected will include number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed.

For more information, please visit our informational page or download our participant information sheet.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].