Software development at the ABI
Our members contribute to many software projects, from individual automation scripts to large-scale international open-source projects.
Major projects
Our developers contribute to a number of international open-source projects under the auspices of the Physiome Project.
The projects listed below provide some examples of the software we contribute to.
In most cases, we also state the person most involved with the project. You can find out more about these individuals in the People section below.
Physiome Model Repository
Physiome Model Repository is powered by the PMR2 software suite. It contains the CellML models. These have been developed by researchers around the world over the past two decades.The PMR2 software suite is the combination of:
People: Tommy Yu
Find out more: Physiome Model Repository
Calmjs
A Python framework for building toolchains and utilities for working with the JavaScript/Node.js ecosystem from within a Python environment.
People: Tommy Yu
Learn more: Calmjs
libCellML
libCellML is a library that implements the CellML specification in software. libCellML takes an object-based approach to representing the concepts in the specification. As such, it is aimed at supporting CellML 2.0 with the ability to upgrade CellML 1.x models to CellML 2.0. libCellML is written in C++ and is packaged and made available for use in Python, JavaScript, and Julia. libCellML also supports model analysis beyond the CellML specification and code generation for simulation of CellML models with tools like CVODE and KINSOL from SUNDIALS.
People: Hugh Sorby, Alan Garny
Explore more: libCellML
libOpenCOR
libOpenCOR is a cross-platform library written in C++. It relies on libCellML and comes with Python bindings. It is used as the backend to OpenCOR and is released under the Apache v2.0 license.
People: Alan Garny
Check it out: libOpenCOR
MAP Client
Reproducible workflow environment with a growing number of plug-in tools for performing workflow steps. MAP Client provides the foundation for the SPARC Scaffold Mapping Tools.
People: Hugh Sorby
Check it out: MAP Client, Scaffold Mapping Tools
CMLibs
Continuum modelling software including Zinc library.
Website: CMLibs.org
CMLibs Zinc Library
Modelling and visualisation library for building interactive graphical interfaces, written in C/C++ with APIs in C, C++ and Python. Business friendly open source license.
Various tools and user interfaces built with Zinc are also actively developed or maintained by the ABI. Cmgui is the legacy visualisation application built on Zinc.
Source code: github.com/cmlibs/zinc
People: Richard Christie, Alan Wu, Hugh Sorby
OpenCOR
OpenCOR is a cross-platform modelling environment, which is aimed at organising, editing, simulating, and analysing CellML files. It is released under the GPL v3.0 license and can be downloaded for Windows, Linux, and macOS from the OpenCOR website.
Please have a look at our published article. There, you can learn more about our modular and interoperable approach to computational biology in OpenCOR.
People: Alan Garny
Check it out: OpenCOR
ZincJS and Scaffoldvuer
ZincJS is a Web-based 3D interface library based on the popular three.js library. It provides a number of classes /methods for easy access to powerful 3D models visualisations for desktop/mobile platforms on WebGL compatible browsers. You can find documentation and web apps built on ZincJS on their website.
Scaffoldvuer is a simple web interface with 3D visualisation capability powered by ZincJS. It is currently capable of displaying 3D models format such as GLTF, STL and OBJ, and models from Zinc.
People: Alan Wu
Discover more: ZincJS, Scaffoldvuer
SPARC Portal
Funded by NIH, ABI collaborates with multiple large research institutes to develop a web portal with the vision to accelerate autonomic neuroscience research and device development by providing access to digital resources that can be shared, cited, visualized, computed, and used for virtual experimentation.
People: Alan Wu, Jesse Khorasanee, Hugh Sorby, Alan Garny
12-Labours Portal
Developed with similar frameworks to those used for SPARC Portal. It aims to support biomedical research in New Zealand through an easy, user-friendly interface to access information, research data and monitor progress.
People: Alan Wu
People
We have many software development experts at the ABI covering a wide range of skills. We list here the senior developers who are able to provide valuable advice on your own software projects.
Richard Christie
Expertise: C/C++, Python, software architecture, algorithm design, API design, graphical user interfaces, visualisation, computer graphics (OpenGL), Git, finite elements, FEM field representation & meshing.
Email: r.christie@auckland.ac.nz
Alan Garny
Expertise: C/C++, Pascal/Delphi, Python, building/packaging (CMake/CPack and NSIS), containers (Docker), continuous integration (GitHub Actions), cross-platform development (Windows, Linux, and macOS using Qt), documentation (reStructuredText with Sphinx), graphical user interfaces (Qt), numerical methods (ODEs, PDEs using finite difference method), unit testing (Google Test and Qt Test), versioning (Git), Web technologies (HTML, XML, MathML, RDF, CSS, JavaScript, etc.).
Email: a.garny@auckland.ac.nz
Hugh Sorby
Expertise: C/C++, Python, Javascript, cross-platform development, continuous integration and test systems, graphical user interfaces, packaging, Git.
Email: h.sorby@auckland.ac.nz
Alan Wu
Expertise: C/C++, Python, JavaScript, HTML, CSS, cross-platform development, continuous integration, graphical user interfaces, computer graphics (OpenGL, WebGL), Git.
Email: alan.wu@auckland.ac.nz
Tommy Yu
Expertise: Rust, Python (Zope/Plone and other various web backend/integration frameworks, and unit testing), Git, Continuous Integration, SQL, Semantic web, Node.js/Python integration, Virtualised Servers (VirtualBox and AWS EC2).
Email: tommy.yu@auckland.ac.nz