Ambiguous bonds

Not all biological molecules are fully defined, so HELM includes the ability to define ambiguous bonds.

Ambiguous bonds are defined in the second section of the HELM string. For example:

The editor shows the bond from MCC connected to a box around the peptide, indicating that there is a bond, but we do not know which monomer is connected.

There is a lot of flexibility in this approach. You can define the connection monomer by

  • A number in the chain – this means only one monomer is connected
  • A monomer ID – the connection could be to any monomer with that ID. This is useful when you know that the connection is to a Cys, for example, but not which Cys.
  • ? – the connection could be to any monomer in the group or polymer

You can define the position of the connection:

  • R group number – this is a specific connection.
  • ? – the connection point on the monomer is not specified.


There are some options that are not permitted.

You can’t connect to a specific R group number when the monomer is ambiguous. Ambiguous monomers don’t have numbered R groups, they have the ability to connect to other monomers an unspecified and unlimited number of times. 

Defining the monomer position when using ambiguous monomers is quite convoluted. Since the * ambiguous monomer can denote more than one monomer, it quickly becomes meaningless. Technically it is allowed, but it is best avoided.

There are other situations that are obviously not allowed:

  • Numbered locations that don’t exist in the monomer chain i.e. where the location number is greater than the length of the chain.
  • R groups where the number has already been used.
  • R groups whose number is greater than those defined in the monomer structure.