foundry icon indicating copy to clipboard operation
foundry copied to clipboard

partial diffusion

Open dhiraj82 opened this issue 3 weeks ago • 6 comments

Hi I am confused about how to specify which chain to diffuse for protein binder complex? in the input.md, there is an example json for protein ligand complex. based on that, I tried a json script -

{ "partial_diffusion": { "input": "mypdb.pdb", "partial_t": 15.0, "unindex": "A1-140" } }

However whatever I got was original sequence. also what range of partial_t should I try? In RFdiffusion 1, it's number of step however in RFD3, its Angstrom.

Thank you Dhiraj

dhiraj82 avatar Dec 07 '25 05:12 dhiraj82

Hello! So you can tune this by also adding:

  • select_unfixed_sequence: 'A1-140' - this will relax the sequence input to the model
  • select_fixed_atoms: {'A1-140': "BKBN"} - this will diffuse the sidechains but fix the backbone
  • If select_fixed_atoms and select_unfixed_sequence are used in conjunction with as above it will change the sequence of the input, but fix the backbone.
  • The default behaviour when supplying partial_t is to unfix the sequence and unfix the coordinates of the input and noise out (if you don't supply unindex).

It doesn't look to me like you'll want to use unindex here, because it'll unindex a large part of the protein and so relaxing the sequence index of each residue has less diversity benefit (it's also slower), so you could probably do unindex -> contig. I would not recommend unfixing the sequence for unindexed regions unless you're fixing the backbone only

Ubiquinone-dot avatar Dec 08 '25 19:12 Ubiquinone-dot

Hi Jasper I tried this json file - { "partial_diffusion": { "input": "mypdb.pdb", "partial_t": 30.0, "select_unfixed_seq": "A1-140" } }

and I am getting following error.

select_unfixed_seq Extra inputs are not permitted [type=extra_forbidden, input_value='A1-140', input_type=str]

Dhiraj

dhiraj82 avatar Dec 09 '25 05:12 dhiraj82

The option name is select_unfixed_sequence not select_unfixed_seq.

rclune avatar Dec 12 '25 18:12 rclune

Thank you Rachel Now it's working up to some extent but the problem is, I don't see any significant difference from the initial model and sequence. also, whatever model/sequence its generating, all of them are same. I am using partial_t of 30. how can I increase the diversity.

Thanks Dhiraj

dhiraj82 avatar Dec 13 '25 06:12 dhiraj82

I'd presume it's fixing the coordinates too. Include contig and select_fixed_atoms explicitly as well:

{
"partial_diffusion": {
  "input": "mypdb.pdb",
  "partial_t": 30.0,
  "select_unfixed_seq": "A1-140",
  "select_fixed_atoms": False,
  "contig": "A1-140"

}

Ubiquinone-dot avatar Dec 13 '25 07:12 Ubiquinone-dot

Thanks Jasper It's not recognizing false. I have to put it in format chain ID-resid, so I fixed other chains. Now it's too much change. For partial_t value, I went down to 5. here is my json input, I also tried few variation of contig like not using or using chain ID for the diffusable chain.- { "test": { "dialect": 2, "input": "mypdb.pdb", "partial_t": 5.0, "contig": "A1-146,/0,B147-357,/0,C358-566", "select_fixed_atoms": "B147-357,/0,C358-566", "select_unfixed_sequence": "A1-146" } }

To add - this binder was not designed by RFdiffusion and I validated using BLI to binds to the target. We don't have structure yet and coordinates I am providing is based on the model generated earlier. Thanks Dhiraj

dhiraj82 avatar Dec 13 '25 13:12 dhiraj82

Okay great, sounds like it's working then? Yeah partial_t in the range 5 - 15 should be appropriate depending on how much you want it to change

Ubiquinone-dot avatar Dec 17 '25 10:12 Ubiquinone-dot

Hi Jasper after all these settings, backbone is moving so much that I will say it's unrecognizable compared to the original. I tried going very low in partial_t with same results. partial_t value has no effect. it will be nice to have a manual like rfdiffusion 1 so we can use partial diffusion in rfd3 as well. I tried to install the older version of rfd (rfd1), but installation failed, likely due to all the recent changes in the libraries and OS, there are incompatibility issues which are difficult to resolve. I am not trying to raise rfd1 issue here. I meant to say that with RFD3 being new, it's a lot easier to be installed by non-experts then older version.

Thank you Dhiraj

dhiraj82 avatar Dec 17 '25 14:12 dhiraj82