Skip to content

[BUG] RFdiffusion3 not respecting positions of fixed atoms in unindexed residues #372

Description

@fakesemechki

When designing with unfixed residues while using contig strings, (not the non-scaffolded generation seen in the enzyme design examples) RFdiffusion3 seems to often generate outputs that do not connect to the positions of the fixed parts of those unfixed residues. In my example image below, you can see two unfixed residues. (white)

The leucine (input residue A398, and on top in the picture) has all its atoms fixed in place. The adjacent residues in the output structure do not connect to it at all, almost as if the leucine was in between them, but was moved to its fixed position after diffusion had taken place.

The aspartate (input residue E119, and on bottom in the picture) had only the OD1 and OD2 atoms fixed. The rest of the residue was generated normally WRT the rest of the chain. However, this was much too far away from the carboxylate oxygens, which you can see seem to have been ripped away from the rest of the residue.

Image

Essentially, the overall behavior just seems to be that RFdiffusion will often ignore the positions of fixed atoms in unfixed residues, generating everything around them without trying to connect them to the rest of the structure. One would normally expect RFdiffusion to generate structures which actually connect to those atoms.

Here is the JSON I used, although it's a little long for a bug report, sorry.

{
    "bidentate_motif": {
        "input": "/home/zdm10/tdt/nt_selectivity/input/bidentate.pdb",
        "contig": "B1-5,/0,A146-217,/0,A327-383,20-35,A401-510",
        "unindex": "E119,A398",
        "ligand": "L:G,D:A",
        "select_unfixed_sequence": "A446-449,A451-461",
        "select_hotspots": {
                "L:G": "N3,N2,N1,O6"
        },
        "select_fixed_atoms": {
                "B1-5": "ALL",
                "D:A": "ALL",
                "A146-217": "BKBN",
                "A327-383": "ALL",
                "A401-445": "BKBN",
                "A462-510": "BKBN",
                "L:G": "ALL",
                "A398": "ALL",
                "E119": "OD1,OD2"
        }
    }
}

You can access the PDB file here if you want to reproduce this issue. (I couldn't upload directly to this issue, sorry) Very rarely, RFD will generate a backbone that mostly fits specifications, so generate at least 2 or 3 designs to ensure you'll see the issue.

Edit: Further information, this is an earlier JSON, but I have also been trying lots of other changes to the JSON. Mutating more neighboring residues to alanine and unfixing them, changing the center of mass, conditioning hydrogen bonds. Things that will free up the space the designed loop can occupy, or otherwise things that can better guide RFD3 to a solution. This issue has continued to plague all of my outputs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions