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 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>
getExpressionLevelsByIds(Collection<Long> eeIds, Collection<Gene> genes, boolean keepGeneNonSpecific, String consolidateMode)
Retrieve expression levels by dataset IDs.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 bioAssaySet, Collection<Long> genes)
Collection<DoubleVectorValueObject>
getProcessedDataArrays(ExpressionExperiment expressionExperiment)
Collection<DoubleVectorValueObject>
getProcessedDataArraysByProbe(Collection<ExpressionExperiment> expressionExperiments, Collection<CompositeSequence> compositeSequences)
Collection<ProcessedExpressionDataVector>
getProcessedDataVectors(ExpressionExperiment expressionExperiment)
Collection<ProcessedExpressionDataVector>
getProcessedDataVectorsAndThaw(ExpressionExperiment expressionExperiment)
Retrieve and thaw a collection of vectors for a given experiment.Collection<DoubleVectorValueObject>
getRandomProcessedDataArrays(ExpressionExperiment ee, int limit)
Map<ExpressionExperiment,Map<Gene,Collection<Double>>>
getRanks(Collection<ExpressionExperiment> expressionExperiments, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)
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
-
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
-
getExpressionLevelsByIds
@Transactional(readOnly=true) public List<ExperimentExpressionLevelsValueObject> getExpressionLevelsByIds(Collection<Long> eeIds, Collection<Gene> genes, boolean keepGeneNonSpecific, @Nullable String consolidateMode)
Description copied from interface:ProcessedExpressionDataVectorService
Retrieve expression levels by dataset IDs.
-
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(Collection<ExpressionExperiment> expressionExperiments, Collection<Long> genes)
- Specified by:
getProcessedDataArrays
in interfaceProcessedExpressionDataVectorService
- See Also:
CachedProcessedExpressionDataVectorService.getProcessedDataArrays(Collection, Collection)
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(BioAssaySet bioAssaySet, Collection<Long> genes)
- Specified by:
getProcessedDataArrays
in interfaceProcessedExpressionDataVectorService
- See Also:
CachedProcessedExpressionDataVectorService.getProcessedDataArrays(BioAssaySet, Collection)
-
getProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArrays(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataArrays
in interfaceProcessedExpressionDataVectorService
- See Also:
CachedProcessedExpressionDataVectorService.getProcessedDataArrays(BioAssaySet)
-
getRandomProcessedDataArrays
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getRandomProcessedDataArrays(ExpressionExperiment ee, int limit)
- Specified by:
getRandomProcessedDataArrays
in interfaceProcessedExpressionDataVectorService
- See Also:
CachedProcessedExpressionDataVectorService.getRandomProcessedDataArrays(BioAssaySet, int)
-
getProcessedDataArraysByProbe
@Transactional(readOnly=true) public Collection<DoubleVectorValueObject> getProcessedDataArraysByProbe(Collection<ExpressionExperiment> expressionExperiments, Collection<CompositeSequence> compositeSequences)
-
getProcessedDataVectors
@Transactional(readOnly=true) public Collection<ProcessedExpressionDataVector> getProcessedDataVectors(ExpressionExperiment expressionExperiment)
- Specified by:
getProcessedDataVectors
in interfaceProcessedExpressionDataVectorService
- See Also:
ProcessedExpressionDataVectorDao.getProcessedVectors(ExpressionExperiment)
-
getProcessedDataVectorsAndThaw
@Transactional(readOnly=true) public Collection<ProcessedExpressionDataVector> getProcessedDataVectorsAndThaw(ExpressionExperiment expressionExperiment)
Description copied from interface:ProcessedExpressionDataVectorService
Retrieve and thaw a collection of vectors for a given experiment.
-
getRanks
@Transactional(readOnly=true) public Map<ExpressionExperiment,Map<Gene,Collection<Double>>> getRanks(Collection<ExpressionExperiment> expressionExperiments, Collection<Gene> genes, ProcessedExpressionDataVectorDao.RankMethod method)
-
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.
-
-