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_TPARAMS
00034 #define DH_TPARAMS
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 "fparams.h"
00047 #include "utils.h"
00048 #include "memhandler.h"
00049
00050
00051
00052
00053 #define M_PAR_VALID_INPUT_FILE 'L'
00054 #define M_PAR_LIG_NEIG_DIST 'd'
00055 #define M_PAR_P_STATS_OUT 'o'
00056 #define M_PAR_G_STATS_OUT 'e'
00057 #define M_PAR_KEEP_FP_OUTPUT 'k'
00058
00059
00060
00061 #define M_STATS_OUTP "stats_p.txt"
00062 #define M_STATS_OUTG "stats_g.txt"
00063 #define M_MAX_FILE_NAME_LENGTH 300
00064
00065
00066 #define M_LIG_NEIG_DIST 4.0
00067
00068 #define M_TP_USAGE "\
00069 \n***** USAGE (tpocket) *****\n\
00070 \n\
00071 The program needs as input a file containing at each \n\
00072 line a pdb file name (apo + complexe), a ligand code \n\
00073 (3 letters), all separeted by a tabulation. \n\
00074 The format of each line must therefore be: \n\n\
00075 {PATH/}APO.pdb {PATH/}HOLO.pdb LIG. \n\n\
00076 The ligand code is the resname of the ligand atoms in \n\
00077 the pdb file of the HOLO form of the protein. \n\n\
00078 See the manual for more information. \n\n\
00079 Example of command using default parameters: \n\
00080 \t./bin/tpocket -L file_path \n\n\
00081 Options: \n\
00082 \t-e string : Write global performance to this file \n\
00083 \t Default name: ./stats_g.txt. (./stats_g.txt)\n\
00084 \t-o string : Write pocket detailed statistics to . \n\
00085 \t this file Default name: ./stats_p.txt (./stats_p.txt)\n\
00086 \t-d float : Distance criteria for the 2 ways to \n\
00087 \t define the actual pocket (4.0) \n\n\
00088 Options specific to fpocket are usable too.\n\
00089 See the manual/documentation for mor information.\n\
00090 ***************************\n"
00091
00092
00093
00094
00095
00096
00097 typedef struct s_tparams
00098 {
00099 char **fapo,
00100 **fcomplex,
00101 **fligan;
00102
00103 char *p_output;
00104 char *g_output;
00105
00106 char stats_g[128] ;
00107 char stats_p[128] ;
00108
00109 float lig_neigh_dist ;
00110 int nfiles ;
00111 int keep_fpout ;
00112
00113
00114
00115 s_fparams *fpar ;
00116
00117 } s_tparams ;
00118
00119
00120
00121 s_tparams* init_def_tparams(void) ;
00122 s_tparams* get_tpocket_args(int nargs, char **args) ;
00123 int add_list_data(char *str_list_file, s_tparams *par) ;
00124 int add_prot(char *apo, char *complex, char *ligan, s_tparams *par) ;
00125 int parse_lig_neigh_dist(char *str, s_tparams *p) ;
00126
00127 void free_tparams(s_tparams *p);
00128 void print_test_usage(FILE *f) ;
00129 void print_params(s_tparams *p, FILE *f) ;
00130
00131 #endif