Sign inSign up

jysgro/colabfold2

By jysgro

Updated almost 2 years ago

version 1.5.2 of localcolabfold

Image
Data science
0

674

jysgro/colabfold2 repository overview

Release 1.5.2 of localcolab from https://github.com/YoshitakaMo/localcolabfold/releases

This version should run on older equipment.

Newer Version 1.5.5 is located in jysgro/colabfold

Dockerfiles

Here are various attempts to make this work... In various files with some annotation. The files are more or less with the latest attempts at the top.

Docker file for TAG v1.5.2_cudnn using a different starter container

# FROM --platform=linux/amd64 homebrew/brew:latest
# Currently under OS:
# PRETTY_NAME="Ubuntu 22.04.5 LTS"
# VERSION="22.04.5 LTS (Jammy Jellyfish)"
# VERSION_CODENAME=jammy

#################################################
FROM nvidia/cuda:12.6.2-cudnn-devel-ubuntu22.04
#################################################
# Today date: 2024-11-05
#################################################
# using different FROM so need to install brew
RUN apt-get  update && apt-get install -y build-essential procps curl file git && \
    rm -rf /var/lib/apt/lists/*
RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

#################################################
# COPILOT Suggestion to proceed
#################################################
# Create a user named 'linuxbrew' with home directory /home/linuxbrew
RUN useradd -m -d /home/linuxbrew linuxbrew

# Set the user to 'linuxbrew'
# USER linuxbrew

# Switch to root user to modify the .profile file
USER root

# Add Homebrew to the PATH for the 'linuxbrew' user
RUN echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/linuxbrew/.profile

# Change ownership of the home directory to the 'linuxbrew' user
RUN chown -R linuxbrew:linuxbrew /home/linuxbrew

# Set the user to 'linuxbrew'
USER linuxbrew

# Set the working directory to the user's home
WORKDIR /home/linuxbrew

# Source the profile to update the PATH
RUN /bin/bash -c "source /home/linuxbrew/.profile"


# Switch back to root user if needed for further installations
# USER root


RUN test -d /home/linuxbrew/ && eval "$(~/.linuxbrew/bin/brew shellenv)" 
RUN test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" 
RUN echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.bashrc
RUN sh ~/.bashrc
RUN sh /home/linuxbrew/.profile
#################################################

# Lower version for BCC using localcolabfold v1.5.2 to avoid JAX error not seing GPU
# install_colabbatch_linux.sh uses python 3.10

#################################################
# Source the profile and install packages in one RUN command
RUN /bin/bash -c "source /home/linuxbrew/.profile && brew install wget gnu-sed nano brewsci/bio/hh-suite brewsci/bio/kalign"

# Set environment variables globally
ENV PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:${PATH}"
#################################################


# Switch back to the regular user
# USER linuxbrew
# From Mac instructions:
# RUN brew install wget gnu-sed nano
# RUN brew install brewsci/bio/hh-suite brewsci/bio/kalign

# Biochem Cluster does not see nvidia drivers => Add them here
# Info from https://github.com/NVIDIA/nvidia-docker/issues/871
# Just change the version matching the MAX that the GPU can hold: 470.57.02

# ERROR: nvidia-installer must be run as root
# USER root

# ERROR: Unable to find the module utility `modprobe`; please make sure you have 
# the package 'module-init-tools' or 'kmod' installed.  
# If you do have 'module-init-tools' or 'kmod' installed, then please check that `modprobe` is in your PATH.
# Copilot says:

# Install necessary packages
# RUN apt-get update && apt-get install -y \
#     kmod nvidia-cuda-toolkit \
#     && rm -rf /var/lib/apt/lists/*

# ARG nvidia_binary_version="470.57.02"
# ARG nvidia_binary_version="470.57.02"
# ARG nvidia_binary="NVIDIA-Linux-x86_64-${nvidia_binary_version}.run"
# RUN wget -q https://us.download.nvidia.com/XFree86/Linux-x86_64/${nvidia_binary_version}/${nvidia_binary} && \
# chmod +x ${nvidia_binary} && \
# ./${nvidia_binary} --accept-license --ui=none --no-kernel-module --no-questions && \
# rm -rf ${nvidia_binary} 

# Switch back to the regular user
# USER linuxbrew

# WORKDIR /home/linuxbrew/
# RUN wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh && \

RUN wget https://github.com/YoshitakaMo/localcolabfold/archive/refs/tags/v1.5.2.zip \ 
    && unzip v1.5.2.zip \
    && cd localcolabfold-1.5.2 \
    && cp install_colabbatch_linux.sh install_colabbatch_linux_original.sh \
    && sed -n '40,43p' install_colabbatch_linux_original.sh > download_weights.sh \
    && sed -i '40,43d' install_colabbatch_linux.sh \
    && cd .. \
    &&  bash ./localcolabfold-1.5.2/install_colabbatch_linux.sh
   
# Download weights was created above.
# This may place them in a separate Layer and could save space if
# Multiple versions of images are created.

ENV PATH "$HOME/localcolabfold/colabfold-conda/bin:$PATH"
# ENV PATH "/home/linuxbrew/localcolabfold/colabfold-conda/bin:$PATH"
# ENV CURRENTPATH=$PWD
# ENV COLABFOLDDIR="${CURRENTPATH}/localcolabfold"

# RUN bash /home/linuxbrew/localcolabfold/localcolabfold-1.5.2/download_weights.sh   
# RUN wget https://github.com/YoshitakaMo/localcolabfold/archive/refs/tags/v1.5.2.zip \  
#     && unzip v1.5.2.zip \

# RUN cd localcolabfold-1.5.2 \
#     && sed -n '40,43p' install_colabbatch_linux_original.sh > download_weights.sh \
#     && cd .. \
#     && bash ./localcolabfold-1.5.2/download_weights.sh
  
RUN cd localcolabfold-1.5.2 && \
    cp install_colabbatch_linux_original.sh download_weights.sh && \
    sed -i '2,4s/^/#/;8,16s/^/#/;18,31s/^/#/' download_weights.sh &&\
    cd .. && \
    bash ./localcolabfold-1.5.2/download_weights.sh

# Fix issues
# drwxr-x--- 1 linuxbrew linuxbrew 4096 Oct 24 21:22 /home/linuxbrew/

# RUN chmod a+rx /home/linuxbrew/ &&\
#     chmod a+rx /home/linuxbrew/localcolabfold/ &&\
#     chmod a+rx /home/linuxbrew/localcolabfold/conda/ &&\
#     chmod a+rx /home/linuxbrew/localcolabfold/conda/bin

# RUN /home/linuxbrew/localcolabfold/conda/bin/conda init
# RUN sh /home/linuxbrew/.bashrc

RUN $HOME/localcolabfold/conda/bin/conda init
RUN sh $HOME/.bashrc

# DO NOT RUN UPDATE
# Run update file added within /home/linuxbrew/localcolabfold
# RUN cd /home/linuxbrew/localcolabfold && sh update_linux.sh

ENV SHELL=/bin/bash 
ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

# FIX some ENV:
# RUN echo 'export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH' >> ~/.bashrc \
#    && source ~/.bashrc
    
# Use . instead of source to update the LD_LIBRARY_PATH
RUN echo 'export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH' >> ~/.bashrc && . ~/.bashrc


CMD ["/bin/bash"]

Docker file for TAG v1.5.2_nv_tk

FROM --platform=linux/amd64 homebrew/brew:latest
# Currently under OS:
# PRETTY_NAME="Ubuntu 22.04.5 LTS"
# VERSION="22.04.5 LTS (Jammy Jellyfish)"
# VERSION_CODENAME=jammy

# Today date: 2024-11-04
# Lower version for BCC using localcolabfold v1.5.2 to avoid JAX error not seing GPU
# install_colabbatch_linux.sh uses python 3.10

# From Mac instructions:
RUN brew install wget gnu-sed nano
RUN brew install brewsci/bio/hh-suite brewsci/bio/kalign

# Biochem Cluster does not see nvidia drivers => Add them here
# Info from https://github.com/NVIDIA/nvidia-docker/issues/871
# Just change the version matching the MAX that the GPU can hold: 470.57.02

# ERROR: nvidia-installer must be run as root
USER root

# ERROR: Unable to find the module utility `modprobe`; please make sure you have 
# the package 'module-init-tools' or 'kmod' installed.  
# If you do have 'module-init-tools' or 'kmod' installed, then please check that `modprobe` is in your PATH.
# Copilot says:

# Install necessary packages
RUN apt-get update && apt-get install -y \
    kmod nvidia-cuda-toolkit \
    && rm -rf /var/lib/apt/lists/*

# ARG nvidia_binary_version="470.57.02"
ARG nvidia_binary_version="470.57.02"
ARG nvidia_binary="NVIDIA-Linux-x86_64-${nvidia_binary_version}.run"
RUN wget -q https://us.download.nvidia.com/XFree86/Linux-x86_64/${nvidia_binary_version}/${nvidia_binary} && \
chmod +x ${nvidia_binary} && \
./${nvidia_binary} --accept-license --ui=none --no-kernel-module --no-questions && \
rm -rf ${nvidia_binary} 

# Switch back to the regular user
USER linuxbrew

WORKDIR /home/linuxbrew/
# RUN wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh && \
RUN wget https://github.com/YoshitakaMo/localcolabfold/archive/refs/tags/v1.5.2.zip \ 
    && unzip v1.5.2.zip \
    && cd localcolabfold-1.5.2 \
    && cp install_colabbatch_linux.sh install_colabbatch_linux_original.sh \
    && sed -n '40,43p' install_colabbatch_linux_original.sh > download_weights.sh \
    && sed -i '40,43d' install_colabbatch_linux.sh \
    && cd .. \
    &&  bash ./localcolabfold-1.5.2/install_colabbatch_linux.sh
   
# Download weights was created above.
# This may place them in a separate Layer and could save space if
# Multiple versions of images are created.

ENV PATH "/home/linuxbrew/localcolabfold/colabfold-conda/bin:$PATH"
# ENV CURRENTPATH=$PWD
# ENV COLABFOLDDIR="${CURRENTPATH}/localcolabfold"

# RUN bash /home/linuxbrew/localcolabfold/localcolabfold-1.5.2/download_weights.sh   
# RUN wget https://github.com/YoshitakaMo/localcolabfold/archive/refs/tags/v1.5.2.zip \  
#     && unzip v1.5.2.zip \

# RUN cd localcolabfold-1.5.2 \
#     && sed -n '40,43p' install_colabbatch_linux_original.sh > download_weights.sh \
#     && cd .. \
#     && bash ./localcolabfold-1.5.2/download_weights.sh
  
RUN cd localcolabfold-1.5.2 && \
    cp install_colabbatch_linux_original.sh download_weights.sh && \
    sed -i '2,4s/^/#/;8,16s/^/#/;18,31s/^/#/' download_weights.sh &&\
    cd .. && \
    bash ./localcolabfold-1.5.2/download_weights.sh

# Fix issues
# drwxr-x--- 1 linuxbrew linuxbrew 4096 Oct 24 21:22 /home/linuxbrew/

RUN chmod a+rx /home/linuxbrew/ &&\
    chmod a+rx /home/linuxbrew/localcolabfold/ &&\
    chmod a+rx /home/linuxbrew/localcolabfold/conda/ &&\
    chmod a+rx /home/linuxbrew/localcolabfold/conda/bin

RUN /home/linuxbrew/localcolabfold/conda/bin/conda init
RUN sh /home/linuxbrew/.bashrc

# DO NOT RUN UPDATE
# Run update file added within /home/linuxbrew/localcolabfold
# RUN cd /home/linuxbrew/localcolabfold && sh update_linux.sh

CMD ["/bin/bash"]

Dockerfile for TAG v1.5.2

FROM --platform=linux/amd64 homebrew/brew:latest
# Currently under OS:
# PRETTY_NAME="Ubuntu 22.04.5 LTS"
# VERSION="22.04.5 LTS (Jammy Jellyfish)"
# VERSION_CODENAME=jammy

# Today date: 2024-11-01
# Lower version for BCC using localcolabfold v1.5.2 to avoid JAX error not seing GPU
# install_colabbatch_linux.sh uses python 3.10

# From Mac instructions:
RUN brew install wget gnu-sed nano
RUN brew install brewsci/bio/hh-suite brewsci/bio/kalign

WORKDIR /home/linuxbrew/
# RUN wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh && \
RUN wget https://github.com/YoshitakaMo/localcolabfold/archive/refs/tags/v1.5.2.zip \ 
    && unzip v1.5.2.zip \
#    && cd localcolabfold-1.5.2 \
    &&  bash ./localcolabfold-1.5.2/install_colabbatch_linux.sh
ENV PATH "/home/linuxbrew/localcolabfold/colabfold-conda/bin:$PATH"

# Fix issues
# drwxr-x--- 1 linuxbrew linuxbrew 4096 Oct 24 21:22 /home/linuxbrew/

RUN chmod a+rx /home/linuxbrew/ &&\
    chmod a+rx /home/linuxbrew/localcolabfold/ &&\
    chmod a+rx /home/linuxbrew/localcolabfold/conda/ &&\
    chmod a+rx /home/linuxbrew/localcolabfold/conda/bin

RUN /home/linuxbrew/localcolabfold/conda/bin/conda init
RUN sh /home/linuxbrew/.bashrc

# DO NOT RUN UPDATE
# Run update file added within /home/linuxbrew/localcolabfold
# RUN cd /home/linuxbrew/localcolabfold && sh update_linux.sh

CMD ["/bin/bash"]

Tag summary

Content type

Image

Digest

sha256:fc9ac611f

Size

16.7 GB

Last updated

almost 2 years ago

docker pull jysgro/colabfold2:v1.5.2_cudnn