# NormalModeAnalysis

This logic performs a Normal Mode Analysis (NMA) of the given 3D structure. It can be used to visualize basic molecular movement modes.

## Usage

The logic has three modes that represent the three different major parts of NMA. In the first step the volume is filled with pseudo atoms. In the second step an elastic network is created with respect to the positions of the pseudo atoms. It is based on a Hessian Matrix and a cutoff distance. Last, eigenvector/eigenvalue decomposition is performed and in a last step they are applied on the pseudoatoms. The workflow is split into 3 separate parts to allow the user to check intermediate results. A further discussion of NMA can be found here.

## Modes

### Fit Pseudo Atoms Into Volume

Fills the 3D volume with pseudo atoms. Two modes are accessible. Either *Sphere packing* that is approximating the volume by densely packed spheres or *Random* placing pseudo atoms in a randomized manner into the model volume. The lower the number of pseudoatoms of the NMA-model, the less the computational costs for the following *Compute Normal Modes* application.

Parameters | Description |
---|---|

Fitting mode | Select whether the pseudoatoms shall be fitted into the density spherically or randomly. |

→ Iterations | In case, “Random” is selected as fitting mode, the number of iterations needs to be specified. |

Pseudoatom Radius | Radius of pseudoatoms in pixel. Should be 1.0 or more. |

Relative Pseudoatom Overlaps | Determines how much of a given volume must be covered by a pseudoatom. Fully covered == 1.0. Note that a value between [0,1] means that pseudoatoms can intersect. |

**NOTE:** you can check the fitting result by double clicking the *PseudoAtomVisualization* I/O. You can also check the number of pseudoatoms by clicking on the 3D once.

Input | Description |
---|---|

Input 3D | 3D structure that is desired to be animated by NMA. |

Output | Description |
---|---|

Pseudoatom visualization | This is a test output to allow the user to check the result of the fitting process. The number of pseudoatoms can be shown by double clicking the IO and clicking the 3D structure afterwards. |

Pseudoatoms | Input file volume represented by pseudoatoms. |

### Compute Normal Modes

Computes the normal modes for the model consisting of pseudo atoms.

Parameters | Description |
---|---|

Radius of interacting pseudoatoms | The distance in pixel in which pseudoatoms affect each other. |

Lowest normal mode | Lowest eigenvector to be calculated. Covers movement of more rigid areas. |

Highest normal mode | Highest eigenvector to be calculated. Covers movements of more flexible domains and areas. |

Number of threads | Number of threads to be used for data processing. Usually one per thread per CPU-core except for systems with Hyper-Threading. |

Input | Description |
---|---|

Pseudoatoms | Model consisting of pseudoatoms from the Fit Pseudo Atoms Into Volume-logic output. |

Output | Description |
---|---|

Collectivity Score | Visualization of score vs. mode. The Collectivity Score is a metric that describes the amount of collective motion of pseudo atoms within one mode. It is normalized between 0 and 1. |

Eigenvalues | Output of computed Eigenvalues. |

Eigenvectors | Output of computed Eigenvectors. |

### Apply Normal Modes

Applies the calculated normal modes and allows a selection between different states.

Parameters | Description |
---|---|

(Normal Mode ; Amplitude) pairs | Mode(s) to be displayed (== eigenvector(s) to be applied). To apply different modes at the same time you can use the following Syntax: (a;b)(c;d)(e;f) while a,c,e are the modes (∈ N) and b,d,f the corresponding amplitudes (∈ R). The amount of applicable modes is limited by Lowest Normal Mode/Highest Normal Mode from the previous Compute Normal Modes-logic. |

Number Of Intermediate States | Determines how many single steps the final animation has. Equals to the final number of written 3Ds. |

Input | Description |
---|---|

Eigenvalues | Eigenvalues resulting from the Compute Normal Modes-logic output. |

Eigenvectors | Eigenvectors resulting from the Compute Normal Modes-logic output. |

Pseudoatoms | Model consisting of pseudoatoms from the Fit Pseudo Atoms Into Volume-logic output. |

Output | Description |
---|---|

Intermediate states | Sequence of 3Ds that represent the position of the molecule at discrete time steps. |