chopralab / candock

Other
5 stars 2 forks source link

cannot compile candock in CentOS8 #1

Open hiro0426 opened 4 years ago

hiro0426 commented 4 years ago

I have been trying to compile candock in CentOS8 and I keep getting fatal error message saying /usr/bin/ld: warning: libOpenMM.so, needed by /usr/local/lib/libstatchem.so, not found (try using -rpath or -rpath-link). I confirmed that I added the path for libOpenMM.so (PATH="$PATH":/usr/local/openmm/lib in .bashrc). Is there a help topic or something that would help me with the compiling steps ?

Thank you in advance.

Hiroyuki

frodofine commented 4 years ago

Are you compiling the latest version or the version tagged at v0.4.3? I actually recommend the latter as it is the version directly referenced in the publication and has a better build system suited for just building CANDOCK. Second, the PATH variable does not help find dynamic libraries, you need to export either LIBRARY_PATH or LD_LIBRARY_PATH instead, but I am not sure which one is correct as I do not fully understand the issue given the information provided.

hiro0426 commented 4 years ago

I tried to compile the version tagged at v0.4.3 and was able to compile candock. Thank you for your help. I have another question about using this program. I tried to used find_centroids.sh, but the following error occurred.

GRID> Allocating memory and determining size of grid in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:72 minCrd = -28.27 2.43 0.34 in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:85 maxCrd = 29.50 58.22 57.13 in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:86 cells = 19 18 18 in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:87 GRID> Time = 0.00 in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:103 Setting descriptors ... Deleting descriptors ... in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/desc.cc:258 Deleted 612 descriptors ... in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/desc.cc:274 Deleting probe atoms ... in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/probe.cc:143 ..deleted 2758 probe atoms. in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/probe.cc:152 GRID> Deallocating memory in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:111 GRID> Time = 0.00 in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/probis/grid.cc:132 Error (STATES) : Cannot open SURF_FILE bslibdb/bslib.txt! Grid destructor in /home/apps/candock-941293c3eeafe3184a11e8079ebe8255653074e8/lib/molib/grid.hpp:161 die : something went wrong in probis ...

I'd appreciate it if you could enlighten me.

frodofine commented 4 years ago

First, it appears that you have compiled CANDOCK in DEBUG mode, this will make it very very slow. To build in RELEASE mode, run cmake -DCMAKE_BUILD_TYPE=RELEASE.

Second, you must obtain a copy of the ProBIS library to use binding site detection (I cannot give you a copy, it is not my data). To proide your own binding site, see the following Perl script:

#!/usr/bin/env perl

use warnings;
use strict;

my $binding_site = 1;
my $one_site = 0;

my $radius = 4.5;

use Getopt::Long;

GetOptions( "r|radius=f" => \$radius,
                        "o|onesite"  => \$one_site );

while ( <> ) {
    if (/^(?<atomif> .{6})\s{0,4}
          (?<atomid>   \d{1,5})\s{1,2}
          (?<atomtype> [ A-Z | 0-9 | \d | \s | \' ] {3} )?
          (?<alterloc> [ A-Z | \s ])
          (?<resn>     [ A-Z | \d ] {3} )\s
          (?<chain>    [ A-Z ] ) \s*
          (?<resi>       \d{1,4}) \s+
          (?<x>        -?\d{1,3}\.\d{3} )\s*
          (?<y>        -?\d{1,3}\.\d{3} )\s*
          (?<z>        -?\d{1,3}\.\d{3} )\s*
       /x) {

        next unless $+{atomif} eq "HETATM";

                next if $+{resn} eq "HOH";
                next if $+{resn} eq " CA";
                next if $+{resn} eq " MG";
                next if $+{resn} eq "  K";

                print "$binding_site   " unless $one_site;
                print "1   " if $one_site;

        print "$+{x}   $+{y}   $+{z}   $radius\n";

    }

        $binding_site++ if eof;
}

The input to the file is a PDB file of a ligand in the binding site of your protein. Save the output of the file as site.cen and give the location of the file as the parameter to --centroid.