partial diffusion
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
Hello! So you can tune this by also adding:
select_unfixed_sequence: 'A1-140'- this will relax the sequence input to the modelselect_fixed_atoms: {'A1-140': "BKBN"}- this will diffuse the sidechains but fix the backbone- If
select_fixed_atomsandselect_unfixed_sequenceare used in conjunction with as above it will change the sequence of the input, but fix the backbone. - The default behaviour when supplying
partial_tis to unfix the sequence and unfix the coordinates of the input and noise out (if you don't supplyunindex).
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
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
The option name is select_unfixed_sequence not select_unfixed_seq.
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
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"
}
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
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
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