跳转到主要内容

MRC文件I/O库

项目描述

Build Status Documentation Python Versions Python Package Index conda-forge

mrcfile 是一个Python实现的 MRC2014文件格式,该格式在结构生物学中用于存储图像和体积数据。

它允许使用非常简单的API轻松创建和打开MRC文件,该API将文件的头部和数据公开为 numpy 数组。该代码在Python 2和3上运行,并经过完全的单元测试。

该库旨在使用户和开发者能够尽可能容易地在Python中读取和写入符合标准的MRC文件,且不依赖于任何编译库(除了 numpy)。您可以交互式地使用它来检查文件、更正头部等,或者在脚本和更大的软件包中提供基本的MRC文件I/O功能。

主要功能

  • 用于访问MRC文件的干净、简单API

  • 易于安装和使用

  • 根据MRC2014格式验证文件

  • 无缝支持gzip和bzip2文件

  • 内存映射文件选项,用于快速随机访问非常大的文件

  • 异步打开选项,用于后台加载多个文件

  • 在Python 2 & 3、Linux、Mac OS X和Windows上运行

安装

mrcfile 库可以从Python 包索引获取。

pip install mrcfile

或者从conda-forge获取。

conda install --channel conda-forge mrcfile

它还包括在 CCP-EM 软件套件中的 ccpem-python 环境中。

源代码(包括完整的测试套件)可以在GitHub上找到。

基本用法

打开文件最简单的方法是使用 mrcfile.openmrcfile.new 函数。这些函数返回一个代表磁盘上的 MRC 文件的 MrcFile 对象。

要打开 MRC 文件并读取数据切片

>>> import mrcfile
>>> with mrcfile.open('tests/test_data/EMD-3197.map') as mrc:
...     mrc.data[10,10]
...
array([ 2.58179283,  3.1406002 ,  3.64495397,  3.63812137,  3.61837363,
        4.0115056 ,  3.66981959,  2.07317996,  0.1251585 , -0.87975615,
        0.12517013,  2.07319379,  3.66982722,  4.0115037 ,  3.61837196,
        3.6381247 ,  3.64495087,  3.14059472,  2.58178973,  1.92690361], dtype=float32)

要创建一个新的文件,其中包含 2D 数据数组,并更改一些值

>>> array = np.zeros((5, 5), dtype=np.int8)
>>> with mrcfile.new('tmp.mrc') as mrc:
...     mrc.set_data(array)
...     mrc.data[1:4,1:4] = 10
...     mrc.data
...
array([[ 0,  0,  0,  0,  0],
       [ 0, 10, 10, 10,  0],
       [ 0, 10, 10, 10,  0],
       [ 0, 10, 10, 10,  0],
       [ 0,  0,  0,  0,  0]], dtype=int8)

文件关闭时,数据将被保存到磁盘,无论是自动地在 with 块结束时(就像一个正常的 Python 文件对象)还是通过调用 close() 手动。您还可以调用 flush() 将任何更改写入磁盘并保持文件打开。

要验证 MRC 文件

>>> mrcfile.validate('tests/test_data/EMD-3197.map')
File does not declare MRC format version 20140 or 20141: nversion = 0
False

>>> mrcfile.validate('tmp.mrc')
True

文档

完整文档可在 Read the Docs 上找到。

引用 mrcfile

如果您在工作中发现 mrcfile 有用,请引用

Burnley T, Palmer C & Winn M (2017) Recent developments in the CCP-EM software suite. Acta Cryst. D73:469–477. doi: 10.1107/S2059798317007859

贡献

请使用GitHub 问题跟踪器提交错误报告和功能请求,或给 CCP-EM 发送电子邮件

也欢迎代码贡献,请将拉取请求提交到GitHub 仓库

要运行测试套件,请转到顶级项目目录(其中包含 mrcfiletests 包),然后运行 python -m unittest tests。(或者,如果您已安装 tox,则运行 tox。)

许可

该项目采用 BSD 许可证发布。

项目详细信息


下载文件

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

源分发

mrcfile-1.5.3.tar.gz (57.5 kB 查看哈希值)

上传时间

构建分发

mrcfile-1.5.3-py2.py3-none-any.whl (44.8 kB 查看哈希值)

上传时间: Python 2 Python 3

由以下支持