mirror of
https://github.com/Discngine/fpocket.git
synced 2026-06-05 04:14:21 +08:00
Compare commits
66 Commits
4.0.3
...
fix_overfl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08480cca17 | ||
|
|
6c7c55dfdd | ||
|
|
fdd5a7d14e | ||
|
|
9fdba19dd7 | ||
|
|
4810330d32 | ||
|
|
251065b939 | ||
|
|
c75e2d7f98 | ||
|
|
0e8b195945 | ||
|
|
4f54a742c2 | ||
|
|
6c5db32fdd | ||
|
|
9f2f379997 | ||
|
|
6e66d3677c | ||
|
|
146f76e8f8 | ||
|
|
f792bff126 | ||
|
|
d42000c72f | ||
|
|
a9eb68e8b9 | ||
|
|
16e7070daa | ||
|
|
b40990afb5 | ||
|
|
2bfce34457 | ||
|
|
6d7e84677b | ||
|
|
1e861b184b | ||
|
|
4b3073e0de | ||
|
|
675fe8c037 | ||
|
|
beb472ba2b | ||
|
|
c87362fa04 | ||
|
|
9ff11f655f | ||
|
|
11cff11a1e | ||
|
|
a206c797a4 | ||
|
|
79e16f8b15 | ||
|
|
96a6ed30ed | ||
|
|
5967a8fb8c | ||
|
|
57989435b4 | ||
|
|
9f7e173a2d | ||
|
|
6463aee064 | ||
|
|
e3347e6259 | ||
|
|
fc1dac6633 | ||
|
|
73e911ab58 | ||
|
|
ff92eafeb7 | ||
|
|
4f4893164f | ||
|
|
b02ae9ac19 | ||
|
|
87cea6b1ce | ||
|
|
b410ea1a6a | ||
|
|
09bb933615 | ||
|
|
1d186a45c9 | ||
|
|
5614b44600 | ||
|
|
0a150455e0 | ||
|
|
225fd07b15 | ||
|
|
4295d69c33 | ||
|
|
e571f00051 | ||
|
|
4d169aaaab | ||
|
|
ca6f4b036a | ||
|
|
9a4ec461ca | ||
|
|
e57a050dad | ||
|
|
c46dd801df | ||
|
|
61b15247ed | ||
|
|
f5913deaa9 | ||
|
|
9c7be61644 | ||
|
|
f05cdb7cdd | ||
|
|
115128de62 | ||
|
|
ee1cc7373f | ||
|
|
ac18b146ff | ||
|
|
9c2cbca91a | ||
|
|
c00ab205b6 | ||
|
|
86a4a97ac7 | ||
|
|
ce4997d6e6 | ||
|
|
5ef19079e9 |
4
.github/workflows/c-cpp.yml
vendored
4
.github/workflows/c-cpp.yml
vendored
@@ -15,10 +15,10 @@ jobs:
|
||||
run: sudo apt-get install libnetcdf-dev
|
||||
- name: make
|
||||
run: make fpocket
|
||||
- name: Set up Python 3.7
|
||||
- name: Set up Python 3.12
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: 3.12
|
||||
- name: create conda environment
|
||||
run: conda env update -f ./tests/environment.yml
|
||||
- name : activate
|
||||
|
||||
22
Dockerfile
Normal file
22
Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
||||
FROM debian:bookworm-slim
|
||||
RUN groupadd -r fpocket && useradd --no-log-init -r -g fpocket fpocket
|
||||
RUN apt update -y && apt install -y gcc g++ make libnetcdf-dev && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# all of this mess is essentially to have a minimalistic build at the end
|
||||
COPY makefile /opt/fpocket/
|
||||
COPY src /opt/fpocket/src
|
||||
COPY man /opt/fpocket/man
|
||||
COPY headers /opt/fpocket/headers
|
||||
COPY obj /opt/fpocket/obj
|
||||
COPY scripts /opt/fpocket/scripts
|
||||
COPY bin /opt/fpocket/bin
|
||||
COPY plugins/LINUXAMD64 /opt/fpocket/plugins/LINUXAMD64
|
||||
COPY plugins/include /opt/fpocket/plugins/include
|
||||
COPY plugins/noarch /opt/fpocket/plugins/noarch
|
||||
|
||||
WORKDIR /opt/fpocket
|
||||
|
||||
RUN make && make install && make clean
|
||||
USER fpocket
|
||||
WORKDIR /tmp
|
||||
CMD ["fpocket"]
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
RUN groupadd -r fpocket && useradd --no-log-init -r -g fpocket fpocket
|
||||
RUN apt update -y && apt install -y gcc g++ make libnetcdf-dev && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
@@ -81,10 +81,10 @@ docker build -t fpocket/fpocket .
|
||||
This will build fpocket into your local fpocket/fpocket image. You can then run fpocket/mdpocket etc using:
|
||||
|
||||
```bash
|
||||
docker run -v `pwd`:/WORKDIR fpocket/fpocket fpocket -f data/sample/1UYD.pdb
|
||||
docker run -v `pwd`:/workdir fpocket/fpocket fpocket -f /workdir/yourfile.pdb
|
||||
```
|
||||
|
||||
Here you mount your current directory with your input files into the preconfigured `/WORKDIR` in the docker container and then run fpocket on a file in that mounted folder.
|
||||
Here you mount your current directory with your input files into the preconfigured `/workdir` in the docker container and then run fpocket on a file in that mounted folder. Make sure that the folder is writeable to others if you run it through docker.
|
||||
|
||||
### Installing
|
||||
|
||||
@@ -107,6 +107,11 @@ make ARCH=MACOSXX86_64
|
||||
sudo make install
|
||||
```
|
||||
|
||||
For M1 and M2, use the MACOSXARM64 architecture:
|
||||
```
|
||||
ARCH=MACOSXARM64 make
|
||||
```
|
||||
|
||||
#### Using conda
|
||||
|
||||
There's also a conda package of fpocket available thanks to Simon Bray. You can install fpocket using conda with:
|
||||
|
||||
9565
data/sample/123abc.cif
Normal file
9565
data/sample/123abc.cif
Normal file
File diff suppressed because it is too large
Load Diff
7412
data/sample/4gfo.cif
Normal file
7412
data/sample/4gfo.cif
Normal file
File diff suppressed because it is too large
Load Diff
7824
data/sample/4gfo_customized.cif
Normal file
7824
data/sample/4gfo_customized.cif
Normal file
File diff suppressed because it is too large
Load Diff
10785
data/sample/6a5k.cif
Normal file
10785
data/sample/6a5k.cif
Normal file
File diff suppressed because it is too large
Load Diff
37183
data/sample/6cs2.cif
Normal file
37183
data/sample/6cs2.cif
Normal file
File diff suppressed because it is too large
Load Diff
31154
data/sample/6cs2.pdb
Normal file
31154
data/sample/6cs2.pdb
Normal file
File diff suppressed because it is too large
Load Diff
13962
data/sample/7z9t.cif
Normal file
13962
data/sample/7z9t.cif
Normal file
File diff suppressed because it is too large
Load Diff
@@ -452,10 +452,11 @@ The simplest way to run fpocket is either by providing a single pdb file, or by
|
||||
-b (none): (NOT USED BY DEFAULT) This option allows the user to choose a discrete algorithm to calculate the volume of each pocket instead of the Monte Carlo method. This algorithm puts each pocket into a grid of dimension (1/N*X ; 1/N*Y ; 1/N*Z), N being the value given using this option, and X, Y and Z being the box dimensions, determined using coordinates of vertices. Then, a triple iteration on each dimensions is used to estimate the volume, checking if each points given by the iteration is in one of the pocket’s vertices. This parameter defines the grid discretization. If this parameter is used, this algorithm will be used instead of the Monte Carlo algorithm.
|
||||
Warning: Although this algorithm could be more accurate, a high value might dramatically slow down the program, as this algorithm has a maximum complexity of N*N*N*nb_vertices, and a minimum of N*N*N !!!
|
||||
|
||||
|
||||
-d (none): Option allowing you to output pockets and properties in a condensed format. This will put to the stdout pocket properties in a tab separated string and write pocket files in a subfolder
|
||||
|
||||
-r string: (None) This parameter allows you to run fpocket in a restricted mode. Let's suppose you have a very shallow or large pocket with a ligand inside and the automatic pocket prediction always splits up you pocket or you have only a part of the pocket found. Specifying your ligand residue with -r allows you to detect and characterize you ligand binding site explicitly. For instance for `1UYD.pdb` you can specify `-r 1224:PU8:A` (residue number of the ligand: residue name of the ligand: chain of the ligand)
|
||||
|
||||
-P string: (None) Binding site delimited by the user through the input. You can inidcate which amino-acids are part of the binding site you'd like to "identify" and calculate descriptors for. fpocket will run its usual alpha-sphere detection and clustering will be guided to collect all alpha spheres in contact with residues of interest. You should enter a string of residues with residue numbers, insertion codes & chain codes: 'residuenumber1:insertioncode1:chaincode1.residuenumber2:insertioncode2:chaincode2.residuenumber3:insertioncode3:chaincode3'. Insertion codes can be empty. `-P 107::A.138::A.51::A.98::A.55::A.93::A` for instance for part of the HSP90 binding site of 4cwr. NB: If you use an mmcif file as input, you need to use the automatically assigned residue number instead of author defined number for this to work.
|
||||
|
||||
-y string: (filename) EXPERIMENTAL: here you can specify a topology filename in the Amber prmtop format. This can then be used by fpocket & mdpocket to calculate energy grids for your pockets. NB: you have to specify the -x flag to run energy calculations
|
||||
|
||||
|
||||
@@ -148,6 +148,5 @@ If you manage to build for other architectures and it works, I'd be happy to acc
|
||||
|
||||
## Read next
|
||||
|
||||
* [Getting Started](GETTINGSTARTED.md)
|
||||
* [Getting Started & Advanced Features](GETTINGSTARTED.md)
|
||||
|
||||
* [Advanced Features](ADVANCED.md)
|
||||
|
||||
@@ -40,6 +40,4 @@ We are happy about positive, negative, in any way constructive feedback.
|
||||
|
||||
* [Installation](INSTALLATION.md)
|
||||
|
||||
* [Getting Started](GETTINGSTARTED.md)
|
||||
|
||||
* [Advanced Features](ADVANCED.md)
|
||||
* [Getting Started](GETTINGSTARTED.md)
|
||||
@@ -37,12 +37,14 @@ typedef struct s_atm
|
||||
char name[5], /**< Atom name */
|
||||
type[7], /**< Atom type */
|
||||
chain[16], /**< Chain name */
|
||||
label_asym_id[16],
|
||||
symbol[3], /**< Chemical symbol of the atom */
|
||||
res_name[8]; /**< Atom residue name */
|
||||
|
||||
int id, /**< Atom id */
|
||||
seen, /**< Say if we have seen this atom during a neighbor search */
|
||||
res_id, /**< Atom residue ID */
|
||||
label_seq_id, /**<MMCIF label seq ID*/
|
||||
atype,
|
||||
charge, /**< Atom charge */
|
||||
abpa; /**< 1 if atom is an abpa, 0 otherwise*/
|
||||
|
||||
@@ -81,8 +81,8 @@ typedef struct s_desc
|
||||
characterChain2, /**< 0 if protein, 1 if nucl acid pocket, 2 if HETATM pocket*/
|
||||
numResChain1, /**<number of resdiues on chain 1*/
|
||||
numResChain2; /**<number of res on chain 2*/
|
||||
char nameChain1[2], /**<name of the first chain in contact with the pocket*/
|
||||
nameChain2[2]; /**<name of the second chain in contact with the pocket, if there is*/
|
||||
char nameChain1[255], /**<name of the first chain in contact with the pocket*/
|
||||
nameChain2[255]; /**<name of the second chain in contact with the pocket, if there is*/
|
||||
char ligTag[8]; /**<het atom tag of ligands situated in the pocket*/
|
||||
|
||||
} s_desc ;
|
||||
|
||||
@@ -30,84 +30,90 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
/* Options of the pocket finder program */
|
||||
/* standard parameters */
|
||||
|
||||
#define M_MIN_ASHAPE_SIZE_DEFAULT 3.4 /**< Use min alpha sphere radius of : 3.0 */ /*3.2, 2.6, */
|
||||
|
||||
#define M_MIN_ASHAPE_SIZE_DEFAULT 3.4/**< Use min alpha sphere radius of : 3.0 */ /*3.2, 2.6, */
|
||||
#define M_MAX_ASHAPE_SIZE_DEFAULT 6.2 /**< Use max alpha sphere radius of : 6.0 */ /*7.0, 7.4, */
|
||||
|
||||
#define M_MAX_ASHAPE_SIZE_DEFAULT 6.2/**< Use max alpha sphere radius of : 6.0 */ /*7.0, 7.4, */
|
||||
#define M_CLUST_MAX_DIST 2.4 /**< Use first connection distance (see report) : 2.0 */ /*1.8, 11.2, */
|
||||
|
||||
#define M_CLUST_MAX_DIST 2.4/**< Use first connection distance (see report) : 2.0 */ /*1.8, 11.2, */
|
||||
#define M_REFINE_DIST 4.5 /**< use second connection distance (see report) : 4.5 */
|
||||
|
||||
#define M_REFINE_DIST 4.5/**< use second connection distance (see report) : 4.5 */
|
||||
#define M_REFINE_MIN_PROP_APOL_AS 0.0 /**< At least a proportion of M_REFINE_MIN_NAPOL_AS apolar alpha spheres in the pocket 0.0 */
|
||||
|
||||
#define M_REFINE_MIN_PROP_APOL_AS 0.0/**< At least a proportion of M_REFINE_MIN_NAPOL_AS apolar alpha spheres in the pocket 0.0 */
|
||||
#define M_MC_ITER 300 /**< Number of iterations for the Monte Carlo volume calculation 3000 */
|
||||
|
||||
#define M_MC_ITER 300/**< Number of iterations for the Monte Carlo volume calculation 3000 */
|
||||
#define M_BASIC_VOL_DIVISION -1 /**< Precision for "exact" volume integration, set to -1 if not used -1 */
|
||||
|
||||
#define M_BASIC_VOL_DIVISION -1/**< Precision for "exact" volume integration, set to -1 if not used -1 */
|
||||
#define M_MIN_POCK_NB_ASPH 15 /**< Minimum number of alpha spheres for a pocket to be kept */
|
||||
|
||||
#define M_MIN_POCK_NB_ASPH 15/**< Minimum number of alpha spheres for a pocket to be kept */
|
||||
|
||||
#define M_MIN_APOL_NEIGH_DEFAULT 3/**< Minimum number of atoms having a low electronegativity in order to declare an alpha sphere to be apolar 3 */
|
||||
#define M_MIN_APOL_NEIGH_DEFAULT 3 /**< Minimum number of atoms having a low electronegativity in order to declare an alpha sphere to be apolar 3 */
|
||||
|
||||
#define M_DISTANCE_MEASURE 'e' /**< By default use euclidean distance measure for clustering*/
|
||||
|
||||
#define M_CLUSTERING_METHOD 's' /**< Clustering method to be used for alpha sphere clustering*/ /*s*/
|
||||
|
||||
#define M_DB_RUN 0 /**< default value for running fpocket for populating a database, 0 default*/
|
||||
#define M_DB_RUN 0 /**< default value for running fpocket for populating a database, 0 default*/
|
||||
|
||||
#define M_MAX_CHAINS_DELETE 20
|
||||
#define M_MAX_CHAINS_DELETE 20
|
||||
#define M_MAX_CHAIN_NAME_LENGTH 20
|
||||
#define M_MAX_LIG_RESNAME_LENGTH 20
|
||||
|
||||
#define M_MIN_AS_DENSITY 0.7
|
||||
|
||||
#define M_PAR_PDB_FILE 'f' /**< flag to give a single pdb input file*/
|
||||
#define M_PAR_LONG_PDB_FILE "file" /**< flag to give a single pdb input file*/
|
||||
#define M_MIN_N_EXPLICIT_POCKET 4 /**default value for minimum number of atoms part of the explicit pocket for an alpha sphere (between 0 and 4)*/
|
||||
|
||||
#define M_PAR_PDB_LIST 'F' /**< flag to give a txt file containing paths to multiple pdb files*/
|
||||
#define M_PAR_LONG_PDB_LIST "fileList" /**< flag to give a txt file containing paths to multiple pdb files*/
|
||||
#define M_PAR_PDB_FILE 'f' /**< flag to give a single pdb input file*/
|
||||
#define M_PAR_LONG_PDB_FILE "file" /**< flag to give a single pdb input file*/
|
||||
|
||||
#define M_PAR_MAX_ASHAPE_SIZE 'M' /**< flag for the maximum alpha sphere size*/
|
||||
#define M_PAR_LONG_MAX_ASHAPE_SIZE "max_alpha_size" /**< flag for the maximum alpha sphere size*/
|
||||
#define M_PAR_PDB_LIST 'F' /**< flag to give a txt file containing paths to multiple pdb files*/
|
||||
#define M_PAR_LONG_PDB_LIST "fileList" /**< flag to give a txt file containing paths to multiple pdb files*/
|
||||
|
||||
#define M_PAR_MIN_ASHAPE_SIZE 'm' /**< flag for the minimum alpha sphere size*/
|
||||
#define M_PAR_LONG_MIN_ASHAPE_SIZE "min_alpha_size" /**< flag for the minimum alpha sphere size*/
|
||||
#define M_PAR_MAX_ASHAPE_SIZE 'M' /**< flag for the maximum alpha sphere size*/
|
||||
#define M_PAR_LONG_MAX_ASHAPE_SIZE "max_alpha_size" /**< flag for the maximum alpha sphere size*/
|
||||
|
||||
#define M_PAR_MIN_APOL_NEIGH 'A' /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
|
||||
#define M_PAR_LONG_MIN_APOL_NEIGH "number_apol_asph_pocket" /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
|
||||
#define M_PAR_MIN_ASHAPE_SIZE 'm' /**< flag for the minimum alpha sphere size*/
|
||||
#define M_PAR_LONG_MIN_ASHAPE_SIZE "min_alpha_size" /**< flag for the minimum alpha sphere size*/
|
||||
|
||||
#define M_PAR_CLUST_MAX_DIST 'D' /**< flag for clustering distance*/
|
||||
#define M_PAR_LONG_CLUST_MAX_DIST "clustering_distance" /**< flag for clustering distance*/
|
||||
#define M_PAR_MIN_APOL_NEIGH 'A' /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
|
||||
#define M_PAR_LONG_MIN_APOL_NEIGH "number_apol_asph_pocket" /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
|
||||
|
||||
#define M_PAR_MC_ITER 'v' /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
|
||||
#define M_PAR_LONG_MC_ITER "iterations_volume_mc" /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
|
||||
#define M_PAR_CLUST_MAX_DIST 'D' /**< flag for clustering distance*/
|
||||
#define M_PAR_LONG_CLUST_MAX_DIST "clustering_distance" /**< flag for clustering distance*/
|
||||
|
||||
#define M_PAR_BASIC_VOL_DIVISION 'b'/**< flag for the space approximation of the MC*/
|
||||
#define M_PAR_MIN_POCK_NB_ASPH 'i' /**< flag for the min number of alpha spheres in the pocket*/
|
||||
#define M_PAR_LONG_MIN_POCK_NB_ASPH "min_spheres_per_pocket" /**< flag for the min number of alpha spheres in the pocket*/
|
||||
#define M_PAR_MC_ITER 'v' /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
|
||||
#define M_PAR_LONG_MC_ITER "iterations_volume_mc" /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
|
||||
|
||||
#define M_PAR_REFINE_MIN_NAPOL_AS 'p'/**< flag for minimum proportion of apolar alpha spheres*/
|
||||
#define M_PAR_LONG_REFINE_MIN_NAPOL_AS "ratio_apol_spheres_pocket"/**< flag for minimum proportion of apolar alpha spheres*/
|
||||
#define M_PAR_BASIC_VOL_DIVISION 'b' /**< flag for the space approximation of the MC*/
|
||||
#define M_PAR_MIN_POCK_NB_ASPH 'i' /**< flag for the min number of alpha spheres in the pocket*/
|
||||
#define M_PAR_LONG_MIN_POCK_NB_ASPH "min_spheres_per_pocket" /**< flag for the min number of alpha spheres in the pocket*/
|
||||
|
||||
#define M_PAR_DB_RUN 'd' /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
|
||||
#define M_PAR_LONG_DB_RUN "pocket_descr_stdout" /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
|
||||
#define M_PAR_REFINE_MIN_NAPOL_AS 'p' /**< flag for minimum proportion of apolar alpha spheres*/
|
||||
#define M_PAR_LONG_REFINE_MIN_NAPOL_AS "ratio_apol_spheres_pocket" /**< flag for minimum proportion of apolar alpha spheres*/
|
||||
|
||||
#define M_PAR_CLUSTERING_METHOD 'C' /**<flag for specifying the clustering method to use for alpha sphere clustering*/
|
||||
#define M_PAR_LONG_CLUSTERING_METHOD "clustering_method" /**<flag for specifying the clustering method to use for alpha sphere clustering*/
|
||||
#define M_PAR_DB_RUN 'd' /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
|
||||
#define M_PAR_LONG_DB_RUN "pocket_descr_stdout" /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
|
||||
|
||||
#define M_PAR_DISTANCE_MEASURE 'e' /**<flag for specifying the distance measure*/
|
||||
#define M_PAR_CLUSTERING_METHOD 'C' /**<flag for specifying the clustering method to use for alpha sphere clustering*/
|
||||
#define M_PAR_LONG_CLUSTERING_METHOD "clustering_method" /**<flag for specifying the clustering method to use for alpha sphere clustering*/
|
||||
|
||||
#define M_PAR_DISTANCE_MEASURE 'e' /**<flag for specifying the distance measure*/
|
||||
#define M_PAR_LONG_DISTANCE_MEASURE "clustering_measure" /**<flag for specifying the distance measure*/
|
||||
|
||||
#define M_PAR_GRID_CALCULATION 'x' /**<flag for specifying the distance measure*/
|
||||
#define M_PAR_GRID_CALCULATION 'x' /**<flag for specifying the distance measure*/
|
||||
#define M_PAR_LONG_GRID_CALCULATION "calculate_interaction_grids" /**<flag for specifying the distance measure*/
|
||||
|
||||
#define M_PAR_TOPOLOGY 'y' /**<flag for specifying a molecular topology suitable for FF calculations*/
|
||||
#define M_PAR_TOPOLOGY 'y' /**<flag for specifying a molecular topology suitable for FF calculations*/
|
||||
#define M_PAR_LONG_TOPOLOGY "topology_file" /**<flag for specifying a molecular topology suitable for FF calculations*/
|
||||
|
||||
#define M_PAR_MODEL_FLAG 'l' /**<flag for analyzing a specific model in multimodel structures*/
|
||||
#define M_PAR_MODEL_FLAG 'l' /**<flag for analyzing a specific model in multimodel structures*/
|
||||
#define M_PAR_MODEL_FLAG_LONG "model_number" /**<flag for anamyzing a specific model in multimodel structures*/
|
||||
|
||||
#define M_PAR_CUSTOM_LIGAND 'r' /**flag, to define detection of explicit pockets around the specified ligand*/
|
||||
#define M_PAR_CUSTOM_LIGAND_LONG "custom_ligand"
|
||||
|
||||
#define M_PAR_CUSTOM_POCKET 'P' /** flag to define a specific location to calculate the binding site on*/
|
||||
#define M_PAR_CUSTOM_POCKET_LONG "custom_pocket"
|
||||
|
||||
#define M_PAR_DROP_CHAINS 'c' /**flag, to define which chain are dropped before the pocket detection*/
|
||||
#define M_PAR_DROP_CHAINS_LONG "drop_chains"
|
||||
|
||||
@@ -117,11 +123,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
#define M_PAR_CHAIN_AS_LIGAND 'a' /**flag, to define which chains are defined as a ligand*/
|
||||
#define M_PAR_CHAIN_AS_LIGAND_LONG "chain_as_ligand"
|
||||
|
||||
#define M_PAR_WRITE_MODE 'w' /**flag, to define which chains are defined as a ligand*/
|
||||
#define M_PAR_WRITE_MODE 'w' /**flag, to define write mode for pocket output: d->same as input, b or both -> both (pdb & cif), p or pdb ->pdb, m or cif -> mmcif*/
|
||||
#define M_PAR_WRITE_MODE_LONG "write_mode"
|
||||
|
||||
|
||||
|
||||
#define M_PAR_MIN_N_EXPLICIT_POCKET 'u'
|
||||
#define M_PAR_MIN_N_EXPLICIT_POCKET_LONG "min_n_explicit_pocket"
|
||||
|
||||
#define M_FP_USAGE "\n\
|
||||
***** USAGE (fpocket) *****\n\
|
||||
@@ -164,78 +170,85 @@ Pocket finding on a pdb - list of pdb - file(s): \n\
|
||||
\t c : centroid linkage clustering\n\
|
||||
\nSee the manual (man fpocket), or the full documentation for\n\
|
||||
more information.\n\
|
||||
***************************\n",M_PAR_PDB_FILE,M_PAR_LONG_PDB_FILE,M_PAR_PDB_LIST,M_PAR_LONG_PDB_LIST /**< the usage print content*/
|
||||
***************************\n", \
|
||||
M_PAR_PDB_FILE, M_PAR_LONG_PDB_FILE, M_PAR_PDB_LIST, M_PAR_LONG_PDB_LIST /**< the usage print content*/
|
||||
|
||||
/* --------------------------- PUBLIC STRUCTURES ---------------------------- */
|
||||
/**
|
||||
Structure containing all necessary parameters that can be changed by the user.
|
||||
This structure is commun to both programs (validation and pocket finding),
|
||||
This structure is commun to both programs (validation and pocket finding),
|
||||
even if the pocked finding programm doesn't need some parameters.
|
||||
*/
|
||||
typedef struct s_fparams
|
||||
{
|
||||
char pdb_path[M_MAX_PDB_NAME_LEN] ; /**< The pdb file */
|
||||
char topology_path[M_MAX_PDB_NAME_LEN]; /**< a putative topology file*/
|
||||
char custom_ligand[M_MAX_PDB_NAME_LEN]; /**container for custom pocket detection using a particular ligand*/
|
||||
char **pdb_lst ;
|
||||
char xlig_chain_code[3];
|
||||
char xlig_resname[3];
|
||||
int xlig_resnumber;
|
||||
char distance_measure;
|
||||
char clustering_method;
|
||||
int npdb ; /**< number of pdb files*/
|
||||
short fpocket_running;
|
||||
int flag_do_asa_and_volume_calculations; /**<if 1, asa and volume calculations are performed(slower), if 0, not*/
|
||||
int db_run; /**< flag for running fpocket for db population*/
|
||||
int model_number; /**<number of model to be analyzed>*/
|
||||
unsigned short flag_do_grid_calculations; /**< if 1 do grid calculations and output these*/
|
||||
int min_apol_neigh, /**< Min number of apolar neighbours for an a-sphere
|
||||
to be an apolar a-sphere */
|
||||
nb_mcv_iter, /**< Number of iteration for the Monte Carlo volume
|
||||
calculation */
|
||||
basic_volume_div, /**< Box division factor for basic volume calculation */
|
||||
min_pock_nb_asph; /**< Minimump number of alpha spheres per pocket */
|
||||
|
||||
char pdb_path[M_MAX_PDB_NAME_LEN]; /**< The pdb file */
|
||||
char topology_path[M_MAX_PDB_NAME_LEN]; /**< a putative topology file*/
|
||||
char custom_ligand[M_MAX_PDB_NAME_LEN]; /**container for custom pocket detection using a particular ligand*/
|
||||
char custom_pocket_arg[M_MAX_CUSTOM_POCKET_LEN];
|
||||
char **pdb_lst;
|
||||
char *xlig_chain_code;
|
||||
char *xlig_resname;
|
||||
int xlig_resnumber;
|
||||
int xpocket_n; /**number of residues defining the pocket to consider*/
|
||||
char *xpocket_chain_code;
|
||||
char *xpocket_insertion_code;
|
||||
unsigned short *xpocket_residue_number;
|
||||
char distance_measure;
|
||||
char clustering_method;
|
||||
int min_n_explicit_pocket_atoms; /**Minimum numer of atoms in contact with an alpha sphere part of the explicitly defined pocket in order to be considered as valid*/
|
||||
int npdb; /**< number of pdb files*/
|
||||
short fpocket_running;
|
||||
int flag_do_asa_and_volume_calculations; /**<if 1, asa and volume calculations are performed(slower), if 0, not*/
|
||||
int db_run; /**< flag for running fpocket for db population*/
|
||||
int model_number; /**<number of model to be analyzed>*/
|
||||
unsigned short flag_do_grid_calculations; /**< if 1 do grid calculations and output these*/
|
||||
int min_apol_neigh, /**< Min number of apolar neighbours for an a-sphere
|
||||
to be an apolar a-sphere */
|
||||
nb_mcv_iter, /**< Number of iteration for the Monte Carlo volume
|
||||
calculation */
|
||||
basic_volume_div; /**< Box division factor for basic volume calculation */
|
||||
unsigned short
|
||||
min_pock_nb_asph; /**< Minimump number of alpha spheres per pocket */
|
||||
|
||||
float clust_max_dist, /**< First clustering distance criteria */
|
||||
refine_min_apolar_asphere_prop, /**< Min proportion of apolar alpha
|
||||
spheres for each pocket */
|
||||
float clust_max_dist, /**< First clustering distance criteria */
|
||||
refine_min_apolar_asphere_prop, /**< Min proportion of apolar alpha
|
||||
spheres for each pocket */
|
||||
|
||||
asph_min_size, /**< Minimum size of alpha spheres to keep */
|
||||
min_as_density, /**<Minimum alpha sphere density for a pocket to be retained*/
|
||||
asph_max_size ; /**< Maximum size of alpha spheres to keep */
|
||||
char chain_delete[M_MAX_CHAINS_DELETE]; /*chosen chain to delete before calculation*/
|
||||
char chain_as_ligand[M_MAX_CHAINS_DELETE];
|
||||
int chain_is_kept;/* To choose if we keep the chains or not*/
|
||||
asph_min_size, /**< Minimum size of alpha spheres to keep */
|
||||
min_as_density, /**<Minimum alpha sphere density for a pocket to be retained*/
|
||||
asph_max_size; /**< Maximum size of alpha spheres to keep */
|
||||
char *chain_delete[M_MAX_CHAINS_DELETE]; /*chosen chain to delete before calculation*/
|
||||
unsigned short n_chains_to_delete;
|
||||
unsigned short n_chains_as_ligand;
|
||||
char *chain_as_ligand[M_MAX_CHAINS_DELETE];
|
||||
int chain_is_kept; /* To choose if we keep the chains or not*/
|
||||
char write_par[10]; /*write mode : d -> default | b -> both pdb and mmcif | p ->pdb | m -> mmcif*/
|
||||
|
||||
} s_fparams ;
|
||||
|
||||
|
||||
} s_fparams;
|
||||
|
||||
/* ------------------------------- PROTOTYPES ------------------------------- */
|
||||
|
||||
s_fparams* init_def_fparams(void) ;
|
||||
s_fparams* get_fpocket_args(int nargs, char **args) ;
|
||||
s_fparams *init_def_fparams(void);
|
||||
s_fparams *get_fpocket_args(int nargs, char **args);
|
||||
|
||||
int parse_clust_max_dist(char *str, s_fparams *p) ;
|
||||
int parse_clust_max_dist(char *str, s_fparams *p);
|
||||
int parse_clustering_method(char *str, s_fparams *p);
|
||||
|
||||
int parse_sclust_min_nneigh(char *str, s_fparams *p) ;
|
||||
int parse_min_apol_neigh(char *str, s_fparams *p) ;
|
||||
int parse_asph_min_size(char *str, s_fparams *p) ;
|
||||
int parse_asph_max_size(char *str, s_fparams *p) ;
|
||||
int parse_mc_niter(char *str, s_fparams *p) ;
|
||||
int parse_basic_vol_div(char *str, s_fparams *p) ;
|
||||
int parse_refine_dist(char *str, s_fparams *p) ;
|
||||
int parse_sclust_min_nneigh(char *str, s_fparams *p);
|
||||
int parse_min_apol_neigh(char *str, s_fparams *p);
|
||||
int parse_asph_min_size(char *str, s_fparams *p);
|
||||
int parse_asph_max_size(char *str, s_fparams *p);
|
||||
int parse_mc_niter(char *str, s_fparams *p);
|
||||
int parse_basic_vol_div(char *str, s_fparams *p);
|
||||
int parse_refine_dist(char *str, s_fparams *p);
|
||||
int parse_distance_measure(char *str, s_fparams *p);
|
||||
int parse_refine_minaap(char *str, s_fparams *p) ;
|
||||
int parse_min_pock_nb_asph(char *str, s_fparams *p) ;
|
||||
int parse_refine_minaap(char *str, s_fparams *p);
|
||||
int parse_min_pock_nb_asph(char *str, s_fparams *p);
|
||||
|
||||
int is_fpocket_opt(const char opt) ;
|
||||
int is_fpocket_opt(const char opt);
|
||||
|
||||
void free_fparams(s_fparams *p) ;
|
||||
void print_pocket_usage(FILE *f) ;
|
||||
void print_fparams(s_fparams *p, FILE *f) ;
|
||||
void free_fparams(s_fparams *p);
|
||||
void print_pocket_usage(FILE *f);
|
||||
void print_fparams(s_fparams *p, FILE *f);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,7 +31,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
/* --------------------------PROTOTYPES---------------------------------------*/
|
||||
|
||||
void refinePockets(c_lst_pockets *pockets, s_fparams *params);
|
||||
void apply_clustering(c_lst_pockets *pockets, s_fparams *params);
|
||||
void apply_clustering(c_lst_pockets *pockets);
|
||||
void reIndexPockets(c_lst_pockets *pockets);
|
||||
void dropSmallNpolarPockets(c_lst_pockets *pockets, s_fparams *params);
|
||||
void drop_tiny(c_lst_pockets *pockets, s_fparams *params) ;
|
||||
|
||||
@@ -90,6 +90,8 @@ typedef struct s_pdb
|
||||
char header[M_PDB_BUF_LEN] ; /**< Header container*/
|
||||
char fname[M_PDB_FILE_NAME_LEN]; /**< File name container*/
|
||||
float avg_bfactor; /**<overall average B factor*/
|
||||
float min_bfactor; /**<overall minimum B factor*/
|
||||
float max_bfactor; /**<overall maximum B factor*/
|
||||
int model_flag; /**<flag set to 1 if a particular model / conformation was read*/
|
||||
int model_number; /**<number of the model read in*/
|
||||
|
||||
@@ -140,10 +142,10 @@ s_min_max_coords *float_get_min_max_from_pdb(s_pdb *pdb);
|
||||
void init_coord_grid(s_pdb *pdb);
|
||||
void create_coord_grid(s_pdb *pdb);
|
||||
void fill_coord_grid(s_pdb *pdb);
|
||||
s_atom_ptr_list *init_atom_ptr_list(void);
|
||||
// s_atom_ptr_list *init_atom_ptr_list(void);
|
||||
|
||||
|
||||
short get_mm_type_from_element(char *symbol);
|
||||
int chains_to_delete(char *chains_selected, char current_line_chain, int is_chain_kept);
|
||||
int is_ligand(char *chains_selected, char current_line_chain);
|
||||
int chains_to_delete(char *chains_selected[20], char *current_line_chain, int is_chain_kept,unsigned short n_chains_to_delete);
|
||||
int is_ligand(char *chains_selected[20], char *current_line_chain, unsigned short n_chains_as_ligand);
|
||||
#endif
|
||||
|
||||
@@ -33,8 +33,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
/* ------------------------------- PUBLIC MACROS ---------------------------- */
|
||||
|
||||
#define M_MAX_PDB_NAME_LEN 200 /**< maximum pdb filename length*/
|
||||
|
||||
#define M_MAX_PDB_NAME_LEN 2000 /**< maximum pdb filename length*/
|
||||
#define M_MAX_CUSTOM_POCKET_LEN 8000 /** maximum length for a custom pocket string*/
|
||||
#define M_SIGN 1
|
||||
#define M_NO_SIGN 0
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef DH_VORONOI
|
||||
#define DH_VORONOI
|
||||
|
||||
@@ -27,7 +26,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
#include "calc.h"
|
||||
#include "utils.h"
|
||||
|
||||
|
||||
#include "../src/qhull/src//qvoronoi/qvoronoi.h"
|
||||
#include "../src/qhull/src/qconvex/qconvex.h"
|
||||
|
||||
@@ -36,62 +34,61 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
/* ----------------------------------MACROS--------------------------------- */
|
||||
|
||||
#define M_VORONOI_SUCCESS 0 /**< alpha sphere type - hydrophobic alpha sphere */
|
||||
#define M_APOLAR_AS 0 /**< alpha sphere type - hydrophilic alpha sphere */
|
||||
#define M_POLAR_AS 1
|
||||
#define M_APOLAR_AS 0 /**< alpha sphere type - hydrophilic alpha sphere */
|
||||
#define M_POLAR_AS 1
|
||||
#define M_PREC_TOLERANCE 1e-3 /**< tolerance for coordinate imprecion during alpha sphere search*/
|
||||
|
||||
#define M_BUFSIZE 1e6 /**< buffer size*/
|
||||
#define M_N_REPLICAS 1 /**< currently not used anymore : number of times we do the voronoi tesselation for translated coordinates to avoid precision problems with qhull */
|
||||
#define M_BUFSIZE 1e6 /**< buffer size*/
|
||||
#define M_N_REPLICAS 1 /**< currently not used anymore : number of times we do the voronoi tesselation for translated coordinates to avoid precision problems with qhull */
|
||||
|
||||
/* --------------------------------STRUCTURES-------------------------------- */
|
||||
|
||||
/**
|
||||
Container of the Voronoi vertice
|
||||
*/
|
||||
typedef struct s_vvertice
|
||||
typedef struct s_vvertice
|
||||
{
|
||||
int resid ; /**< residue ID*/
|
||||
int id, /**< vertice ID*/
|
||||
seen, /**< Say if we have seen this vertice during a neighbor search */
|
||||
qhullId, /**< ID of the vertice in qhull output*/
|
||||
type ; /**< 0 if apolar contacts, 1 if polar */
|
||||
int resid; /**< residue ID*/
|
||||
int id, /**< vertice ID*/
|
||||
seen, /**< Say if we have seen this vertice during a neighbor search */
|
||||
qhullId, /**< ID of the vertice in qhull output*/
|
||||
type; /**< 0 if apolar contacts, 1 if polar */
|
||||
|
||||
float ray ; /**< Ray of voronoi vertice */
|
||||
float x, /**< X coord */
|
||||
y, /**< Y coord */
|
||||
z ; /**< Z coord */
|
||||
|
||||
int sort_x; /**< Index in the sorted tab by X coord */
|
||||
int apol_neighbours; /**< number of neighbouring apolar alpha spheres */
|
||||
float ray; /**< Ray of voronoi vertice */
|
||||
float x, /**< X coord */
|
||||
y, /**< Y coord */
|
||||
z; /**< Z coord */
|
||||
|
||||
int vneigh[4] ; /**< vertice neighbours (4 contact atoms)*/
|
||||
s_atm *neigh[4] ; /**< The theorical 4 contacted atoms */
|
||||
|
||||
float bary[3] ; /**< Barycenter of the pocket */
|
||||
float electrostatic_energy; /**<estimate of electrostatic energy around the alpha sphere */
|
||||
int sort_x; /**< Index in the sorted tab by X coord */
|
||||
int apol_neighbours; /**< number of neighbouring apolar alpha spheres */
|
||||
|
||||
} s_vvertice ;
|
||||
int vneigh[4]; /**< vertice neighbours (4 contact atoms)*/
|
||||
s_atm *neigh[4]; /**< The theorical 4 contacted atoms */
|
||||
|
||||
float bary[3]; /**< Barycenter of the pocket */
|
||||
float electrostatic_energy; /**<estimate of electrostatic energy around the alpha sphere */
|
||||
|
||||
} s_vvertice;
|
||||
|
||||
/**
|
||||
vertice list container
|
||||
*/
|
||||
typedef struct s_lst_vvertice
|
||||
{
|
||||
s_vvertice *vertices ; /**< List of voronoi vertices */
|
||||
s_vvertice **pvertices ; /**< list of pointers to vertices*/
|
||||
s_vvertice *vertices; /**< List of voronoi vertices */
|
||||
s_vvertice **pvertices; /**< list of pointers to vertices*/
|
||||
|
||||
/* Indexes of heavy atoms used as input for qhull in the s_pdb list of atoms */
|
||||
int *h_tr;
|
||||
int *h_tr;
|
||||
|
||||
/* Size of h_tr */
|
||||
int n_h_tr;
|
||||
int n_h_tr;
|
||||
|
||||
int *tr, /**< translation of voronoi vertice indices*/
|
||||
nvert, /**< no of vertices*/
|
||||
qhullSize ; /**< number of vertices in qhull*/
|
||||
|
||||
} s_lst_vvertice ;
|
||||
int *tr, /**< translation of voronoi vertice indices*/
|
||||
nvert, /**< no of vertices*/
|
||||
qhullSize; /**< number of vertices in qhull*/
|
||||
|
||||
} s_lst_vvertice;
|
||||
|
||||
/**
|
||||
* clusterlib vertice info container
|
||||
@@ -99,63 +96,57 @@ typedef struct s_lst_vvertice
|
||||
|
||||
typedef struct s_clusterlib_vertices
|
||||
{
|
||||
double ** pos; /**< Positions (xyz) of Voronoi vertices*/
|
||||
int ** mask; /**< Mask for position array*/
|
||||
double weight[3]; /**< column (coordinate weights for distance matrix calculation*/
|
||||
int transpose; /**< cluster by rows (transpose=0) or column(transpose=1)*/
|
||||
char dist; /**< char defining distance measure used*/
|
||||
char method; /**< char defining method used (clustering)*/
|
||||
|
||||
double **pos; /**< Positions (xyz) of Voronoi vertices*/
|
||||
int **mask; /**< Mask for position array*/
|
||||
double weight[3]; /**< column (coordinate weights for distance matrix calculation*/
|
||||
int transpose; /**< cluster by rows (transpose=0) or column(transpose=1)*/
|
||||
char dist; /**< char defining distance measure used*/
|
||||
char method; /**< char defining method used (clustering)*/
|
||||
|
||||
|
||||
} s_clusterlib_vertices ;
|
||||
} s_clusterlib_vertices;
|
||||
|
||||
/* -----------------------------PROTOTYPES----------------------------------- */
|
||||
|
||||
s_lst_vvertice* load_vvertices_DEPRECATED(s_pdb *pdb, int min_apol_neigh,
|
||||
float ashape_min_size, float ashape_max_size,
|
||||
float xshift,float yshift, float zshift) ;
|
||||
s_lst_vvertice* load_vvertices(s_pdb *pdb, int min_apol_neigh, float asph_min_size, float asph_max_size,float xshift,float yshift,float zshift);
|
||||
|
||||
s_lst_vvertice *load_vvertices(s_pdb *pdb, s_fparams *params, float xshift, float yshift, float zshift);
|
||||
|
||||
void fill_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms, int natoms,
|
||||
int min_apol_neigh, float asph_min_size, float asph_max_size,
|
||||
float xshift, float yshift, float zshift,float avg_bfactor,s_pdb *pdb) ;
|
||||
s_fparams *params,
|
||||
float xshift, float yshift, float zshift, float avg_bfactor, s_pdb *pdb);
|
||||
|
||||
|
||||
void add_missing_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms,
|
||||
int min_apol_neigh, float asph_min_size, float asph_max_size,
|
||||
float xshift, float yshift,float zshift, float avg_bfactor,s_pdb *pdb);
|
||||
void add_missing_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms,
|
||||
s_fparams *params,
|
||||
float xshift, float yshift, float zshift, float avg_bfactor, s_pdb *pdb);
|
||||
|
||||
unsigned short check_if_similar_vertice_in_list(s_vvertice *v, s_lst_vvertice *lvvert);
|
||||
void add_vertice_to_vertice_list(s_lst_vvertice *lvvert,s_vvertice *v);
|
||||
void copy_vertice(s_vvertice *v1,s_vvertice *v2, int n);
|
||||
void add_vertice_to_vertice_list(s_lst_vvertice *lvvert, s_vvertice *v);
|
||||
void copy_vertice(s_vvertice *v1, s_vvertice *v2, int n);
|
||||
|
||||
float testVvertice(float xyz[3], int curNbIdx[4], s_atm *atoms,
|
||||
float min_asph_size, float max_asph_size,
|
||||
s_lst_vvertice *lvvert,
|
||||
float xshift, float yshift, float zshift,float avg_bfactor,s_pdb *pdb);
|
||||
float testVvertice(float xyz[3], int curNbIdx[4], s_atm *atoms,
|
||||
s_fparams *params,
|
||||
s_lst_vvertice *lvvert,
|
||||
float xshift, float yshift, float zshift, float avg_bfactor, s_pdb *pdb);
|
||||
|
||||
float atom_in_explicit_pocket(s_atm *cura, s_fparams *params);
|
||||
|
||||
s_lst_vvertice *compare_vvertice_shifted_lists(s_lst_vvertice *lvvert,
|
||||
s_lst_vvertice *list_shifted,float xshift,float yshift,float zshift);
|
||||
|
||||
s_lst_vvertice *list_shifted, float xshift, float yshift, float zshift);
|
||||
|
||||
double **get_3d_array_from_vvertice_list(s_lst_vvertice *lvvert);
|
||||
s_clusterlib_vertices *prepare_vertices_for_cluster_lib(s_lst_vvertice *lvvert,char c_method,char d_method);
|
||||
void set_barycenter(s_vvertice *v) ;
|
||||
int is_in_lst_vert(s_vvertice **lst_vert, int nb_vert, int v_id) ;
|
||||
s_clusterlib_vertices *prepare_vertices_for_cluster_lib(s_lst_vvertice *lvvert, char c_method, char d_method);
|
||||
void set_barycenter(s_vvertice *v);
|
||||
int is_in_lst_vert(s_vvertice **lst_vert, int nb_vert, int v_id);
|
||||
int is_in_lst_vert_p(s_vvertice **lst_vert, int nb_vert, s_vvertice *vert);
|
||||
|
||||
void write_pqr_vert(FILE *f, s_vvertice *v, int i) ;
|
||||
void write_pdb_vert(FILE *f, s_vvertice *v, int i) ;
|
||||
void write_pqr_vert(FILE *f, s_vvertice *v, int i);
|
||||
void write_pdb_vert(FILE *f, s_vvertice *v, int i);
|
||||
void write_mmcif_vert(FILE *f, s_vvertice *v, int i);
|
||||
float get_verts_volume_ptr(s_vvertice **verts, int nvert, int niter,float correct);
|
||||
float get_verts_volume_ptr(s_vvertice **verts, int nvert, int niter, float correct);
|
||||
float get_convex_hull_volume(s_vvertice **verts, int nvert);
|
||||
|
||||
void print_vvertices(FILE *f, s_lst_vvertice *lvvert) ;
|
||||
void free_vert_lst(s_lst_vvertice *lvvert) ;
|
||||
void print_vvertices(FILE *f, s_lst_vvertice *lvvert);
|
||||
void free_vert_lst(s_lst_vvertice *lvvert);
|
||||
|
||||
void transferClustersToVertices(int **clusterIds,s_lst_vvertice *lvert);
|
||||
void transferClustersToVertices(int **clusterIds, s_lst_vvertice *lvert);
|
||||
|
||||
double frand_a_b(double a, double b);
|
||||
int free_cluster_lib_vertices(s_clusterlib_vertices *clusterlib_vertices, int nvert);
|
||||
|
||||
@@ -28,6 +28,6 @@ void write_pqr_atom_line(FILE *f, const char *rec_name, int id, const char *atom
|
||||
|
||||
void write_mmcif_atom_line(FILE *f, const char rec_name[], int id, const char atom_name[],
|
||||
char alt_loc, const char res_name[], const char chain[],
|
||||
int res_id, const char insert, float x, float y, float z, float occ,
|
||||
int res_id, const char label_asym_id[],int label_seq_id, const char insert, float x, float y, float z, float occ,
|
||||
float bfactor, int abpa, const char *symbol, int charge,float abpa_prob) ;
|
||||
#endif
|
||||
|
||||
@@ -40,6 +40,7 @@ void write_pdb_atoms(FILE *f, s_atm *atoms, int natoms) ;
|
||||
void write_each_pocket_for_DB(const char out_path[], c_lst_pockets *pockets,s_pdb *pdb);
|
||||
void write_pocket_pqr_DB(const char out[], s_pocket *pocket);
|
||||
void write_pocket_pdb_DB(const char out[], s_pocket *pocket,s_pdb *pdb);
|
||||
void write_pocket_mmcif_DB(const char out[], s_pocket *pocket, s_pdb *pdb);
|
||||
|
||||
void write_mmcif_atoms(FILE *f, s_atm *atoms, int natoms);
|
||||
void write_pockets_single_mmcif(const char out[], s_pdb *pdb, c_lst_pockets *pockets);
|
||||
|
||||
4
makefile
4
makefile
@@ -1,7 +1,7 @@
|
||||
#------------------------------------------------------------
|
||||
# Makefile.
|
||||
#------------------------------------------------------------
|
||||
#ARCH = MACOSXX86_64
|
||||
# ARCH = MACOSXX86_64
|
||||
ARCH = LINUXAMD64
|
||||
export ARCH
|
||||
|
||||
@@ -47,7 +47,7 @@ COS = -DM_OS_LINUX
|
||||
CDEBUG = -DMNO_MEM_DEBUG
|
||||
CWARN = -W -Wextra -Wwrite-strings -Wstrict-prototypes
|
||||
|
||||
CFLAGS = $(CWARN) $(COS) $(CDEBUG) -O2 -g -pg -std=c99 -I$(PLUGINDIR)/include -I$(PLUGINDIR)/$(ARCH)/molfile
|
||||
CFLAGS = $(CWARN) $(COS) $(CDEBUG) -O2 -g -pg -std=gnu99 -I$(PLUGINDIR)/include -I$(PLUGINDIR)/$(ARCH)/molfile
|
||||
QCFLAGS = -O -g -pg -ansi
|
||||
|
||||
LGSL = -L$(PATH_GSL)lib -lgsl -lgslcblas
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/abinitplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/abinitplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/amiraplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/amiraplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/avsplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/avsplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/babelplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/babelplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/basissetplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/basissetplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/bgfplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/bgfplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/binposplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/binposplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/biomoccaplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/biomoccaplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/brixplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/brixplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/carplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/carplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/ccp4plugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/ccp4plugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/corplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/corplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/cpmdplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/cpmdplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/crdplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/crdplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/cubeplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/cubeplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/dcdplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/dcdplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/dlpolyplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/dlpolyplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/dsn6plugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/dsn6plugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/dtrplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/dtrplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/dxplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/dxplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/edmplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/edmplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/fs4plugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/fs4plugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/gamessplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/gamessplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/graspplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/graspplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/grdplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/grdplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/gridplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/gridplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/gromacsplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/gromacsplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/jsplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/jsplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/lammpsplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/lammpsplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/libmolfile_plugin.a
Normal file
BIN
plugins/MACOSXARM64/molfile/libmolfile_plugin.a
Normal file
Binary file not shown.
415
plugins/MACOSXARM64/molfile/libmolfile_plugin.h
Normal file
415
plugins/MACOSXARM64/molfile/libmolfile_plugin.h
Normal file
@@ -0,0 +1,415 @@
|
||||
#ifndef LIBMOLFILE_PLUGIN_H
|
||||
#define LIBMOLFILE_PLUGIN_H
|
||||
#include "vmdplugin.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern int molfile_abinitplugin_init(void);
|
||||
extern int molfile_abinitplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_abinitplugin_fini(void);
|
||||
extern int molfile_amiraplugin_init(void);
|
||||
extern int molfile_amiraplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_amiraplugin_fini(void);
|
||||
extern int molfile_avsplugin_init(void);
|
||||
extern int molfile_avsplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_avsplugin_fini(void);
|
||||
extern int molfile_babelplugin_init(void);
|
||||
extern int molfile_babelplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_babelplugin_fini(void);
|
||||
extern int molfile_basissetplugin_init(void);
|
||||
extern int molfile_basissetplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_basissetplugin_fini(void);
|
||||
extern int molfile_bgfplugin_init(void);
|
||||
extern int molfile_bgfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_bgfplugin_fini(void);
|
||||
extern int molfile_binposplugin_init(void);
|
||||
extern int molfile_binposplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_binposplugin_fini(void);
|
||||
extern int molfile_biomoccaplugin_init(void);
|
||||
extern int molfile_biomoccaplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_biomoccaplugin_fini(void);
|
||||
extern int molfile_brixplugin_init(void);
|
||||
extern int molfile_brixplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_brixplugin_fini(void);
|
||||
extern int molfile_carplugin_init(void);
|
||||
extern int molfile_carplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_carplugin_fini(void);
|
||||
extern int molfile_ccp4plugin_init(void);
|
||||
extern int molfile_ccp4plugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_ccp4plugin_fini(void);
|
||||
extern int molfile_corplugin_init(void);
|
||||
extern int molfile_corplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_corplugin_fini(void);
|
||||
extern int molfile_cpmdplugin_init(void);
|
||||
extern int molfile_cpmdplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_cpmdplugin_fini(void);
|
||||
extern int molfile_crdplugin_init(void);
|
||||
extern int molfile_crdplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_crdplugin_fini(void);
|
||||
extern int molfile_cubeplugin_init(void);
|
||||
extern int molfile_cubeplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_cubeplugin_fini(void);
|
||||
extern int molfile_dcdplugin_init(void);
|
||||
extern int molfile_dcdplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dcdplugin_fini(void);
|
||||
extern int molfile_dlpolyplugin_init(void);
|
||||
extern int molfile_dlpolyplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dlpolyplugin_fini(void);
|
||||
extern int molfile_dsn6plugin_init(void);
|
||||
extern int molfile_dsn6plugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dsn6plugin_fini(void);
|
||||
extern int molfile_dxplugin_init(void);
|
||||
extern int molfile_dxplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dxplugin_fini(void);
|
||||
extern int molfile_edmplugin_init(void);
|
||||
extern int molfile_edmplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_edmplugin_fini(void);
|
||||
extern int molfile_fs4plugin_init(void);
|
||||
extern int molfile_fs4plugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_fs4plugin_fini(void);
|
||||
extern int molfile_gamessplugin_init(void);
|
||||
extern int molfile_gamessplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_gamessplugin_fini(void);
|
||||
extern int molfile_graspplugin_init(void);
|
||||
extern int molfile_graspplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_graspplugin_fini(void);
|
||||
extern int molfile_grdplugin_init(void);
|
||||
extern int molfile_grdplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_grdplugin_fini(void);
|
||||
extern int molfile_gridplugin_init(void);
|
||||
extern int molfile_gridplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_gridplugin_fini(void);
|
||||
extern int molfile_gromacsplugin_init(void);
|
||||
extern int molfile_gromacsplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_gromacsplugin_fini(void);
|
||||
extern int molfile_jsplugin_init(void);
|
||||
extern int molfile_jsplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_jsplugin_fini(void);
|
||||
extern int molfile_lammpsplugin_init(void);
|
||||
extern int molfile_lammpsplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_lammpsplugin_fini(void);
|
||||
extern int molfile_mapplugin_init(void);
|
||||
extern int molfile_mapplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_mapplugin_fini(void);
|
||||
extern int molfile_mdfplugin_init(void);
|
||||
extern int molfile_mdfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_mdfplugin_fini(void);
|
||||
extern int molfile_mol2plugin_init(void);
|
||||
extern int molfile_mol2plugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_mol2plugin_fini(void);
|
||||
extern int molfile_moldenplugin_init(void);
|
||||
extern int molfile_moldenplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_moldenplugin_fini(void);
|
||||
extern int molfile_molemeshplugin_init(void);
|
||||
extern int molfile_molemeshplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_molemeshplugin_fini(void);
|
||||
extern int molfile_msmsplugin_init(void);
|
||||
extern int molfile_msmsplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_msmsplugin_fini(void);
|
||||
extern int molfile_namdbinplugin_init(void);
|
||||
extern int molfile_namdbinplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_namdbinplugin_fini(void);
|
||||
extern int molfile_offplugin_init(void);
|
||||
extern int molfile_offplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_offplugin_fini(void);
|
||||
extern int molfile_parm7plugin_init(void);
|
||||
extern int molfile_parm7plugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_parm7plugin_fini(void);
|
||||
extern int molfile_parmplugin_init(void);
|
||||
extern int molfile_parmplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_parmplugin_fini(void);
|
||||
extern int molfile_pbeqplugin_init(void);
|
||||
extern int molfile_pbeqplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_pbeqplugin_fini(void);
|
||||
extern int molfile_pdbplugin_init(void);
|
||||
extern int molfile_pdbplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_pdbplugin_fini(void);
|
||||
extern int molfile_pdbxplugin_init(void);
|
||||
extern int molfile_pdbxplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_pdbxplugin_fini(void);
|
||||
extern int molfile_phiplugin_init(void);
|
||||
extern int molfile_phiplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_phiplugin_fini(void);
|
||||
extern int molfile_pltplugin_init(void);
|
||||
extern int molfile_pltplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_pltplugin_fini(void);
|
||||
extern int molfile_plyplugin_init(void);
|
||||
extern int molfile_plyplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_plyplugin_fini(void);
|
||||
extern int molfile_pqrplugin_init(void);
|
||||
extern int molfile_pqrplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_pqrplugin_fini(void);
|
||||
extern int molfile_psfplugin_init(void);
|
||||
extern int molfile_psfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_psfplugin_fini(void);
|
||||
extern int molfile_raster3dplugin_init(void);
|
||||
extern int molfile_raster3dplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_raster3dplugin_fini(void);
|
||||
extern int molfile_rst7plugin_init(void);
|
||||
extern int molfile_rst7plugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_rst7plugin_fini(void);
|
||||
extern int molfile_situsplugin_init(void);
|
||||
extern int molfile_situsplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_situsplugin_fini(void);
|
||||
extern int molfile_spiderplugin_init(void);
|
||||
extern int molfile_spiderplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_spiderplugin_fini(void);
|
||||
extern int molfile_stlplugin_init(void);
|
||||
extern int molfile_stlplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_stlplugin_fini(void);
|
||||
extern int molfile_tinkerplugin_init(void);
|
||||
extern int molfile_tinkerplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_tinkerplugin_fini(void);
|
||||
extern int molfile_uhbdplugin_init(void);
|
||||
extern int molfile_uhbdplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_uhbdplugin_fini(void);
|
||||
extern int molfile_vaspchgcarplugin_init(void);
|
||||
extern int molfile_vaspchgcarplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vaspchgcarplugin_fini(void);
|
||||
extern int molfile_vaspoutcarplugin_init(void);
|
||||
extern int molfile_vaspoutcarplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vaspoutcarplugin_fini(void);
|
||||
extern int molfile_vaspparchgplugin_init(void);
|
||||
extern int molfile_vaspparchgplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vaspparchgplugin_fini(void);
|
||||
extern int molfile_vaspposcarplugin_init(void);
|
||||
extern int molfile_vaspposcarplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vaspposcarplugin_fini(void);
|
||||
extern int molfile_vasp5xdatcarplugin_init(void);
|
||||
extern int molfile_vasp5xdatcarplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vasp5xdatcarplugin_fini(void);
|
||||
extern int molfile_vaspxdatcarplugin_init(void);
|
||||
extern int molfile_vaspxdatcarplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vaspxdatcarplugin_fini(void);
|
||||
extern int molfile_vaspxmlplugin_init(void);
|
||||
extern int molfile_vaspxmlplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vaspxmlplugin_fini(void);
|
||||
extern int molfile_vtkplugin_init(void);
|
||||
extern int molfile_vtkplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vtkplugin_fini(void);
|
||||
extern int molfile_xbgfplugin_init(void);
|
||||
extern int molfile_xbgfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_xbgfplugin_fini(void);
|
||||
extern int molfile_xsfplugin_init(void);
|
||||
extern int molfile_xsfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_xsfplugin_fini(void);
|
||||
extern int molfile_xyzplugin_init(void);
|
||||
extern int molfile_xyzplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_xyzplugin_fini(void);
|
||||
extern int molfile_dtrplugin_init(void);
|
||||
extern int molfile_dtrplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dtrplugin_fini(void);
|
||||
extern int molfile_maeffplugin_init(void);
|
||||
extern int molfile_maeffplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_maeffplugin_fini(void);
|
||||
|
||||
#define MOLFILE_INIT_ALL \
|
||||
molfile_abinitplugin_init(); \
|
||||
molfile_amiraplugin_init(); \
|
||||
molfile_avsplugin_init(); \
|
||||
molfile_babelplugin_init(); \
|
||||
molfile_basissetplugin_init(); \
|
||||
molfile_bgfplugin_init(); \
|
||||
molfile_binposplugin_init(); \
|
||||
molfile_biomoccaplugin_init(); \
|
||||
molfile_brixplugin_init(); \
|
||||
molfile_carplugin_init(); \
|
||||
molfile_ccp4plugin_init(); \
|
||||
molfile_corplugin_init(); \
|
||||
molfile_cpmdplugin_init(); \
|
||||
molfile_crdplugin_init(); \
|
||||
molfile_cubeplugin_init(); \
|
||||
molfile_dcdplugin_init(); \
|
||||
molfile_dlpolyplugin_init(); \
|
||||
molfile_dsn6plugin_init(); \
|
||||
molfile_dxplugin_init(); \
|
||||
molfile_edmplugin_init(); \
|
||||
molfile_fs4plugin_init(); \
|
||||
molfile_gamessplugin_init(); \
|
||||
molfile_graspplugin_init(); \
|
||||
molfile_grdplugin_init(); \
|
||||
molfile_gridplugin_init(); \
|
||||
molfile_gromacsplugin_init(); \
|
||||
molfile_jsplugin_init(); \
|
||||
molfile_lammpsplugin_init(); \
|
||||
molfile_mapplugin_init(); \
|
||||
molfile_mdfplugin_init(); \
|
||||
molfile_mol2plugin_init(); \
|
||||
molfile_moldenplugin_init(); \
|
||||
molfile_molemeshplugin_init(); \
|
||||
molfile_msmsplugin_init(); \
|
||||
molfile_namdbinplugin_init(); \
|
||||
molfile_offplugin_init(); \
|
||||
molfile_parm7plugin_init(); \
|
||||
molfile_parmplugin_init(); \
|
||||
molfile_pbeqplugin_init(); \
|
||||
molfile_pdbplugin_init(); \
|
||||
molfile_pdbxplugin_init(); \
|
||||
molfile_phiplugin_init(); \
|
||||
molfile_pltplugin_init(); \
|
||||
molfile_plyplugin_init(); \
|
||||
molfile_pqrplugin_init(); \
|
||||
molfile_psfplugin_init(); \
|
||||
molfile_raster3dplugin_init(); \
|
||||
molfile_rst7plugin_init(); \
|
||||
molfile_situsplugin_init(); \
|
||||
molfile_spiderplugin_init(); \
|
||||
molfile_stlplugin_init(); \
|
||||
molfile_tinkerplugin_init(); \
|
||||
molfile_uhbdplugin_init(); \
|
||||
molfile_vaspchgcarplugin_init(); \
|
||||
molfile_vaspoutcarplugin_init(); \
|
||||
molfile_vaspparchgplugin_init(); \
|
||||
molfile_vaspposcarplugin_init(); \
|
||||
molfile_vasp5xdatcarplugin_init(); \
|
||||
molfile_vaspxdatcarplugin_init(); \
|
||||
molfile_vaspxmlplugin_init(); \
|
||||
molfile_vtkplugin_init(); \
|
||||
molfile_xbgfplugin_init(); \
|
||||
molfile_xsfplugin_init(); \
|
||||
molfile_xyzplugin_init(); \
|
||||
molfile_dtrplugin_init(); \
|
||||
molfile_maeffplugin_init(); \
|
||||
|
||||
#define MOLFILE_REGISTER_ALL(v, cb) \
|
||||
molfile_abinitplugin_register(v, cb); \
|
||||
molfile_amiraplugin_register(v, cb); \
|
||||
molfile_avsplugin_register(v, cb); \
|
||||
molfile_babelplugin_register(v, cb); \
|
||||
molfile_basissetplugin_register(v, cb); \
|
||||
molfile_bgfplugin_register(v, cb); \
|
||||
molfile_binposplugin_register(v, cb); \
|
||||
molfile_biomoccaplugin_register(v, cb); \
|
||||
molfile_brixplugin_register(v, cb); \
|
||||
molfile_carplugin_register(v, cb); \
|
||||
molfile_ccp4plugin_register(v, cb); \
|
||||
molfile_corplugin_register(v, cb); \
|
||||
molfile_cpmdplugin_register(v, cb); \
|
||||
molfile_crdplugin_register(v, cb); \
|
||||
molfile_cubeplugin_register(v, cb); \
|
||||
molfile_dcdplugin_register(v, cb); \
|
||||
molfile_dlpolyplugin_register(v, cb); \
|
||||
molfile_dsn6plugin_register(v, cb); \
|
||||
molfile_dxplugin_register(v, cb); \
|
||||
molfile_edmplugin_register(v, cb); \
|
||||
molfile_fs4plugin_register(v, cb); \
|
||||
molfile_gamessplugin_register(v, cb); \
|
||||
molfile_graspplugin_register(v, cb); \
|
||||
molfile_grdplugin_register(v, cb); \
|
||||
molfile_gridplugin_register(v, cb); \
|
||||
molfile_gromacsplugin_register(v, cb); \
|
||||
molfile_jsplugin_register(v, cb); \
|
||||
molfile_lammpsplugin_register(v, cb); \
|
||||
molfile_mapplugin_register(v, cb); \
|
||||
molfile_mdfplugin_register(v, cb); \
|
||||
molfile_mol2plugin_register(v, cb); \
|
||||
molfile_moldenplugin_register(v, cb); \
|
||||
molfile_molemeshplugin_register(v, cb); \
|
||||
molfile_msmsplugin_register(v, cb); \
|
||||
molfile_namdbinplugin_register(v, cb); \
|
||||
molfile_offplugin_register(v, cb); \
|
||||
molfile_parm7plugin_register(v, cb); \
|
||||
molfile_parmplugin_register(v, cb); \
|
||||
molfile_pbeqplugin_register(v, cb); \
|
||||
molfile_pdbplugin_register(v, cb); \
|
||||
molfile_pdbxplugin_register(v, cb); \
|
||||
molfile_phiplugin_register(v, cb); \
|
||||
molfile_pltplugin_register(v, cb); \
|
||||
molfile_plyplugin_register(v, cb); \
|
||||
molfile_pqrplugin_register(v, cb); \
|
||||
molfile_psfplugin_register(v, cb); \
|
||||
molfile_raster3dplugin_register(v, cb); \
|
||||
molfile_rst7plugin_register(v, cb); \
|
||||
molfile_situsplugin_register(v, cb); \
|
||||
molfile_spiderplugin_register(v, cb); \
|
||||
molfile_stlplugin_register(v, cb); \
|
||||
molfile_tinkerplugin_register(v, cb); \
|
||||
molfile_uhbdplugin_register(v, cb); \
|
||||
molfile_vaspchgcarplugin_register(v, cb); \
|
||||
molfile_vaspoutcarplugin_register(v, cb); \
|
||||
molfile_vaspparchgplugin_register(v, cb); \
|
||||
molfile_vaspposcarplugin_register(v, cb); \
|
||||
molfile_vasp5xdatcarplugin_register(v, cb); \
|
||||
molfile_vaspxdatcarplugin_register(v, cb); \
|
||||
molfile_vaspxmlplugin_register(v, cb); \
|
||||
molfile_vtkplugin_register(v, cb); \
|
||||
molfile_xbgfplugin_register(v, cb); \
|
||||
molfile_xsfplugin_register(v, cb); \
|
||||
molfile_xyzplugin_register(v, cb); \
|
||||
molfile_dtrplugin_register(v, cb); \
|
||||
molfile_maeffplugin_register(v, cb); \
|
||||
|
||||
#define MOLFILE_FINI_ALL \
|
||||
molfile_abinitplugin_fini(); \
|
||||
molfile_amiraplugin_fini(); \
|
||||
molfile_avsplugin_fini(); \
|
||||
molfile_babelplugin_fini(); \
|
||||
molfile_basissetplugin_fini(); \
|
||||
molfile_bgfplugin_fini(); \
|
||||
molfile_binposplugin_fini(); \
|
||||
molfile_biomoccaplugin_fini(); \
|
||||
molfile_brixplugin_fini(); \
|
||||
molfile_carplugin_fini(); \
|
||||
molfile_ccp4plugin_fini(); \
|
||||
molfile_corplugin_fini(); \
|
||||
molfile_cpmdplugin_fini(); \
|
||||
molfile_crdplugin_fini(); \
|
||||
molfile_cubeplugin_fini(); \
|
||||
molfile_dcdplugin_fini(); \
|
||||
molfile_dlpolyplugin_fini(); \
|
||||
molfile_dsn6plugin_fini(); \
|
||||
molfile_dxplugin_fini(); \
|
||||
molfile_edmplugin_fini(); \
|
||||
molfile_fs4plugin_fini(); \
|
||||
molfile_gamessplugin_fini(); \
|
||||
molfile_graspplugin_fini(); \
|
||||
molfile_grdplugin_fini(); \
|
||||
molfile_gridplugin_fini(); \
|
||||
molfile_gromacsplugin_fini(); \
|
||||
molfile_jsplugin_fini(); \
|
||||
molfile_lammpsplugin_fini(); \
|
||||
molfile_mapplugin_fini(); \
|
||||
molfile_mdfplugin_fini(); \
|
||||
molfile_mol2plugin_fini(); \
|
||||
molfile_moldenplugin_fini(); \
|
||||
molfile_molemeshplugin_fini(); \
|
||||
molfile_msmsplugin_fini(); \
|
||||
molfile_namdbinplugin_fini(); \
|
||||
molfile_offplugin_fini(); \
|
||||
molfile_parm7plugin_fini(); \
|
||||
molfile_parmplugin_fini(); \
|
||||
molfile_pbeqplugin_fini(); \
|
||||
molfile_pdbplugin_fini(); \
|
||||
molfile_pdbxplugin_fini(); \
|
||||
molfile_phiplugin_fini(); \
|
||||
molfile_pltplugin_fini(); \
|
||||
molfile_plyplugin_fini(); \
|
||||
molfile_pqrplugin_fini(); \
|
||||
molfile_psfplugin_fini(); \
|
||||
molfile_raster3dplugin_fini(); \
|
||||
molfile_rst7plugin_fini(); \
|
||||
molfile_situsplugin_fini(); \
|
||||
molfile_spiderplugin_fini(); \
|
||||
molfile_stlplugin_fini(); \
|
||||
molfile_tinkerplugin_fini(); \
|
||||
molfile_uhbdplugin_fini(); \
|
||||
molfile_vaspchgcarplugin_fini(); \
|
||||
molfile_vaspoutcarplugin_fini(); \
|
||||
molfile_vaspparchgplugin_fini(); \
|
||||
molfile_vaspposcarplugin_fini(); \
|
||||
molfile_vasp5xdatcarplugin_fini(); \
|
||||
molfile_vaspxdatcarplugin_fini(); \
|
||||
molfile_vaspxmlplugin_fini(); \
|
||||
molfile_vtkplugin_fini(); \
|
||||
molfile_xbgfplugin_fini(); \
|
||||
molfile_xsfplugin_fini(); \
|
||||
molfile_xyzplugin_fini(); \
|
||||
molfile_dtrplugin_fini(); \
|
||||
molfile_maeffplugin_fini(); \
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
BIN
plugins/MACOSXARM64/molfile/maeffplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/maeffplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/mapplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/mapplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/mdfplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/mdfplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/mol2plugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/mol2plugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/moldenplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/moldenplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/molemeshplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/molemeshplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/msmsplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/msmsplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/namdbinplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/namdbinplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/offplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/offplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/parm7plugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/parm7plugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/parmplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/parmplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/pbeqplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/pbeqplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/pdbplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/pdbplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/pdbxplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/pdbxplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/phiplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/phiplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/pltplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/pltplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/plyplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/plyplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/pqrplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/pqrplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/psfplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/psfplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/raster3dplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/raster3dplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/rst7plugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/rst7plugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/situsplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/situsplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/spiderplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/spiderplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/stlplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/stlplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/tinkerplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/tinkerplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/uhbdplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/uhbdplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vasp5xdatcarplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vasp5xdatcarplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vaspchgcarplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vaspchgcarplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vaspoutcarplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vaspoutcarplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vaspparchgplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vaspparchgplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vaspposcarplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vaspposcarplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vaspxdatcarplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vaspxdatcarplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vaspxmlplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vaspxmlplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/vtkplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/vtkplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/xbgfplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/xbgfplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/xsfplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/xsfplugin.so
Executable file
Binary file not shown.
BIN
plugins/MACOSXARM64/molfile/xyzplugin.so
Executable file
BIN
plugins/MACOSXARM64/molfile/xyzplugin.so
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -65,7 +65,6 @@ s_desc* allocate_s_desc(void)
|
||||
s_desc *desc = (s_desc*)my_malloc(sizeof(s_desc)) ;
|
||||
|
||||
reset_desc(desc) ;
|
||||
|
||||
return desc ;
|
||||
}
|
||||
|
||||
@@ -364,7 +363,7 @@ void set_atom_based_descriptors(s_atm **atoms, int natoms, s_desc *desc,s_atm *a
|
||||
nb_res_ids = 0 ; /* Current number of residus */
|
||||
|
||||
int nb_polar_atm = 0 ;
|
||||
char curChainName[2];
|
||||
char *curChainName = (char*)my_malloc(255*sizeof(char));
|
||||
|
||||
if(atoms && natoms>1){
|
||||
firstatom=atoms[0];
|
||||
@@ -373,8 +372,8 @@ void set_atom_based_descriptors(s_atm **atoms, int natoms, s_desc *desc,s_atm *a
|
||||
if(element_in_std_res(firstatom->res_name)) desc->characterChain1=0;
|
||||
else if(element_in_nucl_acid(firstatom->res_name)) desc->characterChain1=1;
|
||||
else if(element_in_kept_res(firstatom->res_name)) desc->characterChain1=2;
|
||||
strncpy(desc->nameChain1,firstatom->chain,2);
|
||||
strncpy(curChainName,firstatom->chain,2);
|
||||
strcpy(desc->nameChain1,firstatom->chain);
|
||||
strcpy(curChainName,firstatom->chain);
|
||||
desc->numResChain1 = countResidues(all_atoms,all_natoms,firstatom->chain);
|
||||
|
||||
for(i = 0 ; i < natoms ; i++) {
|
||||
@@ -384,7 +383,7 @@ void set_atom_based_descriptors(s_atm **atoms, int natoms, s_desc *desc,s_atm *a
|
||||
desc->interChain = 1;
|
||||
if(!desc->numResChain2){
|
||||
desc->numResChain2 = countResidues(all_atoms,all_natoms,curatom->chain);
|
||||
strncpy(curChainName,curatom->chain,1);
|
||||
strcpy(curChainName,curatom->chain);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -423,7 +422,7 @@ void set_atom_based_descriptors(s_atm **atoms, int natoms, s_desc *desc,s_atm *a
|
||||
/*fprintf(stdout,":%s:",desc->ligTag);*/
|
||||
desc->hydrophobicity_score = desc->hydrophobicity_score/ (float) nb_res_ids ;
|
||||
desc->volume_score = desc->volume_score / (float) nb_res_ids ;
|
||||
|
||||
|
||||
desc->flex /= natoms ;
|
||||
desc->prop_polar_atm = ((float) nb_polar_atm) / ((float) natoms) * 100.0 ;
|
||||
}
|
||||
|
||||
398
src/fparams.c
398
src/fparams.c
@@ -35,7 +35,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
## 27-11-08 (v) PDB file check moved in fpmain + minor modif + relooking
|
||||
## 01-04-08 (v) Added comments and creation of history
|
||||
## 01-01-08 (vp) Created (random date...)
|
||||
##
|
||||
##
|
||||
## TODO or SUGGESTIONS
|
||||
##
|
||||
## (v) Check and update if necessary comments of each function!!
|
||||
@@ -46,18 +46,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
/**
|
||||
## FUNCTION:
|
||||
init_def_fparams
|
||||
|
||||
|
||||
## SPECIFICATION:
|
||||
Initialisation of default parameters
|
||||
|
||||
|
||||
## PARAMETRES: void
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
s_fparams*: Pointer to allocated paramers.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
char write_mode[10] = "d"; /*write mode : d -> default | b -> both pdb and mmcif |
|
||||
char write_mode[10] = "d"; /*write mode : d -> default | b -> both pdb and mmcif |
|
||||
p ->pdb | m -> mmcif*/
|
||||
|
||||
s_fparams *init_def_fparams(void)
|
||||
@@ -87,36 +87,44 @@ s_fparams *init_def_fparams(void)
|
||||
par->xlig_resnumber = -1;
|
||||
par->chain_is_kept = 0;
|
||||
par->write_par[0] = 'd';
|
||||
par->xpocket_n = 0;
|
||||
par->min_n_explicit_pocket_atoms = M_MIN_N_EXPLICIT_POCKET;
|
||||
par->n_chains_to_delete=0;
|
||||
par->n_chains_as_ligand=0;
|
||||
return par;
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
get_fpocket_args
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
This function analyse the user's command line and parse it to store parameters
|
||||
for the pocket finder programm.
|
||||
|
||||
|
||||
## PARAMETRES:
|
||||
@ int nargs : Number of arguments
|
||||
@ char **args : Arguments of main program
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
s_params*: Pointer to parameters
|
||||
|
||||
|
||||
*/
|
||||
s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
{
|
||||
int status = 0;
|
||||
s_fparams *par = init_def_fparams(); /*default param initialy*/
|
||||
int c = 0;
|
||||
int apti = 0;
|
||||
int pti = 0;
|
||||
short j = 0;
|
||||
short xflag;
|
||||
opterr = 0;
|
||||
char *pt;
|
||||
char *apt;
|
||||
char *residue_string[M_MAX_CUSTOM_POCKET_LEN];
|
||||
short custom_ligand_i = 0;
|
||||
|
||||
const char *separators = ",:";
|
||||
static struct option fplong_options[] = {/*long options args located in fparams.h*/
|
||||
{"file", required_argument, 0, M_PAR_PDB_FILE},
|
||||
{"min_alpha_size", required_argument, 0, M_PAR_MIN_ASHAPE_SIZE},
|
||||
@@ -133,6 +141,8 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
{"topology_file", required_argument, 0, M_PAR_TOPOLOGY},
|
||||
{"model_number", required_argument, 0, M_PAR_MODEL_FLAG},
|
||||
{"custom_ligand", required_argument, 0, M_PAR_CUSTOM_LIGAND},
|
||||
{"custom_pocket", required_argument, 0, M_PAR_CUSTOM_POCKET},
|
||||
{M_PAR_MIN_N_EXPLICIT_POCKET_LONG, required_argument, 0, M_PAR_MIN_N_EXPLICIT_POCKET},
|
||||
{M_PAR_DROP_CHAINS_LONG, required_argument, 0, M_PAR_DROP_CHAINS}, /*drop chains*/
|
||||
{M_PAR_CHAIN_AS_LIGAND_LONG, required_argument, 0, M_PAR_CHAIN_AS_LIGAND}, /*chain as ligand*/
|
||||
{M_PAR_KEEP_CHAINS_LONG, required_argument, 0, M_PAR_KEEP_CHAINS}, /*chain as ligand*/
|
||||
@@ -145,7 +155,7 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
/* getopt_long stores the option index here. */
|
||||
int option_index = 0;
|
||||
optarg = 0;
|
||||
c = getopt_long(nargs, args, "f:m:M:i:p:D:C:e:dxp:v:y:l:r:c:a:k:w:",
|
||||
c = getopt_long(nargs, args, "f:m:M:i:p:D:C:e:dxp:v:y:l:r:P:u:c:a:k:w:",
|
||||
fplong_options, &option_index);
|
||||
// printf("C: %d nargs : %d optindex:%d\n", c, nargs, option_index);
|
||||
|
||||
@@ -154,7 +164,6 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
case 0:
|
||||
break;
|
||||
|
||||
|
||||
case M_PAR_WRITE_MODE: /*write mode : d -> default | b -> both pdb and mmcif | p ->pdb | m -> mmcif*/
|
||||
status++;
|
||||
if (optarg[0] != 'd' && optarg[0] != 'b' && optarg[0] != 'p' && optarg[0] != 'm' && strcmp(optarg, "both") && strcmp(optarg, "pdb") && strcmp(optarg, "cif") && strcmp(optarg, "mmcif"))
|
||||
@@ -166,108 +175,149 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
{
|
||||
strcpy(par->write_par, "mmcif");
|
||||
strcpy(write_mode, par->write_par);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(par->write_par, optarg);
|
||||
strcpy(write_mode, par->write_par);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case M_PAR_CHAIN_AS_LIGAND: /*option with -a "name of the chain" to be specified as a ligand*/
|
||||
/*select the chains as ligand*/
|
||||
status++;
|
||||
strcpy(par->chain_as_ligand, optarg); /*par->chain_as_ligand contains the arg given in cmd line*/
|
||||
const char *separatorss = ","; /* defining separators*/
|
||||
pt = strtok(par->chain_as_ligand, separatorss);
|
||||
pt = strtok(optarg, separators);
|
||||
int nn = 0;
|
||||
while (pt != NULL)
|
||||
{
|
||||
strncpy(&(par->chain_as_ligand[nn]), pt, 1);
|
||||
par->chain_as_ligand[nn] = (char *)malloc((M_MAX_CHAIN_NAME_LENGTH + 1) * sizeof(char));
|
||||
strncpy(par->chain_as_ligand[nn], pt, M_MAX_CHAIN_NAME_LENGTH);
|
||||
par->chain_as_ligand[nn][M_MAX_CHAIN_NAME_LENGTH]='\0';
|
||||
nn++;
|
||||
pt = strtok(NULL, separatorss);
|
||||
pt = strtok(NULL, separators);
|
||||
}
|
||||
par->n_chains_as_ligand=nn;
|
||||
par->xlig_resnumber = 0;
|
||||
//printf("lig %s\n",par->chain_as_ligand);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case M_PAR_DROP_CHAINS: /*option with -c "name of the chains"*/
|
||||
/*drop the selected chains from the pdb file*/
|
||||
strcpy(par->chain_delete, optarg); /*par->custom_ligand contains the arg given in cmd line*/
|
||||
//printf("%s and %s",par->custom_ligand,optarg);
|
||||
const char *separators = ",:"; /* defining separators for drop chains args*/
|
||||
pt = strtok(par->chain_delete, separators);
|
||||
pt = strtok(optarg, separators);
|
||||
int n = 0;
|
||||
while (pt != NULL)
|
||||
{
|
||||
strncpy(&(par->chain_delete[n]), pt,1);
|
||||
|
||||
par->chain_delete[n] = (char *)malloc((M_MAX_CHAIN_NAME_LENGTH + 1) * sizeof(char));
|
||||
strncpy(par->chain_delete[n], pt, M_MAX_CHAIN_NAME_LENGTH);
|
||||
par->chain_delete[n][M_MAX_CHAIN_NAME_LENGTH]='\0';
|
||||
|
||||
n++;
|
||||
pt = strtok(NULL, separators);
|
||||
}
|
||||
par->chain_is_kept = 0;
|
||||
|
||||
//printf("%s\n",par->chain_delete);
|
||||
par->n_chains_to_delete=n;
|
||||
status++;
|
||||
break;
|
||||
|
||||
case M_PAR_KEEP_CHAINS: /*option with -k "name of the chains"*/
|
||||
/*drop the selected chains from the pdb file*/
|
||||
|
||||
strcpy(par->chain_delete, optarg); /*par->custom_ligand contains the arg given in cmd line*/
|
||||
//printf("%s and %s",par->custom_ligand,optarg);
|
||||
const char *separator = ",:"; /* defining separators for drop chains args*/
|
||||
pt = strtok(par->chain_delete, separator);
|
||||
pt = strtok(optarg, separators);
|
||||
int nk = 0;
|
||||
while (pt != NULL)
|
||||
{
|
||||
strncpy(&(par->chain_delete[nk]), pt, 1);
|
||||
|
||||
par->chain_delete[nk] = (char *)malloc((M_MAX_CHAIN_NAME_LENGTH + 1) * sizeof(char));
|
||||
strncpy(par->chain_delete[nk], pt, M_MAX_CHAIN_NAME_LENGTH);
|
||||
par->chain_delete[nk][M_MAX_CHAIN_NAME_LENGTH]='\0';
|
||||
nk++;
|
||||
pt = strtok(NULL, separator);
|
||||
pt = strtok(NULL, separators);
|
||||
}
|
||||
//printf("%s\n",par->chain_delete);
|
||||
par->n_chains_to_delete=nk;
|
||||
// printf("%s\n",par->chain_delete);
|
||||
par->chain_is_kept = 1;
|
||||
status++;
|
||||
break;
|
||||
|
||||
case M_PAR_CUSTOM_LIGAND:
|
||||
|
||||
//parse ligand specification that has to be given as
|
||||
//residuenumber:residuename:chain_code
|
||||
//for 1uyd for instance 1224:PU8:A
|
||||
// parse ligand specification that has to be given as
|
||||
// residuenumber:residuename:chain_code
|
||||
// for 1uyd for instance 1224:PU8:A
|
||||
|
||||
status++;
|
||||
|
||||
strcpy(par->custom_ligand, optarg);
|
||||
//printf("%s and %s",par->custom_ligand,optarg);
|
||||
pt = strtok(par->custom_ligand, ":");
|
||||
// strcpy(par->custom_ligand, optarg);
|
||||
// printf("%s and %s",par->custom_ligand,optarg);
|
||||
pt = strtok(optarg, ":");
|
||||
|
||||
while (pt != NULL)
|
||||
{
|
||||
custom_ligand_i++;
|
||||
if (custom_ligand_i == 1)
|
||||
par->xlig_resnumber = atoi(pt);
|
||||
else if (custom_ligand_i == 2)
|
||||
strncpy(&(par->xlig_resname), pt, 3);
|
||||
else if (custom_ligand_i == 3)
|
||||
strncpy(&(par->xlig_chain_code), pt, 1);
|
||||
/*int a = atoi(pt);
|
||||
printf("%d\n", a);*/
|
||||
else if (custom_ligand_i == 2){
|
||||
par->xlig_resname= (char *)malloc((M_MAX_LIG_RESNAME_LENGTH + 1) * sizeof(char));
|
||||
strncpy(par->xlig_resname, pt, M_MAX_LIG_RESNAME_LENGTH);
|
||||
par->xlig_resname[M_MAX_LIG_RESNAME_LENGTH]='\0';
|
||||
}
|
||||
else if (custom_ligand_i == 3){
|
||||
par->xlig_chain_code= (char *)malloc((M_MAX_CHAIN_NAME_LENGTH + 1) * sizeof(char));
|
||||
strncpy(par->xlig_chain_code, pt, M_MAX_CHAIN_NAME_LENGTH);
|
||||
par->xlig_chain_code[M_MAX_CHAIN_NAME_LENGTH]='\0';
|
||||
}
|
||||
pt = strtok(NULL, ":");
|
||||
}
|
||||
|
||||
break;
|
||||
case M_PAR_CUSTOM_POCKET:
|
||||
|
||||
// parse pocket specification that has to be given as
|
||||
// residuenumber1:insertion_code1:chain_code1.residuenumber2:insertion_code2:chain_code2& ....
|
||||
// for 1uyd for instance 127::A.128::A
|
||||
|
||||
status++;
|
||||
|
||||
strcpy(par->custom_pocket_arg, optarg);
|
||||
char *rest = par->custom_pocket_arg;
|
||||
char *rest2;
|
||||
/*count residues first*/
|
||||
while ((pt = strtok_r(rest, ".", &rest)))
|
||||
par->xpocket_n++;
|
||||
|
||||
par->xpocket_chain_code = (char *)my_malloc(par->xpocket_n * sizeof(char));
|
||||
par->xpocket_insertion_code = (char *)my_malloc(par->xpocket_n * sizeof(char));
|
||||
par->xpocket_residue_number = (unsigned short *)my_malloc(par->xpocket_n * sizeof(unsigned short));
|
||||
pti = 0;
|
||||
strcpy(par->custom_pocket_arg, optarg);
|
||||
rest = par->custom_pocket_arg;
|
||||
while ((pt = strtok_r(rest, ".", &rest)))
|
||||
{
|
||||
strcpy(&residue_string, pt);
|
||||
rest2 = residue_string;
|
||||
apti = 0;
|
||||
while ((apt = strtok_r(rest2, ":", &rest2)))
|
||||
{
|
||||
switch (apti)
|
||||
{
|
||||
case 0:
|
||||
par->xpocket_residue_number[pti] = (unsigned short)atoi(apt); // fprintf(stdout,"residuenumber: %d\n", atoi(apt));
|
||||
case 1:
|
||||
strncpy(&(par->xpocket_insertion_code[pti]), apt, 1);
|
||||
case 2:
|
||||
strncpy(&(par->xpocket_chain_code[pti]), apt, 1);
|
||||
}
|
||||
apti++;
|
||||
}
|
||||
pti++;
|
||||
}
|
||||
break;
|
||||
|
||||
case M_PAR_MIN_N_EXPLICIT_POCKET:
|
||||
status++;
|
||||
par->min_n_explicit_pocket_atoms = (int)atoi(optarg);
|
||||
break;
|
||||
|
||||
case M_PAR_PDB_FILE:
|
||||
// printf("option -f with value `%s'\n", optarg);
|
||||
status++;
|
||||
@@ -301,7 +351,7 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
break;
|
||||
case M_PAR_DISTANCE_MEASURE:
|
||||
// printf("option -e with value %s\n", optarg);
|
||||
//strcpy(par->distance_measure,optarg); /*might be problematic*/
|
||||
// strcpy(par->distance_measure,optarg); /*might be problematic*/
|
||||
strncpy(&(par->distance_measure), optarg, 1);
|
||||
status++;
|
||||
|
||||
@@ -335,7 +385,7 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
status++;
|
||||
break;
|
||||
case M_PAR_MODEL_FLAG:
|
||||
//printf("option -l with value %s", optarg);
|
||||
// printf("option -l with value %s", optarg);
|
||||
par->model_number = (int)atoi(optarg);
|
||||
status++;
|
||||
break;
|
||||
@@ -348,39 +398,45 @@ s_fparams *get_fpocket_args(int nargs, char **args)
|
||||
{
|
||||
strcpy(par->write_par, "m");
|
||||
strcpy(write_mode, par->write_par);
|
||||
//printf("%c", write_mode[0]);
|
||||
// printf("%c", write_mode[0]);
|
||||
}
|
||||
else if (strstr(par->pdb_path, ".pdb") && par->write_par[0] == 'd')
|
||||
{
|
||||
strcpy(par->write_par, "p");
|
||||
strcpy(write_mode, par->write_par);
|
||||
}
|
||||
|
||||
if (par->xpocket_n > 0 && par->xlig_resnumber > -1)
|
||||
{
|
||||
fprintf(stderr, "\n\033[1mERROR:\033[0m you specified an explicit ligand (-r) AND an explicit pocke (-P) in the same fpocket run. This is currently not allowed, please use either the one or the other.\n\n");
|
||||
return NULL;
|
||||
}
|
||||
return (par);
|
||||
/* if(status){
|
||||
return(par);
|
||||
}
|
||||
else {
|
||||
|
||||
|
||||
|
||||
|
||||
return(NULL);
|
||||
}*/
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
get_fpocket_args
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
This function analyse the user's command line and parse it to store parameters
|
||||
for the pocket finder programm.
|
||||
|
||||
|
||||
## PARAMETRES:
|
||||
@ int nargs : Number of arguments
|
||||
@ char **args : Arguments of main program
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
s_params*: Pointer to parameters
|
||||
|
||||
|
||||
*/
|
||||
s_fparams *DEPR_get_fpocket_args(int nargs, char **args)
|
||||
{
|
||||
@@ -391,7 +447,7 @@ s_fparams *DEPR_get_fpocket_args(int nargs, char **args)
|
||||
s_fparams *par = init_def_fparams();
|
||||
char *pdb_lst = NULL;
|
||||
|
||||
//read arguments by flags
|
||||
// read arguments by flags
|
||||
for (i = 1; i < nargs; i++)
|
||||
{
|
||||
if (strlen(args[i]) == 2 && args[i][0] == '-' && i <= (nargs - 1))
|
||||
@@ -520,19 +576,19 @@ s_fparams *DEPR_get_fpocket_args(int nargs, char **args)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_clust_max_dist
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the distance criteria first clustering algorithm.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid float), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_clust_max_dist(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -550,19 +606,19 @@ int parse_clust_max_dist(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_sclust_max_dist
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the distance criteria in the single linkage clustering.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid float), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_clustering_method(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -595,20 +651,20 @@ int parse_distance_measure(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_min_apol_neigh
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the minimum number of apolar contacted atom for an alpha
|
||||
sphere to be considered as apolar.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid int), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_min_apol_neigh(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -630,19 +686,19 @@ int parse_min_apol_neigh(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_asph_min_size
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the minimum radius of each alpha shpere
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str: The string to parse
|
||||
@ s_fparams *p: The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid float), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_asph_min_size(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -660,19 +716,19 @@ int parse_asph_min_size(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_asph_max_size
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the maximum radius of each alpha shpere
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid float), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_asph_max_size(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -690,20 +746,20 @@ int parse_asph_max_size(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_mc_niter
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the number of iteration for the Monte Carlo volume
|
||||
calculation.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid float), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_mc_niter(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -721,19 +777,19 @@ int parse_mc_niter(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_basic_vol_div
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the number of iteration for the basic volume calculation.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid integer), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_basic_vol_div(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -751,19 +807,19 @@ int parse_basic_vol_div(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_refine_min_apol
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the minimum number of apolar sphere per pocket.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid integer), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_refine_minaap(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -781,19 +837,19 @@ int parse_refine_minaap(char *str, s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
parse_min_pock_nb_asph
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Parsing function for the minimum number of alpha sphere per pocket.
|
||||
|
||||
|
||||
## PARAMETERS:
|
||||
@ char *str : The string to parse
|
||||
@ s_fparams *p : The structure than will contain the parsed parameter
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
int: 0 if the parameter is valid (here a valid integer), 1 if not
|
||||
|
||||
|
||||
*/
|
||||
int parse_min_pock_nb_asph(char *str, s_fparams *p)
|
||||
{
|
||||
@@ -813,17 +869,17 @@ int parse_min_pock_nb_asph(char *str, s_fparams *p)
|
||||
/**
|
||||
## FUNCTION:
|
||||
is_fpocket_opt
|
||||
|
||||
|
||||
## SPECIFICATION:
|
||||
Say either or not a single letter code is a fpocket option (excluding
|
||||
input file/list option.)
|
||||
|
||||
|
||||
## PARAMETRES:
|
||||
@ const char opt: The one letter code option.
|
||||
|
||||
|
||||
## RETURN:
|
||||
integer: 1 if it's a valid option parmeter, 0 if not.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
int is_fpocket_opt(const char opt)
|
||||
@@ -846,18 +902,18 @@ int is_fpocket_opt(const char opt)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
free_fparams
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Free parameters
|
||||
|
||||
## PARAMETRES:
|
||||
|
||||
## PARAMETRES:
|
||||
@ s_params *p: Pointer to the structure to free
|
||||
|
||||
## RETURN:
|
||||
|
||||
## RETURN:
|
||||
void
|
||||
|
||||
|
||||
*/
|
||||
void free_fparams(s_fparams *p)
|
||||
{
|
||||
@@ -878,18 +934,18 @@ void free_fparams(s_fparams *p)
|
||||
}
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
print_pocket_usage
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Displaying usage of the programm in the given buffer
|
||||
|
||||
|
||||
## PARAMETRES:
|
||||
@ FILE *f: buffer to print in
|
||||
|
||||
|
||||
## RETURN:
|
||||
void
|
||||
|
||||
|
||||
*/
|
||||
void print_pocket_usage(FILE *f)
|
||||
{
|
||||
@@ -916,13 +972,21 @@ void print_pocket_usage(FILE *f)
|
||||
fprintf(f, "\n\n\033[1mOptional input parameters\033[0m\n");
|
||||
fprintf(f, "\t-%c --%s (int)\t\t\t: Number of Model to analyze.\t\n", M_PAR_MODEL_FLAG, M_PAR_MODEL_FLAG_LONG);
|
||||
fprintf(f, "\t-%c --%s (string)\t\t: File name of a topology file (Amber prmtop).\t\n", M_PAR_TOPOLOGY, M_PAR_LONG_TOPOLOGY);
|
||||
fprintf(f, "\t-%c --%s (string)\t\t: String specifying a ligand like: residuenumber:residuename:chain_code (ie. 1224:PU8:A).\t\n", M_PAR_CUSTOM_LIGAND, M_PAR_CUSTOM_LIGAND_LONG);
|
||||
fprintf(f, "\t-%c --%s (string)\t\t: String specifying a ligand like: \n\
|
||||
\t\t\t\t\t\t residuenumber:residuename:chain_code (ie. 1224:PU8:A).\t\n",
|
||||
M_PAR_CUSTOM_LIGAND, M_PAR_CUSTOM_LIGAND_LONG);
|
||||
fprintf(f, "\t-%c --%s (string)\t\t: String specifying a pocket like: \n\
|
||||
\t\t\t\t\t\t residuenumber1:insertion_code1('-' if empty):chain_code1.residuenumber2:insertion_code2:chain_code2 (ie. 138:-:A.139:-:A).\t\n",
|
||||
M_PAR_CUSTOM_POCKET, M_PAR_CUSTOM_POCKET_LONG);
|
||||
fprintf(f, "\t-%c --%s (int)\t: If explicit pocket provided, minimum number \n\
|
||||
\t\t\t\t\t\t of atoms of an alpha sphere that have to be in the selected pocket.\t\n",
|
||||
M_PAR_MIN_N_EXPLICIT_POCKET, M_PAR_MIN_N_EXPLICIT_POCKET_LONG);
|
||||
fprintf(f, "\t-%c --%s (char)\t\t: Character specifying a chain as a ligand\t\n", M_PAR_CHAIN_AS_LIGAND, M_PAR_CHAIN_AS_LIGAND_LONG);
|
||||
|
||||
fprintf(f, "\n\n\033[1mOptional pocket detection parameters\033[0m (default parameters) \n\
|
||||
\t-%c --%s (float)\t\t: Minimum radius of an alpha-sphere.\t(%.1f)\n",
|
||||
M_PAR_MIN_ASHAPE_SIZE, M_PAR_LONG_MIN_ASHAPE_SIZE, M_MAX_ASHAPE_SIZE_DEFAULT);
|
||||
fprintf(f, "\t-%c --%s (float)\t\t: Maximum radius of an alpha-sphere.\t(%.1f)\n", M_PAR_MAX_ASHAPE_SIZE, M_PAR_LONG_MAX_ASHAPE_SIZE, M_MIN_ASHAPE_SIZE_DEFAULT);
|
||||
M_PAR_MIN_ASHAPE_SIZE, M_PAR_LONG_MIN_ASHAPE_SIZE, M_MIN_ASHAPE_SIZE_DEFAULT);
|
||||
fprintf(f, "\t-%c --%s (float)\t\t: Maximum radius of an alpha-sphere.\t(%.1f)\n", M_PAR_MAX_ASHAPE_SIZE, M_PAR_LONG_MAX_ASHAPE_SIZE, M_MAX_ASHAPE_SIZE_DEFAULT);
|
||||
fprintf(f, "\t-%c --%s (float)\t: Distance threshold for clustering algorithm\t(%.1f)\n", M_PAR_CLUST_MAX_DIST, M_PAR_LONG_CLUST_MAX_DIST, M_CLUST_MAX_DIST);
|
||||
fprintf(f, "\t-%c --%s (char)\t\t: Specify the clustering method wanted for \n\
|
||||
\t\t\t\t\t\t grouping voronoi vertices together (%c)\n\
|
||||
@@ -952,7 +1016,7 @@ void print_pocket_usage(FILE *f)
|
||||
\t\t\t\t\t\t able to keep up to (%d) chains (ie : -k A,B,C,E)\n",
|
||||
M_PAR_KEEP_CHAINS, M_PAR_KEEP_CHAINS_LONG, M_MAX_CHAINS_DELETE);
|
||||
fprintf(f, "\t-%c --%s (char)\t\t: consider this chain as a ligand explicitly (i.e. -%c D)\n",
|
||||
M_PAR_CHAIN_AS_LIGAND, M_PAR_CHAIN_AS_LIGAND_LONG,M_PAR_CHAIN_AS_LIGAND);
|
||||
M_PAR_CHAIN_AS_LIGAND, M_PAR_CHAIN_AS_LIGAND_LONG, M_PAR_CHAIN_AS_LIGAND);
|
||||
fprintf(f, "\t-%c --%s (char)\t\t\t: Writing mode to be used after pocket detection, \n\
|
||||
\t\t\t\t\t\t d -> default (same format outpout as input)\n\
|
||||
\t\t\t\t\t\t b or both -> both pdb and mmcif | p or pdb ->pdb | m or cif or mmcif-> mmcif\n",
|
||||
@@ -961,18 +1025,18 @@ void print_pocket_usage(FILE *f)
|
||||
}
|
||||
/*write mode : d -> default | b -> both pdb and mmcif | p ->pdb | m -> mmcif*/
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
print_fparams
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
Print function
|
||||
|
||||
|
||||
## PARAMETRES:
|
||||
@ s_fparams *p : Parameters to print
|
||||
@ FILE *f : Buffer to write in
|
||||
|
||||
## RETURN:
|
||||
|
||||
|
||||
## RETURN:
|
||||
|
||||
*/
|
||||
void print_fparams(s_fparams *p, FILE *f)
|
||||
{
|
||||
|
||||
83
src/fpmain.c
83
src/fpmain.c
@@ -30,7 +30,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
## 27-11-08 (v) PDB file check moved here instead of fparams
|
||||
## 01-04-08 (v) Added comments and creation of history
|
||||
## 01-01-08 (vp) Created (random date...)
|
||||
##
|
||||
##
|
||||
## TODO or SUGGESTIONS
|
||||
##
|
||||
|
||||
@@ -38,11 +38,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
int main(int argc, char *argv[])
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
|
||||
## SPECIFICATION:
|
||||
Main program!
|
||||
|
||||
Main program!
|
||||
|
||||
*/
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
@@ -50,10 +50,10 @@ int main(int argc, char *argv[])
|
||||
|
||||
s_fparams *params = get_fpocket_args(argc, argv);
|
||||
|
||||
params->fpocket_running = 1;
|
||||
/* If parameters parsing is ok */
|
||||
if (params)
|
||||
{
|
||||
params->fpocket_running = 1;
|
||||
if (!params->db_run)
|
||||
fprintf(stdout, "***** POCKET HUNTING BEGINS ***** \n");
|
||||
// print_fparams(params,stdout);
|
||||
@@ -76,7 +76,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
else
|
||||
{
|
||||
if (params->pdb_path == NULL || strlen(params->pdb_path) <= 0)
|
||||
if (!params->pdb_path[0] || strlen(params->pdb_path) <= 0)
|
||||
{
|
||||
fprintf(stdout, "! Invalid pdb name given.\n");
|
||||
print_pocket_usage(stdout);
|
||||
@@ -103,20 +103,20 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
/**
|
||||
## FUNCTION:
|
||||
process_pdb
|
||||
|
||||
## SPECIFICATION:
|
||||
Handle a single pdb: check the pdb name, load data, and launch fpocket if
|
||||
the pdb file have been successfully read.
|
||||
|
||||
## FUNCTION:
|
||||
process_pdb
|
||||
|
||||
## SPECIFICATION:
|
||||
Handle a single pdb: check the pdb name, load data, and launch fpocket if
|
||||
the pdb file have been successfully read.
|
||||
|
||||
## PARAMETRES:
|
||||
@ char *pdbname : Name of the pdb
|
||||
@ s_fparams *params : Parameters of the algorithm. See fparams.c/.h
|
||||
|
||||
## RETURN:
|
||||
void
|
||||
|
||||
@ char *pdbname : Name of the pdb
|
||||
@ s_fparams *params : Parameters of the algorithm. See fparams.c/.h
|
||||
|
||||
## RETURN:
|
||||
void
|
||||
|
||||
*/
|
||||
void process_pdb(char *pdbname, s_fparams *params)
|
||||
{
|
||||
@@ -140,15 +140,14 @@ void process_pdb(char *pdbname, s_fparams *params)
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
|
||||
s_pdb *pdb = open_file_format(pdbname, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
s_pdb *pdb_w_lig = open_file_format(pdbname, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
s_pdb *pdb_w_lig = open_file_format(pdbname, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
|
||||
// s_pdb *pdb = open_mmcif(pdbname, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
// s_pdb *pdb_w_lig = open_mmcif(pdbname, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
// s_pdb *pdb = open_mmcif(pdbname, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
// s_pdb *pdb_w_lig = open_mmcif(pdbname, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
|
||||
//s_pdb *pdb = rpdb_open(pdbname, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
//s_pdb *pdb_w_lig = rpdb_open(pdbname, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
// s_pdb *pdb = rpdb_open(pdbname, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
// s_pdb *pdb_w_lig = rpdb_open(pdbname, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
@@ -160,15 +159,15 @@ void process_pdb(char *pdbname, s_fparams *params)
|
||||
if (pdb)
|
||||
{
|
||||
/* Actual reading of pdb data and then calculation */
|
||||
|
||||
|
||||
read_file_format(pdb, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
read_file_format(pdb_w_lig, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
|
||||
//read_mmcif(pdb, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
//read_mmcif(pdb_w_lig, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
// read_mmcif(pdb, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
// read_mmcif(pdb_w_lig, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
|
||||
//rpdb_read(pdb, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
//rpdb_read(pdb_w_lig, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
// rpdb_read(pdb, NULL, M_DONT_KEEP_LIG, params->model_number, params);
|
||||
// rpdb_read(pdb_w_lig, NULL, M_KEEP_LIG, params->model_number, params);
|
||||
|
||||
// fprintf(stdout,"Init coordinate grid\n");
|
||||
create_coord_grid(pdb);
|
||||
@@ -177,7 +176,7 @@ void process_pdb(char *pdbname, s_fparams *params)
|
||||
/*free_pdb_atoms(pdb);
|
||||
free_pdb_atoms(pdb_w_lig);
|
||||
if(DEBUG)print_number_of_objects_in_memory();
|
||||
|
||||
|
||||
return(NULL);*/
|
||||
|
||||
c_lst_pockets *pockets = search_pocket(pdb, params, pdb_w_lig);
|
||||
@@ -223,30 +222,30 @@ void process_pdb(char *pdbname, s_fparams *params)
|
||||
print_number_of_objects_in_memory();
|
||||
}
|
||||
}
|
||||
else
|
||||
fprintf(stderr, "! PDB reading failed!\n");
|
||||
else {
|
||||
fprintf(stderr, "! Structure reading failed!\n");
|
||||
exit( EXIT_FAILURE );
|
||||
}
|
||||
}
|
||||
|
||||
s_pdb *open_file_format(char *fpath, const char *ligan, const int keep_lig, int model_number, s_fparams *par)
|
||||
{
|
||||
s_pdb *pdb;
|
||||
if (strstr(par->pdb_path, ".cif")) /*strstr finds the substring and here we search for the file extension we want */
|
||||
pdb = open_mmcif(fpath, NULL, keep_lig, par->model_number, par);
|
||||
if (strstr(par->pdb_path, ".cif")) /*strstr finds the substring and here we search for the file extension we want */
|
||||
pdb = open_mmcif(fpath, NULL, keep_lig, par->model_number, par);
|
||||
else if (strstr(par->pdb_path, ".pdb"))
|
||||
pdb = rpdb_open(fpath, NULL, keep_lig, par->model_number, par);
|
||||
|
||||
return pdb;
|
||||
}
|
||||
|
||||
|
||||
void read_file_format(s_pdb *pdb, const char *ligan, const int keep_lig, int model_number, s_fparams *par)
|
||||
{
|
||||
|
||||
if (strstr(par->pdb_path, ".cif")){ /*strstr finds the substring and here we search for the file extension we want */
|
||||
read_mmcif(pdb, NULL, keep_lig, par->model_number, par);
|
||||
|
||||
if (strstr(par->pdb_path, ".cif"))
|
||||
{ /*strstr finds the substring and here we search for the file extension we want */
|
||||
read_mmcif(pdb, NULL, keep_lig, par->model_number, par);
|
||||
}
|
||||
else if (strstr(par->pdb_path, ".pdb"))
|
||||
rpdb_read(pdb, NULL, keep_lig, par->model_number, par);
|
||||
|
||||
|
||||
}
|
||||
138
src/fpocket.c
138
src/fpocket.c
@@ -1,5 +1,5 @@
|
||||
|
||||
#include "../headers/fpocket.h"
|
||||
#include "../headers/fpocket.h"
|
||||
/*
|
||||
* Copyright <2012> <Vincent Le Guilloux,Peter Schmidtke, Pierre Tuffery>
|
||||
* Copyright <2013-2018> <Peter Schmidtke, Vincent Le Guilloux>
|
||||
@@ -32,31 +32,31 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
## 28-11-08 (v) Comments UTD
|
||||
## 01-04-08 (v) Added comments and creation of history
|
||||
## 01-01-08 (vp) Created (random date...)
|
||||
##
|
||||
##
|
||||
## TODO or SUGGESTIONS
|
||||
##
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
## FUNCTION:
|
||||
## FUNCTION:
|
||||
pockets search_pocket
|
||||
|
||||
## SPECIFICATION:
|
||||
|
||||
## SPECIFICATION:
|
||||
This function will call all functions needed for the pocket finding algorith
|
||||
and will return the list of pockets found on the protein.
|
||||
|
||||
|
||||
## PARAMETRES:
|
||||
@ s_pdb *pdb : The pdb data of the protein to handle.
|
||||
@ s_fparams : Parameters of the algorithm
|
||||
|
||||
|
||||
## RETURN:
|
||||
A chained list of pockets found, sorted according to the current critera
|
||||
(the default is a scoring function)
|
||||
|
||||
|
||||
*/
|
||||
c_lst_pockets* search_pocket(s_pdb *pdb, s_fparams *params, s_pdb *pdb_w_lig) {
|
||||
c_lst_pockets *search_pocket(s_pdb *pdb, s_fparams *params, s_pdb *pdb_w_lig)
|
||||
{
|
||||
|
||||
clock_t b, e;
|
||||
time_t bt, et;
|
||||
@@ -66,21 +66,22 @@ c_lst_pockets* search_pocket(s_pdb *pdb, s_fparams *params, s_pdb *pdb_w_lig) {
|
||||
s_clusterlib_vertices *clusterlib_vertices = NULL;
|
||||
Node *cluster_tree = NULL;
|
||||
|
||||
|
||||
/* Calculate and read voronoi vertices comming from qhull */
|
||||
|
||||
// fprintf(stdout, "========= fpocket algorithm begins =========\n");
|
||||
|
||||
if (DEBUG) {
|
||||
if (DEBUG)
|
||||
{
|
||||
fprintf(stdout, "> Calculating vertices ...\n");
|
||||
}
|
||||
|
||||
bt = clock();
|
||||
|
||||
// s_lst_vvertice *lvert = load_vvertices(pdb, params->min_apol_neigh,
|
||||
// params->asph_min_size,
|
||||
// params->asph_max_size, 0.0, 0.0, 0.0);
|
||||
|
||||
s_lst_vvertice *lvert = load_vvertices(pdb, params->min_apol_neigh,
|
||||
params->asph_min_size,
|
||||
params->asph_max_size, 0.0, 0.0, 0.0);
|
||||
s_lst_vvertice *lvert = load_vvertices(pdb, params, 0.0, 0.0, 0.0);
|
||||
|
||||
/*if(lvert->nvert>8000){*/
|
||||
/* params->asph_max_size=7.6;
|
||||
@@ -96,112 +97,129 @@ c_lst_pockets* search_pocket(s_pdb *pdb, s_fparams *params, s_pdb *pdb_w_lig) {
|
||||
params->min_pock_nb_asph=M_MIN_POCK_NB_ASPH;
|
||||
}*/
|
||||
|
||||
|
||||
if (DEBUG) {
|
||||
if (DEBUG)
|
||||
{
|
||||
fprintf(stdout, "distance measure : %c\n", params->clustering_method);
|
||||
fprintf(stdout, "%d vertices\n", lvert->nvert);
|
||||
fprintf(stdout, "needing %.5f s to read the vertices", (double) (clock() - b) / CLOCKS_PER_SEC);
|
||||
fprintf(stdout, "needing %.5f s to read the vertices", (double)(clock() - b) / CLOCKS_PER_SEC);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (DEBUG) {
|
||||
if (DEBUG)
|
||||
{
|
||||
fprintf(stdout, "Preparing for clustering\n");
|
||||
}
|
||||
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (params->xlig_resnumber == -1) {
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
if (params->xlig_resnumber == -1 && params->xpocket_n == 0)
|
||||
{
|
||||
clusterlib_vertices = prepare_vertices_for_cluster_lib(lvert, params->clustering_method, params->distance_measure);
|
||||
if (DEBUG) fprintf(stdout, "Clustering\n");
|
||||
if (DEBUG)
|
||||
fprintf(stdout, "Clustering\n");
|
||||
// fprintf(stdosut,"distance measure : %c\n",clusterlib_vertices->method);
|
||||
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
cluster_tree = treecluster(lvert->nvert,
|
||||
3,
|
||||
clusterlib_vertices->pos,
|
||||
clusterlib_vertices->mask,
|
||||
clusterlib_vertices->weight,
|
||||
clusterlib_vertices->transpose,
|
||||
clusterlib_vertices->dist,
|
||||
clusterlib_vertices->method,
|
||||
NULL);
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (cluster_tree == NULL) {
|
||||
3,
|
||||
clusterlib_vertices->pos,
|
||||
clusterlib_vertices->mask,
|
||||
clusterlib_vertices->weight,
|
||||
clusterlib_vertices->transpose,
|
||||
clusterlib_vertices->dist,
|
||||
clusterlib_vertices->method,
|
||||
NULL);
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
if (cluster_tree == NULL)
|
||||
{
|
||||
fprintf(stderr, "Error in creating clustering tree, return NULL pointer...breaking up");
|
||||
return (0);
|
||||
}
|
||||
int **clusterIds = cuttree_distance(lvert->nvert, cluster_tree, params->clust_max_dist);
|
||||
//int i;
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
// int i;
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
transferClustersToVertices(clusterIds, lvert);
|
||||
|
||||
if (DEBUG) fprintf(DEBUG_STREAM, "freeing clusterlib vertices now\n");
|
||||
if (DEBUG)
|
||||
fprintf(DEBUG_STREAM, "freeing clusterlib vertices now\n");
|
||||
free_cluster_lib_vertices(clusterlib_vertices, lvert->nvert);
|
||||
free_cluster_tree(cluster_tree);
|
||||
free_cluster_ids(clusterIds, lvert->nvert);
|
||||
}
|
||||
if (lvert == NULL) {
|
||||
if (lvert == NULL)
|
||||
{
|
||||
fprintf(stderr, "! Vertice calculation failed!\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pockets = assign_pockets(lvert);
|
||||
if (DEBUG) {
|
||||
if (DEBUG)
|
||||
{
|
||||
fprintf(DEBUG_STREAM, "After pocket assignment :\n");
|
||||
fflush(DEBUG_STREAM);
|
||||
print_number_of_objects_in_memory();
|
||||
fprintf(DEBUG_STREAM, "\tpocket : %p :\n\tpocket vertice list : %p\n", pockets, pockets->vertices);
|
||||
fflush(DEBUG_STREAM);
|
||||
}
|
||||
|
||||
apply_clustering(pockets, params);
|
||||
if (DEBUG) {
|
||||
|
||||
apply_clustering(pockets);
|
||||
if (DEBUG)
|
||||
{
|
||||
fprintf(DEBUG_STREAM, "applied clustering to pockets");
|
||||
print_number_of_objects_in_memory();
|
||||
}
|
||||
|
||||
if (pockets) {
|
||||
if (pockets)
|
||||
{
|
||||
reIndexPockets(pockets);
|
||||
|
||||
// fprintf(stdout, "> Calculating descriptors and score...\n");
|
||||
|
||||
if (DEBUG)print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
set_pockets_descriptors(pockets, pdb, params, pdb_w_lig);
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
/* Drop small and too polar binding pockets */
|
||||
|
||||
if (DEBUG) {
|
||||
if (DEBUG)
|
||||
{
|
||||
print_number_of_objects_in_memory();
|
||||
fprintf(DEBUG_STREAM, "drop small and polar clusters\n");
|
||||
}
|
||||
|
||||
dropSmallNpolarPockets(pockets, params);
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
reIndexPockets(pockets);
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
/* Sorting pockets */
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
sort_pockets(pockets, M_SCORE_SORT_FUNCT);
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
|
||||
//sort_pockets(pockets, M_NASPH_SORT_FUNCT) ;
|
||||
// sort_pockets(pockets, M_NASPH_SORT_FUNCT) ;
|
||||
|
||||
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
reIndexPockets(pockets);
|
||||
if (DEBUG) print_number_of_objects_in_memory();
|
||||
if (DEBUG)
|
||||
print_number_of_objects_in_memory();
|
||||
// int i;
|
||||
|
||||
if (params->fpocket_running && params->flag_do_grid_calculations && params->topology_path) calculate_pocket_energy_grids(pockets, params, pdb);
|
||||
//params->fpocket_running &&
|
||||
|
||||
if (params->fpocket_running && params->flag_do_grid_calculations && params->topology_path[0])
|
||||
calculate_pocket_energy_grids(pockets, params, pdb);
|
||||
// params->fpocket_running &&
|
||||
}
|
||||
|
||||
return pockets;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user