Change history

0.18 - 2020-11-06

  • Update to match latest FLR dictionary.
  • Add a simple utility (util/make-mmcif.py) to make a minimal compliant IHM mmCIF file, given an mmCIF file (potentially just coordinates) as input.
  • Bugfix: the full residue range spanned by a starting model is now reported, rather than just the subset that is mapped to one or more templates (#55).
  • Bugfix: handle TrEMBL UniProt sequences (#57).

0.17 - 2020-07-10

0.16 - 2020-05-29

  • ihm.reader.read() no longer discards models read from non-IHM mmCIF files; they are instead placed in their own ihm.model.ModelGroup.
  • Bugfix: both the pure Python and C-accelerated mmCIF readers are now more robust, able to handle files in binary mode (e.g. from opening a URL) and in Unicode (mmCIF files are supposed to be ASCII but python-ihm should handle any encoding Python supports).

0.15 - 2020-04-14

0.14 - 2020-02-26

0.13 - 2019-11-14

  • ihm.reader.read() has a new optional reject_old_file argument. If set, it will raise an exception if asked to read a file that conforms to too old a version of the IHM extension dictionary.
  • Definitions for the DHSO and BMSO cross-linkers are now provided in the ihm.cross_linkers module.

0.12 - 2019-10-16

0.11 - 2019-09-05

0.10 - 2019-07-09

0.9 - 2019-05-31

  • Add support for the latest version of the IHM dictionary.

0.8 - 2019-05-28

  • ihm.reader.read() can now be asked to warn if it encounters categories or keywords in the mmCIF or BinaryCIF file that it doesn’t know about (and will ignore).
  • Predicted contacts (ihm.restraint.PredictedContactRestraint) are now supported.
  • ihm.reader.read() will now read starting model coordinates and sequence difference information into the ihm.startmodel.StartingModel class. Applications that don’t require coordinates can instruct the reader to ignore them with the new read_starting_model_coord flag.
  • The new ihm.flr module allows for information from Fluorescence / FRET experiments to be stored. This follows the definitions in the FLR dictionary.

0.7 - 2019-04-24

  • Authors of the mmCIF file itself (_audit_author category) can now be set by manipulating ihm.System.authors. (If this list is empty on output, the set of all citation authors is used instead, as before.)
  • Any grants that supported the modeling can now be listed in ihm.System.grants.
  • A copy of SWIG is no longer needed to install releases of python-ihm via pip as pre-generated SWIG outputs are included in the PyPI package. SWIG is still needed to build directly from source code though.

0.6 - 2019-03-22

0.5 - 2019-01-17

0.4 - 2018-12-17

0.3 - 2018-11-21

  • The library now includes basic support for nonpolymers and water molecules. In addition to the previous support for polymers (amino or nucleic acid chains), ihm.Entity objects can now comprise ligands, water molecules, and user-defined chemical components.
  • The library can now read mmCIF dictionaries and validate mmCIF or BinaryCIF files against them. See ihm.dictionary.
  • Any ihm.model.Atom or ihm.model.Sphere objects are now checked against the model’s representation (see ihm.representation); for example, an ihm.model.Atom must correspond to an ihm.representation.AtomicSegment. The representation in turn must be a subset of the model’s ihm.Assembly.
  • More examples are now provided, of creating and using non-standard residue types (chemical components); representing nonpolymers; and using the C mmCIF parser in other C programs.

0.2 - 2018-09-06

  • This release should fix installation of the package using pip: pip install ihm should now work correctly.

0.1 - 2018-09-06

  • First stable release. This provides largely complete support for the current version of the wwPDB IHM mmCIF extension dictionary, and will read and write mmCIF and BinaryCIF files that are compliant with the PDBx and IHM dictionaries.