Skip to main content

tomo_toolshed

A small, growing collection of lightweight cryo-ET file/CLI tools — etomo and WarpTools helpers, segmentation curation, and more to come — all installed at once and exposed as subcommands of a single tomo_toolshed command. Every tool here is intentionally lightweight (file/CLI editors, no heavy or GPU deps), so one install gets you everything.

Install

git clone https://github.com/hamid13r/tomo_toolshed.git
cd tomo_toolshed
pip install -e .

This installs the tomo_toolshed command. List the available tools with:

tomo_toolshed --help

Prefer conda/micromamba? A merged environment is provided:

micromamba create -f environment.yml -y
micromamba activate tomo-toolshed
pip install -e .

Tools

Command Description Docs
tomo_toolshed skipped-views Prune skipped etomo views from WarpTools tilt-series XML by updating UseTilt from taSolution.log (with optional dose/tilt selection), or physically remove the excluded tilts from the XML and .tomostar with --delete. docs/skipped_views.md
tomo_toolshed curate Interactive GUI to review and clean a 3D segmentation over a tomogram, then export a curated binary mask — or load particles (star, or x y z .txt/.box) as spheres and export a star file with false positives removed. docs/segmentation_curator.md
tomo_toolshed add-defocus Fill in the placeholder _rlnDefocus column of an IsoNet star file with the average CTF defocus from the matching Warp XML files. docs/add_defocus.md
tomo_toolshed trace-filaments Trace filaments in a binary segmentation mask and export a RELION 4 helical star file of evenly spaced particles (optional ChimeraX .bild overlay). docs/filament_tracer.md
tomo_toolshed dipole2star Collapse manual dipole picks (RELION star or plain 3-column text) into a RELION oriented-particle star file, one output per input. docs/dipole2star.md
tomo_toolshed write-ebt Build an etomo batchruntomo .ebt project file from a directory of per-tilt-series subdirectories, with Linux or Windows .st path styles. docs/write_ebt.md
tomo_toolshed duplicate-remover Remove particles closer than a distance threshold within each tomogram/micrograph, across RELION 3/4/5 and M/WarpTools star flavors (resolves the coordinate pixel size per flavor). docs/duplicate_remover.md
tomo_toolshed split-star Split a particle star file into one star file per tomogram/micrograph/source, flat by default or one subdirectory per group with --dir-per-group (carries through optics/general blocks). docs/split_star.md
tomo_toolshed scale-star Rescale particle coordinates between pixel sizes (with optional shift), rewriting the coordinate pixel-size columns, across RELION 3/4/5 and M/WarpTools star flavors (leaves rlnImagePixelSize and *Angst columns alone). docs/scale_star.md
tomo_toolshed filament-cleanup After RELION helical refinement, remove particles that sit off a smooth curve through their filament or whose tilt/psi axis disagrees with their neighbours; writes the cleaned star file plus a star file of the removed particles for inspection. docs/filament_cleanup.md
tomo_toolshed xml-reconstruct Reconstruct a Warp/WarpTools tomogram from its tilt-series XML (a NumPy/SciPy re-implementation of ts_reconstruct), with swappable weighting and filtering hooks for making new versions of a tomogram from the same aligned tilts. docs/xml_reconstruct.md

Development

pip install -e ".[test]"
pytest

Adding a tool

The layout is designed so a new lightweight tool is easy to drop in. Convention:

  1. Create a subpackage under src/tomo_toolshed/<your_tool>/ with a cli.py exposing a click command (split heavier logic into a core.py, like skipped_views/ does). Keep any GUI/matplotlib imports lazy so the package stays headless-import-safe.
  2. Register it in src/tomo_toolshed/cli.py: import the command and add it to the group with tomo_toolshed.add_command(<cmd>, name="<subcommand>"). Also add a one-line entry to the group docstring so tomo_toolshed --help reads as a useful index.
  3. Add any new dependencies to the single dependencies list in pyproject.toml (and to environment.yml). There are deliberately no per-tool extras — one install gets everything.
  4. Add a docs page at docs/<your_tool>.md and link it from the table above.
  5. Add tests under tests/<your_tool>/.

Acknowledgments

These tools read, write, or interoperate with files from the cryo-ET ecosystem, and build on established open-source software. Please cite the relevant upstream projects when you use the corresponding part of this toolshed (see CITATION.cff for structured references).

Interoperates with / builds on:

  • Warp / WarpTools — xml-reconstruct reimplements ts_reconstruct, and several tools read Warp XML / .tomostar / .settings (Tegunov & Cramer, Nat. Methods 2019).
  • IMOD / etomo — skipped-views reads etomo taSolution.log; write-ebt builds a batchruntomo .ebt project (Kremer, Mastronarde & McIntosh, J. Struct. Biol. 1996).
  • novaCTF — 3D-CTF correction in the tomography pipeline (Turoňová et al., J. Struct. Biol. 2017).
  • AreTomo — marker-free tilt-series alignment, an alignment source reflected in the metadata (Zheng et al., 2022).
  • RELION — the star-file format target for the helical / oriented-particle tools (RELION 4.x).
  • IsoNet — add-defocus fills IsoNet star files.

Built on these Python libraries: mrcfile, starfile, NumPy, SciPy, scikit-image, pandas, Click, NetworkX, connected-components-3d, Matplotlib, Pillow, and lxml.

License

MIT — see LICENSE.

Metadata

Release files for tomo-toolshed 0.1.0

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

Source distribution (sdist)

Source distribution for tomo-toolshed 0.1.0
File Size Uploaded
tomo_toolshed-0.1.0.tar.gz 94.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tomo-toolshed 0.1.0
File Interpreter ABI Platform
tomo_toolshed-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 204.6 kB

Release files / tomo_toolshed-0.1.0.tar.gz

Download URL tomo_toolshed-0.1.0.tar.gz
Size 94.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d594a2c7d2c5b0724c3b1fbfb9fae6062f688d0ffaba378bfef389272e0dd010
BLAKE2b-256 checksum
How to use checksums
73091f84fc4f664a1addc119f29f14686c52a1569c39528b044d6d073e4b17f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / tomo_toolshed-0.1.0-py3-none-any.whl

Download URL tomo_toolshed-0.1.0-py3-none-any.whl
Size 110.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d8b50dc9a7ba2e6f9a9610e6ffd9b01914ee9644112ce0bf4fb9bd900611b39
BLAKE2b-256 checksum
How to use checksums
f974cebb35a04942260e42a1dcf330a1d41069ba5fe5735fed8612c9c1827316
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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