RFdiffusion icon indicating copy to clipboard operation
RFdiffusion copied to clipboard

How to generate multiple helices instead of one long helix when extending a protein backbone with RFdiffusion?

Open WHUminghui opened this issue 2 months ago • 3 comments

Hello,

I’m using RFdiffusion to extend the backbone of a protein by approximately 33 amino acids. My goal is for these 33 residues to form at least two helices, but the generated structures always result in one single long helix instead.

Is there any way to guide or constrain RFdiffusion to produce multiple shorter helices rather than a continuous one? Any suggestions (e.g., input setup) would be greatly appreciated.

Thank you!

WHUminghui avatar Oct 23 '25 02:10 WHUminghui

I'm not sure of any configuration option that will reliably make at least two helices. You can try overwriting the chosen model checkpoint file (you can find a list of the included checkpoints here), increasing the number of designs you are generating, or using a potential.

My personal recommendation would be try using the monomer_ROG potential, but I have not attempted to use it for this type of use case, so I'm not sure it will give you the results you need.

rclune avatar Oct 24 '25 22:10 rclune

I'm not sure of any configuration option that will reliably make at least two helices. You can try overwriting the chosen model checkpoint file (you can find a list of the included checkpoints here), increasing the number of designs you are generating, or using a potential.

My personal recommendation would be try using the monomer_ROG potential, but I have not attempted to use it for this type of use case, so I'm not sure it will give you the results you need.

Thank you for your response. Using RFdiffusion, I extended my protein by more than 30 amino acids, generating around 40,000 backbone structures in total. Among them, I found one that meets my design requirements.

Now, I would like to generate multiple variants based on this satisfactory backbone. In other words, within a given backbone — where some regions are the original amino acids and several segments are GGGG...GG stretches generated by RFdiffusion — I would like to specify certain segments to be diversified, while keeping the rest of the structure unchanged.

I have tried using “Partial diffusion” to achieve this, but RFdiffusion still recalculates (i.e., alters) the regions that I intended to remain fixed. Could you please suggest a way to solve this issue?

WHUminghui avatar Nov 02 '25 10:11 WHUminghui

You may be able to do this with a combination of specifying the structure you are working with in the contigmap.contigs but also using options like inpaint_seq, provide_seq, and for your particular use case inpaint_str_helix might be particularly useful.

For an overview of these options take a look at this resource.

RFdiffusion also contains some examples that use these options which might be useful for emulating your own simulation:

rclune avatar Nov 05 '25 17:11 rclune