Class PipelineStatusValueObject.PipelineStepValueObject
- Enclosing class:
PipelineStatusValueObject
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe most recent attempt failed.static final StringNot applicable to this experiment -- so "never run" is not a gap.static final StringApplicable to this experiment, but never attempted.static final StringThe step has completed successfully.static final StringRan successfully, and the experimental design has changed since -- so the result is still there but no longer describes the design it was computed from. -
Constructor Summary
ConstructorsConstructorDescriptionPipelineStepValueObject(String step, String state, Date lastRun, String eventType, String message, SampleCorrelationAnalysisPayload filterAttrition, ProcessedVectorComputationPayload processedVectors) -
Method Summary
Modifier and TypeMethodDescriptionSimple class name of the latest audit event (BatchInformationFetchingEvent,FailedPCAAnalysisEvent, etc.).How many design elements and samples each filter removed while the step ran, and the filter settings that produced those numbers.Note attached to the latest audit event, when present.What the processed-vector creation did to the data: which raw quantitation type it started from, which one it produced, how many cells were masked for missing values and for outliers, and whether the result was quantile-normalized.getState()getStep()Which pipeline step.voidsetEventType(String eventType) Simple class name of the latest audit event (BatchInformationFetchingEvent,FailedPCAAnalysisEvent, etc.).voidsetFilterAttrition(SampleCorrelationAnalysisPayload filterAttrition) How many design elements and samples each filter removed while the step ran, and the filter settings that produced those numbers.voidsetLastRun(Date lastRun) voidsetMessage(String message) Note attached to the latest audit event, when present.voidsetProcessedVectors(ProcessedVectorComputationPayload processedVectors) What the processed-vector creation did to the data: which raw quantitation type it started from, which one it produced, how many cells were masked for missing values and for outliers, and whether the result was quantile-normalized.voidvoidWhich pipeline step.
-
Field Details
-
STATUS_OK
-
STATUS_FAILED
-
STATUS_NOT_RUN
Applicable to this experiment, but never attempted.- See Also:
-
STATUS_NOT_APPLICABLE
Not applicable to this experiment -- so "never run" is not a gap.- See Also:
-
STATUS_STALE
Ran successfully, and the experimental design has changed since -- so the result is still there but no longer describes the design it was computed from.🛑 Distinct from the two states that already exist elsewhere and are NOT this.
incomplete(the curation store's step state) means started and unfinished, a curator owes it something.needsAttentionis the curator's own flag, mirrored at the top level of this VO. This is neither: nobody has to do anything for the state to be true, and it is about the derived artifact rather than about the curation.Every step but
batchInfocan report it. A design change that invalidates an analysis DELETES it, after which the step readsnotRun; this covers the case where the analysis survived the change.GET /datasets/staleStepsis the corpus-wide read: which datasets carry one of these, and which steps.- See Also:
-
-
Constructor Details
-
PipelineStepValueObject
public PipelineStepValueObject() -
PipelineStepValueObject
-
PipelineStepValueObject
public PipelineStepValueObject(String step, String state, @Nullable Date lastRun, @Nullable String eventType, @Nullable String message, @Nullable SampleCorrelationAnalysisPayload filterAttrition, @Nullable ProcessedVectorComputationPayload processedVectors)
-
-
Method Details
-
getStep
Which pipeline step. The nine emitted byDatasetsWebService.PIPELINE_STEPS. -
getState
One ofSTATUS_OK,STATUS_FAILED,STATUS_NOT_RUN,STATUS_NOT_APPLICABLE,STATUS_STALE.Kept a
Stringrather than promoted to an enum, so that adding a value later is not a deserialization break for a consumer holding an older copy of the vocabulary. TheallowableValuesbelow is what pins it: before this, the deployed OpenAPI spec said only"type": "string", which is how a vocabulary drifts with nobody noticing -- and it had already drifted, since the curation UI carries a six-value union of which two (in_progress,needs_attention) no producer here emits.Wire key is
statusper curation-UI alignment; legacystateaccepted on read. -
getLastRun
-
getEventType
Simple class name of the latest audit event (BatchInformationFetchingEvent,FailedPCAAnalysisEvent, etc.).nullwhen no event has been recorded. -
getMessage
Note attached to the latest audit event, when present. Most useful for failed steps where the failure reason is captured here.Wire key is
detailsper curation-UI alignment; legacymessageaccepted on read. -
getFilterAttrition
How many design elements and samples each filter removed while the step ran, and the filter settings that produced those numbers. Only thesampleCorrelationstep carries it.🛑
nullmeans NOT RECORDED, never "nothing was filtered". Filtering is not part of preprocessing and nothing about it was stored before this field existed, so every dataset whose correlation matrix predates it reads null until something recomputes the matrix.🛑 These counts describe the filter the correlation matrix was built under, which is not the one the "filtered" data download uses -- that path builds its own configuration.
configis served alongside for exactly that reason; the counts are not interpretable without it. -
getProcessedVectors
What the processed-vector creation did to the data: which raw quantitation type it started from, which one it produced, how many cells were masked for missing values and for outliers, and whether the result was quantile-normalized. Only thepreprocessstep carries it.🛑 This is as close as Gemma comes to a "normalization method", and it is not one -- there is no stored algorithm name.
quantileNormalizedis a single recorded fact; everything else about how the values are scaled is described by the preferred quantitation type's flags, served byGET /datasets/{id}/quantitationTypes.🛑
nullmeans not recorded. The payload has been written since the Phase C audit migration, so this is populated for anything preprocessed since -- but not for older runs. -
setStep
Which pipeline step. The nine emitted byDatasetsWebService.PIPELINE_STEPS. -
setState
One ofSTATUS_OK,STATUS_FAILED,STATUS_NOT_RUN,STATUS_NOT_APPLICABLE,STATUS_STALE.Kept a
Stringrather than promoted to an enum, so that adding a value later is not a deserialization break for a consumer holding an older copy of the vocabulary. TheallowableValuesbelow is what pins it: before this, the deployed OpenAPI spec said only"type": "string", which is how a vocabulary drifts with nobody noticing -- and it had already drifted, since the curation UI carries a six-value union of which two (in_progress,needs_attention) no producer here emits.Wire key is
statusper curation-UI alignment; legacystateaccepted on read. -
setLastRun
-
setEventType
Simple class name of the latest audit event (BatchInformationFetchingEvent,FailedPCAAnalysisEvent, etc.).nullwhen no event has been recorded. -
setMessage
Note attached to the latest audit event, when present. Most useful for failed steps where the failure reason is captured here.Wire key is
detailsper curation-UI alignment; legacymessageaccepted on read. -
setFilterAttrition
How many design elements and samples each filter removed while the step ran, and the filter settings that produced those numbers. Only thesampleCorrelationstep carries it.🛑
nullmeans NOT RECORDED, never "nothing was filtered". Filtering is not part of preprocessing and nothing about it was stored before this field existed, so every dataset whose correlation matrix predates it reads null until something recomputes the matrix.🛑 These counts describe the filter the correlation matrix was built under, which is not the one the "filtered" data download uses -- that path builds its own configuration.
configis served alongside for exactly that reason; the counts are not interpretable without it. -
setProcessedVectors
What the processed-vector creation did to the data: which raw quantitation type it started from, which one it produced, how many cells were masked for missing values and for outliers, and whether the result was quantile-normalized. Only thepreprocessstep carries it.🛑 This is as close as Gemma comes to a "normalization method", and it is not one -- there is no stored algorithm name.
quantileNormalizedis a single recorded fact; everything else about how the values are scaled is described by the preferred quantitation type's flags, served byGET /datasets/{id}/quantitationTypes.🛑
nullmeans not recorded. The payload has been written since the Phase C audit migration, so this is populated for anything preprocessed since -- but not for older runs.
-