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

update analysis.base.AnalysisBase to conform to API #1463

Open
orbeckst opened this Issue Jul 10, 2017 · 6 comments

Comments

Projects
None yet
4 participants
@orbeckst
Member

orbeckst commented Jul 10, 2017

In #719 we decided on the details of the analysis interface ("Bauhaus" style). The description for implementation is on the wiki MDAnalysis.analysis user interface but we also decided to change a few additional things that are directly defined in the base class and automatically apply to all analysis code: The following needs to be changed in AnalysisBase:

  1. start, stop, step are kwargs of AnalysisBase.run() but not of __init__().
  2. verbose is a kwarg of __init__ where it sets the default; verbose is also a kwarg of run() where it overrides the default value for the duration of run (this allows the user to mute the frame-by-frame calculation but still have verbose output during pre- and post-processing).

Because 1 changes the API, we need to deprecate start, stop, step in __init__ and remove them in 1.0.0. Until then it needs to be possible to set the iteration range in __init__ and kwargs in run() will override the __init__ values.

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Oct 27, 2017

Member

@kain88-de can you have a look and see how much work it is to get this done for 0.17.0?

Member

orbeckst commented Oct 27, 2017

@kain88-de can you have a look and see how much work it is to get this done for 0.17.0?

@kain88-de

This comment has been minimized.

Show comment
Hide comment
@kain88-de

kain88-de Oct 27, 2017

Member
Member

kain88-de commented Oct 27, 2017

@richardjgowers richardjgowers modified the milestones: 0.17.0, 1.0 Jan 25, 2018

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Jul 9, 2018

Member

@richardjgowers can we get deprecations into 0.19.0 #1971 ?

In particular, the start/stop/step in run() is reversing a decision that we made much earlier when we tried to move them from run to __init__. We have depreciation code that says "start/stop/step will be removed from run() in 0.17.0" :-p.

Member

orbeckst commented Jul 9, 2018

@richardjgowers can we get deprecations into 0.19.0 #1971 ?

In particular, the start/stop/step in run() is reversing a decision that we made much earlier when we tried to move them from run to __init__. We have depreciation code that says "start/stop/step will be removed from run() in 0.17.0" :-p.

@richardjgowers

This comment has been minimized.

Show comment
Hide comment
@richardjgowers

richardjgowers Jul 10, 2018

Member

@orbeckst I don't understand what needs doing for this, do some classes have start/stop/step in run?

Member

richardjgowers commented Jul 10, 2018

@orbeckst I don't understand what needs doing for this, do some classes have start/stop/step in run?

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Jul 10, 2018

Member

Classes should have start/stop/step in run() but not in __init__.

At least one (rms.RMSD.run()) has it already in run() but it is deprecated. It should be un-deprecated because it will become the norm.

Member

orbeckst commented Jul 10, 2018

Classes should have start/stop/step in run() but not in __init__.

At least one (rms.RMSD.run()) has it already in run() but it is deprecated. It should be un-deprecated because it will become the norm.

@jbarnoud

This comment has been minimized.

Show comment
Hide comment
@jbarnoud

jbarnoud Jul 10, 2018

Contributor

Here are the things we need to do for this to come true:

  • Add start, stop, step, and verbose arguments to AnalysisBase.run.
  • Remove deprecated quiet from AnalysisBase.__init__.
  • Add deprecation warnings to AnalysisBase.__init__.
  • In analysis classes, move some logic from __init__ to _prepare.
Contributor

jbarnoud commented Jul 10, 2018

Here are the things we need to do for this to come true:

  • Add start, stop, step, and verbose arguments to AnalysisBase.run.
  • Remove deprecated quiet from AnalysisBase.__init__.
  • Add deprecation warnings to AnalysisBase.__init__.
  • In analysis classes, move some logic from __init__ to _prepare.

@orbeckst orbeckst referenced this issue Jul 18, 2018

Merged

New Dihedral and Ramachandran Analysis #1997

3 of 3 tasks complete

bieniekmateusz added a commit to bieniekmateusz/mdanalysis that referenced this issue Jul 24, 2018

bieniekmateusz added a commit to bieniekmateusz/mdanalysis that referenced this issue Jul 28, 2018

@richardjgowers richardjgowers referenced this issue Sep 13, 2018

Merged

removed quiet in favour of verbose #2055

4 of 4 tasks complete

orbeckst added a commit that referenced this issue Sep 21, 2018

Merge pull request #2055 from MDAnalysis/issue-1975-nomorequiet
- Fixes #1975 
   removed quiet in favour of verbose
- Fixes #1979
   deprecated start/stop/step in AnalysisBase init
- Started work on AnalysisBase API update #1463
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment