MRC文件I/O库
项目描述
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.open 和 mrcfile.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 仓库。
要运行测试套件,请转到顶级项目目录(其中包含 mrcfile 和 tests 包),然后运行 python -m unittest tests。(或者,如果您已安装 tox,则运行 tox。)
许可
该项目采用 BSD 许可证发布。
项目详细信息
下载文件
下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源分发
构建分发
mrcfile-1.5.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3f304c02cb9f0900b26683679c5d3d750da64b5c370b58d69af8a8ddf720c0ce |
|
MD5 | 3b2185baea12415fde9b3a179d8c55bd |
|
BLAKE2b-256 | 253aab44bfb0417065526996e92c49a4b2727152d49cdbb212a907a5e871f3d1 |
mrcfile-1.5.3-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fbf2b5583afae38656343f2d6bac67d85e0e798b2fd608be63ecd2758cd67c61 |
|
MD5 | bfd76736310c829841495466644f9e16 |
|
BLAKE2b-256 | 9fc6cdc67e91c1cac23dd788ebe487d09a61206018bc0a71d576a69603bc91c2 |