Updated "Fixed issues with designing in scaffoldguided mode" original PR 386 (#426)

The original PR for this was #386 from
[OrangeCatzhang](https://github.com/OrangeCatzhang). This PR is to fix
the error "AttributeError: 'bool' object has no attribute
'scaffold_list'" when running in scaffoldguided mode.

The first error is fixed by passing the full composed config object
(conf) into BlockAdjacency instead of passing the scaffoldguided
sub-node. BlockAdjacency expects the full config and to access
conf.scaffoldguided.<fields> internally, so passing the sub-node caused
self.conf.scaffoldguided to resolve to the nested boolean field
(scaffoldguided.scaffoldguided), which produced the AttributeError when
code tried to read .scaffold_list. Passing teh full conf fixes that
mismatch.

The other fix is to add initialization of cyclic_reses to
ScaffoldedSampler. I have slightly updated what was in the original PR
to avoid code duplication. I added a helper function to the Sampler
class and then call that in both Sampler and ScaffoldedSampler to
initialize cyclic_reses. I also removed the changes to the
scaffoldedguided flag from the original PR, so the CLI stays the same.
This commit is contained in:
Hope Woods
2025-11-20 10:02:33 -06:00
committed by GitHub
2 changed files with 507 additions and 326 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1012,4 +1012,4 @@ def ss_from_contig(ss_masks: dict):
for idx, mask in enumerate([ss_masks['helix'],ss_masks['strand'], ss_masks['loop']]):
ss[mask,idx] = 1
ss[mask, 3] = 0 # remove the mask token
return ss
return ss