跳转到主要内容

冷冻电子显微镜处理服务

项目描述

cryoem-services

冷冻电子显微镜管道的服务和配置。

本软件包包含一系列用于处理冷冻电镜(cryo-EM)显微图像的服务,包括单粒子分析和断层扫描,并支持多种常用的冷冻电镜处理软件。这些服务可以独立运行处理数据,也可以作为更大结构的一部分,在显微镜采集过程中进行实时分析。对于实时分析,该软件包集成了用于传输和监控收集数据的服务包Murfey,以及用于存储处理结果的数据库ISPyB

要运行这些服务,必须安装所调用的软件可执行文件。这些可执行文件不包括在本软件包中。

断层扫描处理

断层扫描处理流程包括

  • 运动校正
  • CTF估计
  • 断层图对齐
  • 使用Topaz进行断层图去噪
  • 使用membrain-seg进行分割

此处理的结果可以用Relion 5.0打开和继续。

单粒子分析

单粒子分析流程生成一个项目,可以使用CCP-EM doppioRelion打开和继续。

处理流程包括

  • 运动校正
  • CTF估计
  • 粒子选择
  • (可选)冰层厚度估计
  • 粒子提取和重新分批
  • 使用Relion进行二维分类
  • 使用Relion进行自动二维类别选择
  • 使用Relion进行三维分类
  • 三维精修和后处理
  • 通过改变粒子数量进行精修的BFactor估计

当前可用的服务

以下服务用于运行流程

  • 实用服务
    • ClusterSubmission:将zocalo包装器提交到HPC集群
    • Dispatcher:将配方转换为适合处理服务的消息
    • Images:创建缩略图以查看处理结果
    • ISPyB:将结果插入ISPyB数据库
    • NodeCreator:为运行的服务创建Relion项目文件
  • 处理服务
    • BFactor:进行具有不同粒子数量的三维精修的设置
    • CrYOLO:使用crYOLO在显微图像上进行粒子选择
    • CTFFind:使用CTFFIND4在显微图像上进行CTF估计
    • DenoiseSlurm:使用Topaz进行断层图去噪,提交到slurm HPC集群
    • Extract:从显微图像中提取选择的粒子
    • ExtractClass:从给定的3D类别中提取粒子
    • IceBreaker:使用IceBreaker进行冰层厚度估计
    • MembrainSeg:使用membrain-seg进行断层图分割,提交到slurm HPC集群
    • MotionCorr:使用MotionCor2Relion对显微图像进行运动校正,可选地提交到slurm HPC集群
    • PostProcess:使用Relion进行三维精修的后处理
    • SelectClasses:使用Relion运行自动二维类别选择,并将这些类别的粒子重新分批
    • SelectParticles:创建列出提取粒子批次的文件
    • TomoAlign:使用imodAreTomo2从显微图像列表进行断层图重建
    • TomoAlignSlurm:将断层图对齐处理提交到slurm HPC集群

还有三个可以在HPC集群上运行的zocalo包装器脚本。这些脚本使用Relion执行二维分类、三维分类和三维精修。

使用zocalo运行服务

本包中的服务使用 zocalopython-workflows 运行。要启动一个服务,请运行 zocalo.service 命令并指定服务名称。例如,要启动运动校正服务

$ zocalo.service -s MotionCorr

启动后,这些服务将初始化并等待接收消息。消息通过消息代理发送,目前支持使用 python-workflows 中的 pika 传输使用 RabbitMQ。可以通过发送参数字典来运行单个处理阶段,但处理管道是通过配方设计的。

配方是一系列要执行的步骤的规范以及这些步骤如何相互交互。当前处理管道的配方提供在 recipes 文件夹中。

在 Python 中运行配方需要一个包含配方名称和配方期望的参数的字典。以下代码片段显示了所需的设置。这将向正在运行的 Dispatcher 服务发送消息,该服务为处理服务准备配方。

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)

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

cryoemservices-0.5.1.tar.gz (108.9 kB 查看哈希值)

上传时间

构建分布

cryoemservices-0.5.1-py3-none-any.whl (141.6 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面