lenia-in-hal
Repository for Lenia framework, implemented in Hybrid Automata Library (HAL)
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, biorxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
Repository for Lenia framework, implemented in Hybrid Automata Library (HAL)
Basic Info
- Host: GitHub
- Owner: MathOnco
- License: mit
- Language: Java
- Default Branch: main
- Size: 47.5 MB
Statistics
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Lenia-in-HAL
Repository for Lenia framework, implemented in Hybrid Automata Library (HAL), which can be downloaded here. Below we implement the "Lenia" modeling framework in HAL v1.1.0.
Lenia is a cellular automata framework developed here that offers capabilities for simulating cellular automata that have continuous space and time components, making it suitable for studying the collective behavior of interacting biological agents, such as individual cells or organisms. Cellular automata are valuable tools for studying the rules governing the behavior of complex systems, including multi-factorial diseases like cancer.
Below is an image (originally appearing here) that describes Lenia. Lenia as a cancer model:
(A) Lenia artificial life virtual creatures, reproduced from Chan, 2018. (B) List of characteristics possible to produce in Lenia by varying the growth dynamics function (C) or the interaction kernel function (D). (E) An example snapshot of a simulation shows the density of cells at each lattice location where the interaction kernel (F) specifies the nature of interaction of cells depending on their distance from each other. (G) The density potential, interpreted as a weighted average of interactions at each lattice location, is calculated as the convolution of A(x) and K(x). (H) the growth field calculated by applying a growth map to the density potential. (I) adding a fraction of the growth field at each time step to the cell density, forms the Lenia update rule.
Overview
Lenia-in-HAL is developed at the EDIT lab at the H. Lee Moffitt Cancer Center and Research Institute. It provides various features essential for cancer modeling, including:
- Cellular replication
- Growth
- Motility
- Evolvability
- Adaptation
Features
Lenia is designed to recapitulate various models commonly used in cancer research, including:
- Classical Analytical Models: Lenia can simulate ordinary differential equations commonly used in cancer research.
- Stochastic Agent-Based Models: It supports common stochastic agent-based models of cancer.
- Evolutionary Game Theory: Lenia can model multiple cell types competing on Darwinian fitness landscapes.
- Cell Migration: It includes generalized cell migration models like chemotaxis commonly used in cancer mathematical modeling literature.
Usage
Lenia is easy to implement and supports single or multiple players (cell types). Users can define growth functions and various kernel sizes/functions for spatial interaction. More details on using Lenia in cancer modeling can be found in this paper.
There are two steps to defining and implementing a model in Lenia: 1) define the Growth function, G(u) and 2) define the kernel of cell interaction, K(r).
For example, we implement logistic growth with an Allee effect by overriding the G function in ExampleDeterministic1Player.java:
// Growth function
@Override
public double G(double u) {
return gamma * u * (u - L) * (C - u);
}
where gamma, L, and C are constants. This function defines the growth rate of each lattice location as a function of u, the density potential. Density potential is determined by the weighted sum of the density of a focal cell's neighborhood, as defined by the interaction kernel. For example, we can define the neighborhood as the cells within a radius of Rstar as follows:
@Override
public double K(double r) {
if (r <= Rstar) {
return 1.0;
} else {
return 0.0;
}
}
Thus, each cell within a radius of Rstar will be equally weighted. If neighborhood is empty then u = 0, if maximum capacity then u = 1.
For help getting started with HAL, we recommend checking out the manual halloworld.org/setup for information on how to setup HAL on your operating system.
Examples
Four examples are provided in the Examples folder. We recommend starting here, and editing the G and K functions of these examples for your own purposes.
- ExampleDeterministic1Player.java
- ExampleDeterministic2Player.java
- ExampleStochastic1Player.java
- ExampleStochastic2Player.java
License
Lenia is open-source software licensed under the MIT License.
Contributing & Contact
Contributions to Lenia are welcome! If you're interested in contributing, please fork this repository or contact us directly. For any questions, feedback, or support, please contact the EDIT lab at the H. Lee Moffitt Cancer Center and Research Institute.
Owner
- Name: IMO
- Login: MathOnco
- Kind: organization
- Location: Tampa, Florida, USA
- Website: http://labpages.moffitt.org/imo/?_ga=2.12512052.1406375664.1542400212-1742657875.1540306290
- Repositories: 38
- Profile: https://github.com/MathOnco
Moffitt Cancer Center's Integrated Mathematical Oncology public facing repositories for published projects.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Lenia-in-HAL
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Jeffrey
family-names: West
email: Jeffrey.West@moffitt.org
- given-names: Sadegh
family-names: Marzban
email: Sadegh.Marzban@moffitt.org
- given-names: Rafael
family-names: Bravo
email: Rafael.Bravo@moffitt.org
- given-names: Alexander
family-names: Anderson
email: Alexander.Anderson@moffitt.org
identifiers:
- type: url
value: >-
https://github.com/mathonco/lenia-in-hal
abstract: >-
Lenia, a cellular automata framework used in artificial
life, provides a natural setting to design, implement, and
analyze mathematical models of cancer progression and
treatment. Lenia’s suitability as a cancer model is
derived from the strong parallels between artificial life
and cancer evolution: morphogenesis, homeostasis,
motility, reproduction, growth, stimuli response,
evolvability, and adaptation. Historically, agent-based
models of cancer progression have been constructed with
rules that govern birth, death, and migration based on the
local availability of space, with attempts to map local
rules to emergent global growth dynamics. In contrast,
Lenia provides a flexible framework for considering a
spectrum of local (cell-scale) to global (tumor-scale)
dynamics by defining an interaction kernel governing
density-dependent growth dynamics. Lenia can recapitulate
a range of cancer model classifications including local or
global, deterministic or stochastic, non-spatial or
spatial, single or multi-population, and off or
on-lattice. Lenia is subsequently used to develop
data-informed models of 1) single-population growth
dynamics, 2) multi-population cell-cell competition
models, and 3) cell migration or chemotaxis.
date-released: '2024-03-02'
GitHub Events
Total
- Watch event: 1
- Push event: 1
Last Year
- Watch event: 1
- Push event: 1