Sign inSign up

jysgro/omegafold

By jysgro

Updated 4 months ago

Protein 3D prediction based only on amino acid sequence.

Image
Data science
0

2.5K

jysgro/omegafold repository overview

Original Github repository: https://github.com/HeliXonProtein/OmegaFold

I leave all the info below. On an HTCondor Linux cluster the solution was to add export TORCH_HOME=${PWD} in the submitted script. Additionally these additional environment variable are either necessary or useful.

export HOME=${PWD}
export TORCH_HOME=${PWD}
export DEFAULT_CACHE_DIR=${PWD}

Additionally, for the evodiff containers, this cache is necessary for Matplotlib, but not needed for these omegafold containers.

export MPLCONFIGDIR=./local_cache

Building Docker Images

May 19, 2026: update to a newer container image with a newer CUDA. Omegafold requires python 3.10 (3.11 and 3.12 fail and are not compatible) hence this cannot be the most recent.

Docker file for version2.2.0-cuda12.1-cudnn8:

FROM pytorch/pytorch:2.2.0-cuda12.1-cudnn8-runtime

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y git \
    && rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir \
    git+https://github.com/HeliXonProtein/OmegaFold.git --no-deps

RUN pip install --no-cache-dir numpy scipy biopython

WORKDIR /workspace

###################################
# ARG USERNAME=user-name-goes-here
ARG USERNAME=omegauser
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
    && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
    #
    # [Optional] Add sudo support. Omit if you don't need to install software after connecting.
    && apt-get update \
    && apt-get install -y sudo \
    && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
    && chmod 0440 /etc/sudoers.d/$USERNAME

# ********************************************************
# * Anything else you want to do like clean up goes here *
# ********************************************************

# [Optional] Set the default user. Omit if you want to keep the default as root.
USER $USERNAME
RUN chmod a+w /home/$USERNAME

CMD ["bash"]

Version 1.0.0

version 1.0.0 is derived from anabuurs/omegafold:v1.0.0 with just one added directory created: /home/root in hope to circumvet /.cache error when running under HTCondor schduler (See Dockerfile.)

Docker file

FROM anabuurs/omegafold:v1.0.0

RUN mkdir /home/root

# To answer /.cache issue when running on HTCondor.
# INFO: 
#https://stackoverflow.com/questions/63526148/permissionerror-errno-13-permission-denied-cache-error-occurred-while
# When you ssh to docker container, if there is no /home/username directory, 
# pytorch gives /.cache directory by defaultRUN mkdir /home/root
# See here: https://github.com/pytorch/pytorch/blob/main/torch/hub.py#L99

Non Root version

Running the container on a HTCondor Linux cluster does not provide root access, and the above hack did not work. Hence a Non Root Docker image was created with this:

Dockerfile

FROM anabuurs/omegafold:v1.0.0

RUN mkdir /home/root

# To answer /.cache issue when running on HTCondor.
# INFO: 
#https://stackoverflow.com/questions/63526148/permissionerror-errno-13-permission-denied-cache-error-occurred-while
# When you ssh to docker container, if there is no /home/username directory, 
# pytorch gives /.cache directory by defaultRUN mkdir /home/root
# See here: https://github.com/pytorch/pytorch/blob/main/torch/hub.py#L99

#####################

# For security, add non-root user rather than give all permissions to write in /.cache
# FROM: https://code.visualstudio.com/remote/advancedcontainers/add-nonroot-user

# ARG USERNAME=user-name-goes-here
ARG USERNAME=omegauser
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
    && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
    #
    # [Optional] Add sudo support. Omit if you don't need to install software after connecting.
    && apt-get update \
    && apt-get install -y sudo \
    && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
    && chmod 0440 /etc/sudoers.d/$USERNAME

# ********************************************************
# * Anything else you want to do like clean up goes here *
# ********************************************************

# [Optional] Set the default user. Omit if you want to keep the default as root.
USER $USERNAME
RUN chmod a+w /home/$USERNAME

WORKDIR /home/$USERNAME

Tag summary

Content type

Image

Digest

sha256:ac44dd494

Size

2.4 GB

Last updated

almost 3 years ago

docker pull jysgro/omegafold