private static final int NUCLEOTIDE_COUNT_VERY_SHORT_SEQUENCE;
+ private static final boolean NUCLEOTIDE_AMBIGUITY_DETECTION;
+
public static final char GAP_SPACE = ' ';
public static final char GAP_DOT = '.';
static
{
+ // these options read only at start of session
NUCLEOTIDE_COUNT_PERCENT = Cache.getDefault("NUCLEOTIDE_COUNT_PERCENT",
55);
NUCLEOTIDE_COUNT_LONG_SEQUENCE_AMBIGUITY_PERCENT = Cache.getDefault(
.getDefault("NUCLEOTIDE_COUNT_SHORT", 100);
NUCLEOTIDE_COUNT_VERY_SHORT_SEQUENCE = Cache
.getDefault("NUCLEOTIDE_COUNT_VERY_SHORT", 4);
+ NUCLEOTIDE_AMBIGUITY_DETECTION = Cache
+ .getDefault("NUCLEOTIDE_AMBIGUITY_DETECTION", true);
}
/**
}
long allCount = ntCount + aaCount;
- if (Cache.getDefault("NUCLEOTIDE_AMBIGUITY_DETECTION", true))
+ if (NUCLEOTIDE_AMBIGUITY_DETECTION)
{
Console.debug("Performing new nucleotide detection routine");
if (allCount > NUCLEOTIDE_COUNT_SHORT_SEQUENCE)
// vs := NUCLEOTIDE_COUNT_VERY_SHORT_SEQUENCE
// s := NUCLEOTIDE_COUNT_SHORT_SEQUENCE
// lp := NUCLEOTIDE_COUNT_LOWER_PERCENT
- // vsp := 1 - (1/a) # this is the proportion of required nucleotides in
- // # a VERY_SHORT Sequence (4 bases).
- // # should be all but one base is nucleotide.
+ // vsp := 1 - (1/a) # this is the proportion of required definite
+ // nucleotides
+ // # in a VERY_SHORT Sequence (4 bases).
+ // # This should be equivalent to all but one base in the sequence.
// p := (a - vs)/(s - vs) # proportion of the way between
// # VERY_SHORT and SHORT thresholds.
- // tp := vsp + p * (lp/100 - vsp) # the proportion of nucleotides
+ // tp := vsp + p * (lp/100 - vsp) # the proportion of definite nucleotides
// # required for this length of sequence.
// minNt := tp * a # the minimum number of definite nucleotide bases
- // # required for this length of sequences.
+ // # required for this length of sequence.
//
// We are then essentially returning:
- // # ntCount >= 55% of allCount and the rest are all nucleotide ambiguity
+ // # ntCount >= 55% of allCount and the rest are all nucleotide ambiguity:
// ntCount >= tp * allCount && nCount + ntaCount == aaCount
// but without going into float/double land
long LHS = 100 * allCount