Adding Hydrogen Bonds, Disulfide Bonds and Struts in Jmol
Contributors
This Jmol Training Guide was created with funding from NIH Grant #1 R25 RR022749-01 and NSF-DUE #1323414 and #1725940. Revised 4/2021.

This Jmol Exploration was created using the Jmol Exploration Webpage Creator from the MSOE Center for BioMolecular Modeling.

version 2.0
Exploration Content

Unless otherwise indicated, this section of the Training Guide uses the protein Top 7 based on PDB file 1qys.pdb. Please see Getting Started with Jmol for information on how to download and open PDB files.

Hydrogen Bonds

Hydrogen bonds (referred to as 'hbonds' in Jmol) are essential to the stability of secondary structures in a protein. They form between the backbone oxygen of one amino acid and the backbone nitrogen in a second amino acid.

Adding Hydrogen Bonds

To add hydrogen bonds to secondary structures within your model, use the calculate hbonds command. We typically do not add hydrogen bonds to alpha helices, since they do not add stability to the model and actually clutter the view of the structure. Adding hydrogen bonds to beta sheets provides additional support for the final model and is recommended. Use the following commands:

select sheet
calculate hbonds

Click the button below to see hydrogen bonds calculated in the beta sheets of Top 7.

select sheet; calculate hbonds

After you have entered this command, you will notice that dotted lines have appeared. These are the hydrogen bonds.

Giving Hydrogen Bonds Thickness

Hydrogen bonds, like wireframe, backbone, and spacefill, can be thickened by placing a number after the hbonds command. The standard size for building a physical model is 1.0 Ångström.

hbonds 1.0

hbonds 1.0

Making Hydrogen Bonds Solid

The default display for hydrogen bonds is a dashed line. You will need to change this into a solid cylinder for building a physical protein model using 3D printing. You can do this using the command:

set hbonds solid

set hbonds solid

Attaching Hydrogen Bonds to the Backbone

Notice that the hydrogen bonds are now thicker and solid, but that they appear to be floating in air. This appearance results from the fact that hydrogen bonds form between the backbone atoms of the amino acid (the nitrogen and the oxygen atoms), but since we have displayed only the alpha carbon atoms in Backbone Format, it appears as if the hydrogen bonds are floating in space. Therefore, we must set the hydrogen bonds to the backbone using the command:

set hbonds backbone

set hbonds backbone

Hydrogen bonds are colored based on the two atoms they join. Since hydrogen bonds in a protein backbone are between an oxygen atom and a nitrogen atom, they are half red and half blue. You may color the hydrogen bonds any color you wish, but we recommend white or a soft color, as bright or dark colors will draw attention to them, and typically hydrogen bonds are not the focus of your molecular story. To color the hydrogen bonds, use the command:


color hbonds white

color hbonds white

Summary of Commands to Add Hydrogen Bonds

The series of commands used to add and display hydrogen bonds in sheets is called a cassette. You can either enter all the commands on separate lines, or you enter the commands together, separated by semi-colons. Here is the cassette for displaying hydrogen bonds in sheets:

select sheet
calculate hbonds
hbonds 1.0
set hbonds solid
set hbonds backbone
color hbonds white

or in a single command line:

select sheet; calculate hbonds; hbonds 1.0; set hbonds solid; set hbonds backbone; color hbonds white

Note: Jmol recognizes both terms hbonds and hbond in the command line.

Removing All Hydrogen Bonds

To turn off all of the hydrogen bonds in the selected area, use the hbonds off command.

select all
hbonds off

Removing 'Triangle Bonds'

When Jmol calculates hydrogen bonds, it occasionally inserts a hydrogen bond between two amino acids on the same strand, with a single amino acid between the two. If the first amino acid is residue number N then the second amino acid is residue number N+2. Because the backbone and hydrogen bond form a triangle, we refer to these rogue hydrogen bonds as ''riangle bonds'. These need to be removed from your structure.

