frame_order.simulate

Pseudo-Brownian dynamics simulation of the frame order motions.

frame_order.simulate(file=`simulation.pdb.gz', dir=None, step_size=2.0, snapshot=10, total=1000, model=1, force=False)

file: The PDB file for storing the frame order pseudo-Brownian dynamics simulation. The compression is determined automatically by the file extensions `*.pdb', `*.pdb.gz', and `*.pdb.bz2'.

dir: The directory where the files are to be located.

step_size: The rotation will be of a random direction but with this fixed angle. The value is in degrees.

snapshot: The number of steps in the simulation when snapshots will be taken.

total: The total number of snapshots to take before stopping the simulation.

model: Only one model from an analysed ensemble of structures can be used for the pseudo-Brownian simulation, as the simulation and corresponding PDB file consists of one model per simulation.

force: A flag which, if set to True, will overwrite the any pre-existing file.

To visualise the frame order motions, this user function performs a type of simulation whereby structures are randomly rotated by a fixed angle within the bounds of the uniform distribution of the frame order model. This can be thought of as a pseudo-Brownian dynamics simulation. It is in no way a real molecular or Brownian dynamics simulation.

Note that the RDC and PCS data does not contain information about all parts of the real distribution of structures. Therefore the snapshots in this simulation only represent the components of the distribution present in the data, as modelled by the frame order models.

The simulation algorithm is as follows. The current state is initially defined as the identity matrix I. The maximum opening angle *θ* or the torsion angle sigma are defined by the parameter values of the frame order model. The algorithm for one step of the simulation is:

**1 -**- Generate a random vector in 3D.
**2 -**- Construct a rotation matrix from the random vector and the fixed rotation angle.
**3 -**- Pre-multiply the current state by the rotation matrix.
**4 -**- Decompose the new state into the torsion-tilt angles.
**5 -**- If
*θ*or sigma are greater than model parameter values, set them to these maximum values. **6 -**- Back convert the modified torsion-tilt angles to a rotation matrix - this is the current state.
**7 -**- Store a snapshot if the correct number of iterations has been reached. This consists of rotating a new model about the pivot(s), as defined by the frame order model.
**8 -**- Terminate the loop if the maximum number of snapshots has been reached.

The setting of the steps outside of the distribution to the maximum parameter values is specifically to allow for models with parameter values close to zero. Without this, the simulation would take a huge amount of time to complete.

As the simulation consists of one model per snapshot, if an ensemble of structures has been analysed, only one model from the ensemble can be used for the representation. This defaults to model number 1, but this can be changed.