MoleCalc is now publically available at molecalc.cloud!
MoleCalc is based on the MolCalc project (https://github.com/jensengroup/molcalc), a web-based chemistry teaching tool available at molcalc.org that was originally built by the Jensen Group at the University of Copenhagen. MoleCalc is a separate project currently being developed by Dr. Sean L. Seyler and led by Prof. Jeffery Yarger in the Yarger Research Group at the School of Molecular Sciences at Arizona State University. MoleCalc allows chemists to build small molecules and estimate key molecular properties using research-grade quantum chemistry software. Currently, MoleCalc can provide, in a matter of minutes or seconds, a decent sense of the physical and chemical properties of a chosen molecule, such as
- energy-minimized molecular structure
- electronic structure and molecular orbitals
- thermochemical properties of the molecular gas form
- vibrational modes and their frequencies
Important: MoleCalc, is heavily based on the original molcalc.org project , is under active development! This ReadMe is also not guaranteed to reflect the most recent state of the project, so please be patient!
MoleCalc is a small web-based interface for doing small-scale quantum chemistry calculation with the intent of giving chemical and physical intuition to students, from high-school to university.
MoleCalc is a Python based web-service, so dependencies include python packages, javascript modules and at least one backend quantum chemistry program (currently GAMESS, with plans to incorporate new capabilities using Orca).
To setup the Python environment please use Anaconda, because we use RDKit in the background.
# Install anaconda (only needed if you don't already have a Python enviroment with conda)
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda3.sh
bash miniconda3.sh -b -p /opt/miniconda3
with the Python environment we can setup MoleCalc. Note that most of the steps are inserted into the Makefile.
- Clone down the repository
git clone https://github.com/mscloudlab/molecalc --depth 1
cd molecalc
- Create the Python environment using conda and pip and the provided environment.yml and requirements.txt files.
# make env chemhelp
conda env create -f environment.yml -p env
pip install -r requirements.txt
- Install molecalc in ./env and ppqm locally in the molecalc directory:
pip install -e .
git clone --branch main git@github.com:mscloudlab/ppqm.git ppqm.git
ln -s ppqm.git/ppqm ppqm
- Download the JavaScript and frontend libraries, using the scripts. You need unzip and wget installed. All JavaScript libraries will be installed in the molcalc/static folder.
# make setup_assets
bash scripts/setup_chemdoodle.sh
bash scripts/setup_jsmol.sh
bash scripts/setup_fontawesome.sh
bash scripts/setup_jquery.sh
bash scripts/setup_rdkit.sh
- Set up GAMESS. You need to download and compile GAMESS.
- Set up the PasteDeploy configuration (*.ini file) by copying the example and editing the [scr] and [gamess] sections to reflect the corresponding (csh) variables SCR, USERSCR, and GMSPATH specified in your rungms script. One might opt to create a copy of rungms (say, molcalc_rungms) so as to specify different scratch directories to be used when GAMESS is run by MoleCalc; in this case, the rungms variable in the [gamess] section of your *.ini file should point to this new copy (molcalc_rungms).
cp example.development.ini development.ini
# edit development.ini
- Test using pytest to check that the configuration for GAMESS is set up correctly
# make test
python -m pytest tests
- MoleCalc should be ready. Serve the server by
# make serve
env/bin/pserve development.ini --reload
- In your favorite browser, type
localhost:6543
(or whatever corresponding ip/port was specified in development.ini) in the URL bar and have fun!
rdkit, pyramid, fontawesome, jquery, chemdoodle, jsmol, gamess
Remove connections from javascript libs
Failed to load resource: net::ERR_INTERNET_DISCONNECTED ichemlabs.cloud.chemdoodle.com/icl_cdc_v070001/WebHQ
Extend the computations for molcalc to include
- spectrum
** H/C-NMR ** mass spectrum ** vibrational
- open shell systems
Tutorials and assignment examples (with answers)
Better FAQ interface
If rdkit has problems finding libxrender.so then you need to install
sudo apt install libxrender-dev
or
./env/bin/conda install nox
./env/bin/conda install cairo