Installation Instructions
Download
To make a local database that can be used with EON, VTSTTools or as a standalone package, a read only copy of the code can be anonymously checked out of the subversion repository with the following command:
svn co https://theory.cm.utexas.edu/svn/kdb
If you are a developer, you can checkout the code using the command (replace $USER with your username on theory):
svn co svn+ssh://$USER@theory.cm.utexas.edu/svn/kdb
Dependencies
Required:
- Python (>= 3.6)
- GCC-gfortran
- Numpy
- NetworkX (>= 2.5)
Optional:
These are needed only to host your own remote database on your own server.
Environment Variables
Once you have a local copy of the code, include the top directory to your $PYTHONPATH, and add bin to $PATH. For example, if the code was installed in your home directory:
export PYTHONPATH=$HOME/kdb:$PYTHONPATH
export PATH=$HOME/kdb/bin:$PATH
To avoid repeating this step on future logins, consider adding these lines in your .bash_profile file (or another start-up script that sets your environmental variables).
Note:
- To use KDB from VTSTTools, also add bin/ to your PYTHONPATH::
export PYTHONPATH=$HOME/kdb/bin:$PYTHONPATH
Compilation
From the top directory, go into the kdb/ subdirectory and locate the Makefile. Then, execute the following command:
make
Notes:
- Errors might arise if gfortran and/or f2py is not found in $PATH (f2py comes with Numpy), or if the shebang (#!) line in the f2py binary file has a bad interpreter. Warnings are typically okay.
- To undo the make command, execute:
make clean
Testing
After compilation from the kdb/ subdirectory, go to ../test/, and execute test.py with these parameters:
./test.py local # local kdb test
./test.py remote # remote kdb test
./test.py clean # remove the newly made test files (optional)
Verify that all tests pass. For the local KDB test, additional outputs and error messages are written to test.log.
Command Line Usage
[dbtype] should be replaced with either "local" or "remote" (without the quotes).
Query
kdb_[dbtype]_client.py query <structure file>
Insert
kdb_[dbtype]_client.py insert <reactant structure file> <saddle structure file> <product structure file> <optional commands>
Optional command line arguments include:
- list coming soon