rc-foundry 0.1.1__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/PKG-INFO +1 -1
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/ncaa/create_cif_with_ligand_as_ncaa.ipynb +4 -4
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/testing/debug.py +0 -1
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/utils/vizualize.py +0 -1
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_aa_design.py +0 -6
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/version.py +2 -2
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry_cli/download_checkpoints.py +4 -5
- rc_foundry-0.1.1/.ipd/apptainer/rf3-dev.def +0 -114
- rc_foundry-0.1.1/.ipd/apptainer/rf3-full.def +0 -81
- rc_foundry-0.1.1/.ipd/apptainer/rfd3-full.def +0 -81
- rc_foundry-0.1.1/.ipd/shebang/README.md +0 -6
- rc_foundry-0.1.1/.ipd/shebang/mpnn_exec.sh +0 -129
- rc_foundry-0.1.1/.ipd/shebang/rf3_exec.sh +0 -129
- rc_foundry-0.1.1/.ipd/shebang/rfd3_exec.sh +0 -129
- rc_foundry-0.1.1/.ipd/slurm/launch_ligand_mpnn.sh +0 -15
- rc_foundry-0.1.1/.ipd/slurm/launch_protein_mpnn.sh +0 -15
- rc_foundry-0.1.1/.ipd/slurm/launch_rf3.sh +0 -65
- rc_foundry-0.1.1/.ipd/slurm/launch_rfd3.sh +0 -69
- rc_foundry-0.1.1/docs/IPD_USAGE.md +0 -224
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/.git +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/.github/workflows/lint_trunk.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/.gitignore +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/.gitmodules +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/.pre-commit-config.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/.project-root +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/LICENSE.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/Makefile +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/README.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/3en2_from_file.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/3en2_from_json_with_msa.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/5hkn_from_file.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/7o1r_from_json.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/7xli_template_antigen_and_framework.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/9dfn.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/9dfn_template_ligand_and_protein.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/ligands/HEM.sdf +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/ligands/NAG.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/msas/3en2_A.a3m.gz +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/msas/7o1r_A.a3m.gz +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/msas/8cdz_A.a3m.gz +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/multiple_examples_from_json.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/templates/7xli_chain_A.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rf3/examples/templates/7xli_chain_B.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/docs/releases/rfd3/examples/README.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/examples/all.ipynb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/examples/enzymes.ipynb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/README.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/collate/feature_collator.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/inference.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/inference_engines/mpnn.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/loss/nll_loss.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/metrics/nll.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/metrics/sequence_recovery.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/model/layers/graph_embeddings.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/model/layers/message_passing.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/model/layers/position_wise_feed_forward.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/model/layers/positional_encoding.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/model/mpnn.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/pipelines/mpnn.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/samplers/samplers.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/train.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/trainers/mpnn.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/transforms/feature_aggregation/mpnn.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/transforms/feature_aggregation/polymer_ligand_interface.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/transforms/feature_aggregation/token_encodings.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/transforms/feature_aggregation/user_settings.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/transforms/polymer_ligand_interface.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/utils/inference.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/utils/probability.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/src/mpnn/utils/weights.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/conftest.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_feature_collator.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_inference_engine.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_inference_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_integration.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_loss.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_model.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_pipeline.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_polymer_ligand_interface.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_samplers.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/mpnn/tests/test_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/README.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/callbacks/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/callbacks/dump_validation_structures.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/callbacks/metrics_logging.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/callbacks/train_logging.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/dataloader/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/pdb_and_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/pdb_only.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/disorder_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/domain_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/monomer_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/na_complex_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/pdb/af3_weighted_sampling.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/pdb/base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/pdb/plinder.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/pdb/train_interface.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/pdb/train_pn_unit.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/train/rna_monomer_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/val/af3_ab_set.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/val/af3_validation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/val/base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/datasets/val/runs_and_poses.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/debug/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/debug/train_specific_examples.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/experiment/pretrained/rf3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/experiment/pretrained/rf3_with_confidence.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/experiment/quick-rf3-with-confidence.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/experiment/quick-rf3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/hydra/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/hydra/no_logging.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/inference.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/inference_engine/base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/inference_engine/rf3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/logger/csv.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/logger/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/logger/wandb.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/components/ema.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/components/rf3_net.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/components/rf3_net_with_confidence_head.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/optimizers/adam.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/rf3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/rf3_with_confidence.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/model/schedulers/af3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/paths/data/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/paths/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/train.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/cpu.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/ddp.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/loss/losses/confidence_loss.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/loss/losses/diffusion_loss.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/loss/losses/distogram_loss.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/loss/structure_prediction.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/loss/structure_prediction_with_confidence.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/metrics/structure_prediction.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/rf3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/trainer/rf3_with_confidence.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/configs/validate.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/_version.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/alignment.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/callbacks/dump_validation_structures.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/callbacks/metrics_logging.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/chemical.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/cli.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/data/cyclic_transform.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/data/extra_xforms.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/data/ground_truth_template.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/data/paired_msa.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/data/pipeline_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/data/pipelines.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/diffusion_samplers/inference_sampler.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/inference.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/inference_engines/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/inference_engines/rf3.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/kinematics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/loss/af3_confidence_loss.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/loss/af3_losses.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/loss/loss.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/chiral.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/clashing_chains.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/distogram.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/lddt.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/metadata.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/metric_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/predicted_error.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/rasa.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/metrics/selected_distances.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/RF3.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/RF3_blocks.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/RF3_structure.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/af3_auxiliary_heads.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/af3_diffusion_transformer.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/attention.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/layer_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/mlff.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/outer_product.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/pairformer_layers.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/model/layers/structure_bias.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/scoring.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/symmetry/resolve.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/train.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/trainers/rf3.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/util_module.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/frames.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/inference.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/io.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/loss.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/predict_and_score.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/predicted_error.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/utils/recycling.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/src/rf3/validate.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/.gitkeep +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/conftest.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/5vht_from_file.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/5vht_from_json.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/8vkf_from_file.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/example_from_pdb_with_inter_chain_bond.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/example_pdb_with_clashing_ligand_name.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/example_with_ncaa.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/inference_regression_tests/5vht_from_file/5vht_from_file_model.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/inference_regression_tests/5vht_from_file/5vht_from_file_summary_confidences.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/inference_regression_tests/8vkf_from_file/8vkf_from_file_model.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/inference_regression_tests/8vkf_from_file/8vkf_from_file_summary_confidences.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/msas/5vht_A.a3m +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/msas/8vkf_A.a3m +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/multiple_examples_from_json.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/ncaa/ligand_as_ncaa.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/ncaa/penicillin_ts2_as_ncaa.cif +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/nested_examples/example_from_json.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/data/nested_examples/example_from_pdb_with_inter_chain_bonds.and.dots.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/test_chiral_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/test_inference_regression.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rf3/tests/test_write_confidence.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/.gitignore +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/README.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/callbacks/design_callbacks.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/callbacks/metrics_logging.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/callbacks/train_logging.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/dataloader/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/dataloader/fast.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/conditions/dna_condition.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/conditions/island.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/conditions/ppi.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/conditions/sequence_design.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/conditions/tipatom.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/conditions/unconditional.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/design_base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/af3_train_interface.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/af3_train_pn_unit.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/base_no_weights.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/base_transform_args.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/na_complex_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/pdb_base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/rfd3_train_interface.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/pdb/rfd3_train_pn_unit.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/train/rfd3_monomer_distillation.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/bcov_ppi_easy_medium.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/design_validation_base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/dna_binder_design5.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/dna_binder_long.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/dna_binder_short.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/indexed.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/mcsa_41.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/mcsa_41_short_rigid.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/ppi_inference.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/sm_binder_hbonds.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/sm_binder_hbonds_short.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/unconditional.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/unconditional_deep.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/unindexed.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/val_examples/bcov_ppi_easy_medium_with_ori.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/val_examples/bcov_ppi_easy_medium_with_ori_spoof_helical_bundle.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/val_examples/bcov_ppi_easy_medium_with_ori_varying_lengths.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/datasets/val/val_examples/bpem_ori_hb.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/debug/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/debug/train_specific_examples.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/dev.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/experiment/debug.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/experiment/pretrain.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/experiment/test-uncond.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/experiment/test-unindexed.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/hydra/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/hydra/no_logging.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/inference.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/inference_engine/base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/inference_engine/dev.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/inference_engine/rfdiffusion3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/logger/csv.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/logger/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/logger/wandb.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/components/ema.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/components/rfd3_net.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/optimizers/adam.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/rfd3_base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/samplers/edm.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/samplers/symmetry.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/model/schedulers/af3.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/paths/data/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/paths/default.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/train.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/trainer/cpu.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/trainer/ddp.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/trainer/loss/losses/diffusion_loss.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/trainer/loss/losses/sequence_loss.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/trainer/metrics/design_metrics.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/trainer/rfd3_base.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/configs/validate.yaml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/demo.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/enzyme_design.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/get_na_input.sh +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/1bna.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/1q75.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/2r5z.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/4zxb_croppped.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/5o45_cropped.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/5o4d.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/7v11.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/IAI.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/input_pdbs/M0255_1mg5.pdb +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/na_binder_design.json +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/na_binder_design.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/protein_binder_design.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/run_inf_tutorial.sh +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/sm_binder_design.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/docs/symmetry.md +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/.gitignore +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/Makefile +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/callbacks.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/cli.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/constants.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/engine.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/datasets.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/input_parsing.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/legacy_input_parsing.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/parsing.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/symmetry/atom_array.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/symmetry/checks.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/symmetry/contigs.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/symmetry/frames.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/inference/symmetry/symmetry_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/metrics/design_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/metrics/hbonds_hbplus_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/metrics/hbonds_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/metrics/losses.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/metrics/metrics_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/metrics/sidechain_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/RFD3.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/RFD3_diffusion_module.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/cfg_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/inference_sampler.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/attention.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/block_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/blocks.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/chunked_pairwise.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/encoders.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/layer_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/model/layers/pairformer_layers.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/run_inference.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/testing/debug_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/testing/testing_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/train.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/trainer/dump_validation_structures.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/trainer/fabric_trainer.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/trainer/recycling.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/trainer/rfd3.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/trainer/trainer_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/conditioning_base.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/conditioning_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/design_transforms.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/dna_crop.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/hbonds.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/hbonds_hbplus.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/ncaa_transforms.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/pipelines.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/ppi_transforms.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/rasa.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/symmetry.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/training_conditions.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/util_transforms.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/transforms/virtual_atoms.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/utils/inference.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/src/rfd3/utils/io.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/conftest.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_conditioning.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_glycines.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_legacy_pipeline_equivalence.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_metrics.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_partial_diffusion.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_selections.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_subgraph_sampling.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_symmetry.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_tokenization.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/test_unindexing.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/transforms/regression_test_data/1p5d_0_inference_pretrain.pkl +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/transforms/regression_test_data/1p5d_0_train_pretrain.pkl +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/transforms/regression_test_data/1qys_0_inference_pretrain.pkl +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/transforms/regression_test_data/1qys_0_train_pretrain.pkl +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/transforms/regression_test_data/af2_122_train_test_unindexed.pkl +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/models/rfd3/tests/transforms/test_pipeline_regression.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/pyproject.toml +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/refactor.sh +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/callbacks/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/callbacks/callback.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/callbacks/health_logging.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/callbacks/metrics_logging.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/callbacks/timing_logging.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/callbacks/train_logging.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/common.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/constants.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/hydra/resolvers.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/inference_engines/base.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/inference_engines/checkpoint_registry.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/metrics/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/metrics/losses.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/metrics/metric.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/model/layers/blocks.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/testing/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/testing/fixtures.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/testing/pytest_hooks.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/trainers/fabric.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/training/EMA.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/training/checkpoint.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/training/schedulers.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/alignment.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/components.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/datasets.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/ddp.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/instantiators.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/logging.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/rigid.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/rotation_augmentation.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/squashfs.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/torch.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry/utils/weights.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/src/foundry_cli/__init__.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/tests/conftest.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/tests/test_torch_utils.py +0 -0
- {rc_foundry-0.1.1 → rc_foundry-0.1.3}/tests/test_weight_loading.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rc-foundry
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Shared utilities and training infrastructure for biomolecular structure prediction models.
|
|
5
5
|
Author-email: Institute for Protein Design <contact@ipd.uw.edu>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
"metadata": {},
|
|
8
8
|
"outputs": [],
|
|
9
9
|
"source": [
|
|
10
|
-
"from
|
|
11
|
-
"from
|
|
12
|
-
"from
|
|
13
|
-
"from
|
|
10
|
+
"from atomworks.io import parse\n",
|
|
11
|
+
"from atomwork.io.tools.inference import components_to_atom_array\n",
|
|
12
|
+
"from atomworks.io.utils.visualize import view\n",
|
|
13
|
+
"from atomworks.io.utils.io_utils import to_cif_file\n",
|
|
14
14
|
"\n",
|
|
15
15
|
"import os\n",
|
|
16
16
|
"\n",
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env -S /bin/sh -c '"$(dirname "$0")/../../../scripts/shebang/modelhub_exec.sh" "$0" "$@"'
|
|
2
|
-
# Usage:
|
|
3
|
-
# >>> apptainer exec scripts/shebang/test_modelhub.sif pytest ./rfd3/tests/test_aa_design.py
|
|
4
|
-
# To combine both make format and testing together you can use:
|
|
5
|
-
# apptainer exec ./scripts/shebang/test_modelhub.sif make format || true && apptainer exec ./scripts/shebang/test_modelhub.sif pytest ./rfd3/tests/test_aa_design.py
|
|
6
|
-
|
|
7
1
|
import contextlib
|
|
8
2
|
import io
|
|
9
3
|
import os
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.3'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 3)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -24,7 +24,6 @@ from foundry.inference_engines.checkpoint_registry import (
|
|
|
24
24
|
get_default_checkpoint_dir,
|
|
25
25
|
)
|
|
26
26
|
|
|
27
|
-
rootutils.setup_root(__file__, indicator=".project-root", pythonpath=True)
|
|
28
27
|
load_dotenv(override=True)
|
|
29
28
|
|
|
30
29
|
app = typer.Typer(help="Foundry model checkpoint installation utilities")
|
|
@@ -98,7 +97,7 @@ def install_model(
|
|
|
98
97
|
raise typer.Exit(1)
|
|
99
98
|
|
|
100
99
|
checkpoint_info = REGISTERED_CHECKPOINTS[model_name]
|
|
101
|
-
dest_path = checkpoint_dir / checkpoint_info
|
|
100
|
+
dest_path = checkpoint_dir / checkpoint_info.filename
|
|
102
101
|
|
|
103
102
|
# Check if already exists
|
|
104
103
|
if dest_path.exists() and not force:
|
|
@@ -109,12 +108,12 @@ def install_model(
|
|
|
109
108
|
return
|
|
110
109
|
|
|
111
110
|
console.print(
|
|
112
|
-
f"[cyan]Installing {model_name}:[/cyan] {checkpoint_info
|
|
111
|
+
f"[cyan]Installing {model_name}:[/cyan] {checkpoint_info.description}"
|
|
113
112
|
)
|
|
114
113
|
|
|
115
114
|
try:
|
|
116
115
|
download_file(
|
|
117
|
-
checkpoint_info
|
|
116
|
+
checkpoint_info.url, dest_path, checkpoint_info.sha256
|
|
118
117
|
)
|
|
119
118
|
console.print(
|
|
120
119
|
f"[green]✓[/green] Successfully installed {model_name} to {dest_path}"
|
|
@@ -186,7 +185,7 @@ def list_models():
|
|
|
186
185
|
"""List available model checkpoints."""
|
|
187
186
|
console.print("[bold]Available models:[/bold]\n")
|
|
188
187
|
for name, info in REGISTERED_CHECKPOINTS.items():
|
|
189
|
-
console.print(f" [cyan]{name:8}[/cyan] - {info
|
|
188
|
+
console.print(f" [cyan]{name:8}[/cyan] - {info.description}")
|
|
190
189
|
|
|
191
190
|
|
|
192
191
|
@app.command()
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
Bootstrap: localimage
|
|
2
|
-
From: /net/software/containers/versions/modelhub/pytorch_25.06-py3.sif
|
|
3
|
-
IncludeCmd: yes
|
|
4
|
-
|
|
5
|
-
# RF3 Development Container - Dependencies only (excludes atomworks, which we expose through a submodule for development)
|
|
6
|
-
|
|
7
|
-
# To build this Apptainer, from the project root, run:
|
|
8
|
-
# apptainer build rf3-dev.sif .ipd/apptainer/rf3-dev.def
|
|
9
|
-
|
|
10
|
-
%labels
|
|
11
|
-
Author Institute for Protein Design
|
|
12
|
-
Version 1.0-dev
|
|
13
|
-
Description RosettaFold3 - Dependencies only (for development and model training)
|
|
14
|
-
|
|
15
|
-
%setup
|
|
16
|
-
# Create a directory in the container to bind the host's current working directory
|
|
17
|
-
mkdir ${APPTAINER_ROOTFS}/foundry_host
|
|
18
|
-
# ... for mounting `/projects` with --bind
|
|
19
|
-
mkdir ${APPTAINER_ROOTFS}/projects
|
|
20
|
-
# ... for mounting `/databases` with --bind
|
|
21
|
-
mkdir ${APPTAINER_ROOTFS}/net
|
|
22
|
-
# ... for mounting `/squash` with --bind
|
|
23
|
-
mkdir ${APPTAINER_ROOTFS}/squash
|
|
24
|
-
|
|
25
|
-
%files
|
|
26
|
-
/etc/localtime
|
|
27
|
-
/etc/hosts
|
|
28
|
-
pyproject.toml /opt/core_pyproject.toml
|
|
29
|
-
models/rf3/pyproject.toml /opt/rf3_pyproject.toml
|
|
30
|
-
lib/atomworks/pyproject.toml /opt/atomworks_pyproject.toml
|
|
31
|
-
|
|
32
|
-
%post
|
|
33
|
-
## GENERAL SETUP
|
|
34
|
-
|
|
35
|
-
# Common symlinks (within container)
|
|
36
|
-
ln -s /net/databases /databases
|
|
37
|
-
ln -s /net/software /software
|
|
38
|
-
ln -s /home /mnt/home
|
|
39
|
-
ln -s /projects /mnt/projects
|
|
40
|
-
ln -s /net /mnt/net
|
|
41
|
-
|
|
42
|
-
# Update system and install essential packages
|
|
43
|
-
apt-get update && apt-get install -y \
|
|
44
|
-
build-essential \
|
|
45
|
-
git \
|
|
46
|
-
libxrender1 \
|
|
47
|
-
libxrender-dev \
|
|
48
|
-
libx11-6 \
|
|
49
|
-
libx11-dev \
|
|
50
|
-
libxext6 \
|
|
51
|
-
libxext-dev \
|
|
52
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
53
|
-
|
|
54
|
-
## PYTHON DEPENDENCY INSTALLATION
|
|
55
|
-
|
|
56
|
-
# Upgrade pip
|
|
57
|
-
python -m pip install --upgrade pip
|
|
58
|
-
|
|
59
|
-
# Install uv for fast dependency resolution
|
|
60
|
-
pip install uv
|
|
61
|
-
|
|
62
|
-
# Auto-generate dependency lists for both core and RF3, with all extra dependencies
|
|
63
|
-
# (Core)
|
|
64
|
-
mv /opt/core_pyproject.toml /opt/pyproject.toml
|
|
65
|
-
uv pip compile /opt/pyproject.toml --output-file /opt/core_requirements.txt --all-extras
|
|
66
|
-
rm /opt/pyproject.toml
|
|
67
|
-
|
|
68
|
-
# (RF3)
|
|
69
|
-
mv /opt/rf3_pyproject.toml /opt/pyproject.toml
|
|
70
|
-
uv pip compile /opt/pyproject.toml --output-file /opt/rf3_requirements.txt --all-extras
|
|
71
|
-
rm /opt/pyproject.toml
|
|
72
|
-
|
|
73
|
-
# (AtomWorks)
|
|
74
|
-
mv /opt/atomworks_pyproject.toml /opt/pyproject.toml
|
|
75
|
-
uv pip compile /opt/pyproject.toml --output-file /opt/atomworks_requirements.txt --all-extras
|
|
76
|
-
rm /opt/pyproject.toml
|
|
77
|
-
|
|
78
|
-
# Merge and dedupe requirements, excluding packages we don't want
|
|
79
|
-
# (atomworks is mounted from host; torch/numpy/nvidia-* provided by base image)
|
|
80
|
-
# (pynvml/packaging/pandas/markdown-it-py/triton from NGC container to avoid conflicts)
|
|
81
|
-
# Deduplicate by package name (keeping first occurrence) to handle version conflicts
|
|
82
|
-
cat /opt/core_requirements.txt /opt/rf3_requirements.txt /opt/atomworks_requirements.txt | \
|
|
83
|
-
grep -vE "^(atomworks|torch(|vision|audio)|numpy|nvidia-.*|pynvml|packaging|pandas|markdown-it-py|triton)==" | \
|
|
84
|
-
awk -F'==' '!seen[$1]++' > /opt/combined_requirements.txt
|
|
85
|
-
|
|
86
|
-
# Print combined requirements for debugging
|
|
87
|
-
echo "=== Combined requirements to install ==="
|
|
88
|
-
cat /opt/combined_requirements.txt
|
|
89
|
-
echo "========================================"
|
|
90
|
-
|
|
91
|
-
# Install the cleaned, combined requirements (use uv for better resolver)
|
|
92
|
-
uv pip install --system --break-system-packages -r /opt/combined_requirements.txt
|
|
93
|
-
|
|
94
|
-
# Clean up to minimize container size
|
|
95
|
-
uv cache clean
|
|
96
|
-
pip cache purge
|
|
97
|
-
apt-get clean
|
|
98
|
-
rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
99
|
-
rm -rf /root/.cache 2>/dev/null || true
|
|
100
|
-
rm -rf /opt/*.txt 2>/dev/null || true
|
|
101
|
-
|
|
102
|
-
%environment
|
|
103
|
-
# (Flag to increase accessible GPU memory)
|
|
104
|
-
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
|
|
105
|
-
|
|
106
|
-
# (Turn off NVLink)
|
|
107
|
-
export NCCL_P2P_DISABLE=1
|
|
108
|
-
|
|
109
|
-
%runscript
|
|
110
|
-
# NOTE: The %runscript is invoked when the container is run without specifying a different command.
|
|
111
|
-
exec python "$@"
|
|
112
|
-
|
|
113
|
-
%help
|
|
114
|
-
RosettaFold3 (RF3) development container with dependencies only.
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
Bootstrap: localimage
|
|
2
|
-
From: .ipd/apptainer/rf3-dev.sif
|
|
3
|
-
IncludeCmd: yes
|
|
4
|
-
|
|
5
|
-
# RF3 Full Production Container - Includes foundry, rf3, and atomworks packages installed
|
|
6
|
-
|
|
7
|
-
# To build this Apptainer, from the project root, run:
|
|
8
|
-
# apptainer build rf3-full.sif .ipd/apptainer/rf3-full.def
|
|
9
|
-
|
|
10
|
-
%labels
|
|
11
|
-
Author Institute for Protein Design
|
|
12
|
-
Version 1.0.0
|
|
13
|
-
Description RosettaFold3 - Full production container with all packages installed
|
|
14
|
-
|
|
15
|
-
%setup
|
|
16
|
-
# Copy entire repository to container
|
|
17
|
-
echo "Copying repository..."
|
|
18
|
-
|
|
19
|
-
# Create base directory
|
|
20
|
-
mkdir -p ${APPTAINER_ROOTFS}/opt/foundry
|
|
21
|
-
|
|
22
|
-
# Copy everything except large/unnecessary files
|
|
23
|
-
rsync -av --info=progress2 \
|
|
24
|
-
--exclude='.venv' \
|
|
25
|
-
--exclude='__pycache__' \
|
|
26
|
-
--exclude='*.pyc' \
|
|
27
|
-
--exclude='.pytest_cache' \
|
|
28
|
-
--exclude='*.egg-info' \
|
|
29
|
-
--exclude='.ruff_cache' \
|
|
30
|
-
--exclude='outputs' \
|
|
31
|
-
--exclude='logs' \
|
|
32
|
-
--exclude='*.sif' \
|
|
33
|
-
--exclude='distillation' \
|
|
34
|
-
--exclude='benchmarks' \
|
|
35
|
-
--exclude='**/slurm_logs' \
|
|
36
|
-
./ ${APPTAINER_ROOTFS}/opt/foundry/
|
|
37
|
-
|
|
38
|
-
echo "Repository copied successfully."
|
|
39
|
-
|
|
40
|
-
%post
|
|
41
|
-
echo "Installing packages into container..."
|
|
42
|
-
|
|
43
|
-
# Do editable installs so everything works as in development
|
|
44
|
-
cd /opt/foundry
|
|
45
|
-
|
|
46
|
-
# Install foundry (editable, no dependencies - already in base image)
|
|
47
|
-
echo "Installing foundry..."
|
|
48
|
-
uv pip install --system --break-system-packages --no-deps -e .
|
|
49
|
-
|
|
50
|
-
# Install rf3 (editable, no dependencies - already in base image)
|
|
51
|
-
echo "Installing rf3..."
|
|
52
|
-
cd /opt/foundry/models/rf3
|
|
53
|
-
uv pip install --system --break-system-packages --no-deps -e .
|
|
54
|
-
|
|
55
|
-
# Install atomworks (editable, no dependencies - already in base image)
|
|
56
|
-
echo "Installing atomworks..."
|
|
57
|
-
cd /opt/foundry/lib/atomworks
|
|
58
|
-
uv pip install --system --break-system-packages --no-deps -e .
|
|
59
|
-
|
|
60
|
-
# Cleanup caches only
|
|
61
|
-
echo "Cleaning up caches..."
|
|
62
|
-
uv cache clean
|
|
63
|
-
pip cache purge
|
|
64
|
-
apt-get clean
|
|
65
|
-
rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
66
|
-
rm -rf /root/.cache 2>/dev/null || true
|
|
67
|
-
|
|
68
|
-
echo "Package installation complete."
|
|
69
|
-
|
|
70
|
-
%runscript
|
|
71
|
-
# Simple runscript - just run Python with any arguments
|
|
72
|
-
exec python "$@"
|
|
73
|
-
|
|
74
|
-
%help
|
|
75
|
-
RosettaFold3 (RF3) full production container.
|
|
76
|
-
|
|
77
|
-
Contains foundry, rf3, and atomworks packages installed in site-packages.
|
|
78
|
-
All dependencies are included from the base rf3-dev container.
|
|
79
|
-
|
|
80
|
-
Usage:
|
|
81
|
-
apptainer exec --nvccli rf3-full.sif rf3 fold inputs="example.json"
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
Bootstrap: localimage
|
|
2
|
-
From: .ipd/apptainer/rf3-dev.sif
|
|
3
|
-
IncludeCmd: yes
|
|
4
|
-
|
|
5
|
-
# RFD3 Full Production Container - Includes foundry, rfd3, and atomworks packages installed
|
|
6
|
-
|
|
7
|
-
# To build this Apptainer, from the project root, run:
|
|
8
|
-
# apptainer build rfd3-full.sif .ipd/apptainer/rfd3-full.def
|
|
9
|
-
|
|
10
|
-
%labels
|
|
11
|
-
Author Institute for Protein Design
|
|
12
|
-
Version 1.0.0
|
|
13
|
-
Description RFDiffusion3 - Full production container with all packages installed
|
|
14
|
-
|
|
15
|
-
%setup
|
|
16
|
-
# Copy entire repository to container
|
|
17
|
-
echo "Copying repository..."
|
|
18
|
-
|
|
19
|
-
# Create base directory
|
|
20
|
-
mkdir -p ${APPTAINER_ROOTFS}/opt/foundry
|
|
21
|
-
|
|
22
|
-
# Copy everything except large/unnecessary files
|
|
23
|
-
rsync -av --info=progress2 \
|
|
24
|
-
--exclude='.venv' \
|
|
25
|
-
--exclude='__pycache__' \
|
|
26
|
-
--exclude='*.pyc' \
|
|
27
|
-
--exclude='.pytest_cache' \
|
|
28
|
-
--exclude='*.egg-info' \
|
|
29
|
-
--exclude='.ruff_cache' \
|
|
30
|
-
--exclude='outputs' \
|
|
31
|
-
--exclude='logs' \
|
|
32
|
-
--exclude='*.sif' \
|
|
33
|
-
--exclude='distillation' \
|
|
34
|
-
--exclude='benchmarks' \
|
|
35
|
-
--exclude='**/slurm_logs' \
|
|
36
|
-
./ ${APPTAINER_ROOTFS}/opt/foundry/
|
|
37
|
-
|
|
38
|
-
echo "Repository copied successfully."
|
|
39
|
-
|
|
40
|
-
%post
|
|
41
|
-
echo "Installing packages into container..."
|
|
42
|
-
|
|
43
|
-
# Do editable installs so everything works as in development
|
|
44
|
-
cd /opt/foundry
|
|
45
|
-
|
|
46
|
-
# Install foundry (editable, no dependencies - already in base image)
|
|
47
|
-
echo "Installing foundry..."
|
|
48
|
-
uv pip install --system --break-system-packages --no-deps -e .[all]
|
|
49
|
-
|
|
50
|
-
# Install rfd3 (editable, no dependencies - already in base image)
|
|
51
|
-
echo "Installing rfd3..."
|
|
52
|
-
cd /opt/foundry/models/rfd3
|
|
53
|
-
uv pip install --system --break-system-packages --no-deps -e .
|
|
54
|
-
|
|
55
|
-
# Install atomworks (editable, no dependencies - already in base image)
|
|
56
|
-
echo "Installing atomworks..."
|
|
57
|
-
cd /opt/foundry/lib/atomworks
|
|
58
|
-
uv pip install --system --break-system-packages --no-deps -e .
|
|
59
|
-
|
|
60
|
-
# Cleanup caches only
|
|
61
|
-
echo "Cleaning up caches..."
|
|
62
|
-
uv cache clean
|
|
63
|
-
pip cache purge
|
|
64
|
-
apt-get clean
|
|
65
|
-
rm -rf /var/lib/apt/lists/* 2>/dev/null || true
|
|
66
|
-
rm -rf /root/.cache 2>/dev/null || true
|
|
67
|
-
|
|
68
|
-
echo "Package installation complete."
|
|
69
|
-
|
|
70
|
-
%runscript
|
|
71
|
-
# Simple runscript - just run Python with any arguments
|
|
72
|
-
exec python "$@"
|
|
73
|
-
|
|
74
|
-
%help
|
|
75
|
-
RFDiffusion3 (RFD3) full production container.
|
|
76
|
-
|
|
77
|
-
Contains foundry, rfd3, and atomworks packages installed in site-packages.
|
|
78
|
-
All dependencies are included from the base rf3-dev container.
|
|
79
|
-
|
|
80
|
-
Usage:
|
|
81
|
-
apptainer exec --nvccli rfd3-full.sif rfd3 run_inference inputs="example.json"
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
This directory contains scripts that are not to be run directly by the user.
|
|
2
|
-
They are [SHEBANG scripts](https://en.wikipedia.org/wiki/Shebang_(Unix)) that are used to run the appropriate apptainer container.
|
|
3
|
-
|
|
4
|
-
For example, the script `rf3_exec.sh` is used to run the RF3 apptainer container with the latest apptainer image stored locally or at the IPD.
|
|
5
|
-
|
|
6
|
-
The shebang lines (`#!/bin/bash` ...) at the top of entry point scripts like `train.py` redirect the system to here to find the correct apptainer container.
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/bash
|
|
2
|
-
|
|
3
|
-
###################
|
|
4
|
-
# You can add the path to this file as the shebang line in your python script.
|
|
5
|
-
# Then by default, the python script will be executed with the python interpreter
|
|
6
|
-
# in the SIF_PATH container. Here, we launch the container with nvidia gpu and slurm support.
|
|
7
|
-
#
|
|
8
|
-
# Example shebang: #!/usr/bin/env -S /bin/sh -c '"$(dirname "$0")/.ipd/shebang/mpnn_exec.sh" "$0" "$@"'
|
|
9
|
-
###################
|
|
10
|
-
|
|
11
|
-
# Let the user know this script is setting things up behind the scene
|
|
12
|
-
SCRIPT_PATH=$(realpath $0)
|
|
13
|
-
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
|
|
14
|
-
echo '################## Start shebang info ##################'
|
|
15
|
-
echo "The file $SCRIPT_PATH is being run as a shebang executable.
|
|
16
|
-
It will...
|
|
17
|
-
|
|
18
|
-
1. Add 'src/foundry', 'models/mpnn/src', and 'lib/atomworks/src' to your PYTHONPATH.
|
|
19
|
-
2. Run your python script from the right container, which contains all dependencies.
|
|
20
|
-
3. Launch the container with slurm and nvidia gpu support."
|
|
21
|
-
|
|
22
|
-
# Extract the path to the Python script from the arguments
|
|
23
|
-
PYTHON_SCRIPT=$(realpath "$1")
|
|
24
|
-
shift
|
|
25
|
-
|
|
26
|
-
# Find repository root by looking for .project-root file
|
|
27
|
-
find_repo_root() {
|
|
28
|
-
local current_dir="$1"
|
|
29
|
-
while [ "$current_dir" != "/" ]; do
|
|
30
|
-
if [ -f "$current_dir/.project-root" ]; then
|
|
31
|
-
echo "$current_dir"
|
|
32
|
-
return 0
|
|
33
|
-
fi
|
|
34
|
-
current_dir="$(dirname "$current_dir")"
|
|
35
|
-
done
|
|
36
|
-
return 1
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
echo
|
|
40
|
-
echo "Searching for repository root directory..."
|
|
41
|
-
REPO_ROOT=$(find_repo_root "$(dirname "$PYTHON_SCRIPT")")
|
|
42
|
-
if [ -z "$REPO_ROOT" ]; then
|
|
43
|
-
echo "Error: Could not find .project-root file in any parent directory"
|
|
44
|
-
exit 1
|
|
45
|
-
else
|
|
46
|
-
echo "... found repository root at '$REPO_ROOT'"
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
# Function to add a directory to PYTHONPATH if it's not already included
|
|
50
|
-
add_to_pythonpath() {
|
|
51
|
-
local dir_path="$1"
|
|
52
|
-
if [[ ":$PYTHONPATH:" != *":$dir_path:"* ]]; then
|
|
53
|
-
export PYTHONPATH="$dir_path:$PYTHONPATH"
|
|
54
|
-
echo "Added '$dir_path' to PYTHONPATH."
|
|
55
|
-
else
|
|
56
|
-
echo "'$dir_path' is already in PYTHONPATH."
|
|
57
|
-
fi
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
# Add foundry, mpnn, and atomworks to PYTHONPATH
|
|
61
|
-
echo
|
|
62
|
-
echo "Adding foundry, MPNN, and atomworks to PYTHONPATH..."
|
|
63
|
-
FOUNDRY_PATH="$REPO_ROOT/src"
|
|
64
|
-
MPNN_PATH="$REPO_ROOT/models/mpnn/src"
|
|
65
|
-
ATOMWORKS_PATH="$REPO_ROOT/lib/atomworks/src"
|
|
66
|
-
add_to_pythonpath "$FOUNDRY_PATH"
|
|
67
|
-
add_to_pythonpath "$MPNN_PATH"
|
|
68
|
-
add_to_pythonpath "$ATOMWORKS_PATH"
|
|
69
|
-
|
|
70
|
-
echo
|
|
71
|
-
echo "Fetching the appropriate apptainer image..."
|
|
72
|
-
|
|
73
|
-
SIF_PATH="$REPO_ROOT/.ipd/apptainer/rf3-dev.sif"
|
|
74
|
-
|
|
75
|
-
echo "... looking for a local apptainer image at '$SIF_PATH'"
|
|
76
|
-
if [ ! -f "$SIF_PATH" ]; then
|
|
77
|
-
echo "... apptainer not found. To build it, run: apptainer build .ipd/apptainer/rf3-dev.sif .ipd/apptainer/rf3-dev.def"
|
|
78
|
-
echo "Attempting to run $PYTHON_SCRIPT with $(which python)"
|
|
79
|
-
SIF_PATH=""
|
|
80
|
-
fi
|
|
81
|
-
|
|
82
|
-
# Function to print debug=mode warning
|
|
83
|
-
print_debug_warning() {
|
|
84
|
-
echo
|
|
85
|
-
echo "###############################################################################"
|
|
86
|
-
echo "# #"
|
|
87
|
-
echo "# ⚠️ WARNING ⚠️ #"
|
|
88
|
-
echo "# RUNNING WITH DEBUGPY ON PORT $DEBUG_PORT #"
|
|
89
|
-
echo "# DON'T FORGET TO ATTACH A DEBUGGER #"
|
|
90
|
-
echo "# #"
|
|
91
|
-
echo "###############################################################################"
|
|
92
|
-
echo
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if [ -n "$DEBUG_PORT" ]; then
|
|
96
|
-
print_debug_warning
|
|
97
|
-
python_cmd="python -m debugpy --listen $DEBUG_PORT --wait-for-client"
|
|
98
|
-
else
|
|
99
|
-
python_cmd="python"
|
|
100
|
-
echo
|
|
101
|
-
fi
|
|
102
|
-
|
|
103
|
-
if [ ! -z $SIF_PATH ]; then
|
|
104
|
-
echo "Running $PYTHON_SCRIPT with apptainer: $SIF_PATH."
|
|
105
|
-
|
|
106
|
-
# Determine GPU binding method: prefer --nvccli, fallback to --nv, then no GPU
|
|
107
|
-
GPU_FLAG=""
|
|
108
|
-
if command -v nvidia-container-cli &> /dev/null && [ -c /dev/nvidiactl ] 2>/dev/null; then
|
|
109
|
-
GPU_FLAG="--nvccli"
|
|
110
|
-
echo "Using --nvccli for GPU support"
|
|
111
|
-
elif [ -c /dev/nvidiactl ] 2>/dev/null; then
|
|
112
|
-
GPU_FLAG="--nv"
|
|
113
|
-
echo "Using --nv for GPU support"
|
|
114
|
-
else
|
|
115
|
-
echo "No GPU detected, running without GPU support"
|
|
116
|
-
fi
|
|
117
|
-
|
|
118
|
-
echo '################## End shebang info ####################'
|
|
119
|
-
echo
|
|
120
|
-
/usr/bin/apptainer exec $GPU_FLAG --slurm \
|
|
121
|
-
--bind "$REPO_ROOT:$REPO_ROOT" \
|
|
122
|
-
--env PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" \
|
|
123
|
-
$SIF_PATH $python_cmd "$PYTHON_SCRIPT" "$@"
|
|
124
|
-
else
|
|
125
|
-
echo "Running $PYTHON_SCRIPT with python: $(which python)"
|
|
126
|
-
echo '################## End shebang info ####################'
|
|
127
|
-
echo
|
|
128
|
-
$python_cmd "$PYTHON_SCRIPT" "$@"
|
|
129
|
-
fi
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/bash
|
|
2
|
-
|
|
3
|
-
###################
|
|
4
|
-
# You can add the path to this file as the shebang line in your python script.
|
|
5
|
-
# Then by default, the python script will be executed with the python interpreter
|
|
6
|
-
# in the SIF_PATH container. Here, we launch the container with nvidia gpu and slurm support.
|
|
7
|
-
#
|
|
8
|
-
# Example shebang: #!/usr/bin/env -S /bin/sh -c '"$(dirname "$0")/.ipd/shebang/rf3_exec.sh" "$0" "$@"'
|
|
9
|
-
###################
|
|
10
|
-
|
|
11
|
-
# Let the user know this script is setting things up behind the scene
|
|
12
|
-
SCRIPT_PATH=$(realpath $0)
|
|
13
|
-
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
|
|
14
|
-
echo '################## Start shebang info ##################'
|
|
15
|
-
echo "The file $SCRIPT_PATH is being run as a shebang executable.
|
|
16
|
-
It will...
|
|
17
|
-
|
|
18
|
-
1. Add 'src/foundry', 'models/rf3/src', and 'lib/atomworks/src' to your PYTHONPATH.
|
|
19
|
-
2. Run your python script from the right container, which contains all dependencies.
|
|
20
|
-
3. Launch the container with slurm and nvidia gpu support."
|
|
21
|
-
|
|
22
|
-
# Extract the path to the Python script from the arguments
|
|
23
|
-
PYTHON_SCRIPT=$(realpath "$1")
|
|
24
|
-
shift
|
|
25
|
-
|
|
26
|
-
# Find repository root by looking for .project-root file
|
|
27
|
-
find_repo_root() {
|
|
28
|
-
local current_dir="$1"
|
|
29
|
-
while [ "$current_dir" != "/" ]; do
|
|
30
|
-
if [ -f "$current_dir/.project-root" ]; then
|
|
31
|
-
echo "$current_dir"
|
|
32
|
-
return 0
|
|
33
|
-
fi
|
|
34
|
-
current_dir="$(dirname "$current_dir")"
|
|
35
|
-
done
|
|
36
|
-
return 1
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
echo
|
|
40
|
-
echo "Searching for repository root directory..."
|
|
41
|
-
REPO_ROOT=$(find_repo_root "$(dirname "$PYTHON_SCRIPT")")
|
|
42
|
-
if [ -z "$REPO_ROOT" ]; then
|
|
43
|
-
echo "Error: Could not find .project-root file in any parent directory"
|
|
44
|
-
exit 1
|
|
45
|
-
else
|
|
46
|
-
echo "... found repository root at '$REPO_ROOT'"
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
# Function to add a directory to PYTHONPATH if it's not already included
|
|
50
|
-
add_to_pythonpath() {
|
|
51
|
-
local dir_path="$1"
|
|
52
|
-
if [[ ":$PYTHONPATH:" != *":$dir_path:"* ]]; then
|
|
53
|
-
export PYTHONPATH="$dir_path:$PYTHONPATH"
|
|
54
|
-
echo "Added '$dir_path' to PYTHONPATH."
|
|
55
|
-
else
|
|
56
|
-
echo "'$dir_path' is already in PYTHONPATH."
|
|
57
|
-
fi
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
# Add foundry, rf3, and atomworks to PYTHONPATH
|
|
61
|
-
echo
|
|
62
|
-
echo "Adding foundry, RF3, and atomworks to PYTHONPATH..."
|
|
63
|
-
FOUNDRY_PATH="$REPO_ROOT/src"
|
|
64
|
-
RF3_PATH="$REPO_ROOT/models/rf3/src"
|
|
65
|
-
ATOMWORKS_PATH="$REPO_ROOT/lib/atomworks/src"
|
|
66
|
-
add_to_pythonpath "$FOUNDRY_PATH"
|
|
67
|
-
add_to_pythonpath "$RF3_PATH"
|
|
68
|
-
add_to_pythonpath "$ATOMWORKS_PATH"
|
|
69
|
-
|
|
70
|
-
echo
|
|
71
|
-
echo "Fetching the appropriate apptainer image..."
|
|
72
|
-
|
|
73
|
-
SIF_PATH="$REPO_ROOT/.ipd/apptainer/rf3-dev.sif"
|
|
74
|
-
|
|
75
|
-
echo "... looking for a local apptainer image at '$SIF_PATH'"
|
|
76
|
-
if [ ! -f "$SIF_PATH" ]; then
|
|
77
|
-
echo "... apptainer not found. To build it, run: apptainer build .ipd/apptainer/rf3-dev.sif .ipd/apptainer/rf3-dev.def"
|
|
78
|
-
echo "Attempting to run $PYTHON_SCRIPT with $(which python)"
|
|
79
|
-
SIF_PATH=""
|
|
80
|
-
fi
|
|
81
|
-
|
|
82
|
-
# Function to print debug=mode warning
|
|
83
|
-
print_debug_warning() {
|
|
84
|
-
echo
|
|
85
|
-
echo "###############################################################################"
|
|
86
|
-
echo "# #"
|
|
87
|
-
echo "# ⚠️ WARNING ⚠️ #"
|
|
88
|
-
echo "# RUNNING WITH DEBUGPY ON PORT $DEBUG_PORT #"
|
|
89
|
-
echo "# DON'T FORGET TO ATTACH A DEBUGGER #"
|
|
90
|
-
echo "# #"
|
|
91
|
-
echo "###############################################################################"
|
|
92
|
-
echo
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if [ -n "$DEBUG_PORT" ]; then
|
|
96
|
-
print_debug_warning
|
|
97
|
-
python_cmd="python -m debugpy --listen $DEBUG_PORT --wait-for-client"
|
|
98
|
-
else
|
|
99
|
-
python_cmd="python"
|
|
100
|
-
echo
|
|
101
|
-
fi
|
|
102
|
-
|
|
103
|
-
if [ ! -z $SIF_PATH ]; then
|
|
104
|
-
echo "Running $PYTHON_SCRIPT with apptainer: $SIF_PATH."
|
|
105
|
-
|
|
106
|
-
# Determine GPU binding method: prefer --nvccli, fallback to --nv, then no GPU
|
|
107
|
-
GPU_FLAG=""
|
|
108
|
-
if command -v nvidia-container-cli &> /dev/null && [ -c /dev/nvidiactl ] 2>/dev/null; then
|
|
109
|
-
GPU_FLAG="--nvccli"
|
|
110
|
-
echo "Using --nvccli for GPU support"
|
|
111
|
-
elif [ -c /dev/nvidiactl ] 2>/dev/null; then
|
|
112
|
-
GPU_FLAG="--nv"
|
|
113
|
-
echo "Using --nv for GPU support"
|
|
114
|
-
else
|
|
115
|
-
echo "No GPU detected, running without GPU support"
|
|
116
|
-
fi
|
|
117
|
-
|
|
118
|
-
echo '################## End shebang info ####################'
|
|
119
|
-
echo
|
|
120
|
-
/usr/bin/apptainer exec $GPU_FLAG --slurm \
|
|
121
|
-
--bind "$REPO_ROOT:$REPO_ROOT" \
|
|
122
|
-
--env PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" \
|
|
123
|
-
$SIF_PATH $python_cmd "$PYTHON_SCRIPT" "$@"
|
|
124
|
-
else
|
|
125
|
-
echo "Running $PYTHON_SCRIPT with python: $(which python)"
|
|
126
|
-
echo '################## End shebang info ####################'
|
|
127
|
-
echo
|
|
128
|
-
$python_cmd "$PYTHON_SCRIPT" "$@"
|
|
129
|
-
fi
|