crisp-ase 1.1.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. CRISP/__init__.py +99 -0
  2. CRISP/_version.py +1 -0
  3. CRISP/cli.py +41 -0
  4. CRISP/data_analysis/__init__.py +38 -0
  5. CRISP/data_analysis/clustering.py +838 -0
  6. CRISP/data_analysis/contact_coordination.py +915 -0
  7. CRISP/data_analysis/h_bond.py +772 -0
  8. CRISP/data_analysis/msd.py +1199 -0
  9. CRISP/data_analysis/prdf.py +404 -0
  10. CRISP/data_analysis/volumetric_atomic_density.py +527 -0
  11. CRISP/py.typed +1 -0
  12. CRISP/simulation_utility/__init__.py +31 -0
  13. CRISP/simulation_utility/atomic_indices.py +155 -0
  14. CRISP/simulation_utility/atomic_traj_linemap.py +278 -0
  15. CRISP/simulation_utility/error_analysis.py +254 -0
  16. CRISP/simulation_utility/interatomic_distances.py +200 -0
  17. CRISP/simulation_utility/subsampling.py +241 -0
  18. CRISP/tests/DataAnalysis/__init__.py +1 -0
  19. CRISP/tests/DataAnalysis/test_clustering_extended.py +212 -0
  20. CRISP/tests/DataAnalysis/test_contact_coordination.py +184 -0
  21. CRISP/tests/DataAnalysis/test_contact_coordination_extended.py +465 -0
  22. CRISP/tests/DataAnalysis/test_h_bond_complete.py +326 -0
  23. CRISP/tests/DataAnalysis/test_h_bond_extended.py +322 -0
  24. CRISP/tests/DataAnalysis/test_msd_complete.py +305 -0
  25. CRISP/tests/DataAnalysis/test_msd_extended.py +522 -0
  26. CRISP/tests/DataAnalysis/test_prdf.py +206 -0
  27. CRISP/tests/DataAnalysis/test_volumetric_atomic_density.py +463 -0
  28. CRISP/tests/SimulationUtility/__init__.py +1 -0
  29. CRISP/tests/SimulationUtility/test_atomic_traj_linemap.py +101 -0
  30. CRISP/tests/SimulationUtility/test_atomic_traj_linemap_extended.py +469 -0
  31. CRISP/tests/SimulationUtility/test_error_analysis_extended.py +151 -0
  32. CRISP/tests/SimulationUtility/test_interatomic_distances.py +223 -0
  33. CRISP/tests/SimulationUtility/test_subsampling.py +365 -0
  34. CRISP/tests/__init__.py +1 -0
  35. CRISP/tests/test_CRISP.py +28 -0
  36. CRISP/tests/test_cli.py +87 -0
  37. CRISP/tests/test_crisp_comprehensive.py +679 -0
  38. crisp_ase-1.1.2.dist-info/METADATA +141 -0
  39. crisp_ase-1.1.2.dist-info/RECORD +42 -0
  40. crisp_ase-1.1.2.dist-info/WHEEL +5 -0
  41. crisp_ase-1.1.2.dist-info/entry_points.txt +2 -0
  42. crisp_ase-1.1.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.4
