Releases: ihmwg/python-ihm
Releases · ihmwg/python-ihm
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
python-ihm 1.4 release
ihm.metadata.CIFParser
now extracts metadata from mmCIF starting models from Model Archive or compliant with the ModelCIF dictionary.ihm.Citation.from_pubmed_id
now takes anis_primary
argument, to allow denoting the publication as the most pertinent for the modeling.- Duplicate references, pseudo sites, and features are now pruned on output (#148).
ihm.restraint.ResidueFeature
now reports an error if it is given zero residue ranges (#147).- Bugfix: allow for
ihm.startmodel.Template
seq_id_range
ortemplate_seq_id_range
to be empty.
Full Changelog: 1.3...1.4
python-ihm 1.3 release
- The new class
ihm.location.ProteomeXchangeLocation
can be used for datasets stored in the ProteomeXchange database. - Support is added for changes in the IHMCIF dictionary, specifically the renaming of "CX-MS data" to "Crosslinking-MS data" and the
_ihm_ordered_ensemble
category to_ihm_ordered_model
. python-ihm will output the new names, but for backwards compatibility will read both old and new names. ihm.protocol.Protocol
can now be given additional text to describe the protocol.ihm.model.Atom
now takes analt_id
argument to support alternate conformations (#146).- Support added for NumPy 2.0.
Full Changelog: 1.2...1.3
python-ihm 1.2 release
ihm.format.CifTokenReader
allows for reading an mmCIF file and breaking it into tokens. This can be used for various housekeeping tasks directly on an mmCIF file, such as changing chain IDs or renaming categories or data items, while preserving most other formatting such as comments and whitespace (#141).ihm.restraint.HDXRestraint
adds support for restraints derived from Hydrogen-Deuterium Exchange experiments (#143).- The
make_mmcif
utility script now preserves more "orphan" data from the input file that is not referenced by other tables (#144).
Full Changelog: 1.1...1.2
python-ihm 1.1 release
ihm.System
now allows for one or more official database IDs to be associated with the system using the newihm.Database
class. This maps to the mmCIF_database_2
category (#135).ihm.location.FileLocation
now allows for an optional file format to be specified (#139).- The
util/make-mmcif.py
script is now included in the installed package, so can be run if desired withpython3 -m ihm.util.make_mmcif
(#134). - Bugfix: allow for file sizes in input mmCIF files to be floating point values (#138).
- Bugfix: the 'Other' content type is now handled correctly when reading information about external files from an mmCIF file (#139).
Full Changelog: 1.0...1.1
python-ihm 1.0 release
- Support for multi-state schemes (such as kinetic rates and relaxation times for conversions between states) was added; see
ihm.multi_state_scheme
. - Residue numbering in non-polymer, water, and branched entities should now be better handled, no longer requiring the various scheme tables to precede
atom_site
. If you subclassihm.model.Model
, atoms may need to be renumbered; seeihm.model.Model.add_atom
(#130). - Original author-provided numbering can now be provided for waters, using the
orig_auth_seq_id_map
argument toihm.WaterAsymUnit
. - The make-mmcif.py utility script now has basic functionality for combining multiple input files into one, relabeling chain IDs if necessary.
- An
ihm.Entity
containing just a single sugar is now classified as a nonpolymer, not branched.
Full Changelog: 0.43...1.0
python-ihm 0.43 release
- Branched and polymeric empty entities are now distinguished based on entity.type in the input file (previously, any empty entity would always be reported as a polymer) (#129).
- Warn rather than reporting an error if the system contains one or more empty entities (#128).
- If an input file contains multiple duplicated datasets, preserve them as is rather than consolidating into a single dataset (#127).
- Allow for multiple branched entities to have the same composition (they could have different connectivity) (#126).
Full Changelog: 0.42...0.43
python-ihm 0.42 release
- The
ihm.metadata.CIFParser
class now parses Modeller-specific CIF categories to add information about software and templates for Modeller-generated mmCIF starting models. - Basic support for original author-provided residue numbering is now provided in the
ihm.AsymUnit
class with a neworig_auth_seq_id_map
argument. This information is read from and written to the various mmCIF tables such aspdbx_poly_seq_scheme
(#124).
Full Changelog: 0.41...0.42