00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef DH_MDPARAMS
00034 #define DH_MDPARAMS
00035
00036
00037
00038 #include <stdio.h>
00039 #include <stdlib.h>
00040 #include <unistd.h>
00041 #include <string.h>
00042 #include <ctype.h>
00043 #include <limits.h>
00044 #include <assert.h>
00045
00046 #include "utils.h"
00047 #include "memhandler.h"
00048 #include "fparams.h"
00049
00050
00051
00052
00053
00054 #define M_MDPAR_INPUT_FILE 'L'
00055 #define M_MDPAR_INPUT_FILE2 'f'
00056 #define M_MDPAR_OUTPUT_FILE 'o'
00057 #define M_MDPAR_SCORING_MODE 'S'
00058 #define M_MDPAR_OUTPUT_ALL_SNAPSHOTS 'a'
00059
00060
00061 #define M_MDP_OUTPUT_FILE1_DEFAULT "mdpout_snapshots_concat.pqr"
00062 #define M_MDP_OUTPUT_FILE2_DEFAULT "mdpout_freq_grid.dx"
00063 #define M_MDP_OUTPUT_FILE3_DEFAULT "mdpout_freq_iso_0_5.pdb"
00064 #define M_MDP_OUTPUT_FILE4_DEFAULT "mdpout_descriptors.txt"
00065 #define M_MDP_OUTPUT_FILE5_DEFAULT "mdpout_mdpocket.pdb"
00066 #define M_MDP_OUTPUT_FILE6_DEFAULT "mdpout_mdpocket_atoms.pdb"
00067 #define M_MDP_OUTPUT_FILE7_DEFAULT "mdpout_all_atom_pdensities.pdb"
00068 #define M_MDP_OUTPUT_FILE8_DEFAULT "mdpout_dens_grid.dx"
00069 #define M_MDP_OUTPUT_FILE9_DEFAULT "mdpout_dens_iso_8.pdb"
00070 #define M_MDP_DEFAULT_ISO_VALUE_FREQ 0.5
00071 #define M_MDP_DEFAULT_ISO_VALUE_DENS 8.0
00072
00073 #define M_MAX_FILE_NAME_LENGTH 300
00074 #define M_NB_MC_ITER 2500
00075
00076
00077
00078
00079 #define M_MDP_USAGE "\
00080 ***** USAGE (mdpocket) *****\n\
00081 \n\
00082 1 : Pocket finding on a MD trajectory -> list of pre-aligned pdb ordered by time file:\n\
00083 \t./bin/mdpocket -L pdb_list \n\
00084 2 : Pocket characterization on a MD trajectory -> list of pre-aligned pdb ordered by \n\
00085 time file and wanted pocket pdb file \n\
00086 \t./bin/mdpocket -L pdb_list -f wanted_pocket.pdb \n\
00087 \t an example of a wanted pocket file can be obtained by running (1) \n\
00088 \t (mdpout_iso_8.pdb) and non wanted grid points should be deleted by hand (i.e. PyMOL).\n\
00089 \nOPTIONS (find standard parameters in brackets) \n\n\
00090 \t-o (char *) : common prefix of output file (mdpout_snapshots) \n\n\
00091 \t-S : if you put this flag, the pocket score is matched to the \n\
00092 \t density grid \n\
00093 \t-a : output all bfactor colored snapshots\n\n\
00094 \t-m (float) : Minimum radius of an alpha-sphere. (3.0)\n\
00095 \t-M (float) : Maximum radius of an alpha-sphere. (6.0)\n\
00096 \t-A (int) : Minimum number of apolar neighbor for \n\
00097 \t an a-sphere to be considered as apolar. (3)\n\
00098 \t-i (int) : Minimum number of a-sphere per pocket. (30)\n\
00099 \t-D (float) : Maximum distance for first clustering \n\
00100 \t algorithm. (1.73)\n\
00101 \t-s (float) : Maximum distance for single linkage \n\
00102 \t clustering (2.5)\n\
00103 \t-n (integer): Minimum number of neighbor close from \n\
00104 \t each other (not merged otherwise). (3)\n\
00105 \t-r (float) : Maximum distance between two pockets \n\
00106 \t barycenter (merged otherwise). (4.5)\n\
00107 \t-p (float) : Minimum proportion of apolar sphere in \n\
00108 \t a pocket (remove otherwise) (0.0)\n\
00109 \t-v (integer): Number of Monte-Carlo iteration for the \n\
00110 \t calculation of each pocket volume. (2500)\n\
00111 \t-b (integer): Space approximation for the basic method \n\
00112 \t of the volume calculation. Not used by \n\
00113 \t default (Monte Carlo approximation is) \n\
00114 \nSee the manual (man fpocket), or the full documentation for\n\
00115 more information.\n\
00116 ***************************\n"
00117
00118
00119
00120
00121
00122
00123 typedef struct s_mdparams
00124 {
00125 char **fsnapshot;
00126 char fwantedpocket[M_MAX_PDB_NAME_LEN];
00127
00128 char *f_pqr,
00129 *f_densdx,
00130 *f_freqdx,
00131 *f_densiso,
00132 *f_freqiso,
00133 *f_desc,
00134 *f_ppdb,
00135 *f_apdb,
00136 *f_appdb;
00137 int nfiles;
00138 s_fparams *fpar ;
00139 int flag_scoring;
00140 int bfact_on_all;
00141
00142 } s_mdparams ;
00143
00144
00145
00146 s_mdparams* init_def_mdparams(void) ;
00147 s_mdparams* get_mdpocket_args(int nargs, char **args) ;
00148
00149 int add_list_snapshots(char *str_list_file, s_mdparams *par) ;
00150 int add_snapshot(char *snapbuf, s_mdparams *par) ;
00151
00152 void print_mdparams(s_mdparams *p, FILE *f) ;
00153 void print_mdpocket_usage(FILE *f) ;
00154 void free_mdparams(s_mdparams *p) ;
00155
00156 #endif