generatebio / chroma

A generative model for programmable protein design
Apache License 2.0
627 stars 74 forks source link

Cannot select multiple index ranges of protein for SubstructureConditioner #7

Closed SIAndersson closed 7 months ago

SIAndersson commented 7 months ago

I am trying to select the ends of my protein and then redesign the middle. After struggling with the syntax, I was able to configure a selection string that did not produce an interpretation error: "resid (1-30) and resid (110-150)"

However, when I try to run the design process, I get the error in the first step of integrating SDE: torch._C._LinAlgError: linalg.eigh: (Batch element 0): The algorithm failed to converge because the input matrix is ill-conditioned or has too many repeated eigenvalues (error code: 1).

I have tried running it with different combinations of arguments, different residue ranges (only using the ends, not using the ends, only one end included, etc.), but I always get this error for more than one residue range. Am I simply selecting the ranges incorrectly or is this not supported by this particular container?

v-shaoningli commented 7 months ago

recommand issue https://github.com/generatebio/chroma/issues/5

SIAndersson commented 7 months ago

Thank you! I managed to use the information there to make my own container that takes the tensor directly rather than a string input.

wujiewang commented 7 months ago

Thanks. We should make that an option soon. Also, PR is welcomed!

wujiewang commented 7 months ago

@SIAndersson , btw, I think the selection you wanted is "resid (1-30) or resid (110-150)", "and" operates like a boolean operator. For selection string grammar, you can consult Pymol's manual.