KGS is an engine that generates conformational perturbations in biomolecules (protein, RNA, or ligands alike) by maintaining user-specified non-local constraints. Specifically, collisions are avoided while hydrogen-bonds and disulphide bonds are maintained. A set of applications are built on this engine:
- kgs_explore: Generating conformational ensemble from a seed structure
- kgs_rigidity: Rigidity analysis of structure file
- kgs_hierarchy: Hierarchical kinematic flexibility analysis of structure file
- kgs_transition: Directed sampling from initial structure to target structure
- kgs_relative_transition: Driving conformations
KGS depends as a minimum on the GNU Scientific Library (GSL) only. GSL is
available through most standard package managers. For Mac, download
homebrew and run brew install gsl.
If the Intel MKL libraries can be found on the system then faster and automatically parallelized SVD computations will be enabled as well.
To compile KGS from source go to a terminal and type
git clone https://github.com/ExcitedStates/KGS.git
mkdir KGS/build
cd KGS/build
cmake -DCMAKE_BUILD_TYPE=Release ../src
make -jAfter modifying files in src simply type make in the build-dir to
recompile. To use Intels compiler (v17.0.3 or later) replace the
third step with
CXX=icpc cmake -DCMAKE_BUILD_TYPE=Release <repo path>/sourceTo compile with debugging symbols and optimizations disabled, open a terminal and type
mkdir debug
cd debug
cmake -DCMAKE_BUILD_TYPE=Debug <repo path>/source
makeThis allows debuggers and analysers like gdb, lldb, or valgrind to give meaningful source-code info.
Sherlock has an old (4.4) GCC compiler and no MKL libraries by default. To
compile on Sherlock start an sdev session and from an empty directory type
module load gcc
module load intel
CXX=`which g++` cmake <repo path>/src
make -j 16This system has an old (4.4) GCC compiler by default so the newer version 5
should be enabled before running cmake. This is not necessary when subsequently
calling make.
scl enable devtoolset-4 bash
cmake <repo path>/src
make -j 16On sdc04, there is no need to call
scl enable devtoolset-4 bashJust change to a bash shell:
bash
. /home/sw/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64
cmake <repo path>/src
make -j 16Make sure the executable
gsl-configwhich is part of gsl, is in your path
Before running, its recommended to put the executables and
kgs_prepare.py script somewhere pointed to by the PATH environment
variable. A number of options that affect e.g. motion-planning and
collision detection can be passed, but a minimum working example is as
follows
wget https://files.rcsb.org/download/2ERL.pdb
kgs_prepare.py 2ERL.pdb
kgs_explore --initial 2ERL.kgs.pdbThis should create an output directory and put 10 generated conformations
in it (the default number of samples to generate). The prepared .kgs.pdb
file has the same coordinates as the original, but atom-ids have been
renumbered, and REMARK records indicating hydrogen-bonds have been added.