Class JavascriptSamRecordFilter

  • All Implemented Interfaces:
    SamRecordFilter

    public class JavascriptSamRecordFilter
    extends AbstractJavascriptFilter<SAMFileHeader,​SAMRecord>
    implements SamRecordFilter
    javascript based read filter The script puts the following variables in the script context: - 'record' a SamRecord ( https://github.com/samtools/htsjdk/blob/master/src/java/htsjdk/samtools/ SAMRecord.java ) - 'header' ( https://github.com/samtools/htsjdk/blob/master/src/java/htsjdk/samtools/ SAMFileHeader.java )
    • Constructor Detail

      • JavascriptSamRecordFilter

        public JavascriptSamRecordFilter​(File scriptFile,
                                         SAMFileHeader header)
                                  throws IOException
        constructor using a javascript File
        Parameters:
        scriptFile - the javascript file to be compiled
        header - the SAMHeader
        Throws:
        IOException
      • JavascriptSamRecordFilter

        public JavascriptSamRecordFilter​(String scriptExpression,
                                         SAMFileHeader header)
        constructor using a javascript expression
        Parameters:
        scriptExpression - the javascript expression to be compiled
        header - the SAMHeader
      • JavascriptSamRecordFilter

        public JavascriptSamRecordFilter​(Reader scriptReader,
                                         SAMFileHeader header)
        constructor using a java.io.Reader
        Parameters:
        scriptReader - the javascript reader to be compiled. will be closed
        header - the SAMHeader
    • Method Detail

      • filterOut

        public boolean filterOut​(SAMRecord first,
                                 SAMRecord second)
        return true of both records are filteredOut (AND)
        Specified by:
        filterOut in interface SamRecordFilter
        Parameters:
        first - the first SAMRecord to evaluate
        second - the second SAMRecord to evaluate
        Returns:
        true if the pair of records matches filter, otherwise false
      • filterOut

        public boolean filterOut​(SAMRecord record)
        read is filtered out if the javascript program returns false
        Specified by:
        filterOut in interface SamRecordFilter
        Parameters:
        record - the SAMRecord to evaluate
        Returns:
        true if the SAMRecord matches the filter, otherwise false