ccdmb / predector

Effector prediction pipeline based on protein properties.
Apache License 2.0
11 stars 7 forks source link

build docker container failed #64

Closed zengtian2680 closed 2 years ago

zengtian2680 commented 3 years ago

Dear authors,

I am trying to install predector docker according to your introduction. However it turned out to be an error despite long struggle. Sorry that I hardly understand what was the reason so I paste my error message here for some help... Please see below. I am using Mac OS Monterey 12.0.1

Thank you. Tian

Error message [+] Building 28.6s (16/16) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 1.27kB 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/predector/predector-base:1.2.1 1.4s => [auth] predector/predector-base:pull token for registry-1.docker.io 0.0s => [ 1/11] FROM docker.io/predector/predector-base:1.2.1@sha256:ed9ea0a4 0.0s => [internal] load build context 0.0s => => transferring context: 3.71kB 0.0s => CACHED [ 2/11] RUN mkdir -p /tmp/onbuild 0.0s => CACHED [ 3/11] COPY signalp-3.0.Linux.tar.Z /tmp/onbuild/ 0.0s => CACHED [ 4/11] COPY signalp-4.1g.Linux.tar.gz /tmp/onbuild/ 0.0s => CACHED [ 5/11] COPY signalp-5.0b.Linux.tar.gz /tmp/onbuild/ 0.0s => CACHED [ 6/11] COPY signalp-6.0b.fast.tar.gz /tmp/onbuild/ 0.0s => CACHED [ 7/11] COPY targetp-2.0.Linux.tar.gz /tmp/onbuild/ 0.0s => CACHED [ 8/11] COPY deeploc-1.0.All.tar.gz /tmp/onbuild/ 0.0s => CACHED [ 9/11] COPY phobius101_linux.tar.gz /tmp/onbuild/ 0.0s => CACHED [10/11] COPY tmhmm-2.0c.Linux.tar.gz /tmp/onbuild/ 0.0s => ERROR [11/11] RUN echo && signalp3-register "/tmp/onbuild/$(basenam 27.1s

[11/11] RUN echo && signalp3-register "/tmp/onbuild/$(basename "signalp-3.0.Linux.tar.Z")" && echo && signalp4-register "/tmp/onbuild/$(basename "signalp-4.1g.Linux.tar.gz")" && echo && signalp5-register "/tmp/onbuild/$(basename "signalp-5.0b.Linux.tar.gz")" && echo && signalp6-register "/tmp/onbuild/$(basename "signalp-6.0b.fast.tar.gz")" && echo && targetp2-register "/tmp/onbuild/$(basename "targetp-2.0.Linux.tar.gz")" && echo && deeploc-register "/tmp/onbuild/$(basename "deeploc-1.0.All.tar.gz")" && echo && phobius-register "/tmp/onbuild/$(basename "phobius101_linux.tar.gz")" && echo && tmhmm2-register "/tmp/onbuild/$(basename "tmhmm-2.0c.Linux.tar.gz")" && echo && rm -rf -- /tmp/onbuild:

16 0.174

16 0.178 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 0.181 Registering source file /tmp/onbuild/signalp-3.0.Linux.tar.Z for signalp3 into conda environment at:

16 0.181 /opt/conda/envs/predector/share/signalp3-3.0b-1

16 0.181

16 0.181 Unregistering old source files if they exist.

16 0.182 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 0.197

16 0.244 patching file signalp

16 0.254 Finished registering signalp3.

16 0.254 Testing installation...

16 0.404 Test succeeded.

16 0.404 signalp3 is now fully installed!

16 0.408

16 0.410 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 0.413 Registering source file /tmp/onbuild/signalp-4.1g.Linux.tar.gz for signalp4 into conda environment at:

16 0.413 /opt/conda/envs/predector/share/signalp4-4.1g-2

16 0.413

16 0.413 Unregistering old source files if they exist.

16 0.415 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 0.425

16 0.660 patching file signalp

16 0.669 Finished registering signalp4.

16 0.669 Testing installation...

16 1.038 Test succeeded.

16 1.038 signalp4 is now fully installed!

16 1.049

16 1.052 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 1.054 Registering source file /tmp/onbuild/signalp-5.0b.Linux.tar.gz for signalp5 into conda environment at:

