Bootstrap: localimage
From: base.sif

# Build instructions from
# https://github.com/kalininalab/alphafold_non_docker

%files
    run.sh /opt/run.sh

%post
    # miniconda setup
    cd /opt/
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3
    source /opt/miniconda3/etc/profile.d/conda.sh
    conda create --name alphafold python==3.8
    conda update -n base conda
    conda activate alphafold

    conda install -y -c conda-forge openmm==7.5.1 cudnn==8.2.1.32 cudatoolkit==11.0.3 pdbfixer==1.7
    conda install -y -c bioconda hmmer==3.3.2 hhsuite==3.3.0 kalign2==2.04

    # alphafold setup
    cd /opt/
    git clone https://github.com/deepmind/alphafold.git
    alphafold_path="/opt/alphafold"

    wget -q -P alphafold/alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt

    pip install absl-py==0.13.0 biopython==1.79 chex==0.0.7 dm-haiku==0.0.4 dm-tree==0.1.6 immutabledict==2.0.0 jax==0.2.14 ml-collections==0.1.0 numpy==1.19.5 scipy==1.7.0 tensorflow==2.5.0
    pip install --upgrade jax jaxlib==0.1.69+cuda111 -f https://storage.googleapis.com/jax-releases/jax_releases.html
    pip install -r alphafold/requirements.txt

    cd /opt/miniconda3/envs/alphafold/lib/python3.8/site-packages/ && patch -p0 < $alphafold_path/docker/openmm.patch
    mv /opt/run.sh /opt/alphafold/run.sh

