Class NullSingleCellDataLoader
- java.lang.Object
-
- ubic.gemma.core.loader.expression.singleCell.NullSingleCellDataLoader
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,DataLoader
,SequencingDataLoader
,SingleCellDataLoader
public class NullSingleCellDataLoader extends Object implements SingleCellDataLoader
Single-cell data loader used when no data is available.This is useful to use as a base loader for an
AbstractDelegatingSingleCellDataLoader
implementation.- Author:
- poirigui
-
-
Constructor Summary
Constructors Constructor Description NullSingleCellDataLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Free any resources that the loaded has setup.Set<CellTypeAssignment>
getCellTypeAssignments(SingleCellDimension dimension)
Load single-cell type assignments present in the data.Set<ExperimentalFactor>
getFactors(Collection<BioAssay> samples, Map<BioMaterial,Set<FactorValue>> factorValueAssignments)
Load experimental factors present in the data.Set<String>
getGenes()
Load gene identifiers present in the data.Set<CellLevelCharacteristics>
getOtherCellLevelCharacteristics(SingleCellDimension dimension)
Load cell-level characteristics that are not cell type assignments present in the data.Set<QuantitationType>
getQuantitationTypes()
Load quantitation types present in the data.Set<String>
getSampleNames()
Obtain the sample names present in the data.Map<BioMaterial,Set<Characteristic>>
getSamplesCharacteristics(Collection<BioAssay> samples)
Load samples characteristics present in the data.Map<BioAssay,SequencingMetadata>
getSequencingMetadata(Collection<BioAssay> samples)
Retrieve various sequencing metadata if counting data is present.Map<BioAssay,SequencingMetadata>
getSequencingMetadata(SingleCellDimension dimension)
SingleCellDimension
getSingleCellDimension(Collection<BioAssay> bioAssays)
Load the single-cell dimension present in the data.Stream<SingleCellExpressionDataVector>
loadVectors(Collection<CompositeSequence> designElements, SingleCellDimension dimension, QuantitationType quantitationType)
Produces a stream of single-cell expression data vectors for the givenQuantitationType
.void
setBioAssayToSampleNameMapper(BioAssayMapper bioAssayToSampleNameMatcher)
Set the strategy used for mappingBioAssay
to sample names from the data.void
setDesignElementToGeneMapper(DesignElementMapper designElementToGeneMapper)
Set the strategy used for mappingCompositeSequence
to gene identifiers from the data.void
setIgnoreUnmatchedDesignElements(boolean ignoreUnmatchedDesignElements)
Ignore unmatched design elements from the data when creating vectors.void
setIgnoreUnmatchedSamples(boolean ignoreUnmatchedSamples)
Ignore unmatched samples from the data.
-
-
-
Method Detail
-
setBioAssayToSampleNameMapper
public void setBioAssayToSampleNameMapper(BioAssayMapper bioAssayToSampleNameMatcher)
Description copied from interface:DataLoader
Set the strategy used for mappingBioAssay
to sample names from the data.- Specified by:
setBioAssayToSampleNameMapper
in interfaceDataLoader
-
setDesignElementToGeneMapper
public void setDesignElementToGeneMapper(DesignElementMapper designElementToGeneMapper)
Description copied from interface:DataLoader
Set the strategy used for mappingCompositeSequence
to gene identifiers from the data.- Specified by:
setDesignElementToGeneMapper
in interfaceDataLoader
-
setIgnoreUnmatchedSamples
public void setIgnoreUnmatchedSamples(boolean ignoreUnmatchedSamples)
Description copied from interface:DataLoader
Ignore unmatched samples from the data.This defaults to true.
- Specified by:
setIgnoreUnmatchedSamples
in interfaceDataLoader
-
setIgnoreUnmatchedDesignElements
public void setIgnoreUnmatchedDesignElements(boolean ignoreUnmatchedDesignElements)
Description copied from interface:DataLoader
Ignore unmatched design elements from the data when creating vectors.This defaults to true.
There's a discussions to make this default in false in general for sequencing data.
- Specified by:
setIgnoreUnmatchedDesignElements
in interfaceDataLoader
-
getSampleNames
public Set<String> getSampleNames() throws IOException
Description copied from interface:DataLoader
Obtain the sample names present in the data.- Specified by:
getSampleNames
in interfaceDataLoader
- Throws:
IOException
-
getSingleCellDimension
public SingleCellDimension getSingleCellDimension(Collection<BioAssay> bioAssays) throws IOException, IllegalArgumentException
Description copied from interface:SingleCellDataLoader
Load the single-cell dimension present in the data.Not all samples might be present and thus the returned
SingleCellDimension
will have a expression data for a subset of the data.- Specified by:
getSingleCellDimension
in interfaceSingleCellDataLoader
- Parameters:
bioAssays
- a set of bioassays to use when populating the dimension, not all bioassays may be used- Throws:
IllegalArgumentException
- if a sample present in the data cannot be matched to one of the suppliedBioAssay
, ignored ifDataLoader.setIgnoreUnmatchedSamples(boolean)
is set to true.IOException
-
getQuantitationTypes
public Set<QuantitationType> getQuantitationTypes() throws IOException
Description copied from interface:DataLoader
Load quantitation types present in the data.- Specified by:
getQuantitationTypes
in interfaceDataLoader
- Throws:
IOException
-
getCellTypeAssignments
public Set<CellTypeAssignment> getCellTypeAssignments(SingleCellDimension dimension) throws IOException
Description copied from interface:SingleCellDataLoader
Load single-cell type assignments present in the data.- Specified by:
getCellTypeAssignments
in interfaceSingleCellDataLoader
- Throws:
IOException
-
getOtherCellLevelCharacteristics
public Set<CellLevelCharacteristics> getOtherCellLevelCharacteristics(SingleCellDimension dimension) throws IOException
Description copied from interface:SingleCellDataLoader
Load cell-level characteristics that are not cell type assignments present in the data.- Specified by:
getOtherCellLevelCharacteristics
in interfaceSingleCellDataLoader
- Throws:
IOException
-
getFactors
public Set<ExperimentalFactor> getFactors(Collection<BioAssay> samples, @Nullable Map<BioMaterial,Set<FactorValue>> factorValueAssignments) throws IOException
Description copied from interface:DataLoader
Load experimental factors present in the data.- Specified by:
getFactors
in interfaceDataLoader
- Parameters:
samples
- samples to use when determining which factors to loadfactorValueAssignments
- if non-null, the proposed assignment of factor values to samples are populated in the mapping.- Returns:
- a set of factors present in the data
- Throws:
IOException
-
getSamplesCharacteristics
public Map<BioMaterial,Set<Characteristic>> getSamplesCharacteristics(Collection<BioAssay> samples) throws IOException
Description copied from interface:DataLoader
Load samples characteristics present in the data.- Specified by:
getSamplesCharacteristics
in interfaceDataLoader
- Parameters:
samples
- to use when determining which characteristics to load- Returns:
- proposed characteristics grouped by sample
- Throws:
IOException
-
getGenes
public Set<String> getGenes() throws IOException
Description copied from interface:DataLoader
Load gene identifiers present in the data.- Specified by:
getGenes
in interfaceDataLoader
- Throws:
IOException
-
getSequencingMetadata
public Map<BioAssay,SequencingMetadata> getSequencingMetadata(Collection<BioAssay> samples) throws IOException
Description copied from interface:SequencingDataLoader
Retrieve various sequencing metadata if counting data is present.- Specified by:
getSequencingMetadata
in interfaceSequencingDataLoader
- Throws:
IOException
-
getSequencingMetadata
public Map<BioAssay,SequencingMetadata> getSequencingMetadata(SingleCellDimension dimension) throws IOException
- Specified by:
getSequencingMetadata
in interfaceSingleCellDataLoader
- Throws:
IOException
-
loadVectors
public Stream<SingleCellExpressionDataVector> loadVectors(Collection<CompositeSequence> designElements, SingleCellDimension dimension, QuantitationType quantitationType) throws IOException, IllegalArgumentException
Description copied from interface:SingleCellDataLoader
Produces a stream of single-cell expression data vectors for the givenQuantitationType
.- Specified by:
loadVectors
in interfaceSingleCellDataLoader
- Parameters:
designElements
- a collection of design elements for mapping of element names used in the dataset toCompositeSequence
dimension
- a dimension to use for creating vectors, may be loaded from the single-cell data withSingleCellDataLoader.getSingleCellDimension(Collection)
quantitationType
- a quantitation type to extract from the data for, may be loaded from the single-cell data withDataLoader.getQuantitationTypes()
- Returns:
- a stream of single-cell expression data vectors that must be closed when done, preferably using a try-with-resource block.
- Throws:
IllegalArgumentException
- if a design element present in the data cannot be matched to one of the supplied elements, requires settingDataLoader.setIgnoreUnmatchedDesignElements(boolean)
to falseIOException
-
close
public void close() throws IOException
Description copied from interface:DataLoader
Free any resources that the loaded has setup.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceDataLoader
- Throws:
IOException
-
-