org.intermine.web.logic.widget
Class BenjaminiHochberg

java.lang.Object
  extended by 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
 

Constructor Detail

BenjaminiHochberg

public BenjaminiHochberg(java.util.HashMap<java.lang.String,java.math.BigDecimal> originalMap)
Parameters:
originalMap - HashMap of go terms and their p-value
Method Detail

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