SDA (SDA flex)  7.2
Simulation of Diffusional Association
Data Types | Modules | Functions/Subroutines | Variables
mod_record.f90 File Reference

Data Types

type  mod_record::nodecomplexe
 Define one Node for the ListComplexe
. More...
 
type  mod_record::listcomplexe
 Complexes implemented as a list, fast insertion and deletion
To define a list, we use type NodeComplexe which contains one object
Can extend the description here. More...
 
type  mod_record::trajectory
 Implemented as an array, fixed size and append data only at the end. More...
 
type  mod_record::record
 Main "base" class
All derived can be created from this one. More...
 

Modules

module  mod_record
 MODULE mod_record
Define type record and subtypes Trajectory and ListComplexe.
 

Functions/Subroutines

subroutine, public mod_record::new_record (this, type_record_string, type_calc, nb_max_complexe, filename_out, io_compl, opt_sum, box_info, ntraj_rec, freq_print, rmsd_min, one_run, one_conf, format_ascii, nb_types)
 for creation, copy and deletion More...
 
subroutine, public mod_record::init_record (this, opt_iocmx)
 A simpler initialization, used when reading an existing file nullify the pointers mainly new add opt_iocmx if want to force. More...
 
subroutine, public mod_record::initialize_record (this, tab_prot, opt_read, opt_nb_protein, opt_large_traj)
 Finalize the creation of a record.
Setup the bits for variable fields, assign tab_prot and writes the header, except if opt_read is true.
This function has been improved and allocate basic trajectory / list_complexe automatically if not done before Usefull for tools, shoud make tab_prot an option also ( want to use easy construction without tab_prot ) More...
 
subroutine, public mod_record::delete_record (this, opt_donot_check_array)
 Delete record : complexe or trajectory
Only nullify the pointer to ptab_protein, do not delete the object. More...
 
subroutine, public mod_record::copy_record (this, p_copy, opt_header, opt_newsizemax)
 Make a copy of a record Note : it is a copy of all data members, the content of the array or list is not copied.
Use by tools, and by parallelisation to assign a complexe to each thread
test if p_copy is already associated ( tool ), or create one ( OpenMP ) More...
 
subroutine mod_record::extract_version_number (version_str, int_version)
 Get version from the header string. More...
 
character *10 function mod_record::create_version_str (int_version)
 Create the string for the versino number. More...
 
subroutine mod_record::set_bit_energy (this, position)
 Set bit of bit_energy or bit_integer to 1
Better for internal usage, or Should consider than the order will not change in futur. More...
 
subroutine mod_record::set_bit_integer (this, position)
 
subroutine mod_record::set_variable_field (this)
 Set the size of the variable field ( energy and integer ) nb_int and nb_real Convenient function to call set_nb_int and set_nb_real at once. Need the bits to be set correclty before the call
Adviced to use this function from sda and external ( tools ).
. More...
 
subroutine mod_record::set_nb_int (this)
 For internal use. Call set_variable_field adviced. More...
 
subroutine mod_record::set_nb_real (this)
 For internal use. Call set_variable_field adviced. More...
 
subroutine mod_record::return_compatible_array_wrap (this, array_int, array_real, array_other, opt_p_onecomplexe)
 Function wrapper to mod_onecomplexe::return_compatible_array. More...
 
subroutine, public mod_record::set_onecomplexe_wrap (this, position, box, orient_x, orient_y, array_int_compl, array_real_compl, other_real, opt_p_onecomplexe)
 Function wrapper to mod_onecomplexe::set_onecomplexe. More...
 
integer function mod_record::get_max_bit_energy (this)
 Return the maximum indice used for energy.
used to set size array_energy of sda_2proteins correctly. Order of array_energy is fixed. More...
 
integer function mod_record::get_nbterms_energy_compatible (this, opt_force_split)
 Get the minimum size of the array to contain the energy terms. More...
 
integer function, public mod_record::get_nbterms_integer_compatible (this)
 Similar for integer terms.
. More...
 
subroutine, public mod_record::reset_position (this, opt_status)
 Reset the current pointer of trajectory or complexe to the first element
Kind of rewind. More...
 
subroutine, public mod_record::getnext (this, status, opt_step, opt_p_onecomplexe)
 Update the current pointers to the next position.
