Implementation of a Bloom-filter, as described here:
http://en.wikipedia.org/wiki/Bloom_filter
Inspired by the SimpleBloomFilter-class written by Ian Clarke.
if alwaysAssertSuperClasses then ensure
that superclasses are always asserted for every equivalence
axiom, except in the case where a more specific superclass is already
in the set of inferences.
Constructs view ontology (PVO) from source ontology (SO), such that every class C in SO
has a corresponding view class C', such that C' == P some C
The PVO imports both the SO, and the elements ontology
Also prepares the inferred view ontology (IPVO)
You must call buildInferredViewOntology yourself
(because you need to set up the reasoner object yourself)
implements a graph closure writer suitable for imports into Chado; in particular:
(i) all identifiers are translated to OBO IDs
(ii) relationship chains of length > 1 are ignored
(iii) SUBCLASS is written as is_a, and only existential restrictions are emitted
Composes two graph edges into a new edge, using axioms in the ontology to determine the correct composition
For example, Edge(x,SUBCLASS_OF,y) * Edge(y,SUBCLASS_OF,z) yields Edge(x,SUBCLASS_OF,z)
Note that property chains of length>2 are currently ignored
score is the IC of the intersection of all attributes divided my min IC of a or b
it's recommended this used as a sub-method of a MultiSimilarity check
pack/translate an edge (either asserted or a graph closure edge) into
an OWL class expression according to the OWLGraph to OWLOntology
translation rules.
Gets the textual definition of an OWLObject
assumes zero or one def
It returns the definition text (encoded as def in obo format and IAO_0000115 annotation property in OWL format) of a class
The IC of an OWLObject is
freq(Obj)/corpusSize
here the frequency of an object is the number of individuals with a graph path up to the object,
and the corpus size is the number of individuals in the graph
Returns the OWLObject with this IRI
Must have been declared in one of the ontologies
Currently OWLObject must be one of OWLClass, OWLObjectProperty or OWLNamedIndividual
If the ontology employs punning and there different entities with the same IRI, then
the order of precedence is OWLClass then OWLObjectProperty then OWLNamedIndividual
Here a dangling entity is one that has no annotation assertions;
this is not a perfect test, as conceivable a class could lack
assertions; however, this would not be the case for any ontology
following obo library principles.
A class is excluded from the analysis if:
it is a named entity, and the label for that entity matches the exclude labels list
OR: it is a class expression, and the signature contains an excluded class
Author : Neeral Beladia
Date Created : September 5, 2010
Class Purpose : The Main Class is the kickoff Class consisting of Main() method
Methods : Main()
printhash()
Program Logic : 1.
Main() -
Constructor for class owltools.phenolog.Main
Render a portion of an ontology using the QuickGO graphics code
This should be capable of rendering relationships between any OWLObjects - as well as
class hierarchies, also object property hierarchies.
If AxiomType is ClassAssertion, then axioms will be of form
ClassAssertion(sub obj)
If AxiomType is SubClassOf, then axioms will be of form
SubClassOf(sub obj)
if a property P is specified, then obj is transformed to a class expression "P some obj'"
where obj' is the original value for obj