NUPACK replica / Design workflow notes

Design 使用笔记

这份笔记只讲当前网页里已经接入的功能:Design domains、target complexes、target tubes、hard constraints、soft constraints 和 defect weights。

1. 快速跑通

主界面选择 Design,点击 载入示例,会得到一个可直接运行的双链设计:

domain:
  a = N10

strands:
  A = a
  B = ~a

target complex:
  AB_target = A+B
  structure = (10+)10

target tube:
  AB_target = 1 uM
  off-target max size = 2

~a 表示 domain a 的反向互补,因此 (10+)10 这个全双链目标结构是合法的。

2. Targets 怎么填

区域含义示例
Design Domains给每段可设计区域命名,并写 IUPAC 约束。a = N10
链输入Design 模式下,序列框可以写 domain composition。A = a, B = ~a
Target Complex指定哪些链组成目标复合物,以及目标二级结构。A+B, (10+)10
Target TubeTube design 才需要。指定 on-target 浓度,off-target 由 max size 自动补全。AB_target = 1 uM

3. Hard constraints 怎么用

Hard constraint 是“必须满足”的约束,写错会让设计空间为空,或直接报错。

类型必填字段当前推荐示例
Match左侧、右侧aa
Complementarity左侧、右侧AB
Similarityscope、reference、上下限scope=a, reference=R10
Windowscope、source sequencesscope=a, 每行一个 10 nt source
Patternpatterns;scope 可空表示全局AAAA, UUUU

如果看到 “Constraint scope cannot be empty”,就是当前 constraint 类型需要填写 scope,但该字段为空。新版界面会在提交前拦截这类错误。

4. Soft constraints 和 weights

Soft constraint 不会替代 ensemble defect,只是给优化目标增加加权惩罚。权重越大,设计器越偏向满足它,但也可能变慢。

Defect weights 用来告诉设计器哪些 domain、strand、complex 或 tube 更重要。初学时建议先不填,确认 target 能跑通后再逐步添加。

5. 为什么 Design 会慢

NUPACK design 是优化问题,不是一次性的结构分析。影响耗时的主要因素:

当前服务已显式设置 NUPACK 的 config.threads,不再只依赖 OMP_NUM_THREADS。本地 NUPACK 源码里有 NUPACK_CUDA 编译选项,但当前 wheel/镜像不是 CUDA 构建;直接“打开 GPU”不能生效,除非重新编译 NUPACK 的 CUDA 版本并替换镜像里的 wheel。