Table of contents
pychemcurv is a python package for structural analyzes of molecular systems or solid state materials focusing on the local curvature at an atomic scale. The local curvature is then used to compute the hybridization of molecular orbitals.
The main features of the library are available from a Plotly/Dash web application available here pychemapps.univ-pau.fr/mosica. The webapps allows to upload simple xyz files and compute the local geometrical properties and the hybridization properties.
Pychemcurv is divided in two parts. The first one is a standard python package which provides two main classes to compute the local curvature at the atomic scale and the hybridization of a given atom. Second, a Plotly/Dash web application is provided in order to perform a geometrical and electronic analyzes on molecules or materials.
The web application is available at pychemapps.univ-pau.fr/mosica. The webapps allows to upload simple xyz files and compute the local geometrical properties and the hybridization properties.
Some jupyter notebooks are provided in the
notebooks/ folder and present use cases
of the classes implemented in this package. You can access to these notebooks
online with binder.
Julia Sabalot-Cuzzubbo, Germain Salvato Vallverdu, Didier Bégué and Jacky Cresson Relating the molecular topology and local geometry: Haddon’s pyramidalization angle and the Gaussian curvature, J. Chem. Phys. 152, 244310 (2020).
Before installing pychemcurv it is recommanded to create a virtual environment using conda or virtuelenv.
Using pip directly from github, run
pip install git+git://github.com/gVallverdu/pychemcurv.git
Alternatively, you can first clone the pychemcurv repository
git clone https://github.com/gVallverdu/pychemcurv.git
and then install the module and its dependencies using
pip install .
If you want to use the web application locally or if you want to use
nglview to display structures in
jupyter notebooks you need to install more dependencies. The setup configuration
app extras so, using pip, run one of
pip install .[app] # or pip install .[viz] # or all extras pip install .[app, viz] # escape square bracket with zsh pip install .\[app, viz\]
If you have installed nglview you have to enable the jupyter extension
jupyter-nbextension enable nglview --py --sys-prefix
environment.yml are provided to setup
a full environment with all dependencies.
pip install -r requirements.txt
conda env create -f environment.yml
Do not forget to enable the jupyter nglview extension (see above).
app/ folder contains a dash application that aims to use the pychemcurv
package and visualize the geometrical or chemical atomic quantities mapped on
the chemical structure of your system.
The application is available online at this address: https://pychemapps.univ-pau.fr/mosaica/
In order to run the application locally, you have to install all the dependencies
and in particular
dash-bio. You can do that from the files
Then to run the application, change to the
app/ directory and run the
[user@computer] (curv) > $ python app.py Running on http://127.0.0.1:8050/mosaica/ Debugger PIN: 065-022-191 * Serving Flask app "app" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: on
Open the provided url to use the application.
You can switch off the debug mode by setting
debug=False on the last line of
This software was developped at the Université de Pau et des Pays de l’Adour (UPPA) in the Institut des Sciences Analytiques et de Physico-Chimie pour l’Environement et les Matériaux (IPREM) and the Institut Pluridisciplinaire de Recherches Appliquées (IPRA) and is distributed under the MIT licence.
- Germain Salvato Vallverdu: firstname.lastname@example.org
- Julia Sabalot-cuzzubbo email@example.com
- Didier Bégué: firstname.lastname@example.org
- Jacky Cresson: email@example.com