DAlphaBall is distributed under the GNU LGPL. A build recipe and associated scripting components for building conda packages for Rosetta components. These recipes can be used to generate the DAlphaBall executable.
- Install
docker. - Use
dalphaball_docker_build.sh <output dir>to build thedalphaballconda package.
The c std lib that can be used with conda build is a little older, so you'll need to set up an appropriate build environment. The Mac OS X 10.10 SDK is compatible and can be configured to work with conda build with the following steps:
- Get MacOSX10.10.sdk
- Move the SDK to
/optwithtar xf ~/Downloads/MacOSX10.10.sdk.tar.xz -C /opt - Add the following to
~/.condarc:
conda_build:
config_file: ~/.conda/conda_build_config.yaml
- Create
~/.conda/conda_build_config.yamlif it doesn't exist and add:
CONDA_BUILD_SYSROOT:
- /opt/MacOSX10.10.sdk # [osx]
- Create and activate a new conda environment (or activate an existing conda environment),
installing
conda-buildandpyrosettapackages. For older versions of conda (<=4.6), one may need to installconda-build<=3.22.0to avoid anImportErrorat the next stage. - Navigate to this cloned repository directory, and use
conda build recipes -c conda-forge --croot=<output dir>to build thedalphaballconda package. - In order to use the
dalphaballpackage withpyrosetta, then useconda install dalphaball -c <output dir>to installdalphaballinto the active conda environment. Optionally, it may be installed into any conda environment at this stage. - The
dalphaballexecutable is then located in the active conda environmentbindirectory, usually located here:~/opt/anaconda3/envs/MYENV/bin/dalphaball. - If using Jupyter notebooks, launch
jupyter notebookfrom the active conda environment. The conda environmentbindirectory should be in$PATH, so one may initialize PyRosetta with the following flag:-holes:dalphaball dalphaball. Ifjupyter notebookis launched from a different conda environment, make sureipykernelis installed into the active conda environment and the active conda environment is registered for use as a kernel on the Jupyter server, then specify the full path to thedalphaballexecutable during PyRosetta initialization:-holes:dalphaball ~/opt/anaconda3/envs/MYENV/bin/dalphaball. - Enable usage of dalphaball in the
BuriedUnsatHbondsfilter with thedalphaball_sasa="1"option. TheHolesfilter automatically uses it.
These components are roughly organized into layers:
-
recipes: Conda recipe definitions with dependency information and build steps. -
dalphaball_docker_build.sh: Script using minimal build environment defined in linux-anvil to build broadly compatible linux conda packages. This should be considered the primary entrypoint to generate conda packages. -
Use
conda build recipes -c conda-forge --croot=<output dir>to build thedalphaballconda package in your current environment.
The dalphaball_docker_build.sh build scripts can be used to
diagnose failed builds within the anvil environment. To debug a failed
build:
-
Note the build prefix in the container. Eg.
/home/conda/build/dalphaball_12345 -
Re-invoke the
docker runconfig used to execute the build, replacing the conda build call with a direct invocation of the workspace build script.Eg.
bash -c 'cd /home/conda/root/dalphaball && conda build recipes -c conda-forge --croot /home/conda/build'->bash -c 'cd /home/conda/build/dalphaball_12345 && ./conda_build.sh'