动态规划基因选择算法 在满足基因不重叠(同链)等约束下,选择全局得分最高的基因组合。 本质上是加权区间调度问题(Weighted Interval Scheduling)的变体。
算法:
- 将所有候选ORF按终止位置排序
- 对每个ORF,找到不与其重叠的最近前驱ORF
- DP递推:dp[i] = max(score[i] + dp[p(i)], dp[i-1])
- 回溯得到最优基因集
动态规划基因选择算法 在满足基因不重叠(同链)等约束下,选择全局得分最高的基因组合。 本质上是加权区间调度问题(Weighted Interval Scheduling)的变体。
算法:
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| SelectGenes | 1 | 执行动态规划,选择最优基因组合 |
| DpSelect | 1 | 对单条链的ORF执行加权区间调度DP |
| FindLastNonOverlapping | 1 | 二分查找:找到不与ORF i重叠的最后一个ORF的索引 |
03 Fields
| Name | Overloads | Summary |
|---|---|---|
| MinGeneSpacing | 1 | 最小基因间距(同链相邻基因之间的最小间隔bp数) |
04 Members
List(Of CandidateORF))执行动态规划,选择最优基因组合
List(Of CandidateORF))对单条链的ORF执行加权区间调度DP
List(Of CandidateORF), Int32)二分查找:找到不与ORF i重叠的最后一个ORF的索引
最小基因间距(同链相邻基因之间的最小间隔bp数)