16 1.054 /opt/conda/envs/predector/share/signalp5-5.0b-1

16 1.054

16 1.054 Unregistering old source files if they exist.

16 1.056 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 1.065 Done

16 1.968 Finished registering signalp5.

16 1.968 Testing installation...

16 7.235 Test succeeded.

16 7.235 signalp5 is now fully installed!

16 7.235

16 7.237

16 7.240 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 7.242 WARNING: /tmp/onbuild/signalp-6.0b.fast.tar.gz filename doesn't appear to match the expected filename

16 7.242 signalp-6.0.fast.tar.gz.

16 7.242

16 7.242 WARNING: We'll attempt to continue the installation but you may want to

16 7.242 double check that you really mean to use this file for package

16 7.242 signalp6 1.0.

16 7.242

16 7.242 Registering source file /tmp/onbuild/signalp-6.0b.fast.tar.gz for signalp6 into conda environment at:

16 7.242 /opt/conda/envs/predector/share/signalp6-1.0-1

16 7.242

16 7.242 Unregistering old source files if they exist.

16 7.244 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)

16 7.665 WARNING: Skipping signalp6 as it is not installed.

16 7.665 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

16 7.708

16 22.06 Using pip 21.3.1 from /opt/conda/envs/predector/lib/python3.6/site-packages/pip (python 3.6)

16 22.07 Non-user install because site-packages writeable

16 22.09 Created temporary directory: /tmp/pip-ephem-wheel-cache-jf91_676

16 22.09 Created temporary directory: /tmp/pip-req-tracker-qdzjx93h

16 22.09 Initialized build tracking at /tmp/pip-req-tracker-qdzjx93h

16 22.09 Created build tracker: /tmp/pip-req-tracker-qdzjx93h

16 22.09 Entered build tracker: /tmp/pip-req-tracker-qdzjx93h

16 22.09 Created temporary directory: /tmp/pip-install-in4sr26a

16 22.11 Processing /tmp/tmp305/signalp6_fast/signalp-6-package

16 22.11 Added file:///tmp/tmp305/signalp6_fast/signalp-6-package to build tracker '/tmp/pip-req-tracker-qdzjx93h'

16 22.11 Created temporary directory: /tmp/pip-build-env-ymbteq4i

16 22.11 Installing build dependencies: started

16 22.11 Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ymbteq4i/overlay --no-warn-script-location -v --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel

16 22.44 Using pip 21.3.1 from /opt/conda/envs/predector/lib/python3.6/site-packages/pip (python 3.6)

16 23.72 Collecting setuptools

16 23.81 Downloading setuptools-59.2.0-py3-none-any.whl (952 kB)

16 23.98 Collecting wheel

16 24.00 Downloading wheel-0.37.0-py2.py3-none-any.whl (35 kB)

16 24.36 Installing collected packages: wheel, setuptools

16 24.38 Creating /tmp/pip-build-env-ymbteq4i/overlay/bin

16 24.38 changing mode of /tmp/pip-build-env-ymbteq4i/overlay/bin/wheel to 755

16 24.64 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

16 24.64 tensorflow 2.2.0 requires scipy==1.4.1; python_version >= "3", but you have scipy 1.5.3 which is incompatible.

16 24.64 tensorflow 2.2.0 requires tensorboard<2.3.0,>=2.2.0, but you have tensorboard 2.7.0 which is incompatible.

16 24.64 tensorflow 2.2.0 requires tensorflow-estimator<2.3.0,>=2.2.0, but you have tensorflow-estimator 2.6.0 which is incompatible.

16 24.64 Successfully installed setuptools-59.2.0 wheel-0.37.0

16 24.64 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

16 24.69 Installing build dependencies: finished with status 'done'

16 24.69 Getting requirements to build wheel: started

16 24.69 Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpdp0r96x4

16 24.88 running egg_info

16 24.88 creating signalp6.egg-info

16 24.88 writing signalp6.egg-info/PKG-INFO

16 24.88 writing dependency_links to signalp6.egg-info/dependency_links.txt

16 24.88 writing entry points to signalp6.egg-info/entry_points.txt

16 24.88 writing requirements to signalp6.egg-info/requires.txt

16 24.88 writing top-level names to signalp6.egg-info/top_level.txt

16 24.88 writing manifest file 'signalp6.egg-info/SOURCES.txt'

16 24.89 reading manifest file 'signalp6.egg-info/SOURCES.txt'

16 24.89 writing manifest file 'signalp6.egg-info/SOURCES.txt'

16 24.90 Getting requirements to build wheel: finished with status 'done'

16 24.90 Created temporary directory: /tmp/pip-modern-metadata-jcsdwnv6

16 24.90 Preparing metadata (pyproject.toml): started

16 24.90 Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpet4qbbdr

16 25.08 running dist_info

16 25.08 creating /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info

16 25.08 writing /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/PKG-INFO

16 25.08 writing dependency_links to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/dependency_links.txt

16 25.08 writing entry points to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/entry_points.txt

16 25.08 writing requirements to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/requires.txt

16 25.08 writing top-level names to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/top_level.txt

16 25.08 writing manifest file '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/SOURCES.txt'

16 25.09 reading manifest file '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/SOURCES.txt'

16 25.09 writing manifest file '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/SOURCES.txt'

16 25.09 creating '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.dist-info'

16 25.12 Preparing metadata (pyproject.toml): finished with status 'done'

16 25.12 Source in /tmp/tmp305/signalp6_fast/signalp-6-package has version 1.0, which satisfies requirement signalp6==1.0 from file:///tmp/tmp305/signalp6_fast/signalp-6-package

16 25.12 Removed signalp6==1.0 from file:///tmp/tmp305/signalp6_fast/signalp-6-package from build tracker '/tmp/pip-req-tracker-qdzjx93h'

16 25.12 Created temporary directory: /tmp/pip-unpack-_fv7hqs7

16 25.12 Building wheels for collected packages: signalp6

16 25.12 Created temporary directory: /tmp/pip-wheel-gocvui5l

16 25.12 Destination directory: /tmp/pip-wheel-gocvui5l

16 25.12 Building wheel for signalp6 (pyproject.toml): started

16 25.12 Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpq7o40b8z

16 25.31 running bdist_wheel

16 25.31 running build

16 25.31 running build_py

16 25.31 creating build

16 25.31 creating build/lib

16 25.31 creating build/lib/signalp

16 25.31 copying signalp/make_sequence_plot.py -> build/lib/signalp

16 25.31 copying signalp/sequential_model.py -> build/lib/signalp

16 25.31 copying signalp/utils.py -> build/lib/signalp

16 25.31 copying signalp/predict.py -> build/lib/signalp

16 25.31 copying signalp/main.py -> build/lib/signalp

16 25.31 copying signalp/make_output_files.py -> build/lib/signalp

16 25.31 copying signalp/init.py -> build/lib/signalp

16 25.32 creating build/lib/signalp/conversion_utils

16 25.32 copying signalp/conversion_utils/move_checkpoint_to_device.py -> build/lib/signalp/conversion_utils

16 25.32 copying signalp/conversion_utils/init.py -> build/lib/signalp/conversion_utils

16 25.32 creating build/lib/signalp/model_weights

16 25.32 copying signalp/model_weights/README.md -> build/lib/signalp/model_weights

16 25.32 running build_scripts

16 25.32 creating build/scripts-3.6

16 25.32 copying signalp/conversion_utils/signalp6_convert_models -> build/scripts-3.6

16 25.32 changing mode of build/scripts-3.6/signalp6_convert_models from 644 to 755

16 25.32 installing to build/bdist.linux-x86_64/wheel

16 25.32 running install

16 25.32 running install_lib

16 25.32 creating build/bdist.linux-x86_64

16 25.32 creating build/bdist.linux-x86_64/wheel

16 25.32 creating build/bdist.linux-x86_64/wheel/signalp

16 25.32 copying build/lib/signalp/make_sequence_plot.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 creating build/bdist.linux-x86_64/wheel/signalp/model_weights

16 25.32 copying build/lib/signalp/model_weights/README.md -> build/bdist.linux-x86_64/wheel/signalp/model_weights

16 25.32 copying build/lib/signalp/sequential_model.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 copying build/lib/signalp/utils.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 copying build/lib/signalp/predict.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 copying build/lib/signalp/main.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 copying build/lib/signalp/make_output_files.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 creating build/bdist.linux-x86_64/wheel/signalp/conversion_utils

16 25.32 copying build/lib/signalp/conversion_utils/move_checkpoint_to_device.py -> build/bdist.linux-x86_64/wheel/signalp/conversion_utils

16 25.32 copying build/lib/signalp/conversion_utils/init.py -> build/bdist.linux-x86_64/wheel/signalp/conversion_utils

16 25.32 copying build/lib/signalp/init.py -> build/bdist.linux-x86_64/wheel/signalp

16 25.32 running install_egg_info

16 25.33 running egg_info

16 25.33 writing signalp6.egg-info/PKG-INFO

16 25.33 writing dependency_links to signalp6.egg-info/dependency_links.txt

16 25.33 writing entry points to signalp6.egg-info/entry_points.txt

16 25.33 writing requirements to signalp6.egg-info/requires.txt

16 25.33 writing top-level names to signalp6.egg-info/top_level.txt

16 25.33 reading manifest file 'signalp6.egg-info/SOURCES.txt'

16 25.33 writing manifest file 'signalp6.egg-info/SOURCES.txt'

16 25.33 Copying signalp6.egg-info to build/bdist.linux-x86_64/wheel/signalp6-1.0-py3.6.egg-info

16 25.33 running install_scripts

16 25.34 creating build/bdist.linux-x86_64/wheel/signalp6-1.0.data

16 25.34 creating build/bdist.linux-x86_64/wheel/signalp6-1.0.data/scripts

16 25.34 copying build/scripts-3.6/signalp6_convert_models -> build/bdist.linux-x86_64/wheel/signalp6-1.0.data/scripts

16 25.35 changing mode of build/bdist.linux-x86_64/wheel/signalp6-1.0.data/scripts/signalp6_convert_models to 755

16 25.35 creating build/bdist.linux-x86_64/wheel/signalp6-1.0.dist-info/WHEEL

16 25.35 creating '/tmp/pip-wheel-gocvui5l/tmp33678hdb/signalp6-1.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it

16 25.35 adding 'signalp/init.py'

16 25.35 adding 'signalp/main.py'

16 25.35 adding 'signalp/make_output_files.py'

16 25.35 adding 'signalp/make_sequence_plot.py'

16 25.35 adding 'signalp/predict.py'

16 25.35 adding 'signalp/sequential_model.py'

16 25.35 adding 'signalp/utils.py'

16 25.35 adding 'signalp/conversion_utils/init.py'

16 25.35 adding 'signalp/conversion_utils/move_checkpoint_to_device.py'

16 25.35 adding 'signalp/model_weights/README.md'

16 25.35 adding 'signalp6-1.0.data/scripts/signalp6_convert_models'

16 25.35 adding 'signalp6-1.0.dist-info/METADATA'

16 25.35 adding 'signalp6-1.0.dist-info/WHEEL'

16 25.35 adding 'signalp6-1.0.dist-info/entry_points.txt'

16 25.35 adding 'signalp6-1.0.dist-info/top_level.txt'

16 25.36 adding 'signalp6-1.0.dist-info/RECORD'

16 25.36 removing build/bdist.linux-x86_64/wheel

16 25.37 Building wheel for signalp6 (pyproject.toml): finished with status 'done'

16 25.37 Created wheel for signalp6: filename=signalp6-1.0-py3-none-any.whl size=21772 sha256=45d4d9c2f7f44c6f3bf199e810165201e8900dc5fb45ce85dfae790fc4d5b8fb

16 25.37 Stored in directory: /root/.cache/pip/wheels/e9/c6/cf/f3bd00dbdd0936965911047a0fe7c0f1dc88a43c4aa4168bb1

16 25.38 Successfully built signalp6

16 25.38 Installing collected packages: signalp6

16 25.39

16 25.39 changing mode of /opt/conda/envs/predector/bin/signalp6 to 755

16 25.42 Successfully installed signalp6-1.0

16 25.42 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

16 25.42 Removed build tracker: '/tmp/pip-req-tracker-qdzjx93h'

16 25.48 Finished registering signalp6.

16 25.48 Testing installation...

16 26.91 Traceback (most recent call last):

16 26.91 File "/opt/conda/envs/predector/lib/python3.6/site-packages/signalp/predict.py", line 215, in main

16 26.91 model = torch.jit.load(FAST_MODEL_PATH)

16 26.91 File "/opt/conda/envs/predector/lib/python3.6/site-packages/torch/jit/_serialization.py", line 151, in load

16 26.91 raise ValueError("The provided filename {} does not exist".format(f)) # type: ignore[str-bytes-safe]

16 26.91 ValueError: The provided filename /opt/conda/envs/predector/lib/python3.6/site-packages/signalp/model_weights/distilled_model_signalp6.pt does not exist

16 26.91

16 26.91 During handling of the above exception, another exception occurred:

16 26.91

16 26.91 Traceback (most recent call last):

16 26.91 File "/opt/conda/envs/predector/bin/signalp6", line 8, in

16 26.91 sys.exit(predict())

16 26.91 File "/opt/conda/envs/predector/lib/python3.6/site-packages/signalp/init.py", line 6, in predict

16 26.91 main()

16 26.91 File "/opt/conda/envs/predector/lib/python3.6/site-packages/signalp/predict.py", line 219, in main

16 26.91 raise FileNotFoundError(f"Fast mode requires model to be installed at {FAST_MODEL_PATH}. Missing from this installation.")

16 26.91 FileNotFoundError: Fast mode requires model to be installed at /opt/conda/envs/predector/lib/python3.6/site-packages/signalp/model_weights/distilled_model_signalp6.pt. Missing from this installation.


executor failed running [/bin/sh -c echo && signalp3-register "/tmp/onbuild/$(basename "${SIGNALP3}")" && echo && signalp4-register "/tmp/onbuild/$(basename "${SIGNALP4}")" && echo && signalp5-register "/tmp/onbuild/$(basename "${SIGNALP5}")" && echo && signalp6-register "/tmp/onbuild/$(basename "${SIGNALP6}")" && echo && targetp2-register "/tmp/onbuild/$(basename "${TARGETP2}")" && echo && deeploc-register "/tmp/onbuild/$(basename "${DEEPLOC}")" && echo && phobius-register "/tmp/onbuild/$(basename "${PHOBIUS}")" && echo && tmhmm2-register "/tmp/onbuild/$(basename "${TMHMM}")" && echo && rm -rf -- /tmp/onbuild]: exit code: 1

darcyabjones commented 3 years ago

Hi Tian!

Thanks for getting in touch. I'll look at this a bit more tomorrow (Its a bit late over here), but it looks like you might have downloaded the "slow_sequential" version of SignalP6. Note the line raise FileNotFoundError(f"Fast mode requires model to be installed at {FAST_MODEL_PATH}. Missing from this installation."). SignalP6 has a few different model options. We need the "fast" version.

I'll try tomorrow to see if I can reproduce the issue and update the FAQ accordingly.

Hope that fixes it for you though :)

zengtian2680 commented 3 years ago

Hey Darcy, Thanks a lot for your quick response! Yes sure it's not in a rush so take your time. I did double check and I am sure that I got the fast version of signalP6. However I got the signalP 6.0b instead of signalP 6.0. Not sure whether that's the problem but signalP 6.0 seems not available anymore. Best, Tian

darcyabjones commented 3 years ago

Hey Tian,

Good eye! I didn't spot the extra 'b' there. Thanks again for reporting the issue, I hadn't spotted the version change and it does cause a few breaks.

So the problem was that the new version kept the model files separately to the actual python package installed by pip, meaning that we needed to copy the model files in ourselves. Previously they had it set to what I would think of as the "correct" way, where they include it as package_data and pip would install the data in the right place alongside the package. The updated conda recipe should handle both cases, so it should be a bit more robust to this kind of issue.

There was also a minor change to the output format that caused my parsing script to crash.

Anyway, this should hopefully be resolved in 1.2.2.

Let me know how you go :)

darcyabjones commented 3 years ago

Just FYI.

I've release 1.2.3 because they've updated SP6 again in the last few hours. It's in response to an issue I reported, and shouldn't affect you at all.

Essentially 1.2.2 and 1.2.3 are identical, except for references to SP 6.0c

zengtian2680 commented 3 years ago

Hey Darcy,

Thanks a lot! I will try 1.2.3 later on my computer :)

Tian

darcyabjones commented 2 years ago

Hey @zengtian2680

Haven't heard back so I'm assuming this is resolved? Closing this issue now, but if you're still having trouble please feel free to re-raise it or start a new issue :)

Thanks again! Darcy