Class PreprocessorHelperServiceImpl
java.lang.Object
ubic.gemma.core.analysis.preprocess.PreprocessorHelperServiceImpl
- All Implemented Interfaces:
PreprocessorHelperService
@Service
@Transactional(propagation=NEVER)
public class PreprocessorHelperServiceImpl
extends Object
implements PreprocessorHelperService
Implementation of
PreprocessorHelperService: a thin co-bean that
exists so each processFor* method is invoked through a Spring proxy
and the AuditedOnError aspect can intercept its catch path.
The methods previously lived as private members of
PreprocessorServiceImpl and were self-invoked via this. --
Spring AOP cannot intercept either case, so their imperative
auditTrailService.addUpdateEvent( ee, FailedXEvent.class, ..., e )
blocks could not be migrated to AuditedOnError during bucket 2e.
Hoisting them onto this separately-injected bean lets the aspect see them.
Propagation.NEVER matches PreprocessorServiceImpl -- these
diagnostic steps each manage their own transactions internally.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionIf possible, batch correct the processed data vectors.voidCreate the scatter plot to evaluate heteroscedasticity.voidRun SVD / PCA for diagnostics.voidCreate the heatmaps used to judge similarity among samples.
-
Constructor Details
-
PreprocessorHelperServiceImpl
public PreprocessorHelperServiceImpl()
-
-
Method Details
-
batchCorrect
@AuditedConditional(value=BatchCorrectionEvent.class, when="#result != null", messageSpel="'ComBat batch correction, vectors were replaced with ' + #result + ' batch-corrected ones.'") public Integer batchCorrect(ExpressionExperiment ee) throws PreprocessingException If possible, batch correct the processed data vectors. Returns the number of vectors that were replaced — used by the@Auditedaspect'smessageSpelto render the audit note. Returnsnullwhen the experiment is not batch-correctable; the@AuditedConditionalpredicate then skips emission.- Specified by:
batchCorrectin interfacePreprocessorHelperService- Returns:
- the number of processed vectors that were replaced by the
batch-corrected matrix, or
nullwhen the experiment is not batch-correctable (no audit event written in that case). The return value drives the@Auditednote viamessageSpel; callers may ignore it. - Throws:
PreprocessingException
-
processForMeanVarianceRelation
@AuditedOnError(FailedMeanVarianceUpdateEvent.class) public void processForMeanVarianceRelation(ExpressionExperiment ee) throws PreprocessingException Create the scatter plot to evaluate heteroscedasticity.- Specified by:
processForMeanVarianceRelationin interfacePreprocessorHelperService- Throws:
PreprocessingException
-
processForPca
@AuditedOnError(FailedPCAAnalysisEvent.class) public void processForPca(ExpressionExperiment ee) throws SVDRelatedPreprocessingException Description copied from interface:PreprocessorHelperServiceRun SVD / PCA for diagnostics. A failure emits aFailedPCAAnalysisEventvia the audit aspect.- Specified by:
processForPcain interfacePreprocessorHelperService- Throws:
SVDRelatedPreprocessingException
-
processForSampleCorrelation
@AuditedOnError(FailedSampleCorrelationAnalysisEvent.class) public void processForSampleCorrelation(ExpressionExperiment ee) throws SampleCoexpressionRelatedPreprocessingException Create the heatmaps used to judge similarity among samples.- Specified by:
processForSampleCorrelationin interfacePreprocessorHelperService- Throws:
SampleCoexpressionRelatedPreprocessingException
-