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 thedalphaball
conda 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
/opt
withtar 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.yaml
if 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-build
andpyrosetta
packages. For older versions of conda (<=4.6), one may need to installconda-build<=3.22.0
to avoid anImportError
at the next stage. - Navigate to this cloned repository directory, and use
conda build recipes -c conda-forge --croot=<output dir>
to build thedalphaball
conda package. - In order to use the
dalphaball
package withpyrosetta
, then useconda install dalphaball -c <output dir>
to installdalphaball
into the active conda environment. Optionally, it may be installed into any conda environment at this stage. - The
dalphaball
executable is then located in the active conda environmentbin
directory, usually located here:~/opt/anaconda3/envs/MYENV/bin/dalphaball
. - If using Jupyter notebooks, launch
jupyter notebook
from the active conda environment. The conda environmentbin
directory should be in$PATH
, so one may initialize PyRosetta with the following flag:-holes:dalphaball dalphaball
. Ifjupyter notebook
is launched from a different conda environment, make sureipykernel
is 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 thedalphaball
executable during PyRosetta initialization:-holes:dalphaball ~/opt/anaconda3/envs/MYENV/bin/dalphaball
. - Enable usage of dalphaball in the
BuriedUnsatHbonds
filter with thedalphaball_sasa="1"
option. TheHoles
filter 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 thedalphaball
conda 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 run
config 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'