Commit Graph

993 Commits

Author SHA1 Message Date
Rohith Krishna
bae631b9b4 force include yamls for inference v0.1.6 2025-12-03 02:35:36 -08:00
Rohith Krishna
86137ef3ed fix: remove rootutils from inference.py v0.1.5 2025-12-03 02:17:30 -08:00
Rohith Krishna
eb4f8ab83e Merge pull request #33 from RosettaCommons/fix/checkpoints
chore: ruff, fix checkpoint code
2025-12-03 01:50:44 -08:00
ncorley
1bf46afa21 chore: ruff, fix checkpoint code 2025-12-03 01:48:46 -08:00
Rohith Krishna
d14203b264 Merge pull request #31 from RosettaCommons/fix/rootutils
remove use of rootutils to allow for pypi
2025-12-03 01:17:01 -08:00
Rohith Krishna
7668d03d04 use .foundry as default for checkpoint dir v0.1.2 v0.1.3 2025-12-03 01:15:23 -08:00
Rohith Krishna
c859ce4fc0 remove use of rootutils to allow for pypi 2025-12-03 01:12:14 -08:00
Rohith Krishna
5ae1567d3a Merge pull request #30 from timkartar/patch-1
Make trajectory png slightly bigger
2025-12-03 00:53:02 -08:00
Raktim Mitra
fc9aea95a2 Merge branch 'RosettaCommons:production' into patch-1 2025-12-03 00:51:40 -08:00
Raktim Mitra
30231f1457 Update README.md 2025-12-03 00:50:53 -08:00
Rohith Krishna
31cedb1d0a Merge pull request #29 from timkartar/patch-1
Update README.md fix trajectory.png link
2025-12-03 00:50:35 -08:00
Raktim Mitra
46eeaa45f0 Update README.md fix trajectory.png link 2025-12-03 00:47:49 -08:00
Rohith Krishna
e79dcb71ab Merge pull request #28 from RosettaCommons/stage_for_production
Stage for production
2025-12-03 00:35:28 -08:00
AndrewKubaney
dfe5402a5d add in weights docs and help string fix (#727)
* chore: add SolubleMPNN, additional warnings, wts.

* fix: fix --help string option.

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>
2025-12-03 00:34:46 -08:00
Rachel Clune
98b12108c7 Added details and fixed typos in NA binder design examples (#721)
* Fixed spelling and grammar mistakes in the md file for NA binder design examples. Created a .json file containing the code bits for users to easily run the examples.

* NA example clean up

Removed NA examples from foundry docs directory and moved necessary files to the RFD3 docs directory. Added example syntax for how to use `rfd3 design` instead of `python ...`

* Update na_binder_design.md small edits to the hbplus warning sentence

---------

Co-authored-by: Raktim Mitra <timkartar7879@gmail.com>
2025-12-03 00:34:46 -08:00
Nathaniel Corley
d72e49aa96 docs: dataset readme (#726)
* docs: dataset readme

* more docs for training

---------

Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-03 00:34:46 -08:00
Jasper Butcher
94bb987998 Refactor/checkpoint defaults (#723)
* Registry rework

* Update README 12

* Mc

* Add all option correction
2025-12-03 00:34:45 -08:00
Rohith Krishna
d07d003ae2 remove notebook outputs 2025-12-03 00:34:45 -08:00
Rohith Krishna
2cd401665b initial progress on documentation cleanup (#722)
* initial progress on documentation cleanup

* formatting input.md

* docs: more documentation for ppi and sm binder design

* fix typo

---------

Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-03 00:34:45 -08:00
Nathaniel Corley
5ec34da7c1 chore: fix regression tests for rf3 (#725) 2025-12-03 00:34:45 -08:00
Rohith Krishna
adb11204c8 remove more instances of foundry (#724)
Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-03 00:34:45 -08:00
Raktim Mitra
3414c0e833 Refactor/sm binder cleanup (#720)
* remove dialect key, and exposed case

* change hbplus metric fail log to warning from error

---------

Co-authored-by: Raktim Mitra <raktim@digs.ipd.uw.edu>
2025-12-03 00:34:45 -08:00
Raktim Mitra
264bb79ee4 hbplus_instruction (#719)
Co-authored-by: Raktim Mitra <raktim@digs.ipd.uw.edu>
2025-12-03 00:34:45 -08:00
Rohith Krishna
faa2935417 remove ipd specific files 2025-12-02 20:56:06 -08:00
Rohith Krishna
bf8b44a83f feat: enable installing checkpoints from command line 2025-12-02 20:29:09 -08:00
Rohith Krishna
db7cbf37d1 fix: fix path in paths for pdb parsing (#715)
* refactor: change modelhub to foundry

* fix: fix path in paths for pdb parsing

* Update run_inf_tutorial.sh

---------

Co-authored-by: Rohith Krishna <rohith@localhost>
Co-authored-by: Raktim Mitra <timkartar7879@gmail.com>
2025-12-02 17:55:02 -08:00
Jasper Butcher
62cbbe28e5 Finalizing READMEs (#711)
* Draft update to main

* Minor changes

* Add files

* ppi/sm/enzyme.md and input.md/reade.md cleanups

* fix run commands

* fix: typo in ppi md

* fix: Update header dna_binder_design.md

* description of dna_binder_design examples in .md

* fix: Update dna_binder_design.md fix typo

* fix: Update main README.md to add all citations

* fix: filename dna->na

* fix: filename dna->na

---------

Co-authored-by: Raktim Mitra <raktim@digs.ipd.uw.edu>
Co-authored-by: Raktim Mitra <timkartar7879@gmail.com>
2025-12-02 16:46:33 -08:00
Rachel Clune
76e61e0c2d docs: update RFD3 README (#714)
* Added more explanation and fixed small issues in demo commands in RFD3 README

* fix github actions grepping ruff

---------

Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-02 16:42:04 -08:00
Nathaniel Corley
050390fd67 Feat/notebook and rf3 confidence refactor (#713)
* chore: ruff

* feat: rf3 confidence, notebook update
2025-12-02 16:26:38 -08:00
Rohith Krishna
a8bcaa0ffa move parquet paths into default paths config: (#712)
Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-02 14:50:19 -08:00
jbutch
9a9d4c40d8 Remove old code for reference frame 2025-12-02 02:33:36 -08:00
jbutch
a9ced98137 Fixes to training 2025-12-02 02:33:08 -08:00
jbutch
d6d113f3d6 Minor config changes, fixes to training 2025-12-02 01:22:10 -08:00
jbutch
33cbd92b44 Less verbose logging 2025-12-02 00:16:43 -08:00
Raktim Mitra
152a0911f1 DRAFT: docs for release, soft code hbplus (#699)
* documentation for release draft start

* trajectory.png

* update readme to rf3-lab paths, annotate TODOs

* add input_pdbs, demo.json

* Update README.md example pngs

* tasks pngs

* Update README.md - restructure pngs and application links

* Update README.md mc

* Update README.md add ipynb kernel export instruction

* mpnn all.ipynb

* open and edit tutorial.zip

* Update run_inf_tutorial.sh

* remove outputs

* cleanup

* rename

* soft code hbplus executable

* rename modelforge to foundry (rfd3) README

* fix: enabled running rfd3, mpnn inline

* cleanup

* remove todos, one remaining

* clear outputs

---------

Co-authored-by: Raktim Mitra <raktim@digs>
Co-authored-by: Raktim Mitra <raktim@localhost>
Co-authored-by: Rohith Krishna <rohith@localhost>
Co-authored-by: Raktim Mitra <raktim@digs.ipd.uw.edu>
2025-12-01 18:23:02 -08:00
Nathaniel Corley
f3c01c2a2d refactor: rf3 and rfd3 lab training (#709)
* Add current_epoch arg to validation_batch_end, minor corrections to rfd3 validation

* fix: callbacks, readmes

* chore: rf3 checkpoints, quiet mode

* fix: fabric trainer model imports

* chore: commit .env

---------

Co-authored-by: jbutch <jbutch@uw.edu>
2025-12-01 18:14:07 -08:00
Jasper Butcher
a5532404f5 Refactor/rf3 rfd3 training (#705)
* Initial pass at file structure for MPNN merge.

* Copy and refactor for clarity pos encoding.

* PositionWiseFeedForward copied.

* Message passing layers, refactored.

* Token and atom encodings for MPNN.

* Naming consistency.

* Graph featurization for ProteinMPNN.

As well as membrane and pssm versions of MPNN.

* Finished LigandMPNN graph features.

* Code cleanup.

* MPNN classes rough draft.

* Additional comments.

* Move structure noise/sc atomize flag to kwargs.

* Finish encoding for protein and ligand MPNN.

* Saved some features for bookkeeping.

* Masks and decoding order. Decoder in progress.

* Added decoding; many bug fixes.

* feat: MPNN pipeline (#268)

* feat: MPNN pipeline, pipeline tests

* feat: backbone occupancy threshold

* chore: MR comments

* chore: fix tests

* Directory cleanup.

* Rework kwargs, change masking.

* Bug fix: permutation of causality masks.

* Chore: push probability utils.

* Chore: variable name typo.

* Feat: Symmetry handling during decoding.

* Bug fix: repeat symmetry input along batch.

* Bug fix: if/else for symmetry_weight.

* Bug fix: node_features -> num_node_features.

* Bug fix: various typos/misnamings.

* Bug fix: np.minimum -> min for python ints.

* Chore: spacing.

* Chore: rename forward output.

* Chore: documentation.

* Feat: loss.

* Feat: weight init static method.

* Chore: int->bool for masks.

* Chore: ensure decode_last_mask is bool.

* Bug: fix modelhub imports.

* Chore: refactor ligand subgraph featurization.

* Chore: missing imports.

* Chore: rename loss.

* Chore: rename model file.

* Chore: bug fixes and documentation.

* Bug fix: symmetry and autograd.

* Chore: documentation.

* Bug: save "pre noise" coords even when no noise.

* Bug: Fix dtypes.

* Chore: Model tests.

* Chore: input names.

* Chore: update comment.

* Chore: change input to model.

* Chore: rename feats.

* Chore: rename feats downstream.

* Chore: S_pred->S_sampled rename for clarity.

* Chore: linter

* Feat: protein-ligand interface calculation. (#410)

* Feat: protein-ligand interface calculation.

* Chore: use datahub validation check.

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>

* Chore: move token encoding.

* Chore: split transforms from pipeline.

* Feat: protein interface mask and batching.

* Chore: move protein-interface calc.

* Chore: empty commits for sampler/trainer.

* Chore: rename protein-ligand to polymer-ligand

* Feat: turn interface calcs into transform.

* Feat: transform for polymer interface mask.

* Bug: rename feats->input_features in tests.

* Bug: rename S_pred->S_sampled in tests.

* Bug: fix tests to match new model input format.

* Bug: fixed issues with polymer-ligand tests.

* Feat: collator.

* Chore: remove empty sampler.

* Chore: test refactor.

* Chore: update collate default.

* Chore: remove dist calc from interface for speed.

* Feat: auxillary settings in pipeline.

* Bug: fix mask_for_loss repeating.

* Feat: metrics and test updates.

* Chore: cleanup old files.

* Feat: padded token bucket sampler. (#432)

* Feat: padded token bucket sampler.

* Chore: defaults.

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>

* Bug: ligand subgraph shapes.

* Feat: trainer.

* Bug: call .item() on metrics.

* Bug: move idx to proper device.

* Chore: remove compute train metrics (unused).

* Feat: checkpointing.

* Feat: minimal return option in pipeline (for mem).

* Chore: refactor sampler.

* Chore: move empty atom_array assert.

* Feat: rough training code.

* Feat: set_epoch and torch generator.

* Bug: sampler name.

* Feat: token budget aware collation.

* Chore: cleanup prints.

* Chore: code style.

* Feat: more robust pipeline (from Nate).

* Feat: batch sampler logic (from Nate).

* Feat: train updates.

* Feat: checks for invalid examples.

* Bug: fix for empty non_atomized_array.

* Feat: shell scripts for training.

* Feat: first pass old weight loading.

* Chore: updates to training hyperparams.

* Chore: partial restructure under src.

* Chore: changes for amp and comment.

* Chore: move MPNN into models.

* Chore: add mpnn to shebang.

* Chore: initial readme.

* Chore: fix imports for atomworks and model.

* Chore: conftest added.

* Chore: move training shell scripts.

* Chore: add __init__.py.

* Chore: restructure mpnn dir.

* Bug: fix atomworks imports.

* Bug: continued import fixing.

* Chore: update autocast dtype functions.

* Bug: fix issues with tests.

* Chore: add model route in data pipeline.

* Chore: fix comment about ligandmpnn legacy bug.

* Chore: rename add auxillary settings.

* chore: organize transforms.

* feat: pipeline handles atomarray annotation.

* chore: split mpnn and rf3 exec.

* chore: rename old -> legacy.

* chore: rename old->legacy in code.

* chore: update intro README.

* chore: update shebang.

* chore: update training scripts.

* chore: move launch training scripts.

* chore: fix path for train file.

* chore: add addn params protein vs ligand.

* fix: make train.py/inference.py executable.

* fix: python->srun.

* chore: update notes.

* feat: add back metrics_logging to modelhub.

TODO: deduplicate rf3/rfd3 for callback
StoreValidationMetricsInDFCallback.

* chore: fix atomworks imports.

* chore: add .env call.

* fix: actually fix env setup.

* chore: rename featurization of user setting.

* fix: move featurize user settings to end.

* fix: import.

* chore: import order.

* fix: train date cutoff, ckpt loading.

* fix: update atomworks to fix residue starts.

* chore: rearrange utils.

* chore: create io utils file.

* chore: file rename.

* feat: DRAFT of inference engine/utils/script.

* small inference input loading fixes

* fix: collater and repeat_sample_num handling.

* feat: significant upgrade of cli/inference input.

* fix: addtional checks for user inputs.

* chore: update high level inference script.

* chore: minor changes; prepping for refactor.

* chore: comment and small fix legacy wts.

* chore: reorder constants in legacy wts.

* chore: warnings to README.

* chore: more notes on readme.

* chore: readme updates.

* feat: inference working.

* chore: note on README.

* fix: readme syntax issue.

* chore: readme format.

* chore: tests for inference.

* chore: formatting.

* Remove old configs, add dump validation structures callback, fix tests

* Fix training and add exec file

* Make format mpnn & with unsafe fixes

* Fix training and add exec file

* Bugfix to losses

* Alright we rollin boys

* Update regression tests

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>
Co-authored-by: Nathaniel Corley <ncorley@uw.edu>
Co-authored-by: AndrewKubaney <48457494+AndrewKubaney@users.noreply.github.com>
Co-authored-by: Andrew Kubaney <akubaney@digs>
Co-authored-by: Raktim Mitra <raktim@localhost>
2025-11-30 00:35:07 -08:00
jbutch
d603dee7c4 Make format mpnn & with unsafe fixes 2025-11-29 23:39:25 -08:00
AndrewKubaney
87264c2cb3 feat: add mpnn to refactor/rf3-lab (#704)
* Initial pass at file structure for MPNN merge.

* Copy and refactor for clarity pos encoding.

* PositionWiseFeedForward copied.

* Message passing layers, refactored.

* Token and atom encodings for MPNN.

* Naming consistency.

* Graph featurization for ProteinMPNN.

As well as membrane and pssm versions of MPNN.

* Finished LigandMPNN graph features.

* Code cleanup.

* MPNN classes rough draft.

* Additional comments.

* Move structure noise/sc atomize flag to kwargs.

* Finish encoding for protein and ligand MPNN.

* Saved some features for bookkeeping.

* Masks and decoding order. Decoder in progress.

* Added decoding; many bug fixes.

* feat: MPNN pipeline (#268)

* feat: MPNN pipeline, pipeline tests

* feat: backbone occupancy threshold

* chore: MR comments

* chore: fix tests

* Directory cleanup.

* Rework kwargs, change masking.

* Bug fix: permutation of causality masks.

* Chore: push probability utils.

* Chore: variable name typo.

* Feat: Symmetry handling during decoding.

* Bug fix: repeat symmetry input along batch.

* Bug fix: if/else for symmetry_weight.

* Bug fix: node_features -> num_node_features.

* Bug fix: various typos/misnamings.

* Bug fix: np.minimum -> min for python ints.

* Chore: spacing.

* Chore: rename forward output.

* Chore: documentation.

* Feat: loss.

* Feat: weight init static method.

* Chore: int->bool for masks.

* Chore: ensure decode_last_mask is bool.

* Bug: fix modelhub imports.

* Chore: refactor ligand subgraph featurization.

* Chore: missing imports.

* Chore: rename loss.

* Chore: rename model file.

* Chore: bug fixes and documentation.

* Bug fix: symmetry and autograd.

* Chore: documentation.

* Bug: save "pre noise" coords even when no noise.

* Bug: Fix dtypes.

* Chore: Model tests.

* Chore: input names.

* Chore: update comment.

* Chore: change input to model.

* Chore: rename feats.

* Chore: rename feats downstream.

* Chore: S_pred->S_sampled rename for clarity.

* Chore: linter

* Feat: protein-ligand interface calculation. (#410)

* Feat: protein-ligand interface calculation.

* Chore: use datahub validation check.

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>

* Chore: move token encoding.

* Chore: split transforms from pipeline.

* Feat: protein interface mask and batching.

* Chore: move protein-interface calc.

* Chore: empty commits for sampler/trainer.

* Chore: rename protein-ligand to polymer-ligand

* Feat: turn interface calcs into transform.

* Feat: transform for polymer interface mask.

* Bug: rename feats->input_features in tests.

* Bug: rename S_pred->S_sampled in tests.

* Bug: fix tests to match new model input format.

* Bug: fixed issues with polymer-ligand tests.

* Feat: collator.

* Chore: remove empty sampler.

* Chore: test refactor.

* Chore: update collate default.

* Chore: remove dist calc from interface for speed.

* Feat: auxillary settings in pipeline.

* Bug: fix mask_for_loss repeating.

* Feat: metrics and test updates.

* Chore: cleanup old files.

* Feat: padded token bucket sampler. (#432)

* Feat: padded token bucket sampler.

* Chore: defaults.

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>

* Bug: ligand subgraph shapes.

* Feat: trainer.

* Bug: call .item() on metrics.

* Bug: move idx to proper device.

* Chore: remove compute train metrics (unused).

* Feat: checkpointing.

* Feat: minimal return option in pipeline (for mem).

* Chore: refactor sampler.

* Chore: move empty atom_array assert.

* Feat: rough training code.

* Feat: set_epoch and torch generator.

* Bug: sampler name.

* Feat: token budget aware collation.

* Chore: cleanup prints.

* Chore: code style.

* Feat: more robust pipeline (from Nate).

* Feat: batch sampler logic (from Nate).

* Feat: train updates.

* Feat: checks for invalid examples.

* Bug: fix for empty non_atomized_array.

* Feat: shell scripts for training.

* Feat: first pass old weight loading.

* Chore: updates to training hyperparams.

* Chore: partial restructure under src.

* Chore: changes for amp and comment.

* Chore: move MPNN into models.

* Chore: add mpnn to shebang.

* Chore: initial readme.

* Chore: fix imports for atomworks and model.

* Chore: conftest added.

* Chore: move training shell scripts.

* Chore: add __init__.py.

* Chore: restructure mpnn dir.

* Bug: fix atomworks imports.

* Bug: continued import fixing.

* Chore: update autocast dtype functions.

* Bug: fix issues with tests.

* Chore: add model route in data pipeline.

* Chore: fix comment about ligandmpnn legacy bug.

* Chore: rename add auxillary settings.

* chore: organize transforms.

* feat: pipeline handles atomarray annotation.

* chore: split mpnn and rf3 exec.

* chore: rename old -> legacy.

* chore: rename old->legacy in code.

* chore: update intro README.

* chore: update shebang.

* chore: update training scripts.

* chore: move launch training scripts.

* chore: fix path for train file.

* chore: add addn params protein vs ligand.

* fix: make train.py/inference.py executable.

* fix: python->srun.

* chore: update notes.

* feat: add back metrics_logging to modelhub.

TODO: deduplicate rf3/rfd3 for callback
StoreValidationMetricsInDFCallback.

* chore: fix atomworks imports.

* chore: add .env call.

* fix: actually fix env setup.

* chore: rename featurization of user setting.

* fix: move featurize user settings to end.

* fix: import.

* chore: import order.

* fix: train date cutoff, ckpt loading.

* fix: update atomworks to fix residue starts.

* chore: rearrange utils.

* chore: create io utils file.

* chore: file rename.

* feat: DRAFT of inference engine/utils/script.

* small inference input loading fixes

* fix: collater and repeat_sample_num handling.

* feat: significant upgrade of cli/inference input.

* fix: addtional checks for user inputs.

* chore: update high level inference script.

* chore: minor changes; prepping for refactor.

* chore: comment and small fix legacy wts.

* chore: reorder constants in legacy wts.

* chore: warnings to README.

* chore: more notes on readme.

* chore: readme updates.

* feat: inference working.

* chore: note on README.

* fix: readme syntax issue.

* chore: readme format.

* chore: tests for inference.

* chore: formatting.

---------

Co-authored-by: Andrew Kubaney <akubaney@localhost>
Co-authored-by: Nathaniel Corley <ncorley@uw.edu>
Co-authored-by: Andrew Kubaney <akubaney@digs>
Co-authored-by: Raktim Mitra <raktim@localhost>
2025-11-29 22:34:05 -08:00
Jasper Butcher
fcd37487fc Add traning (#694)
* Add enzyme example, refactor io

* udpate

* Delete old configs, add training code for rfd3

* minor changes
2025-11-26 00:57:45 -08:00
Jasper Butcher
7c1a77ff0c Add enzyme example, refactor io (#688)
* Add enzyme example, refactor io

* udpate
2025-11-25 16:45:25 -08:00
jbutch
e419028257 Update example 2025-11-23 22:54:06 -08:00
jbutch
1251f0fcf1 Add non-hydra interface for instantiating model 2025-11-23 22:38:39 -08:00
jbutch
22407d510c Update regression tests and defaults 2025-11-23 20:21:01 -08:00
jbutch
12115d052b Update RFD3 regression tests 2025-11-23 19:31:45 -08:00
jbutch
e520df0a97 Update to aa_design/main latest (post loop fix) 2025-11-23 19:30:17 -08:00
Jasper Butcher
3dba499b6d refactor source files for open sourcing (#648)
* mc

* Add base class for inference engine

* refactor inference engine

* Move constants and components out of rfd3 folder

* Fixes to engine

* Update with working checkpoint

* revert layer utils

* Fix more imports

* Move alignment, conditiontransitionblock

* Update sampler name

* mc

* More import fixes

* make format

* Minor fixes

* mc

* Fix rf3 inference engine

* Fix inference sampler

* Fix modules

* Running inference

* Make format

* add pre-commit hook

* fix: RF3 inference (#670)

fix: make rf3 tests in new format

* Minor cleanup

---------

Co-authored-by: Nathaniel Corley <ncorley@uw.edu>
2025-11-20 16:29:47 -08:00
Nathaniel Corley
aa4cb6875f fix: paths and ipd readme (#656)
fix: update paths; add IPD readme
2025-11-13 17:46:04 -08:00
Jasper Butcher
5e7b739ed3 Add initial RFD3 Files and passing tests
* Add initial files

* add files

* Move projects.aa_design -> rfd3

* Make format

* Delete test files

* Add configs

* Mc

* Fixed tests

* remove test files
2025-11-11 10:07:43 -08:00
Rafael Brent
36f668b5ae fix: clean up logging (#587)
* fix: don't log all-nan metrics

* fix: typo in logging

* chore: ruff

---------

Co-authored-by: Rafi Brent <rafi.brent@gmail.com>
2025-11-10 14:23:07 -08:00