internal static int GetCodonRange(int position, ICodingBlock codingBlock) { int currentPhase = (position - codingBlock.Start + codingBlock.StartPhase) % 3; int range = position + 2 - currentPhase; return(Math.Min(range, codingBlock.End)); //don't cross the block boundary for now }
private static int GetFunctionBlockRange(IInterval interval, ICodingBlock overlappingCodingBlock) { // only check codon boundary in the same exon for now return(GetCodonRange(interval.Start, overlappingCodingBlock)); }