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¶
- Convenience classes are added to describe hydrogen/deuterium exchange data (
ihm.dataset.HDXDataset) and datasets stored in the PDB-Dev database (
ihm.restraint.CrossLinkPseudoSiteobjects can now be assigned to a given
- Bugfix: the
ihm.dataset.Datasetbase class now has a type of “Other” rather than “unspecified” to conform with the latest IHM dictionary.
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
- 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¶
ihm.dataset.Datasetobjects that derive from another dataset can now record any transformation involved; see
ihm.metadata.PDBParsernow extracts basic metadata from PDB files generated by SWISS-MODEL.
ihm.Entitycan now be linked to one or more reference databases (e.g. UniProt). See the classes in the
0.14 - 2020-02-26¶
- A cross-link can now use pseudo sites to represent one or both ends of the link. The new
ihm.restraint.CrossLinkPseudoSiteobject is used when the end of the cross-link is not represented in the model but its position is known (e.g. it may have been approximated given the position of nearby residues).
ihm.restraint.PseudoSiteFeaturenow references an underlying
ihm.restraint.PseudoSite, allowing a single pseudo site to be shared between a feature and a cross-link if desired.
ihm.model.Ensemblenow supports describing subsamples from which the ensemble was constructed; see
ihm.Citation.from_pubmed_id()now works correctly when the journal volume or page range are empty, or the page “range” is just a single page.
0.13 - 2019-11-14¶
0.12 - 2019-10-16¶
ihm.restraint.ResidueFeatureobjects can now act on one or more
Residueobjects, which act equivalently to 1-residue ranges (
- The new
ihm.dataset.GeneticInteractionsDatasetclass and the
ihm.restraint.DerivedDistanceRestraintcan be used to represent restraints from genetic interactions, such as point-mutant epistatic miniarray profile (pE-MAP) data.
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.StartingModelclass. Applications that don’t require coordinates can instruct the reader to ignore them with the new read_starting_model_coord flag.
- The new
ihm.flrmodule 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
- 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¶
Entitynow takes an optional
ihm.source.Sourceobject to describe the method by which the sample for the entity was produced.
ihm.metadata.PDBParserwill also extract this information from input PDB files.
ihm.dumper.write()now support reading or writing additional user-defined mmCIF categories.
0.5 - 2019-01-17¶
ihm.restraint.CrossLinkRestraintnow takes an
ihm.ChemDescriptorobject rather than the name of the cross-linker used. This allows the use of novel cross-linkers (beyond those currently listed in a fixed enumeration in the IHM dictionary).
ihm.ChemDescriptorallows for the chemical structure of the cross-linker to be uniquely specified, as a SMILES or INCHI string. The
ihm.cross_linkersmodule provides chemical descriptors for some commonly-used cross-linkers.
- Pseudo sites are now supported.
ihm.restraint.PseudoSiteFeatureallows points or spheres with arbitrary coordinates to be designated as features, which can then be used in
0.4 - 2018-12-17¶
- Certain restraints can now be grouped using the
ihm.restraint.RestraintGroupclass. Due to limitations of the underlying dictionary, this only works for some restraint types (currently only
ihm.restraint.DerivedDistanceRestraint) and all restraints in the group must be of the same type.
- Bugfix: the model’s representation (see
ihm.representation) need not be a strict subset of the model’s
ihm.Assembly. However, any
ihm.model.Sphereobjects must be covered by both the representation and the model’s
- Bugfix: the reader no longer fails to read files that contain _entity.formula_weight.
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.Entityobjects 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.model.Sphereobjects are now checked against the model’s representation (see
ihm.representation); for example, an
ihm.model.Atommust correspond to an
ihm.representation.AtomicSegment. The representation in turn must be a subset of the model’s
- 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.