Interface GeoService
- All Known Implementing Classes:
GeoServiceImpl
- Author:
- paul
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionaddElements(ArrayDesign targetPlatform) For the rare cases (Exon arrays) where we load the platform in two stages.Collection<?> convertAndPersist(Collection<? extends GeoData> parseResult, boolean doSampleMatching, boolean splitByPlatform, boolean allowSuperSeriesImport, boolean allowSubSeriesImport) Convert an already-fetched series and persist the resulting experiment(s).Collection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitIncompatiblePlatforms) Load data, no restrictions on superseries or subseriesCollection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitIncompatiblePlatforms, boolean allowSuperSeriesImport, boolean allowSubSeriesImport) Collection<?> loadFromSoftFile(String accession, String softFile, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform) Load from a SOFT file.loadPlatforms(String geoAccession, Collection<? extends GeoData> platforms) Convert already-fetched platform data and persist the resulting array designs.voidvoidupdateFromGEO(String geoAccession, GeoService.GeoUpdateConfig geoUpdateConfig) Refetch and reprocess the GEO series, updating select information.voidupdateFromGEO(ExpressionExperiment expressionExperiment, GeoService.GeoUpdateConfig geoUpdateConfig) Refetch and reprocess a given experiment.
-
Method Details
-
addElements
For the rare cases (Exon arrays) where we load the platform in two stages.- Parameters:
targetPlatform- already persistent array design.- Returns:
- updated (persistent) array design
-
fetchAndLoad
@Nullable Collection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitIncompatiblePlatforms) Load data, no restrictions on superseries or subseries- Parameters:
geoAccession- accessionloadPlatformOnly- load platforms onlydoSampleMatching- do sample matchingsplitIncompatiblePlatforms- split incompatible platforms- Returns:
- collection
-
fetchAndLoad
@Nullable Collection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitIncompatiblePlatforms, boolean allowSuperSeriesImport, boolean allowSubSeriesImport) - Parameters:
geoAccession- accessionloadPlatformOnly- load platforms onlydoSampleMatching- do sample matchingsplitIncompatiblePlatforms- split incompatible platformsallowSuperSeriesImport- Allow loading if the Series is a SuperSeriesallowSubSeriesImport- Allow loading if the Series is a SubSeries- Returns:
- collection
-
loadPlatforms
@Transactional Collection<ArrayDesign> loadPlatforms(String geoAccession, Collection<? extends GeoData> platforms) Convert already-fetched platform data and persist the resulting array designs.🛑 Not meant to be called directly — it exists so
fetchAndLoad(String, boolean, boolean, boolean), which isPropagation.NEVERso the GEO fetch it wraps does not hold a transaction open, can reach a real transaction boundary through this bean's proxy for the persist step. A self-invocation would not open one. -
convertAndPersist
@Nullable @Transactional Collection<?> convertAndPersist(Collection<? extends GeoData> parseResult, boolean doSampleMatching, boolean splitByPlatform, boolean allowSuperSeriesImport, boolean allowSubSeriesImport) Convert an already-fetched series and persist the resulting experiment(s).Same reason as
loadPlatforms(String, Collection): reached through the proxy fromfetchAndLoad(String, boolean, boolean, boolean)once the long GEO fetch has already returned, so the ACL-creating persist at the end of this call (and everything that validates/converts the series beforehand) runs in its own fresh transaction rather than the one the fetch would otherwise have held open. -
updateFromGEO
Refetch and reprocess the GEO series, updating select information. Currently only implemented for experiments (GSEs)All experiments that uses the GEO accession will be updated as per
updateFromGEO(ExpressionExperiment, GeoUpdateConfig). -
updateFromGEO
void updateFromGEO(ExpressionExperiment expressionExperiment, GeoService.GeoUpdateConfig geoUpdateConfig) Refetch and reprocess a given experiment. -
loadFromSoftFile
Collection<?> loadFromSoftFile(String accession, String softFile, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform) Load from a SOFT file. This can be used for testing but maybe there are other situations it is useful.- Parameters:
accession- e.g GSE1234softFile- the full path to the SOFT file. The file name has to be [accession].soft.gz- Returns:
- a single experiment.
-
setGeoDomainObjectGenerator
-