Gemmi

Latest version: v0.7.1

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.5.5

* determining lattice symmetry and (psuedo-)merohedral twinning laws
* added GroupOps::derive_symmorphic() and GroupOps::add_inversion()
* getting change-of-basis in the Niggli reduction
* added transform_to_assembly() – it does a bit more than make_assembly()
* removed Op::negated()
* python: add bindings to UnitCell.orth and UnitCell.frac
* additional options in gemmi-mtz2cif and gemmi-cif2mtz
* bug fixes (in Ccp4::set_extent(), merge_atoms_in_expanded_model(), status column in mtz2cif)

0.5.4

- new sub-program under development: gemmi-prep
- parse pdb AUTHOR record and corresponding mmCIF category
- new function flood_fill_above()
- mtz2cif: rhombohedral groups in hexagonal settings start with H now
- renamed MonLib::find_link() to get_link(), modified MonLib::match_link()
- CIF files can be written with left-aligned columns
- bug fixes and minor changes (in particular in class Topo)

0.5.3

* API change: changed arguments for Ccp4.setup()
* added Binner class for analyzing reflections in resolution bins
* added support for neutron scattering in gemmi-sfcalc and the library
* new functions: seitz_to_op, normalize_grid, Grid.get_subarray, Grid.set_subarray
* minor improvements in programs mtz2cif, cif2mtz, map
* fix: CIF tags are now case insensitive
* changes in preparing topology accounting for changes in Refmac and CCP4 monomer library

0.5.2

* various bug fixes and small improvements, many of them for the MTZ -> mmCIF conversion
* new and documented functions: cif.Table.move_row(), ResidueInfo.fasta_code(), GroupOps.add_missing_elements(), NeighborSearch.add_chain()
* added customizable form factors for unknown element (X) 167
* improved reading of unusual PDB files 169
* calculate_superposition(): added option to use backbone only
* calculating RMSD without superposition is a separate function now: calculate_current_rmsd()
* simplified MaskedGrid, Grid.asu() renamed to masked_asu()
* renamed Intensities.Type to DataType
* a few experimental functions (not documented and not sufficiently tested yet):
* read_first_block_gz() – read only first block of CIF without reading the whole file
* Mtz.ensure_asu() – changes Miller indices together with phase shifts and anomalous data swapping
* interpolate_grid_of_aligned_model() – for grid interpolation based on model alignment (currently global alignment only, local alignment such as in PanDDA is not implemented yet)
* check_data_type_under_symmetry() – for checking if mmCIF refln category contains mean, anomalous or unmerged data

0.5.1

* various bug fixes
* support for huge MTZ files (>2GB) using the format extension added in CCP4 8.0 – implemented by Claus
* better handling of NaNs in maps
* option to detect the format of a coordinate file (format=CoorFormat.Detect)
* major changes in class Topo (which is undocumented yet)
* store _atom_site.label_entity_id from mmCIF as Residue::entity_id
* two more tabulated space group settings: C 4 2 2 and C 4 2 21
* new functions Mtz.copy_column() and Mtz.replace_column(), SmallStructure.make_cif_block()
* and a number of minor additions including: Grid.clone(), Grid.change_values(), Model.remove_*(), transform_pos_and_adp(), MonLib.mon_lib_list, SmallStructure.wavelength, UnitCell.approx(), SMat33.multiply(), Structure.input_format
* new options in the command-line program: gemmi mtz --histogram, gemmi cif2mtz --add

0.5.0

* bug fixes
* Selling-Delaunay reduction
* gemmi program: enhancements in `mtz2cif`, `cif2mtz` and `merge`
* SymImage renamed to NearestImage, its properties has also changed
* calculate_superposition(): optional outlier rejection (inspired by PyMOL)

Page 3 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.