SDA (SDA flex)  7.2
Simulation of Diffusional Association
Functions/Subroutines
change_conformation.f90 File Reference

Functions used for the change of conformation. More...

Functions/Subroutines

subroutine change_conformation (prot, tab_prot, geom, param_force_energy, param_metal, type_calc, dummy_array, hit, accepted, nb_overlap_flex, ptrf_energy)
 Change the conformation according to the correct method.
. More...
 

Detailed Description

Functions used for the change of conformation.

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


Implement the different algorithms
Initialize the conformation and make the change

Function/Subroutine Documentation

◆ change_conformation()

subroutine change_conformation ( type ( protein prot,
type ( array_protein_type ), intent(in), target  tab_prot,
type ( geometry ), intent(in)  geom,
type ( type_force_energy ), intent(in)  param_force_energy,
type ( parameter_metaldesolv ), intent(in)  param_metal,
type ( type_calculation ), intent(in)  type_calc,
real ( kind=8 ), dimension(:), intent(in), target  dummy_array,
logical, intent(in)  hit,
logical, intent(out)  accepted,
integer  nb_overlap_flex,
  ptrf_energy 
)

Change the conformation according to the correct method.
.

This method is thread-safe, but in evaluating energy differences, the other proteins should not change conformation at the same time
Accept a function as last argument, function from mod_compute_energy_flex

Implements 3 methods for changing conformation :

  • random : choose a random position, can be the same
  • minimum : chose the minimum position with nearest neighbour
  • metropolis : choose random neighbour and apply the metropolis algorithm

Make a copy of movable atoms if protein rotates before the energy computation. better ??

In keeping trace of the last conf in memory, try to minimise the number of call to copy_movable ( make explicit copy and may need to rotate correctly), but increase call to change_conf_flex ( pointer association ), could be removed in some case ( when sure to exist in Minimum )

add type calc for exclusion check, add hit can delete type_calc to do later

Parameters
prot: instance of protein which is tested for a change in conformation
tab_prot: instance of array_protein_type
geom: instance of geometry
param_force_energy: instance of mod_force_energy
param_metal: instance of "param_metaldesolvation"
type_calc: instance of type_calculation
dummy_array: array of 1. for repulsive jennard-jones calculation
hit: logical, if check overlap is needed
accepted: results indicates if the change is accepted
nb_overlap_flex: count the number of overlap when changing conformation
ptrf_energy: function for computing energy / energy_epedhdl_flex/sdamm signature
Here is the call graph for this function:
Imprint/Privacy