From e63950080a5c56307087a37431cba073dd770e46 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Dec 2021 18:20:24 -0700 Subject: [PATCH 1/5] use mrcfile library for MRC/CCP4 file parsing - fix #83 - use mrcfile https://github.com/ccpem/mrcfile (light-weight dependency) for file parsing - new mrc module; functionality replaces CCP4 module - keep CCP4 module for one release cycle - add docs for MRC - tests for mrc - basic tests (copied from CCP4 tests) - test mrc ValueError for triclinic boxes with EMD 3001 - test direct file init and read() on empty class - test almost all header elements for MRC/CCP4 --- .github/workflows/gh-ci.yaml | 2 +- CHANGELOG | 15 +++ doc/source/gridData/formats.rst | 5 +- doc/source/gridData/formats/mrc.rst | 2 + gridData/core.py | 14 +-- gridData/mrc.py | 135 ++++++++++++++++++++++ gridData/tests/datafiles/EMD-3001.map.bz2 | Bin 0 -> 172553 bytes gridData/tests/datafiles/__init__.py | 2 + gridData/tests/test_ccp4.py | 5 +- gridData/tests/test_mrc.py | 97 ++++++++++++++++ setup.py | 2 +- 11 files changed, 267 insertions(+), 12 deletions(-) create mode 100644 doc/source/gridData/formats/mrc.rst create mode 100644 gridData/mrc.py create mode 100644 gridData/tests/datafiles/EMD-3001.map.bz2 create mode 100644 gridData/tests/test_mrc.py diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index 46f341c..8a37f9a 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -49,7 +49,7 @@ jobs: - name: install package deps run: | - mamba install numpy scipy pytest pytest-cov codecov six + mamba install numpy scipy mrcfile six pytest pytest-cov codecov - name: check install run: | diff --git a/CHANGELOG b/CHANGELOG index e3a7805..250244f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,6 +13,21 @@ The rules for this file: * accompany each entry with github issue/PR number (Issue #xyz) ------------------------------------------------------------------------------ +??/??/2022 orbeckst + + * 0.7.0 + + Enhancements + + * use mrcfile library to parse MRC files (including CCP4) using the + new mrc.MRC class (issue #83) + + Deprecations + + * The CCP4 module will be removed in 0.8.0 and files will only be + read with mrc. + + 10/10/2021 eloyfelix, renehamburger1993, lilyminium, jvermaas, xiki-tempula, IAlibay, orbeckst diff --git a/doc/source/gridData/formats.rst b/doc/source/gridData/formats.rst index baa642e..f6de7d0 100644 --- a/doc/source/gridData/formats.rst +++ b/doc/source/gridData/formats.rst @@ -27,7 +27,7 @@ small number of file formats is directly supported. ============================ ========== ========= ===== ===== ========================================= :mod:`~gridData.OpenDX` OpenDX_ dx x x subset of OpenDX implemented :mod:`~gridData.gOpenMol` gOpenMol_ plt x - :mod:`~gridData.CCP4` CCP4_ ccp4 x subset implemented + :mod:`~gridData.mrc` CCP4_ ccp4,mrc x subset implemented :class:`~gridData.core.Grid` pickle pickle x x standard Python pickle of the Grid class ============================ ========== ========= ===== ===== ========================================= @@ -38,7 +38,7 @@ small number of file formats is directly supported. .. _Chimera: https://www.cgl.ucsf.edu/chimera/ .. _OpenDX: http://www.opendx.org/ .. _gOpenMol: http://www.csc.fi/gopenmol/ -.. _CCP4: http://www.ccp4.ac.uk/html/maplib.html#description +.. _CCP4: http://www.ccpem.ac.uk/mrc_format/mrc2014.php Format-specific modules @@ -49,4 +49,5 @@ Format-specific modules formats/OpenDX formats/gOpenMol + formats/mrc formats/CCP4 diff --git a/doc/source/gridData/formats/mrc.rst b/doc/source/gridData/formats/mrc.rst new file mode 100644 index 0000000..352f040 --- /dev/null +++ b/doc/source/gridData/formats/mrc.rst @@ -0,0 +1,2 @@ +.. automodule:: gridData.mrc + :members: diff --git a/gridData/core.py b/gridData/core.py index a9dbc54..8ab4423 100644 --- a/gridData/core.py +++ b/gridData/core.py @@ -40,7 +40,7 @@ from . import OpenDX from . import gOpenMol -from . import CCP4 +from . import mrc def _grid(x): @@ -123,7 +123,8 @@ def __init__(self, grid=None, edges=None, origin=None, delta=None, 'PYTHON': self._export_python, # compatibility } self._loaders = { - 'CCP4': self._load_cpp4, + 'CCP4': self._load_mrc, + 'MRC': self._load_mrc, 'DX': self._load_dx, 'PLT': self._load_plt, 'PKL': self._load_python, @@ -471,11 +472,10 @@ def _load_python(self, filename): edges=saved['edges'], metadata=saved['metadata']) - def _load_cpp4(self, filename): - """Initializes Grid from a CCP4 file.""" - ccp4 = CCP4.CCP4() - ccp4.read(filename) - grid, edges = ccp4.histogramdd() + def _load_mrc(self, filename): + """Initializes Grid from a MRC/CCP4 file.""" + mrcfile = mrc.MRC(filename) + grid, edges = mrcfile.histogramdd() self._load(grid=grid, edges=edges, metadata=self.metadata) def _load_dx(self, filename): diff --git a/gridData/mrc.py b/gridData/mrc.py new file mode 100644 index 0000000..c9ae82f --- /dev/null +++ b/gridData/mrc.py @@ -0,0 +1,135 @@ +# gridDataFormats --- python modules to read and write gridded data +# Copyright (c) 2009-2021 Oliver Beckstein +# Released under the GNU Lesser General Public License, version 3 or later. +# + +""":mod:`mrc` --- the mrc/CCP4 volumetric data format +=================================================== + +.. versionadded:: 0.7.0 + +Reading of MRC/CCP4 volumetric files (`MRC2014 file format`_) using +the mrcfile_ library [Burnley2017]_. + +This implementation replaces the :mod:`CCP4` module. + +.. _mrcfile: https://mrcfile.readthedocs.io/ +.. _`MRC2014 file format`: http://www.ccpem.ac.uk/mrc_format/mrc2014.php + + +References +---------- + +.. [Burnley2017] Burnley T, Palmer C and Winn M (2017) Recent + developments in the CCP-EM software suite. *Acta + Cryst.* D73:469–477. doi: `10.1107/S2059798317007859`_ + + +.. _`10.1107/S2059798317007859`: https://doi.org/10.1107/S2059798317007859 +Classes +------- + +""" +from __future__ import absolute_import +from six.moves import range + +import warnings + +import numpy as np +import mrcfile + + +class MRC(object): + """Represent a MRC/CCP4 file. + + Load `MRC/CCP4 2014 `_ 3D volumetric data with + the mrcfile_ library. + + Parameters + ---------- + filename : str (optional) + input file (or stream), can be compressed + + + Attributes + ---------- + header : numpy.recarray + Header data from the MRC file as a numpy record array. + + array : numpy.ndarray + Data as a 3-dimensional array where axis 0 corresponds to X, + axis 1 to Y, and axis 2 to Z. This order is always enforced, + regardless of the order in the mrc file. + + delta : numpy.ndarray + Diagonal matrix with the voxel size in X, Y, and Z direction + (taken from the :attr:`mrcfile.mrcfile.voxel_size` attribute) + + origin : numpy.ndarray + numpy array with coordinates of the coordinate system origin + (taken from :attr:`header.origin`) + + rank : int + The integer 3, denoting that only 3D maps are read. + + + Notes + ----- + * Only volumetric (3D) densities are read. + * Only orthorhombic unitcells supported (other raise :exc:`ValueError`) + * Only reading is currently supported. + + + .. versionadded:: 0.7.0 + + """ + + def __init__(self, filename=None): + self.filename = filename + if filename is not None: + self.read(filename) + + def read(self, filename): + """Populate the instance from the MRC/CCP4 file *filename*.""" + if filename is not None: + self.filename = filename + with mrcfile.open(filename) as mrc: + if not mrc.is_volume(): #pragma: no cover + raise ValueError( + "MRC file {} is not a volumetric density.".format(filename)) + self.header = h = mrc.header.copy() + # check for being orthorhombic + if not np.allclose([h.cellb.alpha, h.cellb.beta, h.cellb.gamma], + [90, 90, 90]): + raise ValueError("Only orthorhombic unitcells are currently " + "supported, not " + "alpha={0}, beta={1}, gamma={2}".format( + h.cellb.alpha, h.cellb.beta, h.cellb.gamma)) + # mrc.data[z, y, x] indexed: convert to x,y,z as used in GridDataFormats + self.array = np.transpose(mrc.data) + self.delta = np.diag([mrc.voxel_size.x, mrc.voxel_size.y, mrc.voxel_size.z]) + self.origin = np.array([h.origin.x, h.origin.y, h.origin.z]) + self.rank = 3 + + @property + def shape(self): + """Shape of the :attr:`array`""" + return self.array.shape + + @property + def edges(self): + """Edges of the grid cells, origin at centre of 0,0,..,0 grid cell. + + Only works for regular, orthonormal grids. + """ + # TODO: Add triclinic cell support. + return [self.delta[d, d] * np.arange(self.shape[d] + 1) + + self.origin[d] - 0.5 * self.delta[d, d] + for d in range(self.rank)] + + def histogramdd(self): + """Return array data as (edges,grid), i.e. a numpy nD histogram.""" + return (self.array, self.edges) + + + diff --git a/gridData/tests/datafiles/EMD-3001.map.bz2 b/gridData/tests/datafiles/EMD-3001.map.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..76e07e6112e8203532805774b72a0258adefcd91 GIT binary patch literal 172553 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 =d7{Kr34Zk!JT*T9V7)H~ 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[WS18qMf~?(u^z4<{GAtU_6nj zSq=KqBU(@u0vmv%+fefI-6U3S4(KvUnyti4+KBFx$}DQJ>%VHRBd`eMqtdObo%|Hv zNk&i;@FIG4JiDRZda}E~3Xx|SHtISW))VX&H{$EP0grRF{N0GStgLOqtWNbHAE=CV zw(CsP5{6+Yf>ZEb0&KU^4?9QwG&b4U3DB-KWP{z`M(u!B?LOTN&`XM<>J$>`sMyEU z-)+3g@@2tr06^39bJTSlODRdnjnk3L=!^Bm_zJzsOlKi=De1)VaIZb4Gn1zg13c+~ z)(Hy5$ypM4a1WTCHJ4v*(CHSf_`@NFmF?uwu&VIyI-rZVUB5|YqpRp$YxOVl#ZHWu z3K_$F=&B>*#6AN+e?GV=Y$xYPYA|o`%uu7faZ@jP=rAEHyGy zjlxEhuQfqlt=L*lyy=um7Iroxi?%8_J;|+?;D=RXb>5cQqYvgpF^Mkd`Yp0Q-0|=J zoRqW3B=rm*J+fZx2t^?auuex835Us-AN@+50zS#qX;+=;!RbYMRVTwJo}TbA4LRH+ zZMB3c&GPgRBvhJ~4a;I0ylS|$ZM6pnHpgAaDIORcUP|{77BHcZ!Pa(Rb zgWMvXDrwy$*IGGGsU4Ay`Zz#g%-F{)?Y+Gc;h20EemNcoYG{A{*5cbyy3x*_ZsZ|H zdi6?kF>SO?X)Yayf$a@UbM$`v7u9@${M{Kn6CWBH7l-{#HQ03(*y5`Y2BFM*m39D- z?fm1V1$0eK%$t4+KT!SlVv#`)m^C6H*N2S_yq z2x&qh%tUV&2snFrmD4ma8~MZCDtk){sXC(|=zgA6B|6nepcLJu`{HIM)O_iatBd_k zcFg`c`tB9Y%kkUjQhoiLZ?^43gCsybut{D1GAHcRIP&5KzD<3`vwT$)h$w>kda^VX z`$-h}ds0UpI%Va>^x!5t{`&73b3tEg{qYY|&TRl!;OWJyp9rvp4sJ{3vHa%i502+^ zx9SPY@(iYaPv?p9TUL3|KA6CXO`1#rIF4vOCBdFv$DM>BfP2G!TA+qxvIeLl2kVyX z+L*rDwu^``oKG2mX#8PT+j1?xfg~ng!SrA{dUu63QpTl`$od_hKwdTxx}m|MSiO#Ah!=&>zsQn ztY=y@BfsPTE{6m|q!8*YeXPz`UX=%bhsL@twRBn9>+ad+9O_m}4*Va6&cd$=t&QWa z_lio(MhS?Q(W8+rFDZ;38x2as=uY(tj4{#yqd`Y+qhWMNcXvy-AgPG@@-Ljv=bYy} z&+mJ_2S+ME{`l5ut6pWgXyfFR5joZN)?=cj`LfaUoDp?R(RbJA8C8V2EnWM0-uvC= z59$QYavNm^cn(kxWLny&|M#v!vR#<=p4}UL**`g)p>}KMpG

