Skip to content

Releases: project-gemmi/gemmi

0.5.7

22 Sep 06:24
Compare
Choose a tag to compare
  • new functions for working with Structure: assign_serial_numbers(), assign_cis_flags(), has_hydrogen()
  • enhanced transform_to_assembly()
  • functions count_atom_sites() and count_occupancies() now take Selection as an optional arg
  • deprecated count_hydrogen_sites(): can be replaced with has_hydrogen() or count_atom_sites(Selection("[H,D]"))
  • selection syntax extended with ";polymer" and ";solvent" (it can also be "!polymer,solvent")
  • improved preparation of the intermediate file (crd) for Refmac
  • gemmi program: several options were added to subprograms
  • Ccp4.setup() now returns void (previously – number)
  • python: cif.Block.find_pair() and Item.pair were changed to return tuple (previously – list)

0.5.6

05 Aug 11:45
Compare
Choose a tag to compare
  • calculating ASU brick for given space group settings
  • add reciprocal ASU definitions used by TNT
  • add option style to Op.triplet()
  • add cif.Block.set_pairs() – it adds name-value pairs to a given category
  • various bug fixes, as usual
  • Python 2.7 is no longer listed as supported

0.5.5

02 Jun 14:25
Compare
Choose a tag to compare
  • 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

14 Apr 11:53
Compare
Choose a tag to compare
  • 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

17 Mar 08:04
Compare
Choose a tag to compare
  • 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

26 Jan 15:29
Compare
Choose a tag to compare
  • 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

10 Dec 11:49
Compare
Choose a tag to compare
  • 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

06 Nov 10:20
Compare
Choose a tag to compare
  • 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)

0.4.9

24 Sep 17:36
Compare
Choose a tag to compare
  • centred to primitive lattce transformation
  • Niggli reduction and Buerger reduction for lattice basis
  • added UnitCell::is_compatible_with_spacegroup()
  • Topology-related improvements (Keitaro)
  • functions SMat33::elements() and change_basis() were replaced – each was replaced with two new functions
  • more options in gemmi-merge
  • more Python bindings
  • various fixes, in particular in validation in gemmi mtz2cif --depo.

0.4.8

26 Aug 10:40
Compare
Choose a tag to compare
  • reindexing MTZ files,
  • tricubic map interpolation,
  • extended selection syntax,
  • merge_atoms_in_expanded_model() – sort out atoms on special positions after expanding NCS or making bioassembly,
  • IT92::normalize() – makes exactly the same scattering coefficients that Refmac uses,
  • Mtz::remove_column(),
  • understanding triplets with x/N ("h/2+k/2, -h/2+k/2, l"),
  • better inference of elements in a PDB file with missing element field,
  • Topo::Force was renamed to Topo::Rule,
  • various other additions and, most importantly, bug fixes.