#include <DTgrd.hpp>
Public Member Functions | |
DT_FILE (int) | |
DT_FILE constructor - 1. More... | |
DT_FILE (int, bool) | |
DT_FILE constructor - 2. More... | |
DT_FILE (int, int, int, int) | |
DT_FILE constructor - 3. More... | |
~DT_FILE () | |
void | UHBD_upload (char *, char *, float, float) |
Create a UHBD object using the uhbd-file input. More... | |
void | exclusion (char *, float, float) |
Create a UHBD object for excluded volume type interactions. More... | |
void | exclusion (char *) |
Create a UHBD object for excluded volume type interactions. More... | |
int | Generate_DTGrid (bool ***, T1 ***) |
Generate the DT-Grid structure! More... | |
int | print_layer (bool ***, int, int) |
Print a 2D slice for an exterior grid. More... | |
int | write_dtgrdfile_ascii (FILE *) |
Write the DT-Grid structure into the DT-Grid file in ASCII format. More... | |
int | write_dtgrdfile_binary (FILE *) |
Write the DT-Grid structure into the DT-Grid file in binary format. More... | |
int | write_dtgrdfile_ascii_nouhbd (FILE *) |
Write dt-grid file for test cases. More... | |
int | write_dtgrdfile_binary_nouhbd (FILE *) |
Write dt-grid file for test cases. More... | |
Private Member Functions | |
int | check_neighbours (bool ***, bool ***, int, int, int) |
projection array to bridge 2D and 3D DT-Grids More... | |
bool *** | exterior_grid (bool ***) |
Create the exterior grid. More... | |
int | write_dtgrdfilebody_ascii (FILE *) |
Write the DT-Grid body into the DT-Grid file in ASCII format. More... | |
int | write_dtgrdfilebody_binary (FILE *) |
Write the DT-Grid body into the DT-Grid file in Binary format. More... | |
Private Attributes | |
int | grid_type_flag |
bool | pqr_flag |
0 for excluded volume, 1 for data grid More... | |
int | LengthX |
input pqr or pdb? More... | |
int | LengthY |
number of points along x axis (in uhbd grid) More... | |
int | LengthZ |
number of points along y axis (in uhbd grid) More... | |
UHBD< T1 > * | uhbd |
number of points along z axis (in uhbd grid) More... | |
int | uhbd_alloc |
a uhbd object for the input UHBD file More... | |
std::vector< T1 > | Value |
std::vector< int > | xcoord |
'value' array of the DT-Grid More... | |
std::vector< int > | ycoord |
icoord array (min and max indices of connected components in x direction) More... | |
std::vector< int > | zcoord |
icoord array (min and max indices of connected components in y direction) More... | |
std::vector< int > | acc |
icoord array (min and max indices of connected components in z direction) More... | |
std::vector< int > | acc2D |
acc pointer array for one dimensional DT-Grid More... | |
std::vector< int > | acc3D |
acc pointer array for two dimensional DT-Grid More... | |
std::vector< int > | proj1D |
acc pointer array for three dimensional DT-Grid More... | |
std::vector< int > | proj2D |
projection array to bridge 1D and 2D DT-Grids More... | |
the parameters and data for a DT-Grid file.
DT_FILE constructor - 1.
flag | input parameter for grid type: excluded, data, etc. |
DT_FILE constructor - 2.
flag | input parameter for grid type: excluded, data, etc. |
pqr_fl | flag for pqr file. when pqr file required (or considered?) |
DT_FILE constructor - 3.
flag | input parameter for grid type: excluded, data, etc. |
i | number of points along x axis |
j | number of points along y axis |
k | number of points along z axis |
|
private |
projection array to bridge 2D and 3D DT-Grids
Iterate over adjacent grid points for connectivity information.
This function is used by exterior_grid to check whether the neighbors of a grid point is also lie in exterior or not!
Exterior | the 3d array that stores the exterior grid. |
Skin_Grid | the 3D array that stores the skin grid. |
x | grid coordinate x |
y | grid coordinate y |
z | grid coordinate z |
void DT_FILE< T1 >::exclusion | ( | char * | UHBDFILE | ) |
void DT_FILE< T1 >::exclusion | ( | char * | PDBFILE, |
float | probe_size, | ||
float | spacing | ||
) |
Create a UHBD object for excluded volume type interactions.
This function creates a UHBD object without a uhbd-file. Similar to UHBD_upload, this is then combined with the molecular interaction grid to generate the DT-Grid data structure.
PDBFILE | pdb-file name |
probe_size | size of the molecular surface probe |
spacing | the resolution for the excluded volume desired by the user. |
|
private |
Create the exterior grid.
The exterior_grid can be used to determine the points that lie outside the molecular surface and do not have direct grid point neighbors to those that are isolated inside the excluded volumes. Therefore, reducing the complexity and size of the data to be stored.
The function starts checking the outermost grid points (points on grid walls) and their direct neighbors until surface of the molecule is reached. The negative of this grid will represent an excluded volume structure with unaccessible cavities buried inside the structure included in the excluded volume definition.
Skin_Grid | the 3D array that stores the skin grid. |
int DT_FILE< T1 >::Generate_DTGrid | ( | bool *** | Skin_Grid, |
T1 *** | UHBD_Grid | ||
) |
Generate the DT-Grid structure!
This is the main function that computes the individual data components and generates the DT-Grid structure The values to be stored at arrays: Value, xcoord, ycoord, zcoord, acc, acc2D, acc3D, proj1D, proj2D are computed here and then stored within.
Skin_Grid | to define the molecular interaction field |
UHBD_Grid | to extract the data that lie at the molecular interaction field. |
int DT_FILE< T1 >::print_layer | ( | bool *** | Exterior, |
int | dimension, | ||
int | layer | ||
) |
Print a 2D slice for an exterior grid.
Similar to UHBD::print_slice_grid, this function is used to print the shape of the volume for a slice given by the input index for x, y and z dimensions. Exterior volume points are shown with 'X' sign.
Exterior | exterior grid |
dimension | for an XY plane=0, for a YZ plane=1 and for an XZ plane=2 |
layer | index of the plane |
void DT_FILE< T1 >::UHBD_upload | ( | char * | PDBFILE, |
char * | UHBDFILE, | ||
float | probe_size, | ||
float | skin_size | ||
) |
Create a UHBD object using the uhbd-file input.
This function uploads the uhbd grid file and creates a UHBD object from that. This is then combined with the molecular interaction grid to generate the DT-Grid data structure.
PDBFILE | pdb-file name |
UHBDFILE | uhbd-file name |
probe_size | size of the molecular surface probe |
skin_size | thickness of the molecule skin that defines the molecular interaction field. |
int DT_FILE< T1 >::write_dtgrdfile_ascii | ( | FILE * | output_file | ) |
Write the DT-Grid structure into the DT-Grid file in ASCII format.
This function writes the header of the DT-Grid file and calls write_dtgrdfilebody_ascii to write the body of the grid data.
output_file | name of the output dt-grid file |
int DT_FILE< T1 >::write_dtgrdfile_ascii_nouhbd | ( | FILE * | output_file | ) |
Write dt-grid file for test cases.
This function writes the header of a DT-Grid file without requiring a uhbd-file and used only for testing purposes!
output_file | name of the output dt-grid file |
int DT_FILE< T1 >::write_dtgrdfile_binary | ( | FILE * | output_file | ) |
Write the DT-Grid structure into the DT-Grid file in binary format.
This function writes the header of the DT-Grid file and calls write_dtgrdfilebody_binary to write the body of the grid data.
output_file | name of the output dt-grid file |
int DT_FILE< T1 >::write_dtgrdfile_binary_nouhbd | ( | FILE * | output_file | ) |
Write dt-grid file for test cases.
Similar to write_dtgrdfile_ascii_nouhbd. Used only for testing purposes!
output_file | name of the output dt-grid file |
|
private |
Write the DT-Grid body into the DT-Grid file in ASCII format.
This function writes the DT-Grid body including the header information specific to DT-Grid into the file.
output_file | name of the output dt-grid file |
|
private |
Write the DT-Grid body into the DT-Grid file in Binary format.
This function writes the DT-Grid body including the header information specific to DT-Grid into the file.
output_file | name of the output dt-grid file |
|
private |
icoord array (min and max indices of connected components in z direction)
|
private |
acc pointer array for one dimensional DT-Grid
|
private |
acc pointer array for two dimensional DT-Grid
|
private |
|
private |
input pqr or pdb?
|
private |
number of points along x axis (in uhbd grid)
|
private |
number of points along y axis (in uhbd grid)
|
private |
0 for excluded volume, 1 for data grid
|
private |
acc pointer array for three dimensional DT-Grid
|
private |
projection array to bridge 1D and 2D DT-Grids
number of points along z axis (in uhbd grid)
|
private |
|
private |
'value' array of the DT-Grid
|
private |
icoord array (min and max indices of connected components in x direction)
|
private |
icoord array (min and max indices of connected components in y direction)