martinpacesa / BindCraft

User friendly and accurate binder design pipeline
MIT License
288 stars 59 forks source link

Base AF2 filters not passed but actual values in trajectory stats better than filter threshold #86

Closed bifxcore closed 1 week ago

bifxcore commented 2 weeks ago

Running locally, test example produces successful designs.

However, all my own designs attempts have failed: I keep getting "Base AF2 filters not passed" no matter what parameters or filters I tried to change ( tried changing weights_con_inter; weights_iptm; sampling_temp ).

Looking at the code, it looks like "Base AF2 filters not passed" is thrown if any of the following 5 params fail: pLDDT, pTM, i_pTM, pAE, i_pAE.

Those values in my trajectory stats file appear to be better than the example run, this is a typical example:

param   value   filter_settings
pLDDT   0.88    0.8
pTM 0.88    0.55
i_pTM   0.83    0.5
pAE 0.21    null
i_pAE   0.19    0.35

Why is such a trajectory still failing with error "Base AF2 filters not passed"? What can I do to make it pass the AF2 filters?

martinpacesa commented 2 weeks ago

So the trajectories are MPNN sequence optimised after generation to avoid adversarial sequences. Basically like a second check to make sure the backbone and sequence are realistic, since we both design and validate with AF2, it often happens that it just overfits to something that the model likes. If the MPNN optimised sequence does not pass filters it could be due to this.

bifxcore commented 2 weeks ago

OK, so what can I concretely do to get it to pass the filters? Include more residues as hotspots?

martinpacesa commented 2 weeks ago

There are a couple of tips here:

https://github.com/martinpacesa/BindCraft/issues/56