PDB-REDO / alphafill

AlphaFill is an algorithm based on sequence and structure similarity that “transplants” missing compounds to the AlphaFold models. By adding the molecular context to the protein structures, the models can be more easily appreciated in terms of function and structure integrity.
https://alphafill.eu
BSD 2-Clause "Simplified" License
89 stars 16 forks source link

Error executing mrc: Could not open data file #15

Closed Jorisvansteenbrugge closed 1 year ago

Jorisvansteenbrugge commented 1 year ago

I have been trying to install alphafill locally and everything seems to be working untill I try to run cmake --build .. The error I am getting is as follows:

root@9ddaccf23860:/opt/alphafill/build# cmake --build .
[  3%] Generating alphafill_rsrc.obj, ALL
Error executing mrc: Could not open data file
gmake[2]: *** [CMakeFiles/alphafill.dir/build.make:74: alphafill_rsrc.obj] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:843: CMakeFiles/alphafill.dir/all] Error 2
gmake: *** [Makefile:101: all] Error 2

I have tried building the software without mrc, but that did not work either. Could you help me solve this issue? I would love to give this very interesting software a try!

The command before that seems to detect the dependencies correctly:

root@9ddaccf23860:/opt/alphafill/build# cmake ..
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include filesystem
-- Looking for C++ include filesystem - found
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- The library and auxiliary files will be installed in /root/.local
-- Found Mrc: /usr/local/bin/mrc (found version "1.3.5") 
Using resources compiled with /usr/local/bin/mrc
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.70.0") found components: system date_time regex 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: program_options 
-- Checking for module 'libpq'
--   Found libpq, version 15.1
-- Checking for module 'libpqxx>=7.2'
--   Found libpqxx, version 7.7.4
-- Looking for dirfd
-- Looking for dirfd - found
-- Looking for sysconf
-- Looking for sysconf - found
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/alphafill/build

I have written a Dockerfile in case you want to reproduce the issue :+1:

FROM ubuntu:22.04

RUN apt update
RUN apt upgrade -y
RUN apt install -y build-essential git cmake
RUN apt install -y g++ autotools-dev libicu-dev libbz2-dev libboost-all-dev
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
RUN apt install -y wget lsb-core curl

RUN git clone https://github.com/mhekkel/mrc.git /tmp/mrc
RUN cd /tmp/mrc; mkdir build; cd build; cmake ..; cmake --build .; cmake --install .

RUN git clone https://github.com/mhekkel/libzeep /tmp/libzeep
RUN cd /tmp/libzeep; mkdir build; cd build; cmake .. -DZEEP_BUILD_TESTS=ON; cmake --build .; ctest; cmake --install .

RUN git clone https://github.com/PDB-REDO/libcifpp.git /tmp/libcifpp
RUN cd /tmp/libcifpp; mkdir build; cd build; cmake ..; cmake --build . --config Release; ctest -C release; cmake --install .

RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |  apt-key add -
RUN apt update
RUN apt install -y postgresql-all

RUN git clone https://github.com/jtv/libpqxx.git /tmp/libpqxx
RUN cd /tmp/libpqxx; git checkout 7.7.4; ./autogen.sh; ./configure; make; make install

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt update
RUN apt install -y yarn

RUN apt install -y pkg-config
RUN git clone https://github.com/PDB-REDO/alphafill /opt/alphafill
RUN cd /opt/alphafill; yarn; mkdir build; cd build; cmake ..; cmake --build .; cmake --install .
mhekkel commented 1 year ago

The current alphafill trunk is out of date / out of sync with the latest release of libcifpp.

You can either try with an older (version < 5) of libcifpp, or you should use the develop branch from alphafill.

We'll release that develop branch soon. Still waiting for our paper to be published.

Jorisvansteenbrugge commented 1 year ago

Thank you for getting back to me @mhekkel. While I don't mind being patient, I just wanted to point out that neither an older version of libcifpp or the develop branch of alphafill yields a successful install on my machine.

mhekkel commented 1 year ago

You've tried at a time when I was busy merging two different versions of alphafill while simultaneously trying to upgrade libcifpp.

I think I succeeded, by now. There is a version 2.0.0-rc1 of alphafill that works with libcifpp 5.0.4. Well, I'm testing it. Should be stable by Thursday.