Skip to main content

CLI tools for quick protein structure cleanup and optimization with OpenMM.

Project description

StructOpt

structopt is a Python package and CLI to quickly clean and optimize protein structures from predicted or experimental sources (.pdb, .cif, .mmcif).

It combines:

  • PDBFixer for structure cleanup.
  • OpenMM minimization (implicit solvent by default).
  • Optional short MD refinement.
  • Optional GAFF small-molecule handling (for ligands like LIG1).

Install

Install from PyPI:

pip install structopt

If you want ligand/GAFF support, also install openmmforcefields in the same environment. Depending on your platform, it may be easier to use the provided mamba environment for that setup.

Install From Source

Sync the project environment with uv:

uv sync

To include dev tools:

uv sync --group dev

For GAFF ligand support from source, install openmmforcefields, rdkit, and AmberTools in the active environment. If your package index cannot resolve those, use mamba:

mamba env create -f environment.mamba.yml
mamba activate structopt
pip install -e .

CLI

Run the command below to see all the possible options you can have for your optimisation

uv run structopt optimize --help

Example:

uv run structopt optimize tests/data/geraniol_model_0.cif

Useful options:

uv run structopt optimize tests/data/geraniol_model_0.cif \
  --mode both \
  --ph 7.2 \
  --ligand-name LIG1 \
  --npt-steps 50000 \
  --temperature 300 \
  --pressure 1.0

If GAFF ligand parametrization cannot be inferred from the structure alone, provide an SDF:

uv run structopt optimize tests/data/geraniol_model_0.cif \
  --ligand-name LIG1 \
  --ligand-sdf path/to/ligand.sdf

Notes

  • Default cleanup adds hydrogens at pH 7.2.
  • Minimization uses explicit by default or possibly implicit solvent (gbn2 or obc2).
  • MD refinement uses short explicit-solvent NPT by default.
  • For GAFF workflows, install AmberTools in your environment.

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

structopt-0.2.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

structopt-0.2.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file structopt-0.2.0.tar.gz.

File metadata

  • Download URL: structopt-0.2.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for structopt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8953bb50dc413c2ce7c968cd367b1e495842020a0b004a3355de58e0ee70afc5
MD5 5de781225a4e6fab896d5056dad445aa
BLAKE2b-256 3d07afee3d4af5634d0ef05e60361b54efaf639ef70077fee0a89c965e1ea388

See more details on using hashes here.

Provenance

The following attestation bundles were made for structopt-0.2.0.tar.gz:

Publisher: ci-cd.yml on Desperadus/StructOpt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file structopt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: structopt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for structopt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0133ebcbe15c6deba0665ae9d0672a91288d79a53dbc40725f027205edbc9f
MD5 0fb612774e3a23bbbd87dc60e89f69f4
BLAKE2b-256 6b339dde8e8d34261fe114ee41f2f72da4e73f3b11e871638b1cd6b6231fbf50

See more details on using hashes here.

Provenance

The following attestation bundles were made for structopt-0.2.0-py3-none-any.whl:

Publisher: ci-cd.yml on Desperadus/StructOpt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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