Update shape-it and align-it #structure_align #chemoinformatics #OpenBabel3

Shape and Pharmacophore based molecular alignment methods are often used not only SBDD but also LBDD projects. ROCS is one of the major tool to do it but it’s commercial package for none academia.

Shape-it and Align-it which are provided from silicos-it are very useful open source packages for molecular alignments. I posted about shape-it long time ago in Japanese.

https://iwatobipen.wordpress.com/2012/09/09/shape-it%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/.

Unfortunately both package are required old version of openbabel so it can’t install with recent version of openbabel (openbabel 3.x). So I tried to modify the code to work with openbabel3.

At first details of both tools are described in following URL so I don’t re introduce them here. Shape-it uses molecular gaussian volume for alignment and aligin-it uses pharmacophore for alignment.


http://silicos-it.be.s3-website-eu-west-1.amazonaws.com/software/align-it/1.0.4/align-it.html

http://silicos-it.be.s3-website-eu-west-1.amazonaws.com/software/shape-it/1.0.1/shape-it.html

My modified version of shape-it and align-it can get from my github repo and it’s free under GNU public Lesser General Public License v3.0.
https://github.com/iwatobipen/shape-it-ob3
https://github.com/iwatobipen/align-it-ob3

To use these package user should install openbabel3 at first and the most convenient way to install openbabel3 is that using conda as you konw ;)

And there is tips, shape-it and align-it need LD_LIBARY_PATH of openbabel library if user install openbabel in your main env. add the path to .bashrc but for example like me, openbabel is installed in a conda env, LD_LIBRARY_PATH will depends on the env.

To define specific variable of LD_LIBARY_PATH, edit yourenv/etc/conda/activate.d/env_vars.sh and yourenv/etc/conda/deactivate.d/env_vars.sh.
Following code is in my case. (my env name is chemoinfo)

$vim ~/miniconda3/envs/chemoinfo/etc/conda/activate.d/env_vars.sh
#!/bin/sh

export BABEL_LD_PATH="/home/iwatobipen/miniconda3/envs/chemoinfo/lib/"
export LD_LIBRARY_PATH="$BABEL_LD_PATH:$LD_LIBARY_PATH"

$vim ~/miniconda3/envs/chemoinfo/etc/conda/deactivate.d/env_vars.sh
#!/bin/sh

unset BABEL_LD_PATH 

Now BABEL’s LD_LIBRARY_PATH will be set when I switch the env.

OK let’s install tools. All process is almost same ;) If CMAKE_INSTALL_DIR is not defined, code will be installed /usr/local/bin

$ git clone https://github.com/iwatobipen/align-it-ob3.git
$ cd align-it-ob3
$ mkdir biuild
$ cd build
$ cmake -DCMAKE_INSTALL_DIR=/home/iwatobipen/miniconda3/envs/chemoinfo/ ..
$ make
$ make install

$ git clone https://github.com/iwatobipen/shape-it-ob3.git
$ cd shape-it-ob3
$ mkdir biuild
$ cd build
$ cmake -DCMAKE_INSTALL_DIR=/home/iwatobipen/miniconda3/envs/chemoinfo/ ..
$ make
$ make install

Now shape-it and align-it command will be available.
OK let’s use the command. I used cdk2.sdf as an example molecules. commands are very similar, $shape-it/align-it -r 1mol.sdf -d cdk2.sdf -s score.txt -o output.sdf

-r option defines reference molecule for align, -d option means database file to align and -o option means output file.

Check output structure with pymol. I selected some molecules for example. The first image is molecules before alignment.

The second image is molecules after shape based alignment.

As you see molecules seems aligned. And I could get score file. I showed score file from shape-it and align-it.

#shape-it score
$cat score.txt
dbName	refName	Shape-it::Tanimoto	Shape-it::Tversky_Ref	Shape-it::Tversky_Db	overlap	refVolume	dbVolume
ZINC03814457	ZINC03814457	1	1	1	145.19	145.19	145.19
ZINC03814459	ZINC03814457	0.885	0.894	0.989	129.12	145.19	129.83
ZINC03814460	ZINC03814457	0.935	0.938	0.997	135.79	145.19	135.79
ZINC00023543	ZINC03814457	0.964	0.998	0.966	145.19	145.19	150.58
ZINC03814458	ZINC03814457	0.964	0.991	0.973	143.98	145.19	148.14
ZINC01641925	ZINC03814457	0.671	0.939	0.702	138.87	145.19	200.52
ZINC01649340	ZINC03814457	0.464	0.814	0.52	121.99	145.19	239.46
ZINC01487345	ZINC03814457	0.498	0.926	0.518	140.59	145.19	277.93

## align-it score
$cat ph4core.txt
HYBL	-3.06918	-1.55742	-0.0527373	0.7	0	0	2.22045e-16	6.93889e-18
HYBL	-1.99153	0.543517	-0.00681667	0.7	0	0	1.11022e-16	-3.46945e-18
HYBH	2.9988	-1.6999	0.058	1	1	3.03234	-2.69853	0.0178793
HYBH	0.5374	-0.6063	0.0692	1	1	0.647895	-1.60001	0.0876159
HDON	-4.0854	-1.1212	-0.0831	1	1	-5.0777	-1.00131	-0.114125
HYBH	-2.1041	-2.231	-0.0241	1	1	-1.45699	-2.99318	-0.00596263
HYBH	-3.2721	1.2054	-0.0433	1	1	-4.14719	1.68887	-0.0652017
HDON	-0.8677	1.299	0.035	1	1	-0.0785584	1.91231	0.0681916
HDON	-2.1448	3.1672	-0.0074	1	1	-2.18381	4.16644	-0.0081375
HYBL	4.5978	0.963	-1.1852	0.7	0	0	0	0
HYBL	5.423	-0.4412	0.7616	0.7	0	8.88178e-16	5.55112e-17	1.11022e-16
$$$$
NAME
HYBL	-2.98776	-1.58982	-0.0350093	0.7	0	0.0739324	-0.254413	0.147564
HYBL	-1.90779	0.489583	0.0865652	0.7	0	0.0739324	-0.254413	0.147564
HYBH	3.39796	-1.17533	-0.579478	1	1	2.85592	-1.19497	-1.4196
HYBH	0.589501	-0.69029	0.415597	1	1	0.676336	-1.68597	0.448613
HDON	-4.00265	-1.15438	-0.171986	1	1	-4.98567	-1.0249	-0.302001
HYBH	-2.04976	-2.2846	0.0954056	1	1	-1.41708	-3.05352	0.187519
HDON	-3.17137	1.1639	-0.0853058	1	1	-4.03379	1.65523	-0.207051

And finally I showed image with align-it. It seems work well ;)

In summary shape-it and align-it are useful package and have different features for molecular align. I would like to take bench mark with other alignment tools.

Advertisement

Published by iwatobipen

I'm medicinal chemist in mid size of pharmaceutical company. I love chemoinfo, cording, organic synthesis, my family.

2 thoughts on “Update shape-it and align-it #structure_align #chemoinformatics #OpenBabel3

  1. Nice blog post, just wanted to mention that yes ROCS is commercial but it is free for academics just like all of Openeye tools, just email OpenEye support for an academic license.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: