mirror of
https://github.com/Discngine/fpocket.git
synced 2026-06-04 11:54:21 +08:00
188 lines
21 KiB
HTML
188 lines
21 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
|
<title>fpocket: descriptors.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<img src="fpocket_logo_small.png" width="545" height="150">
|
|
<!-- Generated by Doxygen 1.5.6 -->
|
|
<script type="text/javascript">
|
|
<!--
|
|
function changeDisplayState (e){
|
|
var num=this.id.replace(/[^[0-9]/g,'');
|
|
var button=this.firstChild;
|
|
var sectionDiv=document.getElementById('dynsection'+num);
|
|
if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
|
|
sectionDiv.style.display='block';
|
|
button.src='open.gif';
|
|
}else{
|
|
sectionDiv.style.display='none';
|
|
button.src='closed.gif';
|
|
}
|
|
}
|
|
function initDynSections(){
|
|
var divs=document.getElementsByTagName('div');
|
|
var sectionCounter=1;
|
|
for(var i=0;i<divs.length-1;i++){
|
|
if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
|
|
var header=divs[i];
|
|
var section=divs[i+1];
|
|
var button=header.firstChild;
|
|
if (button!='IMG'){
|
|
divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
|
|
button=document.createElement('img');
|
|
divs[i].insertBefore(button,divs[i].firstChild);
|
|
}
|
|
header.style.cursor='pointer';
|
|
header.onclick=changeDisplayState;
|
|
header.id='dynheader'+sectionCounter;
|
|
button.src='closed.gif';
|
|
section.id='dynsection'+sectionCounter;
|
|
section.style.display='none';
|
|
section.style.marginLeft='14px';
|
|
sectionCounter++;
|
|
}
|
|
}
|
|
}
|
|
window.onload = initDynSections;
|
|
-->
|
|
</script>
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<h1>descriptors.h</h1><a href="descriptors_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
|
<a name="l00002"></a>00002 <span class="comment">/*</span>
|
|
<a name="l00003"></a>00003 <span class="comment"> COPYRIGHT DISCLAIMER</span>
|
|
<a name="l00004"></a>00004 <span class="comment"></span>
|
|
<a name="l00005"></a>00005 <span class="comment"> Vincent Le Guilloux, Peter Schmidtke and Pierre Tuffery, hereby</span>
|
|
<a name="l00006"></a>00006 <span class="comment"> disclaim all copyright interest in the program “fpocket” (which</span>
|
|
<a name="l00007"></a>00007 <span class="comment"> performs protein cavity detection) written by Vincent Le Guilloux and Peter</span>
|
|
<a name="l00008"></a>00008 <span class="comment"> Schmidtke.</span>
|
|
<a name="l00009"></a>00009 <span class="comment"></span>
|
|
<a name="l00010"></a>00010 <span class="comment"> Vincent Le Guilloux 28 November 2008</span>
|
|
<a name="l00011"></a>00011 <span class="comment"> Peter Schmidtke 28 November 2008</span>
|
|
<a name="l00012"></a>00012 <span class="comment"> Pierre Tuffery 28 November 2008</span>
|
|
<a name="l00013"></a>00013 <span class="comment"></span>
|
|
<a name="l00014"></a>00014 <span class="comment"> GNU GPL</span>
|
|
<a name="l00015"></a>00015 <span class="comment"></span>
|
|
<a name="l00016"></a>00016 <span class="comment"> This file is part of the fpocket package.</span>
|
|
<a name="l00017"></a>00017 <span class="comment"></span>
|
|
<a name="l00018"></a>00018 <span class="comment"> fpocket is free software: you can redistribute it and/or modify</span>
|
|
<a name="l00019"></a>00019 <span class="comment"> it under the terms of the GNU General Public License as published by</span>
|
|
<a name="l00020"></a>00020 <span class="comment"> the Free Software Foundation, either version 3 of the License, or</span>
|
|
<a name="l00021"></a>00021 <span class="comment"> (at your option) any later version.</span>
|
|
<a name="l00022"></a>00022 <span class="comment"></span>
|
|
<a name="l00023"></a>00023 <span class="comment"> fpocket is distributed in the hope that it will be useful,</span>
|
|
<a name="l00024"></a>00024 <span class="comment"> but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
|
|
<a name="l00025"></a>00025 <span class="comment"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
|
|
<a name="l00026"></a>00026 <span class="comment"> GNU General Public License for more details.</span>
|
|
<a name="l00027"></a>00027 <span class="comment"></span>
|
|
<a name="l00028"></a>00028 <span class="comment"> You should have received a copy of the GNU General Public License</span>
|
|
<a name="l00029"></a>00029 <span class="comment"> along with fpocket. If not, see <http://www.gnu.org/licenses/>.</span>
|
|
<a name="l00030"></a>00030 <span class="comment"></span>
|
|
<a name="l00031"></a>00031 <span class="comment">**/</span>
|
|
<a name="l00032"></a>00032
|
|
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DH_DESCR</span>
|
|
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define DH_DESCR</span>
|
|
<a name="l00035"></a>00035 <span class="preprocessor"></span>
|
|
<a name="l00036"></a>00036 <span class="comment">/* ---------------------------------INCLUDES--------------------------------- */</span>
|
|
<a name="l00037"></a>00037
|
|
<a name="l00038"></a>00038 <span class="preprocessor">#include <math.h></span>
|
|
<a name="l00039"></a>00039 <span class="preprocessor">#include <stdio.h></span>
|
|
<a name="l00040"></a>00040 <span class="preprocessor">#include <stdlib.h></span>
|
|
<a name="l00041"></a>00041 <span class="preprocessor">#include <time.h></span>
|
|
<a name="l00042"></a>00042 <span class="preprocessor">#include <ctype.h></span>
|
|
<a name="l00043"></a>00043 <span class="preprocessor">#include <string.h></span>
|
|
<a name="l00044"></a>00044
|
|
<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="voronoi_8h.html">voronoi.h</a>"</span>
|
|
<a name="l00046"></a>00046 <span class="preprocessor">#include "<a class="code" href="voronoi__lst_8h.html">voronoi_lst.h</a>"</span>
|
|
<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="atom_8h.html">atom.h</a>"</span>
|
|
<a name="l00048"></a>00048 <span class="preprocessor">#include "<a class="code" href="aa_8h.html">aa.h</a>"</span>
|
|
<a name="l00049"></a>00049 <span class="preprocessor">#include "<a class="code" href="utils_8h.html">utils.h</a>"</span>
|
|
<a name="l00050"></a>00050
|
|
<a name="l00051"></a>00051
|
|
<a name="l00052"></a>00052 <span class="comment">/* --------------------------------STRUCTURES---------------------------------*/</span><span class="comment"></span>
|
|
<a name="l00053"></a>00053 <span class="comment">/**</span>
|
|
<a name="l00054"></a>00054 <span class="comment"> Structure containing descriptors for binding pockets</span>
|
|
<a name="l00055"></a>00055 <span class="comment">*/</span>
|
|
<a name="l00056"></a><a class="code" href="structs__desc.html">00056</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structs__desc.html">s_desc</a>
|
|
<a name="l00057"></a>00057 {
|
|
<a name="l00058"></a><a class="code" href="structs__desc.html#0bf245c3d85f2fc8dec41d560313588a">00058</a> <span class="keywordtype">float</span> <a class="code" href="structs__desc.html#ec451be95312187f418e20b87ebc0c1c">hydrophobicity_score</a>, <span class="comment">/**< Hydropathie score - for each aa */</span>
|
|
<a name="l00059"></a>00059 <a class="code" href="structs__desc.html#0bf245c3d85f2fc8dec41d560313588a">volume_score</a>, <span class="comment">/**< Volume score - for each aa */</span>
|
|
<a name="l00060"></a>00060 <a class="code" href="structs__desc.html#ec106f2a35f5676a6af920311aa4260e">volume</a>, <span class="comment">/**< Pocket volume */</span>
|
|
<a name="l00061"></a>00061 <a class="code" href="structs__desc.html#6363a7adfb5bc485f3524b8d4f0b5326">prop_polar_atm</a>, <span class="comment">/**< Proportion of polar atoms */</span>
|
|
<a name="l00062"></a>00062 <a class="code" href="structs__desc.html#6e455ee4a61943b81a09fb9c4a816967">mean_asph_ray</a>, <span class="comment">/**< Mean alpha sphere radius */</span>
|
|
<a name="l00063"></a>00063 <a class="code" href="structs__desc.html#8d8c1b492a8f07602c496ffe907a7135">masph_sacc</a>, <span class="comment">/**< Mean alpha sphere solvent accessibility */</span>
|
|
<a name="l00064"></a>00064 <a class="code" href="structs__desc.html#1e842880419a0616060301b4eacf858f">apolar_asphere_prop</a>, <span class="comment">/**< Proportion of apolar alpha spheres */</span>
|
|
<a name="l00065"></a>00065 <a class="code" href="structs__desc.html#b48b3533d79c147285ca50eabc12ef63">mean_loc_hyd_dens</a>, <span class="comment">/**< Mean local hydrophobic density (from alpha spheres) */</span>
|
|
<a name="l00066"></a>00066 <a class="code" href="structs__desc.html#2aeb19cfc5f53e2d22f1a2065ede1010">as_density</a>, <span class="comment">/**< Pocket density, defined as mean distance between alpha spheres*/</span>
|
|
<a name="l00067"></a>00067 <a class="code" href="structs__desc.html#6620d6b2cdaaa469b32a66a5e5260a80">as_max_dst</a>, <span class="comment">/**< Maximum distance between two alpha spheres */</span><span class="comment"></span>
|
|
<a name="l00068"></a>00068 <span class="comment"> /**< The following descriptors are all normalized using observed</span>
|
|
<a name="l00069"></a>00069 <span class="comment"> values among all pocket found by the algorithm. These</span>
|
|
<a name="l00070"></a>00070 <span class="comment"> are not set in descriptor.c, but in pocket.c as we have to check</span>
|
|
<a name="l00071"></a>00071 <span class="comment"> all pocket first to store boundaries of the descriptor to</span>
|
|
<a name="l00072"></a>00072 <span class="comment"> normalize. */</span>
|
|
<a name="l00073"></a>00073
|
|
<a name="l00074"></a>00074 <a class="code" href="structs__desc.html#537c647e77f9ca129c77b31e3d15b2ca">flex</a>, <span class="comment">/**< Normalized flexibility - based on B factors - ABUSIVE */</span>
|
|
<a name="l00075"></a>00075 <a class="code" href="structs__desc.html#8c4599be9319ff05ecf42dd6c70d0d6d">nas_norm</a>, <span class="comment">/**< Normalized number of alpha sphere */</span>
|
|
<a name="l00076"></a>00076 <a class="code" href="structs__desc.html#15f213905d46949ade4dc9ec9e413d4f">polarity_score_norm</a>, <span class="comment">/**< Normalized polarity score*/</span>
|
|
<a name="l00077"></a>00077 <a class="code" href="structs__desc.html#3a111a68d68713a0c9b2d5e904951820">mean_loc_hyd_dens_norm</a>,<span class="comment">/**< Normalized mean local hydrophobic density */</span>
|
|
<a name="l00078"></a>00078 <a class="code" href="structs__desc.html#a18101e18ed5d1714470a026621037f3">prop_asapol_norm</a>, <span class="comment">/**< Normalized proportion of apolar alphasphere */</span>
|
|
<a name="l00079"></a>00079 <a class="code" href="structs__desc.html#a97dfcc5ad6152e55ef0ebe9985cce5c">as_density_norm</a>, <span class="comment">/**< Normalized alpha sphere density */</span>
|
|
<a name="l00080"></a>00080 <a class="code" href="structs__desc.html#9a9c0a666cb104843a278525e556087a">as_max_dst_norm</a>, <span class="comment">/**< normalized maximum distance between alpha sphere centers*/</span>
|
|
<a name="l00081"></a>00081 <span class="comment"></span>
|
|
<a name="l00082"></a>00082 <span class="comment"> /**< The following descriptors are various surface calculations*/</span>
|
|
<a name="l00083"></a>00083 <a class="code" href="structs__desc.html#a179ebac9b5489ad1bf1ad267d1d0427">surf_vdw</a>, <span class="comment">/**< Van der Waals surface of the pocket*/</span>
|
|
<a name="l00084"></a>00084 <a class="code" href="structs__desc.html#46c2b1ee640b31802839e88bb91f3aac">surf_vdw14</a>, <span class="comment">/**< Van der Waals surface + 1.4 A probe*/</span>
|
|
<a name="l00085"></a>00085 <a class="code" href="structs__desc.html#8d64efb827570330fb20cac0a48507f3">surf_vdw22</a>, <span class="comment">/**< Van der Waals surface + 2.2 A probe*/</span>
|
|
<a name="l00086"></a>00086 <a class="code" href="structs__desc.html#b7799be0c2ecba2a04248d70df6b8795">surf_pol_vdw</a>, <span class="comment">/**< polar van der Waals surface of the pocket*/</span>
|
|
<a name="l00087"></a>00087 <a class="code" href="structs__desc.html#b427b3ce5e431f0ca3e3df5c659f2de0">surf_pol_vdw14</a>, <span class="comment">/**< polar van der Waals surface + 1.4 A probe*/</span>
|
|
<a name="l00088"></a>00088 <a class="code" href="structs__desc.html#090bbaf1b3d709e7575ab400ce1848a1">surf_pol_vdw22</a>, <span class="comment">/**< polar an der Waals surface + 2.2 A probe*/</span>
|
|
<a name="l00089"></a>00089 <a class="code" href="structs__desc.html#0bfdf7a2147f074d6977a4ee31f95046">surf_apol_vdw</a>, <span class="comment">/**< polar van der Waals surface of the pocket*/</span>
|
|
<a name="l00090"></a>00090 <a class="code" href="structs__desc.html#7ce0d0f8a0e977c3f5ecbd1a64ec02c7">surf_apol_vdw14</a>, <span class="comment">/**< polar van der Waals surface + 1.4 A probe*/</span>
|
|
<a name="l00091"></a>00091 <a class="code" href="structs__desc.html#30adaa999c80fb0f9c3e357730ab5c3c">surf_apol_vdw22</a> <span class="comment">/**< polar van der Waals surface + 2.2 A probe*/</span>
|
|
<a name="l00092"></a>00092 ;
|
|
<a name="l00093"></a>00093
|
|
<a name="l00094"></a><a class="code" href="structs__desc.html#12f239c0748ce08dba80fac61722117f">00094</a> <span class="keywordtype">int</span> <a class="code" href="structs__desc.html#12f239c0748ce08dba80fac61722117f">aa_compo</a>[20] ; <span class="comment">/**< Absolute amino acid composition */</span>
|
|
<a name="l00095"></a><a class="code" href="structs__desc.html#d612b029bba06646381771d4b61dc5e6">00095</a> <span class="keywordtype">int</span> <a class="code" href="structs__desc.html#d481d25ff964a6858975b5abfb671412">nb_asph</a>, <span class="comment">/**< Number of alpha spheres */</span>
|
|
<a name="l00096"></a>00096 <a class="code" href="structs__desc.html#d612b029bba06646381771d4b61dc5e6">polarity_score</a>, <span class="comment">/**< Polarity score (based on amino acids properties ; see aa.c & aa.h) */</span>
|
|
<a name="l00097"></a>00097 <a class="code" href="structs__desc.html#00da80b684d1bb1af13ec779e282c7e0">charge_score</a> ; <span class="comment">/**< Sum of all net charges at pH = 7 (see aa.c & aa.h) */</span>
|
|
<a name="l00098"></a><a class="code" href="structs__desc.html#eb15aebab64687c1c18d261e40b96901">00098</a> <span class="keywordtype">float</span> <a class="code" href="structs__desc.html#eb15aebab64687c1c18d261e40b96901">as_max_r</a> ; <span class="comment">/**< Alpha sphere maximum radius*/</span>
|
|
<a name="l00099"></a><a class="code" href="structs__desc.html#27317d1ebeb59e4ea4ebdbca11069c3c">00099</a> <span class="keywordtype">float</span> <a class="code" href="structs__desc.html#27317d1ebeb59e4ea4ebdbca11069c3c">drug_score</a>; <span class="comment">/**< Drug score of the binding site*/</span>
|
|
<a name="l00100"></a><a class="code" href="structs__desc.html#bcbc3f48a90c23ac7678804a411abd90">00100</a> <span class="keywordtype">int</span> <a class="code" href="structs__desc.html#bced97f35d6447d67d3dda6b09039a86">interChain</a>, <span class="comment">/**< 0 if pocket in single chain, 1 if between 2 chains*/</span>
|
|
<a name="l00101"></a>00101 <a class="code" href="structs__desc.html#8e7dd8b06d5e732c055f5c2a46279f00">characterChain1</a>, <span class="comment">/**< 0 if protein, 1 if nucl acid pocket, 2 if HETATM pocket*/</span>
|
|
<a name="l00102"></a>00102 <a class="code" href="structs__desc.html#c18283db8c6ebb14a806f3fd73b41b5e">characterChain2</a>, <span class="comment">/**< 0 if protein, 1 if nucl acid pocket, 2 if HETATM pocket*/</span>
|
|
<a name="l00103"></a>00103 <a class="code" href="structs__desc.html#1d09eefd576e05f70a489363575f32aa">numResChain1</a>, <span class="comment">/**<number of resdiues on chain 1*/</span>
|
|
<a name="l00104"></a>00104 <a class="code" href="structs__desc.html#bcbc3f48a90c23ac7678804a411abd90">numResChain2</a>; <span class="comment">/**<number of res on chain 2*/</span>
|
|
<a name="l00105"></a><a class="code" href="structs__desc.html#686ea7cc191da8c6ab8e8d7178a9a5ea">00105</a> <span class="keywordtype">char</span> <a class="code" href="structs__desc.html#ba87f099c4cb32f55ae66977b9cdb8e4">nameChain1</a>[2], <span class="comment">/**<name of the first chain in contact with the pocket*/</span>
|
|
<a name="l00106"></a>00106 <a class="code" href="structs__desc.html#686ea7cc191da8c6ab8e8d7178a9a5ea">nameChain2</a>[2]; <span class="comment">/**<name of the second chain in contact with the pocket, if there is*/</span>
|
|
<a name="l00107"></a><a class="code" href="structs__desc.html#20bd4d9024f38edb2a79b721ff4558c8">00107</a> <span class="keywordtype">char</span> <a class="code" href="structs__desc.html#20bd4d9024f38edb2a79b721ff4558c8">ligTag</a>[8]; <span class="comment">/**<het atom tag of ligands situated in the pocket*/</span>
|
|
<a name="l00108"></a><a class="code" href="structs__desc.html#15d78f3262dcfa80bfba6c1872c51f6e">00108</a> <span class="keywordtype">int</span> <a class="code" href="structs__desc.html#15d78f3262dcfa80bfba6c1872c51f6e">n_abpa</a>; <span class="comment">/**<number of abpas in the binding site*/</span>
|
|
<a name="l00109"></a>00109 } <a class="code" href="structs__desc.html">s_desc</a> ;
|
|
<a name="l00110"></a>00110
|
|
<a name="l00111"></a>00111 <span class="comment">/* ------------------------------PROTOTYPES---------------------------------- */</span>
|
|
<a name="l00112"></a>00112
|
|
<a name="l00113"></a>00113 <a class="code" href="structs__desc.html">s_desc</a>* <a class="code" href="descriptors_8c.html#0313250c68f4a7a8e292b674c30ae9fa">allocate_s_desc</a>(<span class="keywordtype">void</span>) ;
|
|
<a name="l00114"></a>00114 <span class="keywordtype">void</span> <a class="code" href="descriptors_8c.html#9380470e1ad56a99f5a0597355eeb5ea">reset_desc</a>(<a class="code" href="structs__desc.html">s_desc</a> *desc) ;
|
|
<a name="l00115"></a>00115
|
|
<a name="l00116"></a>00116
|
|
<a name="l00117"></a>00117 <span class="keywordtype">void</span> <a class="code" href="descriptors_8c.html#9cfae44d2e72d4c92d38a4b73538d8c4">set_descriptors</a>(<a class="code" href="structs__atm.html">s_atm</a> **tatoms, <span class="keywordtype">int</span> natoms, <a class="code" href="structs__vvertice.html">s_vvertice</a> **tvert, <span class="keywordtype">int</span> nvert, <a class="code" href="structs__desc.html">s_desc</a> *desc, <span class="keywordtype">int</span> niter,<a class="code" href="structs__pdb.html">s_pdb</a> *pdb,<span class="keywordtype">int</span> flag_do_expensive_calculations) ;
|
|
<a name="l00118"></a>00118
|
|
<a name="l00119"></a>00119 <span class="keywordtype">int</span> <a class="code" href="descriptors_8c.html#9759d226e51f3e4829391181ead808b9">get_vert_apolar_density</a>(<a class="code" href="structs__vvertice.html">s_vvertice</a> **tvert, <span class="keywordtype">int</span> nvert, <a class="code" href="structs__vvertice.html">s_vvertice</a> *vert) ;
|
|
<a name="l00120"></a>00120 <span class="keywordtype">void</span> <a class="code" href="descriptors_8c.html#18991bc3f2c0fb6d81667f412d516e70">set_atom_based_descriptors</a>(<a class="code" href="structs__atm.html">s_atm</a> **atoms, <span class="keywordtype">int</span> natoms, <a class="code" href="structs__desc.html">s_desc</a> *desc,<a class="code" href="structs__atm.html">s_atm</a> *all_atoms, <span class="keywordtype">int</span> all_natoms);
|
|
<a name="l00121"></a>00121 <span class="keywordtype">void</span> <a class="code" href="descriptors_8c.html#4fae028d2c83da127914b336e71f8340">set_aa_desc</a>(<a class="code" href="structs__desc.html">s_desc</a> *desc, <span class="keyword">const</span> <span class="keywordtype">char</span> *aa_name) ;
|
|
<a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="descriptors_8c.html#62ddb86953349fc86736a5a149133e27">countResidues</a>(<a class="code" href="structs__atm.html">s_atm</a> *atoms, <span class="keywordtype">int</span> natoms, <span class="keywordtype">char</span> chain[2]);
|
|
<a name="l00123"></a>00123
|
|
<a name="l00124"></a>00124 <span class="preprocessor">#endif</span>
|
|
</pre></div></div>
|
|
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jun 7 16:44:23 2010 for fpocket by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
|
</body>
|
|
</html>
|