You will probably need root access to install some of the prerequisites.
You need these packages to use GEMS:
- A c++ compiler (e.g. g++)
- git (optional but recommended)
- python3 (python3.4 is known to work and others might)
Installation instructions will vary according to operating system. If you use Ubuntu, you should be able to use a command like this:
sudo apt-get install g++ openssl git python3.4 swig libboost-all-dev make qt5-default
If you use another operating system, please check its installation instructions.
Obtaining the software
The following does not require root access.
- Change to directory in which you want GEMS to live.
- Get GEMS from the git repo (*)
Shell1git clone https://github.com/GLYCAM-Web/gems.git
- Change directory to GEMS
- Get GMML from the git repo. Use the full command below because you need the repo to be named gmml rather than GMML as with the default clone.
Shell1git clone https://github.com/GLYCAM-Web/gmml.git gmml
(*) There are non-git ways to obtain gems and gmml. Please see https://github.com/GLYCAM-Web/GEMS and https://github.com/GLYCAM-Web/GMML for more information.
Compiling and Installing
- The compilation requires gems to know where the header files for your python3 installation are.
- Some popular Linux distros put them in /usr/include/python3, and the program will look there for them. If that works for you, then the script will set an environment variable, PYTHON_HOME to that location and proceed.
- If you need it set to something else, find the directory in your python3 installation that contains the file Python.h and set PYTHON_HOME in a manner similar to one of the examples below. On some systems, the Python.h for python3.4 is in /usr/include/python3.4m/.
Shell1export PYTHON_HOME=/path/to/python3.4headers ## for bash-like shells
Shell1setenv PYTHON_HOME /path/to/python3.4headers ## for csh-like shells
- You should still be in the gems directory. Change to that directory if not.
- Run make.sh file in order to compile gmml and create the gems interface
Testing the Installation
Testing the installation requires BASH. This is already installed on most systems. If the command “which bash” returns no information or returns an error, contact your system administrator.
- From the gems directory, run the following command:
- See the output written to the terminal. If all goes well, the output should look something like:
Shell12345678910111213$ ./test_installation.bashThis test should take less than 10 seconds to run on most modern computers.This test will compare these files:updated_pdb.txt -- this is the file the test should generatetest_pdb.txt.save -- this is the file to which it should be identicalBeginning test.Checking for diffeences between test output and the standard output.The test passed.
Make sure you are still in the gems directory where you typed make.sh and tested the installation.
- Try the command that was used for the test (below). You can leave off the redirects (the bits after the greater-than signs) if they don’t work in your shell or if you want the output to go to the terminal.
Shell1python3 test_installation.py -amino_libs "gmml/dat/CurrentParams/leaprc.ff12SB_2014-04-24/amino12.lib","gmml/dat/CurrentParams/leaprc.ff12SB_2014-04-24/aminont12.lib","gmml/dat/CurrentParams/leaprc.ff12SB_2014-04-24/aminoct12.lib" -prep "gmml/dat/CurrentParams/leaprc_GLYCAM_06j-1_2014-03-14/GLYCAM_06j-1.prep" -pdb "gmml/example/pdb/Small_to_test.pdb" > testing.log 2> testing.error
- Check out how the test_installation.bash script was written, especially if you are familiar with bash. It might help.
- Try similar sample commands at the tops of files named *.py. They will be in the comments near the top of the file and will come just after a line that says “#SAMPLE COMMAND :”.
- You can also request help from most of the gems functions. For example:
Shell1234567891011121314151617$ python3 test_installation.py --helpAvailable options:-amino_libs : amino acid library file(s) (e.g. gmml/dat/CurrentParams/leaprc.ff12SB_2014-04-24/amino12.lib)-glycam_libs: glycam library file(s)-other_libs : other kinds of library files-prep : prep file(s) (e.g. gmml/dat/CurrentParams/leaprc_GLYCAM_06j-1_2014-03-14/GLYCAM_06j-1.prep)-pdb : pdb file (e.g. gmml/example/pdb/1RVZ_New.pdb)-cnf : configuration file as an argument. sample file format:amino_libsgmml/dat/CurrentParams/leaprc.ff12SB_2014-04-24/amino12.libgmml/dat/CurrentParams/leaprc.ff12SB_2014-04-24/aminont12.libglycam_libsother_libsprepgmml/dat/CurrentParams/leaprc_GLYCAM_06j-1_2014-03-14/GLYCAM_06j-1.preppdbgmml/example/pdb/1RVZ_New.pdb