Gemma icon indicating copy to clipboard operation
Gemma copied to clipboard

platform switching fails during checks

Open ppavlidis opened this issue 2 years ago • 2 comments

Curators are seeing the following error. I suspect it is because the checks being done are not looking at the right entities. Look around line 576 of ExpressionExperimentPlatformSwitchService.

[Gemma - main (2023-10-16 17:00:28,773)] ERROR ubic.gemma.core.util.AbstractCLI.addErrorObject(399) | A raw vector RawExpressionDataVector Id=1851944546 DE=1431484_at QT=rma value EE=Brain BRCA1 conditional knockout, 48 bytesfor QT =QuantitationType Id=577090 Name=rma value General Type=QUANTITATIVE Type=AMOUNT Scale=LOG2 Representation=DOUBLE [Normalized] [Background Subtracted] [Recomputed From Raw] [Preferred] was not correctly switched to the target platform ArrayDesign Id=594 Name=Affymetrix MOE_430_2.0/A/B Short Name=MOE_430_2.0AB_Merged, it was still on ArrayDesign Id=170 Name=Affymetrix GeneChip Mouse Expression Array 430B Short Name=GPL340 java.lang.IllegalStateException: A raw vector RawExpressionDataVector Id=1851944546 DE=1431484_at QT=rma value EE=Brain BRCA1 conditional knockout, 48 bytesfor QT =QuantitationType Id=577090 Name=rma value General Type=QUANTITATIVE Type=AMOUNT Scale=LOG2 Representation=DOUBLE [Normalized] [Background Subtracted] [Recomputed From Raw] [Preferred] was not correctly switched to the target platform ArrayDesign Id=594 Name=Affymetrix MOE_430_2.0/A/B Short Name=MOE_430_2.0AB_Merged, it was still on ArrayDesign Id=170 Name=Affymetrix GeneChip Mouse Expression Array 430B Short Name=GPL340 at ubic.gemma.core.loader.expression.ExpressionExperimentPlatformSwitchService.switchDataForPlatform(ExpressionExperimentPlatformSwitchService.java:582) ~[gemma-core-1.30.3.jar:?] at ubic.gemma.core.loader.expression.ExpressionExperimentPlatformSwitchService.switchExperimentToArrayDesign(ExpressionExperimentPlatformSwitchService.java:181) ~[gemma-core-1.30.3.jar:?] at ubic.gemma.core.apps.ExpressionExperimentPlatformSwitchCli.processExperiment(ExpressionExperimentPlatformSwitchCli.java:101) [gemma-cli-1.30.3.jar:?] at ubic.gemma.core.apps.ExpressionExperimentPlatformSwitchCli.doWork(ExpressionExperimentPlatformSwitchCli.java:55) [gemma-cli-1.30.3.jar:?] at ubic.gemma.core.util.AbstractCLI.executeCommand(AbstractCLI.java:133) [gemma-cli-1.30.3.jar:?] at ubic.gemma.core.apps.GemmaCLI.main(GemmaCLI.java:199) [gemma-cli-1.30.3.jar:?]

ppavlidis avatar Oct 17 '23 18:10 ppavlidis

The problem is apparently the use of a 'thaw' which detaches the vectors from the experiment, so that when we modify them the ones associated with the experiment are not changed. The vectors need to be re-associated with the persistent collection.

I also don't think this is being done in a transaction? So I'm not sure the ideal way to fix this, leaving it to @arteymix

ppavlidis avatar Jan 05 '24 00:01 ppavlidis

I ran into some issue with lingering BAs in cache, but it turned out the model was not detached from the BioMaterial.

arteymix avatar Feb 08 '24 10:02 arteymix

We've confirmed that platform switching now works correctly except for some dataset-specific issues.

ppavlidis avatar Jun 18 '24 19:06 ppavlidis