To see a triangle bond in acetylcholinesterase, based on 1eve.pdb, click the button below. Note that in the script that is executed, we have colored the triangle bond blue (see Coloring Bonds below), and we have added animation to rotate the structure to focus on the triangle bond. (See Adding Animation to Jmols for details on the show orientation and moveto commands.) For ease of visualization, we are only displaying the sheets in this structure.

triangle bond in acetylcholinesterase - PDB ID: 1eve

In the past, we had to identify and manually remove triangle bonds from structures. However, if you add the following commands to the cassette to add hydrogen bonds to sheets, Jmol will find and remove triangle bonds for you:

for(var i=1; i<=1000; i++){var j=i+2; select resno=i or resno=j; hbond 0.0}

Adding or Removing Individual Hydrogen Bonds

At times you may want to add or remove a single hydrogen bond. First, you need to know the two amino acid residue numbers that the hydrogen bond connects. To do this, click on the two residues in the Display Window (see Getting Started for more information on identifying residue numbers). Once you know the two residue numbers, you must select only these two amino acids. Finally, use the hbonds 1.0 command to add a hydrogen bbond or the hbonds off command to remove the hydrogen bond between the two selected amino acids.

To add a hydrogen bond between two amino acids 73 and 167:

select 73 or 167
hbonds 1.0

To remove a hydrogen bond between amino acids 321 and 323:

select 321 or 323
hbonds off

Disulfide Bonds

Some molecules will have disulfide bonds (referred to as 'ssbonds' in Jmol) present within the structure. These bonds form between two cysteine amino acids that lie close to each other in 3D space. Disulfide bonds are added using the command:

ssbonds on

Not every PDB file has disulfide bonds. Since Top 7 does not have a disulfide bond, we will use human insulin (2hiu.pdb) to display disulfide bonds.

ssbonds on - insulin PDB ID:2hiu

Adjusting Thickness of Disulfide Bonds

As we saw with the hydrogen bonds, simply typing ssbonds by itself will only produce thin lines. To give these bonds dimension, we must add a thickness (number) to the ssbonds. The standard thickness for building a physical model is 1.0 Ångström.

ssbonds 1.0

ssbonds 1.0 - insulin

Setting Disulfide Bonds to the Backbone

Notice that this command gives the disulfide bonds a thicker dimension, but as we saw with hydrogen bonds, the bonds are 'floating' in space. This is because the disulfide bond is actually between the sulfur groups of the cysteine sidechains, and not the alpha carbons. To make the disulfide bond connect between the backbone units, we need to set the bonds to the backbone. Note that the disulfide bond is yellow (the CPK color for sulfur).

set ssbonds backbone

set hbonds backbone - insulin

Note: You may wish to display the sidechains of the cysteines involved in the disulfide bond. If that is the case, then you will not need to set ssbonds to the backbone.

Cassette for Adding Disulfide Bonds

Similar to adding hydrogen bonds to sheets, adding disulfide bonds to a structure can be done as a cassette:


select all
ssbonds on
ssbonds 1.0
set ssbonds backbone

This cassette can be written on a single command line, with commands separated by semi-colons:


select all; ssbonds on; ssbonds 1.0; set ssbonds backbone

Removing All Disulfide Bonds

To turn off all the disulfide bonds in the selected area, use the ssbonds off command:

select all
ssbonds off

Adding or Removing Individual Disulfide Bonds

At times you may want to add or remove a single disulfide bond. You first need to know the two amino acid residue numbers that the bond connects. To do this, click on the two residues in the Display Window (see Getting Started for more information on identifying residue numbers). Once you know the two residue numbers, you must select only these two amino acids. Finally, use the ssbonds 1.0 command to add a disulfide bond or the ssbonds off command to remove the bond between the two selected amino acids.

To add a disulfide bond between amino acids 29 and 93:

