Skip to main content

Services for CryoEM processing

Project description

cryoem-services

Services and configuration for cryo-EM pipelines.

This package consists of a number of services to process cryo-EM micrographs, both for single particle analysis and tomography, using a range of commonly used cryo-EM processing software. These services can be run independently to process data, or as part of a wider structure for performing live analysis during microscope collection. For live analysis, this package integrates with a package for transferring and monitoring collected data, Murfey, and a database for storing processing outcomes, ISPyB.

To run these services the software executables being called must be installed. These do not come with this package.

Tomography processing

The tomography processing pipeline consists of:

  • Motion correction
  • CTF estimation
  • Tomogram alignment
  • Tomogram denoising using Topaz
  • Segmentation using membrain-seg

The results of this processing can be opened and continued using Relion 5.0.

Single particle analysis

The single particle analysis pipeline produces a project that can be opened and continued using CCP-EM doppio or Relion.

The processing pipeline consists of:

  • Motion correction
  • CTF estimation
  • Particle picking
  • (Optionally) Ice thickness estimation
  • Particle extraction and rebatching
  • 2D classification using Relion
  • Automated 2D class selection using Relion
  • 3D classification using Relion
  • 3D Refinement and post-processing
  • BFactor estimation by refinement with varying particle count

Services currently available

The following services are provided for running the pipelines:

  • Utility services:
    • ClusterSubmission: Submits zocalo wrappers to an HPC cluster
    • Dispatcher: Converts recipes into messages suitable for processing services
    • Images: Creates thumbnail images for viewing processing outcomes
    • ISPyB: Inserts results into an ISPyB database
    • NodeCreator: Creates Relion project files for the services run
  • Processing services:
    • BFactor: Performs the setup for 3D refinement with varying particle count
    • CrYOLO: Particle picking on micrographs using crYOLO
    • CTFFind: CTF estimation on micrographs using CTFFIND4
    • DenoiseSlurm: Tomogram denoising, submitted to a slurm HPC cluster, using Topaz
    • Extract: Extracts picked particles from micrographs
    • ExtractClass: Extracts particles from a given 3D class
    • IceBreaker: Ice thickness estimation with IceBreaker
    • MembrainSeg: Tomogram segmentation, submitted to a slurm HPC cluster, using membrain-seg
    • MotionCorr: Motion correction of micrographs using MotionCor2 or Relion, optionally submitted to a slurm HPC cluster
    • PostProcess: Post-processing of 3D refinements using Relion
    • SelectClasses: Runs automated 2D class selection using Relion and re-batches the particles from these classes
    • SelectParticles: Creates files listing batches of extracted particles
    • TomoAlign: Tomogram reconstruction from a list of micrographs using imod and AreTomo2
    • TomoAlignSlurm: Tomogram alignment processing submitted to a slurm HPC cluster

There are also three zocalo wrapper scripts that can be run on an HPC cluster. These perform 2D classification, 3D classification and 3D refinement using Relion.

Running services using zocalo

The services in this package are run using zocalo and python-workflows. To start a service run the zocalo.service command and specify the service name. For example, to start a motion correction service:

$ zocalo.service -s MotionCorr

Once started, these services will initialise and then wait for messages to be sent to them. Messages are sent through a message broker, currently RabbitMQ is supported using pika transport in python-workflows. Individual processing stages can be run by sending a dictionary of the parameters, but the processing pipelines are designed to run through recipes.

A recipe is a specication of a series of steps to carry out, and how these steps interact with each other. Recipes for the current processing pipelines are provided in the recipes folder.

To run a recipe in python a dictionary needs to be provided consisting of the recipe name and the parameters expected by the recipe. The following snippet shows an example of the setup needed. This will send a message to a running Dispatcher service which prepares the recipe for the processing services.

import workflows.transport.pika_transport as pt

example_message = {
    "recipes": ["em-tomo-align"],
    "parameters": {
        "path_pattern": "micrograph_*.mrc",
        "pix_size": "1",
        ...
    },
}

transport = pt.PikaTransport()
transport.connect()
transport.send("processing_recipe", example_message)

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

cryoemservices-0.6.1.tar.gz (119.7 kB view details)

Uploaded Source

Built Distribution

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

cryoemservices-0.6.1-py3-none-any.whl (154.6 kB view details)

Uploaded Python 3

File details

Details for the file cryoemservices-0.6.1.tar.gz.

File metadata

  • Download URL: cryoemservices-0.6.1.tar.gz
  • Upload date:
  • Size: 119.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for cryoemservices-0.6.1.tar.gz
Algorithm Hash digest
SHA256 e15c8e4e1e612e57587df1fbd38bcef921d1cfa88abccd58130af495e26ffde7
MD5 7650513a90be2d9473055b591aeba7f6
BLAKE2b-256 61efee0aed32ae285f3bbc5ce4a34c3d090822c700998e329395ceb2b7568a42

See more details on using hashes here.

Provenance

The following attestation bundles were made for cryoemservices-0.6.1.tar.gz:

Publisher: publish-version.yml on DiamondLightSource/cryoem-services

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

File details

Details for the file cryoemservices-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: cryoemservices-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 154.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for cryoemservices-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 055222d4b9bf82e7784e2763cedd92976cf6e8f011d551dc9c804fd10c00fcda
MD5 6a51539ff999572666950d1a84ccf93c
BLAKE2b-256 c100ad65963e4ef251e39220022e56bdc7e76b615208bca23646bde78c31a34f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cryoemservices-0.6.1-py3-none-any.whl:

Publisher: publish-version.yml on DiamondLightSource/cryoem-services

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