-
Notifications
You must be signed in to change notification settings - Fork 663
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
Comments
@kain88-de can you have a look and see how much work it is to get this done for 0.17.0? |
From my memory.
A problem is that we often use information from the start stop step arguments in the init function. This means all sub classes have to be checked after we add a deprecation to the base class.
Verbosity is likely easier. There might be a corner case in the PCA analysis.
I’m not sure if there are some surprises in the decorators like base_analysis.
With writing tests that’s at least a couple of hours of work.
… On 27. Oct 2017, at 21:07, Oliver Beckstein ***@***.***> wrote:
@kain88-de can you have a look and see how much work it is to get this done for 0.17.0?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@richardjgowers can we get deprecations into 0.19.0 #1971 ? In particular, the |
@orbeckst I don't understand what needs doing for this, do some classes have start/stop/step in run? |
Classes should have start/stop/step in At least one (rms.RMSD.run()) has it already in |
Here are the things we need to do for this to come true:
|
@nawtrey added a parallel DensityAnalysis in MDAnalysis/pmda#93 which can be back-ported. |
|
Yes, thanks for the reminder. This was done with #2505 and the changes to verbose (as part of one of the bigger gsoc PRs (EDIT: the tqdm/progressmeter one)). |
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:
start
,stop
,step
are kwargs ofAnalysisBase.run()
but not of__init__()
.verbose
is a kwarg of__init__
where it sets the default;verbose
is also a kwarg ofrun()
where it overrides the default value for the duration ofrun
(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 inrun()
will override the__init__
values.The text was updated successfully, but these errors were encountered: