Program for manipulations with molecules and performing computations with them
In order to build ChemWiz, you first need to clone it with submodules:
git clone --recurse-submodules https://github.com/yurivict/ChemWiz.git
Then you need to install all dependencies listed below.
- GNU Make
- C++ compiler
- qmake (part of Qt5)
- Boost: for some container types and string formatting
- C++ Bitmap Library: to support the "Image" type (https://github.com/ArashPartow/bitmap)
- PicoSHA2: to compute cryptographic hashes (https://github.com/okdshin/PicoSHA2)
- Cblas: headers used by the rmsd++ headers, actual functions come from OpenBlas
- Lapacke: headers used by the rmsd++ headers
- nlohmann-json: for parsing of the periodic table json, etc.
- rang: to print colored and styled text to the terminal (https://github.com/agauniyal/rang)
- (optional) mmtf-cpp: for parsing chemical structures in the MMTF format (https://github.com/rcsb/mmtf-cpp)
- MiniDNN: the neural network library
- Eigen3: the linear algebra library
- pugixml: to parse XML for the executable that is only used during build
- MuJS: for running JavaScript code that is used for scripting (https://mujs.com/)
- OpenSSL: for crypto used to access https:// URLs
- OpenBLAS: used by the 'rmsd' code for matrix computations
- SQLite3: to save results and persistent state across runs. The library is loaded dynamically by the JS code, the executable isn't linked with it.
- Qhull: to compute convex hulls of molecules (https://github.com/qhull/qhull)
- (optional) OpenBabel: for parsing molecules in SMILES format (http://openbabel.org/wiki/Main_Page)
- (optional) libdsrpdb: for parsing proteins in the PDB format (or perhaps any large and complex molecules) (https://graphics.stanford.edu/~drussel/pdb/)
- Qt5 components: core and webenginewidgets (used only by the browser in qt5-QtWebEngine-browser/)
- (optional) Jmol: for converting molecules to 3-D images, the executable 'jmoldata' is run from the scripts (http://jmol.sourceforge.net/)
- (optional) ffmpeg: for converting frames (images) to movies, the executable 'ffmpeg' is run from the scripts (https://www.ffmpeg.org/)
All optional library dependencies have corresponding build switches in the form USE_xx.
- rmsd library (https://github.com/charnley/rmsd, BSD 2-Clause licensed): Jimmy Charnley Kromann's rmsd library for Root-Mean-Square-Deviation calculation
- Jmol produces invalid (not entirely valid) PNGs: https://sourceforge.net/p/jmol/bugs/604/