package org.seqcode.genome.sequence.seqfunctions; /** * Class of functions that score a sequence according to some metric. * * Assumes that the function provides per-base (or between base) quantitative means, albeit allowing for some offset. * * @author mahony * */ public interface SeqFunction { //Score a sequence, returning an array of score values public double[][] score(String seq) throws SeqFunctionException; //score dimensionality (per base) public int scoreDimension(); //offset from initial base position to first score. public int scoringOffset(); //Window size is the window of sequence that each score is based on public int scoreWindowSize(); //the score is defined between nucleotide positions (i.e. first score defined at offset+0.5bp) public boolean isBetweenNucleotides(); //Score max & min public double getMaxScore(); public double getMinScore(); //Labels on each dimension public String[] dimensionLabels(); //Description of the score public String scoreDescription(); }