mirror of
https://github.com/Discngine/fpocket.git
synced 2026-06-04 20:04:22 +08:00
Compare commits
20 Commits
testToDele
...
explicit-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
858073a4e1 | ||
|
|
93772970c9 | ||
|
|
e5b2d2d9af | ||
|
|
294b1a6e07 | ||
|
|
70de53b855 | ||
|
|
df613de93a | ||
|
|
7f0b864de2 | ||
|
|
370a8aa016 | ||
|
|
a0eaccea0a | ||
|
|
3e96d21c37 | ||
|
|
e4c728043d | ||
|
|
fe4dd1c68f | ||
|
|
846465d8c3 | ||
|
|
a5c7a69125 | ||
|
|
6e0d0330f3 | ||
|
|
0f3bf034ff | ||
|
|
32aaabe217 | ||
|
|
5ae071daf4 | ||
|
|
2bfc2a15a6 | ||
|
|
2b97e041f7 |
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*.tcl linguist-detectable=false
|
||||
*.c linguist-detectable=true
|
||||
23
.github/workflows/c-cpp.yml
vendored
Normal file
23
.github/workflows/c-cpp.yml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
name: C/C++ CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build-and-test-linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: netcdf
|
||||
run: sudo apt-get install libnetcdf-dev
|
||||
- name: make
|
||||
run: make fpocket
|
||||
- name: create conda environment
|
||||
run: conda env update -f ./tests/environment.yml
|
||||
- name: activate conda environment
|
||||
run: conda activate fpocket_test
|
||||
- name: Run pytest
|
||||
run: pytest
|
||||
@@ -2,8 +2,7 @@
|
||||

|
||||
|
||||
[](https://dev.azure.com/3decision/fpocket/_build/latest?definitionId=2&branchName=master)
|
||||
[](https://gitter.im/fpocket/community?utm_source=badge&utm_medium=badge&utm_content=badge)
|
||||
|
||||
[](https://gitter.im/fpocket-official/community?utm_source=badge&utm_medium=badge&utm_content=badge)
|
||||
|
||||
The fpocket suite of programs is a very fast open source protein pocket detection algorithm based on Voronoi tessellation. The platform is suited for the scientific community willing to develop new scoring functions and extract pocket descriptors on a large scale level.
|
||||
|
||||
|
||||
6218
data/sample/2P0R_mod.pdb
Normal file
6218
data/sample/2P0R_mod.pdb
Normal file
File diff suppressed because it is too large
Load Diff
@@ -457,7 +457,11 @@ The simplest way to run fpocket is either by providing a single pdb file, or by
|
||||
|
||||
-x None: (None) EXPERIMENTAL: specify this flag if you want to run energy calculations on calculated pockets. That's not fully functional and only one or two probes are currently generated and output density grids written. Use with caution
|
||||
|
||||
-c char : (Default is none): Use this flag to chose which chains you want to delete before running fpocket. The selected chains can be specified with ',' or ':' delimiters, for example you can use it '-c B,D' or '-c B:D'. You can delete up to 20 different chains.
|
||||
-c char : (Default is none): Use this flag to choose which chains you want to delete before running fpocket. The selected chains can be specified with ',' or ':' delimiters, for example you can use it '-c B,D' or '-c B:D'. You can delete up to 20 different chains.
|
||||
|
||||
-k char : (Default is none): Use this flag to choose which chains you want to keep before running fpocket. The selected chains can be specified with ',' or ':' delimiters, for example you can use it '-k A,B,E' or '-k A:B:E'. You can keep up to 20 different chains.
|
||||
|
||||
-a char : (Default is none): With this flag you can select a chain you want to be considered as a ligand. Works the same way as the "-r" flag but with a whole chain. Only a single chain can be chosen, for example '-a D'.
|
||||
|
||||
|
||||
### Output files description
|
||||
|
||||
@@ -111,6 +111,13 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
#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"
|
||||
|
||||
#define M_PAR_KEEP_CHAINS 'k' /**flag, to define which chains are kept before the pocket detection*/
|
||||
#define M_PAR_KEEP_CHAINS_LONG "keep_chains"
|
||||
|
||||
#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_FP_USAGE "\n\
|
||||
***** USAGE (fpocket) *****\n\
|
||||
@@ -194,7 +201,8 @@ typedef struct s_fparams
|
||||
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*/
|
||||
|
||||
} s_fparams ;
|
||||
|
||||
|
||||
@@ -141,5 +141,5 @@ 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 chains_to_delete(char *chains_selected, char *current_line_chain, int is_chain_kept);
|
||||
#endif
|
||||
|
||||
@@ -80,6 +80,7 @@ s_fparams* init_def_fparams(void) {
|
||||
par->topology_path[0] = 0;
|
||||
par->fpocket_running = 0;
|
||||
par->xlig_resnumber = - 1;
|
||||
par->chain_is_kept = 0;
|
||||
return par;
|
||||
}
|
||||
|
||||
@@ -108,6 +109,7 @@ s_fparams* get_fpocket_args(int nargs, char **args) {
|
||||
opterr = 0;
|
||||
char *pt;
|
||||
short custom_ligand_i=0;
|
||||
|
||||
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},
|
||||
@@ -125,6 +127,8 @@ s_fparams* get_fpocket_args(int nargs, char **args) {
|
||||
{"model_number", required_argument, 0, M_PAR_MODEL_FLAG},
|
||||
{"custom_ligand", required_argument, 0, M_PAR_CUSTOM_LIGAND},
|
||||
{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*/
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@@ -133,7 +137,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:",
|
||||
c = getopt_long(nargs, args, "f:m:M:i:p:D:C:e:dxp:v:y:l:r:c:a:k:",
|
||||
fplong_options, &option_index);
|
||||
// printf("C: %d nargs : %d optindex:%d\n", c, nargs, option_index);
|
||||
|
||||
@@ -141,6 +145,24 @@ s_fparams* get_fpocket_args(int nargs, char **args) {
|
||||
case 0:
|
||||
break;
|
||||
|
||||
case M_PAR_CHAIN_AS_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);
|
||||
int nn = 0;
|
||||
while (pt != NULL) {
|
||||
strncpy(&(par->chain_as_ligand[nn]), pt, 1);
|
||||
nn++;
|
||||
pt = strtok(NULL, separatorss);
|
||||
}
|
||||
par->xlig_resnumber = 0;
|
||||
//printf("lig %s\n",par->chain_as_ligand);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case M_PAR_DROP_CHAINS :
|
||||
/*drop the selected chains from the pdb file*/
|
||||
strcpy(par->chain_delete, optarg); /*par->custom_ligand contains the arg given in cmd line*/
|
||||
@@ -153,7 +175,26 @@ s_fparams* get_fpocket_args(int nargs, char **args) {
|
||||
n++;
|
||||
pt = strtok(NULL, separators);
|
||||
}
|
||||
printf("%s\n",par->chain_delete);
|
||||
par->chain_is_kept = 0;
|
||||
//printf("%s\n",par->chain_delete);
|
||||
status++;
|
||||
break;
|
||||
|
||||
case M_PAR_KEEP_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);
|
||||
int nk = 0;
|
||||
while (pt != NULL) {
|
||||
strncpy(&(par->chain_delete[nk]), pt, 1);
|
||||
nk++;
|
||||
pt = strtok(NULL, separator);
|
||||
}
|
||||
//printf("%s\n",par->chain_delete);
|
||||
par->chain_is_kept = 1;
|
||||
status++;
|
||||
break;
|
||||
|
||||
@@ -168,8 +209,6 @@ s_fparams* get_fpocket_args(int nargs, char **args) {
|
||||
strcpy(par->custom_ligand, optarg);
|
||||
//printf("%s and %s",par->custom_ligand,optarg);
|
||||
pt = strtok( par->custom_ligand, ":");
|
||||
|
||||
|
||||
|
||||
while (pt != NULL) {
|
||||
custom_ligand_i++;
|
||||
@@ -750,6 +789,7 @@ void print_pocket_usage(FILE *f) {
|
||||
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 (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);
|
||||
@@ -773,6 +813,8 @@ void print_pocket_usage(FILE *f) {
|
||||
\t\t\t\t\t\t calculation of each pocket volume.(%d)\n", M_PAR_MC_ITER, M_PAR_LONG_MC_ITER, M_MC_ITER);
|
||||
fprintf(f, "\t-%c --%s (char)\t\t\t: Name of the chains to be deleted before pocket detection, \n\
|
||||
\t\t\t\t\t\t able to delete up to (%d) chains (ie : -c A,B,E)\n", M_PAR_DROP_CHAINS, M_PAR_DROP_CHAINS_LONG, M_MAX_CHAINS_DELETE);
|
||||
fprintf(f, "\t-%c --%s (char)\t\t\t: Name of the chains to be kept before pocket detection, \n\
|
||||
\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, "\n\033[1mFor more information: http://fpocket.sourceforge.net\033[0m\n");
|
||||
|
||||
}
|
||||
|
||||
201
src/rpdb.c
201
src/rpdb.c
@@ -841,24 +841,24 @@ s_pdb *rpdb_open(char *fpath, const char *ligan, const int keep_lig, int model_n
|
||||
if (model_flag == 0 || model_read == 1)
|
||||
{
|
||||
|
||||
if (!strncmp(buf, "ATOM ", 5))
|
||||
if (!strncmp(buf, "ATOM ", 5) && buf[21] != par->chain_as_ligand[0])
|
||||
{
|
||||
|
||||
//printf("%s",par->chain_delete ); // deleting the chains we want to delete from pdb file
|
||||
if (chains_to_delete(par->chain_delete, buf[21]))
|
||||
if (chains_to_delete(par->chain_delete, buf[21], par->chain_is_kept))
|
||||
{
|
||||
|
||||
/* Check if this is the first occurence of this atom*/
|
||||
rpdb_extract_atm_resname(buf, resb);
|
||||
rpdb_extract_atom_coordinates(buf, &x, &y, &z); /*extract and double check coordinates to avoid issues with wrong coordinates*/
|
||||
resnbuf = rpdb_extract_atm_resumber(buf);
|
||||
|
||||
if ((buf[16] == ' ' || buf[16] == 'A') && x < 9990 && y < 9990 && z < 9990)
|
||||
}
|
||||
if ((buf[16] == ' ' || buf[16] == 'A') && x < 9990 && y < 9990 && z < 9990)
|
||||
{
|
||||
if (chains_to_delete(par->chain_delete, buf[21], par->chain_is_kept))
|
||||
{
|
||||
/* Atom entry: check if there is a ligand in there (just in case)... */
|
||||
if (ligan && strlen(ligan) > 1 && ligan[0] == resb[0] && ligan[1] == resb[1] && ligan[2] == resb[2])
|
||||
{
|
||||
|
||||
if (keep_lig)
|
||||
{
|
||||
natm_lig++;
|
||||
@@ -874,38 +874,49 @@ s_pdb *rpdb_open(char *fpath, const char *ligan, const int keep_lig, int model_n
|
||||
natoms++;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
natoms++;
|
||||
}
|
||||
/*handle explicit ligand input here*/
|
||||
if (par->xlig_resnumber > -1)
|
||||
}
|
||||
/*handle explicit ligand input here*/
|
||||
if (par->xlig_resnumber > -1)
|
||||
{
|
||||
|
||||
// if (resb[0] == par->xlig_resname[0] && resb[1] == par->xlig_resname[1] && resb[2] == par->xlig_resname[2]) {
|
||||
//fprintf(stdout,"%s\t%s\n",buf[16],par->xlig_chain_code);
|
||||
|
||||
if (buf[21] == par->xlig_chain_code[0] && resnbuf == par->xlig_resnumber && par->xlig_resname[0] == resb[0] && par->xlig_resname[1] == resb[1] && par->xlig_resname[2] == resb[2])
|
||||
{
|
||||
|
||||
// if (resb[0] == par->xlig_resname[0] && resb[1] == par->xlig_resname[1] && resb[2] == par->xlig_resname[2]) {
|
||||
//fprintf(stdout,"%s\t%s\n",buf[16],par->xlig_chain_code);
|
||||
|
||||
if (buf[21] == par->xlig_chain_code[0] && resnbuf == par->xlig_resnumber && par->xlig_resname[0] == resb[0] && par->xlig_resname[1] == resb[1] && par->xlig_resname[2] == resb[2])
|
||||
{
|
||||
pdb->n_xlig_atoms++;
|
||||
fprintf(stdout, "%d\n", pdb->n_xlig_atoms);
|
||||
}
|
||||
pdb->n_xlig_atoms++;
|
||||
fprintf(stdout, "%d\n", pdb->n_xlig_atoms);
|
||||
}
|
||||
}
|
||||
|
||||
if (buf[21] == par->chain_as_ligand[0])
|
||||
{
|
||||
pdb->n_xlig_atoms++;
|
||||
//fprintf(stdout, "%d\t", pdb->n_xlig_atoms);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!strncmp(buf, "HETATM", 6))
|
||||
else if (!strncmp(buf, "HETATM", 6) || (!strncmp(buf, "ATOM ", 5) && buf[21] == par->chain_as_ligand[0]))
|
||||
{
|
||||
if (chains_to_delete(par->chain_delete, buf[21]))
|
||||
if (chains_to_delete(par->chain_delete, buf[21], par->chain_is_kept))
|
||||
{
|
||||
|
||||
/*Check again for the first occurence*/
|
||||
rpdb_extract_atom_coordinates(buf, &x, &y, &z); /*extract and double check coordinates to avoid issues with wrong coordinates*/
|
||||
resnbuf = rpdb_extract_atm_resumber(buf);
|
||||
if ((buf[16] == ' ' || buf[16] == 'A') && x < 9990 && y < 9990 && z < 9990)
|
||||
}
|
||||
if ((buf[16] == ' ' || buf[16] == 'A') && x < 9990 && y < 9990 && z < 9990)
|
||||
{
|
||||
/* Hetatom entry: check if there is a ligand in there too... */
|
||||
if (chains_to_delete(par->chain_delete, buf[21], par->chain_is_kept))
|
||||
{
|
||||
/* Hetatom entry: check if there is a ligand in there too... */
|
||||
rpdb_extract_atm_resname(buf, resb);
|
||||
|
||||
//printf("%s ",ligan);
|
||||
if (ligan && strlen(ligan) > 1 && keep_lig && ligan[0] == resb[0] && ligan[1] == resb[1] && ligan[2] == resb[2])
|
||||
{
|
||||
@@ -921,12 +932,13 @@ s_pdb *rpdb_open(char *fpath, const char *ligan, const int keep_lig, int model_n
|
||||
else
|
||||
{
|
||||
/* Keep specific HETATM given in the static list ST_keep_hetatm */
|
||||
if (keep_lig && !ligan && strncmp(resb, "HOH", 3) && strncmp(resb, "WAT", 3) && strncmp(resb, "TIP", 3))
|
||||
if ((keep_lig && !ligan && strncmp(resb, "HOH", 3) && strncmp(resb, "WAT", 3) && strncmp(resb, "TIP", 3)) || (keep_lig && buf[21] == par->chain_as_ligand[0]))
|
||||
{
|
||||
//printf("%s|%c ",resb,buf[21]);
|
||||
natoms++;
|
||||
nhetatm++;
|
||||
}
|
||||
else
|
||||
else if (buf[21] != par->chain_as_ligand[0])
|
||||
{
|
||||
for (i = 0; i < ST_nb_keep_hetatm; i++)
|
||||
{
|
||||
@@ -939,17 +951,22 @@ s_pdb *rpdb_open(char *fpath, const char *ligan, const int keep_lig, int model_n
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*handle explicit ligand input here*/
|
||||
/*handle explicit ligand input here*/
|
||||
|
||||
if (par->xlig_resnumber > -1)
|
||||
if (par->xlig_resnumber > -1)
|
||||
{
|
||||
if (buf[21] == par->xlig_chain_code[0] && resnbuf == par->xlig_resnumber && par->xlig_resname[0] == resb[0] && par->xlig_resname[1] == resb[1] && par->xlig_resname[2] == resb[2])
|
||||
{
|
||||
if (buf[21] == par->xlig_chain_code[0] && resnbuf == par->xlig_resnumber && par->xlig_resname[0] == resb[0] && par->xlig_resname[1] == resb[1] && par->xlig_resname[2] == resb[2])
|
||||
{
|
||||
pdb->n_xlig_atoms++;
|
||||
}
|
||||
pdb->n_xlig_atoms++;
|
||||
}
|
||||
}
|
||||
if (buf[21] == par->chain_as_ligand[0])
|
||||
{
|
||||
pdb->n_xlig_atoms++;
|
||||
//fprintf(stdout, "H%d\t", pdb->n_xlig_atoms);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1077,34 +1094,46 @@ void rpdb_read(s_pdb *pdb, const char *ligan, const int keep_lig, int model_numb
|
||||
}
|
||||
if (model_flag == 0 || model_read == 1)
|
||||
{
|
||||
if (strncmp(pdb_line, "ATOM ", 5) == 0)
|
||||
|
||||
if (strncmp(pdb_line, "ATOM ", 5) == 0 && pdb_line[21] != params->chain_as_ligand[0])
|
||||
{
|
||||
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21])) // deleting the chains we want to delete from pdb file
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21], params->chain_is_kept)) // deleting the chains we want to delete from pdb file
|
||||
{
|
||||
//printf("%s\n",params->chain_delete);
|
||||
|
||||
rpdb_extract_atom_coordinates(pdb_line, &tmpx, &tmpy, &tmpz); /*extract and double check coordinates to avoid issues with wrong coordinates*/
|
||||
}
|
||||
|
||||
//printf("%c ",pdb_line[16]); /* column 16 check for configuration of the residue e.g A,B */
|
||||
if ((pdb_line[16] == ' ' || pdb_line[16] == 'A') && tmpx < 9990 && tmpy < 9990 && tmpz < 9990)
|
||||
{ /*if within first occurence*/
|
||||
/* Store ATOM entry */
|
||||
//printf("%c ",pdb_line[16]); /* column 16 check for configuration of the residue e.g A,B */
|
||||
if ((pdb_line[16] == ' ' || pdb_line[16] == 'A') && tmpx < 9990 && tmpy < 9990 && tmpz < 9990)
|
||||
{ /*if within first occurence*/
|
||||
/* Store ATOM entry */
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21], params->chain_is_kept)) // deleting the chains we want to delete from pdb file
|
||||
{
|
||||
rpdb_extract_atm_resname(pdb_line, resb);
|
||||
|
||||
resnbuf = rpdb_extract_atm_resumber(pdb_line);
|
||||
|
||||
/* Enter this if when arg in command line is -r */
|
||||
if (pdb->n_xlig_atoms)
|
||||
}
|
||||
/* Enter this if when arg in command line is -r */
|
||||
if (pdb->n_xlig_atoms)
|
||||
{
|
||||
if (pdb_line[21] == params->xlig_chain_code[0] && resnbuf == params->xlig_resnumber && params->xlig_resname[0] == resb[0] && params->xlig_resname[1] == resb[1] && params->xlig_resname[2] == resb[2])
|
||||
{
|
||||
|
||||
if (pdb_line[21] == params->xlig_chain_code[0] && resnbuf == params->xlig_resnumber && params->xlig_resname[0] == resb[0] && params->xlig_resname[1] == resb[1] && params->xlig_resname[2] == resb[2])
|
||||
{
|
||||
rpdb_extract_atom_coordinates(pdb_line, (pdb->xlig_x + i_explicit_ligand_atom), (pdb->xlig_y + i_explicit_ligand_atom), (pdb->xlig_z + i_explicit_ligand_atom));
|
||||
i_explicit_ligand_atom++;
|
||||
}
|
||||
rpdb_extract_atom_coordinates(pdb_line, (pdb->xlig_x + i_explicit_ligand_atom), (pdb->xlig_y + i_explicit_ligand_atom), (pdb->xlig_z + i_explicit_ligand_atom));
|
||||
i_explicit_ligand_atom++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Enter this if when arg in command line is -a */
|
||||
if (pdb_line[21] == params->chain_as_ligand[0])
|
||||
{
|
||||
rpdb_extract_atom_coordinates(pdb_line, (pdb->xlig_x + i_explicit_ligand_atom), (pdb->xlig_y + i_explicit_ligand_atom), (pdb->xlig_z + i_explicit_ligand_atom));
|
||||
i_explicit_ligand_atom++;
|
||||
}
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21], params->chain_is_kept)) // deleting the chains we want to delete from pdb file
|
||||
{
|
||||
/* Check if the desired ligand is in such an entry */
|
||||
if (ligan && strlen(ligan) > 1 && ligan[0] == resb[0] && ligan[1] == resb[1] && ligan[2] == resb[2])
|
||||
{
|
||||
@@ -1162,6 +1191,7 @@ void rpdb_read(s_pdb *pdb, const char *ligan, const int keep_lig, int model_numb
|
||||
ligfound = 1;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1185,33 +1215,45 @@ void rpdb_read(s_pdb *pdb, const char *ligan, const int keep_lig, int model_numb
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (strncmp(pdb_line, "HETATM", 6) == 0)
|
||||
else if (strncmp(pdb_line, "HETATM", 6) == 0 || (strncmp(pdb_line, "ATOM ", 5) == 0 && pdb_line[21] == params->chain_as_ligand[0]))
|
||||
{
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21])) // deleting the chains we want to delete from pdb file
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21], params->chain_is_kept)) // deleting the chains we want to delete from pdb file
|
||||
{
|
||||
rpdb_extract_atom_coordinates(pdb_line, &tmpx, &tmpy, &tmpz); /*extract and double check coordinates to avoid issues with wrong coordinates*/
|
||||
if ((pdb_line[16] == ' ' || pdb_line[16] == 'A') && tmpx < 9990 && tmpy < 9990 && tmpz < 9990)
|
||||
{ /*first occurence*/
|
||||
/* Check HETATM entry */
|
||||
}
|
||||
if ((pdb_line[16] == ' ' || pdb_line[16] == 'A') && tmpx < 9990 && tmpy < 9990 && tmpz < 9990)
|
||||
{ /*first occurence*/
|
||||
/* Check HETATM entry */
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21], params->chain_is_kept)) // deleting the chains we want to delete from pdb file
|
||||
{
|
||||
rpdb_extract_atm_resname(pdb_line, resb);
|
||||
resnbuf = rpdb_extract_atm_resumber(pdb_line);
|
||||
}
|
||||
|
||||
if (pdb->n_xlig_atoms)
|
||||
if (pdb->n_xlig_atoms)
|
||||
{
|
||||
if (pdb_line[21] == params->xlig_chain_code[0] && resnbuf == params->xlig_resnumber && params->xlig_resname[0] == resb[0] && params->xlig_resname[1] == resb[1] && params->xlig_resname[2] == resb[2])
|
||||
{
|
||||
if (pdb_line[21] == params->xlig_chain_code[0] && resnbuf == params->xlig_resnumber && params->xlig_resname[0] == resb[0] && params->xlig_resname[1] == resb[1] && params->xlig_resname[2] == resb[2])
|
||||
{
|
||||
//if (params->xlig_resname[0] == resb[0] && params->xlig_resname[1] == resb[1] && params->xlig_resname[2] == resb[2]) {
|
||||
//if (params->xlig_resname[0] == resb[0] && params->xlig_resname[1] == resb[1] && params->xlig_resname[2] == resb[2]) {
|
||||
|
||||
rpdb_extract_atom_coordinates(pdb_line, (pdb->xlig_x + i_explicit_ligand_atom), (pdb->xlig_y + i_explicit_ligand_atom), (pdb->xlig_z + i_explicit_ligand_atom));
|
||||
rpdb_extract_atom_coordinates(pdb_line, (pdb->xlig_x + i_explicit_ligand_atom), (pdb->xlig_y + i_explicit_ligand_atom), (pdb->xlig_z + i_explicit_ligand_atom));
|
||||
|
||||
i_explicit_ligand_atom++;
|
||||
}
|
||||
i_explicit_ligand_atom++;
|
||||
}
|
||||
//fflush(stdout);
|
||||
}
|
||||
if (pdb_line[21] == params->chain_as_ligand[0])
|
||||
{
|
||||
|
||||
rpdb_extract_atom_coordinates(pdb_line, (pdb->xlig_x + i_explicit_ligand_atom), (pdb->xlig_y + i_explicit_ligand_atom), (pdb->xlig_z + i_explicit_ligand_atom));
|
||||
//printf("%d\n", i_explicit_ligand_atom);
|
||||
i_explicit_ligand_atom++;
|
||||
}
|
||||
//fflush(stdout);
|
||||
if (chains_to_delete(params->chain_delete, pdb_line[21], params->chain_is_kept)) // deleting the chains we want to delete from pdb file
|
||||
{
|
||||
/* Check if the desired ligand is in HETATM entry */
|
||||
if (ligan && strlen(ligan) > 1 && keep_lig && ligan[0] == resb[0] && ligan[1] == resb[1] && ligan[2] == resb[2])
|
||||
{
|
||||
|
||||
atom = atoms + iatoms;
|
||||
rpdb_extract_pdb_atom(pdb_line, atom->type, &(atom->id),
|
||||
atom->name, &(atom->pdb_aloc), atom->res_name,
|
||||
@@ -1234,6 +1276,7 @@ void rpdb_read(s_pdb *pdb, const char *ligan, const int keep_lig, int model_numb
|
||||
}
|
||||
else if (ligan && strlen(ligan) == 1 && ligan[0] == pdb_line[21])
|
||||
{
|
||||
|
||||
if (keep_lig)
|
||||
{
|
||||
|
||||
@@ -1262,8 +1305,9 @@ void rpdb_read(s_pdb *pdb, const char *ligan, const int keep_lig, int model_numb
|
||||
{
|
||||
|
||||
/* Keep specific HETATM given in the static list ST_keep_hetatm. */
|
||||
if (keep_lig && !ligan && strncmp(resb, "HOH", 3) && strncmp(resb, "WAT", 3) && strncmp(resb, "TIP", 3))
|
||||
if ((keep_lig && !ligan && strncmp(resb, "HOH", 3) && strncmp(resb, "WAT", 3) && strncmp(resb, "TIP", 3)) || (keep_lig && pdb_line[21] == params->chain_as_ligand[0]))
|
||||
{
|
||||
|
||||
atom = atoms + iatoms;
|
||||
rpdb_extract_pdb_atom(pdb_line, atom->type, &(atom->id),
|
||||
atom->name, &(atom->pdb_aloc), atom->res_name,
|
||||
@@ -1283,12 +1327,14 @@ void rpdb_read(s_pdb *pdb, const char *ligan, const int keep_lig, int model_numb
|
||||
ihetatm++;
|
||||
iatoms++;
|
||||
}
|
||||
else
|
||||
else if (pdb_line[21] != params->chain_as_ligand[0])
|
||||
{
|
||||
|
||||
for (i = 0; i < ST_nb_keep_hetatm; i++)
|
||||
{
|
||||
if (ST_keep_hetatm[i][0] == resb[0] && ST_keep_hetatm[i][1] == resb[1] && ST_keep_hetatm[i][2] == resb[2])
|
||||
{
|
||||
|
||||
atom = atoms + iatoms;
|
||||
rpdb_extract_pdb_atom(pdb_line, atom->type, &(atom->id),
|
||||
atom->name, &(atom->pdb_aloc), atom->res_name,
|
||||
@@ -1452,18 +1498,37 @@ void free_pdb_atoms(s_pdb *pdb)
|
||||
int
|
||||
|
||||
*/
|
||||
int chains_to_delete(char *chains_selected, char *current_line_chain)
|
||||
int chains_to_delete(char *chains_selected, char *current_line_chain, int is_chain_kept)
|
||||
{ /*deletes the chains selected by command -c, returns true if the chain correspond false if not*/
|
||||
int is_deleted = 1;
|
||||
int i = 0;
|
||||
for (i = 0; i < M_MAX_CHAINS_DELETE; i++)
|
||||
|
||||
if (is_chain_kept == 0)
|
||||
{
|
||||
if (chains_selected[i] == current_line_chain)
|
||||
int is_deleted = 1;
|
||||
int i = 0;
|
||||
for (i = 0; i < M_MAX_CHAINS_DELETE; i++)
|
||||
{
|
||||
//printf("%c_%c ", chains_selected[i],current_line_chain);
|
||||
is_deleted = 0;
|
||||
if (chains_selected[i] == current_line_chain)
|
||||
{
|
||||
//printf("%c_%c ", chains_selected[i],current_line_chain);
|
||||
is_deleted = 0;
|
||||
}
|
||||
}
|
||||
//printf("\n");
|
||||
return is_deleted;
|
||||
}
|
||||
else
|
||||
{
|
||||
int is_deleted = 0;
|
||||
int i = 0;
|
||||
for (i = 0; i < M_MAX_CHAINS_DELETE; i++)
|
||||
{
|
||||
if (chains_selected[i] == current_line_chain)
|
||||
{
|
||||
//printf("%c_%c ", chains_selected[i],current_line_chain);
|
||||
is_deleted = 1;
|
||||
}
|
||||
}
|
||||
//printf("\n");
|
||||
return is_deleted;
|
||||
}
|
||||
//printf("\n");
|
||||
return is_deleted;
|
||||
}
|
||||
@@ -93,10 +93,12 @@ s_lst_vvertice* load_vvertices_DEPRECATED(s_pdb *pdb, int min_apol_neigh, float
|
||||
FILE *fvoro = fopen(tmpn1, "w+");
|
||||
FILE *ftmp = fopen(tmpn2, "w");
|
||||
|
||||
|
||||
if (fvoro != NULL) {
|
||||
lvvert = (s_lst_vvertice *) my_malloc(sizeof (s_lst_vvertice));
|
||||
lvvert->h_tr = NULL;
|
||||
/* Loop a first time to get out how many heavy atoms are in the file */
|
||||
|
||||
for (i = 0; i < pdb->natoms; i++) {
|
||||
ca = (pdb->latoms) + i;
|
||||
if (strcmp(ca->symbol, "H") != 0) {
|
||||
@@ -181,7 +183,6 @@ s_lst_vvertice* load_vvertices(s_pdb *pdb, int min_apol_neigh, float asph_min_si
|
||||
|
||||
pid_t pid = getpid();
|
||||
|
||||
|
||||
sprintf(tmpn1, "/tmp/qvoro_in_fpocket_%d.dat", pid);
|
||||
sprintf(tmpn2, "/tmp/qvoro_out_fpocket_%d.dat", pid);
|
||||
// fprintf(stdout, tmpn1);
|
||||
@@ -601,7 +602,9 @@ void fill_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms, in
|
||||
else v->type = M_POLAR_AS;
|
||||
|
||||
v->qhullId = i; /* Set index in the qhull file */
|
||||
if(pdb->n_xlig_atoms>0) v->resid=1;
|
||||
if(pdb->n_xlig_atoms>0) {
|
||||
v->resid=1;
|
||||
}
|
||||
|
||||
else v->resid = -1; /* Initialize internal index */
|
||||
|
||||
@@ -1080,9 +1083,12 @@ float testVvertice(float xyz[3], int curNbIdx[4], s_atm *atoms,
|
||||
printf("here %d\n",dist(xlig_x,xlig_y,xlig_z, x,y,z));*/
|
||||
if(dist(xlig_x, xlig_y, xlig_z, x,y,z)<=(distVatom1)){
|
||||
/*TODO, debug why not working here*/
|
||||
//printf("xl:%.2f|yl:%.2f|zl:%.2f\t x:%.2f|y:%.2f|z:%.2f\n", xlig_x, xlig_y, xlig_z,x,y,z);
|
||||
//printf("here %f\t %f\n",dist(xlig_x,xlig_y,xlig_z, x,y,z),distVatom1);
|
||||
/*TODO: add manual clustering for explicit pockets*/
|
||||
return distVatom1;
|
||||
};
|
||||
|
||||
}
|
||||
return(-1.0);
|
||||
}
|
||||
|
||||
15
tests/reference_output/2P0R_mod_out/2P0R_mod.pml
Normal file
15
tests/reference_output/2P0R_mod_out/2P0R_mod.pml
Normal file
@@ -0,0 +1,15 @@
|
||||
from pymol import cmd,stored
|
||||
load 2P0R_mod_out.pdb
|
||||
#select pockets, resn STP
|
||||
stored.list=[]
|
||||
cmd.iterate("(resn STP)","stored.list.append(resi)") #read info about residues STP
|
||||
#print stored.list
|
||||
lastSTP=stored.list[-1] #get the index of the last residu
|
||||
hide lines, resn STP
|
||||
|
||||
#show spheres, resn STP
|
||||
for my_index in range(1,int(lastSTP)+1): cmd.select("pocket"+str(my_index), "resn STP and resi "+str(my_index))
|
||||
for my_index in range(2,int(lastSTP)+2): cmd.color(my_index,"pocket"+str(my_index))
|
||||
for my_index in range(1,int(lastSTP)+1): cmd.show("spheres","pocket"+str(my_index))
|
||||
for my_index in range(1,int(lastSTP)+1): cmd.set("sphere_scale","0.3","pocket"+str(my_index))
|
||||
for my_index in range(1,int(lastSTP)+1): cmd.set("sphere_transparency","0.1","pocket"+str(my_index))
|
||||
24
tests/reference_output/2P0R_mod_out/2P0R_mod.tcl
Normal file
24
tests/reference_output/2P0R_mod_out/2P0R_mod.tcl
Normal file
@@ -0,0 +1,24 @@
|
||||
proc highlighting { colorId representation id selection } {
|
||||
puts "highlighting $id"
|
||||
mol representation $representation
|
||||
mol material "Diffuse"
|
||||
mol color $colorId
|
||||
mol selection $selection
|
||||
mol addrep $id
|
||||
}
|
||||
|
||||
set id [mol new 2P0R_mod_out.pdb type pdb]
|
||||
mol delrep top $id
|
||||
highlighting Name "Lines" $id "protein"
|
||||
highlighting Name "Licorice" $id "not protein and not resname STP"
|
||||
highlighting Element "NewCartoon" $id "protein"
|
||||
highlighting "ColorID 7" "VdW 0.4" $id "protein and occupancy>0.95"
|
||||
set id [mol new 2P0R_mod_pockets.pqr type pqr]
|
||||
mol selection "all"
|
||||
mol material "Glass3"
|
||||
mol delrep top $id
|
||||
mol representation "QuickSurf 0.3"
|
||||
mol color ResId $id
|
||||
mol addrep $id
|
||||
highlighting Index "Points 1" $id "resname STP"
|
||||
display rendermode GLSL
|
||||
2
tests/reference_output/2P0R_mod_out/2P0R_mod_PYMOL.sh
Executable file
2
tests/reference_output/2P0R_mod_out/2P0R_mod_PYMOL.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
pymol 2P0R_mod.pml
|
||||
2
tests/reference_output/2P0R_mod_out/2P0R_mod_VMD.sh
Executable file
2
tests/reference_output/2P0R_mod_out/2P0R_mod_VMD.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
vmd 2P0R_mod_out.pdb -e 2P0R_mod.tcl
|
||||
21
tests/reference_output/2P0R_mod_out/2P0R_mod_info.txt
Normal file
21
tests/reference_output/2P0R_mod_out/2P0R_mod_info.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
Pocket 1 :
|
||||
Score : 0.156
|
||||
Druggability Score : 0.421
|
||||
Number of Alpha Spheres : 100
|
||||
Total SASA : 195.984
|
||||
Polar SASA : 87.297
|
||||
Apolar SASA : 108.687
|
||||
Volume : 1933.883
|
||||
Mean local hydrophobic density : 19.643
|
||||
Mean alpha sphere radius : 4.224
|
||||
Mean alp. sph. solvent access : 0.508
|
||||
Apolar alpha sphere proportion : 0.280
|
||||
Hydrophobicity score: 12.962
|
||||
Volume score: 3.462
|
||||
Polarity score: 15
|
||||
Charge score : -2
|
||||
Proportion of polar atoms: 46.970
|
||||
Alpha sphere density : 7.636
|
||||
Cent. of mass - Alpha Sphere max dist: 20.089
|
||||
Flexibility : 0.000
|
||||
|
||||
5221
tests/reference_output/2P0R_mod_out/2P0R_mod_out.pdb
Normal file
5221
tests/reference_output/2P0R_mod_out/2P0R_mod_out.pdb
Normal file
File diff suppressed because it is too large
Load Diff
105
tests/reference_output/2P0R_mod_out/2P0R_mod_pockets.pqr
Normal file
105
tests/reference_output/2P0R_mod_out/2P0R_mod_pockets.pqr
Normal file
@@ -0,0 +1,105 @@
|
||||
HEADER
|
||||
HEADER This is a pqr format file writen by the programm fpocket.
|
||||
HEADER It contains all the pocket vertices found by fpocket.
|
||||
ATOM 1 O STP 1 -7.927 25.710 29.491 0.00 5.17
|
||||
ATOM 2 O STP 1 -0.944 21.557 24.346 0.00 3.44
|
||||
ATOM 3 C STP 1 -0.390 21.119 25.163 0.00 3.64
|
||||
ATOM 4 C STP 1 -0.497 19.750 26.137 0.00 3.65
|
||||
ATOM 5 O STP 1 -1.505 21.560 24.468 0.00 3.47
|
||||
ATOM 6 O STP 1 -7.006 23.099 31.939 0.00 4.34
|
||||
ATOM 7 C STP 1 -2.421 19.598 26.681 0.00 4.15
|
||||
ATOM 8 O STP 1 -1.904 20.950 25.868 0.00 3.94
|
||||
ATOM 9 O STP 1 -1.138 19.994 26.698 0.00 4.16
|
||||
ATOM 10 O STP 1 -0.610 21.340 26.848 0.00 3.56
|
||||
ATOM 11 O STP 1 -1.105 20.703 26.217 0.00 4.05
|
||||
ATOM 12 C STP 1 -2.450 19.593 26.684 0.00 4.15
|
||||
ATOM 13 C STP 1 -0.703 20.660 31.637 0.00 3.51
|
||||
ATOM 14 O STP 1 -0.812 20.704 31.050 0.00 3.49
|
||||
ATOM 15 C STP 1 -0.219 20.522 28.381 0.00 3.59
|
||||
ATOM 16 O STP 1 -0.246 20.464 28.365 0.00 3.61
|
||||
ATOM 17 O STP 1 2.253 18.734 33.805 0.00 3.49
|
||||
ATOM 18 O STP 1 2.716 18.560 34.058 0.00 3.45
|
||||
ATOM 19 O STP 1 -2.017 21.009 25.831 0.00 3.92
|
||||
ATOM 20 C STP 1 -7.684 25.074 29.391 0.00 4.87
|
||||
ATOM 21 C STP 1 -5.738 21.726 22.846 0.00 4.15
|
||||
ATOM 22 O STP 1 -4.802 20.822 26.086 0.00 4.22
|
||||
ATOM 23 O STP 1 -3.784 20.874 25.890 0.00 3.98
|
||||
ATOM 24 O STP 1 -2.002 21.755 24.422 0.00 3.47
|
||||
ATOM 25 O STP 1 -3.770 21.486 26.150 0.00 3.48
|
||||
ATOM 26 O STP 1 -3.053 21.034 25.802 0.00 3.86
|
||||
ATOM 27 O STP 1 -2.286 21.303 25.452 0.00 3.76
|
||||
ATOM 28 C STP 1 -2.467 19.582 26.696 0.00 4.15
|
||||
ATOM 29 C STP 1 -3.065 18.013 27.593 0.00 4.08
|
||||
ATOM 30 O STP 1 -4.069 15.575 26.940 0.00 3.56
|
||||
ATOM 31 O STP 1 -3.587 13.987 38.073 0.00 4.16
|
||||
ATOM 32 O STP 1 -3.704 14.174 38.166 0.00 4.28
|
||||
ATOM 33 O STP 1 -5.656 15.984 36.278 0.00 4.39
|
||||
ATOM 34 O STP 1 -5.504 16.518 38.204 0.00 5.63
|
||||
ATOM 35 C STP 1 -6.227 18.398 36.193 0.00 6.02
|
||||
ATOM 36 O STP 1 -3.847 18.514 36.288 0.00 4.85
|
||||
ATOM 37 O STP 1 -5.712 16.109 39.065 0.00 5.80
|
||||
ATOM 38 O STP 1 -3.819 14.133 38.275 0.00 4.27
|
||||
ATOM 39 O STP 1 -4.642 15.555 38.606 0.00 5.18
|
||||
ATOM 40 O STP 1 -4.979 16.043 38.743 0.00 5.59
|
||||
ATOM 41 O STP 1 -4.914 16.042 38.749 0.00 5.56
|
||||
ATOM 42 O STP 1 -4.641 18.226 28.432 0.00 5.06
|
||||
ATOM 43 C STP 1 -3.129 18.059 27.644 0.00 4.13
|
||||
ATOM 44 O STP 1 -2.825 18.832 27.555 0.00 4.37
|
||||
ATOM 45 C STP 1 -3.030 18.141 27.600 0.00 4.12
|
||||
ATOM 46 O STP 1 -1.764 19.741 31.334 0.00 3.95
|
||||
ATOM 47 O STP 1 -1.278 19.903 31.356 0.00 3.93
|
||||
ATOM 48 O STP 1 -1.286 19.922 31.268 0.00 3.93
|
||||
ATOM 49 O STP 1 -0.653 19.833 28.635 0.00 3.77
|
||||
ATOM 50 O STP 1 -1.291 18.558 33.444 0.00 4.21
|
||||
ATOM 51 O STP 1 0.141 18.540 33.212 0.00 3.88
|
||||
ATOM 52 O STP 1 -0.337 17.740 33.506 0.00 3.75
|
||||
ATOM 53 O STP 1 -0.856 18.760 27.475 0.00 3.57
|
||||
ATOM 54 O STP 1 -2.728 14.181 37.978 0.00 3.82
|
||||
ATOM 55 O STP 1 -0.221 17.529 33.664 0.00 3.59
|
||||
ATOM 56 C STP 1 -3.437 18.918 36.407 0.00 4.47
|
||||
ATOM 57 O STP 1 -2.278 19.673 36.184 0.00 3.62
|
||||
ATOM 58 C STP 1 -4.398 20.219 36.733 0.00 4.08
|
||||
ATOM 59 O STP 1 -1.215 19.866 26.768 0.00 4.18
|
||||
ATOM 60 C STP 1 -2.296 19.575 26.726 0.00 4.15
|
||||
ATOM 61 C STP 1 -0.463 19.697 26.108 0.00 3.61
|
||||
ATOM 62 O STP 1 -0.646 18.417 26.693 0.00 3.44
|
||||
ATOM 63 O STP 1 -1.504 19.313 27.220 0.00 4.28
|
||||
ATOM 64 O STP 1 -1.799 19.199 27.242 0.00 4.28
|
||||
ATOM 65 O STP 1 -1.195 18.862 27.071 0.00 3.93
|
||||
ATOM 66 C STP 1 -1.255 18.277 26.909 0.00 3.58
|
||||
ATOM 67 O STP 1 -1.374 19.085 27.170 0.00 4.12
|
||||
ATOM 68 C STP 1 -1.665 18.991 27.195 0.00 4.13
|
||||
ATOM 69 C STP 1 0.538 20.926 24.251 0.00 3.40
|
||||
ATOM 70 O STP 1 -4.253 16.196 38.650 0.00 5.21
|
||||
ATOM 71 C STP 1 -0.660 17.674 41.151 0.00 3.82
|
||||
ATOM 72 O STP 1 -0.665 17.381 41.718 0.00 4.21
|
||||
ATOM 73 O STP 1 -2.320 14.385 37.937 0.00 3.72
|
||||
ATOM 74 O STP 1 -3.527 17.299 37.574 0.00 4.60
|
||||
ATOM 75 O STP 1 1.896 18.908 33.762 0.00 3.44
|
||||
ATOM 76 C STP 1 -0.502 20.722 31.885 0.00 3.42
|
||||
ATOM 77 O STP 1 -0.828 18.820 33.297 0.00 4.14
|
||||
ATOM 78 O STP 1 -0.715 19.279 32.645 0.00 3.96
|
||||
ATOM 79 O STP 1 -0.068 18.700 33.204 0.00 3.95
|
||||
ATOM 80 O STP 1 2.761 18.546 34.093 0.00 3.44
|
||||
ATOM 81 O STP 1 2.783 18.567 34.049 0.00 3.45
|
||||
ATOM 82 C STP 1 -4.983 18.148 28.557 0.00 5.25
|
||||
ATOM 83 C STP 1 -6.697 18.281 32.723 0.00 6.16
|
||||
ATOM 84 O STP 1 -6.877 15.226 26.592 0.00 3.64
|
||||
ATOM 85 O STP 1 -5.571 16.002 26.870 0.00 3.92
|
||||
ATOM 86 O STP 1 -4.952 18.143 28.746 0.00 5.22
|
||||
ATOM 87 C STP 1 -4.516 15.952 27.324 0.00 3.90
|
||||
ATOM 88 C STP 1 -6.455 17.186 32.808 0.00 5.30
|
||||
ATOM 89 C STP 1 -6.466 17.333 32.806 0.00 5.42
|
||||
ATOM 90 O STP 1 -5.335 18.346 31.496 0.00 5.69
|
||||
ATOM 91 O STP 1 -5.324 18.315 31.552 0.00 5.68
|
||||
ATOM 92 O STP 1 -3.887 15.796 31.076 0.00 3.86
|
||||
ATOM 93 C STP 1 -3.831 15.614 31.082 0.00 3.77
|
||||
ATOM 94 O STP 1 -5.263 16.341 42.194 0.00 5.12
|
||||
ATOM 95 O STP 1 -4.438 16.373 40.937 0.00 4.86
|
||||
ATOM 96 O STP 1 -4.111 16.415 42.058 0.00 4.74
|
||||
ATOM 97 O STP 1 -6.809 16.200 40.052 0.00 6.13
|
||||
ATOM 98 O STP 1 -6.390 16.221 39.684 0.00 6.00
|
||||
ATOM 99 O STP 1 2.836 18.727 33.815 0.00 3.49
|
||||
ATOM 100 O STP 1 2.888 18.613 33.980 0.00 3.47
|
||||
TER
|
||||
END
|
||||
88
tests/reference_output/2P0R_mod_out/pockets/pocket1_atm.pdb
Normal file
88
tests/reference_output/2P0R_mod_out/pockets/pocket1_atm.pdb
Normal file
@@ -0,0 +1,88 @@
|
||||
HEADER
|
||||
HEADER This is a pdb format file writen by the programm fpocket.
|
||||
HEADER It represents the atoms contacted by the voronoi vertices of the pocket.
|
||||
HEADER
|
||||
HEADER Information about the pocket 1:
|
||||
HEADER 0 - Pocket Score : 0.1562
|
||||
HEADER 1 - Drug Score : 0.4209
|
||||
HEADER 2 - Number of alpha spheres : 100
|
||||
HEADER 3 - Mean alpha-sphere radius : 4.2242
|
||||
HEADER 4 - Mean alpha-sphere Solvent Acc. : 0.5076
|
||||
HEADER 5 - Mean B-factor of pocket residues : 0.0000
|
||||
HEADER 6 - Hydrophobicity Score : 12.9615
|
||||
HEADER 7 - Polarity Score : 15
|
||||
HEADER 8 - Amino Acid based volume Score : 3.4615
|
||||
HEADER 9 - Pocket volume (Monte Carlo) : 1933.8832
|
||||
HEADER 10 -Pocket volume (convex hull) : 700.1219
|
||||
HEADER 11 - Charge Score : -2
|
||||
HEADER 12 - Local hydrophobic density Score : 19.6429
|
||||
HEADER 13 - Number of apolar alpha sphere : 28
|
||||
HEADER 14 - Proportion of apolar alpha sphere : 0.2800
|
||||
ATOM 1378 CA GLY A 190 -3.069 24.572 30.848 0.00 0.00 C 0
|
||||
ATOM 1385 CB SER A 191 -3.958 24.958 26.264 0.00 0.00 C 0
|
||||
ATOM 1407 OE1 GLU A 194 -3.709 28.683 29.816 0.00 0.00 O 0
|
||||
ATOM 1381 N SER A 191 -2.905 25.010 28.479 0.00 0.00 N 0
|
||||
ATOM 1387 N ALA A 192 -0.717 24.707 25.707 0.00 0.00 N 0
|
||||
ATOM 1708 CD1 PHE A 233 -1.372 18.506 22.820 0.00 0.00 C 0
|
||||
ATOM 2514 OE2 GLU A 332 -1.745 20.996 21.050 0.94 2.14 O 0
|
||||
ATOM 1391 CB ALA A 192 1.169 24.266 24.193 0.00 0.00 C 0
|
||||
ATOM 1875 CB ALA A 255 2.918 20.919 26.678 0.00 0.00 C 0
|
||||
ATOM 1871 N ALA A 255 2.705 18.589 27.448 0.00 0.00 N 0
|
||||
ATOM 1872 CA ALA A 255 3.134 19.444 26.343 0.00 0.00 C 0
|
||||
ATOM 1710 CE1 PHE A 233 -2.716 18.891 22.605 0.00 0.00 C 0
|
||||
ATOM 1375 C GLY A 189 -2.873 23.712 33.124 0.00 0.00 C 0
|
||||
ATOM 1377 N GLY A 190 -2.688 23.547 31.816 0.00 0.00 N 0
|
||||
ATOM 1376 O GLY A 189 -3.355 24.744 33.620 0.59 1.07 O 0
|
||||
ATOM 1380 O GLY A 190 -2.803 22.883 29.185 0.00 0.00 O 0
|
||||
ATOM 1709 CD2 PHE A 233 -2.136 16.521 23.915 0.00 0.00 C 0
|
||||
ATOM 629 CB TRP A 98 1.005 23.879 28.745 0.00 0.00 C 0
|
||||
ATOM 1712 CZ PHE A 233 -3.744 18.091 23.041 0.00 0.00 C 0
|
||||
ATOM 624 SG CYS A 97 2.577 20.007 30.576 0.00 0.00 S 0
|
||||
ATOM 1374 CA GLY A 189 -2.458 22.559 34.008 0.00 0.00 C 0
|
||||
ATOM 631 CD1 TRP A 98 0.531 23.921 31.248 0.00 0.00 C 0
|
||||
ATOM 608 CA GLY A 95 2.503 21.248 36.208 0.00 0.00 C 0
|
||||
ATOM 2906 NE2 GLN B 62 0.939 18.225 36.994 0.00 0.00 N 0
|
||||
ATOM 1786 OE2 GLU A 243 2.492 15.584 32.332 0.00 0.00 O 0
|
||||
ATOM 1784 CD GLU A 243 2.694 15.158 33.499 0.00 0.00 C 0
|
||||
ATOM 1382 CA SER A 191 -2.701 24.663 27.080 0.00 0.00 C 0
|
||||
ATOM 1379 C GLY A 190 -2.921 24.081 29.426 0.00 0.00 C 0
|
||||
ATOM 1386 OG SER A 191 -3.724 24.727 24.886 0.57 6.43 O 0
|
||||
ATOM 1399 CD1 ILE A 193 -4.273 25.106 20.935 0.00 0.00 C 0
|
||||
ATOM 1711 CE2 PHE A 233 -3.457 16.897 23.692 0.00 0.00 C 0
|
||||
ATOM 1859 C GLY A 253 -0.072 15.654 29.040 0.00 0.00 C 0
|
||||
ATOM 1858 CA GLY A 253 -1.116 14.599 28.671 0.00 0.00 C 0
|
||||
ATOM 1716 O ILE A 234 -1.778 13.371 25.339 0.00 0.00 O 0
|
||||
ATOM 1729 N THR A 236 -4.945 12.140 26.625 0.51 2.19 N 0
|
||||
ATOM 2873 C GLU B 59 -0.834 12.124 40.583 0.00 0.00 C 0
|
||||
ATOM 1777 OG SER A 242 -2.074 14.501 34.227 0.55 6.43 O 0
|
||||
ATOM 1776 CB SER A 242 -2.940 13.400 34.001 0.00 0.00 C 0
|
||||
ATOM 1756 O ALA A 239 -5.685 11.711 35.287 0.52 7.50 O 0
|
||||
ATOM 2874 O GLU B 59 -0.742 13.219 41.098 0.45 8.57 O 0
|
||||
ATOM 1757 CB ALA A 239 -8.655 12.980 35.171 0.00 0.00 C 0
|
||||
ATOM 1371 CE LYS A 188 -2.628 20.847 40.357 0.00 0.00 C 0
|
||||
ATOM 2871 N GLU B 59 -2.827 11.860 41.757 0.00 0.00 N 0
|
||||
ATOM 1860 O GLY A 253 -0.215 16.355 30.028 0.00 0.00 O 0
|
||||
ATOM 1861 N HIS A 254 0.956 15.779 28.210 0.00 0.00 N 0
|
||||
ATOM 2880 N ARG B 60 -0.178 11.767 39.486 0.41 4.37 N 0
|
||||
ATOM 1783 CG GLU A 243 1.575 14.473 34.258 0.00 0.00 C 0
|
||||
ATOM 1369 CG LYS A 188 -1.361 22.226 38.580 0.00 0.00 C 0
|
||||
ATOM 1373 N GLY A 189 -1.500 23.000 34.991 0.00 0.00 N 0
|
||||
ATOM 1367 O LYS A 188 -3.008 24.033 36.303 0.50 3.21 O 0
|
||||
ATOM 1707 CG PHE A 233 -1.075 17.309 23.466 0.00 0.00 C 0
|
||||
ATOM 1706 CB PHE A 233 0.351 16.918 23.763 0.00 0.00 C 0
|
||||
ATOM 2513 OE1 GLU A 332 0.238 22.000 21.040 0.69 2.14 O 0
|
||||
ATOM 2905 OE1 GLN B 62 0.920 16.211 37.999 0.65 3.21 O 0
|
||||
ATOM 2903 CG GLN B 62 2.406 17.910 38.889 0.00 0.00 C 0
|
||||
ATOM 2904 CD GLN B 62 1.349 17.373 37.919 0.00 0.00 C 0
|
||||
ATOM 610 O GLY A 95 1.251 22.223 34.411 0.00 0.00 O 0
|
||||
ATOM 1785 OE1 GLU A 243 3.783 15.261 34.092 0.00 0.00 O 0
|
||||
ATOM 1735 CG2 THR A 236 -6.115 13.099 29.447 0.00 0.00 C 0
|
||||
ATOM 1727 OD1 ASP A 235 -5.761 14.755 23.158 0.70 4.29 O 0
|
||||
ATOM 1732 O THR A 236 -7.509 11.799 27.646 0.44 5.36 O 0
|
||||
ATOM 1754 CA ALA A 239 -7.769 12.233 34.170 0.00 0.00 C 0
|
||||
ATOM 2868 O SER B 58 -2.600 12.325 43.922 0.61 4.29 O 0
|
||||
ATOM 1372 NZ LYS A 188 -3.438 21.085 41.590 0.00 0.00 N 0
|
||||
ATOM 2869 CB SER B 58 -5.491 11.456 43.707 0.00 0.00 C 0
|
||||
ATOM 585 NE2 GLN A 91 5.950 20.196 34.395 0.00 0.00 N 0
|
||||
TER
|
||||
END
|
||||
122
tests/reference_output/2P0R_mod_out/pockets/pocket1_vert.pqr
Normal file
122
tests/reference_output/2P0R_mod_out/pockets/pocket1_vert.pqr
Normal file
@@ -0,0 +1,122 @@
|
||||
HEADER
|
||||
HEADER This is a pqr format file writen by the programm fpocket.
|
||||
HEADER It represent the voronoi vertices of a single pocket found by the
|
||||
HEADER algorithm.
|
||||
HEADER
|
||||
HEADER Information about the pocket 1:
|
||||
HEADER 0 - Pocket Score : 0.1562
|
||||
HEADER 1 - Drug Score : 0.4209
|
||||
HEADER 2 - Number of V. Vertices : 100
|
||||
HEADER 3 - Mean alpha-sphere radius : 4.2242
|
||||
HEADER 4 - Mean alpha-sphere SA : 0.5076
|
||||
HEADER 5 - Mean B-factor : 0.0000
|
||||
HEADER 6 - Hydrophobicity Score : 12.9615
|
||||
HEADER 7 - Polarity Score : 15
|
||||
HEADER 8 - Volume Score : 3.4615
|
||||
HEADER 9 - Real volume (approximation) : 1933.8832
|
||||
HEADER 10 - Charge Score : -2
|
||||
HEADER 11 - Local hydrophobic density Score : 19.6429
|
||||
HEADER 12 - Number of apolar alpha sphere : 28
|
||||
HEADER 13 - Proportion of apolar alpha sphere : 0.2800
|
||||
ATOM 1 O STP 1 -7.927 25.710 29.491 0.00 5.17
|
||||
ATOM 2 O STP 1 -0.944 21.557 24.346 0.00 3.44
|
||||
ATOM 3 C STP 1 -0.390 21.119 25.163 0.00 3.64
|
||||
ATOM 4 C STP 1 -0.497 19.750 26.137 0.00 3.65
|
||||
ATOM 5 O STP 1 -1.505 21.560 24.468 0.00 3.47
|
||||
ATOM 6 O STP 1 -7.006 23.099 31.939 0.00 4.34
|
||||
ATOM 7 C STP 1 -2.421 19.598 26.681 0.00 4.15
|
||||
ATOM 8 O STP 1 -1.904 20.950 25.868 0.00 3.94
|
||||
ATOM 9 O STP 1 -1.138 19.994 26.698 0.00 4.16
|
||||
ATOM 10 O STP 1 -0.610 21.340 26.848 0.00 3.56
|
||||
ATOM 11 O STP 1 -1.105 20.703 26.217 0.00 4.05
|
||||
ATOM 12 C STP 1 -2.450 19.593 26.684 0.00 4.15
|
||||
ATOM 13 C STP 1 -0.703 20.660 31.637 0.00 3.51
|
||||
ATOM 14 O STP 1 -0.812 20.704 31.050 0.00 3.49
|
||||
ATOM 15 C STP 1 -0.219 20.522 28.381 0.00 3.59
|
||||
ATOM 16 O STP 1 -0.246 20.464 28.365 0.00 3.61
|
||||
ATOM 17 O STP 1 2.253 18.734 33.805 0.00 3.49
|
||||
ATOM 18 O STP 1 2.716 18.560 34.058 0.00 3.45
|
||||
ATOM 19 O STP 1 -2.017 21.009 25.831 0.00 3.92
|
||||
ATOM 20 C STP 1 -7.684 25.074 29.391 0.00 4.87
|
||||
ATOM 21 C STP 1 -5.738 21.726 22.846 0.00 4.15
|
||||
ATOM 22 O STP 1 -4.802 20.822 26.086 0.00 4.22
|
||||
ATOM 23 O STP 1 -3.784 20.874 25.890 0.00 3.98
|
||||
ATOM 24 O STP 1 -2.002 21.755 24.422 0.00 3.47
|
||||
ATOM 25 O STP 1 -3.770 21.486 26.150 0.00 3.48
|
||||
ATOM 26 O STP 1 -3.053 21.034 25.802 0.00 3.86
|
||||
ATOM 27 O STP 1 -2.286 21.303 25.452 0.00 3.76
|
||||
ATOM 28 C STP 1 -2.467 19.582 26.696 0.00 4.15
|
||||
ATOM 29 C STP 1 -3.065 18.013 27.593 0.00 4.08
|
||||
ATOM 30 O STP 1 -4.069 15.575 26.940 0.00 3.56
|
||||
ATOM 31 O STP 1 -3.587 13.987 38.073 0.00 4.16
|
||||
ATOM 32 O STP 1 -3.704 14.174 38.166 0.00 4.28
|
||||
ATOM 33 O STP 1 -5.656 15.984 36.278 0.00 4.39
|
||||
ATOM 34 O STP 1 -5.504 16.518 38.204 0.00 5.63
|
||||
ATOM 35 C STP 1 -6.227 18.398 36.193 0.00 6.02
|
||||
ATOM 36 O STP 1 -3.847 18.514 36.288 0.00 4.85
|
||||
ATOM 37 O STP 1 -5.712 16.109 39.065 0.00 5.80
|
||||
ATOM 38 O STP 1 -3.819 14.133 38.275 0.00 4.27
|
||||
ATOM 39 O STP 1 -4.642 15.555 38.606 0.00 5.18
|
||||
ATOM 40 O STP 1 -4.979 16.043 38.743 0.00 5.59
|
||||
ATOM 41 O STP 1 -4.914 16.042 38.749 0.00 5.56
|
||||
ATOM 42 O STP 1 -4.641 18.226 28.432 0.00 5.06
|
||||
ATOM 43 C STP 1 -3.129 18.059 27.644 0.00 4.13
|
||||
ATOM 44 O STP 1 -2.825 18.832 27.555 0.00 4.37
|
||||
ATOM 45 C STP 1 -3.030 18.141 27.600 0.00 4.12
|
||||
ATOM 46 O STP 1 -1.764 19.741 31.334 0.00 3.95
|
||||
ATOM 47 O STP 1 -1.278 19.903 31.356 0.00 3.93
|
||||
ATOM 48 O STP 1 -1.286 19.922 31.268 0.00 3.93
|
||||
ATOM 49 O STP 1 -0.653 19.833 28.635 0.00 3.77
|
||||
ATOM 50 O STP 1 -1.291 18.558 33.444 0.00 4.21
|
||||
ATOM 51 O STP 1 0.141 18.540 33.212 0.00 3.88
|
||||
ATOM 52 O STP 1 -0.337 17.740 33.506 0.00 3.75
|
||||
ATOM 53 O STP 1 -0.856 18.760 27.475 0.00 3.57
|
||||
ATOM 54 O STP 1 -2.728 14.181 37.978 0.00 3.82
|
||||
ATOM 55 O STP 1 -0.221 17.529 33.664 0.00 3.59
|
||||
ATOM 56 C STP 1 -3.437 18.918 36.407 0.00 4.47
|
||||
ATOM 57 O STP 1 -2.278 19.673 36.184 0.00 3.62
|
||||
ATOM 58 C STP 1 -4.398 20.219 36.733 0.00 4.08
|
||||
ATOM 59 O STP 1 -1.215 19.866 26.768 0.00 4.18
|
||||
ATOM 60 C STP 1 -2.296 19.575 26.726 0.00 4.15
|
||||
ATOM 61 C STP 1 -0.463 19.697 26.108 0.00 3.61
|
||||
ATOM 62 O STP 1 -0.646 18.417 26.693 0.00 3.44
|
||||
ATOM 63 O STP 1 -1.504 19.313 27.220 0.00 4.28
|
||||
ATOM 64 O STP 1 -1.799 19.199 27.242 0.00 4.28
|
||||
ATOM 65 O STP 1 -1.195 18.862 27.071 0.00 3.93
|
||||
ATOM 66 C STP 1 -1.255 18.277 26.909 0.00 3.58
|
||||
ATOM 67 O STP 1 -1.374 19.085 27.170 0.00 4.12
|
||||
ATOM 68 C STP 1 -1.665 18.991 27.195 0.00 4.13
|
||||
ATOM 69 C STP 1 0.538 20.926 24.251 0.00 3.40
|
||||
ATOM 70 O STP 1 -4.253 16.196 38.650 0.00 5.21
|
||||
ATOM 71 C STP 1 -0.660 17.674 41.151 0.00 3.82
|
||||
ATOM 72 O STP 1 -0.665 17.381 41.718 0.00 4.21
|
||||
ATOM 73 O STP 1 -2.320 14.385 37.937 0.00 3.72
|
||||
ATOM 74 O STP 1 -3.527 17.299 37.574 0.00 4.60
|
||||
ATOM 75 O STP 1 1.896 18.908 33.762 0.00 3.44
|
||||
ATOM 76 C STP 1 -0.502 20.722 31.885 0.00 3.42
|
||||
ATOM 77 O STP 1 -0.828 18.820 33.297 0.00 4.14
|
||||
ATOM 78 O STP 1 -0.715 19.279 32.645 0.00 3.96
|
||||
ATOM 79 O STP 1 -0.068 18.700 33.204 0.00 3.95
|
||||
ATOM 80 O STP 1 2.761 18.546 34.093 0.00 3.44
|
||||
ATOM 81 O STP 1 2.783 18.567 34.049 0.00 3.45
|
||||
ATOM 82 C STP 1 -4.983 18.148 28.557 0.00 5.25
|
||||
ATOM 83 C STP 1 -6.697 18.281 32.723 0.00 6.16
|
||||
ATOM 84 O STP 1 -6.877 15.226 26.592 0.00 3.64
|
||||
ATOM 85 O STP 1 -5.571 16.002 26.870 0.00 3.92
|
||||
ATOM 86 O STP 1 -4.952 18.143 28.746 0.00 5.22
|
||||
ATOM 87 C STP 1 -4.516 15.952 27.324 0.00 3.90
|
||||
ATOM 88 C STP 1 -6.455 17.186 32.808 0.00 5.30
|
||||
ATOM 89 C STP 1 -6.466 17.333 32.806 0.00 5.42
|
||||
ATOM 90 O STP 1 -5.335 18.346 31.496 0.00 5.69
|
||||
ATOM 91 O STP 1 -5.324 18.315 31.552 0.00 5.68
|
||||
ATOM 92 O STP 1 -3.887 15.796 31.076 0.00 3.86
|
||||
ATOM 93 C STP 1 -3.831 15.614 31.082 0.00 3.77
|
||||
ATOM 94 O STP 1 -5.263 16.341 42.194 0.00 5.12
|
||||
ATOM 95 O STP 1 -4.438 16.373 40.937 0.00 4.86
|
||||
ATOM 96 O STP 1 -4.111 16.415 42.058 0.00 4.74
|
||||
ATOM 97 O STP 1 -6.809 16.200 40.052 0.00 6.13
|
||||
ATOM 98 O STP 1 -6.390 16.221 39.684 0.00 6.00
|
||||
ATOM 99 O STP 1 2.836 18.727 33.815 0.00 3.49
|
||||
ATOM 100 O STP 1 2.888 18.613 33.980 0.00 3.47
|
||||
TER
|
||||
END
|
||||
@@ -109,6 +109,7 @@ def test_drop_chain():
|
||||
for pdb_code in pdb_list:
|
||||
fpocket_out_test_default_equal(pdb_code,params="-c D")
|
||||
fpocket_out_test_default_equal(pdb_code,params="--drop_chains D")
|
||||
fpocket_out_test_default_equal(pdb_code,params="-k A,B,C,E")
|
||||
|
||||
|
||||
|
||||
@@ -119,5 +120,13 @@ def test_explicit_pocket_detection():
|
||||
pdb_list=['1UYD']
|
||||
for pdb_code in pdb_list:
|
||||
fpocket_out_test_default_equal(pdb_code,params="-r 1224:PU8:A",explicit=True)
|
||||
|
||||
def test_chain_as_ligand():
|
||||
"""
|
||||
Test fpocket explicit pocket detection of the PU8 binding site.
|
||||
"""
|
||||
pdb_list=['2P0R_mod']
|
||||
for pdb_code in pdb_list:
|
||||
fpocket_out_test_default_equal(pdb_code,params="-a D")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user