-
Notifications
You must be signed in to change notification settings - Fork 669
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
analysis.atomicdistances.AtomicDistances
does not use Results
#4819
Comments
Note that the only option for fixing this issue is to break the existing API: we need the |
My view is that this was a mistake in the first place as it contradicts our specs and we should treat it as a bug and thus fix it. This would also allow us to parallelize the class (see PR #4808). P.S.: The AtomicDistances class was added in 2.5.0 and even our 2.5.0 docs state that |
I have two questions here:
The reasons I'm asking that second question:
|
I could try to see if it is possible to adjust it to get As for the parallelization and v3.0, should it be the case that for the upgrade to v3.0 all of the analysis functions should have either implemented parallelization or marked as non parallelizable or is it fine if it is with the current state, where half of the functions have an implementation parallelization/non parallelization marks. |
A PR that fixes this issue would be very welcome, no matter what — this will have to be fixed for 3.0. The question is just if there will be a 2.9.0 or if we will go directly to 3.0.
For 3.0, all analysis classes should have a defined behavior for parallelization. |
I see, then probably #4817 and #4818 would need to be adressed also first, since those two are lacking |
My opinion is that anything that uses AnalysisBase should have well-defined behavior. Legacy code may still do whatever it used to do. Ideally, all analysis tools that broadly do per-frame analysis use AnalysisBase but I don't think that we promised that for 3.0... but it would be great ;-). |
Yup, makes sense :) I think it should be quite doable especially for |
Expected behavior
All analysis classes based on AnalysisBase store results in an instance of MDAnalysis.analysis.results.Results
The results should be accessible as, e.g.,
results.distances
.Actual behavior
analysis.atomicdistances.AtomicDistances.results
directly contains a numpy array.The lack of API conformity makes it impossible to directly parallelize the class, see PR #4808.
Code to reproduce the behavior
See docs: https://docs.mdanalysis.org/stable/documentation_pages/analysis/atomicdistances.html#MDAnalysis.analysis.atomicdistances.AtomicDistances.results
Current version of MDAnalysis
The text was updated successfully, but these errors were encountered: