HELMshaker¶
HELMshaker reads, validates, converts and modifies biopolymers written in HELM, XNA and FASTA. It handles oligonucleotides, including conjugates, and peptides, including cyclic and macrocyclic ones. It is the HELM engine behind Forge and the RNA Hub.
from helmshaker import Molecule, MonomerLibrary
library = MonomerLibrary()
library.load_from_file("monomers.json")
oligo = Molecule.from_helm(
"RNA1{[moe](A)[sp].[moe](U)[sp].[moe](G)}$$$$V2.0", monomer_library=library
)
oligo.to_fasta() # 'AUG'
oligo.molecular_weight() # 1124.996
Where to go¶
-
Install it and read your first molecule. Start here.
-
Guided walkthroughs that teach the library by using it.
-
Short answers to specific tasks you already have.
-
The API, the CLI, the pattern schema, the exceptions.
-
Why the library works the way it does.
What it does¶
- Read from HELM, XNA, plain sequences, and token-based vendor notations
- Write to HELM, XNA and FASTA
- Build peptides from a sequence, with crosslinks, N/C caps and non-natural monomers
- Modify with named patterns or single-monomer replacements
- Validate against a monomer dictionary
- Compute molecular weight, formula, SMILES and molblock, via RDKit
- Draw oligonucleotides as 2D cartoon schematics
- Pull dictionaries from TMR or Forge, from Python or the
helmshakerCLI
The core install depends only on pyyaml. Chemistry, visualization, networking
and alignment are optional extras, imported lazily, so parsing and validation
work without any of them.
One thing to know first¶
HELMshaker ships no monomers. A HELM string records symbols, not what they mean,
so every read needs a dictionary and reading without one raises
MonomerLibraryError. That is deliberate: guessing produces a plausible molecule
made of the wrong things. See
Why a monomer library is mandatory.