Class JavascriptVariantFilter
java.lang.Object
htsjdk.samtools.filter.AbstractJavascriptFilter<VCFHeader, VariantContext>
htsjdk.variant.variantcontext.filter.JavascriptVariantFilter
- All Implemented Interfaces:
VariantContextFilter, Predicate<VariantContext>
public class JavascriptVariantFilter
extends AbstractJavascriptFilter<VCFHeader, VariantContext>
implements VariantContextFilter
JavaScript-based
VariantContextFilter.
The user-supplied script is evaluated against each VariantContext with the following
variables in scope:
variant- theVariantContextbeing evaluatedheader- theVCFHeaderassociated with the reader
Example: keep only variants on chromosome 1:
new JavascriptVariantFilter("variant.getContig() == '1';", header)
Runtime requirement: as of htsjdk 5.0.0, htsjdk does not ship a JavaScript engine as
a runtime dependency. To use this class, add a JSR-223-compatible JavaScript engine
(e.g. org.openjdk.nashorn:nashorn-core) to your runtime classpath. If no engine is
available, the constructor throws a RuntimeScriptException whose
message lists the dependency coordinates.
-
Field Summary
Fields inherited from class AbstractJavascriptFilter
bindings, DEFAULT_HEADER_KEY -
Constructor Summary
ConstructorsConstructorDescriptionJavascriptVariantFilter(File scriptFile, VCFHeader header) constructor using a javascript FileJavascriptVariantFilter(Reader scriptReader, VCFHeader header) constructor using a ReaderJavascriptVariantFilter(String scriptExpression, VCFHeader header) constructor using a javascript expression -
Method Summary
Modifier and TypeMethodDescriptionreturns key used for record bindingbooleantest(VariantContext record) Determines whether a VariantContext matches this filterMethods inherited from class AbstractJavascriptFilter
accept, getHeaderKey
-
Constructor Details
-
JavascriptVariantFilter
constructor using a javascript File- Parameters:
scriptFile- the javascript file to be compiledheader- the SAMHeader- Throws:
IOException
-
JavascriptVariantFilter
constructor using a Reader- Parameters:
scriptReader- the reader for the script to be compiled. Will be closedheader- the SAMHeader- Throws:
IOException
-
JavascriptVariantFilter
-
-
Method Details
-
test
Determines whether a VariantContext matches this filter- Specified by:
testin interfacePredicate<VariantContext>- Parameters:
record- the VariantContext to evaluate- Returns:
- true if accept(record) returned true
-
getRecordKey
Description copied from class:AbstractJavascriptFilterreturns key used for record binding- Specified by:
getRecordKeyin classAbstractJavascriptFilter<VCFHeader, VariantContext>
-