From Jmol
< User:Remig‎ | plico
Revision as of 13:01, 27 July 2015 by Remig (talk | contribs) (No rebuild with ALT-SHIFT-DRAG)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Plico Tug Jmol script manual

Tug allows the user to move or rotate one section of a polypeptide against another by mouse actions. It also allows the user to move an entire chain to nest against another chain. The script can be found here. Copy and paste it to a text editor and save it as tug.spt in your scripts location.

It can then be launched by the following macro:

Title=PLICO Tug
Script=script <path to scripts>/tug.spt;plico_tug

(Macros are placed in the .jmol/macros folder as described in Macro.)


Before invoking Tug, a polypeptide would normally be already loaded in the application. Any hydrogens should have been deleted as well as any alternate atoms. Residues must be labeled. The Plico script Remap can be run if residues are not labeled as would be the case if the polypeptide was loaded from an XYZ file. However, if the polypeptide was generated by the Plico script Polymeraze, no other action would be required. The ball-and-stick style scheme, perhaps with dots on, seems best for working with tug.

When Tug is selected from the macro menu, a list of mouse actions appears in the upper-left of the Jmol application window.

Initially the only Tug options are to ALT-CLICK on an atom to mark the block or side-chain to be moved or rotated, SHIFT-CLICK to select a chain, just CLICK on a phi or psi bond, or DOUBLE-CLICK to exit Tug. Press the left mouse button (if more than one) while holding down the ALT key or SHIFT key while hovering over an atom to perform these actions.

When ALT-CLICK is pressed on any atom, the list is expanded to include ALT-DRAG to move atoms, SHIFT-CLICK to set anchors, ALT-CTRL-CLICK to set pivot points, ALT-SHIFT-CLICK to set a destination atom, ALT-DRAG to move, and ALT-SHIFT-DRAG to alt move. This is Anchor mode described below.

If instead SHIFT-CLICK is pressed on any atom, the same list is presented except that SHIFT-CLICK remains as mark chain and Tug enters the Full Chain mode described below.

Side-chain mode:

When ALT-CLICK is pressed on a side-chain atom beyond the CB atom, a circle is drawn around the atom and subsequent movements are then restricted to the side-chain until ALT-CLICK is pressed again on the same or another atom. ALT-DRAG then pulls just the side-chain in the direction of mouse movement as allowed by rotation on the chi bonds of the side-chain with no collisions. ALT-SHIFT-DRAG does allow collisions should that prove necessary. Rotation angles are restricted to multiples of 60°. Pulling on the CG atom of proline toggles between its two puckered states. Note that marking a side chain atom does not cancel an existing back-bone selection.

When ALT-CLICK is pressed on a back-bone O atom, a circle is drawn around the atom and subsequent movements are then restricted to that atom until ALT-CLICK is pressed again on the same or another atom. ALT-DRAG then rotates the phi and psi bonds on either side of the O in opposite directions to move the O atom with minor movement of the atoms in the N-terminal direction from the O atom. SHIFT-ALT-DRAG does the same except the minor movement is of the atoms in the C-terminal direction from the O atom. Note again that marking a back-bone O atom does not cancel an existing back-bone selection.

Freeze mode:

When CLICK is pressed on a phi or psi bond, that bond is highlighted in blue and then becomes unavailable for tug rotations (see below). Clicking a second time unfreezes the bond. Freezing can be done at any time.

Anchor mode:

When ALT-CLICK is pressed on a back-bone atom (or a CB atom), its residue is presented in the RASMOL color scheme* and halos are drawn on its N and C atoms to mark it as available to be moved or rotated by ALT-DRAG. ALT-CLICK on a back-bone atom of another residue will then highlight all atoms between the two residues inclusive. The entire block will then be available to be moved or rotated by ALT-DRAG or ALT-SHIFT-DRAG. When performed by pressing the left mouse button down while holding the alt key down and then moving the mouse, just the selected block moves accordingly. The block stops if it collides with atoms outside the anchor range; this stoppage can be overridden with ALT-SHIFT-DRAG to get past a collision if necessary. When the button is released, the chain on either end of the selection is then rebuilt to proper bond lengths and angles by rotation on available phi and psi bonds. The required processing can take some time and the menu background color will go from yellow to pink for the duration. If the action cannot be accommodated, you are given the option to be restore the chain to its previous state. (Sometimes Jmol fails to recognize the button up event; in that case simply do another drag away and back.)

