Class BioAssayValueObject
- All Implemented Interfaces:
Serializable, Identifiable
- Author:
- Paul
- See Also:
-
Field Summary
Fields inherited from class IdentifiableValueObject
id -
Constructor Summary
ConstructorsConstructorDescriptionRequired when using the class as a spring bean.BioAssayValueObject(BioAssay bioAssay) BioAssayValueObject(BioAssay bioAssay, boolean basic) BioAssayValueObject(BioAssay bioAssay, boolean basic, boolean predictedOutlier) BioAssayValueObject(BioAssay bioAssay, Map<ArrayDesign, ArrayDesignValueObject> ad2vo, BioAssay sourceBioAssay, boolean basic, boolean allFactorValues) -
Method Summary
Modifier and TypeMethodDescriptionbooleanThe platform this assay was run on, serialized asArrayDesignReferenceValueObject—id,shortName,name,technologyType.What was extracted from the sample and assayed — GEO'smolecule.How the library was selected — GEO'slibrary_selection(polyA,cDNA,RANDOM, …), verbatim.What kind of library — GEO'slibrary_strategy(RNA-Seq,scRNA-seq,Ribo-Seq,ATAC-seq, …).getName()The platform this assay was originally run on before a platform switch, or null if it was never switched.Whether the median-correlation algorithm flags this assay as a possible outlier.If this BioAssay has a parent viaBioMaterial.getSourceBioMaterial(), this is the ID.inthashCode()booleanbooleanvoidsetAccession(DatabaseEntryValueObject accession) voidsetArrayDesign(ArrayDesignValueObject arrayDesign) The platform this assay was run on, serialized asArrayDesignReferenceValueObject—id,shortName,name,technologyType.voidsetDescription(String description) voidsetExtractedMolecule(ExtractedMolecule extractedMolecule) What was extracted from the sample and assayed — GEO'smolecule.voidsetLibrarySelection(String librarySelection) How the library was selected — GEO'slibrary_selection(polyA,cDNA,RANDOM, …), verbatim.voidsetLibraryStrategy(String libraryStrategy) What kind of library — GEO'slibrary_strategy(RNA-Seq,scRNA-seq,Ribo-Seq,ATAC-seq, …).voidsetMetadata(String metadata) voidvoidsetNumberOfCells(Integer numberOfCells) voidsetNumberOfCellsByDesignElements(Integer numberOfCellsByDesignElements) voidsetNumberOfDesignElements(Integer numberOfDesignElements) voidsetOriginalPlatform(ArrayDesignValueObject originalPlatform) The platform this assay was originally run on before a platform switch, or null if it was never switched.voidsetOutlier(boolean outlier) voidsetPredictedOutlier(Boolean predictedOutlier) Whether the median-correlation algorithm flags this assay as a possible outlier.voidsetProcessingDate(Date processingDate) voidsetSample(BioMaterialValueObject sample) voidsetSequencePairedReads(Boolean sequencePairedReads) voidsetSequenceReadCount(Long sequenceReadCount) voidsetSequenceReadLength(Integer sequenceReadLength) voidsetShortName(String shortName) voidsetSourceBioAssayId(Long sourceBioAssayId) If this BioAssay has a parent viaBioMaterial.getSourceBioMaterial(), this is the ID.voidsetUserFlaggedOutlier(boolean userFlaggedOutlier) toString()Methods inherited from class IdentifiableValueObject
canEqual, getId, setId
-
Constructor Details
-
BioAssayValueObject
public BioAssayValueObject()Required when using the class as a spring bean. -
BioAssayValueObject
-
BioAssayValueObject
-
BioAssayValueObject
-
BioAssayValueObject
public BioAssayValueObject(BioAssay bioAssay, @Nullable Map<ArrayDesign, ArrayDesignValueObject> ad2vo, @Nullable BioAssay sourceBioAssay, boolean basic, boolean allFactorValues) - Parameters:
ad2vo- pre-populated array design VOs by array design, or null to ignore and the VOs will be initialized viaArrayDesignValueObject(ArrayDesign)sourceBioAssay- the sourceBioAssayif known, this corresponds to the assay of the source sample, but since there might be more than one, it must be picked explicitly based on the contextbasic- if true, produce basic factor values in the corresponding biomaterial, seeBioMaterialValueObject(BioMaterial, boolean, boolean)for more detailsallFactorValues- include all FVs, including those inherited from the source biomaterial in the corresponding biomaterial
-
BioAssayValueObject
-
-
Method Details
-
equals
- Overrides:
equalsin classIdentifiableValueObject<BioAssay>
-
hashCode
public int hashCode()- Overrides:
hashCodein classIdentifiableValueObject<BioAssay>
-
toString
- Overrides:
toStringin classIdentifiableValueObject<BioAssay>
-
getShortName
-
getName
-
getDescription
-
getMetadata
-
getAccession
-
getArrayDesign
The platform this assay was run on, serialized asArrayDesignReferenceValueObject—id,shortName,name,technologyType.The full platform VO is byte-identical across every assay of a dataset and was serialized once per assay: on
GET /datasets/3937/samples(278 assays) the two platform fields were 706,120 of 5,265,852 bytes, 13.4% of the response, most of it 278 copies of one platform's 1.4 kBdescription.GET /datasets/{id}/platforms?original=trueserves the full object once for callers that want the rest of it.The Java type stays
ArrayDesignValueObjectbecause three in-JVM readers consume it —BioAssayDimensionValueObject,DoubleVectorValueObjectandDoubleVectorValueObjectUtils#toArrayDesign, the last of which readsgetTaxonObject(), absent from the reference shape. So this is a serialization projection, not a type change. -
getOriginalPlatform
The platform this assay was originally run on before a platform switch, or null if it was never switched. Projected toArrayDesignReferenceValueObjectfor the same reason asarrayDesign. -
getProcessingDate
-
getSample
-
getExtractedMolecule
What was extracted from the sample and assayed — GEO'smolecule. Null when the source did not say, and on everything imported before this field existed.🛑 The only thing that separates single-NUCLEUS from single-CELL RNA-seq:
isSingleCellis true for both, and before this the distinction lived solely as onemolecular entitycharacteristic among a sample's several, with no typed way to ask. -
getLibrarySelection
How the library was selected — GEO'slibrary_selection(polyA,cDNA,RANDOM, …), verbatim.⚠️ Read beside
extractedMolecule, not instead of it:totalRNAwith apolyAselection is common and the two together are the real answer. -
getLibraryStrategy
What kind of library — GEO'slibrary_strategy(RNA-Seq,scRNA-seq,Ribo-Seq,ATAC-seq, …). A string rather than an enum so a strategy nobody anticipated arrives intact instead of needing a schema change. -
getSequencePairedReads
-
getSequenceReadCount
-
getSequenceReadLength
-
getNumberOfCells
-
getNumberOfDesignElements
-
getNumberOfCellsByDesignElements
-
isOutlier
public boolean isOutlier() -
getPredictedOutlier
Whether the median-correlation algorithm flags this assay as a possible outlier.Null when it was not computed, which is the default: the calculation loads the dataset's whole sample-correlation matrix, so the sample-listing routes only do it when asked (
?includePredictedOutliers=true). Absent therefore means "not computed" and is deliberately distinguishable fromfalse, which means the algorithm ran and did not flag this assay. The curatedoutlierflag is always populated either way. -
isUserFlaggedOutlier
public boolean isUserFlaggedOutlier() -
getSourceBioAssayId
If this BioAssay has a parent viaBioMaterial.getSourceBioMaterial(), this is the ID.This is context-dependent because the parent depends on which
BioAssaySetis under consideration. For example, an experiment could have two sets of EE subsets with distinct parents. -
setShortName
-
setName
-
setDescription
-
setMetadata
-
setAccession
-
setArrayDesign
The platform this assay was run on, serialized asArrayDesignReferenceValueObject—id,shortName,name,technologyType.The full platform VO is byte-identical across every assay of a dataset and was serialized once per assay: on
GET /datasets/3937/samples(278 assays) the two platform fields were 706,120 of 5,265,852 bytes, 13.4% of the response, most of it 278 copies of one platform's 1.4 kBdescription.GET /datasets/{id}/platforms?original=trueserves the full object once for callers that want the rest of it.The Java type stays
ArrayDesignValueObjectbecause three in-JVM readers consume it —BioAssayDimensionValueObject,DoubleVectorValueObjectandDoubleVectorValueObjectUtils#toArrayDesign, the last of which readsgetTaxonObject(), absent from the reference shape. So this is a serialization projection, not a type change. -
setOriginalPlatform
The platform this assay was originally run on before a platform switch, or null if it was never switched. Projected toArrayDesignReferenceValueObjectfor the same reason asarrayDesign. -
setProcessingDate
-
setSample
-
setExtractedMolecule
What was extracted from the sample and assayed — GEO'smolecule. Null when the source did not say, and on everything imported before this field existed.🛑 The only thing that separates single-NUCLEUS from single-CELL RNA-seq:
isSingleCellis true for both, and before this the distinction lived solely as onemolecular entitycharacteristic among a sample's several, with no typed way to ask. -
setLibrarySelection
How the library was selected — GEO'slibrary_selection(polyA,cDNA,RANDOM, …), verbatim.⚠️ Read beside
extractedMolecule, not instead of it:totalRNAwith apolyAselection is common and the two together are the real answer. -
setLibraryStrategy
What kind of library — GEO'slibrary_strategy(RNA-Seq,scRNA-seq,Ribo-Seq,ATAC-seq, …). A string rather than an enum so a strategy nobody anticipated arrives intact instead of needing a schema change. -
setSequencePairedReads
-
setSequenceReadCount
-
setSequenceReadLength
-
setNumberOfCells
-
setNumberOfDesignElements
-
setNumberOfCellsByDesignElements
-
setOutlier
public void setOutlier(boolean outlier) -
setPredictedOutlier
Whether the median-correlation algorithm flags this assay as a possible outlier.Null when it was not computed, which is the default: the calculation loads the dataset's whole sample-correlation matrix, so the sample-listing routes only do it when asked (
?includePredictedOutliers=true). Absent therefore means "not computed" and is deliberately distinguishable fromfalse, which means the algorithm ran and did not flag this assay. The curatedoutlierflag is always populated either way. -
setUserFlaggedOutlier
public void setUserFlaggedOutlier(boolean userFlaggedOutlier) -
setSourceBioAssayId
If this BioAssay has a parent viaBioMaterial.getSourceBioMaterial(), this is the ID.This is context-dependent because the parent depends on which
BioAssaySetis under consideration. For example, an experiment could have two sets of EE subsets with distinct parents.
-