q1O&-}22ssLs@- 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 literal 0 HcmV?d00001 diff --git a/gridData/tests/datafiles/__init__.py b/gridData/tests/datafiles/__init__.py index e38acf1..d759d01 100644 --- a/gridData/tests/datafiles/__init__.py +++ b/gridData/tests/datafiles/__init__.py @@ -10,6 +10,8 @@ # from http://www.ebi.ac.uk/pdbe/coordinates/files/1jzv.ccp4 # (see issue #57) CCP4_1JZV = resource_filename(__name__, '1jzv.ccp4') +# from https://github.com/ccpem/mrcfile/blob/master/tests/test_data/EMD-3001.map.bz2 +MRC_EMD3001 = resource_filename(__name__, 'EMD-3001.map.bz2') # water density around M2 TM helices of nAChR from MD simulations # [O. Beckstein and M. S. P. Sansom. Physical Biology 3(2):147-159, 2006] gOpenMol = resource_filename(__name__, 'nAChR_M2_water.plt') diff --git a/gridData/tests/test_ccp4.py b/gridData/tests/test_ccp4.py index 5bebf28..9790122 100644 --- a/gridData/tests/test_ccp4.py +++ b/gridData/tests/test_ccp4.py @@ -12,7 +12,10 @@ @pytest.fixture(scope="module") def g(): - return Grid(datafiles.CCP4) + ccp4 = CCP4.CCP4() + ccp4.read(datafiles.CCP4) + grid, edges = ccp4.histogramdd() + return Grid(grid=grid, edges=edges) def test_ccp4(g): POINTS = 192 diff --git a/gridData/tests/test_mrc.py b/gridData/tests/test_mrc.py new file mode 100644 index 0000000..161a8a3 --- /dev/null +++ b/gridData/tests/test_mrc.py @@ -0,0 +1,97 @@ +from __future__ import absolute_import, division + +import pytest + +import numpy as np +from numpy.testing import (assert_almost_equal, + assert_equal) + +from gridData import Grid, mrc + +from . import datafiles + +@pytest.fixture(scope="module") +def g1(): + return Grid(datafiles.CCP4, file_format="MRC") + +@pytest.fixture(scope="module") +def g2(): + data = mrc.MRC() + data.read(datafiles.CCP4) + grid, edges = data.histogramdd() + return Grid(grid=grid, edges=edges) + +def test_ccp4_Grid(g1): + _test_ccp4(g1) + +def test_ccp4_mrc(g2): + _test_ccp4(g2) + +def _test_ccp4(g): + POINTS = 192 + assert_equal(g.grid.flat, np.arange(1, POINTS+1)) + assert_equal(g.grid.size, POINTS) + assert_almost_equal(g.delta, [3./4, .5, 2./3]) + assert_equal(g.origin, np.zeros(3)) + + + +@pytest.fixture(scope="module") +def ccp4data(): + return mrc.MRC(datafiles.CCP4_1JZV) + +@pytest.mark.parametrize('name,value', [ + # nx, ny, nz are named nc, nr, ns in the CCP4 module + ('nx', 96), + ('ny', 76), + ('nz', 70), + ('mode', 2), + ('nxstart', -4), + ('nystart', -23), + ('nzstart', 102), + ('mx', 84), + ('my', 84), + ('mz', 160), + ('cella', np.rec.array((45.8, 45.8, 89.65), + dtype=[('x', '=1.0.3', 'six', 'scipy'], + install_requires=['numpy>=1.0.3', 'six', 'scipy', 'mrcfile'], tests_require=['pytest', 'numpy'], zip_safe=True, ) From c373d92ab9267c4c4289d9ba42b44073a03b4f8c Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Dec 2021 22:54:50 -0700 Subject: [PATCH 2/5] deprecate CCP4 module (remove in 0.8.0) - deprecation warning raised - test for warning - add deprecation to docs --- CHANGELOG | 3 +-- gridData/CCP4.py | 14 ++++++++++++-- gridData/__init__.py | 12 ++---------- gridData/mrc.py | 3 ++- gridData/tests/test_ccp4.py | 9 +++++++-- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 250244f..f63a8c3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -24,8 +24,7 @@ The rules for this file: Deprecations - * The CCP4 module will be removed in 0.8.0 and files will only be - read with mrc. + * The CCP4 module (replaced by mrc) will be removed in 0.8.0. 10/10/2021 eloyfelix, renehamburger1993, lilyminium, jvermaas, xiki-tempula, diff --git a/gridData/CCP4.py b/gridData/CCP4.py index ff9a0ae..9aa499f 100644 --- a/gridData/CCP4.py +++ b/gridData/CCP4.py @@ -6,11 +6,14 @@ # Copyright Science and Technologies Facilities Council, 2015. """ -:mod:`CCP4` --- the CCP4 volumetric data format -=============================================== +:mod:`CCP4` --- the CCP4 volumetric data format (DEPRECATED) +============================================================ .. versionadded:: 0.3.0 +.. deprecated:: 0.7.0 The CCP4 module is replaced by :mod:`gridData.mrc` and + will be removed in 0.8.0. + .. _CCP4: http://www.ccp4.ac.uk/html/maplib.html#description The module provides a simple implementation of a reader for CCP4_ @@ -160,6 +163,9 @@ class CCP4(object): * symmetry records * index ordering besides standard column-major and row-major * non-standard fields, such any in filed in future use block + + .. deprecated:: 0.7.0 + Use :class:`gridData.mrc.MRC` instead. This class will be removed in 0.8.0. """ _axis_map = {1: 'x', 2: 'y', 3: 'z'} @@ -196,6 +202,10 @@ def __init__(self, filename=None): if filename is not None: self.read(filename) + warnings.warn("CCP4.CCP4 is being replaced by mrc.MRC and will be removed " + "in release 0.8.0", + category=DeprecationWarning) + def read(self, filename): """Populate the instance from the ccp4 file *filename*.""" if filename is not None: diff --git a/gridData/__init__.py b/gridData/__init__.py index cdc5f48..b4e064a 100644 --- a/gridData/__init__.py +++ b/gridData/__init__.py @@ -93,16 +93,8 @@ Formats ------- -The following formats are available (:ref:`supported-file-formats`): - - :mod:`~gridData.OpenDX` - IBM's Data Explorer, http://www.opendx.org/ - :mod:`~gridData.gOpenMol` - http://www.csc.fi/gopenmol/ - :mod:`~gridData.CCP4` - CCP4 format http://www.ccp4.ac.uk/html/maplib.html#description - pickle - python pickle file (:mod:`pickle`) +For the available file formats see :ref:`supported-file-formats`. + """ diff --git a/gridData/mrc.py b/gridData/mrc.py index c9ae82f..aaa0234 100644 --- a/gridData/mrc.py +++ b/gridData/mrc.py @@ -22,10 +22,11 @@ .. [Burnley2017] Burnley T, Palmer C and Winn M (2017) Recent developments in the CCP-EM software suite. *Acta - Cryst.* D73:469–477. doi: `10.1107/S2059798317007859`_ + Cryst.* D73:469-477. doi: `10.1107/S2059798317007859`_ .. _`10.1107/S2059798317007859`: https://doi.org/10.1107/S2059798317007859 + Classes ------- diff --git a/gridData/tests/test_ccp4.py b/gridData/tests/test_ccp4.py index 9790122..9a9e614 100644 --- a/gridData/tests/test_ccp4.py +++ b/gridData/tests/test_ccp4.py @@ -12,7 +12,9 @@ @pytest.fixture(scope="module") def g(): - ccp4 = CCP4.CCP4() + with pytest.warns(DeprecationWarning, + match="CCP4.CCP4 is being replaced by mrc.MRC and will be removed"): + ccp4 = CCP4.CCP4() ccp4.read(datafiles.CCP4) grid, edges = ccp4.histogramdd() return Grid(grid=grid, edges=edges) @@ -27,7 +29,10 @@ def test_ccp4(g): @pytest.fixture(scope="module") def ccp4data(): - return CCP4.CCP4(datafiles.CCP4_1JZV) + with pytest.warns(DeprecationWarning, + match="CCP4.CCP4 is being replaced by mrc.MRC and will be removed"): + ccp4 = CCP4.CCP4(datafiles.CCP4_1JZV) + return ccp4 @pytest.mark.parametrize('name,value', [ ('nc', 96), From 508ab8b542681c95837dc1fca4a21f8fcec6257d Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 18 Jan 2022 23:55:47 -0700 Subject: [PATCH 3/5] reorder MRC data according to mapc,mapr,maps - mrcfile stores data in z,y,x format: we use the information of the axis orientation in mapc, mapr. maps to orient the data in the GridDataFormats x,y,z coordinate system - correctly reorient and center coordinates from MRC - fix #76 - add tests - mrcfile only reshapes the data to nz,ny,nx but does not take the mapc, mapr, maps into account. For gridData we need to do the coordinate system reorientation after transposing the mrcfile.data to nx, ny, nz. - add test (using CCP4_1JZV from the test data which contains mapc, mapr, maps = 2, 1, 3 - manually checked 1cbs.ccp4 from issue #76 (also a 2, 1, 3) and orientation is now correct but there is still an offset error that needs to be fixed - update CHANGELOG (and add @tluchko) Co-authored-by: tluchko <31545346+tluchko@users.noreply.github.com> --- CHANGELOG | 9 +++++++-- gridData/mrc.py | 23 +++++++++++++++++++---- gridData/tests/test_mrc.py | 20 ++++++++++++++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f63a8c3..e07dc9f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,15 +13,20 @@ The rules for this file: * accompany each entry with github issue/PR number (Issue #xyz) ------------------------------------------------------------------------------ -??/??/2022 orbeckst +??/??/2022 orbeckst, tluchko - * 0.7.0 + * 0.7.0 Enhancements * use mrcfile library to parse MRC files (including CCP4) using the new mrc.MRC class (issue #83) + Fixes + + * The new mrc module correctly reorients the coordinate system based + on mapc, mapr, maps and correctly calculates the origin (issue #76) + Deprecations * The CCP4 module (replaced by mrc) will be removed in 0.8.0. diff --git a/gridData/mrc.py b/gridData/mrc.py index aaa0234..9c5d634 100644 --- a/gridData/mrc.py +++ b/gridData/mrc.py @@ -107,9 +107,24 @@ def read(self, filename): "alpha={0}, beta={1}, gamma={2}".format( h.cellb.alpha, h.cellb.beta, h.cellb.gamma)) # mrc.data[z, y, x] indexed: convert to x,y,z as used in GridDataFormats - self.array = np.transpose(mrc.data) - self.delta = np.diag([mrc.voxel_size.x, mrc.voxel_size.y, mrc.voxel_size.z]) - self.origin = np.array([h.origin.x, h.origin.y, h.origin.z]) + # together with the axes orientation information in mapc/mapr/maps. + # mapc, mapr, maps = 1, 2, 3 for Fortran-ordering and 3, 2, 1 for C-ordering. + # Other combinations are possible. We reorder the data for the general case + # by sorting mapc, mapr, maps in ascending order, i.e., to obtain x,y,z. + # mrcfile provides the data in zyx shape (without regard to map*) so we first + # transpose it to xyz and then reorient with axes_c_order. + # + # All other "xyz" quantitities are also reordered. + axes_order = np.hstack([h.mapc, h.mapr, h.maps]) + axes_c_order = np.argsort(axes_order) + transpose_order = np.argsort(axes_order[::-1]) + self.array = np.transpose(mrc.data, axes=transpose_order) + self.delta = np.diag(np.array([mrc.voxel_size.x, mrc.voxel_size.y, mrc.voxel_size.z])) + # the grid is shifted to the MRC origin by offset + # (assume orthorhombic) + offsets = np.hstack([h.nxstart, h.nystart, h.nzstart])[axes_c_order] * np.diag(self.delta) + # GridData origin is centre of cell at x=col=0, y=row=0 z=seg=0 + self.origin = np.hstack([h.origin.x, h.origin.y, h.origin.z]) + offsets self.rank = 3 @property @@ -119,7 +134,7 @@ def shape(self): @property def edges(self): - """Edges of the grid cells, origin at centre of 0,0,..,0 grid cell. + """Edges of the grid cells, origin at centre of 0,0,0 grid cell. Only works for regular, orthonormal grids. """ diff --git a/gridData/tests/test_mrc.py b/gridData/tests/test_mrc.py index 161a8a3..1e3f8fe 100644 --- a/gridData/tests/test_mrc.py +++ b/gridData/tests/test_mrc.py @@ -90,8 +90,28 @@ def test_ccp4_read_header(ccp4data, name, value): else: assert_equal(ccp4data.header[name], value) +def test_axes_orientation(ccp4data): + # correctly interpret mapc, mapr, maps = 2, 1, 3 + # for nx, ny, nz = 96, 76, 70. + # see also #76 + assert_equal(ccp4data.shape, (76, 96, 70)) + +def test_delta(ccp4data): + assert_almost_equal(ccp4data.delta, np.array( + [[0.5452381, 0. , 0. ], + [0. , 0.5452381, 0. ], + [0. , 0. , 0.5603125]], dtype=np.float32)) + +def test_origin(ccp4data): + # shift with nxstart, nystart, nzstart and delta + # + # (visual comparison of CCP4 and DX file in ChimeraX at same + # level shows full agreement) + assert_almost_equal(ccp4data.origin, [-12.5404758, -2.1809523, 57.151876 ]) + def test_triclinic_ValueError(): with pytest.raises(ValueError, match="Only orthorhombic unitcells are currently " "supported, not"): Grid(datafiles.MRC_EMD3001, file_format="MRC") + From ddf6a93b1c8b76ffbcfc7a35baa804c2a62fe7b5 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Sat, 19 Feb 2022 03:31:31 -0700 Subject: [PATCH 4/5] addressed comments by @IAlibay and @tluchko - add versionchanged noting use of MRC instead of CCP4 - add undocumented Grid._mrc_header for storing the MRC header - add tests (for _mrc_header and generally checking that a correct Grid object is built from the MRC data) - code/doc cleanup --- gridData/CCP4.py | 1 + gridData/core.py | 7 +++++++ gridData/mrc.py | 2 -- gridData/tests/test_mrc.py | 20 ++++++++++++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/gridData/CCP4.py b/gridData/CCP4.py index 9aa499f..aa16b6f 100644 --- a/gridData/CCP4.py +++ b/gridData/CCP4.py @@ -164,6 +164,7 @@ class CCP4(object): * index ordering besides standard column-major and row-major * non-standard fields, such any in filed in future use block + .. deprecated:: 0.7.0 Use :class:`gridData.mrc.MRC` instead. This class will be removed in 0.8.0. """ diff --git a/gridData/core.py b/gridData/core.py index 8ab4423..b038779 100644 --- a/gridData/core.py +++ b/gridData/core.py @@ -114,6 +114,10 @@ def __init__(self, grid=None, edges=None, origin=None, delta=None, .. versionchanged:: 0.5.0 New *file_format* keyword argument. + .. versionchanged:: 0.7.0 + CCP4 files are now read with :class:`gridData.mrc.MRC` and not anymore + with the deprecated/buggy `ccp4.CCP4` + """ # file formats are guess from extension == lower case key self._exporters = { @@ -477,6 +481,9 @@ def _load_mrc(self, filename): mrcfile = mrc.MRC(filename) grid, edges = mrcfile.histogramdd() self._load(grid=grid, edges=edges, metadata=self.metadata) + # Store header for access from Grid object (undocumented) + # https://github.com/MDAnalysis/GridDataFormats/pull/100#discussion_r782604833 + self._mrc_header = mrcfile.header.copy() def _load_dx(self, filename): """Initializes Grid from a OpenDX file.""" diff --git a/gridData/mrc.py b/gridData/mrc.py index 9c5d634..f814ee6 100644 --- a/gridData/mrc.py +++ b/gridData/mrc.py @@ -34,8 +34,6 @@ from __future__ import absolute_import from six.moves import range -import warnings - import numpy as np import mrcfile diff --git a/gridData/tests/test_mrc.py b/gridData/tests/test_mrc.py index 1e3f8fe..450fd10 100644 --- a/gridData/tests/test_mrc.py +++ b/gridData/tests/test_mrc.py @@ -115,3 +115,23 @@ def test_triclinic_ValueError(): "supported, not"): Grid(datafiles.MRC_EMD3001, file_format="MRC") +class TestGridMRC(): + @pytest.fixture(scope="class") + def grid(self): + return Grid(datafiles.CCP4_1JZV) + + def test_shape(self, grid, ccp4data): + assert_equal(grid.grid.shape, ccp4data.shape) + + def test_mrc_header(self, grid, ccp4data): + # undocumented MRC header in Grid + assert grid._mrc_header == ccp4data.header + + def test_delta(self, grid, ccp4data): + assert_almost_equal(grid.delta, np.diag(ccp4data.delta)) + + def test_origin(self, grid, ccp4data): + assert_almost_equal(grid.origin, ccp4data.origin) + + def test_data(self, grid, ccp4data): + assert_almost_equal(grid.grid, ccp4data.array) From fc6e112de1bbf50d44d554a1aee12075098327c0 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Sun, 20 Feb 2022 13:58:02 -0700 Subject: [PATCH 5/5] update assert_almost_equal to assert_close for MRC tests Co-authored-by: Irfan Alibay --- CHANGELOG | 2 +- gridData/tests/test_mrc.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e07dc9f..2198a36 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,7 +13,7 @@ The rules for this file: * accompany each entry with github issue/PR number (Issue #xyz) ------------------------------------------------------------------------------ -??/??/2022 orbeckst, tluchko +??/??/2022 orbeckst, tluchko, IAlibay * 0.7.0 diff --git a/gridData/tests/test_mrc.py b/gridData/tests/test_mrc.py index 450fd10..a746426 100644 --- a/gridData/tests/test_mrc.py +++ b/gridData/tests/test_mrc.py @@ -3,7 +3,7 @@ import pytest import numpy as np -from numpy.testing import (assert_almost_equal, +from numpy.testing import (assert_allclose, assert_equal) from gridData import Grid, mrc @@ -31,7 +31,7 @@ def _test_ccp4(g): POINTS = 192 assert_equal(g.grid.flat, np.arange(1, POINTS+1)) assert_equal(g.grid.size, POINTS) - assert_almost_equal(g.delta, [3./4, .5, 2./3]) + assert_allclose(g.delta, [3./4, .5, 2./3]) assert_equal(g.origin, np.zeros(3)) @@ -86,7 +86,7 @@ def ccp4data(): ]) def test_ccp4_read_header(ccp4data, name, value): if type(value) is float: - assert_almost_equal(ccp4data.header[name], value, decimal=6) + assert_allclose(ccp4data.header[name], value, rtol=1e-06) else: assert_equal(ccp4data.header[name], value) @@ -97,7 +97,7 @@ def test_axes_orientation(ccp4data): assert_equal(ccp4data.shape, (76, 96, 70)) def test_delta(ccp4data): - assert_almost_equal(ccp4data.delta, np.array( + assert_allclose(ccp4data.delta, np.array( [[0.5452381, 0. , 0. ], [0. , 0.5452381, 0. ], [0. , 0. , 0.5603125]], dtype=np.float32)) @@ -107,7 +107,7 @@ def test_origin(ccp4data): # # (visual comparison of CCP4 and DX file in ChimeraX at same # level shows full agreement) - assert_almost_equal(ccp4data.origin, [-12.5404758, -2.1809523, 57.151876 ]) + assert_allclose(ccp4data.origin, [-12.5404758, -2.1809523, 57.151876 ]) def test_triclinic_ValueError(): with pytest.raises(ValueError, @@ -128,10 +128,10 @@ def test_mrc_header(self, grid, ccp4data): assert grid._mrc_header == ccp4data.header def test_delta(self, grid, ccp4data): - assert_almost_equal(grid.delta, np.diag(ccp4data.delta)) + assert_allclose(grid.delta, np.diag(ccp4data.delta)) def test_origin(self, grid, ccp4data): - assert_almost_equal(grid.origin, ccp4data.origin) + assert_allclose(grid.origin, ccp4data.origin) def test_data(self, grid, ccp4data): - assert_almost_equal(grid.grid, ccp4data.array) + assert_allclose(grid.grid, ccp4data.array)