Class GeoServiceImpl
java.lang.Object
ubic.gemma.core.loader.expression.geo.service.GeoServiceImpl
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean,GeoService
@Component
public class GeoServiceImpl
extends Object
implements GeoService, org.springframework.beans.factory.InitializingBean
Non-interactive fetching, processing and persisting of GEO data.
- Author:
- pavlidis
-
Nested Class Summary
Nested classes/interfaces inherited from interface ubic.gemma.core.loader.expression.geo.service.GeoService
GeoService.GeoUpdateConfig -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddElements(ArrayDesign targetPlatform) For the rare cases (Exon arrays) where we load the platform in two stages.voidCollection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform) Load data, no restrictions on superseries or subseriesCollection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform, boolean allowSuperSeriesImport, boolean allowSubSeriesImport) Given a GEO GSE or GDS (or GPL, but support might not be complete) Check that it doesn't already exist in the system, filter samples Download and parse GDS files and GSE file needed Convert the GDS and GSE into a ExpressionExperiment (or just the ArrayDesigns) Load the resulting ExpressionExperiment and/or ArrayDesigns into GemmaCollection<?> loadFromSoftFile(String accession, String softFile, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform) Load from a SOFT file.voidvoidupdateFromGEO(String geoAccession, GeoService.GeoUpdateConfig geoUpdateConfig) Refetch and reprocess the GEO series, updating select information.voidupdateFromGEO(ExpressionExperiment ee, GeoService.GeoUpdateConfig geoUpdateConfig) Refetch and reprocess a given experiment.
-
Constructor Details
-
GeoServiceImpl
public GeoServiceImpl()
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
addElements
Description copied from interface:GeoServiceFor the rare cases (Exon arrays) where we load the platform in two stages.- Specified by:
addElementsin interfaceGeoService- Parameters:
targetPlatform- already persistent array design.- Returns:
- updated (persistent) array design
-
fetchAndLoad
@Transactional public Collection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform) Description copied from interface:GeoServiceLoad data, no restrictions on superseries or subseries- Specified by:
fetchAndLoadin interfaceGeoService- Parameters:
geoAccession- accessionloadPlatformOnly- load platforms onlydoSampleMatching- do sample matchingsplitByPlatform- split incompatible platforms- Returns:
- collection
-
fetchAndLoad
@Transactional public Collection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform, boolean allowSuperSeriesImport, boolean allowSubSeriesImport) Given a GEO GSE or GDS (or GPL, but support might not be complete)- Check that it doesn't already exist in the system, filter samples
- Download and parse GDS files and GSE file needed
- Convert the GDS and GSE into a ExpressionExperiment (or just the ArrayDesigns)
- Load the resulting ExpressionExperiment and/or ArrayDesigns into Gemma
- Specified by:
fetchAndLoadin interfaceGeoService- Parameters:
geoAccession- accessionloadPlatformOnly- load platforms onlydoSampleMatching- do sample matchingsplitByPlatform- split incompatible platformsallowSuperSeriesImport- Allow loading if the Series is a SuperSeriesallowSubSeriesImport- Allow loading if the Series is a SubSeries- Returns:
- collection
-
updateFromGEO
@Transactional public void updateFromGEO(String geoAccession, GeoService.GeoUpdateConfig geoUpdateConfig) Description copied from interface:GeoServiceRefetch 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
GeoService.updateFromGEO(ExpressionExperiment, GeoUpdateConfig).- Specified by:
updateFromGEOin interfaceGeoService
-
updateFromGEO
Description copied from interface:GeoServiceRefetch and reprocess a given experiment.- Specified by:
updateFromGEOin interfaceGeoService
-
loadFromSoftFile
@Transactional public Collection<?> loadFromSoftFile(String accession, String softFile, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform) Description copied from interface:GeoServiceLoad from a SOFT file. This can be used for testing but maybe there are other situations it is useful.- Specified by:
loadFromSoftFilein interfaceGeoService- 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
- Specified by:
setGeoDomainObjectGeneratorin interfaceGeoService
-