SDA (SDA flex)  7.2
Simulation of Diffusional Association
Data Types | Variables
mod_flexibility Module Reference

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
 

Detailed Description

Module for flexibility.

Manage a list of possible conformation ( list of set_of_grid ). define type for flexibility : NodeFlex, list_flex_type and flexible

Function/Subroutine Documentation

◆ associate_to_conformation()

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.

Parameters
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
Here is the caller graph for this function:

◆ change_conf_flex()

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

Parameters
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
Here is the call graph for this function:
Here is the caller graph for this function:

◆ delete_first_dataflex()

subroutine mod_flexibility::delete_first_dataflex ( type ( list_flex_type this,
integer, intent(out)  status 
)

not used until now, to delete ??

◆ delete_flexible()

subroutine mod_flexibility::delete_flexible ( type ( flexible this)

Destructor flexible.

Deallocate array for statistics, nullify the pointer ( no deletion of sogrid )

Parameters
this: instance of a flexible
Here is the caller graph for this function:

◆ delete_last_dataflex()

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.

Parameters
this: instance of list_flex_type
status: for error report
Here is the call graph for this function:
Here is the caller graph for this function:

◆ delete_listflex()

subroutine mod_flexibility::delete_listflex ( type ( list_flex_type this)

Delete the full list and the associated sogrid.

Parameters
this: instance of a list_flex_type
Here is the call graph for this function:

◆ init_flexible_freq()

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

Parameters
this: instance of a flexible
Here is the call graph for this function:

◆ insert_sogrid()

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

Parameters
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
Here is the caller graph for this function:

◆ new_flexible()

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

Parameters
this: instance of a flexible
plist_flex: the list of sogrid to associate to flexible
Here is the caller graph for this function:

◆ new_list_flex()

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.

Parameters
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
Here is the caller graph for this function:

Variable Documentation

◆ flex_first

integer, parameter mod_flexibility::flex_first = 1

◆ flex_intern

integer, parameter mod_flexibility::flex_intern = 0

enumeration of node's state for the list

◆ flex_last

integer, parameter mod_flexibility::flex_last = 2

◆ flex_metropolis

integer, parameter mod_flexibility::flex_metropolis = 1

◆ flex_minimum

integer, parameter mod_flexibility::flex_minimum = 2

◆ flex_random

integer, parameter mod_flexibility::flex_random = 0

enumeration for the algorithm

◆ flex_time

integer, parameter mod_flexibility::flex_time = 3
Imprint/Privacy