Class GeneOntologyServiceImpl
- java.lang.Object
-
- ubic.basecode.ontology.jena.AbstractOntologyService
-
- ubic.basecode.ontology.providers.AbstractOntologyService
-
- ubic.gemma.core.ontology.providers.GeneOntologyServiceImpl
-
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
,OntologyService
,GeneOntologyService
@Service @ParametersAreNonnullByDefault public class GeneOntologyServiceImpl extends AbstractOntologyService implements GeneOntologyService, org.springframework.beans.factory.InitializingBean
- Author:
- pavlidis
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GeneOntologyServiceImpl.GOAspect
-
Nested classes/interfaces inherited from interface ubic.basecode.ontology.providers.OntologyService
OntologyService.InferenceMode, OntologyService.LanguageLevel
-
-
Constructor Summary
Constructors Constructor Description GeneOntologyServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
Map<Long,Collection<OntologyTerm>>
calculateGoTermOverlap(Long queryGene, Collection<Long> geneIds)
Map<Long,Collection<OntologyTerm>>
calculateGoTermOverlap(Gene queryGene, Collection<Long> geneIds)
Given a query Gene, and a collection of gene ids calculates the go term overlap for each pair of queryGene and gene in the given collection.Collection<OntologyTerm>
calculateGoTermOverlap(Gene queryGene1, Gene queryGene2)
void
clearCaches()
Primarily here for testing, to recover memory.Collection<OntologyTerm>
computeOverlap(Collection<OntologyTerm> masterTerms, Collection<OntologyTerm> comparisonTerms)
Collection<OntologySearchResult<OntologyTerm>>
findTerm(String queryString, int maxResults)
Set<OntologyTerm>
getAllParents(Collection<OntologyTerm> entries)
Set<OntologyTerm>
getAllParents(Collection<OntologyTerm> entries, boolean includePartOf)
protected String
getCacheName()
Collection<Gene>
getGenes(String goId, Taxon taxon)
Find genes for a given GO term by GO ID.Collection<Gene>
getGenes(OntologyTerm term, Taxon taxon)
Find genes for a given of GO term.Collection<OntologyTerm>
getGOTerms(Gene gene)
Collection<OntologyTerm>
getGOTerms(Gene gene, boolean includePartOf, GeneOntologyServiceImpl.GOAspect goAspect)
Get all GO terms for a gene, including parents of terms via is-a relationships; and optionally also parents via part-of relationships.protected String
getOntologyName()
protected String
getOntologyUrl()
OntologyResource
getResource(String goId)
Retrieve a GO resource by ID or URI.OntologyTerm
getTerm(String goId)
Retrieve a GO term by ID or URI.GeneOntologyServiceImpl.GOAspect
getTermAspect(String goId)
GeneOntologyServiceImpl.GOAspect
getTermAspect(Characteristic goId)
String
getTermDefinition(String goId)
Return a definition for a GO ID.Collection<OntologyIndividual>
getTermIndividuals(String goId)
Retrieve a GO individuals by ID or URI.GeneOntologyTermValueObject
getValueObject(OntologyTerm term)
Converts the given Ontology Term to a Gene Ontology Value Object.List<GeneOntologyTermValueObject>
getValueObjects(Collection<OntologyTerm> terms)
Converts the given collection of Ontology Terms to Gene Ontology Value Objects.List<GeneOntologyTermValueObject>
getValueObjects(Gene gene)
Returns GO Terms VOs for the given Gene.void
initialize(InputStream stream, boolean forceIndexing)
boolean
isBiologicalProcess(OntologyTerm term)
protected boolean
isOntologyEnabled()
-
Methods inherited from class ubic.basecode.ontology.jena.AbstractOntologyService
cancelInitializationThread, findIndividuals, findResources, findTerm, findUsingAlternativeId, getAdditionalPropertyUris, getAllURIs, getChildren, getDescription, getExcludedWordsFromStemming, getInferenceMode, getLanguageLevel, getName, getParents, getProcessImports, index, initialize, isEnabled, isInitializationThreadAlive, isInitializationThreadCancelled, isOntologyLoaded, isSearchEnabled, loadModel, loadModelFromStream, loadTermsInNameSpace, setAdditionalPropertyUris, setExcludedWordsFromStemming, setInferenceMode, setLanguageLevel, setProcessImports, setSearchEnabled, startInitializationThread, toString, waitForInitializationThread
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ubic.basecode.ontology.providers.OntologyService
cancelInitializationThread, findIndividuals, findIndividuals, findResources, findResources, findTerm, findUsingAlternativeId, getAdditionalPropertyUris, getAllURIs, getChildren, getChildren, getDescription, getExcludedWordsFromStemming, getInferenceMode, getLanguageLevel, getName, getParents, getParents, getProcessImports, index, initialize, isEnabled, isInitializationThreadAlive, isInitializationThreadCancelled, isOntologyLoaded, isSearchEnabled, loadTermsInNameSpace, setAdditionalPropertyUris, setExcludedWordsFromStemming, setInferenceMode, setLanguageLevel, setProcessImports, setSearchEnabled, startInitializationThread, waitForInitializationThread
-
-
-
-
Method Detail
-
getOntologyName
protected String getOntologyName()
- Specified by:
getOntologyName
in classAbstractOntologyService
-
getOntologyUrl
protected String getOntologyUrl()
- Specified by:
getOntologyUrl
in classAbstractOntologyService
-
isOntologyEnabled
protected boolean isOntologyEnabled()
- Specified by:
isOntologyEnabled
in classAbstractOntologyService
-
getCacheName
@Nullable protected String getCacheName()
- Specified by:
getCacheName
in classAbstractOntologyService
-
afterPropertiesSet
public void afterPropertiesSet()
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
calculateGoTermOverlap
public Map<Long,Collection<OntologyTerm>> calculateGoTermOverlap(Gene queryGene, Collection<Long> geneIds)
Description copied from interface:GeneOntologyService
Given a query Gene, and a collection of gene ids calculates the go term overlap for each pair of queryGene and gene in the given collection. Returns a Map<Gene,Collection<OntologyEntries>>. The key is the gene (from the [queryGene,gene] pair) and the values are a collection of the overlapping ontology entries.
- Specified by:
calculateGoTermOverlap
in interfaceGeneOntologyService
- Parameters:
queryGene
- query genegeneIds
- gene ids- Returns:
- map of gene ids to collections of ontologyTerms. This will always be populated but collection values will be empty when there is no overlap.
-
calculateGoTermOverlap
public Collection<OntologyTerm> calculateGoTermOverlap(Gene queryGene1, Gene queryGene2)
- Specified by:
calculateGoTermOverlap
in interfaceGeneOntologyService
- Parameters:
queryGene1
- query gene 1queryGene2
- query gene 2- Returns:
- Collection>OntologyEntries<s
-
calculateGoTermOverlap
public Map<Long,Collection<OntologyTerm>> calculateGoTermOverlap(Long queryGene, Collection<Long> geneIds)
- Specified by:
calculateGoTermOverlap
in interfaceGeneOntologyService
-
computeOverlap
public Collection<OntologyTerm> computeOverlap(Collection<OntologyTerm> masterTerms, Collection<OntologyTerm> comparisonTerms)
- Specified by:
computeOverlap
in interfaceGeneOntologyService
-
findTerm
public Collection<OntologySearchResult<OntologyTerm>> findTerm(String queryString, int maxResults) throws OntologySearchException
- Specified by:
findTerm
in interfaceOntologyService
- Throws:
OntologySearchException
-
getAllParents
public Set<OntologyTerm> getAllParents(Collection<OntologyTerm> entries)
- Specified by:
getAllParents
in interfaceGeneOntologyService
- Parameters:
entries
- NOTE terms that are in this collection are NOT explicitly included; however, some of them may be included incidentally if they are parents of other terms in the collection.- Returns:
- ontology terms
-
getAllParents
public Set<OntologyTerm> getAllParents(Collection<OntologyTerm> entries, boolean includePartOf)
- Specified by:
getAllParents
in interfaceGeneOntologyService
-
getResource
public OntologyResource getResource(String goId)
Description copied from interface:GeneOntologyService
Retrieve a GO resource by ID or URI.- Specified by:
getResource
in interfaceGeneOntologyService
- Specified by:
getResource
in interfaceOntologyService
- Overrides:
getResource
in classAbstractOntologyService
-
getTerm
public OntologyTerm getTerm(String goId)
Description copied from interface:GeneOntologyService
Retrieve a GO term by ID or URI.- Specified by:
getTerm
in interfaceGeneOntologyService
- Specified by:
getTerm
in interfaceOntologyService
- Overrides:
getTerm
in classAbstractOntologyService
-
getTermIndividuals
public Collection<OntologyIndividual> getTermIndividuals(String goId)
Description copied from interface:GeneOntologyService
Retrieve a GO individuals by ID or URI.- Specified by:
getTermIndividuals
in interfaceGeneOntologyService
- Specified by:
getTermIndividuals
in interfaceOntologyService
- Overrides:
getTermIndividuals
in classAbstractOntologyService
-
getGenes
public Collection<Gene> getGenes(OntologyTerm term, @Nullable Taxon taxon)
Description copied from interface:GeneOntologyService
Find genes for a given of GO term.- Specified by:
getGenes
in interfaceGeneOntologyService
- Returns:
- Collection of all genes in the given taxon that are annotated with the given id, including its child terms in the hierarchy, or null if the GO term is not found
-
getGenes
public Collection<Gene> getGenes(String goId, @Nullable Taxon taxon)
Description copied from interface:GeneOntologyService
Find genes for a given GO term by GO ID.- Specified by:
getGenes
in interfaceGeneOntologyService
- Parameters:
goId
- a GO ID (i.e. GO:000001) or URI- See Also:
GeneOntologyService.getGenes(OntologyTerm, Taxon)
-
getGOTerms
public Collection<OntologyTerm> getGOTerms(Gene gene)
- Specified by:
getGOTerms
in interfaceGeneOntologyService
- Parameters:
gene
- Take a gene and return a set of all GO terms including the parents of each GO term- Returns:
- ontology terms
-
getGOTerms
public Collection<OntologyTerm> getGOTerms(Gene gene, boolean includePartOf, @Nullable GeneOntologyServiceImpl.GOAspect goAspect)
Description copied from interface:GeneOntologyService
Get all GO terms for a gene, including parents of terms via is-a relationships; and optionally also parents via part-of relationships.- Specified by:
getGOTerms
in interfaceGeneOntologyService
- Parameters:
gene
- geneincludePartOf
- include part ofgoAspect
- limit only to the given aspect (pass null to use all)- Returns:
- ontology terms
-
getTermAspect
public GeneOntologyServiceImpl.GOAspect getTermAspect(Characteristic goId)
- Specified by:
getTermAspect
in interfaceGeneOntologyService
-
getTermAspect
public GeneOntologyServiceImpl.GOAspect getTermAspect(String goId)
- Specified by:
getTermAspect
in interfaceGeneOntologyService
- Parameters:
goId
- GO ID e.g. GO:0038128 or URI- Returns:
- aspect if found, null otherwise
-
getTermDefinition
public String getTermDefinition(String goId)
Description copied from interface:GeneOntologyService
Return a definition for a GO ID.- Specified by:
getTermDefinition
in interfaceGeneOntologyService
- Parameters:
goId
- e.g. GO:0094491 or URI- Returns:
- Definition or null if there is no definition.
-
getValueObject
public GeneOntologyTermValueObject getValueObject(OntologyTerm term)
Description copied from interface:GeneOntologyService
Converts the given Ontology Term to a Gene Ontology Value Object.- Specified by:
getValueObject
in interfaceGeneOntologyService
- Parameters:
term
- the term to be converted.- Returns:
- value object representing the given term.
-
getValueObjects
public List<GeneOntologyTermValueObject> getValueObjects(Collection<OntologyTerm> terms)
Description copied from interface:GeneOntologyService
Converts the given collection of Ontology Terms to Gene Ontology Value Objects.- Specified by:
getValueObjects
in interfaceGeneOntologyService
- Parameters:
terms
- the terms to be converted.- Returns:
- collection of value objects representing the given terms.
-
getValueObjects
public List<GeneOntologyTermValueObject> getValueObjects(Gene gene)
Description copied from interface:GeneOntologyService
Returns GO Terms VOs for the given Gene.- Specified by:
getValueObjects
in interfaceGeneOntologyService
- Parameters:
gene
- the Gene to retrieve GO Terms for and convert them to VOs.- Returns:
- Gene Ontology VOs representing all GO Terms associated with the given gene.
-
isBiologicalProcess
public boolean isBiologicalProcess(OntologyTerm term)
- Specified by:
isBiologicalProcess
in interfaceGeneOntologyService
-
clearCaches
public void clearCaches()
Description copied from interface:GeneOntologyService
Primarily here for testing, to recover memory.- Specified by:
clearCaches
in interfaceGeneOntologyService
-
initialize
public void initialize(InputStream stream, boolean forceIndexing)
- Specified by:
initialize
in interfaceOntologyService
- Overrides:
initialize
in classAbstractOntologyService
-
-