Class ProcessedExpressionDataVectorServiceImpl
- java.lang.Object
-
- ubic.gemma.persistence.service.AbstractService<T>
-
- ubic.gemma.persistence.service.expression.bioAssayData.AbstractDesignElementDataVectorService<ProcessedExpressionDataVector>
-
- ubic.gemma.persistence.service.expression.bioAssayData.ProcessedExpressionDataVectorServiceImpl
-
- All Implemented Interfaces:
BaseImmutableService<ProcessedExpressionDataVector>,BaseReadOnlyService<ProcessedExpressionDataVector>,BaseService<ProcessedExpressionDataVector>,ProcessedExpressionDataVectorService
@Service public class ProcessedExpressionDataVectorServiceImpl extends AbstractDesignElementDataVectorService<ProcessedExpressionDataVector> implements ProcessedExpressionDataVectorService
- Author:
- Paul
-
-
Field Summary
-
Fields inherited from class ubic.gemma.persistence.service.AbstractService
log
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedProcessedExpressionDataVectorServiceImpl(ProcessedExpressionDataVectorDao mainDao)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclearCache()intcomputeProcessedExpressionData(ExpressionExperiment ee)Create processed vectors and update ranks.intcomputeProcessedExpressionData(ExpressionExperiment ee, boolean ignoreQuantitationMismatch)Create processed vectors and update ranks.intcreateProcessedDataVectors(ExpressionExperiment expressionExperiment)intcreateProcessedDataVectors(ExpressionExperiment expressionExperiment, boolean ignoreQuantitationMismatch)Collection<T>find(Collection<QuantitationType> quantitationTypes)Find specific type (DesignElementDataVectorService) of vectors that meet the given criteria.Collection<T>find(QuantitationType quantitationType)Find specific type (DesignElementDataVectorService) of vectors that meet the given criteria.Collection<T>find(BioAssayDimension bioAssayDimension)Find specific type (raw or processed, depending on the service) of vectors that meet the given criteria.Collection<T>findAndThaw(Collection<QuantitationType> quantitationTypes)Collection<T>findAndThaw(QuantitationType quantitationType)Find and thaw specific type (DesignElementDataVectorService) of vectors that meet the given criteria.Collection<T>findAndThaw(BioAssayDimension bioAssayDimension)List<DoubleVectorValueObject>getDiffExVectors(Long resultSetId, Double threshold, int maxNumberOfResults)List<ExperimentExpressionLevelsValueObject>getExpressionLevels(Collection<ExpressionExperiment> ees, Collection<Gene> genes, boolean keepGeneNonSpecific, String consolidateMode)List<ExperimentExpressionLevelsValueObject>getExpressionLevelsDiffEx(Collection<ExpressionExperiment> ees, Long diffExResultSetId, double threshold, int max, boolean keepGeneNonSpecific, String consolidateMode)List<ExperimentExpressionLevelsValueObject>getExpressionLevelsPca(Collection<ExpressionExperiment> ees, int limit, int component, boolean keepGeneNonSpecific, String consolidateMode)Collection<DoubleVectorValueObject>getProcessedDataArrays(Collection<ExpressionExperiment> expressionExperiments, Collection<Long> genes)Collection<DoubleVectorValueObject>getProcessedDataArrays(BioAssaySet ee, Collection<Long> genes)Collection<DoubleVectorValueObject>getProcessedDataArrays(ExpressionExperiment expressionExperiment)Collection<DoubleVectorValueObject>getProcessedDataArrays(ExpressionExperiment ee, int limit)Collection<DoubleVectorValueObject>getProcessedDataArraysByProbe(Collection<ExpressionExperiment> expressionExperiments, Collection<CompositeSequence> compositeSequences)Retrieves DEDV's by probes and experimentsCollection<DoubleVectorValueObject>getProcessedDataArraysByProbeIds(BioAssaySet ee, Collection<Long> probes)Collection<ProcessedExpressionDataVector>getProcessedDataVectors(ExpressionExperiment expressionExperiment)Collection<ProcessedExpressionDataVector>getProcessedDataVectorsAndThaw(ExpressionExperiment expressionExperiment)Map<ExpressionExperiment,Map<Gene,Collection<Double>>>getRanks(Collection<ExpressionExperiment> expressionExperiments, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)Map<Gene,Collection<Double>>getRanks(ExpressionExperiment expressionExperiment, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)Map<CompositeSequence,Double>getRanks(ExpressionExperiment expressionExperiment, ProcessedExpressionDataVectorDao.RankMethod method)Map<ExpressionExperiment,Map<Gene,Map<CompositeSequence,Double[]>>>getRanksByProbe(Collection<ExpressionExperiment> eeCol, Collection<Gene> genes)Retrieve expression level information for genes in experiments.voidreorderByDesign(ExpressionExperiment ee)Creates new bioAssayDimensions to match the experimental design, reorders the data to match, updates.intreplaceProcessedDataVectors(ExpressionExperiment ee, Collection<ProcessedExpressionDataVector> vectors)Replace the processed vectors of a EE with the given vectors.Collection<T>thaw(Collection<T> vectors)Deprecated.UsefindAndThaw(QuantitationType),findAndThaw(Collection)orfindAndThaw(BioAssayDimension)instead, it's much more efficient.voidupdateRanks(ExpressionExperiment ee)Update the ranks of the processed vectors for the given experiment.-
Methods inherited from class ubic.gemma.persistence.service.expression.bioAssayData.AbstractDesignElementDataVectorService
find, find, find, findAndThaw, findAndThaw, findAndThaw, thaw
-
Methods inherited from class ubic.gemma.persistence.service.AbstractService
countAll, create, create, ensureInSession, ensureInSession, find, findOrCreate, findOrFail, getElementClass, load, load, loadAll, loadOrFail, loadOrFail, loadOrFail, loadOrFail, remove, remove, remove, save, save, update, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ubic.gemma.persistence.service.BaseReadOnlyService
countAll, find, findOrFail, getElementClass, load, load, loadAll, loadOrFail, loadOrFail, loadOrFail, loadOrFail
-
-
-
-
Constructor Detail
-
ProcessedExpressionDataVectorServiceImpl
@Autowired protected ProcessedExpressionDataVectorServiceImpl(ProcessedExpressionDataVectorDao mainDao)
-
-
Method Detail
-
createProcessedDataVectors
@Transactional public int createProcessedDataVectors(ExpressionExperiment expressionExperiment)
- Specified by:
createProcessedDataVectorsin interfaceProcessedExpressionDataVectorService- See Also:
ProcessedExpressionDataVectorDao.createProcessedDataVectors(ExpressionExperiment, boolean)
-
createProcessedDataVectors
@Transactional public int createProcessedDataVectors(ExpressionExperiment expressionExperiment, boolean ignoreQuantitationMismatch) throws QuantitationMismatchException
- Specified by:
createProcessedDataVectorsin interfaceProcessedExpressionDataVectorService- Throws:
QuantitationMismatchException- See Also:
ProcessedExpressionDataVectorDao.createProcessedDataVectors(ExpressionExperiment, boolean)
-
computeProcessedExpressionData
@Transactional public int computeProcessedExpressionData(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorServiceCreate processed vectors and update ranks.Mismatch between quantitation type and data is ignored.
-
computeProcessedExpressionData
@Transactional public int computeProcessedExpressionData(ExpressionExperiment ee, boolean ignoreQuantitationMismatch) throws QuantitationMismatchException
Description copied from interface:ProcessedExpressionDataVectorServiceCreate processed vectors and update ranks.- Specified by:
computeProcessedExpressionDatain interfaceProcessedExpressionDataVectorService- Throws:
QuantitationMismatchException- See Also:
ProcessedExpressionDataVectorService.createProcessedDataVectors(ExpressionExperiment, boolean),ProcessedExpressionDataVectorService.updateRanks(ExpressionExperiment)
-
replaceProcessedDataVectors
@Transactional public int replaceProcessedDataVectors(ExpressionExperiment ee, Collection<ProcessedExpressionDataVector> vectors)
Description copied from interface:ProcessedExpressionDataVectorServiceReplace the processed vectors of a EE with the given vectors.Ranks are recomputed.
- Specified by:
replaceProcessedDataVectorsin interfaceProcessedExpressionDataVectorService- Parameters:
ee- eevectors- non-persistent, all of the same quantitationtype
-
reorderByDesign
@Transactional public void reorderByDesign(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorServiceCreates new bioAssayDimensions to match the experimental design, reorders the data to match, updates.- Specified by:
reorderByDesignin interfaceProcessedExpressionDataVectorService
-
updateRanks
@Transactional public void updateRanks(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorServiceUpdate the ranks of the processed vectors for the given experiment.- Specified by:
updateRanksin interfaceProcessedExpressionDataVectorService
-
clearCache
public void clearCache()
- Specified by:
clearCachein interfaceProcessedExpressionDataVectorService
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(Collection<ExpressionExperiment> expressionExperiments, Collection<Long> genes)
- Specified by:
getProcessedDataArraysin interfaceProcessedExpressionDataVectorService- Parameters:
expressionExperiments- - expressionExperiments or expressionExperimentSubSetsgenes- genes- Returns:
- vectors, which will be subsetted if the bioassayset is a subset.
-
getProcessedDataArrays
public Collection<DoubleVectorValueObject> getProcessedDataArrays(BioAssaySet ee, Collection<Long> genes)
- Specified by:
getProcessedDataArraysin interfaceProcessedExpressionDataVectorService
-
getExpressionLevels
@Transactional(readOnly=true) public List<ExperimentExpressionLevelsValueObject> getExpressionLevels(Collection<ExpressionExperiment> ees, Collection<Gene> genes, boolean keepGeneNonSpecific, @Nullable String consolidateMode)
- Specified by:
getExpressionLevelsin interfaceProcessedExpressionDataVectorService- Parameters:
ees- expressionExperimentsgenes- geneskeepGeneNonSpecific- whether to keep vectors that are not specific to the geneconsolidateMode- how to consolidate the vectors when there is more than one- Returns:
- value objects containing structured information about the expression levels of given genes
-
getExpressionLevelsPca
@Transactional(readOnly=true) public List<ExperimentExpressionLevelsValueObject> getExpressionLevelsPca(Collection<ExpressionExperiment> ees, int limit, int component, boolean keepGeneNonSpecific, @Nullable String consolidateMode)
- Specified by:
getExpressionLevelsPcain interfaceProcessedExpressionDataVectorService- Parameters:
ees- expressionExperimentslimit- thresholdcomponent- the principal componentkeepGeneNonSpecific- whether to keep vectors that are not specific to the geneconsolidateMode- how to consolidate the vectors when there is more than one- Returns:
- value objects containing structured information about the expression levels of genes highly loaded in the given principal component.
-
getExpressionLevelsDiffEx
@Transactional(readOnly=true) public List<ExperimentExpressionLevelsValueObject> getExpressionLevelsDiffEx(Collection<ExpressionExperiment> ees, Long diffExResultSetId, double threshold, int max, boolean keepGeneNonSpecific, @Nullable String consolidateMode)
- Specified by:
getExpressionLevelsDiffExin interfaceProcessedExpressionDataVectorService- Parameters:
ees- eesdiffExResultSetId- the differential expression result set to accessthreshold- thresholdmax- max levelkeepGeneNonSpecific- whether to keep vectors that are not specific to the geneconsolidateMode- how to consolidate the vectors when there is more than one- Returns:
- value objects containing structured information about the expression levels of genes highly loaded in the given principal component.
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataArraysin interfaceProcessedExpressionDataVectorService- Parameters:
expressionExperiment- ee- Returns:
- double vector vos
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(ExpressionExperiment ee, int limit)
- Specified by:
getProcessedDataArraysin interfaceProcessedExpressionDataVectorService- Parameters:
ee- eelimit- (null limit = default hibernate limit).- Returns:
- double vector vos
-
getProcessedDataArraysByProbe
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArraysByProbe(Collection<ExpressionExperiment> expressionExperiments, Collection<CompositeSequence> compositeSequences)
Description copied from interface:ProcessedExpressionDataVectorServiceRetrieves DEDV's by probes and experiments- Specified by:
getProcessedDataArraysByProbein interfaceProcessedExpressionDataVectorService- Parameters:
expressionExperiments- EEscompositeSequences- composite sequences- Returns:
- double vector vos
-
getProcessedDataArraysByProbeIds
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArraysByProbeIds(BioAssaySet ee, Collection<Long> probes)
- Specified by:
getProcessedDataArraysByProbeIdsin interfaceProcessedExpressionDataVectorService
-
getProcessedDataVectors
@Transactional(readOnly=true) public Collection<ProcessedExpressionDataVector> getProcessedDataVectors(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataVectorsin interfaceProcessedExpressionDataVectorService
-
getProcessedDataVectorsAndThaw
@Transactional(readOnly=true) public Collection<ProcessedExpressionDataVector> getProcessedDataVectorsAndThaw(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataVectorsAndThawin interfaceProcessedExpressionDataVectorService
-
getRanks
@Transactional(readOnly=true) public Map<ExpressionExperiment,Map<Gene,Collection<Double>>> getRanks(Collection<ExpressionExperiment> expressionExperiments, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)
- Specified by:
getRanksin interfaceProcessedExpressionDataVectorService
-
getRanks
@Transactional(readOnly=true) public Map<Gene,Collection<Double>> getRanks(ExpressionExperiment expressionExperiment, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)
- Specified by:
getRanksin interfaceProcessedExpressionDataVectorService
-
getRanks
@Transactional(readOnly=true) public Map<CompositeSequence,Double> getRanks(ExpressionExperiment expressionExperiment, ProcessedExpressionDataVectorDao.RankMethod method)
- Specified by:
getRanksin interfaceProcessedExpressionDataVectorService
-
getRanksByProbe
@Transactional(readOnly=true) public Map<ExpressionExperiment,Map<Gene,Map<CompositeSequence,Double[]>>> getRanksByProbe(Collection<ExpressionExperiment> eeCol, Collection<Gene> genes)
Description copied from interface:ProcessedExpressionDataVectorServiceRetrieve expression level information for genes in experiments.- Specified by:
getRanksByProbein interfaceProcessedExpressionDataVectorService- Parameters:
eeCol- eesgenes- genes- Returns:
- A map of experiment -> gene -> probe -> array of doubles holding the 1) mean and 2) max expression rank.
-
getDiffExVectors
@Transactional(readOnly=true) public List<DoubleVectorValueObject> getDiffExVectors(Long resultSetId, Double threshold, int maxNumberOfResults)
- Specified by:
getDiffExVectorsin interfaceProcessedExpressionDataVectorService
-
find
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_DATAVECTOR_COLLECTION_READ"}) public abstract Collection<T> find(BioAssayDimension bioAssayDimension)Find specific type (raw or processed, depending on the service) of vectors that meet the given criteria.- Parameters:
bioAssayDimension- the BA dimension- Returns:
- the found vectors of type
DesignElementDataVectorService
-
findAndThaw
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_DATAVECTOR_COLLECTION_READ"}) public abstract Collection<T> findAndThaw(BioAssayDimension bioAssayDimension)
-
find
@Secured("GROUP_ADMIN") public abstract Collection<T> find(Collection<QuantitationType> quantitationTypes)Find specific type (DesignElementDataVectorService) of vectors that meet the given criteria.- Parameters:
quantitationTypes- the QTs- Returns:
- the found vectors of type
DesignElementDataVectorService
-
findAndThaw
@Secured("GROUP_ADMIN") public abstract Collection<T> findAndThaw(Collection<QuantitationType> quantitationTypes)
-
find
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_DATAVECTOR_COLLECTION_READ"}) public abstract Collection<T> find(QuantitationType quantitationType)Find specific type (DesignElementDataVectorService) of vectors that meet the given criteria.- Parameters:
quantitationType- the QT- Returns:
- the found vectors of type
DesignElementDataVectorService
-
findAndThaw
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_DATAVECTOR_COLLECTION_READ"}) public abstract Collection<T> findAndThaw(QuantitationType quantitationType)Find and thaw specific type (DesignElementDataVectorService) of vectors that meet the given criteria.
-
thaw
@CheckReturnValue @Deprecated public abstract Collection<T> thaw(Collection<T> vectors)
Deprecated.UsefindAndThaw(QuantitationType),findAndThaw(Collection)orfindAndThaw(BioAssayDimension)instead, it's much more efficient.Thaw the given vectors.
-
-