nuget server logo nuget api documents
↑

API Docs / SMRUCC.genomics.Analysis.RNA-Seq.TSSAR / SlidingWindow

SlidingWindow

Full name SMRUCC.genomics.Analysis.RNA_Seq.TSSAR.Statistics.SlidingWindow Assembly SMRUCC.genomics.Analysis.RNA-Seq.TSSAR Members 5

滑动窗口核心算法:局部零膨胀 Poisson 背景估计 + Skellam 显著性检验。

00 Remarks

本模块严格移植 Resources\TSSAR.pl 所生成的 R 脚本逻辑:

  1. 以 winSize 为窗口、ceil(winSize/10) 为步长滑动;
  2. 窗口内分别对 [+] / [-] 文库执行 Winsorize 与零膨胀 Poisson 建模, 得到期望的结构零个数;任何一侧建模失败(MLE 不收敛)则整个窗口被丢弃;
  3. 取两侧期望结构零个数的平均值作为参考,按概率随机剔除各文库的结构零, 对剩余的"采样零 + 正计数"求均值得到 Skellam 的 lambda 参数,并做文库归一化;
  4. 逐位置计算计数差 D,使用 Skellam 分布计算 P(X >= D) 作为 p 值, 但仅记录 [+] 库原始计数不小于噪声阈值的位置;
  5. 每个位置被多个窗口覆盖,最终 p 值取这些窗口 p 值的几何平均。

01 Syntax

SMRUCC.genomics.Analysis.RNA_Seq.TSSAR.Statistics.SlidingWindow

02 Methods

NameOverloadsSummary
Run 1 对单条链执行完整的滑动窗口 Skellam 分析。
FitWindow 1 窗口内的零膨胀 Poisson 建模(对应 R 实现之中的三个分支)。
Winsorize 1 Winsorize 缩尾处理:把最大值替换为第二大值、最小值替换为第二小值, 以抵抗错配 read 或 rRNA 等高丰度离群值。
RemoveStructuralZeros 1 按概率随机剔除窗口内的结构零,返回剩余"采样零 + 正计数"的均值, 作为 Skellam 分布的 lambda 参数(尚未乘归一化因子)。

03 Fields

NameOverloadsSummary
NotModeled 1 表示"未建模"的哨兵值,与 R 参考实现之中的 9999 一致。

04 Members

method Run #
Run(Double(), Double(), Double, Double, Int32, Int32, Int32, Int32)

对单条链执行完整的滑动窗口 Skellam 分析。

Parameters
NameTypeDescription
plusDouble()

[+] 文库该链的逐位置 read 起始覆盖度(1-based)。

minusDouble()

[-] 文库该链的逐位置 read 起始覆盖度(1-based)。

normalizePlusDouble

[+] 文库的归一化因子。

normalizeMinusDouble

[-] 文库的归一化因子。

genomeSizeInt32

基因组长度。

winSizeInt32

滑动窗口大小。

minPeakSizeInt32

噪声阈值。

seedInt32

结构零随机剔除所用的随机数种子。

method FitWindow #
FitWindow(Double(), Double(), Int32)

窗口内的零膨胀 Poisson 建模(对应 R 实现之中的三个分支)。

Parameters
NameTypeDescription
sourceDouble()

窗口内的原始计数。

winsorizedDouble()

输出缓冲区:Winsorize 之后的计数。

nInt32

窗口内有效元素个数。

method Winsorize #
Winsorize(Double(), Double(), Int32)

Winsorize 缩尾处理:把最大值替换为第二大值、最小值替换为第二小值, 以抵抗错配 read 或 rRNA 等高丰度离群值。

method RemoveStructuralZeros #
RemoveStructuralZeros(Double(), Int32, Double)

按概率随机剔除窗口内的结构零,返回剩余"采样零 + 正计数"的均值, 作为 Skellam 分布的 lambda 参数(尚未乘归一化因子)。

Parameters
NameTypeDescription
winsorizedDouble()

Winsorize 之后的窗口计数。

nInt32

窗口长度。

expectedTotalDouble

两侧文库期望结构零个数的平均值。

field NotModeled #
NotModeled

表示"未建模"的哨兵值,与 R 参考实现之中的 9999 一致。