Skip to main content

Chemistry with the ReInvented Macromolecular Mechanics

Project description

crimm

crimm stands for Chemistry with the ReInvented Macromolecular Mechanics.

This is a Python toolkit for biomolecule structure preparation, designed to unify common modeling routines under one scriptable platform. While many tools exist for tasks like solvation, adding hydrogens, or building missing loops, they often lack the scriptability needed for high-throughput pipelines. crimm aims to fill this gap by providing intuitive Python APIs that integrate seamlessly with pyCHARMM, RDKit, and other computational chemistry tools.

Why crimm?

  • Scriptable: All preparation steps are Python functions—no clicking through web interfaces or writing shell scripts
  • Integrated: Works natively with pyCHARMM for energy calculations and simulations
  • Accurate: Uses mmCIF format to correctly identify chain types, detect missing loops, and handle biological assemblies
  • Extensible: Adaptors connect crimm to RDKit, PropKa, OpenMM, and more

Features

  • Fetch structures from RCSB PDB or AlphaFold Database
  • Organize mmCIF structures into protein, nucleic acid, ligand, solvent, and ion components
  • Generate CHARMM36m topology for proteins, canonical DNA/RNA, and protein-containing systems
  • Normalize common terminal caps and report unsupported modified chemistry explicitly
  • Parameterize small-molecule ligands with CGenFF integration, including lone-pair-aware workflows
  • Read, write, and reload native CHARMM PSF and CRD files
  • Solvate in cubic or truncated octahedral water boxes
  • Add monovalent ions at target concentrations (SPLIT, SLTCAP methods)
  • Build missing loops from homology models
  • Visualize structures in Jupyter notebooks with NGLView

Installation

pip install crimm

Optional cheminformatics and protonation extras:

pip install "crimm[all]"

Requires Python >= 3.9. For a complete development environment:

conda env create -f env.yaml

Note: pyCHARMM, OpenMM, and the external CGenFF executable must be installed separately when those workflows are needed.

Quick Example

from crimm.Fetchers import fetch_rcsb
from crimm.Modeller import TopologyGenerator
from crimm.Modeller.Solvator import Solvator
from crimm.IO import write_psf, write_crd

# Fetch and prepare structure
model = fetch_rcsb('1LSA', organize=True)
topo_gen = TopologyGenerator()
for chain in model.protein:
    topo_gen.generate(chain)

# Solvate and add 150 mM KCl
solvator = Solvator(model)
solvator.solvate(cutoff=10.0, box_type='octa')
solvator.add_ions(concentration=0.15, cation='POT', anion='CLA')

# Write CHARMM files
write_psf(model, 'system.psf')
write_crd(model, 'system.crd')

Modules

Module Purpose
Fetchers Download structures from RCSB PDB or AlphaFold
Modeller Topology generation, PSF/CRD loading, solvation, loop building
IO Read/write PDB, mmCIF, PSF, and CRD files
Adaptors Connect to pyCHARMM, RDKit, PropKa

Documentation

See tutorials/ for Jupyter notebooks on structure preparation, topology generation, PSF/CRD workflows, loop building, and more.

License

GPLv3

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crimm-2026.2.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crimm-2026.2-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file crimm-2026.2.tar.gz.

File metadata

  • Download URL: crimm-2026.2.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.17

File hashes

Hashes for crimm-2026.2.tar.gz
Algorithm Hash digest
SHA256 eb39e4e0249f2bef2b00d7bfa6d39f180b0e9257b1834f32589dae3950530c33
MD5 b26ba566bac44a1f0e4072cb0120c118
BLAKE2b-256 7c3f5b4d5e8490cc92636f3c175d4d842d43b2b7053e586585d65593f25d2b20

See more details on using hashes here.

File details

Details for the file crimm-2026.2-py3-none-any.whl.

File metadata

  • Download URL: crimm-2026.2-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.17

File hashes

Hashes for crimm-2026.2-py3-none-any.whl
Algorithm Hash digest
SHA256 44b907faf86a62b411be96639b663224a8862cd0396cd17abf46420e20ebb95d
MD5 76b63a07dd1877fef3592cc74c249d00
BLAKE2b-256 c48d31f8983684b8ccfb9ef04db3cabbed177968e6c5a89f9a544f9979405058

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page