Skip to content

Releases: ihmwg/python-ihm

python-ihm 2.9 release

22 Jan 19:03
2.9

Choose a tag to compare

  • If given a file containing non-polymers but missing the pdbx_entity_nonpoly table, make_mmcif will now reconstruct that table using information from the atom_site table (#177).
  • If given a file containing an empty assembly (containing zero asyms), make_mmcif will now replace it with an auto-generated assembly containing all of the system's asyms (#178).
  • make_mmcif has a new --fix_chem_comp command line flag which if specified will fill in any missing chemical component information (in the chem_comp table) such as type, name, or chemical formula by querying CCD (#179).
  • Bugfix: backslash characters in text fields (such as in SMILES strings) no longer erroneously cause a dictionary validation error (#176).

Full Changelog: 2.8...2.9

python-ihm 2.8 release

12 Dec 19:27
2.8

Choose a tag to compare

  • The new ihm.System.get_representative_model method returns a single ihm.model.ModelRepresentative that best represents the entire system (#174).
  • Bugfix: spurious segments in the ihm_entity_poly_segment table are no longer created for ihm.restraint.ResidueFeature (#175).

Full Changelog: 2.7...2.8

python-ihm 2.7 release

08 Jul 01:44
2.7

Choose a tag to compare

  • Representative models for ihm.model.ModelGroup can now be denoted using the ihm.model.ModelRepresentative class (#173).
  • Bugfix: fix reference counts of Python bool objects.

Full Changelog: 2.6...2.7

python-ihm 2.6 release

09 Jun 23:05
2.6

Choose a tag to compare

  • The new ihm.License and ihm.Disclaimer classes allow describing how the data in the file can be used, and map to the pdbx_data_usage mmCIF table (#171).
  • Two ihm.Assembly classes are now considered equal if they contain the same set of constituents, even if those constituents are in differing orders or are split differently into domains (#170).
  • The new ihm.format.ChangeFuncValueFilter class allows modifying mmCIF values by passing them through an arbitrary Python function.
  • Checks for non-canonical atom names no longer use Ligand Expo to obtain CCD info, as it is being retired (#169).
  • ihm.metadata.CIFParser and ihm.metadata.BinaryCIFParser now return the same entity_source mapping that ihm.metadata.PDBParser does (#168).

Full Changelog: 2.5...2.6

python-ihm 2.5 release

26 Apr 04:05
2.5

Choose a tag to compare

  • Assemblies are now checked at file-output time to ensure that each asym referenced in an assembly is represented by atoms and/or spheres in at least one model (#165).
  • make_mmcif has a new --check_atom_names option which, if set, will check for any non-canonical atom names (#166).
  • pip install should no longer fail to install if the C extension module cannot be built; it will fall back to use the slower pure Python implementation.

Full Changelog: 2.4...2.5

python-ihm 2.4 release

26 Mar 04:02
2.4

Choose a tag to compare

  • Add support for fits of model groups or ensembles to cross-links using the new ihm.restraint.CrossLinkGroupFit class.

Full Changelog: 2.3...2.4

python-ihm 2.3 release

14 Mar 04:18
2.3

Choose a tag to compare

  • The C-accelerated BinaryCIF parser now supports interval quantization encoding and a wider range of data types.
  • make_mmcif now has a new --histidines option to convert any non-standard histidine names to HIS (#164).
  • Bugfix: don't change name or description of the complete assembly in make_mmcif.
  • Bugfix: if ihm.reference.SeqDif is used to annotate an insertion or deletion, don't erroneously claim the alignment is incorrect.

Full Changelog: 2.2...2.3

python-ihm 2.2 release

14 Feb 04:36
2.2

Choose a tag to compare

  • The C-accelerated BinaryCIF parser now supports a wider range of data types.

Full Changelog: 2.1...2.2

python-ihm 2.1 release

13 Feb 06:28
2.1

Choose a tag to compare

  • Minor fixes to the C-accelerated BinaryCIF parser.

Full Changelog: 2.0...2.1

python-ihm 2.0 release

12 Feb 03:29
2.0

Choose a tag to compare

  • python-ihm no longer supports Python 2; the oldest supported version is now Python 3.6 (#161).
  • BinaryCIF files are now read in using a C-accelerated parser, which is faster and more memory efficient than the older Python parser (#160).
  • The tokenizers for mmCIF and BinaryCIF now return data of the correct type (int, float, bool, or string); previously, all values were returned as strings. ihm.reader.Handler subclasses now request data of the correct type using Python type annotations. The API of the C-accelerated parsers has changed accordingly (#162).
  • The new ihm.metadata.BinaryCIFParser class can extract metadata such as database IDs and template information from BinaryCIF files, in a similar fashion to the existing ihm.metadata.CIFParser.
  • Information about a deposited structure, such as the deposition date, can now be read from System.database_status (#163).
  • The new ihm.format.ReplaceCategoryFilter class can be used to completely replace or remove an mmCIF category when using ihm.format.CifTokenReader.

Full Changelog: 1.8...2.0