Class Geeq

java.lang.Object
ubic.gemma.model.common.AbstractIdentifiable
ubic.gemma.model.expression.experiment.Geeq
All Implemented Interfaces:
Identifiable

@Entity public class Geeq extends AbstractIdentifiable
Represents quality information about a data set. The class name comes from the research project name, GEEQ. See the variables getters javadoc for further description. The scoring rules are implemented in the GeeqServiceImpl, which also exposes public methods for experiment scoring.

The score used to have a second component, Suitability, scored from platform and publication properties. Those features are microarray-era and degenerate for RNA-seq — processed RNA-seq data lands on a GENELIST platform, so platform amount, technology consistency, popularity and size were pinned — and the code was removed. The columns remain in the database because Gemma 1.0 still writes them.

Author:
paul, tesarst
  • Constructor Details

    • Geeq

      public Geeq()
  • Method Details

    • getQualityScoreArray

      public double[] getQualityScoreArray()
    • getQualityScoreWeightsArray

      public double[] getQualityScoreWeightsArray()
    • getDetectedQualityScore

      public double getDetectedQualityScore()
      Returns:
      Quality refers to data quality, wherein the same study could have been done twice with the same technical parameters and in one case yield bad quality data, and in another high quality data. The quality score can be overridden. The manual value is stored in manualQualityScore, while manualQualityOverride boolean value denotes whether the manual value should be used.
    • setDetectedQualityScore

      public void setDetectedQualityScore(double detectedQualityScore)
    • getManualQualityScore

      public double getManualQualityScore()
    • setManualQualityScore

      public void setManualQualityScore(double manualQualityScore)
    • isManualQualityOverride

      public boolean isManualQualityOverride()
    • setManualQualityOverride

      public void setManualQualityOverride(boolean manualQualityOverride)
    • getqScoreOutliers

      public double getqScoreOutliers()
      Returns:
      Presence of non-removed outliers: -1.0 if there are any outliers +1.0 if there are no outliers extra (in corrMatIssues): 1 if the correlation matrix is empty 2 if the correlation matrix has NaN values
    • setqScoreOutliers

      public void setqScoreOutliers(double qScoreOutliers)
    • getqScorePlatformsTech

      public double getqScorePlatformsTech()
      Returns:
      Platform technologies -1.0 if any platform is two-color +1.0 otherwise
    • setqScorePlatformsTech

      public void setqScorePlatformsTech(double qScorePlatformsTech)
    • getqScoreReplicates

      public double getqScoreReplicates()
      Returns:
      Number of replicates - ee has to have design and more than one condition -1.0 if lowest replicate amount < GEEQ_WORST_REPLICATION_THRESHOLD & !=1 or if there are problems +0.0 if lowest replicate amount < GEEQ_MEDIUM_REPLICATION_THRESHOLD & !=1 +1.0 otherwise extra (in replicatesIssues): 1 if the experiment has no design 2 if there were no factor values found 3 if all replicate amounts were 1 4 if lowest replicate was 0 (that really should not happen though) See GeeqServiceImpl for thresholds
    • setqScoreReplicates

      public void setqScoreReplicates(double qScoreReplicates)
    • getqScoreBatchInfo

      public double getqScoreBatchInfo()
      Returns:
      State of batch info -1.0 if no batch info available +1.0 otherwise
    • setqScoreBatchInfo

      public void setqScoreBatchInfo(double qScoreBatchInfo)
    • getqScoreBatchEffect

      public double getqScoreBatchEffect()
      Returns:
      Batch effect without batch correction. Can be overridden. -1.0 if batch pVal < 0.0001 or (manualHasStrongBatchEffect & manualBatchEffectActive) +1.0 if batch pVal > 0.1 or (!manualHasNoBatchEffect & manualBatchEffectActive) +0.0 otherwise extra: batchCorrected = true, if data was batch-corrected
    • setqScoreBatchEffect

      public void setqScoreBatchEffect(double qScoreBatchEffect)
    • isManualHasStrongBatchEffect

      public boolean isManualHasStrongBatchEffect()
    • setManualHasStrongBatchEffect

      public void setManualHasStrongBatchEffect(boolean manualHasStrongBatchEffect)
    • isManualHasNoBatchEffect

      public boolean isManualHasNoBatchEffect()
    • setManualHasNoBatchEffect

      public void setManualHasNoBatchEffect(boolean manualHasNoBatchEffect)
    • isManualBatchEffectActive

      public boolean isManualBatchEffectActive()
    • setManualBatchEffectActive

      public void setManualBatchEffectActive(boolean manualBatchEffectOverride)
    • getqScoreBatchConfound

      public double getqScoreBatchConfound()
      Returns:
      Batch confound -1.0 if data confound detected or (manualHasBatchConfound & manualBatchConfoundActive) +1.0 otherwise
    • setqScoreBatchConfound

      public void setqScoreBatchConfound(double qScoreBatchConfound)
    • isManualHasBatchConfound

      public boolean isManualHasBatchConfound()
    • setManualHasBatchConfound

      public void setManualHasBatchConfound(boolean manualHasBatchConfound)
    • isManualBatchConfoundActive

      public boolean isManualBatchConfoundActive()
    • setManualBatchConfoundActive

      public void setManualBatchConfoundActive(boolean manualBatchConfoundActive)
    • getqScoreSampleMeanCorrelation

      public double getqScoreSampleMeanCorrelation()
      Returns:
      Using the mean sample correlation r: +r use the computed value +0.0 if correlation matrix is empty
    • setqScoreSampleMeanCorrelation

      public void setqScoreSampleMeanCorrelation(double qScoreSampleMeanCorrelation)
    • getqScoreSampleMedianCorrelation

      public double getqScoreSampleMedianCorrelation()
      Returns:
      Using the median sample correlation m: +m use the computed value +0.0 if correlation matrix is empty
    • setqScoreSampleMedianCorrelation

      public void setqScoreSampleMedianCorrelation(double qScoreSampleMedianCorrelation)
    • getqScoreSampleCorrelationVariance

      public double getqScoreSampleCorrelationVariance()
      Returns:
      Using the sample correlation variance v: +v use the computed value +0.0 if correlation matrix is empty
    • setqScoreSampleCorrelationVariance

      public void setqScoreSampleCorrelationVariance(double qScoreSampleCorrelationVariance)
    • isNoVectors

      public boolean isNoVectors()
    • setNoVectors

      public void setNoVectors(boolean noVectors)
    • getCorrMatIssues

      public byte getCorrMatIssues()
    • setCorrMatIssues

      public void setCorrMatIssues(byte corrMatIssues)
    • getReplicatesIssues

      public byte getReplicatesIssues()
    • setReplicatesIssues

      public void setReplicatesIssues(byte replicatesIssues)
    • isBatchCorrected

      public boolean isBatchCorrected()
    • setBatchCorrected

      public void setBatchCorrected(boolean batchCorrected)
    • getOtherIssues

      public String getOtherIssues()
    • setOtherIssues

      public void setOtherIssues(String otherIssues)
    • addOtherIssues

      public void addOtherIssues(String issue)
    • equals

      public boolean equals(Object o)
      Description copied from class: AbstractIdentifiable
      Important note: Two objects with the same class and non-null ID must be considered equal. If one or both IDs are nulls, the rest of the state can be used to determine equality.
      Specified by:
      equals in class AbstractIdentifiable
    • hashCode

      public int hashCode()
      Description copied from class: AbstractIdentifiable
      Important note: Never use the ID in the hashCode() implementation since it can be assigned when the object is persisted.
      Specified by:
      hashCode in class AbstractIdentifiable