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 Details

    • 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 Details

    • 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
    • getRecordKey

      public String getRecordKey()
      Description copied from class: AbstractJavascriptFilter
      returns key used for record binding
      Specified by:
      getRecordKey in class AbstractJavascriptFilter<SAMFileHeader,SAMRecord>