Record Class SampleCorrelationAnalysisPayload

java.lang.Object
java.lang.Record
ubic.gemma.core.security.audit.payload.SampleCorrelationAnalysisPayload
All Implemented Interfaces:
AuditEventPayload

public record SampleCorrelationAnalysisPayload(SampleCorrelationAnalysisPayload.FilterConfig config, List<SampleCorrelationAnalysisPayload.FilterStage> stages, int startingRows, int startingColumns, int finalRows, int finalColumns) extends Record implements AuditEventPayload
Structured payload for SampleCorrelationAnalysisEvent writes: the row-and-column attrition of the expression matrix as each filter was applied, plus the filter configuration that produced it.

Why this event carries it

Filtering is not a step of preprocessing and is not stored on the experiment. ExpressionExperimentFilterConfig is built fresh at each callsite and ExpressionExperimentFilterResult was, until this payload, computed and discarded. The sample-correlation leg is where the filter runs during every preprocessing run, so recording the result here costs no extra work and no extra audit event.

🛑 These numbers describe the sample-correlation filter, not the download filter

The "Data (filtered)" download builds its own config with different settings, so its attrition can differ — most visibly through requireSequences, which drops rows. That is why config is serialised alongside stages: the numbers are only interpretable against the settings that produced them, and a reader who has only the counts will assume they describe every filtered view of the dataset.

Written only from the run that computes the matrix. Datasets whose correlation matrix predates this payload carry null, which means "not recorded", never "nothing was filtered".

See Also:
  • Constructor Details

    • SampleCorrelationAnalysisPayload

      public SampleCorrelationAnalysisPayload(@Nullable SampleCorrelationAnalysisPayload.FilterConfig config, List<SampleCorrelationAnalysisPayload.FilterStage> stages, int startingRows, int startingColumns, int finalRows, int finalColumns)
      Creates an instance of a SampleCorrelationAnalysisPayload record class.
      Parameters:
      config - the value for the config record component
      stages - the value for the stages record component
      startingRows - the value for the startingRows record component
      startingColumns - the value for the startingColumns record component
      finalRows - the value for the finalRows record component
      finalColumns - the value for the finalColumns record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • config

      Returns the value of the config record component.
      Returns:
      the value of the config record component
    • stages

      Returns the value of the stages record component.
      Returns:
      the value of the stages record component
    • startingRows

      public int startingRows()
      Returns the value of the startingRows record component.
      Returns:
      the value of the startingRows record component
    • startingColumns

      public int startingColumns()
      Returns the value of the startingColumns record component.
      Returns:
      the value of the startingColumns record component
    • finalRows

      public int finalRows()
      Returns the value of the finalRows record component.
      Returns:
      the value of the finalRows record component
    • finalColumns

      public int finalColumns()
      Returns the value of the finalColumns record component.
      Returns:
      the value of the finalColumns record component