Acellera / htmd

HTMD: Programming Environment for Molecular Discovery
https://software.acellera.com/docs/latest/htmd/index.html
Other
253 stars 58 forks source link

HTMD problem import #1035

Closed anicoli closed 1 year ago

anicoli commented 1 year ago

Dear acellera group,

Today I tried to use htmd via conda and it was not able to import htmd due to the error (please see below). Two days ago it was working fine. The same problem has arised also in other workstations that are not related to each other. Do you know how to solve it? or why?

Python 3.9.13 | packaged by conda-forge | (main, May 27 2022, 16:56:21) Type 'copyright', 'credits' or 'license' for more information IPython 8.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from htmd.ui import * 2022-09-18 13:00:40,276 - numexpr.utils - INFO - Note: NumExpr detected 48 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8. 2022-09-18 13:00:40,276 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.

Please cite HTMD: Doerr et al.(2016)JCTC,12,1845. https://dx.doi.org/10.1021/acs.jctc.6b00049

HTMD Documentation at: https://www.htmd.org/docs/latest/

2022-09-18 13:00:42,084 - binstar - INFO - Using Anaconda API: https://api.anaconda.org

TypeError Traceback (most recent call last) Input In [1], in <cell line: 1>() ----> 1 from htmd.ui import *

File ~/anaconda2/envs/gpcrmd_run/lib/python3.9/site-packages/htmd/ui.py:82, in 80 htmd_registration() 81 htmd_show_news() ---> 82 compareVersions() 84 # Get rid of pyemma version warnings 85 with warnings.catch_warnings():

File ~/anaconda2/envs/gpcrmd_run/lib/python3.9/site-packages/htmd/latest.py:33, in compareVersions() 27 # Check if one day has passed since last version check. If yes, get new version and write to file 28 if ( 29 not os.path.isfile(file) 30 or time.time() > os.path.getmtime(file) + 86400 31 or os.stat(file).st_size == 0 32 ): ---> 33 _writeLatestVersionFile(file) 35 try: 36 f = open(__file, "r")

File ~/anaconda2/envs/gpcrmd_run/lib/python3.9/site-packages/htmd/latest.py:110, in _writeLatestVersionFile(fname) 106 return 108 stable, dev, stabledeps, devdeps = _release_version(package) --> 110 f.write("{} {}\n{} {}".format(stable, ",".join(stabledeps), dev, ",".join(devdeps))) 111 os.utime(fname, None) 112 f.close()

TypeError: can only join an iterable

stefdoerr commented 1 year ago

Hi, we are aware of the issue, however it's a change in conda which causes this. The official solution is to install the latest HTMD release (2.1.6). Otherwise there are some ways to hack around it if it's not possible to create a new HTMD environment.

anicoli commented 1 year ago

Thank you so much for your reply. I tried as you said and it has solved the problem. The problem can also be overcome by copying the new latest.py directly in the HTMD folder: ~/anaconda2/envs/gpcrmd_run/lib/python3.9/site-packages/htmd . I have also encountered another problem with the ACEMD version that has started today. I have the latest version accordingly to the https://software.acellera.com/acemd/releases.html , and as possible to see from the error below. Do you know how to overcome this problem? Thank you in advance.

HTMD version 2.1.6 (even with 2.1.9) ACEMD version 3.5.0


ACEMD version 3.5.0

Copyright (C) 2017-2021 Acellera (www.acellera.com)

When publishing, please cite: ACEMD: Accelerating Biomolecular Dynamics in the Microsecond Time Scale M. J. Harvey, G. Giupponi and G. De Fabritiis, J Chem. Theory. Comput. 2009 5(6), pp1632-1639 DOI: 10.1021/ct9000685

Arguments: input: -V platform: device: ncpus: precision: mixed

Licence: Check floating licence: ACELLERA_LICENCE_SERVER -- not defined ACELLERA_LICENSE_SERVER -- not defined Check node-locked licence: ACELLERA_LICENCE_FILE -- not defined ACELLERA_LICENSE_FILE -- not defined /opt/acellera/licence.dat -- DENIED (Unable to locate target file) /opt/acellera/license.dat -- DENIED (Unable to locate target file) /home/anicoli/.acellera/licence.dat -- DENIED (Unable to locate target file) /home/anicoli/.acellera/license.dat -- DENIED (Unable to locate target file)

This version of ACEMD has expired! You should update to the latest version. If you want to continue using this version, you need a licence.

stefdoerr commented 1 year ago

You are right about this. We will fix it ASAP and report back

anicoli commented 1 year ago

Ok thank you, looking forward.

stefdoerr commented 1 year ago

Hi, it should be fixed now if you do conda install acemd3=3.5.1 -c acellera -c conda-forge

szotkowska-v commented 1 year ago

Dear acellera group, I would like to know the other way to fix the initial issue mentioned in this thread. As it is very hard for me and my colleagues to install the latest release of HTMD, could you please share the other ways around the problem? Thank you.

stefdoerr commented 1 year ago

Remove the offending line 82 from ~/anaconda2/envs/gpcrmd_run/lib/python3.9/site-packages/htmd/ui.py in the above example. Or whichever line is throwing the error in your htmd/ui.py file.

smar966 commented 1 year ago

Hi Stefan. I am having the same problem as Veronika [szotkowska-v] (and the whole group). On my local machine I did as you suggested above, installing acemd 3.5.1. Unfortunately I still get the same error:

2022-10-14 16:33:26,673 - binstar - INFO - Using Anaconda API: https://api.anaconda.org Traceback (most recent call last): File "filter.py", line 1, in from htmd.ui import * File "/opt/htmd/lib/python3.6/site-packages/htmd/ui.py", line 66, in compareVersions() File "/opt/htmd/lib/python3.6/site-packages/htmd/latest.py", line 27, in compareVersions _writeLatestVersionFile(__file) File "/opt/htmd/lib/python3.6/site-packages/htmd/latest.py", line 95, in _writeLatestVersionFile f.write('{} {}\n{} {}'.format(stable, ','.join(stabledeps), dev, ','.join(devdeps))) TypeError: can only join an iterable

stefdoerr commented 1 year ago

@smar966 just remove the line in htmd/ui.py which is causing the error. In your log it's line 66

smar966 commented 1 year ago

OK @stefdoerr, now I see what you mean! I've managed to solve the problem, thanks!