Update the current node p_current and and the pointer on a one_complexe to the next element of the list or array. Usefull for traversing complexe or trajectory records. More...
 
subroutine, public mod_record::compute_all_occurencies (this, total_occur)
 Compute the sum of all occurencies in the complex file
Used mainly by sda_2proteins and sda_koff. If trajectory return the size of the array. Occurrencies are always stored at the first index of other_real_ocompl. More...
 
subroutine mod_record::write_header_record (this)
 Function to write only the header to the output file
Called by write_record. More...
 
subroutine mod_record::make_format_header_ascii (this, to_write, opt_version)
 Make the format string for the header, for reading and writing the header. More...
 
subroutine mod_record::make_header_ascii (this)
 
subroutine mod_record::make_header_energy_ascii (this, if_var)
 header with variance, used by tools More...
 
subroutine mod_record::make_header_int_pairs_ascii (this, if_var)
 ?? More...
 
subroutine mod_record::make_format_string_ascii (this)
 Make format for all one_complexe instances, for read and write.
Common to trajectory and complexes. For internal use normally. to check if used correctly, should be called only once ! here works for read and write. More...
 
subroutine mod_record::write_header_ascii (this)
 Write header in ascii format. More...
 
subroutine mod_record::write_header_bin (this)
 Write header in binary format, always print cm. More...
 
subroutine, public mod_record::read_header_record (this, filename, opt_cm, opt_nb_record, opt_summary)
 Read the header of the record, call appropriate ascii or binary sub-functions
Setup internal variables with inforamtion from the header. Adviced to use this function directly.
. More...
 
subroutine mod_record::read_header_binary (this, type_calc, int_type_record, nb_prot, nb_type, bit_integer, bit_real, nb_other_real, opt_sum, box_info, cm, int_version)
 Internal use.
. More...
 
subroutine mod_record::read_header_ascii (this, type_calc, int_type_record, nb_prot, nb_type, bit_integer, bit_real, nb_other_real, opt_sum, box_info, cm, int_version)
 Internal use.
. More...
 
subroutine, public mod_record::add_record (this, array_prot, ntraj, nstep, array_energy, time, opt_nconf)
 Add a new entry into the record
Creates a new one_complexe if needed ( in case of complex )
This function is not thread-safe, critical sections are needed. More...
 
integer function mod_record::get_indice_ntraj (this)
 Function to get the indice of the trajectory number.
. More...
 
integer function mod_record::get_indice_nconf (this)
 Same for conformation number. More...
 
subroutine mod_record::print_bits (this, opt_for_choice)
 Print info about bits. More...
 
subroutine mod_record::print_record (this, opt_recompute_dispersion)
 Print infos about the record.
for complexes can ask to recompute the dispersion when printing. More...
 
subroutine, public mod_record::write_record (this, opt_recompute_dispersion)
 Main function to write the record.
Make internal call to write header.
. More...
 
subroutine, public mod_record::read_file_record (this, opt_rebuild_sum_square)
 Read the record and fill the array or list with the data. More...
 
subroutine mod_record::count_records (this, nb_line)
 Function to count the number of lines.
Tricky for binary : need to read data without saving, read in temporary variables
. More...
 
subroutine mod_record::test_binary (this, filename, version)
 Test if a file is in binary or ascii format.
Called internally
test version not used yet \TODO NJB: Make check for ascii/binary more robust. See check used for grid files. More...
 
subroutine mod_record::new_trajectory (this, nb_max_complexe)
 Allocate a trajectory. More...
 
subroutine mod_record::initialize_trajectory (this, basecl, opt_large_traj)
 Finalize the creation of a trajectory. More...
 
subroutine mod_record::delete_trajectory (this, basecl, donot_check_array)
 Delete trajectory. More...
 
subroutine mod_record::write_array (this, basecl, opt_last_conf)
 Write trajectory files.
. More...
 
subroutine mod_record::write_part_array (this, basecl, first, last)
 this is the real writing to disk part other More...
 
subroutine mod_record::read_string_trajectory (this, basecl, io_err)
 
subroutine mod_record::print_array (this, basecl)
 
