Files
fpocket/doc/programmers_guide/html/dparams_8c.html
2017-03-22 23:31:13 +01:00

661 lines
53 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: dparams.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&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>dparams.c File Reference</h1><code>#include &quot;<a class="el" href="dparams_8h-source.html">../headers/dparams.h</a>&quot;</code><br>
<p>
<a href="dparams_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"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#100b780c898d5b4b3482aba9797f7306">init_def_dparams</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#ca1e7fb31512b575d498b486be72e318">get_dpocket_args</a> (int nargs, char **args)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#415b85de804f291fcd2381c5042b29fa">add_list_complexes</a> (char *str_list_file, <a class="el" href="structs__dparams.html">s_dparams</a> *par)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#300ca3e1ebd9d45a74b6be88169fbbd4">add_complexe</a> (char *complex, char *ligand, <a class="el" href="structs__dparams.html">s_dparams</a> *par)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#1e7882763429519c63037bb44787ca4b">parse_dist_crit</a> (char *str, <a class="el" href="structs__dparams.html">s_dparams</a> *p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#06ed3fb78ed2fcd4a491f4b28829e538">print_dparams</a> (<a class="el" href="structs__dparams.html">s_dparams</a> *p, FILE *f)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#4d9ba39c7b1219bd7758b7d479d1b47e">print_dpocket_usage</a> (FILE *f)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dparams_8c.html#828ec187d6c18322a19e51c14759408f">free_dparams</a> (<a class="el" href="structs__dparams.html">s_dparams</a> *p)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="300ca3e1ebd9d45a74b6be88169fbbd4"></a><!-- doxytag: member="dparams.c::add_complexe" ref="300ca3e1ebd9d45a74b6be88169fbbd4" args="(char *complex, char *ligand, s_dparams *par)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int add_complexe </td>
<td>(</td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>complex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>ligand</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td>
<td class="paramname"> <em>par</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: add_complexe<p>
## SPECIFICATION: Add a set of data to the list of set of data in the parameters. this function is used for the tpocket program only.<p>
The function will try to open the file, and data will be stored only if the file exists, and if the name of the ligand is valid.<p>
## PARAMETERS: @ char *apo : The apo path @ char *complex : The complex path @ char *ligan : The ligand resname: a 4 letter (max!) @ <a class="el" href="structs__dparams.html">s_dparams</a> *par: The structure than contains parameters.<p>
## RETURN: int: 1 if everything is OK, 0 if not.
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00301">301</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8h-source.html#l00108">s_dparams::fcomplex</a>, <a class="el" href="utils_8c-source.html#l00714">fopen_pdb_check_case()</a>, <a class="el" href="dparams_8h-source.html#l00108">s_dparams::ligs</a>, <a class="el" href="memhandler_8c-source.html#l00121">my_malloc()</a>, <a class="el" href="memhandler_8c-source.html#l00184">my_realloc()</a>, and <a class="el" href="dparams_8h-source.html#l00117">s_dparams::nfiles</a>.</p>
<p>Referenced by <a class="el" href="dparams_8c-source.html#l00234">add_list_complexes()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00302"></a>00302 {
<a name="l00303"></a>00303 <span class="keywordtype">int</span> nm1, i, l ;
<a name="l00304"></a>00304
<a name="l00305"></a>00305 FILE *f = <a class="code" href="utils_8c.html#8ec5b0b9f097dc4fc2807ca47d242ac9">fopen_pdb_check_case</a>(complex, <span class="stringliteral">"r"</span>) ;
<a name="l00306"></a>00306 <span class="keywordflow">if</span>(f) {
<a name="l00307"></a>00307 l = strlen(ligand) ;
<a name="l00308"></a>00308 <span class="keywordflow">if</span>(strlen(ligand) &gt;= 2) {
<a name="l00309"></a>00309 <span class="keywordflow">for</span>(i = 0 ; i &lt; l ; i++) ligand[i] = toupper(ligand[i]) ;
<a name="l00310"></a>00310
<a name="l00311"></a>00311 nm1 = par-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a> ;
<a name="l00312"></a>00312 par-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a> += 1 ;
<a name="l00313"></a>00313
<a name="l00314"></a>00314 par-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a> = (<span class="keywordtype">char</span>**) <a class="code" href="memhandler_8c.html#ede15d67c845c05e9b2bfb59b8ab6cf7">my_realloc</a>(par-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a>, (par-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a>)*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*)) ;
<a name="l00315"></a>00315 par-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a> = (<span class="keywordtype">char</span>**) <a class="code" href="memhandler_8c.html#ede15d67c845c05e9b2bfb59b8ab6cf7">my_realloc</a>(par-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a>, (par-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a>)*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>*)) ;
<a name="l00316"></a>00316
<a name="l00317"></a>00317 par-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a>[nm1] = (<span class="keywordtype">char</span> *)<a class="code" href="memhandler_8c.html#52d7260a38c396cb2dd1dd7abcfd61cb">my_malloc</a>((strlen(complex)+1)*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)) ;
<a name="l00318"></a>00318 par-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a>[nm1] = (<span class="keywordtype">char</span> *)<a class="code" href="memhandler_8c.html#52d7260a38c396cb2dd1dd7abcfd61cb">my_malloc</a>((strlen(ligand)+1)*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)) ;
<a name="l00319"></a>00319
<a name="l00320"></a>00320 strcpy(par-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a>[nm1], complex) ;
<a name="l00321"></a>00321 strcpy(par-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a>[nm1], ligand) ;
<a name="l00322"></a>00322
<a name="l00323"></a>00323 fclose(f) ;
<a name="l00324"></a>00324 }
<a name="l00325"></a>00325 <span class="keywordflow">else</span> {
<a name="l00326"></a>00326 fprintf(stdout, <span class="stringliteral">"! The name given for the ligand is invalid or absent.\n"</span>) ;
<a name="l00327"></a>00327 fclose(f) ;
<a name="l00328"></a>00328 <span class="keywordflow">return</span> 0 ;
<a name="l00329"></a>00329 }
<a name="l00330"></a>00330
<a name="l00331"></a>00331 }
<a name="l00332"></a>00332 <span class="keywordflow">else</span> {
<a name="l00333"></a>00333 fprintf(stdout, <span class="stringliteral">"! The pdb file '%s' doesn't exists.\n"</span>, complex) ;
<a name="l00334"></a>00334 <span class="keywordflow">return</span> 0 ;
<a name="l00335"></a>00335 }
<a name="l00336"></a>00336
<a name="l00337"></a>00337 <span class="keywordflow">return</span> 1 ;
<a name="l00338"></a>00338 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="415b85de804f291fcd2381c5042b29fa"></a><!-- doxytag: member="dparams.c::add_list_complexes" ref="415b85de804f291fcd2381c5042b29fa" args="(char *str_list_file, s_dparams *par)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int add_list_complexes </td>
<td>(</td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>str_list_file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td>
<td class="paramname"> <em>par</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: add_list_complexes<p>
## SPECIFICATION: Load a list of protein-ligand pdb file path. This file should have the following format:<p>
complex_pdb_file ligand_code complex_pdb_file2 ligand_code2 complex_pdb_file3 ligand_code3 (...)<p>
Each complexe-ligand set will be stored in the parameters structure.<p>
## PARAMETRES: @ char *str_list_file : Path of the file containing all data @ <a class="el" href="structs__dparams.html">s_dparams</a> *par : Structures that stores all thoses files<p>
## RETURN: int: Number of file read.
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00234">234</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8c-source.html#l00301">add_complexe()</a>, <a class="el" href="utils_8h-source.html#l00057">M_MAX_PDB_NAME_LEN</a>, and <a class="el" href="dparams_8h-source.html#l00117">s_dparams::nfiles</a>.</p>
<p>Referenced by <a class="el" href="dparams_8c-source.html#l00113">get_dpocket_args()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00235"></a>00235 {
<a name="l00236"></a>00236 FILE *f;
<a name="l00237"></a>00237 <span class="keywordtype">int</span> n,
<a name="l00238"></a>00238 nread = 0,
<a name="l00239"></a>00239 status ;
<a name="l00240"></a>00240
<a name="l00241"></a>00241 <span class="keywordtype">char</span> buf[<a class="code" href="utils_8h.html#ea69486910da420cbfe816d80ecc8b0c">M_MAX_PDB_NAME_LEN</a>*2 + 6],
<a name="l00242"></a>00242 complexbuf[<a class="code" href="utils_8h.html#ea69486910da420cbfe816d80ecc8b0c">M_MAX_PDB_NAME_LEN</a>],
<a name="l00243"></a>00243 ligbuf[5];
<a name="l00244"></a>00244
<a name="l00245"></a>00245 <span class="comment">/* Loading data. */</span>
<a name="l00246"></a>00246 f = fopen(str_list_file, <span class="stringliteral">"r"</span>) ;
<a name="l00247"></a>00247 <span class="comment">/*</span>
<a name="l00248"></a>00248 <span class="comment"> printf(str_list_file);</span>
<a name="l00249"></a>00249 <span class="comment">*/</span>
<a name="l00250"></a>00250 <span class="keywordflow">if</span>(f) {
<a name="l00251"></a>00251 <span class="keywordflow">while</span>(fgets(buf, 210, f)) {
<a name="l00252"></a>00252 <span class="comment">/*</span>
<a name="l00253"></a>00253 <span class="comment"> printf("B: %s\n" , buf);</span>
<a name="l00254"></a>00254 <span class="comment">*/</span>
<a name="l00255"></a>00255 n = par-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a> ;
<a name="l00256"></a>00256 status = sscanf(buf, <span class="stringliteral">"%s\t%s"</span>, complexbuf, ligbuf) ;
<a name="l00257"></a>00257
<a name="l00258"></a>00258 <span class="keywordflow">if</span>(status &lt; 2) {
<a name="l00259"></a>00259 <span class="comment">/*</span>
<a name="l00260"></a>00260 <span class="comment"> fprintf(stderr, "! Skipping row '%s' with bad format (status %d).\n",</span>
<a name="l00261"></a>00261 <span class="comment"> buf, status) ;</span>
<a name="l00262"></a>00262 <span class="comment">*/</span>
<a name="l00263"></a>00263 }
<a name="l00264"></a>00264 <span class="keywordflow">else</span> {
<a name="l00265"></a>00265 <span class="comment">/*</span>
<a name="l00266"></a>00266 <span class="comment"> printf("%s %s\n", complexbuf, ligbuf );</span>
<a name="l00267"></a>00267 <span class="comment">*/</span>
<a name="l00268"></a>00268 nread += <a class="code" href="dparams_8c.html#300ca3e1ebd9d45a74b6be88169fbbd4">add_complexe</a>(complexbuf, ligbuf, par) ;
<a name="l00269"></a>00269 }
<a name="l00270"></a>00270
<a name="l00271"></a>00271 }
<a name="l00272"></a>00272 }
<a name="l00273"></a>00273 <span class="keywordflow">else</span> {
<a name="l00274"></a>00274 fprintf(stderr, <span class="stringliteral">"! File %s doesn't exists\n"</span>, str_list_file) ;
<a name="l00275"></a>00275 }
<a name="l00276"></a>00276
<a name="l00277"></a>00277 <span class="keywordflow">return</span> nread ;
<a name="l00278"></a>00278 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="828ec187d6c18322a19e51c14759408f"></a><!-- doxytag: member="dparams.c::free_dparams" ref="828ec187d6c18322a19e51c14759408f" args="(s_dparams *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void free_dparams </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td>
<td class="paramname"> <em>p</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: free_params<p>
## SPECIFICATION: Free parameters<p>
## PARAMETRES: @ <a class="el" href="structs__dparams.html">s_dparams</a> *p: Pointer to the structure to free<p>
## RETURN: void
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00440">440</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_exp</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_fpcknp</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_fpckp</a>, <a class="el" href="dparams_8h-source.html#l00108">s_dparams::fcomplex</a>, <a class="el" href="dparams_8h-source.html#l00120">s_dparams::fpar</a>, <a class="el" href="fparams_8c-source.html#l00562">free_fparams()</a>, <a class="el" href="dparams_8h-source.html#l00108">s_dparams::ligs</a>, and <a class="el" href="memhandler_8c-source.html#l00255">my_free()</a>.</p>
<p>Referenced by <a class="el" href="dparams_8c-source.html#l00113">get_dpocket_args()</a>, and <a class="el" href="dpmain_8c-source.html#l00067">main()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00441"></a>00441 {
<a name="l00442"></a>00442 <span class="keywordflow">if</span>(p) {
<a name="l00443"></a>00443 <span class="keywordflow">if</span>(p-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a>) {
<a name="l00444"></a>00444 <a class="code" href="memhandler_8c.html#a49400242a007d208c641f79856ea4c6">my_free</a>(p-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a>) ;
<a name="l00445"></a>00445 p-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a> = NULL ;
<a name="l00446"></a>00446 }
<a name="l00447"></a>00447
<a name="l00448"></a>00448 <span class="keywordflow">if</span>(p-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a>) {
<a name="l00449"></a>00449 <a class="code" href="memhandler_8c.html#a49400242a007d208c641f79856ea4c6">my_free</a>(p-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a>) ;
<a name="l00450"></a>00450 p-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a> = NULL ;
<a name="l00451"></a>00451 }
<a name="l00452"></a>00452
<a name="l00453"></a>00453 <span class="keywordflow">if</span>(p-&gt;<a class="code" href="structs__dparams.html#eed722b226fde5c51dfa3e2f83d9a6d3">f_exp</a>) {
<a name="l00454"></a>00454 <a class="code" href="memhandler_8c.html#a49400242a007d208c641f79856ea4c6">my_free</a>(p-&gt;<a class="code" href="structs__dparams.html#eed722b226fde5c51dfa3e2f83d9a6d3">f_exp</a>) ;
<a name="l00455"></a>00455 p-&gt;<a class="code" href="structs__dparams.html#eed722b226fde5c51dfa3e2f83d9a6d3">f_exp</a> = NULL ;
<a name="l00456"></a>00456 }
<a name="l00457"></a>00457
<a name="l00458"></a>00458 <span class="keywordflow">if</span>(p-&gt;<a class="code" href="structs__dparams.html#3f14e5f303fbf919cd6f9abab8505c68">f_fpckp</a>) {
<a name="l00459"></a>00459 <a class="code" href="memhandler_8c.html#a49400242a007d208c641f79856ea4c6">my_free</a>(p-&gt;<a class="code" href="structs__dparams.html#3f14e5f303fbf919cd6f9abab8505c68">f_fpckp</a>) ;
<a name="l00460"></a>00460 p-&gt;<a class="code" href="structs__dparams.html#3f14e5f303fbf919cd6f9abab8505c68">f_fpckp</a> = NULL ;
<a name="l00461"></a>00461 }
<a name="l00462"></a>00462
<a name="l00463"></a>00463 <span class="keywordflow">if</span>(p-&gt;<a class="code" href="structs__dparams.html#b1b7fc562b81d0670f3044252a2d4c34">f_fpcknp</a>) {
<a name="l00464"></a>00464 <a class="code" href="memhandler_8c.html#a49400242a007d208c641f79856ea4c6">my_free</a>(p-&gt;<a class="code" href="structs__dparams.html#b1b7fc562b81d0670f3044252a2d4c34">f_fpcknp</a>) ;
<a name="l00465"></a>00465 p-&gt;<a class="code" href="structs__dparams.html#b1b7fc562b81d0670f3044252a2d4c34">f_fpcknp</a> = NULL ;
<a name="l00466"></a>00466 }
<a name="l00467"></a>00467
<a name="l00468"></a>00468 <a class="code" href="fparams_8c.html#112335ac520ae98bdcf93e0c75c3c5db">free_fparams</a>(p-&gt;<a class="code" href="structs__dparams.html#84c3e94630fcd2402fd190aad5a0ffbf">fpar</a>) ;
<a name="l00469"></a>00469
<a name="l00470"></a>00470 <a class="code" href="memhandler_8c.html#a49400242a007d208c641f79856ea4c6">my_free</a>(p) ;
<a name="l00471"></a>00471 }
<a name="l00472"></a>00472 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="ca1e7fb31512b575d498b486be72e318"></a><!-- doxytag: member="dparams.c::get_dpocket_args" ref="ca1e7fb31512b575d498b486be72e318" args="(int nargs, char **args)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structs__dparams.html">s_dparams</a>* get_dpocket_args </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>nargs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname"> <em>args</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: get_dpocket_args<p>
## SPECIFICATION: This function analyse the user's command line and parse it to store parameters for the descriptor calculator programm.<p>
## PARAMETRES: @ int nargs : Number of arguments @ char **args : Arguments of main program<p>
## RETURN: s_dparams*: Pointer to parameters
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00113">113</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8c-source.html#l00234">add_list_complexes()</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_exp</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_fpcknp</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_fpckp</a>, <a class="el" href="dparams_8h-source.html#l00120">s_dparams::fpar</a>, <a class="el" href="dparams_8c-source.html#l00440">free_dparams()</a>, <a class="el" href="fparams_8c-source.html#l00088">get_fpocket_args()</a>, <a class="el" href="dparams_8c-source.html#l00076">init_def_dparams()</a>, <a class="el" href="dparams_8h-source.html#l00115">s_dparams::interface_dist_crit</a>, <a class="el" href="dparams_8h-source.html#l00117">s_dparams::interface_method</a>, <a class="el" href="fparams_8c-source.html#l00529">is_fpocket_opt()</a>, <a class="el" href="dparams_8h-source.html#l00056">M_DPAR_DISTANCE_CRITERIA</a>, <a class="el" href="dparams_8h-source.html#l00057">M_DPAR_INPUT_FILE</a>, <a class="el" href="dparams_8h-source.html#l00054">M_DPAR_INTERFACE_METHOD1</a>, <a class="el" href="dparams_8h-source.html#l00055">M_DPAR_INTERFACE_METHOD2</a>, <a class="el" href="dparams_8h-source.html#l00058">M_DPAR_OUTPUT_FILE</a>, <a class="el" href="dparams_8h-source.html#l00063">M_INTERFACE_METHOD1</a>, <a class="el" href="dparams_8h-source.html#l00066">M_INTERFACE_METHOD2</a>, <a class="el" href="dparams_8h-source.html#l00067">M_LIG_NEIG_DIST</a>, <a class="el" href="dparams_8h-source.html#l00073">M_MAX_FILE_NAME_LENGTH</a>, <a class="el" href="dparams_8h-source.html#l00064">M_VERT_LIG_NEIG_DIST</a>, <a class="el" href="dparams_8c-source.html#l00356">parse_dist_crit()</a>, <a class="el" href="dparams_8c-source.html#l00419">print_dpocket_usage()</a>, and <a class="el" href="utils_8c-source.html#l00678">remove_ext()</a>.</p>
<p>Referenced by <a class="el" href="dpmain_8c-source.html#l00067">main()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00114"></a>00114 {
<a name="l00115"></a>00115 <span class="keywordtype">int</span> i,
<a name="l00116"></a>00116 status = 0,
<a name="l00117"></a>00117 nstats = 0,
<a name="l00118"></a>00118 res;
<a name="l00119"></a>00119
<a name="l00120"></a>00120 <span class="keywordtype">char</span> *str_list_file = NULL ;
<a name="l00121"></a>00121
<a name="l00122"></a>00122 <a class="code" href="structs__dparams.html">s_dparams</a> *par = <a class="code" href="dparams_8c.html#100b780c898d5b4b3482aba9797f7306">init_def_dparams</a>() ;
<a name="l00123"></a>00123 par-&gt;<a class="code" href="structs__dparams.html#84c3e94630fcd2402fd190aad5a0ffbf">fpar</a> = <a class="code" href="fparams_8c.html#c1806d3567baea11616fc5fdfca417d7">get_fpocket_args</a>(nargs, args) ;
<a name="l00124"></a>00124
<a name="l00125"></a>00125 <span class="comment">/* Read arguments by flags */</span>
<a name="l00126"></a>00126 <span class="keywordflow">for</span> (i = 1; i &lt; nargs; i++) {
<a name="l00127"></a>00127 <span class="keywordflow">if</span> (strlen(args[i]) == 2 &amp;&amp; args[i][0] == <span class="charliteral">'-'</span>) {
<a name="l00128"></a>00128 <span class="keywordflow">switch</span> (args[i][1]) {
<a name="l00129"></a>00129 <span class="keywordflow">case</span> <a class="code" href="dparams_8h.html#e1b3066b79046f6dbb5b3ec5537cc6b7">M_DPAR_DISTANCE_CRITERIA</a> :
<a name="l00130"></a>00130 <span class="keywordflow">if</span>(i &lt; nargs-1) status += <a class="code" href="dparams_8c.html#1e7882763429519c63037bb44787ca4b">parse_dist_crit</a>(args[++i], par) ;
<a name="l00131"></a>00131 <span class="keywordflow">else</span> {
<a name="l00132"></a>00132 fprintf(stdout, <span class="stringliteral">"! Distance criteria defining the protein-ligand interface is missing.\n"</span>) ;
<a name="l00133"></a>00133 status += 1 ;
<a name="l00134"></a>00134 }
<a name="l00135"></a>00135 break ;
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <span class="keywordflow">case</span> <a class="code" href="dparams_8h.html#82c7b59d8b32f307c412e0ecb98a04a1">M_DPAR_INTERFACE_METHOD1</a> :
<a name="l00138"></a>00138 par-&gt;<a class="code" href="structs__dparams.html#f48783ed6b360f7a3e83eb4c7ae11300">interface_method</a> = <a class="code" href="dparams_8h.html#cefcbcb3b4a22d32a05b6b2e931334b4">M_INTERFACE_METHOD1</a> ;
<a name="l00139"></a>00139 par-&gt;<a class="code" href="structs__dparams.html#09b829e05d79410ee1471242ab622cac">interface_dist_crit</a> = <a class="code" href="dparams_8h.html#7a9d98b0a58c3e4ff49f676ad073686f">M_VERT_LIG_NEIG_DIST</a> ;
<a name="l00140"></a>00140 break ;
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="keywordflow">case</span> <a class="code" href="dparams_8h.html#66f452257935ac35b2aff9d9a5b35a5c">M_DPAR_INTERFACE_METHOD2</a> :
<a name="l00143"></a>00143 par-&gt;<a class="code" href="structs__dparams.html#f48783ed6b360f7a3e83eb4c7ae11300">interface_method</a> = <a class="code" href="dparams_8h.html#8364a85272afb754f95f5f76832a82ac">M_INTERFACE_METHOD2</a> ;
<a name="l00144"></a>00144 par-&gt;<a class="code" href="structs__dparams.html#09b829e05d79410ee1471242ab622cac">interface_dist_crit</a> = <a class="code" href="dparams_8h.html#828cf5a56026b461ab24fdc52364b1a5">M_LIG_NEIG_DIST</a> ;
<a name="l00145"></a>00145 break ;
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="keywordflow">case</span> <a class="code" href="dparams_8h.html#c2a49a64021fccfd5ac216bd724c34f4">M_DPAR_OUTPUT_FILE</a> :
<a name="l00148"></a>00148 <span class="keywordflow">if</span>(nstats &gt;= 1) fprintf(stdout, <span class="stringliteral">"! More than one single file for the stats output file has been given. Ignoring this one.\n"</span>) ;
<a name="l00149"></a>00149 <span class="keywordflow">else</span> {
<a name="l00150"></a>00150 <span class="keywordflow">if</span>(i &lt; nargs-1) {
<a name="l00151"></a>00151 <span class="keywordflow">if</span>(strlen(args[++i]) &lt; <a class="code" href="dparams_8h.html#8c7b27b7a35d576199e6a8514932bb2b">M_MAX_FILE_NAME_LENGTH</a>) {
<a name="l00152"></a>00152 <a class="code" href="utils_8c.html#1c104f406d4b5f85b6f0bda8db67536f">remove_ext</a>(args[i]) ;
<a name="l00153"></a>00153 sprintf(par-&gt;<a class="code" href="structs__dparams.html#eed722b226fde5c51dfa3e2f83d9a6d3">f_exp</a>, <span class="stringliteral">"%s_exp.txt"</span>, args[i]) ;
<a name="l00154"></a>00154 sprintf(par-&gt;<a class="code" href="structs__dparams.html#3f14e5f303fbf919cd6f9abab8505c68">f_fpckp</a>, <span class="stringliteral">"%s_fp.txt"</span>, args[i]) ;
<a name="l00155"></a>00155 sprintf(par-&gt;<a class="code" href="structs__dparams.html#b1b7fc562b81d0670f3044252a2d4c34">f_fpcknp</a>, <span class="stringliteral">"%s_fpn.txt"</span>, args[i]) ;
<a name="l00156"></a>00156 }
<a name="l00157"></a>00157 <span class="keywordflow">else</span> fprintf(stdout, <span class="stringliteral">"! Output file name is too long... Keeping default."</span>) ;
<a name="l00158"></a>00158 }
<a name="l00159"></a>00159 <span class="keywordflow">else</span> {
<a name="l00160"></a>00160 fprintf(stdout, <span class="stringliteral">"! Invalid output file name argument missing.\n"</span>) ;
<a name="l00161"></a>00161 status += 1 ;
<a name="l00162"></a>00162 }
<a name="l00163"></a>00163 }
<a name="l00164"></a>00164 break ;
<a name="l00165"></a>00165
<a name="l00166"></a>00166 <span class="keywordflow">case</span> <a class="code" href="dparams_8h.html#1dd1b9ec6a0f6e786341e70b6e35d994">M_DPAR_INPUT_FILE</a> :
<a name="l00167"></a>00167 <span class="keywordflow">if</span>(i &lt; nargs-1) str_list_file = args[++i] ;
<a name="l00168"></a>00168 <span class="keywordflow">else</span> {
<a name="l00169"></a>00169 fprintf(stdout, <span class="stringliteral">"! Input file name argument missing.\n"</span>) ;
<a name="l00170"></a>00170 status += 1 ;
<a name="l00171"></a>00171 }
<a name="l00172"></a>00172 break ;
<a name="l00173"></a>00173
<a name="l00174"></a>00174 <span class="keywordflow">default</span>:
<a name="l00175"></a>00175 <span class="comment">// Check fpocket parameters!</span>
<a name="l00176"></a>00176 <span class="keywordflow">if</span>(!<a class="code" href="fparams_8c.html#bdc82d2e467d8dd8765d605d1ae26dc6">is_fpocket_opt</a>(args[i][1])) {
<a name="l00177"></a>00177 fprintf(stdout, <span class="stringliteral">"&gt; Unknown option '%s'. Ignoring it.\n"</span>,
<a name="l00178"></a>00178 args[i]) ;
<a name="l00179"></a>00179 }
<a name="l00180"></a>00180 break ;
<a name="l00181"></a>00181 }
<a name="l00182"></a>00182 }
<a name="l00183"></a>00183 }
<a name="l00184"></a>00184
<a name="l00185"></a>00185 <span class="keywordflow">if</span>(status &gt; 0) {
<a name="l00186"></a>00186 <a class="code" href="dparams_8c.html#828ec187d6c18322a19e51c14759408f">free_dparams</a>(par) ;
<a name="l00187"></a>00187 par = NULL ;
<a name="l00188"></a>00188 <a class="code" href="dparams_8c.html#4d9ba39c7b1219bd7758b7d479d1b47e">print_dpocket_usage</a>(stdout);
<a name="l00189"></a>00189 }
<a name="l00190"></a>00190 <span class="keywordflow">else</span> {
<a name="l00191"></a>00191 <span class="keywordflow">if</span>(str_list_file) {
<a name="l00192"></a>00192 res = <a class="code" href="dparams_8c.html#415b85de804f291fcd2381c5042b29fa">add_list_complexes</a>(str_list_file, par) ;
<a name="l00193"></a>00193 <span class="keywordflow">if</span>(res &lt;= 0) {
<a name="l00194"></a>00194 fprintf(stdout, <span class="stringliteral">"! No data has been read.\n"</span>) ;
<a name="l00195"></a>00195 <a class="code" href="dparams_8c.html#828ec187d6c18322a19e51c14759408f">free_dparams</a>(par) ;
<a name="l00196"></a>00196 par = NULL ;
<a name="l00197"></a>00197 <a class="code" href="dparams_8c.html#4d9ba39c7b1219bd7758b7d479d1b47e">print_dpocket_usage</a>(stdout);
<a name="l00198"></a>00198 }
<a name="l00199"></a>00199 }
<a name="l00200"></a>00200 <span class="keywordflow">else</span> {
<a name="l00201"></a>00201 fprintf(stdout, <span class="stringliteral">"! No input file given... Try again :).\n"</span>) ;
<a name="l00202"></a>00202 <a class="code" href="dparams_8c.html#828ec187d6c18322a19e51c14759408f">free_dparams</a>(par) ;
<a name="l00203"></a>00203 par = NULL ;
<a name="l00204"></a>00204 <a class="code" href="dparams_8c.html#4d9ba39c7b1219bd7758b7d479d1b47e">print_dpocket_usage</a>(stdout);
<a name="l00205"></a>00205 }
<a name="l00206"></a>00206 }
<a name="l00207"></a>00207
<a name="l00208"></a>00208 <span class="keywordflow">return</span> par;
<a name="l00209"></a>00209 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="100b780c898d5b4b3482aba9797f7306"></a><!-- doxytag: member="dparams.c::init_def_dparams" ref="100b780c898d5b4b3482aba9797f7306" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structs__dparams.html">s_dparams</a>* init_def_dparams </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## GENERAL INFORMATION ## ## FILE <a class="el" href="dparams_8c.html">dparams.c</a> ## AUTHORS P. Schmidtke and V. Le Guilloux ## LAST MODIFIED 28-11-08 ## ## SPECIFICATIONS ## ## Handle parameters (parse the command line and sore values) ## for the dpocket programm. ## ## MODIFICATIONS HISTORY ## ## 28-11-08 (v) Comments UTD + relooking ## 27-11-08 (v) Minor Relooking ## 01-04-08 (v) Added comments and creation of history ## 01-01-08 (vp) Created (random date...) ## ## TODO or SUGGESTIONS ## ## (v) Check and update if necessary comments of each function!! ## (v) Review the main function and handle all possible crashes. ## COPYRIGHT DISCLAIMER<p>
Vincent Le Guilloux, Peter Schmidtke and Pierre Tuffery, hereby disclaim all copyright interest in the program “fpocket” (which performs protein cavity detection) written by Vincent Le Guilloux and Peter Schmidtke.<p>
Vincent Le Guilloux 28 November 2008 Peter Schmidtke 28 November 2008 Pierre Tuffery 28 November 2008<p>
GNU GPL<p>
This file is part of the fpocket package.<p>
fpocket is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.<p>
fpocket is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<p>
You should have received a copy of the GNU General Public License along with fpocket. If not, see &lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;. ## FUNCTION: init_def_dparams<p>
## SPECIFICATION: Initialisation of default parameters.<p>
## PARAMETRES: void<p>
## RETURN: s_dparams*: Pointer to allocated paramers.
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00076">76</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_exp</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_fpcknp</a>, <a class="el" href="dparams_8h-source.html#l00111">s_dparams::f_fpckp</a>, <a class="el" href="dparams_8h-source.html#l00108">s_dparams::fcomplex</a>, <a class="el" href="dparams_8h-source.html#l00115">s_dparams::interface_dist_crit</a>, <a class="el" href="dparams_8h-source.html#l00117">s_dparams::interface_method</a>, <a class="el" href="dparams_8h-source.html#l00108">s_dparams::ligs</a>, <a class="el" href="dparams_8h-source.html#l00063">M_INTERFACE_METHOD1</a>, <a class="el" href="dparams_8h-source.html#l00073">M_MAX_FILE_NAME_LENGTH</a>, <a class="el" href="dparams_8h-source.html#l00069">M_OUTPUT_FILE1_DEFAULT</a>, <a class="el" href="dparams_8h-source.html#l00070">M_OUTPUT_FILE2_DEFAULT</a>, <a class="el" href="dparams_8h-source.html#l00071">M_OUTPUT_FILE3_DEFAULT</a>, <a class="el" href="dparams_8h-source.html#l00064">M_VERT_LIG_NEIG_DIST</a>, <a class="el" href="memhandler_8c-source.html#l00121">my_malloc()</a>, and <a class="el" href="dparams_8h-source.html#l00117">s_dparams::nfiles</a>.</p>
<p>Referenced by <a class="el" href="dparams_8c-source.html#l00113">get_dpocket_args()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00077"></a>00077 {
<a name="l00078"></a>00078 <a class="code" href="structs__dparams.html">s_dparams</a> *par = (<a class="code" href="structs__dparams.html">s_dparams</a>*) <a class="code" href="memhandler_8c.html#52d7260a38c396cb2dd1dd7abcfd61cb">my_malloc</a>(<span class="keyword">sizeof</span>(<a class="code" href="structs__dparams.html">s_dparams</a>)) ;
<a name="l00079"></a>00079
<a name="l00080"></a>00080 par-&gt;<a class="code" href="structs__dparams.html#eed722b226fde5c51dfa3e2f83d9a6d3">f_exp</a> = (<span class="keywordtype">char</span> *)<a class="code" href="memhandler_8c.html#52d7260a38c396cb2dd1dd7abcfd61cb">my_malloc</a>(<a class="code" href="dparams_8h.html#8c7b27b7a35d576199e6a8514932bb2b">M_MAX_FILE_NAME_LENGTH</a>*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)) ;
<a name="l00081"></a>00081 par-&gt;<a class="code" href="structs__dparams.html#3f14e5f303fbf919cd6f9abab8505c68">f_fpckp</a> = (<span class="keywordtype">char</span> *)<a class="code" href="memhandler_8c.html#52d7260a38c396cb2dd1dd7abcfd61cb">my_malloc</a>(<a class="code" href="dparams_8h.html#8c7b27b7a35d576199e6a8514932bb2b">M_MAX_FILE_NAME_LENGTH</a>*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)) ;
<a name="l00082"></a>00082 par-&gt;<a class="code" href="structs__dparams.html#b1b7fc562b81d0670f3044252a2d4c34">f_fpcknp</a> = (<span class="keywordtype">char</span> *)<a class="code" href="memhandler_8c.html#52d7260a38c396cb2dd1dd7abcfd61cb">my_malloc</a>(<a class="code" href="dparams_8h.html#8c7b27b7a35d576199e6a8514932bb2b">M_MAX_FILE_NAME_LENGTH</a>*<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>)) ;
<a name="l00083"></a>00083
<a name="l00084"></a>00084 strcpy(par-&gt;<a class="code" href="structs__dparams.html#eed722b226fde5c51dfa3e2f83d9a6d3">f_exp</a>, <a class="code" href="dparams_8h.html#22ad6835c39effbd106823c3c5ca7c0f">M_OUTPUT_FILE1_DEFAULT</a>) ;
<a name="l00085"></a>00085 strcpy(par-&gt;<a class="code" href="structs__dparams.html#3f14e5f303fbf919cd6f9abab8505c68">f_fpckp</a>, <a class="code" href="dparams_8h.html#f1de078ce38b24912d6da6b73ea8dcc5">M_OUTPUT_FILE2_DEFAULT</a>) ;
<a name="l00086"></a>00086 strcpy(par-&gt;<a class="code" href="structs__dparams.html#b1b7fc562b81d0670f3044252a2d4c34">f_fpcknp</a>, <a class="code" href="dparams_8h.html#e65d6e015a840528747af72ef2f01caa">M_OUTPUT_FILE3_DEFAULT</a>) ;
<a name="l00087"></a>00087
<a name="l00088"></a>00088 par-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a> = NULL ;
<a name="l00089"></a>00089 par-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a> = NULL ;
<a name="l00090"></a>00090 par-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a> = 0 ;
<a name="l00091"></a>00091 par-&gt;<a class="code" href="structs__dparams.html#09b829e05d79410ee1471242ab622cac">interface_dist_crit</a> = <a class="code" href="dparams_8h.html#7a9d98b0a58c3e4ff49f676ad073686f">M_VERT_LIG_NEIG_DIST</a> ;
<a name="l00092"></a>00092 par-&gt;<a class="code" href="structs__dparams.html#f48783ed6b360f7a3e83eb4c7ae11300">interface_method</a> = <a class="code" href="dparams_8h.html#cefcbcb3b4a22d32a05b6b2e931334b4">M_INTERFACE_METHOD1</a> ;
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keywordflow">return</span> par ;
<a name="l00095"></a>00095 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="1e7882763429519c63037bb44787ca4b"></a><!-- doxytag: member="dparams.c::parse_dist_crit" ref="1e7882763429519c63037bb44787ca4b" args="(char *str, s_dparams *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int parse_dist_crit </td>
<td>(</td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td>
<td class="paramname"> <em>p</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: parse_dist_crit<p>
## SPECIFICATION: Parsing function for the distance criteria defining the protein-ligand interface.<p>
## PARAMETERS: @ char *str : The string to parse @ <a class="el" href="structs__dparams.html">s_dparams</a> *p : The structure than will contain the parsed parameter<p>
## RETURN: 0 if the parameter is valid (here a valid integer), 1 if not
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00356">356</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8h-source.html#l00115">s_dparams::interface_dist_crit</a>, <a class="el" href="utils_8h-source.html#l00060">M_NO_SIGN</a>, and <a class="el" href="utils_8c-source.html#l00412">str_is_float()</a>.</p>
<p>Referenced by <a class="el" href="dparams_8c-source.html#l00113">get_dpocket_args()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00357"></a>00357 {
<a name="l00358"></a>00358 <span class="keywordflow">if</span>(<a class="code" href="utils_8c.html#b2155f59a3e9691956e8501985f5f362">str_is_float</a>(str, <a class="code" href="utils_8h.html#1d2d01db9e7d6bb5200d8cfd398217d6">M_NO_SIGN</a>)) {
<a name="l00359"></a>00359 p-&gt;<a class="code" href="structs__dparams.html#09b829e05d79410ee1471242ab622cac">interface_dist_crit</a> = (float) atof(str) ;
<a name="l00360"></a>00360 }
<a name="l00361"></a>00361 <span class="keywordflow">else</span> {
<a name="l00362"></a>00362 fprintf(stdout, <span class="stringliteral">"! Invalid value (%s) given for the distance criteria defining the protein-ligand interface.\n"</span>, str) ;
<a name="l00363"></a>00363 <span class="keywordflow">return</span> 1 ;
<a name="l00364"></a>00364 }
<a name="l00365"></a>00365
<a name="l00366"></a>00366 <span class="keywordflow">return</span> 0 ;
<a name="l00367"></a>00367 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="06ed3fb78ed2fcd4a491f4b28829e538"></a><!-- doxytag: member="dparams.c::print_dparams" ref="06ed3fb78ed2fcd4a491f4b28829e538" args="(s_dparams *p, FILE *f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void print_dparams </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structs__dparams.html">s_dparams</a> *&nbsp;</td>
<td class="paramname"> <em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>f</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: print_dparams<p>
## SPECIFICATION: Print function, usefull to debug<p>
## PARAMETRES: @ <a class="el" href="structs__dparams.html">s_dparams</a> *p : The structure than will contain the parsed parameter @ FILE *f : The file to write in<p>
## RETURN: void
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00384">384</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8h-source.html#l00108">s_dparams::fcomplex</a>, <a class="el" href="dparams_8h-source.html#l00115">s_dparams::interface_dist_crit</a>, <a class="el" href="dparams_8h-source.html#l00117">s_dparams::interface_method</a>, <a class="el" href="dparams_8h-source.html#l00108">s_dparams::ligs</a>, <a class="el" href="dparams_8h-source.html#l00063">M_INTERFACE_METHOD1</a>, and <a class="el" href="dparams_8h-source.html#l00117">s_dparams::nfiles</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00385"></a>00385 {
<a name="l00386"></a>00386
<a name="l00387"></a>00387 <span class="keywordflow">if</span>(p) {
<a name="l00388"></a>00388 fprintf(f, <span class="stringliteral">"==============\nParameters of the program: \n"</span>);
<a name="l00389"></a>00389 <span class="keywordtype">int</span> i ;
<a name="l00390"></a>00390 <span class="keywordflow">for</span>(i = 0 ; i &lt; p-&gt;<a class="code" href="structs__dparams.html#04c48f5eb6778c9a5022588e507043d3">nfiles</a> ; i++) {
<a name="l00391"></a>00391 fprintf(f, <span class="stringliteral">"&gt; Protein %d: '%s', '%s'\n"</span>, i+1, p-&gt;<a class="code" href="structs__dparams.html#a98295f566006ae97eef0628a9c94a86">fcomplex</a>[i], p-&gt;<a class="code" href="structs__dparams.html#d3fbaf401c68c3abf7ef662259e547d6">ligs</a>[i]) ;
<a name="l00392"></a>00392 }
<a name="l00393"></a>00393
<a name="l00394"></a>00394 <span class="keywordflow">if</span>(p-&gt;<a class="code" href="structs__dparams.html#f48783ed6b360f7a3e83eb4c7ae11300">interface_method</a> == <a class="code" href="dparams_8h.html#cefcbcb3b4a22d32a05b6b2e931334b4">M_INTERFACE_METHOD1</a>)
<a name="l00395"></a>00395 fprintf(f, <span class="stringliteral">"&gt; Method used to define explicitely the interface atoms: contacted atom by alpha spheres.\n"</span>) ;
<a name="l00396"></a>00396 <span class="keywordflow">else</span> fprintf(f, <span class="stringliteral">"&gt; Method used to define explicitely the interface atoms: ligand's neighbors.\n"</span>) ;
<a name="l00397"></a>00397
<a name="l00398"></a>00398 fprintf(f, <span class="stringliteral">"&gt; Distance used to define explicitely the interface: %f.\n"</span>,
<a name="l00399"></a>00399 p-&gt;<a class="code" href="structs__dparams.html#09b829e05d79410ee1471242ab622cac">interface_dist_crit</a>) ;
<a name="l00400"></a>00400
<a name="l00401"></a>00401 fprintf(f, <span class="stringliteral">"==============\n"</span>);
<a name="l00402"></a>00402 }
<a name="l00403"></a>00403 <span class="keywordflow">else</span> fprintf(f, <span class="stringliteral">"&gt; No parameters detected\n"</span>);
<a name="l00404"></a>00404 }
</pre></div>
<p>
</div>
</div><p>
<a class="anchor" name="4d9ba39c7b1219bd7758b7d479d1b47e"></a><!-- doxytag: member="dparams.c::print_dpocket_usage" ref="4d9ba39c7b1219bd7758b7d479d1b47e" args="(FILE *f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void print_dpocket_usage </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>f</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
## FUNCTION: print_dparams_usage<p>
## SPECIFICATION: Displaying usage of the programm in the given buffer<p>
## PARAMETRES: @ FILE *f: buffer to print in<p>
## RETURN:
<p>Definition at line <a class="el" href="dparams_8c-source.html#l00419">419</a> of file <a class="el" href="dparams_8c-source.html">dparams.c</a>.</p>
<p>References <a class="el" href="dparams_8h-source.html#l00078">M_DP_USAGE</a>.</p>
<p>Referenced by <a class="el" href="dparams_8c-source.html#l00113">get_dpocket_args()</a>.</p>
<div class="fragment"><pre class="fragment"><a name="l00420"></a>00420 {
<a name="l00421"></a>00421 f = (f == NULL) ? stdout:f ;
<a name="l00422"></a>00422
<a name="l00423"></a>00423 fprintf(f, <a class="code" href="dparams_8h.html#0905e7f06509f8460ef006f086887671">M_DP_USAGE</a>) ;
<a name="l00424"></a>00424 }
</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&nbsp;
<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>