select 29 or 93
ssbonds 1.0

To remove a disulfide bond between amino acid 44 in chain A and amino acid 168 in chain B:

select 44:a or 168:b
ssbond off

Struts

When a model is built on a 3D printer, additional support struts are added within the model to provide stability and durability. To add struts, select your entire model, and use the calculate struts command.

select all
calculate struts

select all; calculate struts

Because you've already added hydrogen bonds to your beta sheets, you don't also need to add struts to the beta sheets. Use the next set of commands to remove the struts within the beta sheets, while keeping the struts between the beta sheets.

select sheets
connect strut delete

In the Jmol button below, the struts in sheets flash green and white before being removed.

deleting struts in sheets

Note: Jmol recognizes both terms struts and strut.

Giving Struts Thickness

Struts, like hydrogen bonds and disulfide bonds, can be set to different thicknesses by adding a number after the strut command. The standard thickness for building a physical model is 1.0 Ångström.

strut 1.0

strut 1.0

Summary of Commands to Add Struts

The following cassette will add struts throughout a protein. The commands can be entered singly, or as a single cassette with semi-colons separating commands:

select all
calculate struts
struts 1.0
select sheets
connect strut delete

or:

select all; calculate struts; struts 1.0; select sheets; connect strut delete

Adding or Removing Individual Struts

At times you may want to remove a single strut (for example, if it goes through a sidechain you have represented). You first need to know the atom numbers of the two atoms the strut connects. To do this, click on the two atoms in the Display Window (see Getting Started for more information on identifying atom numbers). Once you know the two atom numbers, you must select only those two atoms using the select atomno= or select @ command. Finally, use the struts 1.0 command to add a strut or the strut off command to remove the bond between the two selected atoms.

To add a strut between atom numbers 172 and 863:

select atomno=172 or atomno=863
connect strut
strut 1.0

or:

select @172, @863; connect strut; strut 1.0

To remove a strut between atom numbers 227 and 1120:

select atomno=227 or atomno=1120
connect strut delete

or:

select @227, @1120; connect strut delete

Note: The calculate strut command may not always provide enough structural support. Additional struts may be necessary. In addition, struts will need to be added manually to attach any ligands (substrate, inhibitor, cofactors) to the protein, or to indicate any specific bonds. Unfortunately, struts need to be added manually to interactions between proteins and nucleic acids.

Coloring Bonds and Struts

Default Bond Colors

When bonds or struts initially appear, they will be the default Jmol colors (a translucent white for struts and the colors of the atoms that they connect for hydrogen and disulfide bonds).


  • If the two atoms the bond is connecting are the same color, then the hydrogen or disulfide bond will be the same color throughout the entire length of the bond.

  • If the two atoms are different colors, then the hydrogen or disulfide bond will be half one color and half the other color.

Changing the Color of All Bonds

To color all of a certain type of bond or strut, select all and then use the color command followed by the type of bond or strut you want to color and then the color you would like to color them.

For example, to color all of the hydrogen bonds red:

select all
color hbond red

color hbonds red

To color all of the struts blue:

select all
color strut blue

color struts blue

Note: We recommend that you choose a light color for your struts, such as white or light gray. Struts are support structures and should not be the emphasis of your model. A vibrant or dark color will draw the user's eye to the struts, and that should not be the focus of your model. Similarly, if you don't want the focus of your model to be on the hydrogen or disulfide bonds, these should be soft colors.

Changing the Color of a Single Bond

At times, you may wish to emphasize a specific bond that is important to the function of your protein. Follow the same steps for removing an individual bond or strut. Identify the two atom numbers that the bond or strut connects. Then, select only those two atoms. Finally, use the color command to apply the new color.

For example, to turn the hydrogen bond between atom numbers 333 and 65 green:

select atomno=333 or atomno=65
color hbond green

or:

select @333, @65; color hbond green

color single hydrogen bond green
Jmol