org.intermine.web.logic.widget
Class BenjaminiHochberg
java.lang.Object
org.intermine.web.logic.widget.BenjaminiHochberg
- All Implemented Interfaces:
- ErrorCorrection
public class BenjaminiHochberg
- extends java.lang.Object
- implements ErrorCorrection
This correction is the less stringent than the Bonferroni, and therefore tolerates more
false positives. There will be also less false negative genes. Here is how it works:
1) The p-values of each gene are ranked from the largest to the smallest.
2) The largest p-value remains as it is.
3) The second largest p-value is multiplied by the total number of genes in gene
list divided by its rank. If less than 0.05, it is significant.
Corrected p-value = p-value*(n/n-1)
4) The third p-value is multiplied as in step 3:
Corrected p-value = p-value*(n/n-2)
And so on.
|
Constructor Summary |
BenjaminiHochberg(java.util.HashMap<java.lang.String,java.math.BigDecimal> originalMap)
|
|
Method Summary |
void |
calculate(java.lang.Double max)
Calculates the Benjamini and Hochberg correction of the false discovery rate |
java.util.HashMap<java.lang.String,java.math.BigDecimal> |
getAdjustedMap()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BenjaminiHochberg
public BenjaminiHochberg(java.util.HashMap<java.lang.String,java.math.BigDecimal> originalMap)
- Parameters:
originalMap - HashMap of go terms and their p-value
calculate
public void calculate(java.lang.Double max)
- Calculates the Benjamini and Hochberg correction of the false discovery rate
- Specified by:
calculate in interface ErrorCorrection
- Parameters:
max - maximum value we are interested in - used for display purposes only
getAdjustedMap
public java.util.HashMap<java.lang.String,java.math.BigDecimal> getAdjustedMap()
- Specified by:
getAdjustedMap in interface ErrorCorrection
- Returns:
- adjusted map