00001 00002 /* 00003 COPYRIGHT DISCLAIMER 00004 00005 Vincent Le Guilloux, Peter Schmidtke and Pierre Tuffery, hereby 00006 disclaim all copyright interest in the program “fpocket” (which 00007 performs protein cavity detection) written by Vincent Le Guilloux and Peter 00008 Schmidtke. 00009 00010 Vincent Le Guilloux 28 November 2008 00011 Peter Schmidtke 28 November 2008 00012 Pierre Tuffery 28 November 2008 00013 00014 GNU GPL 00015 00016 This file is part of the fpocket package. 00017 00018 fpocket is free software: you can redistribute it and/or modify 00019 it under the terms of the GNU General Public License as published by 00020 the Free Software Foundation, either version 3 of the License, or 00021 (at your option) any later version. 00022 00023 fpocket is distributed in the hope that it will be useful, 00024 but WITHOUT ANY WARRANTY; without even the implied warranty of 00025 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00026 GNU General Public License for more details. 00027 00028 You should have received a copy of the GNU General Public License 00029 along with fpocket. If not, see <http://www.gnu.org/licenses/>. 00030 00031 */ 00032 00033 #ifndef DH_AA 00034 #define DH_AA 00035 00036 #include <stdio.h> 00037 #include <stdlib.h> 00038 #include <string.h> 00039 #include <ctype.h> 00040 00041 /* ------------------------------MACROS---------------------------------------*/ 00042 00043 #define M_NB_AA 20 /**< number of amino acid macros*/ 00044 #define M_ALA_IDX 0 /**< 0 for ALA*/ 00045 #define M_CYS_IDX 1 /**< 1 for CYS*/ 00046 #define M_ASP_IDX 2 /**< 2 for ASP*/ 00047 #define M_GLU_IDX 3 /**< 3 for GLU*/ 00048 #define M_PHE_IDX 4 /**< 4 for PHE*/ 00049 #define M_GLY_IDX 5 /**< 5 for GLY*/ 00050 #define M_HIS_IDX 6 /**< 6 for HIS*/ 00051 #define M_ILE_IDX 7 /**< 7 for ILE*/ 00052 #define M_LYS_IDX 8 /**< 8 for LYS*/ 00053 #define M_LEU_IDX 9 /**< 9 for LEU*/ 00054 #define M_MET_IDX 10 /**< 10 for MET*/ 00055 #define M_ASN_IDX 11 /**< 11 for ASN*/ 00056 #define M_PRO_IDX 12 /**< 12 for PRO*/ 00057 #define M_GLN_IDX 13 /**< 13 for GLN*/ 00058 #define M_ARG_IDX 14 /**< 14 for ARG*/ 00059 #define M_SER_IDX 15 /**< 15 for SER*/ 00060 #define M_THR_IDX 16 /**< 16 for THR*/ 00061 #define M_VAL_IDX 17 /**< 17 for VAL*/ 00062 #define M_TRP_IDX 18 /**< 18 for TRP*/ 00063 #define M_TYR_IDX 19 /**< 19 for TYR*/ 00064 00065 /* --------------------------- PUBLIC STRUCTURES ------------------------------*/ 00066 00067 /** 00068 A structure for the modelisation of an amino acid 00069 */ 00070 typedef struct s_amino_a 00071 { 00072 char name3[4] ; /**< name of the amino-acid (3 letter code)*/ 00073 char code ; /**< one letter code for the amino acid*/ 00074 00075 float mw ; /**< molecular weight of the amino acid*/ 00076 float volume; /**< volume score for each aa taken from http://www.info.univ-angers.fr/~gh/Idas/proprietes.htm*/ 00077 float hydrophobicity; /**< hydrophobicity score for each aa taken from Monera & al. Journal of Protein Science 1, 319-329 (1995)*/ 00078 int charge, /**< crude net charge of each amino acid in pH 7*/ 00079 polarity, /**< polarity of each aa taken from http://www.info.univ-angers.fr/~gh/Idas/proprietes.htm*/ 00080 func_grp ; /**< funct. groups of each aa taken from http://www.info.univ-angers.fr/~gh/Idas/proprietes.htm*/ 00081 00082 } s_amino_a ; 00083 00084 /* -----------------------------PROTOTYPES------------------------------------*/ 00085 00086 int get_aa_index(const char *name) ; 00087 char* get_aa_name3(const int index) ; 00088 00089 float get_aa_mw(const char *name) ; 00090 float get_aa_volume_score(const char *name) ; 00091 float get_aa_hydrophobicity_score(const char *name) ; 00092 int get_aa_charge(const char *name) ; 00093 int get_aa_polarity(const char *name) ; 00094 int get_aa_func_grp(const char *name) ; 00095 00096 float get_volume_score_from_idx(int aa_index) ; 00097 float get_hydrophobicity_score_from_idx(int aa_index) ; 00098 int get_charge_from_idx(int aa_index) ; 00099 int get_polarity_from_idx(int aa_index) ; 00100 int get_func_grp_from_idx(int aa_index) ; 00101 00102 #endif