/*
* #%L
* gitools-core
* %%
* Copyright (C) 2013 Universitat Pompeu Fabra - Biomedical Genomics group
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
package org.gitools.analysis.stats.test.results;
import org.gitools.matrix.model.matrix.element.LayerDef;
public class BinomialResult extends CommonResult {
public enum Distribution {
BINOMIAL, NORMAL, POISSON
}
private Distribution distribution;
private int observed;
private double expectedMean;
private double expectedStdev;
private double probability;
public BinomialResult() {
super(0, 0.0, 0.0, 0.0);
observed = 0;
expectedMean = expectedStdev = 0;
probability = 0;
}
public BinomialResult(Distribution aprox, int n, double leftPvalue, double rightPvalue, double twoTailPvalue, int observed, double expectedMean, double expectedStdev, double p) {
super(n, leftPvalue, rightPvalue, twoTailPvalue);
this.distribution = aprox;
this.observed = observed;
this.expectedMean = expectedMean;
this.expectedStdev = expectedStdev;
this.probability = p;
}
@LayerDef(id = "observed",
name = "Observed events",
description = "Number of positive events observed",
groups = {CommonResult.TEST_DETAILS_GROUP, LayerDef.ALL_DATA_GROUP})
public int getObserved() {
return observed;
}
public void setObserved(int observed) {
this.observed = observed;
}
@LayerDef(id = "expected-mean",
name = "Expected mean",
description = "Number of positive events expected by chance",
groups = {CommonResult.TEST_DETAILS_GROUP, LayerDef.ALL_DATA_GROUP})
public double getExpectedMean() {
return expectedMean;
}
public void setExpectedMean(double expectedMean) {
this.expectedMean = expectedMean;
}
@LayerDef(id = "expected-stdev",
name = "Expected stddev",
description = "Standard deviation of the number of positive events expected by chance",
groups = {CommonResult.TEST_DETAILS_GROUP, LayerDef.ALL_DATA_GROUP})
public double getExpectedStdev() {
return expectedStdev;
}
public void setExpectedStdev(double expectedStdev) {
this.expectedStdev = expectedStdev;
}
@LayerDef(id = "distribution",
name = "Distribution",
description = "Wich distribution has been used to do calculations (Binomial exact, Normal or Poisson)",
groups = {CommonResult.TEST_DETAILS_GROUP, LayerDef.ALL_DATA_GROUP})
public Distribution getDistribution() {
return distribution;
}
public void setDistribution(Distribution distribution) {
this.distribution = distribution;
}
@LayerDef(id = "probability",
name = "Probability",
description = "Population probability of a positive event",
groups = {CommonResult.TEST_DETAILS_GROUP, LayerDef.ALL_DATA_GROUP})
public double getProbability() {
return probability;
}
public void setProbability(double probability) {
this.probability = probability;
}
}