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 protected
ProcessedExpressionDataVectorServiceImpl(ProcessedExpressionDataVectorDao mainDao)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
clearCache()
int
computeProcessedExpressionData(ExpressionExperiment ee)
Create processed vectors and update ranks.int
computeProcessedExpressionData(ExpressionExperiment ee, boolean ignoreQuantitationMismatch)
Create processed vectors and update ranks.int
createProcessedDataVectors(ExpressionExperiment expressionExperiment)
int
createProcessedDataVectors(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.void
reorderByDesign(ExpressionExperiment ee)
Creates new bioAssayDimensions to match the experimental design, reorders the data to match, updates.int
replaceProcessedDataVectors(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.void
updateRanks(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:
createProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
- See Also:
ProcessedExpressionDataVectorDao.createProcessedDataVectors(ExpressionExperiment, boolean)
-
createProcessedDataVectors
@Transactional public int createProcessedDataVectors(ExpressionExperiment expressionExperiment, boolean ignoreQuantitationMismatch) throws QuantitationMismatchException
- Specified by:
createProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
- Throws:
QuantitationMismatchException
- See Also:
ProcessedExpressionDataVectorDao.createProcessedDataVectors(ExpressionExperiment, boolean)
-
computeProcessedExpressionData
@Transactional public int computeProcessedExpressionData(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorService
Create 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:ProcessedExpressionDataVectorService
Create processed vectors and update ranks.- Specified by:
computeProcessedExpressionData
in 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:ProcessedExpressionDataVectorService
Replace the processed vectors of a EE with the given vectors.Ranks are recomputed.
- Specified by:
replaceProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
- Parameters:
ee
- eevectors
- non-persistent, all of the same quantitationtype
-
reorderByDesign
@Transactional public void reorderByDesign(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorService
Creates new bioAssayDimensions to match the experimental design, reorders the data to match, updates.- Specified by:
reorderByDesign
in interfaceProcessedExpressionDataVectorService
-
updateRanks
@Transactional public void updateRanks(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorService
Update the ranks of the processed vectors for the given experiment.- Specified by:
updateRanks
in interfaceProcessedExpressionDataVectorService
-
clearCache
public void clearCache()
- Specified by:
clearCache
in interfaceProcessedExpressionDataVectorService
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(Collection<ExpressionExperiment> expressionExperiments, Collection<Long> genes)
- Specified by:
getProcessedDataArrays
in 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:
getProcessedDataArrays
in interfaceProcessedExpressionDataVectorService
-
getExpressionLevels
@Transactional(readOnly=true) public List<ExperimentExpressionLevelsValueObject> getExpressionLevels(Collection<ExpressionExperiment> ees, Collection<Gene> genes, boolean keepGeneNonSpecific, @Nullable String consolidateMode)
- Specified by:
getExpressionLevels
in 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:
getExpressionLevelsPca
in 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:
getExpressionLevelsDiffEx
in 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:
getProcessedDataArrays
in interfaceProcessedExpressionDataVectorService
- Parameters:
expressionExperiment
- ee- Returns:
- double vector vos
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(ExpressionExperiment ee, int limit)
- Specified by:
getProcessedDataArrays
in 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:ProcessedExpressionDataVectorService
Retrieves DEDV's by probes and experiments- Specified by:
getProcessedDataArraysByProbe
in 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:
getProcessedDataArraysByProbeIds
in interfaceProcessedExpressionDataVectorService
-
getProcessedDataVectors
@Transactional(readOnly=true) public Collection<ProcessedExpressionDataVector> getProcessedDataVectors(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
-
getProcessedDataVectorsAndThaw
@Transactional(readOnly=true) public Collection<ProcessedExpressionDataVector> getProcessedDataVectorsAndThaw(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataVectorsAndThaw
in interfaceProcessedExpressionDataVectorService
-
getRanks
@Transactional(readOnly=true) public Map<ExpressionExperiment,Map<Gene,Collection<Double>>> getRanks(Collection<ExpressionExperiment> expressionExperiments, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)
- Specified by:
getRanks
in interfaceProcessedExpressionDataVectorService
-
getRanks
@Transactional(readOnly=true) public Map<Gene,Collection<Double>> getRanks(ExpressionExperiment expressionExperiment, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)
- Specified by:
getRanks
in interfaceProcessedExpressionDataVectorService
-
getRanks
@Transactional(readOnly=true) public Map<CompositeSequence,Double> getRanks(ExpressionExperiment expressionExperiment, ProcessedExpressionDataVectorDao.RankMethod method)
- Specified by:
getRanks
in interfaceProcessedExpressionDataVectorService
-
getRanksByProbe
@Transactional(readOnly=true) public Map<ExpressionExperiment,Map<Gene,Map<CompositeSequence,Double[]>>> getRanksByProbe(Collection<ExpressionExperiment> eeCol, Collection<Gene> genes)
Description copied from interface:ProcessedExpressionDataVectorService
Retrieve expression level information for genes in experiments.- Specified by:
getRanksByProbe
in 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:
getDiffExVectors
in 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.
-
-