This page lists the rules a HELM string must follow to import into a Peptide dataset and display correctly in the peptide viewer. HELM (Hierarchical Editing Language for Macromolecules) is an open standard maintained by the Pistoia Alliance; this page covers the subset of the HELM notation that Ideation supports, and how Ideation reads each part of it. For the import steps themselves, see How to Create a Peptide Dataset.
HELM is read only from CSV and Excel files, from the column chosen as HELM Column. Only the first worksheet of an Excel file is read. An SDF import never reads HELM: the peptide comes from its V3000 structure, and its HELM is generated by Ideation.
The examples below use public peptides only: the sample peptides of the HELM specification, oxytocin and gramicidin S. Their non-natural monomers come from the public Pistoia Alliance HELM monomer sets (Aib, dK, dF, meA, Orn, am, SMCC, PEG2), plus mXylene, the m-xylene linker that bridges two cysteines. A non-natural monomer imports only if it is registered on your organization's Biotoolkit Monomer Service or supplied in your monomer library.
Layout of a HELM string
A HELM string has five sections separated by $:
<chains>$<connections>$<groups>$<annotations>$<version>
What each section holds in Ideation:
| Section | Content in Ideation |
|---|---|
| Chains | One or more chains separated by |, each written TYPE<n>{monomer.monomer.…}. |
| Connections | The bonds between chains, or inside a chain, separated by |. Empty when the peptide is a single linear chain. |
| Groups | Not supported. Leave empty. |
| Annotations | Not supported. Leave empty. |
| Version | V2.0, or empty. |
A HELM string always contains exactly four $ signs, whether or not the version is written. The first three rows use the sample peptide of the HELM specification, the last one gramicidin S:
| HELM | Valid |
|---|---|
PEPTIDE1{A.R.G.[dF].C.K.[meA].E.D.A}$$$$ |
yes |
PEPTIDE1{A.R.G.[dF].C.K.[meA].E.D.A}$$$$V2.0 |
yes |
PEPTIDE1{A.R.G.[dF].C.K.[meA].E.D.A}$$$V2.0 |
no — three $ signs only |
PEPTIDE1{V.[Orn].L.[dF].P.V.[Orn].L.[dF].P}$PEPTIDE1,PEPTIDE1,10:R2-1:R1$$$V2.0 |
yes — the connection fills the second section |
The HELM cell
Rules for the CSV or Excel cell that holds the HELM string:
| Rule | Detail |
|---|---|
| One HELM string per cell | The cell holds the HELM string and nothing else. |
| No spaces, no line breaks | The cell is read exactly as written. A leading space, a trailing space or a line break inside the string makes the peptide fail validation or conversion. |
| Quoted in comma-separated CSV | HELM contains commas in its connections. In a comma-separated CSV file the HELM value is enclosed in double quotes: "PEPTIDE1{A.R.C.D.K.A}|PEPTIDE2{G.A.K.A}$PEPTIDE1,PEPTIDE2,4:R3-1:R1$$$V2.0". Semicolon- and tab-separated files need no quotes. |
| Empty cell | The row is not imported, with the reason Missing HELM notation. |
Chain types
The chain types Ideation reads, and what each one is used for:
| Chain type | Use |
|---|---|
PEPTIDE |
Amino acid chains: the backbone and its branches. |
CHEM |
A single non-peptide chemical object: a linker, a cap, a lipid, a tag. One monomer per CHEM chain. |
RNA and BLOB chains are not supported. The type is written in upper case, followed by a number: PEPTIDE1, PEPTIDE2, CHEM1.
Monomer symbols
Rules for writing and resolving the monomer symbols inside a chain:
| Rule | Detail |
|---|---|
| Separator | Monomers inside a chain are separated by .. |
| Brackets | A one-letter symbol is written as is (A). A symbol of two characters or more is written in square brackets ([Aib], [dK]). A and [A] are the same monomer. |
| Case-sensitive | [Aib] and [aib] are two different symbols. A symbol in the wrong case is not found and is reported as a missing monomer. |
| Length and characters | 1 to 50 characters, with no spaces. |
| Registered under the chain's type | A symbol is looked up under the type of the chain it appears in. A monomer registered only as PEPTIDE is reported missing when used in a CHEM chain, and the other way round. |
| Known to the Biotoolkit Monomer Service | Every symbol is either already registered on the Biotoolkit Monomer Service or supplied in the monomer library uploaded with the dataset. Otherwise it is reported missing — see How to Resolve Missing Monomers. |
| Registered definition wins | When a symbol is already registered, its registered structure and attachment points are used, even if the uploaded monomer library describes it differently. |
Attachment points
Each monomer bonds through numbered attachment points: R1 and R2 on the backbone, R3 (and higher) on the side chain.
Rules for using attachment points:
| Rule | Detail |
|---|---|
| Chain direction | A PEPTIDE chain is written from the N-terminus to the C-terminus. Each monomer's R2 bonds to the next monomer's R1. |
| Terminal-only monomers | A monomer with an R1 but no R2 is the last monomer of its chain. A monomer with an R2 but no R1 is the first. |
Side-chain bonds need an R3 |
A connection on R3 is valid only if the monomer has one. Among the natural amino acids, C, D, E and K have an R3. PEPTIDE1,CHEM1,2:R3-1:R1 on a glycine fails with Attachment point R3 for monomer source G doesn't exists. |
Connections
A connection is written SOURCE,TARGET,position:Rn-position:Rn. Positions are the 1-based index of the monomer in its chain.
Rules for writing a connection:
| Rule | Detail |
|---|---|
| Numeric positions and attachment points | Both ends name an explicit position and attachment point (4:R3). Ambiguous forms — a monomer symbol instead of a position (C:R3), a list of positions ((2,5):R3), an unknown attachment point (?) — are not supported. |
| Chain identifiers | The source and target are chain identifiers declared in the chains section (PEPTIDE1, CHEM2). |
Backbone and chain order
Rules that decide which chain is the backbone, and how chains are numbered:
| Rule | Detail |
|---|---|
The first PEPTIDE chain is the backbone |
The backbone is the first PEPTIDE chain written in the string, whatever its number and whatever its length. Every other PEPTIDE chain is a branch. |
| Chain numbers are reassigned at import | On import, the chains are renumbered in the order they are written: the first PEPTIDE chain becomes PEPTIDE1, the next PEPTIDE2, and so on, and the connections are updated to match. The HELM column shows the renumbered string when the conversion succeeds and no monomer had to be inlined; otherwise it shows the HELM as written. |
CHEM chains are not sequence positions |
CHEM chains are never part of the backbone or of a branch, and take no position in the sequence or in the alignment. |
A peptide needs a PEPTIDE chain |
A HELM made of CHEM chains only has no sequence. It is excluded from alignments and is not shown in the peptide viewer. |
Two ways of writing the branched example of the HELM specification, and the backbone each one gives:
| Written | Stored after import | Backbone |
|---|---|---|
PEPTIDE2{A.R.C.D.K.A}|PEPTIDE1{G.A.K.A}$PEPTIDE2,PEPTIDE1,4:R3-1:R1$$$V2.0 |
PEPTIDE1{A.R.C.D.K.A}|PEPTIDE2{G.A.K.A}$PEPTIDE1,PEPTIDE2,4:R3-1:R1$$$V2.0 |
A.R.C.D.K.A |
PEPTIDE1{G.A.K.A}|PEPTIDE2{A.R.C.D.K.A}$PEPTIDE2,PEPTIDE1,4:R3-1:R1$$$V2.0 |
unchanged | G.A.K.A |
In the second writing, the intended branch G.A.K.A becomes the backbone, and A.R.C.D.K.A becomes a branch bonded through the side chain of its residue 4 to the backbone's R1. That is not a branch shape the viewer supports (see Branches below), so always write the intended backbone first.
Branches
A branch is a PEPTIDE chain, other than the first, bonded to a side chain of the backbone.
Rules for branches:
| Rule | Detail |
|---|---|
| Attached to the backbone | A branch is connected directly to a backbone residue's side chain. Its position is the backbone position named in that connection. |
| Bonding end | The branch bonds through its first residue (…-1:R1) or its last residue (…-n:R2). See How to Explore the Peptide Viewer for how each is drawn. |
| Several branches on one residue | Supported. |
| Branch on a branch | Not supported. A branch bonded to another branch, or with no connection to the backbone, is placed at backbone position 1. |
| Bridge between backbone and branch | Not drawn. A bond between a backbone residue and a residue inside a branch — for example a second disulfide between the two chains of a dimer — is kept in the structure but is not shown as a bridge. |
| Bridge inside a branch | Not drawn. A side-chain bond between two residues of a branch, or of two different branches, is kept in the structure but is not shown as a bridge. A CHEM linker bonded to a branch residue and to a second residue, in a branch or on the backbone, is drawn as a chemical object on one of the two residues, without its second bond. |
Example from the HELM specification — a branch bonded to the side chain of D4:
PEPTIDE1{A.R.C.D.K.A}|PEPTIDE2{G.A.K.A}$PEPTIDE1,PEPTIDE2,4:R3-1:R1$$$V2.0
Cyclization and bridges
How each cyclic or bridged structure is written:
| Structure | HELM |
|---|---|
| Head-to-tail macrocycle | A connection from the chain to itself, last residue's R2 to first residue's R1: PEPTIDE1{V.[Orn].L.[dF].P.V.[Orn].L.[dF].P}$PEPTIDE1,PEPTIDE1,10:R2-1:R1$$$V2.0 (gramicidin S) |
| Side-chain bridge | A connection between the side chains of two backbone residues: PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}$PEPTIDE1,PEPTIDE1,1:R3-6:R3$$$V2.0 (oxytocin, disulfide C1–C6) |
| Bridge through a linker | A CHEM monomer with two attachment points, each bonded to one backbone residue: PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}|CHEM1{[mXylene]}$PEPTIDE1,CHEM1,1:R3-1:R1|PEPTIDE1,CHEM1,6:R3-1:R2$$$V2.0 (oxytocin with its disulfide replaced by an m-xylene bis-thioether) |
Rules for bridges and bridge linkers:
| Rule | Detail |
|---|---|
| No bridge between neighbours | A side-chain bridge between two adjacent residues (2:R3-3:R3) cannot be converted: the residues are already bonded through the backbone. Residues i and i+2 or further apart are supported. |
| Linker bridges two residues | A CHEM monomer counts as a bridge linker only when it bonds to exactly two different backbone residues. Bonded to one residue, it is drawn as a chemical object on that residue. Bonded to three or more backbone residues, it is not a bridge either: it is drawn as a chemical object on one of those residues, and its other bonds are not drawn. |
A linker is a CHEM chain |
A PEPTIDE chain is never a bridge linker. A PEPTIDE chain bonded to two backbone residues is read as a branch (see Branches above), attached at the backbone residue of its first connection written. Its second bond to the backbone is kept in the structure, but the branch is not reconnected to the backbone in the viewer. |
One CHEM monomer per linker |
Not supported: a bridge running through several CHEM monomers bonded to each other (residue – CHEM1 – CHEM2 – residue). Such a bridge is not drawn. |
| No chemical objects on a linker | Not supported: a chemical object, or a chain of objects, bonded to a bridge linker's free attachment point. The bridge is drawn, but the objects on its linker are not. |
Chemical objects
A chemical object is a CHEM chain bonded to a residue's side chain, or to another chemical object.
Rules for chemical objects:
| Rule | Detail |
|---|---|
| On a residue | Bonded to the residue's R3: PEPTIDE1,CHEM1,6:R3-1:R1. Chemical objects can also be bonded to the N-terminal residue's R1 or the C-terminal residue's R2, which is how caps are attached. |
| Chains of objects | An object bonds to another object through a free attachment point: CHEM1,CHEM2,1:R2-1:R1. Chains and trees of objects are supported. |
| Not bonded to a residue | An object bonded to no residue, directly or through other objects, is not drawn. |
Example — K6 of the HELM specification's sample peptide carrying an SMCC linker, which carries a PEG2 spacer:
PEPTIDE1{A.R.G.[dF].C.K.[meA].E.D.A}|CHEM1{[SMCC]}|CHEM2{[PEG2]}$PEPTIDE1,CHEM1,6:R3-1:R1|CHEM1,CHEM2,1:R2-1:R1$$$V2.0
Unsupported HELM features
The following parts of the HELM 2 notation are not supported in Ideation. A peptide that uses them is imported with missing data or not converted.
| Feature | Example |
|---|---|
| Monomer lists and mixtures | (K,R), (K+R), (K:0.7,R:0.3) |
| Repeated monomers | K'3', (A.G)'2-4' |
| Inline annotations | K"labelled" |
| Unknown monomers | *, _ |
| Inline SMILES monomers | [[R1]CC[R2]] |
| Ambiguous connections | C:R3, (2,5):R3, ? |
| Polymer groups | G1(PEPTIDE1+PEPTIDE2) |
RNA and BLOB chains |
RNA1{R(A)P}, BLOB1{Bead} |
A non-standard monomer is written by its symbol and registered on the Biotoolkit Monomer Service, or supplied in the monomer library — see How to Create a Peptide Dataset.
Unsupported in the SAR Slide
The following structures import, and the peptide keeps its full structure and calculated properties, but the SAR Slide does not show them as written. Each one is described in its section above.
| Structure | What the SAR Slide shows | Workaround |
|---|---|---|
A branch bonded to several backbone residues, or a PEPTIDE bridge linker |
The branch, attached at its first connection only. | None |
| A branch bonded to another branch, or not bonded to the backbone | The branch, placed at backbone position 1. | None |
| A bond between a backbone residue and a residue inside a branch | The branch, without that bond. | None |
| A bridge linker bonded to three or more backbone residues | No bridge. The linker is drawn as a chemical object on one of those residues, without its other bonds. | None |
A bridge inside a branch, or a CHEM linker bonded to a branch residue |
No bridge. A CHEM linker is drawn as a chemical object on one of the two residues. |
None |
A bridge through several CHEM monomers bonded to each other |
No bridge. The CHEM monomers are drawn as a chemical chain on the residue bonded to the first CHEM chain written in the HELM, without the bond to the other residue. |
Merge the CHEM monomers into one linker (see below) |
| A chemical object, or a chain of objects, on a bridge linker | The bridge, without the objects on its linker. | Merge the linker and its objects into one linker (see below) |
A peptide made of CHEM chains only |
Nothing: the peptide has no sequence and is left out of alignments and of the viewer. | None |
| A chemical object bonded to no residue | Nothing for that object. | None |
Both workarounds replace several CHEM monomers with a single CHEM monomer whose structure is their concatenation, with an R1 and an R2 for the two bridged residues. Register the merged monomer on the Biotoolkit Monomer Service or supply it in the monomer library before importing — see How to Resolve Missing Monomers. The SAR Slide then draws the bridge, with the merged monomer as one linker: its parts are no longer compared separately.
Workaround: bridge through several CHEM monomers
Before — oxytocin bridged from C1 to C6 through SMCC then PEG2. No bridge is drawn:
PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}|CHEM1{[SMCC]}|CHEM2{[PEG2]}$PEPTIDE1,CHEM1,1:R3-1:R1|CHEM1,CHEM2,1:R2-1:R1|CHEM2,PEPTIDE1,1:R2-6:R3$$$V2.0
After — SMCC and PEG2 merged into one monomer, here called SMCC-PEG2, drawn as a bridge linker:
PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}|CHEM1{[SMCC-PEG2]}$PEPTIDE1,CHEM1,1:R3-1:R1|PEPTIDE1,CHEM1,6:R3-1:R2$$$V2.0
Workaround: chemical objects on a bridge linker
Before — a linker with three attachment points, here called Lnk3, bridges C1 and C6 and carries a PEG2 on its R3. The bridge is drawn without the PEG2:
PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}|CHEM1{[Lnk3]}|CHEM2{[PEG2]}$PEPTIDE1,CHEM1,1:R3-1:R1|PEPTIDE1,CHEM1,6:R3-1:R2|CHEM1,CHEM2,1:R3-1:R1$$$V2.0
After — Lnk3 and PEG2 merged into one monomer, here called Lnk3-PEG2, drawn as a bridge linker:
PEPTIDE1{C.Y.I.Q.N.C.P.L.G.[am]}|CHEM1{[Lnk3-PEG2]}$PEPTIDE1,CHEM1,1:R3-1:R1|PEPTIDE1,CHEM1,6:R3-1:R2$$$V2.0