Class SingleCellExpressionExperimentSubSetServiceTest
java.lang.Object
ubic.gemma.core.util.test.BaseTest5
ubic.gemma.core.analysis.singleCell.aggregate.SingleCellExpressionExperimentSubSetServiceTest
@ContextConfiguration
public class SingleCellExpressionExperimentSubSetServiceTest
extends BaseTest5
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidtest()voidvoidvoidReuse is refused when the existing subset does not cover the samples being aggregated — aggregating over the wrong assays is worse than the duplicate row the reuse prevents.voidA second aggregation run must reuse the subsets the first run left behind.
-
Constructor Details
-
SingleCellExpressionExperimentSubSetServiceTest
public SingleCellExpressionExperimentSubSetServiceTest()
-
-
Method Details
-
testSecondRunReusesSubSetsInsteadOfCreatingASecondSet
@Test public void testSecondRunReusesSubSetsInsteadOfCreatingASecondSet()A second aggregation run must reuse the subsets the first run left behind.Before this was guarded, every run took the create path unconditionally, so an experiment aggregated N times ended up with N complete sets of subsets — and N sets of pseudo-bulk assays and samples underneath them. On production that is 47,143 subset rows under 19,391 distinct names (4,136 parent experiments), the worst being 275 subsets over 45 cell types.
The two runs here share a mutable
persistedlist:createappends to it and the read service hands it back, which is what the second run sees in the database. Removing the reuse lookup takes the second run back to 20 subsets and 80 assays. -
testReuseIsRefusedWhenTheExistingSubSetDoesNotCoverTheSamples
@Test public void testReuseIsRefusedWhenTheExistingSubSetDoesNotCoverTheSamples()Reuse is refused when the existing subset does not cover the samples being aggregated — aggregating over the wrong assays is worse than the duplicate row the reuse prevents. -
test
@Test public void test() -
testCreateSubSetsWhenMissingFactorValue
@Test public void testCreateSubSetsWhenMissingFactorValue() -
testCreateSubSetsSkipsSamplesNotInSingleCellDimension
@Test public void testCreateSubSetsSkipsSamplesNotInSingleCellDimension()
-