-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adapt for esmfold #4
base: main
Are you sure you want to change the base?
Conversation
Thanks Jinyuan! I like ur implementation, efficient and elegant! A couple of things we should do here:
Happy to take the PR if we finish these two. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great! Could you continue this plot to 1000aa or even 2000aa? Memory and runtime issues with default ESMFold only starts becoming an issue for very long proteins (without chunking) so the gains should be even more for >1000aa. Moreover, default ESMFold needs chunking to work for very large proteins, making faesmfold faster (add a plot line for esmfold with chunking?)
If you dont have the VMEM, I would be happy to run the benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After carefully check the memory usage, I found this improvement is likely a bug of the benchmark script😅. I mannuly checked a 560aa sequence. The raw version EsmFold used 16073 MB vmem, and replace the esm with faesm only reduced the memory consumption to 15986 MB (~0.5% smaller). I will try to modifiy the EsmFoldAttention see if can do better.
Made small changes to the esm.py file to meet the requirement of esmfold code.