\Header{OOC-class}{Class "OOC" object-ontology complex}
\alias{coverageMat}{OOC-class}
\alias{coverageMat,OOC-method}{OOC-class}
\alias{makeOOC}{OOC-class}
\alias{ontology,OOC-method}{OOC-class}
\alias{OOmap}{OOC-class}
\alias{OOmap,OOC-method}{OOC-class}
\alias{show,OOC-method}{OOC-class}
\keyword{classes}{OOC-class}
\begin{Description}\relax
Object that binds ontology (structured vocabulary) with
an object-term map.
\end{Description}
\begin{Section}{Objects from the Class}
Objects can be created by calls of the form \code{new("OOC", ...)}.
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{ontology}:] Object of class \code{"ontology"} instance of ontoTools::ontology 
\item[\code{OOmap}:] Object of class \code{"namedSparse"} SparseM::matrix.csr bound with dimnames facilities 
}
\end{Section}
\begin{Section}{Methods}
\describe{
\item[coverageMat] \code{signature(x = "OOC")}: return a namedSparse
incidence matrix with r,c element indicating whether term c covers
object r  
\item[ontology] \code{signature(x = "OOC")}: accessor 
\item[OOmap] \code{signature(x = "OOC")}: accessor 
\item[show] \code{signature(object = "OOC")}: concise printer 
}
\end{Section}
\begin{Author}\relax
VJ Carey <stvjc@channing.harvard.edu>
\end{Author}
\begin{Examples}
\begin{ExampleCode}
data(litOnto)
g1 <- new("rootedDAG", DAG=litOnto, root="A")
o1 <- new("ontology", name="demo", version="0.1",
        rDAG=g1)
kvlist <- list(W="E", X="K", Y="B", Z=c("D","G"))
litMap <- otkvList2namedSparse( names(kvlist), LETTERS[1:12], kvlist )
print(litMap)
ooc1 <- makeOOC( o1, litMap )
show(ooc1)
print(coverageMat(ooc1))
# note the following will be slow with large OOCs
print(conceptProbs(ooc1))
# for larger OOCs it is useful to precompute the accessibility
# matrix of the ontology and the map from objects to terms -- these
# can be supplied as additional arguments to conceptProbs
\end{ExampleCode}
\end{Examples}

