Class Geeq
java.lang.Object
ubic.gemma.model.common.AbstractIdentifiable
ubic.gemma.model.expression.experiment.Geeq
- All Implemented Interfaces:
Identifiable
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOtherIssues(String issue) booleanImportant note: Two objects with the same class and non-null ID must be considered equal.bytedoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledouble[]double[]byteinthashCode()Important note: Never use the ID in the hashCode() implementation since it can be assigned when the object is persisted.booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanvoidsetBatchCorrected(boolean batchCorrected) voidsetCorrMatIssues(byte corrMatIssues) voidsetDetectedQualityScore(double detectedQualityScore) voidsetManualBatchConfoundActive(boolean manualBatchConfoundActive) voidsetManualBatchEffectActive(boolean manualBatchEffectOverride) voidsetManualHasBatchConfound(boolean manualHasBatchConfound) voidsetManualHasNoBatchEffect(boolean manualHasNoBatchEffect) voidsetManualHasStrongBatchEffect(boolean manualHasStrongBatchEffect) voidsetManualQualityOverride(boolean manualQualityOverride) voidsetManualQualityScore(double manualQualityScore) voidsetNoVectors(boolean noVectors) voidsetOtherIssues(String otherIssues) voidsetqScoreBatchConfound(double qScoreBatchConfound) voidsetqScoreBatchEffect(double qScoreBatchEffect) voidsetqScoreBatchInfo(double qScoreBatchInfo) voidsetqScoreOutliers(double qScoreOutliers) voidsetqScorePlatformsTech(double qScorePlatformsTech) voidsetqScoreReplicates(double qScoreReplicates) voidsetqScoreSampleCorrelationVariance(double qScoreSampleCorrelationVariance) voidsetqScoreSampleMeanCorrelation(double qScoreSampleMeanCorrelation) voidsetqScoreSampleMedianCorrelation(double qScoreSampleMedianCorrelation) voidsetReplicatesIssues(byte replicatesIssues) Methods inherited from class AbstractIdentifiable
getId, setId, toString
-
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
-
setOtherIssues
-
addOtherIssues
-
equals
Description copied from class:AbstractIdentifiableImportant 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:
equalsin classAbstractIdentifiable
-
hashCode
public int hashCode()Description copied from class:AbstractIdentifiableImportant note: Never use the ID in the hashCode() implementation since it can be assigned when the object is persisted.- Specified by:
hashCodein classAbstractIdentifiable
-