Class RowAbsentFilter<M extends Matrix2D<R,C,V>,R,C,V>

java.lang.Object
ubic.basecode.datafilter.AbstractFilter<M,R,C,V>
ubic.basecode.datafilter.RowAbsentFilter<M,R,C,V>
All Implemented Interfaces:
Filter<M,R,C,V>

public class RowAbsentFilter<M extends Matrix2D<R,C,V>,R,C,V> extends AbstractFilter<M,R,C,V>
Filter a data matrix according to flags given in a separate matrix.

The flags can be 'A', 'P' or 'M', for absent, present and marginal, following the Affymetrix convention. By default, Marginal flags are counted as "absent", but this can be changed by the user.

Author:
Paul Pavlidis
  • Constructor Details

    • RowAbsentFilter

      public RowAbsentFilter()
  • Method Details

    • filter

      public M filter(M data)
      The data is going to be filtered in accordance to strings in 'flags'. These are either 'A', 'P' or 'M' for absent, present and marginal.
      Parameters:
      data - The input matrix
      Returns:
      Matrix after filtering.
    • setFlagMatrix

      public void setFlagMatrix(StringMatrix<R,C> f)
      Parameters:
      f - the matrix containing the flags.
    • setKeepMarginal

      public void setKeepMarginal(boolean k)
      Parameters:
      k - whether to count 'marginal' as 'present'. Default is false.
    • setMinPresentCount

      public void setMinPresentCount(int k)
      Parameters:
      k - the minimum number of present values there must be in order to keep the row.
    • setMinPresentFraction

      public void setMinPresentFraction(double k)
      Parameters:
      k - the minimum fraction of present values that there must be, in order to keep the row.