AssertionError: ('A', 388) is not in pdb file!
In experimentally determined protein structure PDB files, there are often a few missing amino acids, which appear as dashed lines when visualized in PyMOL. I am currently using RFdiffusion to generate binders for such a protein, but I encountered the following error: assert val in self.parsed_pdb["pdb_idx"], f"{val} is not in pdb file!" AssertionError: ('A', 388) is not in pdb file! How can I solve this problem? My command is contigmap.contigs=[A377-643/0 76-76]. How should I use contigmap in this situation?
If you don't want to rebuild those regions, you just need to make sure your contig map doesn't include the missing residues. e.g. contigmap.contigs=[A377-387/A391-643/0 76-76] (assuming you're just missing a 3 residue loop from 388-390, inclusive).
Alternatively, you can tell RFdiffusion to rebuild those missing residues e.g. contigmap.contigs=[A377-387/3-3/A391-643/0 76-76] and RFdiffusion will generate a backbone for the missing loops, along with the backbone for the new binder -- as long as you don't add the /0 , then RFdiffusion will think of it as a single chain.
If you don't want to rebuild those regions, you just need to make sure your contig map doesn't include the missing residues. e.g.
contigmap.contigs=[A377-387/A391-643/0 76-76](assuming you're just missing a 3 residue loop from 388-390, inclusive).Alternatively, you can tell RFdiffusion to rebuild those missing residues e.g.
contigmap.contigs=[A377-387/3-3/A391-643/0 76-76]and RFdiffusion will generate a backbone for the missing loops, along with the backbone for the new binder -- as long as you don't add the/0, then RFdiffusion will think of it as a single chain. Thank you for your answer. I wish you continued success in your academic career.