Skip to content

Australian-Protein-Design-Initiative/nf-binder-vis

Repository files navigation

nf-binder-vis

Results visualization for the nf-binder-design workflow.

nf-binder-vis

Features

  • Automatic Run Detection: Automatically detects and parses run folders from nf-binder-design (RFdiffusion binder design, BindCraft and BoltzGen workflows) and 'vanilla' BindCraft / BoltzGen runs
  • Interactive Visualization: Scatter plots, distributions, and structure viewer with Molstar
  • Simple design triage: Mark designs as "good" with thumbs up/down and save selections to designs_summary.tsv
  • Multi-Run Support: View results from single runs or multiple runs in one interface

Overview

This tool is designed to streamline manual screening of top scoring protein binder designs generated by nf-binder-design (RFdiffusion, BindCraft, BoltzGen) or 'vanilla' BindCraft / BoltzGen runs. The high level steps are:

  • Run nf-binder-design or BindCraft to generate high scoring designs
    • (you'll need the PDBs and combined_scores.tsv or final_design_stats.csv in the folder structure these pipelines output)
  • Run the app (e.g. nf-binder-vis or uv run streamlit run nf_binder_vis/app.py) to visualize and manually select the top scoring designs based on your own criteria.
  • Generate sequences to order for gene synthesis of the 'good' designs - see scripts/binder_prep.

Installation

This project uses uv for Python package management and virtual environment handling.

Quickstart

Running directly from GitHub with uvx:

# Install uv, if you don't have it
# curl -LsSf https://astral.sh/uv/install.sh | sh
# export PATH=~/.local/bin:${PATH}

uvx git+https://github.com/Australian-Protein-Design-Initiative/nf-binder-vis.git --path /path/to/results

Running from a clone of the repository:

Clone the Repository:

git clone https://github.com/Australian-Protein-Design-Initiative/nf-binder-vis.git
cd nf-binder-vis

Run using uv run:

# Run with uv (recommended, from repo)
uv run nf_binder_vis/app.py --path /path/to/results

The app will automatically detect and displays results from nf-binder-design runs for BindCraft, RFdiffusion and BoltzGen workflows. By default, it will be available at http://localhost:8501/.

Building a Docker/Apptainer Image

docker build -t nf-binder-vis:latest .
apptainer build nf-binder-vis_latest.sif docker-daemon://nf-binder-vis:latest

Running with Apptainer

apptainer run nf-binder-vis_latest.sif --server.port 8502 -- --path /path/to/results

The --server.port flag can be used to change the default port. Note the bare -- before the --path flag - this is not a typo.

Open http://localhost:8502/

Running with Docker

docker run -it --rm -v /abs/path/to/results:/results nf-binder-vis:latest -- --path /results

Open http://localhost:8501/

TODO

About

Results visualization and screening for the nf-binder-design workflow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors