Interface CharacteristicDao
- All Superinterfaces:
BaseDao<Characteristic>,BaseVoEnabledDao<Characteristic,,CharacteristicValueObject> BrowsingDao<Characteristic>,FilteringDao<Characteristic>,FilteringVoEnabledDao<Characteristic,CharacteristicValueObject>
- All Known Implementing Classes:
CharacteristicDaoImpl
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbrowse(int start, int limit) Browse through the characteristics, excluding GO annotations.Browse through the characteristics, excluding GO annotations, with sorting.countByValueUriGroupedByNormalizedValue(Collection<String> uris, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Count characteristics matching the provided value URIs.findBestByUri(String uri) Return the characteristic with the most frequently used non-null value by URI.findByCategory(String value) findByCategoryLike(String query, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) findByCategoryUri(String uri, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) findByParentClasses(Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, String category, int maxResults) findByUri(String uri, String category, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Find characteristics with the given URI.findByValue(String search) findByValueLike(String search, String category, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Finds all Characteristics whose value match the given search termfindByValueLikeGroupedByNormalizedValue(String valueLike, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Find characteristics by value matching the provided LIKE pattern.findByValueUriGroupedByNormalizedValue(String valueUri, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Find characteristics by URI.Map<Class<? extends Identifiable>, Map<String, Set<ExpressionExperiment>>> findExperimentReferencesByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, Taxon taxon, int limit, boolean rankByLevel) Similar tofindExperimentsByUris(Collection, boolean, boolean, boolean, Taxon, int, boolean), but returns proxies with instead of initializing all the EEs in bulk.Map<Class<? extends Identifiable>, Map<String, Set<ExpressionExperiment>>> findExperimentsByUris(Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, Taxon taxon, int limit, boolean rankByLevel) This search looks at direct annotations, factor values and biomaterials in that order.Collection<Class<? extends Identifiable>> Obtain the classes of entities can can own aCharacteristic.getParents(Collection<Characteristic> characteristics, Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Obtain the parents (i.e.Methods inherited from interface ubic.gemma.persistence.service.BaseDao
countAll, create, create, find, findOrCreate, getElementClass, load, load, loadAll, loadReference, loadReference, reload, reload, remove, remove, remove, save, save, streamAll, streamAll, update, updateMethods inherited from interface ubic.gemma.persistence.service.BaseVoEnabledDao
loadAllValueObjects, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjectsByIdsMethods inherited from interface ubic.gemma.persistence.service.FilteringDao
count, getFilter, getFilter, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyDescription, getFilterablePropertyType, getSort, isFilterablePropertyDeprecated, isFilterablePropertyUsingSubquery, load, load, loadIdsMethods inherited from interface ubic.gemma.persistence.service.FilteringVoEnabledDao
loadValueObjects, loadValueObjects
-
Method Details
-
browse
Browse through the characteristics, excluding GO annotations.- Specified by:
browsein interfaceBrowsingDao<Characteristic>- Parameters:
start- How far into the list to startlimit- Maximum records to retrieve (might be subject to security filtering)- Returns:
- characteristics
-
browse
Browse through the characteristics, excluding GO annotations, with sorting.- Specified by:
browsein interfaceBrowsingDao<Characteristic>- Parameters:
start- query offsetlimit- maximum amount of entriessortField- order fielddescending- order direction- Returns:
- characteristics
-
findByParentClasses
Collection<Characteristic> findByParentClasses(@Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, @Nullable String category, int maxResults) -
findByCategory
-
findByCategoryLike
Collection<Characteristic> findByCategoryLike(String query, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) -
findByCategoryUri
Collection<Characteristic> findByCategoryUri(String uri, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) -
findExperimentsByUris
Map<Class<? extends Identifiable>,Map<String, findExperimentsByUrisSet<ExpressionExperiment>>> (Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, @Nullable Taxon taxon, int limit, boolean rankByLevel) This search looks at direct annotations, factor values and biomaterials in that order.Resulting EEs are filtered by ACLs.
The returned collection of EEs is effectively a
Set, but since we cannot use since this should be interchangable withfindExperimentReferencesByUris(Collection, boolean, boolean, boolean, Taxon, int, boolean).Ranking results by level guarantees correctness if a limit is used as datasets matched by direct annotation will be considered before those matched by factor values or biomaterials. It is however expensive.
- Parameters:
uris- collection of URIs used for matching characteristics (viaCharacteristic.getValueUri())includeSubjects- lookup subjects (or values for regular characteristics)includePredicates- lookup predicates (only applicable toStatements)includeObjects- lookup objects (only applicable toStatements)taxon- taxon to restrict EEs to, or null to ignorelimit- limit how many results to return. Set to -1 for no limit.rankByLevel- rank results by level before limiting, has no effect if limit is -1- Returns:
- map of classes (
ExpressionExperiment,FactorValue,BioMaterial) to the matching URI to EEs which have an associated characteristic using the given URI. The class lets us track where the annotation was.
-
findExperimentReferencesByUris
Map<Class<? extends Identifiable>,Map<String, findExperimentReferencesByUrisSet<ExpressionExperiment>>> (Collection<String> uris, boolean includeSubjects, boolean includePredicates, boolean includeObjects, @Nullable Taxon taxon, int limit, boolean rankByLevel) Similar tofindExperimentsByUris(Collection, boolean, boolean, boolean, Taxon, int, boolean), but returns proxies with instead of initializing all the EEs in bulk.- See Also:
-
findByUri
Collection<Characteristic> findByUri(String uri, @Nullable String category, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Find characteristics with the given URI.- Parameters:
category- restrict the category of the characteristic, or null to ignoreparentClasses- only return characteristics that have parents of these classes, or null to ignoreincludeNoParents- include characteristics that have no parentsmaxResults- maximum number of results to return, or -1 for no limit
-
findBestByUri
Return the characteristic with the most frequently used non-null value by URI. -
findByValueUriGroupedByNormalizedValue
Map<String,Characteristic> findByValueUriGroupedByNormalizedValue(String valueUri, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Find characteristics by URI.The mapping key is the normalized value of the characteristics as per
CharacteristicUtils.getNormalizedValue(Characteristic). -
findByValueLikeGroupedByNormalizedValue
Map<String,Characteristic> findByValueLikeGroupedByNormalizedValue(String valueLike, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Find characteristics by value matching the provided LIKE pattern.The mapping key is the normalized value of the characteristics as per
CharacteristicUtils.getNormalizedValue(Characteristic). -
countByValueUriGroupedByNormalizedValue
Map<String,Long> countByValueUriGroupedByNormalizedValue(Collection<String> uris, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Count characteristics matching the provided value URIs.The mapping key is the normalized value of the characteristics as per
CharacteristicUtils.getNormalizedValue(Characteristic). -
findByValue
-
findByValueLike
Collection<Characteristic> findByValueLike(String search, @Nullable String category, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents, int maxResults) Finds all Characteristics whose value match the given search term- Parameters:
category- constraint the category of the characteristic, or null to ignore
-
getParentClasses
Collection<Class<? extends Identifiable>> getParentClasses()Obtain the classes of entities can can own aCharacteristic. -
getParents
Map<Characteristic,Identifiable> getParents(Collection<Characteristic> characteristics, @Nullable Collection<Class<? extends Identifiable>> parentClasses, boolean includeNoParents) Obtain the parents (i.e. owners) of the given characteristics.- Parameters:
characteristics- characteristics to find parents forparentClasses- restrict the parents to these classes, all parents are returned if null. If supplied, at least one parent must be provided unless includeNoParents is true.includeNoParents- include characteristics that have no parents, those will be mapped explicitly tonull.- Returns:
- the supplied characteristics mapped to their parents, or
nullif the characteristic has no parent and includeNoParents is true. A characteristic may not have multiple parents.
-