This is a fast and accurate shape alignment tool for ligand screening, utilizing genetic algorithm and Nelder-Mead minimization algorithm.
usage: galign <QUERY> [<TEMPL>] [options...]
Positional arguments:
<QUERY> mol2 file contating the query structure(s).
[<TEMPL>] mol2 file contating the template structure(s)
(optional).
Optional arguments:
-h [ --help ] print this help message and quit.
-v [ --version ] print version.
-q [ --quiet ] quiet mode; do not print additional
informations.
-l [ --flexible ] enable flexible align.
-H [ --hydrogen ] load the hydrogen atom(s) in the mol2 file.
-s [ --structures ] [=arg(=-)] output the aligned sturctures to this file.
If no path is provided with this option, or
if the provided path is '-', then the
sturctures will be printed to stdout.
-f [ --format ] arg output format, must be pdb or mol2 (ignores
case). Set based on the extension of the
output file if not provided. Default to PDB
for standard output, or unknown extensions.
-b [ --begin ] arg (=1) beginning index of the atoms in target(s).
-k [ --topk ] arg (=1) maximum top-k conformers to output.
--no-scores do not include the scores in the output PDB
file at the REMARKS section, or in comment
for mol2 file.
Has no effect if --structures option is not
provided.
--pool-size arg (=10) set the size of the pool for genetic
algorithm.
--sample-size arg (=30) set the size of the sample for genetic
algorithm.
--rigid-max-conf arg (=4) set the max conformers for initial rigid
align. Takes effect only when --flexible is
provided.
--rigid-min-rmsd arg (=3) set the minimum rmsd value for rigid align.
Takes effect only when topk, or
rigid-max-conf (only for flexible alignment)
is larger than 1.
-n [ --nproc ] arg (=1) max threads to use.
Note that the output could have different
ordering than the original input file.CMake is introduced for easier installation. Currently, only clang and gcc with c++17 support on linux are supported. We recommend using clang as compiler, as it will produce faster binaries.
cmake [ -DCMAKE_INSTALL_PREFIX=<PATH_TO_GALIGN_HOME> ] -S . -B build
cmake --build build [ -j `nproc` ]
cmake --build build --target install/strip- CMake: For easier compilation, configuration and installation.
- Eigen: For faster linear algebra and more convenient matrix/vector/array manipulations.
- Boost::program_options: For easier command line parsing.
There is also one dependency that will built with the source:
- abseil-cpp: For string manipulation, synchronization, random number generation, etc. The abseil library is recommended to be compiled with the source at the same time, so this project includes the abseil repository as a submodule.
G-align is distributed under the GNU Affero General Public License v3.0 (AGPL-3.0-only).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program in a file named LICENSE; if not, see
https://www.gnu.org/licenses/.
This project also includes some code from the TM-align
project, which is distributed under MIT-style license. Please refer to the
NOTICE file for more details.