mdpout.h File Reference

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <ctype.h>
#include <limits.h>
#include <assert.h>
#include "fpocket.h"
#include "fpout.h"
#include "writepocket.h"
#include "tpocket.h"
#include "dparams.h"
#include "descriptors.h"
#include "neighbor.h"
#include "pocket.h"
#include "cluster.h"
#include "refine.h"
#include "aa.h"
#include "utils.h"
#include "mdparams.h"
#include "mdpbase.h"
#include "memhandler.h"

Go to the source code of this file.

Functions

void write_md_grid (s_mdgrid *g, FILE *f, FILE *fiso, s_mdparams *par, float isovalue)
void write_md_pocket_atoms (FILE *f, int *ids, s_pdb *prot, int nids, int sn)
void write_first_bfactor_density (FILE *f, s_pdb *prot)


Function Documentation

void write_first_bfactor_density ( FILE *  f,
s_pdb prot 
)

## FUNCTION: write_first_bfactor_density

## SPECIFICATION: writes the protein structure with pocket densities in the bfactor column.

## PARAMETRES: @ FILE *f : output file handle @ s_pdb *prot : protein handle

## RETURN: void

Definition at line 203 of file mdpout.c.

References s_atm::bfactor, s_atm::chain, s_atm::charge, s_atm::id, s_pdb::latoms_p, s_atm::name, s_pdb::natoms, s_atm::occupancy, s_atm::pdb_aloc, s_atm::pdb_insert, s_atm::res_id, s_atm::res_name, s_atm::symbol, write_pdb_atom_line(), s_atm::x, s_atm::y, and s_atm::z.

Referenced by mdpocket_detect().

00203                                                      {
00204     s_atm *cura;
00205     int i;
00206     //fprintf(f,"MODEL        %d\n",sn);
00207     for(i=0;i<prot->natoms;i++){
00208         cura=prot->latoms_p[i];
00209         write_pdb_atom_line(f, "ATOM", cura->id, cura->name,
00210                                                  cura->pdb_aloc, cura->res_name, cura->chain,
00211                                                  cura->res_id, cura->pdb_insert, cura->x, cura->y, cura->z, cura->occupancy,
00212                                                  cura->bfactor, cura->symbol, cura->charge);
00213     }
00214     fprintf(f,"TER\n");
00215     fprintf(f,"END\n");
00216 
00217 }

void write_md_grid ( s_mdgrid g,
FILE *  f,
FILE *  fiso,
s_mdparams par,
float  isovalue 
)

COPYRIGHT DISCLAIMER

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.

Vincent Le Guilloux 28 November 2008 Peter Schmidtke 28 November 2008 Pierre Tuffery 28 November 2008

GNU GPL

This file is part of the fpocket package.

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.

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.

You should have received a copy of the GNU General Public License along with fpocket. If not, see <http://www.gnu.org/licenses/>.

## FUNCTION: write_md_grid

## SPECIFICATION: Write the md grid to a file.

## PARAMETRES: @ s_mdgrid g : structure containing the grid @ FILE *f : file handle for output file @ FILE *fiso : file handle for iso pdb output file @ s_mdparams *par : parameters for mdpocket @ float isovalue : isovalue at which one wants to extract the iso PDB

## RETURN: void :

Definition at line 95 of file mdpout.c.

References s_fparams::asph_max_size, s_fparams::asph_min_size, s_fparams::clust_max_dist, s_mdparams::flag_scoring, s_mdparams::fpar, s_mdgrid::gridvalues, s_fparams::min_pock_nb_asph, s_mdgrid::nx, s_mdgrid::ny, s_mdgrid::nz, s_mdgrid::origin, s_fparams::refine_clust_dist, s_mdgrid::resolution, s_fparams::sl_clust_max_dist, and s_fparams::sl_clust_min_nneigh.

Referenced by mdpocket_detect().

