SkewCalculator
in package
implements
SkewCalculatorInterface
Migrated from biotools' Service/SkewsManager.php::computeImage() : the four per-window base- composition metrics it fed into its SVG plot, extracted as pure math with no rendering attached - that SVG plotting stays a biotools/UI concern. Unlike the legacy version, a window with an undefined denominator (e.g. no G or C at all, for GC-skew) returns 0.0 rather than dividing by zero - under PHP 8, int/int division by a zero denominator throws a DivisionByZeroError, which the legacy code would actually have hit for such a window ; this is a real, not hypothetical, edge case a sliding window can land on at a sequence's A/T-only stretch.
The keto skew opposes the keto bases (G, T : IUPAC K) to the amino ones (A, C : IUPAC M), as (G+T-A-C)/(A+C+G+T). The legacy formula, (G+C-A-T)/(A+C+G+T), opposed strong bases to weak ones instead : that is only 2 x GC content - 1, and no keto skew at all. Class SkewCalculator
Tags
Table of Contents
Interfaces
- SkewCalculatorInterface
- Interface SkewCalculatorInterface
Methods
- calculate() : SkewResult
- calculateSlidingWindow() : array<int, SkewResult>
Methods
calculate()
public
calculate(string $sSequence) : SkewResult
Parameters
- $sSequence : string
Return values
SkewResultcalculateSlidingWindow()
public
calculateSlidingWindow(string $sSequence, int $iWindowSize, int $iStep) : array<int, SkewResult>
Parameters
- $sSequence : string
- $iWindowSize : int
- $iStep : int