当前位置: 首页 > news >正文

CryoEM - CryoAI: Amortized Inference of Poses 工程源码复现

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://blog.csdn.net/caroline_wendy/article/details/136384544

Paper: CryoAI: Amortized Inference of Poses for Ab Initio Reconstruction of 3D Molecular Volumes from Real Cryo-EM Images

  • CryoAI: 基于摊销推理(Amortized Inference) 的姿态估计用于从真实冷冻电镜图像中进行三维分子体积的初步重构

发表于 ECCV 2022,作者:Axel Levy,Stanford University

CryoAI的主要内容是,用于同质构象的初步重构算法,该算法使用直接的基于梯度的优化方法,来估计单粒子冷冻电镜数据中的分子姿态和电子散射势。CryoAI结合可学习的编码器,用于预测每个粒子图像的姿态,以及物理的解码器,用于将每个粒子图像聚合到一个隐式的散射势体积的表示中。这个体积是以傅里叶域的形式存储的,以提高计算效率,并利用了一个现代的坐标网络架构,以提高内存效率。结合了一个对称化的损失函数,这个框架在模拟和实验数据上,都达到了与现有的冷冻电镜求解器相当的质量,而且在大数据集上的速度快了一个数量级,且内存需求比现有方法低得多。

摊销推理 (Amortized Inference) 是一种利用机器学习模型来预测优化问题的解的技术,从而避免每次都要求解复杂的优化问题。CryoAI在每次迭代中直接更新姿态和体积,而不需要计算每个粒子图像的后验分布,从而节省了大量的计算时间和内存空间,提高冷冻电镜三维重构的速度和效率。

AI

GitHub: https://github.com/compSPI/cryoAI

配置环境,比较简单,Python 环境使用 3.7,即可:

conda create -n cryoai python=3.7
pip install -r requirements.txt

依次安装 Python 包,即可。

注意:PyTorch 建议使用 1.13 + 的版本,例如1.13.0 + CUDA 11.6,因为最新 CUDA 环境不兼容较低版本,即:

pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116bypy downfile /pytorch-pip-pkg/torch-1.13.0+cu116-cp37-cp37m-linux_x86_64.whl torch-1.13.0+cu116-cp37-cp37m-linux_x86_64.whl
bypy downfile /pytorch-pip-pkg/torchvision-0.14.0+cu116-cp37-cp37m-linux_x86_64.whl torchvision-0.14.0+cu116-cp37-cp37m-linux_x86_64.whl

训练数据,使用 Ribosome 10028,即可

  • 参考 冷冻电镜 EMPIAR 数据集的下载过程

需要注意的是,构建训练集的过程中,需要数据的角度信息,使用 CryoSparc 进行额外估计,即,需要完成 Ab-Initio蛋白质结构重构蛋白质结构Refinement,这两步操作,注意步骤 蛋白质结构Refinement 只需要执行1轮,终止,即可预估出角度。

  • 参考 使用 cryoSPARC 基于单颗粒图像从头重构蛋白质三维结构

Job 输出数据格式如下:

├── P1_J6_mask.csg
├── P1_J6_particles.csg
├── P1_J6_passthrough_particles.cs
├── P1_J6_volume.csg
├── cryosparc_P1_J6_000_particles.cs
├── cryosparc_P1_J6_000_volume_map.cs
├── cryosparc_P1_J6_000_volume_map.mrc
├── cryosparc_P1_J6_000_volume_map_half_A.cs
├── cryosparc_P1_J6_000_volume_map_half_A.mrc
├── cryosparc_P1_J6_000_volume_map_half_B.cs
├── cryosparc_P1_J6_000_volume_map_half_B.mrc
├── cryosparc_P1_J6_000_volume_map_sharp.cs
├── cryosparc_P1_J6_000_volume_map_sharp.mrc
├── cryosparc_P1_J6_000_volume_mask_fsc.cs
├── cryosparc_P1_J6_000_volume_mask_fsc.mrc
├── cryosparc_P1_J6_000_volume_mask_refine.cs
├── cryosparc_P1_J6_000_volume_mask_refine.mrc
├── events.bson
├── gridfs_data
│   └── gridfsdata_0
├── job.json
└── job.log

使用 pyem 构建数据集的 star 文件,参考

http://www.lryc.cn/news/309556.html

相关文章:

  • 项目预备知识
  • redis实战笔记汇总
  • elment-ui table表格排序后 清除排序箭头/恢复默认排序 的高亮样式
  • MySQL数据库基本操作(二)
  • Unity(第十部)时间函数和文件函数
  • 【Java学习笔记】
  • Python列表生成式你学会了吗
  • 【Mybatis】快速入门 基本使用 第一期
  • 在 Rust 中实现 TCP : 1. 联通内核与用户空间的桥梁
  • STM32-ADC一步到位学习手册
  • 【文件管理】关于上传下载文件的设计
  • 微服务架构 SpringCloud
  • 前端 css 实现标签的效果
  • SLAM基础知识-卡尔曼滤波
  • 云时代【6】—— 镜像 与 容器
  • 【QT+QGIS跨平台编译】之五十三:【QGIS_CORE跨平台编译】—【qgssqlstatementparser.cpp生成】
  • JMeter性能测试基本过程及示例
  • 你知道什么是回调函数吗?
  • mac苹果电脑c盘满了如何清理内存?2024最新操作教程分享
  • k8s-kubeapps图形化管理 21
  • 1_Springboot(一)入门
  • Docker Machine简介
  • GWO优化高斯回归预测(matlab代码)
  • LaTeX-设置图像与表格位置
  • STM32 DMA入门指导
  • mysql根据指定顺序返回数据--order by field
  • IEEE SGL与NVMe SGL的区别?
  • struct内存对齐
  • 探索Redis 6.0的新特性
  • 关于CSS中定位的教程