Skip to content

Inncorrect use of simple method when random frames are selected in run()  #5100

@gitsirsha

Description

@gitsirsha

Thanks for the updates. I only have minor cosmetic changes.

While reviewing, I also realized that your code can solve a problem that has been inherent in the existing code: The run() method can take the frames=[0, 20, 25, 100, 1001, ...]` kwarg to select any frames instead of start/stop/step and if that's the case, the "linear" approach is incorrect (but that case is not being caught). We should select your new code path for un-even frame separations.

I am not asking for this to be resolved in this PR. If you agree that this is a problem and that your code could solve it, could you raise an issue for it so that it's not forgotten.

Originally posted by @orbeckst in #5066 (review)

This issue recognizes that while calculating msd of randomly picked frames (specified by kwarg by user in run), the newly added _conclude_non_linear() should be used instead of the previous _conclude_simple() method which is inaccurate when frames are non linearly placed. In most cases picking frames randomly results in picking frames that are non-linearly spaced so the _conclude_simple() method is not the right way to calculate msd.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions