tristanic / isolde

Interactive molecular dynamics based model building into low-resolution crystallographic and cryo-EM maps
Other
33 stars 4 forks source link

chimerax_isolde in container #17

Closed sunyi000 closed 4 months ago

sunyi000 commented 5 months ago

Hi, I'm trying to install isolde in ChimeraX in a rockylinux 8 docker.

I keep getting warnings about cuda and opencl, even though cuda is already installed, and openmm.Platform.getNumPlatforms() always output 1

WARNING: no OpenCL or compatible CUDA drivers detected!

the container base image is from nvidia/cuda

Could you please advise on what might be wrong?

thank you

tristanic commented 5 months ago

Hmm... I've never tried to run it in a container before, but the two most likely culprits:

Let me know if you're still running into trouble after trying the above.

sunyi000 commented 4 months ago

Thanks very much @tristanic

It doesn't work with cuda 12. I managed to make it work with cuda 11.8

sunyi000 commented 4 months ago

Hi @tristanic

I have some additional questions related to this that I hope you could help

With cuda 11.8,

  1. I start ChimeraX container, install isolde from 'Tools' menu, Isolde is installed to my .local/chimerax folder under my home directory, and everything works fine.

  2. However, I wanted to install ISOLDE at docker build, so in my Dockerfile I did RUN /usr/bin/chimerax --nogui --cmd "toolshed reload available; toolshed install isolde; toolshed reload all"

the docker build is successful without errors, and I expect isolde is installed under directory /usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages, but nothing is there.

I started ChimeraX UI, isolde does not appear under Tools-General.

I'm not sure what I was doing wrong..

tristanic commented 4 months ago

Hi @sunyi000,

ChimeraX is unable to run as root (a deliberate decision by the developers) - if you look closely at the output when building the Docker image you'll probably see an error message to that effect. Third-party plugins like ISOLDE are always installed to the user space - but what you can do is manually copy them after installation from ~.local/ChimeraX/{version}/python3.11/site-packages to the /usr/libexec/UCSFF-ChimeraX/lib/python3.11/site-packages directory and they should then run correctly. You'd need to copy the following directories (assuming you're using 1.7, as I'd recommend right now): ChimeraX_Clipper-0.22.4.dist-info ChimeraX_ISOLDE-1.7.1.dist-info chimerax/clipper chimerax/isolde

sunyi000 commented 4 months ago

Hi @sunyi000,

ChimeraX is unable to run as root (a deliberate decision by the developers) - if you look closely at the output when building the Docker image you'll probably see an error message to that effect. Third-party plugins like ISOLDE are always installed to the user space - but what you can do is manually copy them after installation from ~.local/ChimeraX/{version}/python3.11/site-packages to the /usr/libexec/UCSFF-ChimeraX/lib/python3.11/site-packages directory and they should then run correctly. You'd need to copy the following directories (assuming you're using 1.7, as I'd recommend right now): ChimeraX_Clipper-0.22.4.dist-info ChimeraX_ISOLDE-1.7.1.dist-info chimerax/clipper chimerax/isolde

Thank you very much for your help. This solved the problem.