ReactionMechanismGenerator / AutoTST

AutoTST: A framework to perform automated transition state theory calculations
Other
32 stars 16 forks source link

[Bug Report] AttributeError: module 'scipy.stats' has no attribute 'gibrat' #91

Open calvinp0 opened 1 year ago

calvinp0 commented 1 year ago

Describe the bug

The package 'descriptastorus' has had a recent fix in the naming convention for the attribute 'gibrat' - https://github.com/bp-kelley/descriptastorus/blob/86eedc60546abe6f59cdbcb12025a61157ba178d/descriptastorus/descriptors/dists.py#L207C1-L207C1 as in scipy they used to refer it to gilbrat but have since fixed it to be gibrat (notice the removal of the l). This is not reflected n the git repository but there was an upload of a new version, 2.6.0, in the conda-forge channel: https://anaconda.org/conda-forge/descriptastorus. And so, the fix up is included in this version

However, since AutoTST is kept to python 3.7.* (I believe due to RMG), it installs an older version of scipy (1.7.3), whereas descriptastorus is expecting scipy>=1.9.0. and therefore, the older version still maintains the attribute naming convention as gilbrat

calvinp0 commented 1 year ago

My current fix is adjusting the environment.yml file:

name: tst_env
channels:
  - defaults
  - cantera
  - pytorch
  - anaconda
  - conda-forge
dependencies:
  - python
  - rmg::rmg
  - conda-forge::ase
  - conda-forge::cclib >= 1.7.0
  - conda-forge::py3dmol
  - rmg::rdkit >= 2019.03.4
  - codecov
  - nose
  - matplotlib
  - pip:
    - git+https://github.com/bp-kelley/descriptastorus

This is unstainable due to the fact the author of the repo for descriptastorus will be merging the update at some point

calvinp0 commented 1 year ago

We can also do something like this:

name: tst_env
channels:
  - defaults
  - cantera
  - pytorch
  - anaconda
  - conda-forge
dependencies:
  - python
  - rmg::rmg
  - conda-forge::ase
  - conda-forge::cclib >= 1.7.0
  - conda-forge::py3dmol
  - rmg::rdkit>=2019.03.4
  - rmg::descriptastorus
  - codecov
  - nose
  - matplotlib

But the problem is we get stuck with descriptastorus 2.2.0 in the RMG Channel