Implemented inpaint_str and added example

This commit is contained in:
Joseph Watson
2023-09-13 16:25:35 -07:00
parent ba8446eae0
commit 7bdc90c9b7
4 changed files with 1042 additions and 1 deletions

View File

@@ -25,6 +25,7 @@ inference:
contigmap:
contigs: null
inpaint_seq: null
inpaint_str: null
provide_seq: null
length: null

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Here, we're designing binders to the glp1 helical peptide, without specifying the topology of the binder a priori, and without specifying the structure of the peptide (we know peptides can be flexible).
# We first provide the output path and input pdb of the target protein (5uul)
# We then describe the protein we want with the contig input:
# - residues 10-35 of the B chain of the target protein
# - a chainbreak (as we don't want the binder fused to the target!)
# - A 70-100 residue binder to be diffused (the exact length is sampled each iteration of diffusion)
# We tell diffusion to target two specific residues on the target, specifically residues 28 and 29 of the B chain
# We make 10 designs
# We mask (diffuse) the structure of the peptide using the inpaint_str flag. This has the effect of having RFdiffusion simultaneously design a binder and predict the structure of the peptide within the complex.
../scripts/run_inference.py inference.output_prefix=example_outputs/design_ppi_flexible_peptide inference.input_pdb=input_pdbs/3IOL.pdb 'contigmap.contigs=[B10-35/0 70-100]' 'ppi.hotspot_res=[B28,B29]' inference.num_designs=10 'contigmap.inpaint_str=[B10-35]'

1028
examples/input_pdbs/3IOL.pdb Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -72,7 +72,7 @@ class Sampler:
self.ckpt_path = conf.inference.ckpt_override_path
print("WARNING: You're overriding the checkpoint path from the defaults. Check that the model you're providing can run with the inputs you're providing.")
else:
if conf.contigmap.inpaint_seq is not None or conf.contigmap.provide_seq is not None:
if conf.contigmap.inpaint_seq is not None or conf.contigmap.provide_seq is not None or conf.contigmap.inpaint_str:
# use model trained for inpaint_seq
if conf.contigmap.provide_seq is not None:
# this is only used for partial diffusion