pronto

A Python frontend to (Open Biomedical) Ontologies.

MIT License

Downloads
66K
Stars
224
Committers
13

Bot releases are hidden (Show)

pronto - v2.5.3

Published by althonos almost 2 years ago

Fixed

  • Crash in LineageIterator.to_set when starting from an empty set of entities.
pronto - v2.5.0

Published by althonos over 2 years ago

Changed

  • Bumped fastobo dependecy to v0.12.1

Removed

  • Support for Python 3.6.
pronto - v2.4.7

Published by althonos over 2 years ago

Fixed

  • Serialization of is_class_level properties with fastobo-based serializers (#178).
  • Parsing of SynonymTypeProperty elements in RDF/XML without a label attribute (#176).
pronto - 2.4.3

Published by althonos about 3 years ago

Added

  • Missing documentation for the pronto.Entity.relationships property.

Fixed

  • RDX/XML parser crashing on files containing a relationship and a term with the same ID (#138).
pronto - 2.4.2

Published by althonos over 3 years ago

Added

  • Support for chardet version 4.0 (in addition to older 3.0).

Fixed

  • Serialization of Ontology failing with non-empty idspaces.
  • Typo in OWL2 URL in README.md (#130).
pronto - 2.4.1

Published by althonos over 3 years ago

Changed

  • pronto.pv.PropertyValue is now an abstract class.
  • pronto.parsers.RdfXmlParser now ignores synonym Xrefs not in
    the right format.

Fixed

  • pronto.Entity.definition documentation now lists return type as
    pronto.definition.Definition as expected.
  • CURIE compaction in RDF/XML not being handled consistently, causing
    some crashes on ontologies using aliased relationships.
  • pronto.utils.typechecked.disabled is now reentrant and should
    not be disabled in multithreaded contexts anymore.

Removed

  • Implicit injection of lxml instead of xml.etree, which caused
    issues with RdfXmlParser.
pronto - 2.4.0

Published by althonos over 3 years ago

Added

  • Deprecation warnings for the retrieval of relationships via
    indexing, to be deprecated in v3.

Changed

  • Replaced Travis-CI with GitHub Actions to handle continuous integration.
  • Bumped fastobo dependency to v0.10.0.

Removed

  • Retrieval of terms via their alternate IDs (introduced in v2.3.0,
    caused multiple issues (#120,
    #126).
pronto - 2.3.2

Published by althonos almost 4 years ago

Added

  • Support for path-like objects when creating an Ontology
    (#108).

Fixed

  • Avoid decoding file-like objects if they are already UTF-8
    encoded when creating an Ontology
    (#110).
pronto - 2.3.1

Published by althonos about 4 years ago

Fixed

  • pronto.entity package not being included in source distribution.
pronto - 2.3.0

Published by althonos about 4 years ago

Added

  • Retrieval of entities via their alternate IDs on the source Ontology.
  • Direct edition of entity relationships via the Relationships view.
  • __all__ attribute to all modules of the data model.
  • RelationshipSet container like TermSet with shortcut attributes and
    proxying of actual Relationship instances.
  • Relationship.subproperties and Relationship.superproperties methods
    to add, remove, clear and iterate over the subproperties and superproperties
    of a Relationship instance.
  • Ontology.synonym_types method to count (via SizedIterator) and iterate
    over the synonym types of an ontology and all of its imports.
  • Ontology.get_synonym_type method to retrieve a single synonym type by ID
    from an ontology or one of its imports.

Changed

  • Management of sub-properties / super-properties is now consistent with
    the management of subclasses / superclasses.
  • consider, disjoint_from, disjoint_over, equivalent_to, replaced_by
    transitive_over and union_of properties of Relationship now return
    a RelationshipSet.

Fixed

  • Outdated documentation in Term.subclasses describing the performances of
    the previous algorithm.
  • Possible AttributeError with the setter of the Entity.synonyms property.
  • Issue with synonym types declared in imported ontologies not being usable
    with synonyms of the actual ontology.
  • Various type annotations not updated since version 2.2.2.
pronto - 2.2.4

Published by althonos about 4 years ago

Changed

  • Make Entity.annotations return a mutable set and add a setter.

Fixed

  • Term.relationship erroneously updating the Ontology._lineage cache.
  • Unneeded code in pronto.serializers._fastobo handling is_a clauses.
pronto - 2.2.3

Published by althonos about 4 years ago

Changed

  • Replaced frozendict with immutabledict (#90).
  • Bumped fastobo dependency to v0.9.0 to support inline comments.
  • Parsers will now process their imports in parallel using a thread pool.

Fixed

  • Argument type checking in view layer is now disabled during the parsing
    phase to reduce overhead.
pronto - 2.2.2

Published by althonos over 4 years ago

Added

  • Extraction of basic relationships from RDF/XML documents.

Fixed

  • Erroneous type annotations on Term.subclasses and Term.superclasses.
  • Bug with Term.equivalent_to setter crashing with a NameError.
  • Bug with Entity.synonyms setter not extracting synonym data.
pronto - 2.2.1

Published by althonos over 4 years ago

Fixed

  • Extraction of subclasses/superclasses hierarchy from nested imports.
  • Serialization of OBO frames not being done in order.
  • Parsing issue with anti_symmetric clauses in OBO typedefs.
  • Xrefs not being extracted when declared as axioms in RDF/XML documents.
  • ResourceWarning when creating Ontology from file-handles not mapping
    to a filesystem location.
pronto - 2.2.0

Published by althonos over 4 years ago

Added

  • threads parameter to Ontology constructor to control the number of
    threads used by parsers supporting multithreading (OBO and OBO JSON at
    the moment).
  • Deprecation warnings for suspected uses of the is_a pseudo-relationship
    since subclasses/superclasses is now to be handled by the owner Ontology.
  • Support for subclass/superclass edition directly from the objects returned
    by Term.subclasses() and Term.superclasses(). (#84)

Changed

  • Updated fastobo to v0.8, which reduce memory footprint of identifiers,
    and improves the parser speed.
  • Improved OBO parser performance using threading plus zero-copy validation
    of identifiers on Xref instantiation.
  • Improved performance in debug mode by having the typechecker only extract
    the wrapped function signature once.

Fixed

  • OBO parser crashing on files containing idspace clauses in their headers.
  • Reference management issue with binary operations of TermSet.

Removed

  • nanoset depency, which was not useful anymore in Python 3.8 and caused
    issues with multithreading when processing OBO frames in parallel.
pronto - 2.1.0

Published by althonos over 4 years ago

Added

  • Synonym.xrefs now has a setter. (#70)
  • pickle support for Ontology. (#66)
  • RdfXmlParser support for owl:inverseOf and rdfs:subPropertyOf.

Changed

  • Synonym.xrefs now returns a mutable set that can be used to add
    Xref to the synonym directly.

Fixed

  • SynonymType.type setter does not consider all synonym types as
    undeclared anymore. (#71)
  • RdfXmlParser crashing on synonym types definition without a label
    like in Uberon. (#67)
  • FastoboSerializer crashing when encountering a relationship with
    at least one replaced_by clause.
pronto - 2.0.1

Published by althonos over 4 years ago

Fixed

  • Internal handling of ontology data forcing an Ontology to outlive all
    of the Terms created from it.
  • Term.id property missing a return type annotation.
  • Term.equivalent_to not returning a TermSet but a set of strings.

Changed

  • Refactored implementation of SubclassesIterator and
    SuperclassesIterator to make both use the interal subclassing cache.
  • Make Term.is_leaf use internal subclassing cache to make it run in
    constant time.
pronto - 2.0.0

Published by althonos over 4 years ago

Added

  • TermSet.subclasses and TermSet.superclasses methods to query all
    the subclasses / superclasses of all Term.
  • TermSet class to the top-level pronto module.
  • Dynamic management of subclassing cache for the Ontology class.
  • Setters for Term.consider, Term.union_of and Term.intersection_of.

Removed

  • cache keyword argument for the Ontology.

Fixed

  • SuperclassesIterator.to_set being named to_self because of a typo.
  • Several bugs affecting the fastobo-backed serializer.
pronto - 1.2.0

Published by althonos over 4 years ago

Added

  • Parameter with_self to disable reflexivity of Term.subclasses and
    Term.superclasses iterators.
  • TermSet class which stores a set of terms efficiently while providing
    some useful shortcuts to access the underlying data.

Changed

  • Moved code of Term.subclasses and Term.superclasses to a dedicated
    iterator class in the pronto.logic submodule.
  • Dropped contexter requirement.

Fixed

  • Fix a typo in Synonym.type setter leading to a potential bug when
    the given type is None.
  • Fix miscellaneous bugs found with mypy.
  • fastobo serializer crashing on namespace clauses because of a type
    issue.
  • fastobo parsers using data version clauses as format version clauses.
pronto - 1.1.5

Published by althonos almost 5 years ago

Changed

  • Bumped fastobo to v0.7.0, switching parser implementation to use
    multi-threading in order to speedup the parser process.