动态规划基因选择算法 在满足基因不重叠(同链)等约束下,选择全局得分最高的基因组合。 本质上是加权区间调度问题(Weighted Interval Scheduling)的变体。

算法:

  1. 将所有候选ORF按终止位置排序
  2. 对每个ORF,找到不与其重叠的最近前驱ORF
  3. DP递推:dp[i] = max(score[i] + dp[p(i)], dp[i-1])
  4. 回溯得到最优基因集