Multiple blocks, for example merged and unmerged data in separate blocks. SF mmCIF files usually contain one block, but may have Or r1abcsf.ent (if downloaded through PDBe website or through FTP). Is usually named either 1ABC-sf.cif (if downloaded through RCSB website) The files with reflections are called structure factor mmCIF Reflections and coordinates are normally stored in separate The mmCIF format is also used to store reflection data from crystallographicĮxperiments. In general, reindexing has not been tested enough. Op ( 'k,l,h' )) 'Real space transformation: z,x,y\nSpace group changed from P 21 21 2 to P 2 21 21.\n'Ĭurrent limitations: H-L coefficients are not handled yet. In Python, it is a method that returns a textual message for the user: In C++, this function is in reindexing.hpp. The same with phase probabilities – Hendrickson-Lattman coefficientsĭata in anomalous pairs, such as I(+)/I(-), F(+)/F(-) and E(+)/E(-),Īnomalous difference (column type D) can change the sign.Ĭurrently, gemmi provides a reindexing function that works only with Mtz Unit cell parameters (in MTZ records CELL and DCELL, and in batch headers), (if new indices would be fractional the reflection is removed), #define GEMMI_WRITE_IMPLEMENTATION #include int main () Reindexing ¶ To show that it really has an effect we print the appropriate d < 2Å) and copy the result back into mtz. Now, as an example, let us remove reflections with the resolutionĪbove 2Å (i.e. In the previous section, we got such an array ( all_data) In Python, we pass to this function a 2D NumPy array of floating point numbers. To change the data in Mtz object we can use function set_data(). You may also check a different project (not associated with Gemmi)įor working with reflection data in Python: calculate_1_d2_array ( hkl ) # vectorized calculate_1_d2() array() calculate_d_array ( hkl ) # vectorized calculate_d() array() > mtz. systematic_absences ( hkl ) # vectorized is_systematically_absent() array() > mtz. epsilon_factor_without_centering_array ( hkl ) # epsilon_factor_without_centering() array(, dtype=int32) > gops. epsilon_factor_array ( hkl ) # vectorized epsilon_factor() array(, dtype=int32) > gops. centric_flag_array ( hkl ) # vectorized is_reflection_centric() array() > gops. In C++, the MTZ file can be read using either stand-alone functions: The batch header, in turn, stores dataset ID. The BATCH column links records to batches In unmerged files it is records, not columns, that are the associated
Which is enough to reconstruct the tree-like hierarchy if needed. We have a list of columns and a list of datasets.Įach columns is associated with one dataset, and each dataset has propertiesĭataset_name, project_name and crystal_name, Normally, the column name is all that is needed the hierarchy can be ignored.
(Project -> Crystal -> Dataset -> Column). In merged files the columns of data are grouped hierarchically Merged – single record per ( hkl) reflection The headers, as well as data, are stored in class Mtz. MTZ format has textual headers and a binary data table, where all numbersĪre stored in a 32-bit floating point format. Is also included in Gemmi, as well as calculation of structure factors Therefore, switching between the real and reciprocal space Molecular viewers can Fourier-transform them on the fly and show Stored mostly as map coefficients in reflection files. That is built to explain the experimental data.Įven electron density maps, which are used in the real space, are nowadays Then other quantities derived from these are added,Īs well as quantities derived from a macromolecular model
Initially, the numbers represent observations derived fromĭiffraction images (reflection intensities and error estimates). Reflection files store Miller indices ( hkl) with various associated Structure factor mmCIF files – used for data archivingĪnd small molecule structure factor CIF files (usually with extension hkl). MTZ files – the most popular format in macromolecular crystallography, Gemmi supports three reflection file formats: This section is primarily for people working with crystallographic data.