2
+ Name: crisp-ase
3
+ Version: 1.1.2
4
+ Author-email: IS <indranilsaha15@gmail.com>
5
+ License: CC-BY-NC-SA-4.0 (see LICENSE)
6
+ Requires-Python: >=3.8
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: numpy<2.3,>=1.24
9
+ Requires-Dist: ase
10
+ Requires-Dist: fpsample<1.0,>=0.3.3
11
+ Requires-Dist: seaborn>=0.12.2
12
+ Requires-Dist: dscribe>=2.0.0
13
+ Requires-Dist: matplotlib>=3.3.4
14
+ Requires-Dist: joblib>=1.0.0
15
+ Requires-Dist: scikit-learn>=1.0.0
16
+ Requires-Dist: plotly>=5.9.0
17
+ Requires-Dist: pandas>=2.0.3
18
+ Requires-Dist: networkx>=3.1
19
+ Requires-Dist: statsmodels>=0.14.0
20
+ Provides-Extra: test
21
+ Requires-Dist: pytest>=6.1.2; extra == "test"
22
+
23
+ CRISP
24
+ ==============================
25
+ [//]: # (Badges)
26
+ [![Documentation Status](https://readthedocs.org/projects/crisp-host/badge/?version=latest)](https://crisp-host.readthedocs.io/en/latest/?badge=latest)
27
+ [![PyPI version](https://badge.fury.io/py/crisp-ase.svg)](https://badge.fury.io/py/crisp-ase)
28
+ [![Python Version](https://img.shields.io/pypi/pyversions/crisp-ase.svg)](https://pypi.org/project/crisp-ase/)
29
+ [![License](https://img.shields.io/github/license/Indranil17/CRISP_HOST.svg)](https://github.com/Indranil17/CRISP_HOST/blob/main/LICENSE)
30
+ [![DOI](https://zenodo.org/badge/DOI/YOUR_DOI.svg)](https://doi.org/YOUR_DOI)
31
+
32
+
33
+ <img src="https://github.com/Indranil17/CRISP_HOST/blob/main/crisp_logo2.png" width="300">
34
+
35
+ # CRISP: Enhancing ASE Workflows with Advanced Molecular Simulation Post-Processing
36
+
37
+ ## What is CRISP?
38
+ CRISP is a post-simulation analysis package built on the Atomic Simulation Environment (ASE). It is designed for efficient and insightful analysis of molecular dynamics (MD) and other simulations, enabling in-depth exploration with just a few lines of code, including powerful visualisation options.
39
+
40
+ ## Features
41
+ - **User-friendly**: Optimised for ease of use with detailed examples and extensive outputs for nuanced data analysis.
42
+ - **Highly parallelised**: Utilises parallelisation techniques that scale linearly with the number of CPU cores, allowing for fast analysis of large systems and long simulations on high-performance computing clusters.
43
+ - **Interactive Visualisation**: HTML outputs to interact with, which can help to see structural changes.
44
+ - **Integration**: ASE, scikit-learn and other Python packages.
45
+
46
+ ## Analysis Toolkit Highlights
47
+
48
+ ### 1. Cluster Comprehension
49
+ - Perform in-depth clustering analysis in molecular dynamics or Monte Carlo simulations using advanced algorithms like DBSCAN.
50
+ - Works with both periodic and non-periodic systems.
51
+ - Identify, visualise, and track distinct atom clusters to gain insights into unbiased clustering of selected atoms.
52
+
53
+ ### 2. Customizable Radial Distribution Functions
54
+ - Compute and plot partial radial distribution functions (PRDF) for selected atoms or atom types.
55
+ - Easily analyse radial relationships between atoms with periodic boundary conditions.
56
+
57
+ ### 3. Mean Square Displacement (MSD)
58
+ - Quantify atomic motion over time using MSD calculations, providing key insights into diffusion and dynamics.
59
+ - Customise analysis by selecting specific atom indices to focus on particular subsets of atoms.
60
+
61
+ ### 4. Hydrogen Bond Analysis
62
+ - Identify and analyse hydrogen bonds with a single line of code.
63
+ - Customise hydrogen bond parameters or atom indices for detailed and specific analysis.
64
+ - Track structural parameters to understand the nature and stability of hydrogen bonds in your system.
65
+
66
+ ### 5. Coordination Analysis
67
+ - Compute average coordination numbers for specific atom types with customizable cutoffs.
68
+ - Analyse contact times of selected atom types to study dynamic behaviour efficiently.
69
+
70
+ ### 6. Error Analysis
71
+ - Accurately estimate the error of any computed property using statistical techniques.
72
+ - Choose between autocorrelation function or block averaging to calculate the error of the mean, improving result reliability.
73
+ - Assess simulation convergence by analysing vector or scalar properties like atomic positions or energy.
74
+
75
+ ### 7. Efficient and Robust Sampling
76
+ - Sample structures using Furthest Point Sampling (FPS) with SOAP descriptors.
77
+ - Efficiently subsample large databases or simulations by selecting the most diverse structures while avoiding redundancy.
78
+
79
+ ### 7. Volumetric Density
80
+ - Create 3D volumetric density maps to visualise the spatial distribution of atoms throughout a trajectory
81
+ - Understanding diffusion pathways, adsorption sites etc.
82
+
83
+
84
+
85
+ # Requirements
86
+ This package is built around the ASE (Atomic Simulation Environment) and thus requires the installation of ASE, available at: [ASE Installation Guide](https://wiki.fysik.dtu.dk/ase/install.html).
87
+
88
+ The clustering uses DBSCAN (Density-Based Spatial Clustering of Applications with Noise) implemented by scikit-learn, available at: [scikit-learn Installation](https://scikit-learn.org/stable/install.html).
89
+
90
+ For interactive 3D plots of clustering, CRISP utilises the seaborn package. Ensure you have seaborn installed by following the instructions at: [Seaborn Installation](https://seaborn.pydata.org/installing.html).
91
+
92
+ # Installation
93
+ - Recommended: install from PyPI (tested on Python 3.9–3.11 on Linux/macOS/Windows)
94
+ ```
95
+ pip install crisp-ase==1.1.2
96
+ ```
97
+
98
+ - From a local checkout (same supported Python versions)
99
+ ```
100
+ git clone https://github.com/Indranil17/CRISP.git
101
+ cd CRISP
102
+ python -m pip install -U pip setuptools wheel
103
+ python -m pip install .
104
+ ```
105
+
106
+ - Dependencies (if installing manually)
107
+ ```
108
+ python -m pip install \
109
+ ase>=3.23.0 \
110
+ scikit-learn>=1.4.2 \
111
+ seaborn>=0.12.2 \
112
+ joblib>=1.2.0 \
113
+ fpsample>=0.3.3,<1.0 \
114
+ dscribe>=2.0.0 \
115
+ statsmodels>=0.14.0 \
116
+ pandas>=2.0.3 \
117
+ plotly>=5.9.0 \
118
+ networkx>=3.1
119
+ ```
120
+
121
+ # Current Modules
122
+
123
+ To learn how to use each of the modules, please visit [examples](https://github.com/Indranil17/CRISP_HOST/tree/main/example).
124
+ Inside the example folder, check the [Notebook](https://github.com/Indranil17/CRISP_HOST/blob/main/example/Introductory_Tutorial/CRISP_Introdcutory_Tutorial.ipynb) to see them in use and also check the other folders of the example folder to see the outputs.
125
+ It has two sub-packages and ten modules.
126
+ Please see the package's UML map below.
127
+
128
+ <img src="https://github.com/Indranil17/CRISP_HOST/blob/main/crisp_map.png" width="800">
129
+
130
+
131
+
132
+ # Acknowledgments
133
+ The package is from the (Nano)Materials modelling group, at Charles University.
134
+ Email: lukas.grajciar@natur.cuni.cz
135
+
136
+ <img src="https://github.com/Indranil17/CRISP_HOST/blob/main/group_logo.png" width="100">
137
+
138
+ ### Contributors
139
+ If there is something you would like to see added to this package or if you would like to contribute,
140
+ please email us at sahai@natur.cuni.cz or daniel.willimetz@natur.cuni.cz
141
+
@@ -0,0 +1,42 @@
1
+ CRISP/__init__.py,sha256=DSjM6mmco8taQadq2Dlsa0suOTcZAUrTBuwHTbnhQEY,2012
2
+ CRISP/_version.py,sha256=5SgGjThsHu_ITn8V83BvCziqCwxdXxTQqcC3KQMHPfM,22
3
+ CRISP/cli.py,sha256=xpOaNpc-nBYk3tR8CsonV8XYMoj4Jo2WoNHKfRQ9_6M,1090
4
+ CRISP/py.typed,sha256=o_skYYOgBqbwMt-5lUZDunyM7CcemHaJt2k9MsSACeY,61
5
+ CRISP/data_analysis/__init__.py,sha256=qMsgiFJZPZ6DyokbZrkfMIKpzK6wV1fPX--_Te4kzZQ,871
6
+ CRISP/data_analysis/clustering.py,sha256=NG31PGGlC6PvWIAI9wS2cXbVf5KDVO-EPYOI9fgFP4w,29774
7
+ CRISP/data_analysis/contact_coordination.py,sha256=H5ofSGzm2lBRvsfqebacXnr_ch0O0755mT9pZCYO4Ok,33751
8
+ CRISP/data_analysis/h_bond.py,sha256=-CJzvKUN9kA3yrxtRRimcS_-bcRZw7pcqSj7w1I-33M,29205
9
+ CRISP/data_analysis/msd.py,sha256=wX94TcVi-limgwnnBOPo5a69O42UHo6QcS5Bn1FLXpU,46161
10
+ CRISP/data_analysis/prdf.py,sha256=UzA5FSl2qkRXTKhClb_sb7sVHesdngDTwHcG-6OG7Ac,13803
11
+ CRISP/data_analysis/volumetric_atomic_density.py,sha256=wiq-809FksAFcKS1ezpxIEOK8kayy8aKXH7Xr99LlwA,21061
12
+ CRISP/simulation_utility/__init__.py,sha256=3kVq1Dhmz1dmiXlWxAl02EuoVsexB5WrM1_u5_wXsmU,727
13
+ CRISP/simulation_utility/atomic_indices.py,sha256=ARLZwQeyH0PHg3V-vbyUoQh0PE7WvSgAiHrIiqGe4oM,5761
14
+ CRISP/simulation_utility/atomic_traj_linemap.py,sha256=itksVpdUQC3Pil6-CWIK_xX28ATRdoTbDjiTsnGdEPU,10276
15
+ CRISP/simulation_utility/error_analysis.py,sha256=veXVQCNd6w-WpKJBxoL1SROPUIfmPKFJOEZLHWTp60I,8463
16
+ CRISP/simulation_utility/interatomic_distances.py,sha256=a0_nXwXwHlKi3I-piNJgxAKnOT8hnRODLjc2h-p9BUw,6578
17
+ CRISP/simulation_utility/subsampling.py,sha256=SEOKvSYDIn5KLh0R3TYIOT0_onr44IsfJ9UqjGCc7L8,7472
18
+ CRISP/tests/__init__.py,sha256=GTyjAbeobceTrJBpa4aIWczuSb9Kdr_QOR693Q6Yfh8,27
19
+ CRISP/tests/test_CRISP.py,sha256=_OLG99OhGHritif2Gjx-tTycghvgW2uhbVScfPLhLOA,680
20
+ CRISP/tests/test_cli.py,sha256=WmEkFHO8gR843J90dWbhYVMy-70hbC1SFyc3FuKh5lY,3109
21
+ CRISP/tests/test_crisp_comprehensive.py,sha256=AQe2GnllfrT4dOFWS52jShEflzK9WkXHhD62jM2hIvI,25952
22
+ CRISP/tests/DataAnalysis/__init__.py,sha256=v9pypKiga8OePlL7MxbNTHf-WSZXTIFVaYmLIOczhrk,41
23
+ CRISP/tests/DataAnalysis/test_clustering_extended.py,sha256=40zc91sCRMU5lm8kJs8BtLWbbPVPAhycwpNKOjGeie4,7226
24
+ CRISP/tests/DataAnalysis/test_contact_coordination.py,sha256=Et4XV8syG14ajfBLHRtTb1Ra02QVD42r5QwDo397Z2c,5952
25
+ CRISP/tests/DataAnalysis/test_contact_coordination_extended.py,sha256=XhW5v4POiLolrI4-dacwtRm2pgMKnoJzVSs0RkK8wxE,16771
26
+ CRISP/tests/DataAnalysis/test_h_bond_complete.py,sha256=6gvkgcVspKQiATUjnu6TWXQr-RiW5qodrisbIQZLbKE,10014
27
+ CRISP/tests/DataAnalysis/test_h_bond_extended.py,sha256=Dj5hujQ-ahOw-9LB9MihwNHNj4yNnmWz_h5Wb2-6Ods,11417
28
+ CRISP/tests/DataAnalysis/test_msd_complete.py,sha256=YmkEWfGUI_emp9FGMl0ZO97seHHGLpHMYyO43c3qBWo,10212
29
+ CRISP/tests/DataAnalysis/test_msd_extended.py,sha256=-TQ0zEZyJhSBxn7IG0badjGFSytRx-N1mdXk8DK1M4I,19424
30
+ CRISP/tests/DataAnalysis/test_prdf.py,sha256=BWdhla7_DSLkO1p_3G4uuGvqD6FSlNO6T-v2Mf9g7Lg,6094
31
+ CRISP/tests/DataAnalysis/test_volumetric_atomic_density.py,sha256=L92uekvr04D1TDPMt6jAaAhffLoeZDU7xRIW37AWkU8,15516
32
+ CRISP/tests/SimulationUtility/__init__.py,sha256=wcE35wJsyQ9WU3fbcgsarizdbzjUh58IEe7zqKkqdKs,46
33
+ CRISP/tests/SimulationUtility/test_atomic_traj_linemap.py,sha256=F-yacQjTsFeyaskVssGN6_raunqHy4xcBoUioKCKZY0,3962
34
+ CRISP/tests/SimulationUtility/test_atomic_traj_linemap_extended.py,sha256=6gQGNf86a0uqhmd9rQ0VwvdcXRw6SPjslW2ddK-rU3s,15894
35
+ CRISP/tests/SimulationUtility/test_error_analysis_extended.py,sha256=emzDH0fiHvxfl_-T4iIIbd-Ez_7njwd6zEwmvv6lIro,5130
36
+ CRISP/tests/SimulationUtility/test_interatomic_distances.py,sha256=tmL1g4AD159Z3i0n5pBxZcdkx4iTGpUZ_Y7RN11rpoQ,7913
37
+ CRISP/tests/SimulationUtility/test_subsampling.py,sha256=89iDWrPHAZd7K0wStxvjckDud5pIm2gaaGBtcDlECbw,11877
38
+ crisp_ase-1.1.2.dist-info/METADATA,sha256=qCw6xyHjKpZJOps2PQz8WvnnrY2Na-AYRUeabarS3rc,6658
39
+ crisp_ase-1.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ crisp_ase-1.1.2.dist-info/entry_points.txt,sha256=_DOK_PIxSmC0jSJzAVvyD6IeNvTZINiiQwJxNj522-c,41
41
+ crisp_ase-1.1.2.dist-info/top_level.txt,sha256=ViAZdf_LJLYvDDU8bDY8sNTNLvv_7WWORlqZr0TINv8,6
42
+ crisp_ase-1.1.2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ CRISP = CRISP.cli:main
@@ -0,0 +1 @@
1
+ CRISP