Software development at the ABI

Our members contribute to many software projects, ranging from individual automation scripts through 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 for creating, manipulating, serialising, parsing, validating and instantiating models in CellML. It is aimed at supporting CellML 2.0, and is written in C++ and has Python bindings.

People: Hugh Sorby, Alan Garny
Explore more: libCellML

Neon/MAP-Client

Reproducible workflow environment with a growing number of plug-in tools for performing workflow steps. MAP-Client is planned to be rebranded as Neon.

People: Hugh Sorby
Check it out: Neon/MAP-Client

OpenCMISS

Continuum modelling software. Consists of two main libraries: Iron (parallel computation) and Zinc (interactive modelling and visualisation).

Discover more: OpenCMISS

OpenCMISS-Iron

Parallel solver library written in Fortran with APIs in Fortran, C and Python.

People: Gene Soudlenkov

OpenCMISS-Zinc

Modelling and visualisation library for building interactive graphical interfaces, written in C/C++ with APIs in C, C++ and Python.
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.

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. These can on Windows, Linux and macOS. It is released under the GPL v3.0 license and can be downloaded at OpenCOR

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

Osmium

Osmium is the software framework being developed to power the next generation Physiome Model Repository (PMR). Also the VPH/Physiome Portal and Physiome journal.

People: Tommy Yu
Find out more: Osmium

ZincJS and 3D web apps

ZincJS is a Web-based 3D interface library based on the very popular three.js library. It provides 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.

People: Alan Wu
Discover more: ZincJS

People

We have many software development experts at the ABI covering a wide range of skills. We list here those who are able to provide valuable advice on your own software projects. 

Richard Christie

Expertise: C/C++, Python, software architecture, API design, graphical user interfaces, visualisation, computer graphics (OpenGL), Git, finite elements (mechanics), FEM field representation & meshing.
Email: r.christie@auckland.ac.nz
Find out more: Richard Christie

Zohreh Ekhlasi

Expertise: Python, versioning (Git), finite element
(mechanics), finite element field representation and meshing, machine learning,
bioengineering simulation.
Email: zohreh.ekhlasi@auckland.ac.nz
Find out more: Zohreh Ekhlasi

Alan Garny

Expertise: C/C++, Pascal/Delphi, Python (basic), building/packaging (CMake/CPack), continuous integration (Jenkins, Travis CI), cross-platform development (Windows, Linux and macOS using Qt), documentation (reStructuredText with Sphinx), graphical user interface (Qt), numerical methods (ODEs, PDEs using finite difference method), unit testing (Qt), versioning (Git, SVN), Web technologies (HTML, XML, MathML, RDF, CSS, JavaScript, etc.).
Email: a.garny@auckland.ac.nz
Find out more: Alan Garny

Gonzalo Maso Talou

Expertise: C/C++, Fortran, Java, Matlab, Pascal/Delphi, Python (basic), high performance computing (MPI, OpenMP), numerical methods (finite volume and finite difference methods), machine learning (TensorFlow, Matlab).
Email: g.masotalou@auckland.ac.nz
Find out more: Gonzalo Maso Talou

Mahyar Osanlouy

Expertise: Python, Java, C/C++, Perl, GUI (Qt), versioning (Git, SVN), web (HTML, CSS, JavaScript - basic), machine learning and AI (Theano, Tensorflow, Keras, SKLearn), statistical modeling, computer vision and image processing (OpenCV, SKImage, PIL), embodied cognition, HCI, optimization, Finite Element geometry and meshing, and bioengineering simulations.
Email: m.osanlouy@auckland.ac.nz
Find out more: Mahyar Osanlouy

Paul Roberts

Expertise: LabView

Sonia Sharma

Expertise: Develop user-level documentation for softwares, creation of interactive training tutorials, customer relationship management, hands-on experience in software testing and quality assurance, knowledge of Azure Resource Manager, Amazon Web Services EC2 and OpenStack, Git version control, worked in Agile product development environment, demonstration of software features to the end-users.
Email:
 sonia.sharma@auckland.ac.nz
Find out more: Sonia Sharma

Hugh Sorby

Expertise: C/C++, Python, cross-platform development, continuous integration and test systems, graphical user interfaces, packaging, Git.
Email: h.sorby@auckland.ac.nz
Find out more: Hugh Sorby

Gene Soudlenkov

Expertise: C/C++, Fortran, Assemblers, numerical analysis, high performance computing, MPI, continuous integration, machine learning, data analysis, performance tuning, high performance computing.

Alan Wu

Expertise: C/C++, Python, JavaScript, cross-platform development, continuous integration, graphical user interfaces, computer graphics (OpenGL, WebGL), Git.
Email: alan.wu@auckland.ac.nz
Find out more: Alan Wu

Tommy Yu

Expertise: 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
Find out more: Tommy Yu