Module for flexibility. More...
Data Types | |
type | nodeflex |
Define nodes of list_flex, internal use. More... | |
type | list_flex_type |
List of set of grid. More... | |
type | flexible |
Main class owned by each protein to allow a change in conformation. More... | |
Functions/Subroutines | |
subroutine | new_flexible (this, plist_flex) |
Constructor flexible . More... | |
subroutine | delete_flexible (this) |
Destructor flexible. More... | |
subroutine | init_flexible_freq (this) |
Initialize or reinitialze the time for the next change in conformation : time_next_flex. More... | |
subroutine | new_list_flex (this, flex_method_str, list_conf_fname, total_conf, initial_conf, nearest_ngb, frequence, std_freq) |
Constructor of list_flexible. More... | |
subroutine | delete_listflex (this) |
Delete the full list and the associated sogrid. More... | |
subroutine | delete_last_dataflex (this, status) |
Deleta the last node of the list and the associated sogrid. More... | |
subroutine | delete_first_dataflex (this, status) |
not used until now, to delete ?? More... | |
subroutine | insert_sogrid (this, p_sogrid, head, status) |
Insert a new sogrid and create a new node. More... | |
recursive integer function | associate_to_conformation (this, pnew_node, nb_conf, counter, shift_conf) |
Associate pointer pnew_node to the conformation number. More... | |
subroutine | change_conf_flex (this, conf_nb, shift_conf_opt) |
Update the p_current_node of flex to conformation nb_conf (== -1 random ) or shift_conf ( +/- 1 ) More... | |
Variables | |
integer, parameter | flex_intern = 0 |
enumeration of node's state for the list More... | |
integer, parameter | flex_first = 1 |
integer, parameter | flex_last = 2 |
integer, parameter | flex_random = 0 |
enumeration for the algorithm More... | |
integer, parameter | flex_metropolis = 1 |
integer, parameter | flex_minimum = 2 |
integer, parameter | flex_time = 3 |
Module for flexibility.
Manage a list of possible conformation ( list of set_of_grid ). define type for flexibility : NodeFlex, list_flex_type and flexible
recursive integer function mod_flexibility::associate_to_conformation | ( | type ( nodeflex ), target | this, |
type ( nodeflex ), pointer | pnew_node, | ||
integer, intent(in) | nb_conf, | ||
integer, intent(out) | counter, | ||
integer, intent(in) | shift_conf | ||
) |
Associate pointer pnew_node to the conformation number.
set pnew_node to nb_conf or shift ( previous or next ) called by change_conf_flex only, which deals with random numbers
if shift_opt is given moved to a neighbour. if shift not given and nb_conf /= -1, moved to nb_conf using recursive function, needed to loop throught the list.
this | : instance of NodeFlex |
pnew_node | : pointer to the NodeFlex, associated if status == 0 |
nb_conf | : specify the conformation number, used if shift_conf == 0 |
counter | : return the current conformation in the case nb_conf is specified explictely |
shift_conf | : if 1 or -1, points to the next or previous node. if 0 use nb_conf |
subroutine mod_flexibility::change_conf_flex | ( | type ( flexible ) | this, |
integer, intent(in) | conf_nb, | ||
integer, optional | shift_conf_opt | ||
) |
Update the p_current_node of flex to conformation nb_conf (== -1 random ) or shift_conf ( +/- 1 )
if shift_conf_opt present ( +1 / -1) limited to +/- 1 not present, do not use shift both cases if conf_nb == -1 random if shift ( can be the same) full random (can be the same ) if conf_nb /= -1 and shift_conf is not present : specify the conformation number exactly
this | : instance of flexible |
conf_nb | : new conformation number |
conf_nb | : conformation number, if == -1, random |
shift_conf_opt | : optionaly if conf_nb different of -1 (=0) apply the given shift |
subroutine mod_flexibility::delete_first_dataflex | ( | type ( list_flex_type ) | this, |
integer, intent(out) | status | ||
) |
not used until now, to delete ??
subroutine mod_flexibility::delete_flexible | ( | type ( flexible ) | this | ) |
Destructor flexible.
Deallocate array for statistics, nullify the pointer ( no deletion of sogrid )
this | : instance of a flexible |
subroutine mod_flexibility::delete_last_dataflex | ( | type ( list_flex_type ) | this, |
integer, intent(out) | status | ||
) |
Deleta the last node of the list and the associated sogrid.
this | : instance of list_flex_type |
status | : for error report |
subroutine mod_flexibility::delete_listflex | ( | type ( list_flex_type ) | this | ) |
Delete the full list and the associated sogrid.
this | : instance of a list_flex_type |
subroutine mod_flexibility::init_flexible_freq | ( | type ( flexible ) | this | ) |
Initialize or reinitialze the time for the next change in conformation : time_next_flex.
if std_freq_random > 0, add a random variable else use exactly frequence
this | : instance of a flexible |
subroutine mod_flexibility::insert_sogrid | ( | type ( list_flex_type ) | this, |
type ( sogrid ), pointer | p_sogrid, | ||
logical, intent(in) | head, | ||
integer | status | ||
) |
Insert a new sogrid and create a new node.
Could increment the size here
this | : instance of list_flex_type |
p_sogrid | : pointer to the sogrid to insert |
head | : if true insert first position, if false last position |
status | : for error report, not used |
subroutine mod_flexibility::new_flexible | ( | type ( flexible ) | this, |
type ( list_flex_type ), target | plist_flex | ||
) |
Constructor flexible
.
Called by mod_protein::set_flexible
The list of conformation should be independently created with new_list_flex
Allocate the array for the statistics
this | : instance of a flexible |
plist_flex | : the list of sogrid to associate to flexible |
subroutine mod_flexibility::new_list_flex | ( | type ( list_flex_type ) | this, |
character ( 128 ) | flex_method_str, | ||
character ( 128 ) | list_conf_fname, | ||
integer | total_conf, | ||
integer | initial_conf, | ||
logical | nearest_ngb, | ||
real ( kind=4 ) | frequence, | ||
real ( kind=4 ) | std_freq | ||
) |
Constructor of list_flexible.
this | : instance of a list_flex_type |
flex_method_str | : "metropolis", "random", "time" or "minimum" |
list_conf_fname | : name of the input file with all conformations |
total_conf | : total number of conformations |
initial_conf | : specifies if a particular conformation is choosen at the start of a new trajectory |
nearest_ngb | : logical, nearest neigbour only |
frequence | : time for changing conformation |
std_freq | : variance in the frequence |
integer, parameter mod_flexibility::flex_first = 1 |
integer, parameter mod_flexibility::flex_intern = 0 |
enumeration of node's state for the list
integer, parameter mod_flexibility::flex_last = 2 |
integer, parameter mod_flexibility::flex_metropolis = 1 |
integer, parameter mod_flexibility::flex_minimum = 2 |
integer, parameter mod_flexibility::flex_random = 0 |
enumeration for the algorithm
integer, parameter mod_flexibility::flex_time = 3 |