Molecular Pore Aperture Cap Designer
Project description
MolPACD
MolPACD is the Molecular Pore Aperture Cap Designer. It designs, adds, analyzes, and removes molecular aperture caps in protein structures.
The first implementation is derived from the MemGen beta-barrel water-cap script, but generalizes the workflow for PDB and mmCIF structures with configurable axes, cap identity, and cap removal metadata.
Install
From PyPI:
python -m pip install molpacd
From a local checkout:
python -m pip install .
For development:
python -m pip install -e ".[dev]"
With Conda, keep the environment local to the checkout:
conda env create -p .conda/molpacd-dev -f environment-dev.yml
conda run -p .conda/molpacd-dev python -m nox -s lint format mypy tests-3.13 build
Common development tasks are also available through make:
make env
make check
For documentation work:
make docs-deps
make docs-serve
CLI
Analyze candidate apertures:
molpacd analyze input.pdb --json
Add caps to both apertures:
molpacd add input.pdb -o capped.pdb
Use a membrane-oriented z-axis and a fixed cap residue name:
molpacd add input.pdb -o capped.pdb --axis z --resname DUM
Use each aperture's inferred radius instead of sharing the larger radius:
molpacd add input.pdb -o capped.pdb --axis z --independent-radius
Remove MolPACD-generated caps:
molpacd remove capped.pdb -o decapped.pdb
Remove matching caps from a file without MolPACD metadata:
molpacd remove capped.pdb -o decapped.pdb --resname DUM --chain Z --force
MolPACD writes cap provenance metadata and uses it during removal so matching
non-cap atoms are not removed accidentally. If metadata is absent, or if you
override metadata values such as residue name, chain, or atom name, removal
requires --force.
Format Notes
MolPACD reads PDB and mmCIF files and writes minimal PDB/mmCIF outputs focused on atom records plus MolPACD metadata. It preserves PDB header lines before the coordinate section, but it does not attempt to reproduce every original record or mmCIF category. Multi-model structures are not supported for analysis or cap addition; split those structures into single-model inputs before running MolPACD.
Library
from pathlib import Path
from molpacd import CapOptions, add_caps, read_structure, write_structure
structure = read_structure(Path("input.pdb"))
capped, result = add_caps(structure, CapOptions(axis="z", resname="DUM"))
write_structure(capped, Path("capped.pdb"))
print(result.resname, result.added_count)
Development Checks
python -m nox
The nox sessions run tests, linting, formatting checks, type checks, and package build validation. GitHub Actions runs the same checks on pushes and pull requests.
Documentation
The project documentation is built with MkDocs:
make docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file molpacd-0.1.0.tar.gz.
File metadata
- Download URL: molpacd-0.1.0.tar.gz
- Upload date:
- Size: 72.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6107abd69d803ceefde26fbf94dff8d1726d1b73baf34360708cf5b135f116ce
|
|
| MD5 |
13fff5db919ed6172fa0e8db16abeb53
|
|
| BLAKE2b-256 |
97a0687336ff74424cbd921a2e6c2e678e4b1173ab34fe3ac0b1f4802c9d0789
|
Provenance
The following attestation bundles were made for molpacd-0.1.0.tar.gz:
Publisher:
publish.yml on BlankenbergLab/molpacd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
molpacd-0.1.0.tar.gz -
Subject digest:
6107abd69d803ceefde26fbf94dff8d1726d1b73baf34360708cf5b135f116ce - Sigstore transparency entry: 1967321600
- Sigstore integration time:
-
Permalink:
BlankenbergLab/molpacd@ad10b49b67d541327c421a489fe439de2443d2cf -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/BlankenbergLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ad10b49b67d541327c421a489fe439de2443d2cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file molpacd-0.1.0-py3-none-any.whl.
File metadata
- Download URL: molpacd-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
866f0534ee543424b7fda728b69e03d8d1e1f017f1ae7cfb987a3700ad6ce2d4
|
|
| MD5 |
c2c15c2e4be5c51bd7bb64a63261c88f
|
|
| BLAKE2b-256 |
46f772aab711fb7d7073ce6b8d577fed244a2706868f93645b7a2fd42e7e3f8a
|
Provenance
The following attestation bundles were made for molpacd-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on BlankenbergLab/molpacd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
molpacd-0.1.0-py3-none-any.whl -
Subject digest:
866f0534ee543424b7fda728b69e03d8d1e1f017f1ae7cfb987a3700ad6ce2d4 - Sigstore transparency entry: 1967321680
- Sigstore integration time:
-
Permalink:
BlankenbergLab/molpacd@ad10b49b67d541327c421a489fe439de2443d2cf -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/BlankenbergLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ad10b49b67d541327c421a489fe439de2443d2cf -
Trigger Event:
push
-
Statement type: