Skip to content

0.6.6

Compare
Choose a tag to compare
@wojdyr wojdyr released this 28 May 19:22
· 237 commits to master since this release

Library:

  • SmallStructure: changed how the space group is read and accessed.
    Relying on H-M space group names alone was not always sufficient. The new mechanism uses the list of operations and Hall symbol in preference to the H-M symbol – the order is configurable.
  • symmetry triplets: parse decimal fractions (small molecule files may use notation such as x+0.25 instead of x+1/4)
  • tabulated space groups: a few more settings: B 1 2 1, B 1 21 1, F 1 m 1, F 1 d 1, F 1 2 1
  • X-ray scattering coefficients: changed the default value of IT92::ignore_charge to true (i.e. charges are now ignored by default; before version 0.6.3 they were always ignored)
  • cif::Table: added method ensure_loop() that converts tag-value pairs into a loop; might be needed before calling append_row()
  • place_hydrogens(): fix for NH3-like configurations
  • improved gemmi->mmdb conversion
  • Grid: tweaked good_grid_size() to ensure that when creating a grid up to a certain d_min, all reflections up to d_min are in the grid (it matters when no oversampling is applied)
  • DensityCalculator: deprecated function set_grid_cell_and_spacegroup(), use grid.setup_from()
  • fixed TNT-compatible reciprocal space ASU calculation for non-standard settings
  • infer_polymer_end(): complicate the heuristic even more, to detect files that have HETATM incorrectly used for standard residues in a polymer (such files were reported, they are either a result of mutating from non-standard residues, or a buggy program)
  • added function assign_het_flags() to re-set ATOM/HETATM flags
  • Model: added funtions calculate_b_iso_range() and calculate_b_aniso_range(); the first one can be used to detect if pLDDT is in the range 0-100 (like from AlphaFold) or 0-1 (like from ESMFold)
  • writing mmCIF: write _entity_poly_seq.hetero
  • added flag Entity::reflects_microhetero that shows if sequences were read from SEQRES (and don't account for point mutations) or from _entity_poly_seq; new function add_microhetero_to_sequences() changes the former to the latter

Program:

  • gemmi sfcalc: added a few more options
  • gemmi convert: added options --assign-records[=A|H], improved --sifts-num, adding microheterogeneities to _entity_poly_seq when converting from PDB
  • gemmi cifdiff: added option -t for basic comparison of values for a single tag

Other:

  • minimal WebAssembly port (C++ code compiled with emscripten) of Structure,
    as a proof-of-concept and for reading mmCIF files in UglyMol
  • examples/to_rdkit.py: example of conversion of gemmi ChemComp to RDKit Mol

and a number of less important changes