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:
InitializingBean
,BaseImmutableService<ProcessedExpressionDataVector>
,BaseReadOnlyService<ProcessedExpressionDataVector>
,BaseService<ProcessedExpressionDataVector>
,ProcessedExpressionDataVectorService
@Service public class ProcessedExpressionDataVectorServiceImpl extends AbstractDesignElementDataVectorService<ProcessedExpressionDataVector> implements ProcessedExpressionDataVectorService, InitializingBean
- 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
-
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
-
Methods inherited from interface ubic.gemma.persistence.service.expression.bioAssayData.ProcessedExpressionDataVectorService
update
-
-
-
-
Constructor Detail
-
ProcessedExpressionDataVectorServiceImpl
@Autowired protected ProcessedExpressionDataVectorServiceImpl(ProcessedExpressionDataVectorDao mainDao)
-
-
Method Detail
-
afterPropertiesSet
public void afterPropertiesSet() throws Exception
- Specified by:
afterPropertiesSet
in interfaceInitializingBean
- Throws:
Exception
-
replaceProcessedDataVectors
@Transactional(propagation=NEVER) public void 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
-
updateRanks
@Transactional public void updateRanks(ExpressionExperiment ee)
- Specified by:
updateRanks
in interfaceProcessedExpressionDataVectorService
-
clearCache
public void clearCache()
- Specified by:
clearCache
in interfaceProcessedExpressionDataVectorService
-
createProcessedDataVectors
@Transactional public Set<ProcessedExpressionDataVector> createProcessedDataVectors(ExpressionExperiment expressionExperiment)
- Specified by:
createProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
-
createProcessedDataVectors
@Transactional public Set<ProcessedExpressionDataVector> createProcessedDataVectors(ExpressionExperiment expressionExperiment, boolean ignoreQuantitationMismatch) throws QuantitationMismatchException
Description copied from interface:ProcessedExpressionDataVectorService
Populate the processed data for the given experiment. For two-channel studies, the missing value information should already have been computed.- Specified by:
createProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
- Parameters:
expressionExperiment
- ee- Returns:
- updated expressionExperiment
- Throws:
QuantitationMismatchException
-
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.
-
removeProcessedDataVectors
@Transactional public void removeProcessedDataVectors(ExpressionExperiment expressionExperiment)
- Specified by:
removeProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
-
getDiffExVectors
@Transactional(readOnly=true) public List<DoubleVectorValueObject> getDiffExVectors(Long resultSetId, Double threshold, int maxNumberOfResults)
- Specified by:
getDiffExVectors
in interfaceProcessedExpressionDataVectorService
-
computeProcessedExpressionData
@Transactional(propagation=NEVER) public void computeProcessedExpressionData(ExpressionExperiment ee)
Description copied from interface:ProcessedExpressionDataVectorService
Compute processed expression data, ignoring mismatched with the inferred scale.- Specified by:
computeProcessedExpressionData
in interfaceProcessedExpressionDataVectorService
-
computeProcessedExpressionData
@Transactional(propagation=NEVER) public void computeProcessedExpressionData(ExpressionExperiment ee, boolean ignoreQuantitationMismatch) throws QuantitationMismatchException
Description copied from interface:ProcessedExpressionDataVectorService
This method should not be called on its own, if possible. Use the PreprocessorService to do all necessary refreshing.- Specified by:
computeProcessedExpressionData
in interfaceProcessedExpressionDataVectorService
- Throws:
QuantitationMismatchException
-
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
-
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.
-
-