OpenFold Local Jupyter Notebook 📔 | Metrics, Plots, Concurrent Inference #484
Open
juliocesar-io wants to merge 15 commits intoaqlaboratory:mainfrom
Open
OpenFold Local Jupyter Notebook 📔 | Metrics, Plots, Concurrent Inference #484juliocesar-io wants to merge 15 commits intoaqlaboratory:mainfrom
juliocesar-io wants to merge 15 commits intoaqlaboratory:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces a fully featured Local Notebook for performing inference, obtaining metrics, ranking the best model, and generating plots in a structured and reproducible manner, particularly for experimentation with large datasets.
The metrics are similar to those in the Colab notebook but optimized for a local installation with Docker. It also introduces parallel execution to leverage multiple GPUs.
The notebook operates by executing Docker commands using the Docker client and accessing OpenFold functions within a standalone environment. This approach ensures that the OpenFold codebase remains unaffected, serving as a client to help reproduce metrics and results from the Colab notebook locally.
Usage
Refer to instructions in notebooks/OpenFoldLocal.ipynb
Setup the notebook
Fist, build Openfold using Docker. Follow this guide.
Then, go to the notebook folder
cd notebooksCreate an environment to run Jupyter with the requirements
mamba create -n openfold_notebook python==3.10Activate the environment
mamba activate openfold_notebookInstall the requirements
pip install -r src/requirements.txtStart your Jupyter server in the current folder
jupyter lab . --ip="0.0.0.0"Access the notebook URL or connect remotely using VSCode.
Inference example
Initializing the client:
Running Inference:
Using a file:
Screenshots