You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment, MDAnalysis does not use any files for configuration. There are currently three main areas where we use configuration values:
The flag registry in MDAnalysis.core.flags determines global behavior. In principle, these flags can be changed by the user but in practice this seems to be rarely done. In any case, changes are not persistent and have to be changed for a new python session manually by setting the flag.
At least 1 and 3 should be configurable through a common mechanism and possibly through an optional preferences file that a user might want to keep in her home directory. MDAnalysis could ship with the default config file that will then be used to load the defaults, making all configurable values very transparent.
The current flag registry is a bit of hack to accomplish a fraction of what ipython/jupyter's traitlets achieve nicely and cleanly with their traitlets.config. traitlets is on PyPi and can be easily added as a dependency. It allows JSON and Python files for configuration and does type checking.
I propose we look into adapting traitlets.config (or something similar) as a basis for a flexible configuration system for MDAnalysis. I'd suggest we start with first transitioning 1 and 3 over to a new configuration system and then add other classes such as the hydrogen bond analysis and the atom typing tables.
Comments, ideas?
The text was updated successfully, but these errors were encountered:
I had a short look into the configurable stuff. I would say to remove the configuration options, they are not used and all are much better suited to be stated explicit during Universe construction.
For the atom names and residue name an extension mechanism would be nice though.
The original idea was that you could customize the overall behavior but it was never really used and perhaps it's not even a good idea to have the option to eg change the base units or disable automatic unit conversion.
I have no problem if someone opens an issue to get rid of it.
The consensus is to get rid of the flags registry and not replace it with anything similar.
We don't have a solution yet for the hard coded tables and the hard coded selections but we will deal with these separately.
I will close this issue with wont fix and open one to get rid of the flags.
At the moment, MDAnalysis does not use any files for configuration. There are currently three main areas where we use configuration values:
At least 1 and 3 should be configurable through a common mechanism and possibly through an optional preferences file that a user might want to keep in her home directory. MDAnalysis could ship with the default config file that will then be used to load the defaults, making all configurable values very transparent.
The current flag registry is a bit of hack to accomplish a fraction of what ipython/jupyter's traitlets achieve nicely and cleanly with their traitlets.config.
traitlets
is on PyPi and can be easily added as a dependency. It allows JSON and Python files for configuration and does type checking.I propose we look into adapting
traitlets.config
(or something similar) as a basis for a flexible configuration system for MDAnalysis. I'd suggest we start with first transitioning 1 and 3 over to a new configuration system and then add other classes such as the hydrogen bond analysis and the atom typing tables.Comments, ideas?
The text was updated successfully, but these errors were encountered: