Class Geeq
- java.lang.Object
- 
- ubic.gemma.model.expression.experiment.Geeq
 
- 
- All Implemented Interfaces:
- Serializable,- Identifiable
 
 public class Geeq extends Object implements Identifiable, Serializable Represents quality information about a data set. The class name comes from the research project name, GEEQ. The score has two components: Quality and Suitability. See the variables getters javadoc for further description. The scoring rules are implemented in the GeeqServiceImpl, which also exposes public methods for experiment scoring.- Author:
- paul, tesarst
- See Also:
- Serialized Form
 
- 
- 
Constructor SummaryConstructors Constructor Description Geeq()
 - 
Method Summary
 
- 
- 
- 
Method Detail- 
getIdpublic Long getId() - Specified by:
- getIdin interface- Identifiable
 
 - 
getSuitabilityScoreArraypublic double[] getSuitabilityScoreArray() 
 - 
getQualityScoreArraypublic double[] getQualityScoreArray() 
 - 
getSuitabilityScoreWeightsArraypublic double[] getSuitabilityScoreWeightsArray() 
 - 
getQualityScoreWeightsArraypublic double[] getQualityScoreWeightsArray() 
 - 
getDetectedQualityScorepublic 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.
 
 - 
setDetectedQualityScorepublic void setDetectedQualityScore(double detectedQualityScore) 
 - 
getManualQualityScorepublic double getManualQualityScore() 
 - 
setManualQualityScorepublic void setManualQualityScore(double manualQualityScore) 
 - 
isManualQualityOverridepublic boolean isManualQualityOverride() 
 - 
setManualQualityOverridepublic void setManualQualityOverride(boolean manualQualityOverride) 
 - 
getDetectedSuitabilityScorepublic double getDetectedSuitabilityScore() - Returns:
- Suitability mostly refers to technical aspects which, if we were doing the study ourselves, we would have altered to make it optimal for analyses of the sort used in Gemma. The suitability score can be overridden. The manual value is stored in manualSuitabilityScore, while manualSuitabilityOverride boolean value denotes whether the manual value should be used.
 
 - 
setDetectedSuitabilityScorepublic void setDetectedSuitabilityScore(double detectedSuitabilityScore) 
 - 
getManualSuitabilityScorepublic double getManualSuitabilityScore() 
 - 
setManualSuitabilityScorepublic void setManualSuitabilityScore(double manualSuitabilityScore) 
 - 
isManualSuitabilityOverridepublic boolean isManualSuitabilityOverride() 
 - 
setManualSuitabilityOverridepublic void setManualSuitabilityOverride(boolean manualSuitabilityOverride) 
 - 
getsScorePublicationpublic double getsScorePublication() - Returns:
- -1.0 - if experiment has no publication +1.0 otherwise
 
 - 
setsScorePublicationpublic void setsScorePublication(double sScorePublicationDate) 
 - 
getsScorePlatformAmountpublic double getsScorePlatformAmount() - Returns:
- The amount of platforms the experiment uses: -1.0 if amount > 2 -0.5 if amount > 1 +1.0 otherwise
 
 - 
setsScorePlatformAmountpublic void setsScorePlatformAmount(double sScorePlatformAmount) 
 - 
getsScorePlatformsTechMultipublic double getsScorePlatformsTechMulti() - Returns:
- Extra punishment for platform technology inconsistency -1.0 if platforms amount > 1 and platforms do not have the same technology type +1.0 otherwise
 
 - 
setsScorePlatformsTechMultipublic void setsScorePlatformsTechMulti(double sScorePlatformsTechMulti) 
 - 
getsScoreAvgPlatformPopularitypublic double getsScoreAvgPlatformPopularity() - Returns:
- Score for each platforms popularity: (final score is average of scores for all used platforms) -1.0 if used in < 10 EEs -0.5 if used in < 20 EEs +0.0 if used in < 50 EEs +0.5 if used in < 100 EEs +1.0 otherwise
 
 - 
setsScoreAvgPlatformPopularitypublic void setsScoreAvgPlatformPopularity(double sScoreAvgPlatformPopularity) 
 - 
getsScoreAvgPlatformSizepublic double getsScoreAvgPlatformSize() - Returns:
- Score for each platforms size: (final score is average of scores for all used platforms) -1.0 if gene count < 5k -0.5 if gene count < 10k +0.0 if gene count < 15k +0.5 if gene count < 18k +1.0 otherwise
 
 - 
setsScoreAvgPlatformSizepublic void setsScoreAvgPlatformSize(double sScoreAvgPlatformSize) 
 - 
getsScoreSampleSizepublic double getsScoreSampleSize() - Returns:
- The amount of samples in the experiment -1.0 if sample size < 10 -0.3 if sample size < 20 +0.3 if sample size < 50 +1.0 otherwise
 
 - 
setsScoreSampleSizepublic void setsScoreSampleSize(double sScoreSampleSize) 
 - 
getsScoreRawDatapublic double getsScoreRawData() - Returns:
- Raw data availability (shows also as the 'external' badge in Gemma web UI) -1.0 if no raw data available +1.0 otherwise
 
 - 
setsScoreRawDatapublic void setsScoreRawData(double sScoreRawData) 
 - 
getsScoreMissingValuespublic double getsScoreMissingValues() - Returns:
- Missing values -1.0 if experiment has any missing values or there are no computed vectors +1.0 otherwise (assumed if experiment has raw data available) extra: noVectors = true, if experiment has no computed vectors
 
 - 
setsScoreMissingValuespublic void setsScoreMissingValues(double sScoreMissingValues) 
 - 
getqScoreOutlierspublic 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
 
 - 
setqScoreOutlierspublic void setqScoreOutliers(double qScoreOutliers) 
 - 
getqScorePlatformsTechpublic double getqScorePlatformsTech() - Returns:
- Platform technologies -1.0 if any platform is two-color +1.0 otherwise
 
 - 
setqScorePlatformsTechpublic void setqScorePlatformsTech(double qScorePlatformsTech) 
 - 
getqScoreReplicatespublic 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
 
 - 
setqScoreReplicatespublic void setqScoreReplicates(double qScoreReplicates) 
 - 
getqScoreBatchInfopublic double getqScoreBatchInfo() - Returns:
- State of batch info -1.0 if no batch info available +1.0 otherwise
 
 - 
setqScoreBatchInfopublic void setqScoreBatchInfo(double qScoreBatchInfo) 
 - 
getqScoreBatchEffectpublic 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
 
 - 
setqScoreBatchEffectpublic void setqScoreBatchEffect(double qScoreBatchEffect) 
 - 
isManualHasStrongBatchEffectpublic boolean isManualHasStrongBatchEffect() 
 - 
setManualHasStrongBatchEffectpublic void setManualHasStrongBatchEffect(boolean manualHasStrongBatchEffect) 
 - 
isManualHasNoBatchEffectpublic boolean isManualHasNoBatchEffect() 
 - 
setManualHasNoBatchEffectpublic void setManualHasNoBatchEffect(boolean manualHasNoBatchEffect) 
 - 
isManualBatchEffectActivepublic boolean isManualBatchEffectActive() 
 - 
setManualBatchEffectActivepublic void setManualBatchEffectActive(boolean manualBatchEffectOverride) 
 - 
getqScoreBatchConfoundpublic double getqScoreBatchConfound() - Returns:
- Batch confound -1.0 if data confound detected or (manualHasBatchConfound & manualBatchConfoundActive) +1.0 otherwise
 
 - 
setqScoreBatchConfoundpublic void setqScoreBatchConfound(double qScoreBatchConfound) 
 - 
isManualHasBatchConfoundpublic boolean isManualHasBatchConfound() 
 - 
setManualHasBatchConfoundpublic void setManualHasBatchConfound(boolean manualHasBatchConfound) 
 - 
isManualBatchConfoundActivepublic boolean isManualBatchConfoundActive() 
 - 
setManualBatchConfoundActivepublic void setManualBatchConfoundActive(boolean manualBatchConfoundActive) 
 - 
getqScoreSampleMeanCorrelationpublic double getqScoreSampleMeanCorrelation() - Returns:
- Using the mean sample correlation r: +r use the computed value +0.0 if correlation matrix is empty
 
 - 
setqScoreSampleMeanCorrelationpublic void setqScoreSampleMeanCorrelation(double qScoreSampleMeanCorrelation) 
 - 
getqScoreSampleMedianCorrelationpublic double getqScoreSampleMedianCorrelation() - Returns:
- Using the median sample correlation m: +m use the computed value +0.0 if correlation matrix is empty
 
 - 
setqScoreSampleMedianCorrelationpublic void setqScoreSampleMedianCorrelation(double qScoreSampleMedianCorrelation) 
 - 
getqScoreSampleCorrelationVariancepublic double getqScoreSampleCorrelationVariance() - Returns:
- Using the sample correlation variance v: +v use the computed value +0.0 if correlation matrix is empty
 
 - 
setqScoreSampleCorrelationVariancepublic void setqScoreSampleCorrelationVariance(double qScoreSampleCorrelationVariance) 
 - 
isNoVectorspublic boolean isNoVectors() 
 - 
setNoVectorspublic void setNoVectors(boolean noVectors) 
 - 
getCorrMatIssuespublic byte getCorrMatIssues() 
 - 
setCorrMatIssuespublic void setCorrMatIssues(byte corrMatIssues) 
 - 
getReplicatesIssuespublic byte getReplicatesIssues() 
 - 
setReplicatesIssuespublic void setReplicatesIssues(byte replicatesIssues) 
 - 
isBatchCorrectedpublic boolean isBatchCorrected() 
 - 
setBatchCorrectedpublic void setBatchCorrected(boolean batchCorrected) 
 - 
getOtherIssuespublic String getOtherIssues() 
 - 
setOtherIssuespublic void setOtherIssues(String otherIssues) 
 - 
addOtherIssuespublic void addOtherIssues(String issue) 
 
- 
 
-