Metadata-Version: 2.4
Name: sovapy
Version: 0.8.2
Summary: SOVA (Structural Order Visualization and Analysis) with python
Home-page: https://github.com/MotokiShiga/sova-cui
Download-URL: https://github.com/MotokiShiga/sova-cui
Author: Motoki Shiga & Hidetoshi Morita
Author-email: Motoki Shiga & Hidetoshi Morita <motoki.shiga@tohoku.ac.jp>
Maintainer: Motoki Shiga
Maintainer-email: Motoki Shiga <motoki.shiga@tohoku.ac.jp>
License: MIT License
        
        Copyright (c) 2024 Motoki Shiga
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/MotokiShiga/sova-cui
Project-URL: Repository, https://github.com/MotokiShiga/sova-cui.git
Keywords: structure order analysis,material science
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ase>=3.22.1
Requires-Dist: h5py
Requires-Dist: igraph>=0.11.2
Requires-Dist: matplotlib
Requires-Dist: networkx>=3.1
Requires-Dist: numpy>=1.23.1
Requires-Dist: tqdm
Requires-Dist: scipy>=1.8
Requires-Dist: spglib>=2.0
Requires-Dist: PyCifRW>=4.4.5
Dynamic: author
Dynamic: download-url
Dynamic: home-page
Dynamic: license-file
Dynamic: maintainer
Dynamic: requires-python

# SOVApy (Structural Order Viaualization and Analysis with Python)

SOVA can be installed in Windows, MacOS and Linux.    
(The package name to be imported is "sovapy".)

# Install from PyPI 

```sh
pip install sovapy
```

# Build and Install sovapy
1. Clone the SOVA repo

  ```sh
  git clone https://github.com/MotokiShiga/sova-cui.git
  ```
  And move to the downloaded directory
  ```sh
  cd sova-cui
  ```

2. To compile and to generate so or dll files, run  
for macos and linux
  ```sh
  bash run_install_mac_linux.sh
  ```
For windows, use "x64 Native Tools Command Prompt for Visual Studio 2022" to run 
  ```sh
  install_win.bat
  ```
  
3. To install SOVA, run    
  ```sh
  pip install .  
  ```

For the usage, see example codes in the directory 'examples'.

## Environment

Major packages used for our development

<!-- framework & version -->
| Package  | Version |
| --------------------- | ---------- |
| Python                | 3.11 - 3.13    |
| ase                 | 3.22.1     |
| h5py              | 3.13.0    |
| igraph                 | 0.11.3     |
| matplotlib   | 3.10.0  |
| networkx                 | 3.1     |
| numpy                | 2.1.0      |
| PyCifRW             | 5.0.0      |
| scipy | 1.15.2    |
| spglib               | 2.0.2     |

  
The versions of other packages can be found in requirements.txt.

You can make the virtual environment for sova by
```
python -m venv sova-cui
source sova-cui/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
```

## Acknowledgements

SOVA reuses source codes of the following package:

- [pyMolDyn](https://github.com/sciapp/pyMolDyn)
- [cif2cell](https://pypi.org/project/cif2cell/#description)


## Examples
```sh
0_all_analysis  : All analysis and saving results in a hdf5
1_pdf_xyz       : PDF analysis from xyz file (amorphous SiO2)
2_pdf_cif       : PDF analysis from xyz file (beta-cristobalite)
3_pdf_cfg       : PDF analysis from cfg file generated by RMC++ (amorphous SiO2)
4_coordination  : Coordination number analysis (amorphous SiO2)
5_bond_angle    : Bond angle analysis (amorphous SiO2)
6_tetra_order   : Tetrahedral order analysis (q-value) (amorphous SiO2)
7_ring          : Ring analysis  (beta-cristobalite)
8_cavity        : Cavity analysis (amorphous SiO2)
9_save_result   : Save and load calculated results
``` 

## Citation

We are preaparing a manuscript for this package. Before the publication, you should cite this url and the following papers.
If you have implemented ring analysis, please cite the original papers of ring definitions (Guttman, King, and Primitive) and our paper:  
[1] M. Shiga, A. Hirata, Y. Onodera, H. Masai, Ring-originated anisotropy of local structural ordering in amorphous and crystalline silicon dioxide. Commun. Mater. 4, 91 (2023). https://doi.org/10.1038/s43246-023-00416-w

For cavity analysis, please cite  
[2] I. Meyer, F. Rhiem, F. Beule, D. Knodt, J. Heinen, R. O. Jones, pyMolDyn: Identification, structure, and properties of cavities/vacancies in condensed matter, J. Comput. Chem., 38, 389–394 (2017). https://doi.org/10.1002/jcc.24697
