hal

HAL (Hybrid Automata Library) is the one-stop shop for all of your hybrid modeling needs

https://github.com/mathonco/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 1 DOI reference(s) in README
  • Academic publication links
    Links to: plos.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

HAL (Hybrid Automata Library) is the one-stop shop for all of your hybrid modeling needs

Basic Info
  • Host: GitHub
  • Owner: MathOnco
  • License: mit
  • Language: Java
  • Default Branch: master
  • Size: 85 MB
Statistics
  • Stars: 37
  • Watchers: 7
  • Forks: 12
  • Open Issues: 1
  • Releases: 5
Created about 7 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Hybrid Agent Library: HAL

Hybrid Automata Library (HAL) is a Java library that facilitates hybrid modeling: spatial models with interacting agent-based and partial-differential equation components. HALs components can be broadly classified into: agent containers (on and off-lattice), finite difference diffusion fields, graphical user interface (GUI) components, and additional tools or utilities for computation and data manipulation. These components have a standardized interface that expedites the construction, analysis, and visualization of complex models.

HAL was originally developed to support mathematical oncology modeling efforts at the H. Lee Moffitt Cancer Center and Research Institute. To view several examples of projects built in HAL, since its inception in 2017, we direct the reader to the following website: halloworld.org. More details on the philosophy and technical details behind HAL can be found in the paper, published in PLOS Computational Biology, here (open-access).

What is Hybrid Modeling

What is hybrid modeling?

Hybrid Modeling is the integration of Agent-Based modeling and partial differential equation (PDE) modeling. It is commonly used in mathematical oncology to mechanistically model interactions between microen- vironmental diffusibles (e.g drugs or resources) and agents (tumor cells). Tissue is represented using agent-based modeling, where each agent acts as a single cell in two- or three-dimensional space. As seen in figure 1, agents may be stackable, unstackable, off-lattice, on-lattice, and two- or three-dimensional types. Agents are contained in grids. A single model may have multiple overlapping and interacting grids, representing moving and interacting cells, alongside diffusing drug and resources. Diffusibles that interact with the tissue are represented using partial differential equations (PDEs).

Modularity

Each component (grids, agents) of HAL can function independently. This permits any combination of components to be used in a single model, with the use of spatial queries to combine them.

Extensibility

HAL was designed to allow models and components to be extended and modified. Grids and agents from published models can be used as as a scaffold on which to do additional studies while keeping the prior work and their additions separated.

Simplicity

Components are simple and generic making them applicable to a wide variety of modeling problems outside of mathematical oncology. A defensive programming paradigm was used to generate useful error messages when a component is used incorrectly. The purpose of this manual is to explain the modeling paradigm behind HAL, where the clear, consistent interface and methodology allows for ease of learning and implementation.

Performance

HAL prioritizes performance in its algorithmic implementation. HAL includes efficient PDE solving algorithms, efficient visualization using BufferedImages and OpenGL, and leverages Javas impressive performance for exe- cuting ABM logic. These performance considerations allow for real-time display and visualization of models with minimal lag.

Before you start

In order to run models built using HAL's' code base, you'll need to download the latest version of Java and an editor (we suggest using IntelliJ Idea).

Setting up the project in IntelliJ Idea

See the manual halloworld.org/setup for information on how to setup HAL on your operating system.

Owner

  • Name: IMO
  • Login: MathOnco
  • Kind: organization
  • Location: Tampa, Florida, USA

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: Hybrid Automata Library
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Rafael
    family-names: Bravo
  - given-names: Etienne
    family-names: Baratchart
  - given-names: Jeffrey
    family-names: West
  - given-names: Ryan
    family-names: Schenck
  - given-names: Anna
    family-names: Miller
  - given-names: Jill
    family-names: Gallaher
  - given-names: Chandler
    family-names: Gatenbee
  - given-names: David
    family-names: Basanta
  - given-names: Mark
    family-names: Robertson-Tessi
  - given-names: Alexander
    family-names: Anderson
repository-code: 'https://github.com/mathonco/hal'
url: 'https://halloworld.org/'
abstract: >-
  Hybrid Automata Library (HAL) is a Java library that
  facilitates hybrid modeling: spatial models with
  interacting agent-based and partial-differential equation
  components. HAL’s components can be broadly classified
  into: agent containers (on and off-lattice), finite
  difference diffusion fields, graphical user interface
  (GUI) components, and additional tools or utilities for
  computation and data manipulation. These components have a
  standardized interface that expedites the construction,
  analysis, and visualization of complex models.

GitHub Events

Total
  • Fork event: 2
Last Year
  • Fork event: 2

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 6
proxy.golang.org: github.com/MathOnco/HAL
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.0%
Last synced: 6 months ago
proxy.golang.org: github.com/mathonco/hal
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.0%
Last synced: 6 months ago