Class GeoServiceImpl
- java.lang.Object
-
- ubic.gemma.core.loader.expression.geo.service.AbstractGeoService
-
- ubic.gemma.core.loader.expression.geo.service.GeoServiceImpl
-
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,GeoService
@Component public class GeoServiceImpl extends AbstractGeoService
Non-interactive fetching, processing and persisting of GEO data.- Author:
- pavlidis
-
-
Field Summary
-
Fields inherited from class ubic.gemma.core.loader.expression.geo.service.AbstractGeoService
arrayDesignService, persisterHelper
-
-
Constructor Summary
Constructors Constructor Description GeoServiceImpl(ArrayDesignReportService arrayDesignReportService, BioAssayService bioAssayService, ExpressionExperimentReportService expressionExperimentReportService, ExpressionExperimentService expressionExperimentService, ExpressionExperimentPrePersistService expressionExperimentPrePersistService, TaxonService taxonService, CharacteristicService characteristicService, BioMaterialService bioMaterialSerivce, BibliographicReferenceService bibliographicReferenceService, AuditTrailService auditTrailService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ArrayDesign
addElements(ArrayDesign targetPlatform)
For the rare cases (Exon arrays) where we load the platform in two stages.Collection<?>
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.void
updateFromGEO(String geoAccession)
Refetch and reprocess the GEO series, updating select information.-
Methods inherited from class ubic.gemma.core.loader.expression.geo.service.AbstractGeoService
getGeoDomainObjectGenerator, setBeanFactory, setGeoDomainObjectGenerator
-
-
-
-
Constructor Detail
-
GeoServiceImpl
@Autowired public GeoServiceImpl(ArrayDesignReportService arrayDesignReportService, BioAssayService bioAssayService, ExpressionExperimentReportService expressionExperimentReportService, ExpressionExperimentService expressionExperimentService, ExpressionExperimentPrePersistService expressionExperimentPrePersistService, TaxonService taxonService, CharacteristicService characteristicService, BioMaterialService bioMaterialSerivce, BibliographicReferenceService bibliographicReferenceService, AuditTrailService auditTrailService)
-
-
Method Detail
-
addElements
@Transactional public ArrayDesign addElements(ArrayDesign targetPlatform)
Description copied from interface:GeoService
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
@Transactional public Collection<?> fetchAndLoad(String geoAccession, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform)
Description copied from interface:GeoService
Load data, no restrictions on superseries or subseries- Specified by:
fetchAndLoad
in interfaceGeoService
- Specified by:
fetchAndLoad
in classAbstractGeoService
- 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:
fetchAndLoad
in interfaceGeoService
- Specified by:
fetchAndLoad
in classAbstractGeoService
- 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)
Description copied from interface:GeoService
Refetch and reprocess the GEO series, updating select information. Currently only implemented for experiments (GSEs)
-
loadFromSoftFile
@Transactional public Collection<?> loadFromSoftFile(String accession, String softFile, boolean loadPlatformOnly, boolean doSampleMatching, boolean splitByPlatform)
Description copied from interface:GeoService
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.
-
-