subroutine mod_record::new_listcomplexe (this, rmsd_min, one_run, one_conf)
 Allocate the ListComplexe. More...
 
subroutine mod_record::delete_listcomplexe (this, opt_clean)
 Delete the ListComplex. More...
 
subroutine mod_record::merge_complexe (this, p_copy)
 Merge 2 records into 1 unique
Implemented only for "ListComplexe" ( DO NOT USE with trajectory ! ) More...
 
subroutine mod_record::delete_last_data (this, status)
 Delete the last data of the list. More...
 
subroutine mod_record::fill_listcomplexe (this, basecl, position, orient_x, orient_y, array_energy, array_integer, dist_max, opt_other_real)
 Create and insert a new one_complexe into the list
Normally called by add_record, but can be filled manually. More...
 
subroutine mod_record::read_string_complexe (this, basecl, rebuild_sum_square, io_err)
 Read a binary or ascii line from a complexe file. More...
 
subroutine mod_record::insert_new_node (this, pnew_onecomplexe)
 Allocate and insert a new NodeComplexe always BEFORE this one. More...
 
subroutine mod_record::insert_node (this, pnew_node)
 Insert an existing node before this one. More...
 
subroutine mod_record::delete_onecomplexe_fromlist (this)
 Delete one_complexe from the list. More...
 
subroutine mod_record::write_listcomplexe (this, basecl, recompute_dispersion)
 Write the entire list of complexes to the disk. More...
 
subroutine mod_record::print_listcomplexe (this, recompute_dispersion)
 Only for test
keep as example of recursive function for dealing with a list. More...
 
recursive integer function mod_record::print_node_list (this, recompute_dispersion)
 Only for test. More...
 
subroutine mod_record::rms_complexe (rmsd2, dist_max, r1, y11, y12, r2, y21, y22)
 Compute an approximation of the root mean square difference between 2 complexes.
If rmsd2 < "rmsd_min", the complexe with the minimum energy will conserved. The other deleted
Only an approximation for rigid body protein, we use only the orientation axis for the computation
Typical values should be rmsd_min <= 2 when a large number of binding sites
want to be recorded and <= 1 for more accuracy close to a binding site
. More...
 

Variables

integer, parameter mod_record::last_version_rec = 2
 Versioning. More...
 
integer, parameter mod_record::intern = 0
 enumeration for the state of the node More...
 
integer, parameter mod_record::first = 1
 
integer, parameter mod_record::last = 2
 
integer, parameter mod_record::trajectory_enum =1
 enumeration for type_record More...
 
integer, parameter mod_record::complexe_enum =2
 
integer, parameter mod_record::off_record = 3
 
character(13), dimension(8) mod_record::ener_colnames = (/ character(13):: 'TotEn', 'El', 'ED', 'HD', 'rLJ', 'LJ', 'ImgChg', 'MetDes' /)
 names of the energy terms for the output More...
 
character(13), dimension(8) mod_record::var_colnames = (/ character(13):: 'varTotEn', 'varEl', 'varED', 'varHD', 'varRLJ', 'varLJ', 'varImgChg', 'varMetDes' /)
 

Detailed Description

Version
{version 7.2.3 (2019)}

Copyright (c) 2009, 2010, 2015, 2016, 2019 Heidelberg Institute of Theoretical Studies (HITS, www.h-its.org) Schloss-Wolfsbrunnenweg 35 69118 Heidelberg, Germany

Please send your contact address to get information on updates and new features to "mcmsoft@h-its.org". Questions will be answered as soon as possible.

References: see also http://mcm.h-its.org/sda7/do:c/doc_sda7/references.html:

Brownian dynamics simulation of protein-protein diffusional encounter. (1998) Methods, 14, 329-341.

SDA 7: A modular and parallel implementation of the simulation of diffusional association software. Journal of computational chemistry 36.21 (2015): 1631-1645.

Authors: M.Martinez, N.J.Bruce, J.Romanowska, D.B.Kokh, P.Mereghetti, X. Yu, M. Ozboyaci, M. Reinhardt, P. Friedrich, R.R.Gabdoulline, S.Richter and R.C.Wade


Module for reading and writing trajectories and complexes files

most general type is record, subtypes are complex and trajectory

Imprint/Privacy