SDA (SDA flex)  7.2
Simulation of Diffusional Association
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DT_FILE< T1 > Class Template Reference

#include <DTgrd.hpp>

Collaboration diagram for DT_FILE< T1 >:

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...
 

Detailed Description

template<typename T1>
class DT_FILE< T1 >

the parameters and data for a DT-Grid file.

Author
Musa Ozboyaci

Constructor & Destructor Documentation

◆ DT_FILE() [1/3]

template<typename T1 >
DT_FILE< T1 >::DT_FILE ( int  flag)

DT_FILE constructor - 1.

Parameters
flaginput parameter for grid type: excluded, data, etc.
Note
Overloaded constructor!

◆ DT_FILE() [2/3]

template<typename T1 >
DT_FILE< T1 >::DT_FILE ( int  flag,
bool  pqr_fl 
)

DT_FILE constructor - 2.

Parameters
flaginput parameter for grid type: excluded, data, etc.
pqr_flflag for pqr file. when pqr file required (or considered?)
Note
Overloaded constructor!

◆ DT_FILE() [3/3]

template<typename T1 >
DT_FILE< T1 >::DT_FILE ( int  flag,
int  i,
int  j,
int  k 
)

DT_FILE constructor - 3.

Parameters
flaginput parameter for grid type: excluded, data, etc.
inumber of points along x axis
jnumber of points along y axis
knumber of points along z axis
Note
Overloaded constructor!

◆ ~DT_FILE()

template<typename T1 >
DT_FILE< T1 >::~DT_FILE ( )

Member Function Documentation

◆ check_neighbours()

template<typename T1 >
int DT_FILE< T1 >::check_neighbours ( bool ***  Exterior,
bool ***  Skin_Grid,
int  x,
int  y,
int  z 
)
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!

Parameters
Exteriorthe 3d array that stores the exterior grid.
Skin_Gridthe 3D array that stores the skin grid.
xgrid coordinate x
ygrid coordinate y
zgrid coordinate z
See also
exterior_grid

◆ exclusion() [1/2]

template<typename T1 >
void DT_FILE< T1 >::exclusion ( char *  UHBDFILE)

Create a UHBD object for excluded volume type interactions.

This function creates a UHBD object with a uhbd-file. Similar to UHBD_upload, this is then combined with the molecular interaction grid to generate the DT-Grid data structure.

Parameters
UHBDFILEuhbd-file name
Note
overloaded function!

◆ exclusion() [2/2]

template<typename T1 >
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.

Parameters
PDBFILEpdb-file name
probe_sizesize of the molecular surface probe
spacingthe resolution for the excluded volume desired by the user.
Note
overloaded function!
Here is the caller graph for this function:

◆ exterior_grid()

template<typename T1 >
bool *** DT_FILE< T1 >::exterior_grid ( bool ***  Skin_Grid)
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.

Note
Not tested, completely! Please use with caution!
Parameters
Skin_Gridthe 3D array that stores the skin grid.

◆ Generate_DTGrid()

template<typename T1 >
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.

Parameters
Skin_Gridto define the molecular interaction field
UHBD_Gridto extract the data that lie at the molecular interaction field.

◆ print_layer()

template<typename T1 >
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.

Parameters
Exteriorexterior grid
dimensionfor an XY plane=0, for a YZ plane=1 and for an XZ plane=2
layerindex of the plane

◆ UHBD_upload()

template<typename T1 >
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.

Parameters
PDBFILEpdb-file name
UHBDFILEuhbd-file name
probe_sizesize of the molecular surface probe
skin_sizethickness of the molecule skin that defines the molecular interaction field.
Here is the caller graph for this function:

◆ write_dtgrdfile_ascii()

template<typename T1 >
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.

Parameters
output_filename of the output dt-grid file
Warning
The header must be the same both in DT-Grid and uhbd files
Here is the caller graph for this function:

◆ write_dtgrdfile_ascii_nouhbd()

template<typename T1 >
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!

Parameters
output_filename of the output dt-grid file

◆ write_dtgrdfile_binary()

template<typename T1 >
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.

Parameters
output_filename of the output dt-grid file
Warning
The header must be the same both in DT-Grid and uhbd files
Here is the caller graph for this function:

◆ write_dtgrdfile_binary_nouhbd()

template<typename T1 >
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!

Parameters
output_filename of the output dt-grid file
See also
write_dtgrdfile_ascii_nouhbd

◆ write_dtgrdfilebody_ascii()

template<typename T1 >
int DT_FILE< T1 >::write_dtgrdfilebody_ascii ( FILE *  output_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.

Parameters
output_filename of the output dt-grid file

◆ write_dtgrdfilebody_binary()

template<typename T1 >
int DT_FILE< T1 >::write_dtgrdfilebody_binary ( FILE *  output_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.

Parameters
output_filename of the output dt-grid file

Member Data Documentation

◆ acc

template<typename T1 >
std::vector<int> DT_FILE< T1 >::acc
private

icoord array (min and max indices of connected components in z direction)

◆ acc2D

template<typename T1 >
std::vector<int> DT_FILE< T1 >::acc2D
private

acc pointer array for one dimensional DT-Grid

See also
DTGrid1D

◆ acc3D

template<typename T1 >
std::vector<int> DT_FILE< T1 >::acc3D
private

acc pointer array for two dimensional DT-Grid

See also
DTGrid2D

◆ grid_type_flag

template<typename T1 >
int DT_FILE< T1 >::grid_type_flag
private

◆ LengthX

template<typename T1 >
int DT_FILE< T1 >::LengthX
private

input pqr or pdb?

◆ LengthY

template<typename T1 >
int DT_FILE< T1 >::LengthY
private

number of points along x axis (in uhbd grid)

◆ LengthZ

template<typename T1 >
int DT_FILE< T1 >::LengthZ
private

number of points along y axis (in uhbd grid)

◆ pqr_flag

template<typename T1 >
bool DT_FILE< T1 >::pqr_flag
private

0 for excluded volume, 1 for data grid

◆ proj1D

template<typename T1 >
std::vector<int> DT_FILE< T1 >::proj1D
private

acc pointer array for three dimensional DT-Grid

See also
DTGrid3D

◆ proj2D

template<typename T1 >
std::vector<int> DT_FILE< T1 >::proj2D
private

projection array to bridge 1D and 2D DT-Grids

◆ uhbd

template<typename T1 >
UHBD<T1>* DT_FILE< T1 >::uhbd
private

number of points along z axis (in uhbd grid)

◆ uhbd_alloc

template<typename T1 >
int DT_FILE< T1 >::uhbd_alloc
private

a uhbd object for the input UHBD file

◆ Value

template<typename T1 >
std::vector<T1> DT_FILE< T1 >::Value
private

◆ xcoord

template<typename T1 >
std::vector<int> DT_FILE< T1 >::xcoord
private

'value' array of the DT-Grid

◆ ycoord

template<typename T1 >
std::vector<int> DT_FILE< T1 >::ycoord
private

icoord array (min and max indices of connected components in x direction)

◆ zcoord

template<typename T1 >
std::vector<int> DT_FILE< T1 >::zcoord
private

icoord array (min and max indices of connected components in y direction)


The documentation for this class was generated from the following file:
Imprint/Privacy