Interface ExpressionExperimentService
-
- All Superinterfaces:
BaseImmutableService<ExpressionExperiment>
,BaseReadOnlyService<ExpressionExperiment>
,BaseService<ExpressionExperiment>
,BaseVoEnabledService<ExpressionExperiment,ExpressionExperimentValueObject>
,FilteringService<ExpressionExperiment>
,FilteringVoEnabledService<ExpressionExperiment,ExpressionExperimentValueObject>
,SecurableBaseImmutableService<ExpressionExperiment>
,SecurableBaseReadOnlyService<ExpressionExperiment>
,SecurableBaseService<ExpressionExperiment>
,SecurableBaseVoEnabledService<ExpressionExperiment,ExpressionExperimentValueObject>
,SecurableFilteringVoEnabledService<ExpressionExperiment,ExpressionExperimentValueObject>
- All Known Implementing Classes:
ExpressionExperimentServiceImpl
public interface ExpressionExperimentService extends SecurableBaseService<ExpressionExperiment>, SecurableFilteringVoEnabledService<ExpressionExperiment,ExpressionExperimentValueObject>
- Author:
- kelsey
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ExpressionExperimentService.CharacteristicWithUsageStatisticsAndOntologyTerm
-
Field Summary
Fields Modifier and Type Field Description static String
FREE_TEXT
Special indicator for free-text terms.static String
UNCATEGORIZED
Special indicator for uncategorized terms.
-
Method Summary
-
Methods inherited from interface ubic.gemma.persistence.service.BaseReadOnlyService
countAll, getElementClass
-
Methods inherited from interface ubic.gemma.persistence.service.FilteringService
count, getFilter, getFilter, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyConfigAttributes, getFilterablePropertyDescription, getFilterablePropertyIsUsingSubquery, getFilterablePropertyResolvableAllowedValuesLabels, getFilterablePropertyType, getIdentifierPropertyName, getSort
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseImmutableService
create, create, findOrCreate, remove, remove, remove
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseReadOnlyService
find, findOrFail, load, load, loadAll, loadOrFail, loadOrFail, loadOrFail, loadOrFail, streamAll, streamAll
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseService
save, save, update, update
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseVoEnabledService
loadAllValueObjects, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjectsByIds
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableFilteringVoEnabledService
load, load, loadIds, loadValueObjects, loadValueObjects
-
-
-
-
Field Detail
-
FREE_TEXT
static final String FREE_TEXT
Special indicator for free-text terms.- See Also:
ExpressionExperimentDao.FREE_TEXT
-
UNCATEGORIZED
static final String UNCATEGORIZED
Special indicator for uncategorized terms.- See Also:
ExpressionExperimentDao.UNCATEGORIZED
-
-
Method Detail
-
loadReference
@Nonnull ExpressionExperiment loadReference(Long id)
-
loadReferences
Collection<ExpressionExperiment> loadReferences(Collection<Long> ids)
Load references for the given experiment IDs.
-
loadAllReferences
Collection<ExpressionExperiment> loadAllReferences()
Load references for all experiments.References are pre-filtered for ACLs as per
SecurableFilteringVoEnabledService.loadIds(Filters, Sort)
.
-
loadWithAuditTrail
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment loadWithAuditTrail(Long id)
Load an experiment with its audit trail initialized.
-
loadTroubledIds
@Secured("IS_AUTHENTICATED_ANONYMOUSLY") List<Long> loadTroubledIds()
Load troubled experiment IDs.- See Also:
CuratableDao.loadTroubledIds()
-
loadAllIdAndName
SortedMap<Long,String> loadAllIdAndName()
Load all ID and name pairs.Results are filtered by ACLs at the query-level.
-
loadAllShortNameAndName
SortedMap<String,String> loadAllShortNameAndName()
Load all short name and name pairs.Results are filtered by ACLs at the query-level.
-
reload
ExpressionExperiment reload(ExpressionExperiment ee)
- See Also:
BaseDao.reload(Object)
-
addFactor
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) ExperimentalFactor addFactor(ExpressionExperiment ee, ExperimentalFactor factor)
-
addFactorValue
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) FactorValue addFactorValue(ExpressionExperiment ee, FactorValue fv)
- Parameters:
ee
- experiment.fv
- must already have the experimental factor filled in.
-
addFactorValues
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void addFactorValues(ExpressionExperiment ee, Map<BioMaterial,FactorValue> fvs)
Intended with the case of a continuous factor being added.
-
getRawDataVectors
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<RawExpressionDataVector> getRawDataVectors(ExpressionExperiment ee, QuantitationType qt)
-
getRawDataVectors
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<RawExpressionDataVector> getRawDataVectors(ExpressionExperiment ee, List<BioAssay> samples, QuantitationType qt)
-
addRawDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int addRawDataVectors(ExpressionExperiment eeToUpdate, QuantitationType quantitationType, Collection<RawExpressionDataVector> newVectors)
Used when we want to add data for a quantitation type. Does not remove any existing vectors.- Parameters:
eeToUpdate
- experiment to be updated.newVectors
- vectors to be added.- Returns:
- the number of added vectors
-
replaceRawDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int replaceRawDataVectors(ExpressionExperiment ee, QuantitationType quantitationType, Collection<RawExpressionDataVector> vectors)
-
replaceAllRawDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int replaceAllRawDataVectors(ExpressionExperiment ee, Collection<RawExpressionDataVector> vectors)
Used when we are replacing data, such as when converting an experiment from one platform to another. Examples would be exon array or RNA-seq data sets, or other situations where we are replacing data. Does not take care of computing the processed data vectors, but it does clear them out.- Parameters:
ee
- experimentvectors
- If they are from more than one platform, that will be dealt with.- Returns:
- the number of vectors replaced
-
removeAllRawDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int removeAllRawDataVectors(ExpressionExperiment ee)
-
removeRawDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int removeRawDataVectors(ExpressionExperiment ee, QuantitationType qt)
-
removeRawDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int removeRawDataVectors(ExpressionExperiment ee, QuantitationType qt, boolean keepDimension)
-
getProcessedDataVectors
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Optional<Collection<ProcessedExpressionDataVector>> getProcessedDataVectors(ExpressionExperiment ee)
- Returns:
- a collection of processed data vectors for the given experiment and list of assays, or
Optional.empty()
if there are no processed vectors - See Also:
ExpressionExperimentDao.getProcessedDataVectors(ExpressionExperiment)
-
getProcessedDataVectors
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Optional<Collection<ProcessedExpressionDataVector>> getProcessedDataVectors(ExpressionExperiment ee, List<BioAssay> assays)
- Returns:
- a collection of processed data vectors for the given experiment and list of assays, or
Optional.empty()
if there are no processed vectors - See Also:
ExpressionExperimentDao.getProcessedDataVectors(ExpressionExperiment, List)
-
createProcessedDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int createProcessedDataVectors(ExpressionExperiment ee, Collection<ProcessedExpressionDataVector> vectors)
Create a new set of processed vectors for an experiment.You might actually want to use
ProcessedExpressionDataVectorService.createProcessedDataVectors(ExpressionExperiment, boolean, boolean)
as this method is fairly low-level.
-
replaceProcessedDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int replaceProcessedDataVectors(ExpressionExperiment ee, Collection<ProcessedExpressionDataVector> vectors)
Replace the processed data vectors for the given experiment.You might actually want to use
ProcessedExpressionDataVectorService.replaceProcessedDataVectors(ExpressionExperiment, Collection, boolean)
(ExpressionExperiment)}. as this method is fairly low-level.
-
removeProcessedDataVectors
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) int removeProcessedDataVectors(ExpressionExperiment ee)
Remove the processed data vectors for the given experiment.You might actually want to use
ProcessedExpressionDataVectorService.removeProcessedDataVectors(ExpressionExperiment)
. as this method is fairly low-level.
-
browse
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) List<ExpressionExperiment> browse(int start, int limit)
-
filter
Collection<Long> filter(String searchString) throws SearchException
returns ids of search results.- Parameters:
searchString
- search string- Returns:
- collection of ids or an empty collection.
- Throws:
SearchException
-
filterByTaxon
Collection<Long> filterByTaxon(Collection<Long> ids, Taxon taxon)
Remove IDs of Experiments that are not from the given taxon.- Parameters:
ids
- collection to purge.taxon
- taxon to retain.- Returns:
- purged IDs.
-
loadWithCharacteristics
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment loadWithCharacteristics(Long id)
-
loadBioAssaySet
@Nullable BioAssaySet loadBioAssaySet(Long id)
Load aBioAssaySet
by ID which can be either aExpressionExperiment
or aExpressionExperimentSubSet
.
-
loadAndThawLiteOrFail
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) <T extends Exception> ExpressionExperiment loadAndThawLiteOrFail(Long id, Function<String,T> exceptionSupplier, String message) throws T extends Exception
Load an experiment and thaw it as perthawLite(ExpressionExperiment)
or fail with the supplied exception and message.- Throws:
T extends Exception
-
loadAndThaw
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment loadAndThaw(Long id)
Load an experiment and thaw it as perthaw(ExpressionExperiment)
.
-
loadAndThawLiteWithRefreshCacheMode
@Nullable @Secured({"GROUP_ADMIN","AFTER_ACL_READ"}) ExpressionExperiment loadAndThawLiteWithRefreshCacheMode(Long id)
Load an experiment without cache and thaw it as perthaw(ExpressionExperiment)
withCacheMode.REFRESH
.This has the side effect of refreshing the cache with the latest data. Since this can be expensive, only administrators are allowed to do this.
-
loadAndThawOrFail
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) <T extends Exception> ExpressionExperiment loadAndThawOrFail(Long id, Function<String,T> exceptionSupplier, String message) throws T extends Exception
Load an experiment and thaw it as perthawLite(ExpressionExperiment)
or fail with the supplied exception and message.- Throws:
T extends Exception
-
loadValueObjectsWithCache
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) Slice<ExpressionExperimentValueObject> loadValueObjectsWithCache(@Nullable Filters filters, @Nullable Sort sort, int offset, int limit)
-
loadWithPrimaryPublication
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment loadWithPrimaryPublication(Long id)
-
loadWithMeanVarianceRelation
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment loadWithMeanVarianceRelation(Long id)
-
findByAccession
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByAccession(DatabaseEntry accession)
- Parameters:
accession
- accession- Returns:
- Experiments which have the given accession. There can be more than one, because one GEO accession can result in multiple experiments in Gemma.
-
findByAccession
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByAccession(String accession)
-
findOneByAccession
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment findOneByAccession(String accession)
-
findByBibliographicReference
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByBibliographicReference(BibliographicReference bibRef)
- Parameters:
bibRef
- bibliographic reference- Returns:
- a collection of EE that have that reference that BibliographicReference
-
findByBioAssay
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment findByBioAssay(BioAssay ba)
- Parameters:
ba
- bio material- Returns:
- experiment the given bioassay is associated with
-
findByBioMaterial
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) Collection<ExpressionExperiment> findByBioMaterial(BioMaterial bm)
- Parameters:
bm
- bio material- Returns:
- experiment the given biomaterial is associated with
-
findByExpressedGene
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByExpressedGene(Gene gene, double rank)
- Parameters:
gene
- generank
- rank- Returns:
- a collection of expression experiment ids that express the given gene above the given expression level
-
findByDesign
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment findByDesign(ExperimentalDesign ed)
-
findByFactor
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment findByFactor(ExperimentalFactor factor)
-
findByFactorValue
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment findByFactorValue(FactorValue factorValue)
-
findByFactorValue
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment findByFactorValue(Long factorValueId)
-
findByFactorValues
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_MAP_READ"}) Map<ExpressionExperiment,FactorValue> findByFactorValues(Collection<FactorValue> factorValues)
-
findByGene
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByGene(Gene gene)
- Parameters:
gene
- gene- Returns:
- a collection of expression experiments that have an AD that detects the given Gene (ie a probe on the AD hybridizes to the given Gene)
-
findByName
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByName(String name)
-
findOneByName
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment findOneByName(String name)
-
findByQuantitationType
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ExpressionExperiment findByQuantitationType(QuantitationType type)
-
findByShortName
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ExpressionExperiment findByShortName(String shortName)
-
findByTaxon
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findByTaxon(Taxon taxon)
-
findByUpdatedLimit
@Secured({"GROUP_AGENT","AFTER_ACL_COLLECTION_READ"}) List<ExpressionExperiment> findByUpdatedLimit(int limit)
-
findUpdatedAfter
@Secured({"GROUP_AGENT","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> findUpdatedAfter(Date date)
-
getAnnotationCountsByIds
Map<Long,Long> getAnnotationCountsByIds(Collection<Long> ids)
- Parameters:
ids
- ids- Returns:
- the map of ids to number of terms associated with each expression experiment.
-
getAnnotations
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Set<AnnotationValueObject> getAnnotations(ExpressionExperiment ee)
Retrieve annotations for a given experiment.The following are included:
- Experiment-level tags
- Experimental design tags
- Sample-level tags
-
getAnnotations
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Set<AnnotationValueObject> getAnnotations(ExpressionExperimentSubSet ee)
Retrieve annotations for a given experiment subset.The following are included:
- Experiment-level tags
- Subset-level tags
- Experimental design tags minus the subset factor
- Sample-level tags for the samples within the subset
-
getFiltersWithInferredAnnotations
Filters getFiltersWithInferredAnnotations(Filters f, @Nullable Collection<OntologyTerm> mentionedTerms, @Nullable Collection<OntologyTerm> inferredTerms, long timeout, TimeUnit timeUnit) throws TimeoutException
Apply ontological inference to augment a filter with additional terms.- Parameters:
mentionedTerms
- if non-null, all the terms explicitly mentioned in the filters are added to the collection.inferredTerms
- if non-null, all the terms inferred from those mentioned in the filters are added to the collection- Throws:
TimeoutException
-
getNumberOfDesignElementsPerSample
Map<BioAssay,Long> getNumberOfDesignElementsPerSample(ExpressionExperiment expressionExperiment)
Obtain the number of design elements for the platform of each bioassay in the given experiment.
-
getCategoriesUsageFrequency
Map<Characteristic,Long> getCategoriesUsageFrequency(@Nullable Filters filters, @Nullable Set<Long> extraIds, @Nullable Collection<String> excludedCategoryUris, @Nullable Collection<String> excludedTermUris, @Nullable Collection<String> retainedTermUris, int maxResults)
Obtain category usage frequency for datasets matching the given filter.- Parameters:
filters
- filters restricting the terms to a given set of datasetsexcludedCategoryUris
- ensure that the given category URIs are excludedexcludedTermUris
- ensure that the given term URIs and their sub-terms (as persubClassOf
relation) are excluded; this requires relevant ontologies to be loaded inOntologyService
.retainedTermUris
- ensure that the given terms are retained (overrides any exclusion from minFrequency and excludedTermUris)maxResults
- maximum number of results to return
-
getAnnotationsUsageFrequency
List<ExpressionExperimentService.CharacteristicWithUsageStatisticsAndOntologyTerm> getAnnotationsUsageFrequency(@Nullable Filters filters, @Nullable Set<Long> extraIds, @Nullable String category, @Nullable Collection<String> excludedCategoryUris, @Nullable Collection<String> excludedTermUris, int minFrequency, @Nullable Collection<String> retainedTermUris, int maxResults, long timeout, TimeUnit timeUnit) throws TimeoutException
Obtain annotation usage frequency for datasets matching the given filters.Terms may originate from the experiment tags, experimental design or samples.
The implementation uses a denormalized table for associating EEs to characteristics which is not always in sync if new terms are attached.
- Parameters:
filters
- filters restricting the terms to a given set of datasetscategory
- a category to restrict annotations to, or null to include all categoriesexcludedCategoryUris
- ensure that the given category URIs are excludedexcludedTermUris
- ensure that the given term URIs and their sub-terms (as persubClassOf
relation) are excluded; this requires relevant ontologies to be loaded inOntologyService
.minFrequency
- minimum occurrences of a term to be included in the resultsretainedTermUris
- ensure that the given terms are retained (overrides any exclusion from minFrequency and excludedTermUris)maxResults
- maximum number of results to return- Returns:
- mapping annotations grouped by category and term (URI or value if null) to their number of occurrences in the matched datasets and ordered in descending number of associated experiments
- Throws:
TimeoutException
- See Also:
ExpressionExperimentDao.getAnnotationsUsageFrequency(Collection, Class, int, int, String, Collection, Collection, Collection)
-
getArrayDesignsUsed
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ArrayDesign> getArrayDesignsUsed(BioAssaySet expressionExperiment)
- Parameters:
expressionExperiment
- experiment- Returns:
- a collection of ArrayDesigns referenced by any of the BioAssays that make up the given ExpressionExperiment.
-
getArrayDesignsUsed
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ArrayDesign> getArrayDesignsUsed(ExpressionExperiment ee, QuantitationType qt)
Obtain a collection ofArrayDesign
used by a specific set of vectors.The type of vectors is inferred.
-
getArrayDesignsUsed
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ArrayDesign> getArrayDesignsUsed(ExpressionExperiment ee, QuantitationType qt, Class<? extends DataVector> vectorType)
Obtain a collection ofArrayDesign
used by a specific set of vectors.
-
getGenesUsedByPreferredVectors
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<Gene> getGenesUsedByPreferredVectors(ExpressionExperiment experimentConstraint)
Retrieve the genes used by the preferred vectors of this experiment.
-
getTechnologyTypeUsageFrequency
Map<TechnologyType,Long> getTechnologyTypeUsageFrequency(@Nullable Filters filters, @Nullable Set<Long> extraIds)
-
getArrayDesignUsedOrOriginalPlatformUsageFrequency
Map<ArrayDesign,Long> getArrayDesignUsedOrOriginalPlatformUsageFrequency(@Nullable Filters filters, @Nullable Set<Long> extraIds, int maxResults)
Calculate the usage frequency of platforms by the datasets matching the provided filters.- Parameters:
filters
- a set of filters to be applied as perSecurableFilteringVoEnabledService.load(Filters, Sort, int, int)
maxResults
- the maximum of results, or unlimited if less than 1
-
getTaxaUsageFrequency
Map<Taxon,Long> getTaxaUsageFrequency(@Nullable Filters filters, @Nullable Set<Long> extraIds)
Calculate the usage frequency of taxa by the datasets matching the provided filters.If no filters are supplied (either being null or empty), the
getPerTaxonCount()
fast path is used.- See Also:
getPerTaxonCount()
-
getBioAssayDimensions
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<BioAssayDimension> getBioAssayDimensions(ExpressionExperiment expressionExperiment)
- Parameters:
expressionExperiment
- experiment- Returns:
- the BioAssayDimensions for the study.
-
getBioAssayDimensionsFromSubSets
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<BioAssayDimension> getBioAssayDimensionsFromSubSets(ExpressionExperiment expressionExperiment)
Retrieve all the dimensions that are linked to the subsets of the given experiment.
-
getBioAssayDimension
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) BioAssayDimension getBioAssayDimension(ExpressionExperiment ee, QuantitationType qt, Class<? extends BulkExpressionDataVector> dataVectorType)
-
getBioAssayDimension
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) BioAssayDimension getBioAssayDimension(ExpressionExperiment ee, QuantitationType qt)
-
getBioAssayDimensionWithAssays
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) BioAssayDimension getBioAssayDimensionWithAssays(ExpressionExperiment ee, QuantitationType qt)
Obtain aBioAssayDimension
with its assays initialized as perThaws.thawBioAssay(BioAssay)
.
-
getBioAssayDimensionById
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) BioAssayDimension getBioAssayDimensionById(ExpressionExperiment ee, Long dimensionId, Class<? extends BulkExpressionDataVector> dataVectorType)
-
getBioAssayDimensionById
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) BioAssayDimension getBioAssayDimensionById(ExpressionExperiment ee, Long dimensionId)
Find aBioAssayDimension
by ID.This is less efficient than
getBioAssayDimensionById(ExpressionExperiment, Long, Class)
because all bulk vector types need to be inspected.
-
getBioMaterialCount
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long getBioMaterialCount(ExpressionExperiment expressionExperiment)
- Parameters:
expressionExperiment
- experiment- Returns:
- the amount of biomaterials associated with the given expression experiment.
-
getRawDataVectorCount
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long getRawDataVectorCount(ExpressionExperiment ee)
-
getExperimentsWithOutliers
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> getExperimentsWithOutliers()
-
getLastArrayDesignUpdate
@Secured("IS_AUTHENTICATED_ANONYMOUSLY") Map<Long,Date> getLastArrayDesignUpdate(Collection<ExpressionExperiment> expressionExperiments)
-
getLastArrayDesignUpdate
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Date getLastArrayDesignUpdate(ExpressionExperiment expressionExperiment)
- Parameters:
expressionExperiment
- experiment- Returns:
- the date of the last time any of the array designs associated with this experiment were updated.
-
getLastLinkAnalysis
Map<Long,AuditEvent> getLastLinkAnalysis(Collection<Long> ids)
- Parameters:
ids
- ids- Returns:
- AuditEvents of the latest link analyses for the specified expression experiment ids. This returns a map of id -> AuditEvent. If the events do not exist, the map entry will point to null.
-
getLastMissingValueAnalysis
Map<Long,AuditEvent> getLastMissingValueAnalysis(Collection<Long> ids)
- Parameters:
ids
- ids- Returns:
- AuditEvents of the latest missing value analysis for the specified expression experiment ids. This returns a map of id -> AuditEvent. If the events do not exist, the map entry will point to null.
-
getLastProcessedDataUpdate
Map<Long,AuditEvent> getLastProcessedDataUpdate(Collection<Long> ids)
- Parameters:
ids
- ids- Returns:
- AuditEvents of the latest rank computation for the specified expression experiment ids. This returns a map of id -> AuditEvent. If the events do not exist, the map entry will point to null.
-
getPerTaxonCount
Map<Taxon,Long> getPerTaxonCount()
- Returns:
- counts of expression experiments grouped by taxon
-
getPopulatedFactorCounts
Map<Long,Long> getPopulatedFactorCounts(Collection<Long> ids)
- Parameters:
ids
- ids- Returns:
- map of ids to how many factor values the experiment has, counting only factor values which are associated with biomaterials.
-
getPopulatedFactorCountsExcludeBatch
Map<Long,Long> getPopulatedFactorCountsExcludeBatch(Collection<Long> ids)
- Parameters:
ids
- ids- Returns:
- map of ids to how many factor values the experiment has, counting only factor values which are associated with biomaterials and only factors that aren't batch
-
getPreferredQuantitationType
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Optional<QuantitationType> getPreferredQuantitationType(ExpressionExperiment ee)
Iterates over the quantitation types for a given expression experiment and returns the preferred quantitation types.- Parameters:
ee
- experiment- Returns:
- quantitation types
-
getProcessedQuantitationType
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Optional<QuantitationType> getProcessedQuantitationType(ExpressionExperiment ee)
-
hasProcessedExpressionData
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) boolean hasProcessedExpressionData(ExpressionExperiment ee)
Test if the given experiment has processed data vectors.
-
getQuantitationTypeCount
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<QuantitationType,Long> getQuantitationTypeCount(ExpressionExperiment ee)
- Returns:
- counts design element data vectors grouped by quantitation type
-
getQuantitationTypes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<QuantitationType> getQuantitationTypes(ExpressionExperiment expressionExperiment)
Retrieve all the quantitation types used by the given expression experiment.
-
getQuantitationTypesByVectorType
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<Class<? extends DataVector>,Set<QuantitationType>> getQuantitationTypesByVectorType(ExpressionExperiment ee)
-
getQuantitationTypes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<QuantitationType> getQuantitationTypes(ExpressionExperiment expressionExperiment, BioAssayDimension dimension)
Retrieve all the quantitation types used by the given experiment and dimension.
-
getQuantitationTypes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<QuantitationType> getQuantitationTypes(ExpressionExperiment expressionExperiment, BioAssayDimension dimension, Class<? extends BulkExpressionDataVector> dataVectorType)
-
getQuantitationTypeValueObjects
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<QuantitationTypeValueObject> getQuantitationTypeValueObjects(ExpressionExperiment expressionExperiment)
Load allQuantitationType
associated to an expression experiment as VOs.
-
getSampleRemovalEvents
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_MAP_READ"}) Map<ExpressionExperiment,Collection<AuditEvent>> getSampleRemovalEvents(Collection<ExpressionExperiment> expressionExperiments)
-
getSubSetsWithBioAssays
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ExpressionExperimentSubSet> getSubSetsWithBioAssays(ExpressionExperiment expressionExperiment)
Obtain all the subsets for a given dataset.
-
getSubSetsWithCharacteristics
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ExpressionExperimentSubSet> getSubSetsWithCharacteristics(ExpressionExperiment ee)
Obtain all the subsets for a given dataset.Subsets characteristics are initialized and assays are thawed as per
Thaws.thawBioAssay(BioAssay)
.
-
getSubSetsByDimension
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<BioAssayDimension,Set<ExpressionExperimentSubSet>> getSubSetsByDimension(ExpressionExperiment expressionExperiment)
Obtain all the subsets organized by dimension for a given dataset.
-
getSubSetsByDimensionWithBioAssays
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<BioAssayDimension,Set<ExpressionExperimentSubSet>> getSubSetsByDimensionWithBioAssays(ExpressionExperiment expressionExperiment)
Obtain all the subsets organized by dimension for a given dataset.Assays are thawed as per
Thaws.thawBioAssay(BioAssay)
.
-
getSubSets
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ExpressionExperimentSubSet> getSubSets(ExpressionExperiment expressionExperiment, BioAssayDimension dimension)
Obtain the subsets for a particular dimension.
-
getSubSetsWithBioAssays
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ExpressionExperimentSubSet> getSubSetsWithBioAssays(ExpressionExperiment expressionExperiment, BioAssayDimension dimension)
Obtain the subsets for a particular dimension.Assays are lightly thawed.
-
getSubSetsByFactorValue
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<ExperimentalFactor,Map<FactorValue,ExpressionExperimentSubSet>> getSubSetsByFactorValue(ExpressionExperiment expressionExperiment, BioAssayDimension dimension)
Reconstitute the FV to subset mapping for a given experiment.This will generally return a single factor that was used for splitting the dataset. However, if there are confounding factors, those will be returned as well.
-
getSubSetsByFactorValue
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<FactorValue,ExpressionExperimentSubSet> getSubSetsByFactorValue(ExpressionExperiment expressionExperiment, ExperimentalFactor experimentalFactor, BioAssayDimension dimension)
Reconstitute the FV to subset mapping for a given experiment and factor.
-
getSubSetsByFactorValueWithCharacteristicsAndBioAssays
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<FactorValue,ExpressionExperimentSubSet> getSubSetsByFactorValueWithCharacteristicsAndBioAssays(ExpressionExperiment expressionExperiment, ExperimentalFactor experimentalFactor, BioAssayDimension dimension)
Reconstitute the FV to subset mapping for a given experiment and factor.Subsets characteristics are initialized and assays are thawed as per
Thaws.thawBioAssay(BioAssay)
.
-
getSubSetByIdWithCharacteristics
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ExpressionExperimentSubSet getSubSetByIdWithCharacteristics(ExpressionExperiment ee, Long subSetId)
-
getSubSetByIdWithCharacteristicsAndBioAssays
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ExpressionExperimentSubSet getSubSetByIdWithCharacteristicsAndBioAssays(ExpressionExperiment ee, Long subSetId)
Obtain a particular subset by ID.Subsets characteristics are initialized and assays are thawed as per
Thaws.thawBioAssay(BioAssay)
.
-
getTaxa
<T extends BioAssaySet> Map<T,Taxon> getTaxa(Collection<T> bioAssaySets)
Return the taxon for each of the given experiments (or subsets).
-
getTaxon
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Taxon getTaxon(BioAssaySet bioAssaySet)
Returns the taxon of the given experiment or subset.- Parameters:
bioAssaySet
- bioAssaySet.- Returns:
- taxon, or null if the experiment taxon cannot be determined (i.e., if it has no samples).
-
isRNASeq
boolean isRNASeq(ExpressionExperiment expressionExperiment)
- Parameters:
expressionExperiment
- ee- Returns:
- true if this experiment was run on a sequencing-based platform.
-
isTroubled
boolean isTroubled(ExpressionExperiment expressionExperiment)
Check if the dataset is either troubled or uses a troubled platform.
-
loadDetailsValueObjects
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) Slice<ExpressionExperimentDetailsValueObject> loadDetailsValueObjects(Collection<Long> ids, @Nullable Taxon taxon, @Nullable Sort sort, int offset, int limit)
-
loadDetailsValueObjectsWithCache
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) Slice<ExpressionExperimentDetailsValueObject> loadDetailsValueObjectsWithCache(Collection<Long> ids, @Nullable Taxon taxon, @Nullable Sort sort, int offset, int limit)
-
loadDetailsValueObjectsByIds
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) List<ExpressionExperimentDetailsValueObject> loadDetailsValueObjectsByIds(Collection<Long> ids)
-
loadDetailsValueObjectsByIdsWithCache
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) List<ExpressionExperimentDetailsValueObject> loadDetailsValueObjectsByIdsWithCache(Collection<Long> ids)
-
loadBlacklistedValueObjects
@Secured({"GROUP_ADMIN","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) Slice<ExpressionExperimentValueObject> loadBlacklistedValueObjects(@Nullable Filters filters, @Nullable Sort sort, int offset, int limit)
-
loadLackingFactors
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> loadLackingFactors()
-
loadLackingTags
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> loadLackingTags()
-
loadValueObjectsByIdsWithRelationsAndCache
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) List<ExpressionExperimentValueObject> loadValueObjectsByIdsWithRelationsAndCache(List<Long> ids)
Load VOs for the given dataset IDs and initialize their relations likeSecurableFilteringVoEnabledService.load(Filters, Sort)
.The order of VOs is preserved.
-
loadValueObjectsByIds
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_VALUE_OBJECT_COLLECTION_READ"}) List<ExpressionExperimentValueObject> loadValueObjectsByIds(List<Long> ids, boolean maintainOrder)
Variant ofBaseVoEnabledService.loadValueObjectsByIds(Collection)
that preserve its input order.- Parameters:
ids
- ids to loadmaintainOrder
- If true, order of valueObjects returned will correspond to order of ids passed in.- Returns:
- value objects
-
addCharacteristic
void addCharacteristic(ExpressionExperiment ee, Characteristic vc)
Will add the vocab characteristic to the expression experiment and persist the changes.- Parameters:
ee
- the experiment to add the characteristics to.vc
- If the evidence code is null, it will be filled in with IC. A category and value must be provided.
-
thaw
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ExpressionExperiment thaw(ExpressionExperiment expressionExperiment)
-
thawLiter
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ExpressionExperiment thawLiter(ExpressionExperiment expressionExperiment)
-
thawLite
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ExpressionExperiment thawLite(ExpressionExperiment expressionExperiment)
-
isBlackListed
boolean isBlackListed(String geoAccession)
-
isSuitableForDEA
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Boolean isSuitableForDEA(ExpressionExperiment ee)
- Returns:
- true if the experiment is not explicitly marked as unsuitable for DEA; false otherwise.
-
getExperimentsLackingPublications
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<ExpressionExperiment> getExperimentsLackingPublications()
- Returns:
- collection of GEO experiments which lack an association with a publication (non-GEO experiments will be ignored)
-
updateQuantitationType
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void updateQuantitationType(ExpressionExperiment ee, QuantitationType qt)
Update a quantitation type.If the provided QT is preferred (i.e. either single-cell, raw or processed), all other QTs in the experiment for that type of vectors will be set to non-preferred.
-
updateMeanVarianceRelation
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) MeanVarianceRelation updateMeanVarianceRelation(ExpressionExperiment ee, MeanVarianceRelation mvr)
-
-