Utilities for protein design workflows and a Windows application for standardizing and plotting tabular data.
| Path | Description |
|---|---|
scripts/ |
AlphaFold 3, Foundry ProteinMPNN, RFdiffusion3, and Rosetta workflow scripts. |
wintools/ |
Windows GUI source, launchers, tests, and build configuration for Standardize Data Plotter. |
The scripts/ directory contains Linux workflow wrappers for preparing AlphaFold 3 inputs, running MSA and inference jobs, generating sequences with Foundry ProteinMPNN, running RFdiffusion3, and filtering structures with Rosetta InterfaceAnalyzer.
- Bash 4 or later.
- Python 3 for JSON generation and report helpers.
- Docker with the AlphaFold 3 image, model parameters, and databases for the AF3 scripts.
- Foundry ProteinMPNN and RFdiffusion3 environments for the Foundry wrappers.
- Rosetta InterfaceAnalyzer, MPI, and the Rosetta database for interface filtering.
Several scripts contain workstation-specific defaults for module names, model directories, database directories, checkpoint paths, GPU IDs, and network binding. Review each script with --help and override those defaults before running it on another system.
| File | Purpose |
|---|---|
af3_msa_only.sh |
Run only the AlphaFold 3 data pipeline for a protein sequence and save reusable MSA data as JSON. |
af3_inputgen.sh |
Combine one FASTA source with reusable AF3 MSA JSON data for other chains and generate AF3 input JSON files. |
af3_batch_run.sh |
Split AF3 data-pipeline work into batches and run inference across one or more GPUs. |
foundry-proteinmpnn.sh |
Run Foundry ProteinMPNN over PDB or CIF structures in parallel and extract designed-chain FASTA files. |
foundry-rfdiffusion3.sh |
Generate RFdiffusion3 input YAML from a PDB, contig, and hotspot list, then run the configured RFdiffusion3 executable. |
rosetta_filter.sh |
Optionally prefilter AF3 results, run Rosetta InterfaceAnalyzer, build CSV and HTML reports, and export selected structures. |
rosetta_filter_af3.py |
AF3 metric collection, ranking, and preset-based prefilter helper. |
rosetta_filter_plot.py |
Interactive HTML report generator for Rosetta and AF3 metrics. |
rosetta_filter_server.py |
Local export-enabled server used by the interactive report. |
Generate reusable MSA data for one sequence:
./scripts/af3_msa_only.sh \
--name test_MSA \
-i MQSIKGNHLVKVYDYQEDGSVLLTCDAEAKNITWFKDGKMIGFLTEDKGenerate AlphaFold 3 input JSON files from designed FASTA records and saved chain-B MSA data:
./scripts/af3_inputgen.sh \
-A ./mpnn_fastas \
-B B_data.json \
-o ./input_jsonsRun an AlphaFold 3 batch across two inference GPUs:
./scripts/af3_batch_run.sh \
-i ./input_jsons \
-o ./af3_output \
--inference-gpus 0,1Run Foundry ProteinMPNN:
./scripts/foundry-proteinmpnn.sh \
-i ./structures \
-o ./mpnn_out \
-gpu 0 \
-chain ARun RFdiffusion3 with hotspot residues:
./scripts/foundry-rfdiffusion3.sh \
-i 1SY6.pdb \
-c '60-120,/0,A118-203' \
-h 'A144,A150,A151,A161G,A162,A190,A191' \
-o ./rfd3_outputPrefilter AlphaFold 3 results and run Rosetta interface analysis:
./scripts/rosetta_filter.sh \
-i ./af3_results \
-o ./rosetta_filter \
--af3-top 1000 \
--af3-preset loose \
--interface A_B \
--np 24Run any wrapper with --help to view all supported flags and environment overrides.
- AF3 defaults can be changed with variables such as
AF3_DOCKER_IMAGE,AF3_MODEL_DIR,AF3_DB_DIR,AF3_OUTPUT_DIR, andAF3_INFERENCE_GPUS. foundry-proteinmpnn.shexpects the configured Miniforge module,rfd3conda environment, and ProteinMPNN checkpoint.foundry-rfdiffusion3.shsupports--module,--conda-env,--rfd3-bin, and--no-envfor environment control.- Rosetta executable and database paths can be changed with
--executable,--database,ROSETTA_FILTER_EXE, andROSETTA_FILTER_DATABASE. sample_scripts.txtcontains short command-name examples for environments where aliases or wrapper commands are installed.
The wintools/ project is a Windows GUI for loading one or more CSV, TSV, TXT, XLSX, XLSM, or XLS files, selecting numeric columns, calculating Excel-compatible STANDARDIZE(value, AVERAGE(range), STDEV.S(range)) values, and plotting box-and-whisker charts with original minimum, maximum, and average labels.
Files can be added with the Add Files button or by dragging and dropping supported files onto the window. Adding another file after one file is already loaded switches the app into multifile mode while keeping the existing file. Use Clear Files to reset all loaded files and results. With multiple input files, choose one file as the reference; all selected columns are normalized using that reference file's average and sample standard deviation.
Numeric columns can be selected or removed with a single click. Each selected column is plotted as a group, with each input file's boxplot shown adjacent inside that group. After normalizing, use Export Plot to save the chart as a high-resolution PNG file by default.
From the repository root, enter the application directory:
cd .\wintoolsOn a Codex workstation with the bundled Python runtime, run:
.\run_standardize_gui.ps1If Windows blocks PowerShell scripts, run:
powershell -ExecutionPolicy Bypass -File .\run_standardize_gui.ps1For a separately installed Python, install dependencies with:
python -m pip install -r requirements.txtpython .\standardize_gui.pyYou can also double-click run_standardize_gui.bat on Windows.
If python only prints Python, Windows is using the Microsoft Store app alias instead of a real Python installation. Use run_standardize_gui.ps1, or install Python from python.org and disable the Python app execution aliases in Windows settings.
powershell -ExecutionPolicy Bypass -File .\build_exe.ps1The distributable file is created at dist\StandardizeDataPlotter.exe.
Running the executable opens the GUI, and the process remains active until the GUI window is closed. This is expected behavior for a Windows desktop application.
- XLSX and XLSM files require
openpyxl. - Legacy XLS files require
xlrd. - Drag and drop requires
tkinterdnd2. - PNG plot export requires
pillow. - Plot whiskers use the 1.5 IQR rule, and outliers are shown as points.
- Plot labels use enlarged fonts for screen and export readability.
- Plot export saves PNG by default at 3x scale with 300 DPI metadata; use an
.svgextension to save SVG. - CSV delimiter detection is automatic for comma, tab, semicolon, and similar text files.
- Columns with fewer than two numeric values or zero sample standard deviation are skipped.