tomotools

Scripts to make cryo-electron tomography a bit easier

https://github.com/tomotools/tomotools

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

Scripts to make cryo-electron tomography a bit easier

Basic Info
  • Host: GitHub
  • Owner: tomotools
  • License: gpl-2.0
  • Language: Python
  • Default Branch: main
  • Size: 7.88 MB
Statistics
  • Stars: 13
  • Watchers: 1
  • Forks: 4
  • Open Issues: 8
  • Releases: 16
Created about 4 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

tomotools

Scripts to make cryo-electron tomography a bit easier

Usage

Full options can be listed via: tomotools --help tomotools [subcommand] --help

Currently supported subcommands:

Preprocessing & Reconstruction:

  • blend-montages: Blends SerialEM montages, write results to separate folder.
    • Example: tomotools blend-montages MMM*.mrc montages-blended
  • preprocess: Prepare tiltseries for reconstruction.
    • Takes data directory from SerialEM or Tomo5 as input and writes the final stacks to the target directory.
    • Frames are aligned using MotionCor2 and reordered if desired. Supports GainRef conversion from dm4 to mrc and the SerialEM-generated defects.txt.
    • Example: tomotools preprocess --mcbin 1 --gainref frames/GainRef.dm4 *.mrc ts-aligned
  • reconstruct: Perform batch reconstruction using AreTomo or imod.
    • Takes tiltseries and their associated mdoc files as input, automatically identified associated EVN/ODD stacks. Finds alignment using AreTomo, then applies it to EVN/ODD stacks. Alternatively, can move files and then open etomo. Reconstruction is done using imod's tilt.
    • Example: tomotools reconstruct --move --bin 4 --sirt 12 --do-evn-odd *.mrc

Denoising & Deconvolution

  • cryocare-extract: Extract cryoCARE training data from EVN/ODD reconstructions.
  • cryocare-train: Wrapper for cryoCARE training.
  • cryocare-predict: Wrapper for cryoCARE prediction.
  • deconv: Python implementation of Dimitry Tegunov's tomdeconv.m_ script.

Subtomogram Averaging Preparation

  • imod2warp: Takes a list of imod directories or a file listing them and prepares everything for Warp or WarpTools.
  • aretomo2warp: Takes a list of directories with AreTomo-aligned tiltseries or a file listing them and prepares everything for Warp or WarpTools.
  • imod2tomotwin: Takes a list of imod directories and reconstructs for TomoTwin picking.
  • aretomo2tomotwin: Takes a list of AreTomo directories and reconstructs for TomoTwin picking.
  • fit-ctf: Run imod ctfplotter on a set of tiltseries and save results to their folder.
  • merge-dboxes: Very beta, merges Dynamo DBoxes.
  • reconstruct-3dctf: Perform reconstruction using imods ctf3d function.

Other

  • semnavigator: Display SerialEM navigator files to find back you tomogram positions
  • create-movie: Create a movie from a series of image files.
  • update: Automatically pulls the most recent version from GitHub and runs pip install --upgrade on it.
  • restore-frames: Restore SubFramePath to mdoc of tiltseries preprocessed with tomotools < 0.4.

Dependencies

tomotools depends on commands from MotionCor2 or MotionCor3, IMOD, and AreTomo 1.X or AreTomo2 for full functionality. IMOD should be in PATH. MotionCor2/3 and AreTomo2/3 can either be in PATH as MotionCor2 / MotionCor3 or AreTomo / AreTomo2 respectively, or set using the envar MOTIONCOR_EXECUTABLE or ARETOMO_EXECUTABLE.

Installation

We suggest installing tomotools into its own conda / mamba environment. If you can only access your userspace, consider using micromamba.

If you want to use the scripts interfacing with cryoCARE denoising, please install tomotools[cryocare].

Full Install via:

conda create -n tomotools python=3.8 cudatoolkit=11.0 cudnn=8.0 -c conda-forge conda activate tomotools pip install "tomotools[cryocare] @ git+https://github.com/tomotools/tomotools.git"

Minimal Install via:

conda create -n tomotools python=3.8 -c conda-forge conda activate tomotools pip install "tomotools @ git+https://github.com/tomotools/tomotools.git"

Confirm Installation:

With tomotools installed into a conda environment, you can then start tomotools with: conda activate tomotools tomotools --help

Notes on sbgrid:

If you're using an sbgrid environment, make sure to set the following in your .sbgrid.conf file:

PYTHON_X=3.8.8 (anything > 3.8 works)

Additionally, try pip --version to make sure it's correctly working. This is required for tomotools update. Else, you can add the following line to your .bashrc:

alias pip='python -m pip'

Likely, you will also need to add your local Python path to .bashrc:

export PATH="/YOURHOMEFOLDER/.local/bin:$PATH"

Feedback, Bug Reports and Contributions are always welcome!

Owner

  • Name: tomotools
  • Login: tomotools
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: tomotools
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Moritz
    family-names: Wachsmuth-Melm
    orcid: 'https://orcid.org/0000-0002-9033-1705'
    email: moritz.wachsmuth@bioquant.uni-heidelberg.de
    affiliation: >-
      Department of Infectious Diseases, Virology,
      Heidelberg University
  - given-names: Benedikt H
    family-names: Wimmer
    email: b.wimmer@bioc.uzh.ch
    affiliation: 'Department of Biochemistry, University of Zurich'
    orcid: 'https://orcid.org/0000-0002-6916-9360'
abstract: ' Scripts to make cryo-electron tomography a bit easier '
keywords:
  - cryoet
  - processing
  - tomography
license: GPL-2.0

GitHub Events

Total
  • Create event: 14
  • Release event: 4
  • Issues event: 11
  • Watch event: 4
  • Delete event: 7
  • Issue comment event: 13
  • Push event: 33
  • Pull request event: 8
Last Year
  • Create event: 14
  • Release event: 4
  • Issues event: 11
  • Watch event: 4
  • Delete event: 7
  • Issue comment event: 13
  • Push event: 33
  • Pull request event: 8

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 5
  • Total pull requests: 3
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 1 month
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.4
  • Average comments per pull request: 2.67
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 3
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 1 month
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.4
  • Average comments per pull request: 2.67
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bwmr (8)
  • McHaillet (4)
  • MoritzWM (2)
  • alicethurston (1)
  • lsprankel (1)
Pull Request Authors
  • bwmr (9)
  • MoritzWM (2)
  • McHaillet (2)
  • alicethurston (1)
Top Labels
Issue Labels
bug (7) enhancement (4) wontfix (1) further-info-required (1) help wanted (1) good first issue (1)
Pull Request Labels
enhancement (1)

Dependencies

.github/workflows/lint.yml actions
  • actions/checkout v3 composite
  • psf/black stable composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • pavelzw/pytest-action v2 composite
pyproject.toml pypi
  • Click *
  • dynamotable *
  • emfile *
  • matplotlib *
  • mrcfile *
  • numpy *
  • pandas *