Skip to content

New descriptors and faster Insight loading#110

Merged
matteobecchi merged 45 commits intoGMPavanLab:mainfrom
matteobecchi:devel
Jul 25, 2025
Merged

New descriptors and faster Insight loading#110
matteobecchi merged 45 commits intoGMPavanLab:mainfrom
matteobecchi:devel

Conversation

@matteobecchi
Copy link
Copy Markdown
Collaborator

@matteobecchi matteobecchi commented Jul 21, 2025

Related Issues: #108
Requested Reviewers: @andrewtarzia

Three main things:

  1. Added a new "descriptors" module, which contains miscellaneous, "standard" single-particle descriptors. I put many_body_tica() in it, and also implemented the velocity alignment and the orientational order parameter, commonly used when studying colloidal particles or liquids.
  2. Added functions for computing Shannon entropy with KL estimator (useful because aparametric), and negentropy.
  3. Changed the way Insights and ClusterInsights are saved/loaded to/from JSON, using an auxiliary.npy file that can be open with mmap_mode, which is way faster fore large datasets.

I think I changed all the related examples and documentation accordingly.

@matteobecchi matteobecchi marked this pull request as ready for review July 21, 2025 15:26
@matteobecchi matteobecchi self-assigned this Jul 21, 2025
@matteobecchi matteobecchi added the enhancement New feature or request label Jul 21, 2025
@matteobecchi matteobecchi linked an issue Jul 21, 2025 that may be closed by this pull request
Copy link
Copy Markdown
Collaborator

@andrewtarzia andrewtarzia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly minor changes - great work @matteobecchi

Comment thread docs/source/analysis.rst Outdated
Comment thread docs/source/descriptors.rst
Comment thread docs/source/index.rst Outdated
Comment thread src/dynsight/_internal/analysis/entropy.py
Comment thread src/dynsight/_internal/analysis/entropy.py Outdated
Comment thread src/dynsight/_internal/trajectory/insight.py Outdated
Comment thread src/dynsight/_internal/trajectory/cluster_insight.py Outdated
Comment thread src/dynsight/_internal/trajectory/cluster_insight.py Outdated
Comment thread src/dynsight/_internal/trajectory/cluster_insight.py Outdated
Comment thread src/dynsight/_internal/trajectory/cluster_insight.py Outdated
Copy link
Copy Markdown
Collaborator

@andrewtarzia andrewtarzia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just added a comment

@matteobecchi
Copy link
Copy Markdown
Collaborator Author

Addition: a "delay" parameter to the LENS functions, analogously to timeSOAP.

@matteobecchi matteobecchi added the documentation Improvements or additions to documentation label Jul 24, 2025
Copy link
Copy Markdown
Collaborator

@SimoneMartino98 SimoneMartino98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all ok for me; just a question / doubt on the convention used for the documentation; maybe it's a silly one, feel free to ignore me.

Comment thread src/dynsight/_internal/trajectory/cluster_insight.py Outdated
@matteobecchi
Copy link
Copy Markdown
Collaborator Author

For future reference: apparently, tSOAP and orientational order parameter are particularly sensitive to numerical errors.

tSOAP because it's a sum of products of hundreds of terms, sometimes very small.

Orientational OP probably because summing complex numbers along the unitary circle, they can be of the order of 1 but their sum very small if they are randomly distributed.

@matteobecchi matteobecchi merged commit c1d4358 into GMPavanLab:main Jul 25, 2025
6 of 11 checks passed
@matteobecchi matteobecchi deleted the devel branch July 25, 2025 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Faster loading of large Insight

3 participants