When the button is released at the end of an ALT-SHIFT-DRAG, the chain is not rebuilt as is done for an ALT-DRAG. This allows you to do multiple block positionings before rebuilding the chain. You should do an ALT-DRAG when done to force a chain rebuild

Anchors may be set on either side of the back-bone block with SHIFT-CLICK to restrict the range of phi and psi bonds available to accommodate movements. Anchor atoms are highlighted in RASMOL colors*. A C-terminal anchor (C-ward) is set by default at the N of the C-terminal residue though it can then be moved or removed if desired. When a back-bone block is moved, atoms beyond the anchors are then guaranteed not to move as their psi and phi bonds are not rotated. (The N-terminal side of the block beyond any N side anchor (N-ward) may nevertheless see some small movement in certain collision cases. ) Note that some psi and phi bonds may be made unavailable regardless of anchor placement by freezing described above.

One or two pivot points may be set with ALT-CTRL-CLICK on any atom. Pivot point atoms are colored green. When a single pivot point is set, the back-bone selection rotates on the pivot rather than translating. The rotation is in the XY viewing plane. When two pivot points are set, the rotation is instead on the axis between them. If there is no atom at the desired pivot point, a water oxygen may be put there temporarily with the Plico script modify to serve as a pivot.

A single atom may be set as a target with ALT-SHIFT-CLICK. A cross will appear on the atom when so selected (and will disappear if ALT-SHIFT-CLICK is done on the same atom.) When a target atom is selected, mouse drag movements, including rotations, then move towards or away from the target atom. Otherwise movements are in the XY viewing plane. If there is no atom at the desired target point, a water oxygen may be put there temporarily with the Plico script modify to serve as a target.

When DOUBLE-CLICK is performed anywhere, a prompt is presented allowing you to exit Tug keeping your changes if any, to cancel and go back to Tug, or to undo the entire Tug session and restore the polypeptide from the file, tugsave.pdb, created when Tug was first entered.

Full Chain Mode:

When initially SHIFT-CLICK is pressed on any atom, Tug enters Full Chain mode. In this mode, the entire chain is selected. ALT-DRAG then moves the entire chain stopping when any atom of another chain collides. SHIFT-ALT-DRAG ignores collisions should that be necessary. When a collision occurs, the dragged chain is offset from the colliding chain by the minimum non-collision distance. If the pivot count is less than two, the colliding atom of the dragged chain then becomes a dynamic pivot and is colored light blue. Farther movement in the direction of collision now rotates on that pivot until another atom collides. A second dynamic pivot may then be set and farther movement in the direction of collision now rotates on the axis between the pivots. Movement away from the direction of collision causes the dynamic pivots to revert to their original state (hence dynamic). Note that non-dynamic pivots may have been set as well; the pivot count including non-dynamic pivots never exceeds two.

The result of this behavior is that, when one chain is dragged towards another, it will not stop until three points of contact are made, a full nesting.

You may get to Full Chain Mode from Anchor mode by SHIFT-CLICKing on any back-bone atom within the highlighted block.


Tug is written as a compromise between performance and robustness. It makes heavy demands on Jmol resources and Jmol sometimes responds by locking up, requiring the services of the task manager to close it down. If that happens, you can then restart Jmol and load the file tugsave.pdb to quickly recover. Regardless movements in Tug are better made in several small steps rather than one large step. Large movements can better be achieved with other scripts in the Plico suite such as turn or toAlphaBeta.

Performance is achieved by only moving the selected block when dragging and only checking for collisions within the atom set between anchors after the chain has been rebuilt. Collisions of the selected block with atoms outside the atom set between anchors stop movement only if the collision is with a back-bone atom or a side-chain atom that cannot be moved away. Water molecules are deleted when encountered but may be replaced later by the Plico script hydrate.

After the chain is rebuilt, internal collisions are resolved by moving side-chains, deleting water, and counter-rotating back-bone oxygens. The planar nature of the peptide bond results in the phi and psi bond pair on either side of a back-bone oxygen being parallel. Therefore rotations on both, identical in magnitude but opposite in direction, result in substantial movement of the oxygen away from a collision situation with little consequent movement of the rest of the molecule. Some movement does nevertheless occur and Tug can sometimes move the entire chain N-ward of the oxygen somewhat despite an N-ward anchor.

If collisions cannot be resolved, Tug gives the option to restore the previous state. Also when exiting Tug, you are given the option to undo the entire session.

  • If the default color scheme is RASMOL then the JMOL colors are used for highlighting.