Becksteinlab / GromacsWrapper

GromacsWrapper wraps system calls to GROMACS tools into thin Python classes (GROMACS 4.6.5 - 2024 supported).

Home Page:https://gromacswrapper.readthedocs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

edit_mdp() should use the MDP parser

orbeckst opened this issue · comments

As pointed out in PR #164 , the edit_mdp() function should use the MDP parser.

This would also reduce extremely cryptic errors such as gmx grompp: -include is not an option, which happens when a custom template MDP file is used with gromacs.setup.MD() but the template does not contain an include = ... line, which edit_mdp() tries to replace but fails. The failed replacement is then interpreted as a commandline option for gromacs.grompp. Although that's pretty hacky/crappy code logic in the

def _setup_MD(dirname,
function, writing a better edit_mdp() (which could, for instance, insert variables as opposed to a simple search and replace, or could check if they are legal variables) would help.

For checking if input is legal: run gromacs.grompp() with an empty empty.mdp and then parse the resulting default mdout.mdp for all parameters that are legal with this version of Gromacs.

Actually, we should just create these lists for supported versions of Gromacs so that the function can also be used without gmx being available.