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.mzph.cn/news/723966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产嵌入式DSP教学实验箱_操作教程:22-AD采集DA输出实验(采集输出正弦波)

一、实验目的 掌握EMIFA、SPI的使用,了解AD7606、AD5724的芯片特性和使用,并实现基于AD7606采集、AD5724输出正弦波。 二、实验原理 StarterWare StarterWare是一个免费的软件开发包,它包含了示例应用程序。StarterWare提供了一套完整的G…

代码随想录刷题笔记-Day30

1. 解数独 37. 解数独https://leetcode.cn/problems/sudoku-solver/ 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x…

打动HR的秘密武器:四款在线简历制作网站,让你脱颖而出!

如果你想找到一份好工作,你必须先写一份优秀的工作。在这个人力资源部承认一天要看数百份简历的时代,求职者需要一份优秀的简历才能脱颖而出,获得面试机会。 现实中,很多人往往无法设计出满意的简历,所以他们甚至没有…

人工智能-飞桨

文章目录 概要安装零基础教程基础知识小结 概要 集核心框架、基础模型库、端到端开发套件、丰富的工具组件于一体的深度学习平台 官方入口 安装 python安装 python官方下载 PaddlePaddle安装 python -m pip install paddlepaddle2.6.0 -i https://mirror.baidu.com/pypi/s…

上位机图像处理和嵌入式模块部署(qmacvisual三个特色)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 了解了qmacvisual的配置之后,正常来说,我们需要了解下不同插件的功能是什么。不过我们不用着急,可以继续学习下…

MySQL数据库技术(二)

MySQL数据库技术(1X) 定义表的时候,需要确定每个字段的数据类型。MySQL 支持多种数据类型, 大致可以分为三类:数值类型、日期/时间类型和字符串类型。 数值类型 数值类型包括 5 种整数、2 种浮点数和 1 种定点数&a…

Java 实现国网698协议,帧头、数据帧校验算法

最近在做电表测试相关软件,开发过程需要学习698协议,网上关于698协议的资料很少。此文记录一下协议中关于帧头和整帧校验码算法,Java代码如下: public class Test {public static void main(String[] args) {//定义一个字节数据用…

跨境电商选品API商品采集API接入指南

选品是每个电商卖家的必经之路,产品的好坏将直接决定店铺的盈利、发展方向。选择合适的产品可以让卖家事半功倍,快速爆单。 用API实现代购系统和1688淘宝等平台的商品信息对接,可以免去很多选品工作。 item_get 获得淘宝商品详情item_get_p…

在vue3中使用el-tree-select做一个树形下拉选择器

el-tree-select是一个含有下拉菜单的树形选择器,结合了 el-tree 和 el-select 两个组件的功能。 因为包含了el-tree的功能,我们可以自定义tree的节点,创造出想要的组件 使用default插槽可以自定义节点内容,它的default插槽相当于…

Day19:信息打点-红蓝队自动化项目资产侦察武器库部署企查产权网络空间

目录 各类红蓝队优秀工具项目集合 自动化-武器库部署-F8x 自动化-网络空间-AsamF 自动化-企查信息-ENScan 自动化-综合架构-ARL&Nemo 思维导图 章节知识点 Web:语言/CMS/中间件/数据库/系统/WAF等 系统:操作系统/端口服务/网络环境/防火墙等 应…

高中数学:单调奇偶综合(较难)

一、奇偶性扩展 1、普通轴对称函数 要会根据抽象函数的关系,找出对称轴 简便记法:纵相等,对称轴 2、普通中心对称函数 要会找出对称中心点坐标 简便记法:纵和定,中心点 二、题型汇总 解题方法 抽象函数 1、…

如果不使用管理器,星露谷如何安装模组

Mac、Linux、安卓系统建议阅读官方WIKI 如果你没有特殊的需求,可以使用小火星露谷管理器一键安装模组 https://smallfire.cn 1. 什么是模组? 扩展或修改游戏的文件。可以改变游戏。功能如下: 扩展游戏内容,比如添加额外的游戏…

C++ 多态的概述

文章目录 1、概念2、引入3、使用基类指针、引用 访问 子类对象中的成员方法(虚函数)4、基类指针作为函数的参数 函数可以操作该基类派生出的任意子类对象 1、概念 多态是c的特征之一 多态的分类:静态多态(静态联编)、…

Android Studio开发(二) 常用布局

1、概述 在Android Studio中,布局方式指的是用于定义和排列界面元素(如按钮、文本框、图片等)的方式。Android应用的界面通常由多个视图组件组成,而布局方式则确定了这些视图组件在屏幕上的位置、大小和相互关系。 适应不同屏幕尺…

时钟显示 html JavaScript

sf.html <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>时间</title><script>function showTime(){var timenew Date();var datetime.getDate();var yeartime.getFullYear();var monthtime.getMonth()1;var …

Tailscale中继服务derper使用docker-compose部署

docker启动 docker run --restart always \--name derper -p 12345:12345 -p 3478:3478/udp \-v /root/.acme.sh/xxxx/:/app/certs \-e DERP_CERT_MODEmanual \-e DERP_ADDR12345 \-e DERP_DOMAINxxxx \-d ghcr.io/yangchuansheng/derper:latestdocker-compose启动 version: …

vue3中的生命周期有哪些和怎么使用?

目录 前言&#xff1a; 正文&#xff1a; 总结: 前言&#xff1a; Vue.js 3是Vue.js框架的最新主要版本&#xff0c;引入了一些重大的改变和增强。在Vue 3中&#xff0c;由于Composition API的引入&#xff0c;生命周期钩子被替换为生命周期函数。 正文&#xff1a; 以下是…

Golang的Channel源码阅读、工作流程分析。

Channel整体结构 源码位置 位于src/runtime下的chan.go中。 Channel整体结构图 图源&#xff1a;https://i6448038.github.io/2019/04/11/go-channel/ Channel结构体 type hchan struct {qcount uint // total data in the queuedataqsiz uint // si…

lightGBM的学习整理

执行步骤 1、初始化&#xff0c;选择一个初始模型&#xff0c;通常是一个常数&#xff0c;比如分类问题中内的类别概率的先验值&#xff0c;回归问题中的目标变量的平均值。 2、训练决策树&#xff0c;对于每一轮迭代&#xff0c;计算当前模型的梯度&#xff08;损失函数的负…

外汇天眼:投其所好精设“杀猪盘”!假冒平台诈骗360万!

近年来&#xff0c;愈来愈多民众有感于物价急速上涨&#xff0c;为了避免因为通胀而导致资产持续缩水&#xff0c;纷纷开始寻找可以获利的投资机会&#xff0c;没想到却因此落入诈骗集团的陷阱&#xff0c;蒙受极大的财务损失。 最近外汇天眼就收到一位受害者针对IMX的爆料&…