Open lilyminium opened 3 years ago
Note that in #1463 we decided that verbose
would be a kwarg for both __init__
and run()
. So if we remove **kwargs
(which sounds sensible) then we have to pass through verbose=None
(or whatever the default ought to be) explicitly.
If we want to remove verbose
from __init__
then we can only do it for 3.0 because it would be a breaking API change.
Expected behavior
When I pass in keywords that don't exist to analysis classes, it fails.
Actual behavior
**kwargs
in classes like RMSD get passed to AnalysisBase, which then silently ignores them.Code to reproduce the behavior
This is a very reasonable set of arguments to use, given that
superposition
andcenter
are keywords inrms.rmsd
. However, RMSD actually functions asrms.rmsd(superposition=True, center=True)
.Additional context here: https://groups.google.com/d/msgid/mdnalysis-discussion/a0b0d7db-079b-4a7d-8125-81bb5c90e8d5n%40googlegroups.com?utm_medium=email&utm_source=footer
IMO we could just remove
**kwargs
from the AnalysisBase function signature for an indirect trigger.Current version of MDAnalysis
python -c "import MDAnalysis as mda; print(mda.__version__)"
)python -V
)?