Vector field visualization of a normal mode (using VMD) — MMTK User Guide 2.7.7 documentation

### Navigation

- index
- modules |
- MMTK User Guide 2.7.7 documentation »

# Vector field visualization of a normal mode (using VMD)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    # Example: Vector field visualization of the slowest normal mode of insulin.
    #
    # This example shows the use of vector fields in the analysis and
    # visualization of collective motions. For a more elaborate application,
    # see
    #       A. Thomas, K. Hinsen, M.J. Field, D. Perahia
    #       Tertiary and quaternary confrmational changes in aspartate
    #       transcarbamylase: a normal mode study.
    #       Proteins, 34(1), 96-112 (1999)
    #
    from MMTK import *
    from MMTK.Proteins import Protein
    from MMTK.NormalModes import EnergeticModes
    from MMTK.ForceFields import CalphaForceField
    from MMTK.Field import AtomicVectorField
    from Scientific.Visualization import VMD

    # Create a simulation universe containing the protein
    universe = InfiniteUniverse(CalphaForceField())
    universe.addObject(Protein("insulin.pdb", model='calpha'))

    # Calculate normal modes
    modes = EnergeticModes(universe)

    # Create the vector field corresponding to the first non-zero mode
    # using a grid spacing of 0.5 nm.
    field = AtomicVectorField(universe, 0.5, modes[6])

    # Create graphics objects for the vector fields.
    # The arrows are yellow and their lengths are multiplied by 80.
    # Only displacement vectors of lengths between 0. and 0.01 will be shown.
    # (This restriction is not necessary for this example, but used for
    #  illustration.)
    graphics = field.graphicsObjects(color='yellow',
                                     scale=80., range=(0., 0.01),
                                     graphics_module=VMD)

    # Create graphics object for the protein.
    graphics = graphics + [VMD.Molecules(universe)]

    # Launch VMD.
    VMD.Scene(graphics, scale=1./Units.Ang).view()

### Navigation

- index
- modules |
- MMTK User Guide 2.7.7 documentation »