Class DifferentialExpressionAnalyzerServiceRedoTest
java.lang.Object
ubic.gemma.core.analysis.expression.diff.DifferentialExpressionAnalyzerServiceRedoTest
@ExtendWith(org.mockito.junit.jupiter.MockitoExtension.class)
public class DifferentialExpressionAnalyzerServiceRedoTest
extends Object
A redo keeps the old replacement rule: only an analysis on the identical factor set is replaced.
A redo re-persists each existing analysis in turn. If redoing genotype + treatment also replaced
the analysis on genotype alone, it would delete an analysis the same loop has yet to redo. The wider rule
(Paul's ruling, 2026-09-13) applies to a fresh run; DifferentialExpressionAnalysisReplacementTest covers
that against the database.
- Author:
- gembro
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidWhat createProtocolForConfig writes is what the redo parses: the two are kept in step by a shared constant, and this holds the pair together end to end.voidAn analysis with no protocol at all (older rows) redoes as before.voidAn analysis with no blocking line redoes unblocked, and a mixed-model flag cannot appear from nowhere.voidA subset analysis has no design of its own; the blocking factor is resolved on the source experiment.voidTwo blocking factors and a name containing the list separator: each is recovered, and neither is confused with a factor whose name is a fragment of it.voidA blocking factor named in the protocol that the design no longer has is left out, not guessed at and not fatal: the redo still runs, on the factors that remain.voidvoidA paired analysis reports no result set for its blocking factor, so a redo has to recover it from the protocol description AND put it back in the factors to include; a blocking factor outsidefactorsToIncludeis dropped by the analyzer and the redo refits unpaired.
-
Constructor Details
-
DifferentialExpressionAnalyzerServiceRedoTest
public DifferentialExpressionAnalyzerServiceRedoTest()
-
-
Method Details
-
testRedoingAWiderAnalysisDoesNotDeleteANarrowerOne
@Test public void testRedoingAWiderAnalysisDoesNotDeleteANarrowerOne() -
testRedoRestoresBlockingFactorIntoTheModel
@Test public void testRedoRestoresBlockingFactorIntoTheModel()A paired analysis reports no result set for its blocking factor, so a redo has to recover it from the protocol description AND put it back in the factors to include; a blocking factor outsidefactorsToIncludeis dropped by the analyzer and the redo refits unpaired. -
redoOfAnUnblockedAnalysisStaysUnblocked
@Test public void redoOfAnUnblockedAnalysisStaysUnblocked()An analysis with no blocking line redoes unblocked, and a mixed-model flag cannot appear from nowhere. -
redoOfAnAnalysisWithoutAProtocolStillWorks
@Test public void redoOfAnAnalysisWithoutAProtocolStillWorks()An analysis with no protocol at all (older rows) redoes as before. -
redoSkipsABlockingFactorTheDesignNoLongerHas
@Test public void redoSkipsABlockingFactorTheDesignNoLongerHas()A blocking factor named in the protocol that the design no longer has is left out, not guessed at and not fatal: the redo still runs, on the factors that remain. -
redoRecoversSeveralBlockingFactorsIncludingACommaInAName
@Test public void redoRecoversSeveralBlockingFactorsIncludingACommaInAName()Two blocking factors and a name containing the list separator: each is recovered, and neither is confused with a factor whose name is a fragment of it. -
redoOfASubsetAnalysisResolvesBlockingFactorsOnTheSourceExperiment
@Test public void redoOfASubsetAnalysisResolvesBlockingFactorsOnTheSourceExperiment()A subset analysis has no design of its own; the blocking factor is resolved on the source experiment. -
protocolWrittenForAConfigRoundTripsThroughRedo
@Test public void protocolWrittenForAConfigRoundTripsThroughRedo()What createProtocolForConfig writes is what the redo parses: the two are kept in step by a shared constant, and this holds the pair together end to end.
-