Package vcf
Class FilterUtil
java.lang.Object
vcf.FilterUtil
Class
FilterUtil contains static methods for constructing
marker filters.-
Method Summary
Modifier and TypeMethodDescriptionchromIntFilter(ChromInterval chromInterval) Returns a filter that excludes markers that are not contained in the specified chromosome interval, or returns a filter that accepts all markers if thechromIntervalparameter isnull.excludeIdFilter(Collection<String> exclude) Returns a filter that accepts all markers which do not have an identifier or chromomsome position present in the specified collection.markerFilter(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 a filter that accepts all markers if theexcludeMarkersFileparameter isnull.static booleanmarkerIsInSet(Marker marker, Set<String> set) Returnstrueif the specified marker has an identifier is in the specified set, or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set, and returnsfalseotherwise.sampleFilter(File excludeSamplesFile) Returns a filter that excludes samples that have an identifier that matches a line of the specified file, or returns a filter that accepts all strings if theexcludeSamplesFileparameter isnullsampleFilter(File sampleFile, boolean includeFilter) Returns a string filter determined by the specified parameters.
-
Method Details
-
markerFilter
Returns a filter that excludes markers that have an identifier or genome coordinates that matches a line of the specified file, or returns a filter that accepts all markers if theexcludeMarkersFileparameter isnull. 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
nullif theexcludeMarkersFileparameter isnull - Throws:
IllegalArgumentException- if the specified file does not existIllegalArgumentException- if the specified file is a directoryIllegalArgumentException- if any line of the specified file contains two non-white-space characters separated by one or more white-space characters
-
chromIntFilter
Returns a filter that excludes markers that are not contained in the specified chromosome interval, or returns a filter that accepts all markers if thechromIntervalparameter isnull.- Parameters:
chromInterval- a chromosome interval ornull- Returns:
- a filter that excludes markers that are not contained in the specified chromosome interval
-
sampleFilter
Returns a filter that excludes samples that have an identifier that matches a line of the specified file, or returns a filter that accepts all strings if theexcludeSamplesFileparameter isnull- 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
nullif theexcludeSamplesFileparameter isnull - Throws:
IllegalArgumentException- if the specified file does not existIllegalArgumentException- if the specified file is a directoryIllegalArgumentException- if any line of the specified file contains two non-white-space characters separated by one or more white-space characters
-
sampleFilter
Returns a string filter determined by the specified parameters. The returned filter will accept all strings if(sampleFile == null). Otherwise, the returned filter will accept only strings found insampleFileif(includeFilter == true)and will reject only strings found insampleFileif(includeFilter == false). Each line insampleFilecan contain at most one white-space delimited field.- Parameters:
sampleFile- a file containing one string per lineincludeFilter-trueif the filter should accept string identifiers found insampleFileand false if the filter should reject string identifiers found insampleFile.- Returns:
- a string filter
- Throws:
IllegalArgumentException- if the specified file does not existIllegalArgumentException- if the specified file is a directoryIllegalArgumentException- if any line of the specified file contains two non-white-space characters separated by one or more white-space characters
-
markerIsInSet
Returnstrueif the specified marker has an identifier is in the specified set, or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set, and returnsfalseotherwise.- Parameters:
marker- a markerset- a set of marker identifiers and chromosome positions in "CHROM:POS" format- Returns:
trueif the specified marker has an identifier is in the specified set or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set- Throws:
NullPointerException- ifmarker == null || set == null
-
excludeIdFilter
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 ifexclude.contains(marker.id(j)) == truefor any0 <= j < marker.nIds()or ifexclude.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:
NullPointerException- ifexclude == null
-