Package: pychemcurv
installationdocumentationDash web applicationsource code,live demoNotebookspychemcurv 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.FeaturesPychemcurv 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, aPlotly/Dashweb
application is provided in order to perform a geometrical and electronic
analyzes on molecules or materials.The web application is available atpychemcurv.onrender.com/.
The web-app allows to upload simple xyz files and compute the local geometrical
properties and the hybridization properties. The application source code is available
in a separate repository atpychemcurv-app.Some jupyter notebooks are provided in thenotebooks/folder and present use cases
of the classes implemented in this package. You can access to these notebooks
online withbinder.Licence and contactThis software was developped at theUniversité de Pau et des Pays de l’Adour
(UPPA)in theInstitut des Sciences Analytiques et
de Physico-Chimie pour l’Environement et les Matériaux (IPREM)and theInstitut Pluridisciplinaire de Recherches
Appliquées (IPRA)and is distributed under theMIT licence.AuthorsGermain Salvato Vallverdu:germain.vallverdu@univ-pau.frJulia Sabalot-cuzzubbojulia.sabalot@univ-pau.frDidier Bégué:didier.begue@univ-pau.frJacky Cresson:jacky.cresson@univ-pau.frCiting pychemcurvPlease, consider to cite the following papers when using either thepychemcurvlibrary or the web application.Julia Sabalot-Cuzzubbo, Germain Salvato Vallverdu, Didier Bégué and Jacky CressonRelating the molecular topology and local geometry: Haddon’s pyramidalization angle and the Gaussian curvature,
J. Chem. Phys.152, 244310 (2020).Julia Sabalot-Cuzzubbo, N. Cresson, Germain Salvato Vallverdu, Didier Bégué and Jacky CressonHaddon’s POAV2 vs POAV theory for non-planar molecules,
J. Chem. Phys.159, 174109 (2023).InstallationInstallation from PyPiFrom November 2023,pychemcurvis available on pypi. You can install it
directly using pip.python-mpipinstallpychemcurvInstallation from sourceBefore installingpychemcurvit is recommanded to create a virtual environment
using conda or virtuelenv.In this environment, using pip directly from the github repository, runpipinstallgit+git://github.com/gVallverdu/pychemcurv.gitAlternatively, you can first clone the pychemcurv repositorygitclonehttps://github.com/gVallverdu/pychemcurv.gitand then install the module and its dependencies usingpip install .If you want to use the web application locally or if you want to usenglviewto display structures in
jupyter notebooks you need to install more dependencies. The setup configuration
provides thevizextra so, using pip, run one ofpipinstall.[viz]# escape square bracket with zshpipinstall.\[viz\]If you have installed nglview you may have to enable the jupyter extensionjupyter-nbextensionenablenglview--py--sys-prefixInstall in developper modeIn order to install in developper mode, first create an environment
(using one of the provided file for example) and then install using pippipinstall-e.[viz]If you want to build the documentation you also need to install sphinx.
A dedicated requirements file is provided in thedocs/folder.Run the web applicationThe web application is available in this separate repository:pychemcurv-app https://github.com/gVallverdu/pychemcurv-app.
The main aim of the application is 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:pychemcurv.onrender.com/.In order to run the application locally, you have to clone the repository and
install all the dependencies. In particulardashanddash-bio.
You can do that from therequirements.txtprovided in the repository of the
application. Here is a short procedure in order to install and run the application
locally. It assumespychemcurvis already installed in a python environment
called(curv):[user@computer](curv)>$gitclonehttps://github.com/gVallverdu/pychemcurv-app.git[user@computer](curv)>$cdpychemcurv-app/[user@computer](curv)>$python-mpipinstall-rrequirements.txt[user@computer](curv)>$pythonapp.pyRunningonhttp://127.0.0.1:8050/DebuggerPIN:065-022-191*ServingFlaskapp"app"(lazyloading)*Environment:productionWARNING:Thisisadevelopmentserver.Donotuseitinaproductiondeployment.UseaproductionWSGIserverinstead.*Debugmode:onOpen the provided url to use the application.You can switch off/on the debug mode by settingdebug=Falseon the last line of
theapp.pyfile.Common error on local executionIf the application does not start with an error such as:socket.gaierror: [Errno 8] nodename nor servname provided, or not knownGo to the last lines of the file app.py and comment/uncomment the last
lines to get something that readsif__name__=='__main__':app.run_server(debug=True,host='127.0.0.1')# app.run_server(debug=False)