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