Display in the console¶
You can display your oligonucleotide in the command line. The display shows formatted tables for polymers, monomers, and connections.
Setup¶
HELMshaker bundles no monomers, so every example needs a monomer library.
These docs use a small public HELMCore subset committed at
docs/examples/docs_library.json. In your own code, pull a dictionary from
TMR instead. See Load a monomer library.
In [1]:
Copied!
from helmshaker import Molecule, MonomerLibrary
library = MonomerLibrary()
library.load_from_file("../examples/docs_library.json")
print(f"{len(library)} monomers available")
from helmshaker import Molecule, MonomerLibrary
library = MonomerLibrary()
library.load_from_file("../examples/docs_library.json")
print(f"{len(library)} monomers available")
40 monomers available
In [2]:
Copied!
from helmshaker import Molecule
helm = "CHEM1{[Ahx]}|CHEM2{[PEG4]}|RNA1{[fl2r](U)[sp].[m](C)[sp].[fl2r](U)p.[m](C)p.[fl2r](G)p.[m](U)p.[fl2r](G)p.[m](G)p.[fl2r](C)p.[m](C)p.[fl2r](U)p.[m](U)p.[fl2r](A)p.[m](A)p.[fl2r](U)p.[m](G)p.[fl2r](A)p.[m](A)[sp].[fl2r](A)[sp].[fl2r](T)}|RNA2{[fl2r](U)[sp].[fl2r](U)p.[fl2r](U)p.[fl2r](C)p.[fl2r](A)p.[fl2r](U)p.[fl2r](U)p.[fl2r](A)p.[fl2r](A)p.[fl2r](G)p.[fl2r](G)p.[fl2r](C)p.[fl2r](C)p.[fl2r](A)p.[fl2r](C)p.[fl2r](G)p.[fl2r](A)p.[fl2r](G)p.[fl2r](A)p.[fl2r](U)[sp].[fl2r](U)}$RNA1,CHEM1,59:R2-1:R1|CHEM1,CHEM2,1:R2-1:R1|RNA1,RNA2,2:pair-56:pair|RNA1,RNA2,56:pair-2:pair$$$V2.0"
molecule = Molecule.from_helm(helm, strict=False, monomer_library=library)
molecule.display()
from helmshaker import Molecule
helm = "CHEM1{[Ahx]}|CHEM2{[PEG4]}|RNA1{[fl2r](U)[sp].[m](C)[sp].[fl2r](U)p.[m](C)p.[fl2r](G)p.[m](U)p.[fl2r](G)p.[m](G)p.[fl2r](C)p.[m](C)p.[fl2r](U)p.[m](U)p.[fl2r](A)p.[m](A)p.[fl2r](U)p.[m](G)p.[fl2r](A)p.[m](A)[sp].[fl2r](A)[sp].[fl2r](T)}|RNA2{[fl2r](U)[sp].[fl2r](U)p.[fl2r](U)p.[fl2r](C)p.[fl2r](A)p.[fl2r](U)p.[fl2r](U)p.[fl2r](A)p.[fl2r](A)p.[fl2r](G)p.[fl2r](G)p.[fl2r](C)p.[fl2r](C)p.[fl2r](A)p.[fl2r](C)p.[fl2r](G)p.[fl2r](A)p.[fl2r](G)p.[fl2r](A)p.[fl2r](U)[sp].[fl2r](U)}$RNA1,CHEM1,59:R2-1:R1|CHEM1,CHEM2,1:R2-1:R1|RNA1,RNA2,2:pair-56:pair|RNA1,RNA2,56:pair-2:pair$$$V2.0"
molecule = Molecule.from_helm(helm, strict=False, monomer_library=library)
molecule.display()
Display MoleculeData: polymers=4 (RNA=2, CHEM=2), connections=4
──────────────────────────────────────────────────── Structure ────────────────────────────────────────────────────
CHEM2 ─── CHEM1 ─── RNA1
│
│
RNA2
Connectivity ┏━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┓ ┃ Pair ┃ H-bonds ┃ Covalent ┃ ┡━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━┩ │ CHEM1—CHEM2 │ 0 │ 1 │ │ CHEM1—RNA1 │ 0 │ 1 │ │ RNA1—RNA2 │ 2 │ 0 │ └─────────────┴─────────┴──────────┘
Summary ┏━━━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┓ ┃ Polymer ┃ Type ┃ Residues ┃ Sugars ┃ Bases ┃ Phosphates ┃ ┡━━━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━┩ │ CHEM1 │ CHEM │ 1 │ 0 │ 0 │ 0 │ │ CHEM2 │ CHEM │ 1 │ 0 │ 0 │ 0 │ │ RNA1 │ RNA │ 20 │ 20 │ 20 │ 19 │ │ RNA2 │ RNA │ 21 │ 21 │ 21 │ 20 │ └─────────┴──────┴──────────┴────────┴───────┴────────────┘
CHEM Data ┏━━━━━━━┳━━━━━━━━━━━┓ ┃ CHEM ┃ Chemistry ┃ ┡━━━━━━━╇━━━━━━━━━━━┩ │ CHEM1 │ Ahx │ │ CHEM2 │ PEG4 │ └───────┴───────────┘
RNA Data 5' -> 3' ┏━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ RNA ┃ Sugar ┃ Base ┃ Phosphate ┃ ┡━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ RNA1 │ fl2r.m.fl2r.m.fl2r.m.fl2r.m.fl2r… │ U.C.U.C.G.U.G.G.C.C.U.U.A.A.U.G.… │ sp.sp.p.p.p.p.p.p.p.p.p.p.p.p.p… │ │ RNA2 │ fl2r.fl2r.fl2r.fl2r.fl2r.fl2r.fl… │ U.U.U.C.A.U.U.A.A.G.G.C.C.A.C.G.… │ sp.p.p.p.p.p.p.p.p.p.p.p.p.p.p.… │ └──────┴───────────────────────────────────┴───────────────────────────────────┴──────────────────────────────────┘
Connections ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Source PolymerID ┃ Target PolymerID ┃ SourceMonomerPosition:SourceAttach… ┃ TargetMonomerPosition:TargetAttach… ┃ ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ RNA1 │ CHEM1 │ 59:R2 │ 1:R1 │ │ CHEM1 │ CHEM2 │ 1:R2 │ 1:R1 │ │ RNA1 │ RNA2 │ 2:pair │ 56:pair │ │ RNA1 │ RNA2 │ 56:pair │ 2:pair │ └──────────────────┴──────────────────┴─────────────────────────────────────┴─────────────────────────────────────┘
Without Separation Dots¶
To remove separation dots from the display, use separation=False:
In [3]:
Copied!
molecule.display(separation=False)
molecule.display(separation=False)
Display MoleculeData: polymers=4 (RNA=2, CHEM=2), connections=4
──────────────────────────────────────────────────── Structure ────────────────────────────────────────────────────
CHEM2 ─── CHEM1 ─── RNA1
│
│
RNA2
Connectivity ┏━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┓ ┃ Pair ┃ H-bonds ┃ Covalent ┃ ┡━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━┩ │ CHEM1—CHEM2 │ 0 │ 1 │ │ CHEM1—RNA1 │ 0 │ 1 │ │ RNA1—RNA2 │ 2 │ 0 │ └─────────────┴─────────┴──────────┘
Summary ┏━━━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┓ ┃ Polymer ┃ Type ┃ Residues ┃ Sugars ┃ Bases ┃ Phosphates ┃ ┡━━━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━┩ │ CHEM1 │ CHEM │ 1 │ 0 │ 0 │ 0 │ │ CHEM2 │ CHEM │ 1 │ 0 │ 0 │ 0 │ │ RNA1 │ RNA │ 20 │ 20 │ 20 │ 19 │ │ RNA2 │ RNA │ 21 │ 21 │ 21 │ 20 │ └─────────┴──────┴──────────┴────────┴───────┴────────────┘
CHEM Data ┏━━━━━━━┳━━━━━━━━━━━┓ ┃ CHEM ┃ Chemistry ┃ ┡━━━━━━━╇━━━━━━━━━━━┩ │ CHEM1 │ Ahx │ │ CHEM2 │ PEG4 │ └───────┴───────────┘
RNA Data 5' -> 3' ┏━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ RNA ┃ Sugar ┃ Base ┃ Phosphate ┃ ┡━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ RNA1 │ fl2rmfl2rmfl2rmfl2rmfl2rmfl2rmfl2rmfl2rmfl2rmfl2rfl2r │ UCUCGUGGCCUUAAUGAAAT │ spsppppppppppppppppspsp │ │ RNA2 │ fl2rfl2rfl2rfl2rfl2rfl2rfl2rfl2rfl2rfl2rfl2rfl2rfl2rf… │ UUUCAUUAAGGCCACGAGAUU │ spppppppppppppppppppsp │ └──────┴────────────────────────────────────────────────────────┴───────────────────────┴─────────────────────────┘
Connections ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Source PolymerID ┃ Target PolymerID ┃ SourceMonomerPosition:SourceAttach… ┃ TargetMonomerPosition:TargetAttach… ┃ ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ RNA1 │ CHEM1 │ 59:R2 │ 1:R1 │ │ CHEM1 │ CHEM2 │ 1:R2 │ 1:R1 │ │ RNA1 │ RNA2 │ 2:pair │ 56:pair │ │ RNA1 │ RNA2 │ 56:pair │ 2:pair │ └──────────────────┴──────────────────┴─────────────────────────────────────┴─────────────────────────────────────┘
Alternative Method Name¶
You can also use visualize_display() which is an alias for display():
In [4]:
Copied!
molecule.visualize_display(separation=True)
molecule.visualize_display(separation=True)
Display MoleculeData: polymers=4 (RNA=2, CHEM=2), connections=4
──────────────────────────────────────────────────── Structure ────────────────────────────────────────────────────
CHEM2 ─── CHEM1 ─── RNA1
│
│
RNA2
Connectivity ┏━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┓ ┃ Pair ┃ H-bonds ┃ Covalent ┃ ┡━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━┩ │ CHEM1—CHEM2 │ 0 │ 1 │ │ CHEM1—RNA1 │ 0 │ 1 │ │ RNA1—RNA2 │ 2 │ 0 │ └─────────────┴─────────┴──────────┘
Summary ┏━━━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┓ ┃ Polymer ┃ Type ┃ Residues ┃ Sugars ┃ Bases ┃ Phosphates ┃ ┡━━━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━┩ │ CHEM1 │ CHEM │ 1 │ 0 │ 0 │ 0 │ │ CHEM2 │ CHEM │ 1 │ 0 │ 0 │ 0 │ │ RNA1 │ RNA │ 20 │ 20 │ 20 │ 19 │ │ RNA2 │ RNA │ 21 │ 21 │ 21 │ 20 │ └─────────┴──────┴──────────┴────────┴───────┴────────────┘
CHEM Data ┏━━━━━━━┳━━━━━━━━━━━┓ ┃ CHEM ┃ Chemistry ┃ ┡━━━━━━━╇━━━━━━━━━━━┩ │ CHEM1 │ Ahx │ │ CHEM2 │ PEG4 │ └───────┴───────────┘
RNA Data 5' -> 3' ┏━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ RNA ┃ Sugar ┃ Base ┃ Phosphate ┃ ┡━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ RNA1 │ fl2r.m.fl2r.m.fl2r.m.fl2r.m.fl2r… │ U.C.U.C.G.U.G.G.C.C.U.U.A.A.U.G.… │ sp.sp.p.p.p.p.p.p.p.p.p.p.p.p.p… │ │ RNA2 │ fl2r.fl2r.fl2r.fl2r.fl2r.fl2r.fl… │ U.U.U.C.A.U.U.A.A.G.G.C.C.A.C.G.… │ sp.p.p.p.p.p.p.p.p.p.p.p.p.p.p.… │ └──────┴───────────────────────────────────┴───────────────────────────────────┴──────────────────────────────────┘
Connections ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Source PolymerID ┃ Target PolymerID ┃ SourceMonomerPosition:SourceAttach… ┃ TargetMonomerPosition:TargetAttach… ┃ ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ RNA1 │ CHEM1 │ 59:R2 │ 1:R1 │ │ CHEM1 │ CHEM2 │ 1:R2 │ 1:R1 │ │ RNA1 │ RNA2 │ 2:pair │ 56:pair │ │ RNA1 │ RNA2 │ 56:pair │ 2:pair │ └──────────────────┴──────────────────┴─────────────────────────────────────┴─────────────────────────────────────┘