00096 {
00097     int cx,cy,cz;
00098     float cv;
00099     float rx,ry,rz;
00100     size_t cnt=0;
00101     /*write the header of the dx file*/
00102     fprintf(f,"# Data calculated by mdpocket, part of the fpocket package\n");
00103     fprintf(f,"# This is a standard DX file of occurences of cavities within MD trajectories.\n");
00104     fprintf(f,"# The file can be visualised using the freely available VMD software\n");
00105     fprintf(f,"# fpocket parameters used to create this dx file : \n");
00106     fprintf(f,"# \t-m %2.f (min alpha sphere size) -M %.2f (max alpha sphere size)\n",par->fpar->asph_min_size, par->fpar->asph_max_size);
00107     fprintf(f,"# \t-i %d (min number of alpha spheres per pocket)\n",par->fpar->min_pock_nb_asph);
00108     fprintf(f,"# \t-D %.2f (Max distance for 1st clustering algo)\n#\t-r %.2f (Max dist for 2nd clustering algo)\n#\t-s %.2f (Max dist for third clustering algo)\n",par->fpar->clust_max_dist, par->fpar->refine_clust_dist, par->fpar->sl_clust_max_dist);
00109     fprintf(f,"# \t-n %d (Min neighbour atoms for multi linkage clustering)\n",par->fpar->sl_clust_min_nneigh);
00110     if(par->flag_scoring) fprintf(f,"# \t-S (Map drug score to density map!)\n");
00111     fprintf(f,"object 1 class gridpositions counts %d %d %d\n",g->nx,g->ny,g->nz);
00112     fprintf(f,"origin %.2f %.2f %.2f\n",g->origin[0],g->origin[1],g->origin[2]);
00113     fprintf(f,"delta %.2f 0 0\n",g->resolution);
00114     fprintf(f,"delta 0 %.2f 0\n",g->resolution);
00115     fprintf(f,"delta 0 0 %.2f\n",g->resolution);
00116     fprintf(f,"object 2 class gridconnections counts %d %d %d\n",g->nx,g->ny,g->nz);
00117     fprintf(f,"object 3 class array type double rank 0 items %d data follows\n",g->nx*g->ny*g->nz);
00118     int i=0;
00119     for(cx=0;cx<g->nx;cx++){
00120         for(cy=0;cy<g->ny;cy++){
00121             for(cz=0;cz<g->nz;cz++){
00122                 if(i==3) {
00123                     i=0;
00124                     fprintf(f,"\n");
00125                 }
00126                 cv=g->gridvalues[cx][cy][cz];
00127                 fprintf(f,"%.3f ",cv);
00128                 if(cv>=isovalue){
00129                     cnt++;
00130                     rx=g->origin[0]+cx*g->resolution;
00131                     ry=g->origin[1]+cy*g->resolution;
00132                     rz=g->origin[2]+cz*g->resolution;
00133                     fprintf(fiso,"ATOM  %5d  C   PTH     1    %8.3f%8.3f%8.3f%6.2f%6.2f\n",(int)cnt,rx,ry,rz,0.0,0.0);
00134                 }
00135                 i++;
00136             }
00137         }
00138     }
00139 }

void write_md_pocket_atoms ( FILE *  f,
int *  ids,
s_pdb prot,
int  nids,
int  sn 
)

## FUNCTION: write_md_pocket_atoms

## SPECIFICATION: writes a pdb file containing all pocket atoms at each snapshot in distinct models

## PARAMETRES: @ FILE *f : output file handle @ int *ids : list of atom identifiers @ s_pdb *prot : the protein handle @ int nids : number of ids in ids list @ int sn : number of snapshots

## RETURN: void

Definition at line 162 of file mdpout.c.

References s_atm::bfactor, s_atm::chain, s_atm::charge, s_atm::id, s_pdb::latoms_p, s_atm::name, s_atm::occupancy, s_atm::pdb_aloc, s_atm::pdb_insert, s_atm::res_id, s_atm::res_name, s_atm::symbol, write_pdb_atom_line(), s_atm::x, s_atm::y, and s_atm::z.

Referenced by mdpocket_characterize().

00162                                                                           {
00163     s_atm *cura;
00164     int i,j,flag;
00165     i=0;
00166     j=0;
00167     fprintf(f,"MODEL        %d\n",sn);
00168     for(i=0;i<nids;i++){
00169         flag=0;
00170         while(flag==0 && j<prot->natoms){
00171             cura=prot->latoms_p[j];
00172             if(cura->id==ids[i]){
00173                 flag=1;
00174                 write_pdb_atom_line(f, "ATOM", cura->id, cura->name,
00175                                                  cura->pdb_aloc, cura->res_name, cura->chain,
00176                                                  cura->res_id, cura->pdb_insert, cura->x, cura->y, cura->z, cura->occupancy,
00177                                                  cura->bfactor, cura->symbol, cura->charge);
00178             }
00179             j++;
00180         }
00181     }
00182     fprintf(f,"ENDMDL\n");
00183     
00184 }


Generated on Mon Jun 7 16:44:23 2010 for fpocket by  doxygen 1.5.6