Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'is_crystal' prevents setup for GROMACS Relative Free Energy files #261

Closed
annamherz opened this issue Mar 11, 2024 · 3 comments
Closed
Labels
bug Something isn't working

Comments

@annamherz
Copy link
Contributor

annamherz commented Mar 11, 2024

Hello! When writing FE input files for GROMACS using the newest version of BSS (devel branch from 11.03.2024) and sire 2023.3.0.dev (and python version 3.9.16) it is unable to proceed. I get the error with gromacs 22 and 23.

The error is as follows:

│ /home/anna/biosimspace/python/BioSimSpace/FreeEnergy/_relative.py:333 in __init__                │
│                                                                                                  │
│    330 │   │   self.difference = self._difference                                                │
│    331 │   │                                                                                     │
│    332 │   │   # Initialise the process runner.                                                  │
│ ❱  333 │   │   self._initialise_runner(self._system)                                             │
│    334 │                                                                                         │
│    335 │   def run(self, serial=True):                                                           │
│    336 │   │   """                                                                               │
│                                                                                                  │
│ /home/anna/biosimspace/python/BioSimSpace/FreeEnergy/_relative.py:2010 in _initialise_runner     │
│                                                                                                  │
│   2007 │   │   if self._engine == "SOMD":                                                        │
│   2008 │   │   │   system._set_water_topology("AMBER", property_map=self._property_map)          │
│   2009 │   │   elif self._engine == "GROMACS":                                                   │
│ ❱ 2010 │   │   │   system._set_water_topology("GROMACS", property_map=self._property_map)        │
│   2011 │   │                                                                                     │
│   2012 │   │   # Setup all of the simulation processes for each leg.                             │
│   2013                                                                                           │
│                                                                                                  │
│ /home/anna/biosimspace/python/BioSimSpace/_SireWrappers/_system.py:2383 in _set_water_topology   │
│                                                                                                  │
│   2380 │   │   │   │   │   self._sire_object, water_model, property_map                          │
│   2381 │   │   │   │   )                                                                         │
│   2382 │   │   │   else:                                                                         │
│ ❱ 2383 │   │   │   │   self._sire_object = _SireIO.setGromacsWater(                              │
│   2384 │   │   │   │   │   self._sire_object, water_model, property_map, is_crystal              │
│   2385 │   │   │   │   )                                                                         │
│   2386                                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ArgumentError: Python argument types in
    sire.legacy.IO._IO.setGromacsWater(System, str, dict, bool)
did not match C++ signature:
    setGromacsWater(SireMol::SelectResult molecules, QString model, SireBase::PropertyMap map={})
    setGromacsWater(SireSystem::System system, QString model, SireBase::PropertyMap map={})

This is with the following python sample script and input ligands. If I remove is_crystal from line 2384, it is able to proceed and setup the input files. I'm not really sure why this is?

Thank you!

@annamherz annamherz added the bug Something isn't working label Mar 11, 2024
@annamherz annamherz changed the title [BUG] 'is_crystal' prevents setup for GROMACS Relative files Mar 11, 2024
@annamherz annamherz changed the title 'is_crystal' prevents setup for GROMACS Relative files 'is_crystal' prevents setup for GROMACS Relative Free Energy files Mar 11, 2024
@lohedges
Copy link
Contributor

lohedges commented Mar 11, 2024

Are you sure the sire version is correct? The latest devel versoin of BioSimSpace is only compatiblle with version 2024.1.0.dev of sire?

@annamherz
Copy link
Contributor Author

Ah that would be it! I'm so sorry I completely missed checking that. It works when it's updated!

@lohedges
Copy link
Contributor

No problem. The compatibility is only checked at the conda package level, so it wouldn't throw an error if you did a source install of BioSimSpace over the top of an old sire install.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants