Installation

Linux

Conda Package

The conda package is recommended. If you already have conda installed just do:

conda config --add channels conda-forge
conda config --add channels jmsgrogan
conda install chaste
conda install libgcc

You should then be able to do:

import chaste

in a python session.

If you need to install conda, the Miniconda package will suffice.

It may be necessary to run the following if you are starting with a 'clean' version of Ubuntu to install some typical packages:

sudo apt-get install build-essential lsb-release libgl1-mesa-dev:amd64 libxt-dev:amd64 libatlas-base-dev

Docker

A Docker image is also available. This image will launch a Jupyter notebook at http://localhost::8888 in a web browser, which can be used to try out the package. If you already have docker installed do:

docker pull jmsgrogan/pychaste
docker run -it -p 8888:8888 jmsgrogan/pychaste

and go to the above link in your browser. Alternatively do:

docker pull jmsgrogan/pychaste
docker run -it jmsgrogan/pychaste /bin/bash

to get access to the shell and launch Python yourself.

To install Docker follow the instructions here.

Windows/MacOS

Docker

Only Docker is supported on these platforms at the moment. Install Docker following the instructions here and proceed as per the Linux Docker instructions above.

Build From Source (Linux Only)

It is reasonably straightforward to build the package from source on Linux.

First, Chaste dependencies need to be built following the Chaste Install Guide.

The project only supports the development version of Chaste. This can be obtained by doing:

git clone -b paper/MicrovesselChaste https://chaste.cs.ox.ac.uk/git/chaste.git $CHASTE_SOURCE_DIR

The project code itself can be obtained by doing:

git clone https://github.com/jmsgrogan/PyChaste.git $PYCHASTE_PROJECT_SOURCE_DIR

The wrapper code needs to be included in the main Chaste source. This can be done with a symbolic link:

cd $CHASTE_SOURCE_DIR/projects
ln -s $PYCHASTE_PROJECT_SOURCE_DIR

The Python modules can be built using the Chaste CMake build system. First, create a build directory outside the source tree and proceed as:

cd $CHASTE_BUILD_DIR
cmake $CHASTE_SOURCE_DIR
make chaste_project_PyChaste -j $NUM_AVAILABLE_CPUS
make chaste_project_PyChaste_Python -j $NUM_AVAILABLE_CPUS
cd $CHASTE_BUILD_DIR/projects/PyChaste/python/chaste
python setup.py install

You can then import chaste in a Python session.

The Chaste CMake build system guide should be consulted for options related to generating optimized builds.

Troubleshooting

  • Missing Boost Python when building from source: If you are building from source you may need to install Boost Python in addition to the Chaste dependencies. Do sudo apt-get install libboost-python-dev on Ubuntu to obtain it.
  • Missing librt.so when loading conda package: this is a problem with the version of VTK in conda-forge. Make sure you have added the conda channels in the order above.
  • GCC ABI errors when importing chaste from the conda package. The conda package is built with GCC 5 and needs the corresponding version of libstdc++. This library is easily hidden by the system version or other conda packages. It is suggested that chaste is run in its own conda environment and that the conda 'libgcc' package is installed on its own after chaste.