Skip to main content

RNApolis

A Python library and CLI utilities for RNA bioinformatics — parsing PDB/mmCIF structures, annotating secondary structure, and clustering 3D conformations.

pip install rnapolis

Development

This repository uses uv for environment management, locking, and builds.

Install the runtime environment:

uv sync --locked

Install the development tools and run tests:

uv sync --locked --group dev
uv run --no-sync python -m pytest

Install the documentation toolchain and build the site:

uv sync --locked --group docs
uv run --no-sync mkdocs build --site-dir site

Build source and wheel distributions:

uv build

Utilities

annotator

Extracts and classifies RNA secondary structure from 3D coordinates, detecting base pairs (Leontis-Westof + Saenger), stacking, base-ribose, and base-phosphate interactions. Prints dot-bracket to stdout (pseudoknot-ordered; --extended encodes non-canonical pairs) and optionally writes BPSEQ (--bpseq), CSV (--csv), JSON (--json), or GraphViz DOT (--dot). --find-gaps splits chains with missing segments (>2.4 Å gaps).

adapter

Converts base-interaction output from external tools into RNApolis' secondary-structure format, reusing annotator's output options. Supports FR3D, DSSR, RNAView, BPNet, MAXIT, BARNABA, MC-Annotate, and DNATCO; the source tool is auto-detected from file patterns (override with --tool). Usage: adapter <structure> [external files...].

aligner

Aligns two PDB/mmCIF structures with PyMOL and writes trimmed copies containing only matching residues. Requires PyMOL. Usage: aligner -o <out_dir> [-f PDB|mmCIF|keep] <file1> <file2>.

clashfinder

Detects atomic clashes in PDB/mmCIF structures. Flags: --ignore-occupancy, --nucleic-acid-only, --ignore-autoclashes, --require-same-atom-name, --enable-molprobity-mode (include weak clashes), --csv.

distiller

Clusters RNA 3D structures by geometric similarity. Two modes: approximate (default; PCA-reduced feature distances, fast) and exact (all-vs-all nRMSD). Four methods: hierarchical (default), affinity-propagation, facility-location, radius-graph. Accepts file paths as args or via stdin. Outputs JSON (--output-json) and dendrogram/MDS plots (--visualize).

metareader

Extracts mmCIF categories into JSON for quick inspection with tools like jq. --category/-c selects categories (default struct); --list-categories/-l lists available ones.

$ metareader -c refine 8af0.cif.gz | jq -r .refine[0].ls_d_res_high
2.43

molecule-filter

Filters an mmCIF file by entity type (default polyribonucleotide), preserving all interdependent mmCIF categories for the selected chains. --type selects the entity type.

motif-extractor

Reads a secondary structure in BPSEQ (--bpseq) or dot-bracket (--dbn) format and lists its structural elements (single strands, stems, loops, hairpins).

transformer

Copies one column to another within an mmCIF category (e.g. set auth_asym_id from label_asym_id). Usage: transformer <input> <output> --category atom_site --copy-from label_asym_id --copy-to auth_asym_id.

rfam-folder

Folds consensus secondary structures for RNA sequence(s) — a single sequence or a FASTA file. --family targets a specific Rfam family (otherwise the whole DB is searched); --no-fold skips RNAfold; --count limits structures per sequence. Requires Infernal.

unifier

Normalizes a set of PDB/mmCIF files so they share identical residues: standardizes canonical-nucleotide atom names/order, unifies residue identifiers (chain/number/icode), and drops residues whose atom counts differ across files. Usage: unifier -o <out_dir> [-f PDB|mmCIF|keep] <files...>.

splitter

Splits a multi-model PDB or mmCIF file (e.g. NMR ensembles) into one file per model. Usage: splitter -o <out_dir> [-f PDB|mmCIF|keep] <file>.

quick-filter

Filters atoms from a PDB/mmCIF file while preserving non-atom records (headers, ANISOU, etc.). --mode picks nucleic-acid (default) or protein; --keep-ligands/--keep-waters/--keep-ions retain those classes; --altloc, --chains, and --model further restrict output. Prints filtered content to stdout.

na-chain-groups

Quickly groups nucleic-acid chains by spatial proximity. Builds a KD-tree from C1' atoms (one per nucleotide) and merges chains whose atoms are within a distance threshold (default 15 Å). Outputs JSON: single file → [["A","B"],["C"]]; multiple files → {"file": [["A","B"],...]}. Accepts multiple paths as args or reads from stdin. --threshold, --atom, and --model are configurable.

Metadata

Release files for RNApolis 0.16.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for RNApolis 0.16.17
File Size Uploaded
rnapolis-0.16.17.tar.gz 732.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for RNApolis 0.16.17
File Interpreter ABI Platform
rnapolis-0.16.17-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / rnapolis-0.16.17.tar.gz

Download URL rnapolis-0.16.17.tar.gz
Size 732.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7843a529497413b9432f621c469cbac39705769430a2982d591b851b91ed7ab9
BLAKE2b-256 checksum
How to use checksums
90c010b1851a08fbee191e1bd1fecfbbea15e85f6a383e25457865db2fc4f995
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rnapolis-0.16.17-py3-none-any.whl

Download URL rnapolis-0.16.17-py3-none-any.whl
Size 750.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ece29a30ca82dff5d7e48af6c25aa186819dabced5a2026b1c866966dfafccd
BLAKE2b-256 checksum
How to use checksums
9343216bf9135ab79abd359117b7f96b544a487a2ad1399ba1132441c9323ddd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.16.17 This release

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.6

2 release files

0.15.5

2 release files

0.15.4

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.14.0

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.5

2 release files

0.11.0

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.18

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.15

2 release files

0.0.13

1 release file

0.0.12

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page