mirror of
https://github.com/Discngine/fpocket.git
synced 2026-06-04 11:54:21 +08:00
229 lines
16 KiB
HTML
229 lines
16 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: fpmain.c File Reference</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>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>fpmain.c File Reference</h1><code>#include "<a class="el" href="fpmain_8h-source.html">../headers/fpmain.h</a>"</code><br>
|
|
|
|
<p>
|
|
<a href="fpmain_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="fpmain_8c.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fpmain_8c.html#cf95b6de655c7084b731cc8204d6f108">process_pdb</a> (char *pdbname, <a class="el" href="structs__fparams.html">s_fparams</a> *params)</td></tr>
|
|
|
|
</table>
|
|
<hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="fpmain.c::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int main </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>argc</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"> <em>argv</em>[]</td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
## FUNCTION: int main(int argc, char *argv[])<p>
|
|
## SPECIFICATION: Main program!
|
|
<p>Definition at line <a class="el" href="fpmain_8c-source.html#l00071">71</a> of file <a class="el" href="fpmain_8c-source.html">fpmain.c</a>.</p>
|
|
|
|
<p>References <a class="el" href="fparams_8h-source.html#l00141">s_fparams::db_run</a>, <a class="el" href="memhandler_8c-source.html#l00427">free_all()</a>, <a class="el" href="fparams_8c-source.html#l00562">free_fparams()</a>, <a class="el" href="fparams_8c-source.html#l00088">get_fpocket_args()</a>, <a class="el" href="fparams_8h-source.html#l00138">s_fparams::npdb</a>, <a class="el" href="fparams_8h-source.html#l00137">s_fparams::pdb_lst</a>, <a class="el" href="fparams_8h-source.html#l00136">s_fparams::pdb_path</a>, <a class="el" href="fparams_8c-source.html#l00590">print_pocket_usage()</a>, and <a class="el" href="fpmain_8c-source.html#l00130">process_pdb()</a>.</p>
|
|
<div class="fragment"><pre class="fragment"><a name="l00072"></a>00072 {
|
|
<a name="l00073"></a>00073
|
|
<a name="l00074"></a>00074
|
|
<a name="l00075"></a>00075 <a class="code" href="structs__fparams.html">s_fparams</a> *params = <a class="code" href="fparams_8c.html#c1806d3567baea11616fc5fdfca417d7">get_fpocket_args</a>(argc, argv) ;
|
|
<a name="l00076"></a>00076 <span class="keywordflow">if</span>(!params-><a class="code" href="structs__fparams.html#b8d794447932a12435a628f3462df7ad">db_run</a>) fprintf(stdout, <span class="stringliteral">"***** POCKET HUNTING BEGINS ***** \n"</span>) ;
|
|
<a name="l00077"></a>00077 <span class="comment">/* If parameters parsing is ok */</span>
|
|
<a name="l00078"></a>00078 <span class="keywordflow">if</span>(params) {
|
|
<a name="l00079"></a>00079 <span class="keywordflow">if</span>(params-><a class="code" href="structs__fparams.html#b620ac1ea6b8ad4c4ed0b95a8664a560">pdb_lst</a> != NULL) {
|
|
<a name="l00080"></a>00080 <span class="comment">/* Handle a list of pdb */</span>
|
|
<a name="l00081"></a>00081 <span class="keywordtype">int</span> i ;
|
|
<a name="l00082"></a>00082 <span class="keywordflow">for</span> (i = 0 ; i < params-><a class="code" href="structs__fparams.html#5427055e24cc2dea5c41a9fd6bba8cac">npdb</a> ; i++) {
|
|
<a name="l00083"></a>00083
|
|
<a name="l00084"></a>00084 printf(<span class="stringliteral">"> Protein %d / %d : %s"</span>, i, params-><a class="code" href="structs__fparams.html#5427055e24cc2dea5c41a9fd6bba8cac">npdb</a>,
|
|
<a name="l00085"></a>00085 params-><a class="code" href="structs__fparams.html#b620ac1ea6b8ad4c4ed0b95a8664a560">pdb_lst</a>[i]) ;
|
|
<a name="l00086"></a>00086 <span class="keywordflow">if</span>(i == params-><a class="code" href="structs__fparams.html#5427055e24cc2dea5c41a9fd6bba8cac">npdb</a> - 1) fprintf(stdout, <span class="stringliteral">"\n"</span>) ;
|
|
<a name="l00087"></a>00087 <span class="keywordflow">else</span> fprintf(stdout, <span class="stringliteral">"\r"</span>) ;
|
|
<a name="l00088"></a>00088 fflush(stdout) ;
|
|
<a name="l00089"></a>00089 <a class="code" href="fpmain_8c.html#cf95b6de655c7084b731cc8204d6f108">process_pdb</a>(params-><a class="code" href="structs__fparams.html#b620ac1ea6b8ad4c4ed0b95a8664a560">pdb_lst</a>[i], params) ;
|
|
<a name="l00090"></a>00090 }
|
|
<a name="l00091"></a>00091 }
|
|
<a name="l00092"></a>00092 <span class="keywordflow">else</span> {
|
|
<a name="l00093"></a>00093 <span class="keywordflow">if</span>(params-><a class="code" href="structs__fparams.html#4e1b3892d1e42947408cdcaed497bf97">pdb_path</a> == NULL || strlen(params-><a class="code" href="structs__fparams.html#4e1b3892d1e42947408cdcaed497bf97">pdb_path</a>) <= 0) {
|
|
<a name="l00094"></a>00094 fprintf(stdout, <span class="stringliteral">"! Invalid pdb name given.\n"</span>);
|
|
<a name="l00095"></a>00095 <a class="code" href="fparams_8c.html#ab8c5397c1eaa6388ae24aa9ae605481">print_pocket_usage</a>(stdout) ;
|
|
<a name="l00096"></a>00096 }
|
|
<a name="l00097"></a>00097 <span class="keywordflow">else</span> {
|
|
<a name="l00098"></a>00098
|
|
<a name="l00099"></a>00099 <a class="code" href="fpmain_8c.html#cf95b6de655c7084b731cc8204d6f108">process_pdb</a>(params-><a class="code" href="structs__fparams.html#4e1b3892d1e42947408cdcaed497bf97">pdb_path</a>, params) ;
|
|
<a name="l00100"></a>00100 }
|
|
<a name="l00101"></a>00101 }
|
|
<a name="l00102"></a>00102
|
|
<a name="l00103"></a>00103 <a class="code" href="fparams_8c.html#112335ac520ae98bdcf93e0c75c3c5db">free_fparams</a>(params) ;
|
|
<a name="l00104"></a>00104 }
|
|
<a name="l00105"></a>00105 <span class="keywordflow">else</span> {
|
|
<a name="l00106"></a>00106 <a class="code" href="fparams_8c.html#ab8c5397c1eaa6388ae24aa9ae605481">print_pocket_usage</a>(stdout) ;
|
|
<a name="l00107"></a>00107 }
|
|
<a name="l00108"></a>00108
|
|
<a name="l00109"></a>00109 <span class="keywordflow">if</span>(!params-><a class="code" href="structs__fparams.html#b8d794447932a12435a628f3462df7ad">db_run</a>)fprintf(stdout, <span class="stringliteral">"***** POCKET HUNTING ENDS ***** \n"</span>) ;
|
|
<a name="l00110"></a>00110 <a class="code" href="memhandler_8c.html#506df742641c3db2e00869a5c2f4dcd9">free_all</a>() ;
|
|
<a name="l00111"></a>00111
|
|
<a name="l00112"></a>00112 <span class="keywordflow">return</span> 0;
|
|
<a name="l00113"></a>00113 }
|
|
</pre></div>
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="cf95b6de655c7084b731cc8204d6f108"></a><!-- doxytag: member="fpmain.c::process_pdb" ref="cf95b6de655c7084b731cc8204d6f108" args="(char *pdbname, s_fparams *params)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void process_pdb </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"> <em>pdbname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structs__fparams.html">s_fparams</a> * </td>
|
|
<td class="paramname"> <em>params</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
## FUNCTION: process_pdb<p>
|
|
## SPECIFICATION: Handle a single pdb: check the pdb name, load data, and launch fpocket if the pdb file have been successfully read.<p>
|
|
## PARAMETRES: @ char *pdbname : Name of the pdb @ <a class="el" href="structs__fparams.html">s_fparams</a> *params : Parameters of the algorithm. See <a class="el" href="fparams_8c.html">fparams.c</a>/.h<p>
|
|
## RETURN: void
|
|
<p>Definition at line <a class="el" href="fpmain_8c-source.html#l00130">130</a> of file <a class="el" href="fpmain_8c-source.html">fpmain.c</a>.</p>
|
|
|
|
<p>References <a class="el" href="pocket_8c-source.html#l01214">c_lst_pocket_free()</a>, <a class="el" href="fparams_8h-source.html#l00141">s_fparams::db_run</a>, <a class="el" href="rpdb_8h-source.html#l00070">s_pdb::fpdb</a>, <a class="el" href="rpdb_8h-source.html#l00050">M_DONT_KEEP_LIG</a>, <a class="el" href="rpdb_8h-source.html#l00049">M_KEEP_LIG</a>, <a class="el" href="utils_8h-source.html#l00057">M_MAX_PDB_NAME_LEN</a>, <a class="el" href="rpdb_8c-source.html#l00478">rpdb_open()</a>, <a class="el" href="rpdb_8c-source.html#l00599">rpdb_read()</a>, <a class="el" href="fpocket_8c-source.html#l00082">search_pocket()</a>, <a class="el" href="fpout_8c-source.html#l00212">write_descriptors_DB()</a>, <a class="el" href="fpout_8c-source.html#l00079">write_out_fpocket()</a>, and <a class="el" href="fpout_8c-source.html#l00145">write_out_fpocket_DB()</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="fpmain_8c-source.html#l00071">main()</a>.</p>
|
|
<div class="fragment"><pre class="fragment"><a name="l00131"></a>00131 {
|
|
<a name="l00132"></a>00132 <span class="comment">/* Check the PDB file */</span>
|
|
<a name="l00133"></a>00133 <span class="keywordflow">if</span>(pdbname == NULL) return ;
|
|
<a name="l00134"></a>00134
|
|
<a name="l00135"></a>00135 <span class="keywordtype">int</span> len = strlen(pdbname) ;
|
|
<a name="l00136"></a>00136 <span class="keywordflow">if</span>(len >= <a class="code" href="utils_8h.html#ea69486910da420cbfe816d80ecc8b0c">M_MAX_PDB_NAME_LEN</a> || len <= 0) {
|
|
<a name="l00137"></a>00137 fprintf(stderr, <span class="stringliteral">"! Invalid length for the pdb file name. (Max: %d, Min 1)\n"</span>,
|
|
<a name="l00138"></a>00138 <a class="code" href="utils_8h.html#ea69486910da420cbfe816d80ecc8b0c">M_MAX_PDB_NAME_LEN</a>) ;
|
|
<a name="l00139"></a>00139 return ;
|
|
<a name="l00140"></a>00140 }
|
|
<a name="l00141"></a>00141
|
|
<a name="l00142"></a>00142 <span class="comment">/* Try to open it */</span>
|
|
<a name="l00143"></a>00143 <a class="code" href="structs__pdb.html">s_pdb</a> *pdb = <a class="code" href="rpdb_8c.html#29ed3bff6fdc59fd8bf806a35c3127d7">rpdb_open</a>(pdbname, NULL, <a class="code" href="rpdb_8h.html#067223f2b95bbd02c1861d7d45f393b7">M_DONT_KEEP_LIG</a>) ;
|
|
<a name="l00144"></a>00144 <a class="code" href="structs__pdb.html">s_pdb</a> *pdb_w_lig = <a class="code" href="rpdb_8c.html#29ed3bff6fdc59fd8bf806a35c3127d7">rpdb_open</a>(pdbname, NULL, <a class="code" href="rpdb_8h.html#66a6a8deb20e74fd1fd4e597b46ead20">M_KEEP_LIG</a>) ;
|
|
<a name="l00145"></a>00145
|
|
<a name="l00146"></a>00146 <span class="keywordflow">if</span>(pdb) {
|
|
<a name="l00147"></a>00147 <span class="comment">/* Actual reading of pdb data and then calculation */</span>
|
|
<a name="l00148"></a>00148 <a class="code" href="rpdb_8c.html#1ec399102f369c72b06a9944616715b0">rpdb_read</a>(pdb, NULL, <a class="code" href="rpdb_8h.html#067223f2b95bbd02c1861d7d45f393b7">M_DONT_KEEP_LIG</a>) ;
|
|
<a name="l00149"></a>00149 <a class="code" href="rpdb_8c.html#1ec399102f369c72b06a9944616715b0">rpdb_read</a>(pdb_w_lig, NULL, <a class="code" href="rpdb_8h.html#66a6a8deb20e74fd1fd4e597b46ead20">M_KEEP_LIG</a>) ;
|
|
<a name="l00150"></a>00150 <a class="code" href="structc__lst__pockets.html">c_lst_pockets</a> *pockets = <a class="code" href="fpocket_8c.html#23faf120fcf6ef1442496cba08d4fbd1">search_pocket</a>(pdb, params,pdb_w_lig);
|
|
<a name="l00151"></a>00151 <span class="keywordflow">if</span>(pockets) {
|
|
<a name="l00152"></a>00152
|
|
<a name="l00153"></a>00153 <span class="keywordflow">if</span>(params-><a class="code" href="structs__fparams.html#b8d794447932a12435a628f3462df7ad">db_run</a>) {
|
|
<a name="l00154"></a>00154 <a class="code" href="fpout_8c.html#c09d905063785ad38a3024b4d52fc738">write_descriptors_DB</a>(pockets,stdout);
|
|
<a name="l00155"></a>00155 <a class="code" href="fpout_8c.html#71ba639c2b65b5a52ffcc3b9e211ec15">write_out_fpocket_DB</a>(pockets, pdb, pdbname);
|
|
<a name="l00156"></a>00156 }
|
|
<a name="l00157"></a>00157 <span class="keywordflow">else</span> <a class="code" href="fpout_8c.html#d3ae1c465f038fad47776a4e1649e995">write_out_fpocket</a>(pockets, pdb, pdbname);
|
|
<a name="l00158"></a>00158 <a class="code" href="pocket_8c.html#a9afcc69c1f7bdce1f22b0c48397b242">c_lst_pocket_free</a>(pockets) ;
|
|
<a name="l00159"></a>00159 }
|
|
<a name="l00160"></a>00160 fclose(pdb-><a class="code" href="structs__pdb.html#ee6f65655c18f873a00ab5ab376c84c7">fpdb</a>);
|
|
<a name="l00161"></a>00161 }
|
|
<a name="l00162"></a>00162 <span class="keywordflow">else</span> fprintf(stderr, <span class="stringliteral">"! PDB reading failed!\n"</span>);
|
|
<a name="l00163"></a>00163 }
|
|
</pre></div>
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
</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>
|