Releases: ihmwg/python-ihm
Releases · ihmwg/python-ihm
python-ihm 2.5 release
- 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
- 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
- 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
- The C-accelerated BinaryCIF parser now supports a wider range of data types.
Full Changelog: 2.1...2.2
python-ihm 2.1 release
- Minor fixes to the C-accelerated BinaryCIF parser.
Full Changelog: 2.0...2.1
python-ihm 2.0 release
- 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 existingihm.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 usingihm.format.CifTokenReader
.
Full Changelog: 1.8...2.0
python-ihm 1.8 release
- 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
andihm.dataset.PredictedContactsDataset
classes (#157). - Revision information (in the
pdbx_audit_revision_*
mmCIF tables) can now be read or written using the newihm.Revision
andihm.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
- Sanity checks when writing out a file can now be disabled if desired, using the new
check
argument toihm.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 newadd_to_system
argument toihm.reader.read
. - Input files that assign multiple
ihm.location.Location
objects to a singleihm.dataset.Dataset
can now be read (#151). - Bugfix: multiple
ihm.restraint.EM3DRestraint
andihm.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
- 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 thepdbx_poly_seq_scheme
table. - The
make_mmcif
utility script will now automatically add any missingihm.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
- Trying to create a
ihm.Residue
,ihm.EntityRange
, orihm.AsymUnitRange
that references out-of-range residues (i.e.seq_id
less than 1 or beyond the length of theihm.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