baseCode.dataFilter
Class RowLevelFilter

java.lang.Object
  extended bybaseCode.dataFilter.AbstractFilter
      extended bybaseCode.dataFilter.AbstractLevelFilter
          extended bybaseCode.dataFilter.RowLevelFilter
All Implemented Interfaces:
Filter

public class RowLevelFilter
extends AbstractLevelFilter

Remove rows from a matrix based on some row-based statistic. Rows with values too high and/or too low can be removed. Thresholds are inclusive (i.e., values must be at least as high as the set threshold to be included. A number of statistics are available. In addition, this filter can remove rows that have all negative data values.

There are a number of decisions/caveats to consider:

Cutpoint determination

There are multiple ways of determining cutpoints. Some possibilities are the maximum value, the minimum value, the mean value, or the median value. The range and coefficient of variation are also included.

Note that if you want to use different methods for high-level filtering than for low-level filtering (e.g., using max for the low-level, and min for the high-level, you have to filter twice. This could cause problems if you are using fractional filtering and there are negative values (see below).

Filtering ratiometric data

For data that are normalized or ratios, it does not make sense to use this method on the raw data. In that situation, you should filter the data based on the raw data, and then use a RowNameFilterto select the rows from the ratio data.

Negative values

For microarray expression data based on the Affymetrix MAS4.0 protocol (and possibly others), negative values can occur. In some cases all the values can be negative. As these values are generally viewed as nonsensical, one might decide that data rows that are all negative should be filtered.

Behavior at extremes

If you request removal/inclusion of 1.0 of the data, you might not get the result you expect because the filtering is inclusive.


Copyright (c) 2004 Columbia University

Version:
$Id: RowLevelFilter.java,v 1.7 2004/07/27 03:18:58 pavlidis Exp $
Author:
Paul Pavlidis

Field Summary
static int CV
          Use the coefficient of variation as the criterion
static int MAX
          Use the maximum of the row as the criterion.
static int MEAN
          Use the mean as the criterion.
static int MEDIAN
          Use the median as the criterion.
static int MIN
          Use the minimum of the row as the criterion.
static int RANGE
          Use the range as the criterion
 
Fields inherited from class baseCode.dataFilter.AbstractLevelFilter
highCut, lowCut, useHighAsFraction, useLowAsFraction
 
Fields inherited from class baseCode.dataFilter.AbstractFilter
log
 
Constructor Summary
RowLevelFilter()
           
 
Method Summary
 NamedMatrix filter(NamedMatrix data)
          Filter the data
 void setMethod(int method)
          Choose the method that will be used for filtering.
 void setRemoveAllNegative(boolean t)
          Set the filter to remove all rows that have only negative values.
 
Methods inherited from class baseCode.dataFilter.AbstractLevelFilter
setHighCut, setHighCut, setLowCut, setLowCut, setUseAsFraction, setUseHighCutAsFraction, setUseLowCutAsFraction
 
Methods inherited from class baseCode.dataFilter.AbstractFilter
getOutputMatrix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIN

public static final int MIN
Use the minimum of the row as the criterion.

See Also:
Constant Field Values

MAX

public static final int MAX
Use the maximum of the row as the criterion.

See Also:
Constant Field Values

MEDIAN

public static final int MEDIAN
Use the median as the criterion.

See Also:
Constant Field Values

MEAN

public static final int MEAN
Use the mean as the criterion.

See Also:
Constant Field Values

RANGE

public static final int RANGE
Use the range as the criterion

See Also:
Constant Field Values

CV

public static final int CV
Use the coefficient of variation as the criterion

See Also:
Constant Field Values
Constructor Detail

RowLevelFilter

public RowLevelFilter()
Method Detail

setMethod

public void setMethod(int method)
Choose the method that will be used for filtering. Default is 'MAX'. Those rows with the lowest values are removed during 'low' filtering.

Parameters:
method - one of the filtering method constants.

setRemoveAllNegative

public void setRemoveAllNegative(boolean t)
Set the filter to remove all rows that have only negative values. This is applied BEFORE applying fraction-based criteria. In other words, if you request filtering 0.5 of the values, and 0.5 have all negative values, you will get 0.25 of the data back. Default = false.

Parameters:
t - boolean

filter

public NamedMatrix filter(NamedMatrix data)
Description copied from interface: Filter
Filter the data

Parameters:
data -
Returns:


Copyright © 2003-2005 Columbia University. All Rights Reserved.