Skip to content

Releases: ihmwg/python-ihm

python-ihm 2.5 release

26 Apr 04:05
2.5
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

python-ihm 1.8 release

27 Nov 06:30
1.8
Compare
Choose a tag to compare
  • Support added for datasets containing EPR, X-ray diffraction, footprinting or predicted contacts using the ihm.dataset.EPRDataset, ihm.dataset.XRayDiffractionDataset, ihm.dataset.HydroxylRadicalFootprintingDataset, ihm.dataset.DNAFootprintingDataset and ihm.dataset.PredictedContactsDataset classes (#157).
  • Revision information (in the pdbx_audit_revision_* mmCIF tables) can now be read or written using the new ihm.Revision and ihm.RevisionDetails classes (#156).
  • The new ihm.location.BMRbigLocation class allows for referencing datasets stored in the BMRbig database.
  • All references to the old PDB-Dev database are now updated to PDB-IHM.

Full Changelog: 1.7...1.8

python-ihm 1.7 release

23 Oct 06:15
1.7
Compare
Choose a tag to compare
  • Sanity checks when writing out a file can now be disabled if desired, using the new check argument to ihm.dumper.write (#153).
  • Data that have been split over multiple mmCIF or BinaryCIF files can now be combined into a single ihm.System object using the new add_to_system argument to ihm.reader.read.
  • Input files that assign multiple ihm.location.Location objects to a single ihm.dataset.Dataset can now be read (#151).
  • Bugfix: multiple ihm.restraint.EM3DRestraint and ihm.restraint.SASRestraint objects can now be created for a single dataset, as long as they act on different assemblies, as allowed by the dictionary.
  • Bugfix: allow for non-standard residues in the struct_ref table (#154).

Full Changelog: 1.6...1.7

python-ihm 1.6 release

27 Sep 18:08
1.6
Compare
Choose a tag to compare
  • The new class ihm.model.NotModeledResidueRange allows for the annotation of residue ranges that were explicitly not modeled. These are written to the _ihm_residues_not_modeled mmCIF table, and any residue marked as not-modeled in all models will also be excluded from the pdbx_poly_seq_scheme table.
  • The make_mmcif utility script will now automatically add any missing ihm.model.NotModeledResidueRange objects for not-modeled residue ranges (#150).
  • Bugfix: the residue range checks introduced in version 1.5 broke the API used by python-modelcif. They have been reimplemented using the original API.
  • Bugfix: an unknown (?) value for pdbx_poly_seq_scheme.auth_seq_num is now preserved, not silently removed, when reading an mmCIF file.

Full Changelog: 1.5...1.6

python-ihm 1.5 release

06 Sep 21:22
1.5
Compare
Choose a tag to compare
  • Trying to create a ihm.Residue, ihm.EntityRange, or ihm.AsymUnitRange that references out-of-range residues (i.e. seq_id less than 1 or beyond the length of the ihm.Entity sequence) will now raise an error.
  • Bugfix: ihm.reference.Reference objects are no longer given erroneous duplicate IDs on output (#149).

Full Changelog: 1.4...1.5