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 thechromInterval
parameter 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 theexcludeMarkersFile
parameter isnull
.static boolean
markerIsInSet
(Marker marker, Set<String> set) Returnstrue
if the specified marker has an identifier is in the specified set, or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set, and returnsfalse
otherwise.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 theexcludeSamplesFile
parameter isnull
sampleFilter
(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 theexcludeMarkersFile
parameter 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
null
if theexcludeMarkersFile
parameter 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 thechromInterval
parameter 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 theexcludeSamplesFile
parameter 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
null
if theexcludeSamplesFile
parameter 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 insampleFile
if(includeFilter == true)
and will reject only strings found insampleFile
if(includeFilter == false)
. Each line insampleFile
can contain at most one white-space delimited field.- Parameters:
sampleFile
- a file containing one string per lineincludeFilter
-true
if the filter should accept string identifiers found insampleFile
and 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
Returnstrue
if the specified marker has an identifier is in the specified set, or if ("marker.chrom()" + ":" + "marker.pos()") is in the specified set, and returnsfalse
otherwise.- Parameters:
marker
- a markerset
- 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:
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)) == true
for 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
-