Package vcf

Class FilterUtil


  • public final class FilterUtil
    extends java.lang.Object
    Class FilterUtil contains static methods for constructing marker filters.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Filter<Marker> idFilter​(java.util.Collection<java.lang.String> exclude)
      Returns a filter that accepts all markers which do not have an identifier or chromomsome position present in the specified collection.
      static Filter<Marker> markerFilter​(java.io.File excludeMarkersFile)
      Returns a filter that excludes markers that have an identifier or genome coordinates that matches a line of the specified file, or returns null if the excludeMarkersFile parameter is null.
      static boolean markerIsInSet​(Marker marker, java.util.Set<java.lang.String> set)
      Returns true if the specified marker has an identifier is in the specified set, or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set, and returns false otherwise.
      static Filter<java.lang.String> sampleFilter​(java.io.File excludeSamplesFile)
      Returns a filter that excludes samples that have an identifier that matches a line of the specified file, or returns null if the excludeSamplesFile parameter is null
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • markerFilter

        public static Filter<Marker> markerFilter​(java.io.File excludeMarkersFile)
        Returns a filter that excludes markers that have an identifier or genome coordinates that matches a line of the specified file, or returns null if the excludeMarkersFile parameter is null. Genome coordinates must be in "CHROM:POS" format.
        Parameters:
        excludeMarkersFile - a file that contains an identifier or genome coordinate of one excluded marker on each line
        Returns:
        a filter that excludes markers that have an identifier or genome coordinates that matches a line of the specified file, or null if the excludeMarkersFile parameter is null
        Throws:
        java.lang.IllegalArgumentException - if the specified file does not exist
        java.lang.IllegalArgumentException - if the specified file is a directory
        java.lang.IllegalArgumentException - if any line of the specified file contains two non-white-space characters separated by one or more white-space characters
      • sampleFilter

        public static Filter<java.lang.String> sampleFilter​(java.io.File excludeSamplesFile)
        Returns a filter that excludes samples that have an identifier that matches a line of the specified file, or returns null if the excludeSamplesFile parameter is null
        Parameters:
        excludeSamplesFile - a file which contains an identifier of one excluded sample on each line
        Returns:
        a filter that excludes samples that have an identifier that matches a line of the specified file, or null if the excludeSamplesFile parameter is null
        Throws:
        java.lang.IllegalArgumentException - if the specified file does not exist
        java.lang.IllegalArgumentException - if the specified file is a directory
        java.lang.IllegalArgumentException - if any line of the specified file contains two non-white-space characters separated by one or more white-space characters
      • markerIsInSet

        public static boolean markerIsInSet​(Marker marker,
                                            java.util.Set<java.lang.String> set)
        Returns true if the specified marker has an identifier is in the specified set, or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set, and returns false otherwise.
        Parameters:
        marker - a marker
        set - a set of marker identifiers and chromosome positions in "CHROM:POS" format
        Returns:
        true if the specified marker has an identifier is in the specified set or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set
        Throws:
        java.lang.NullPointerException - if marker == null || set == null
      • idFilter

        public static Filter<Marker> idFilter​(java.util.Collection<java.lang.String> exclude)
        Returns a filter that accepts all markers which do not have an identifier or chromomsome position present in the specified collection. A marker is excluded if exclude.contains(marker.id(j)) == true for any 0 <= j < marker.nIds() or if exclude.contains(marker.chrom() + ":" + marker.pos()) == true.
        Parameters:
        exclude - a collection of marker identifiers and chromosome positions in "CHROM:POS" format
        Returns:
        a filter that accepts all markers which do not have an identifier or chromomsome position present in the specified collection
        Throws:
        java.lang.NullPointerException - if exclude == null