Proto is not affiliated with Institute for Protein Design and NVIDIA. This toolkit is open source and builds on the implementations produced by these organizations. Product names, logos, and trademarks are the property of their respective owners.
Background
RFD4-Proteina (Corley et al., 2026) uses a flow-based generative framework to model biomolecular sequences and three-dimensional structures. Its central contribution is a shared representation of molecular geometry and chemical identity, allowing sequence and structure to be generated together rather than treated as separate prediction problems. The model uses a partially latent representation. Polymer backbones are represented by explicit anchor coordinates, such as the Cα atoms of proteins, while additional residue-level features encode chemical identity and local conformation. An associated autoencoder converts these latent features into amino acid sequences and all-atom structures. Atomized components, including small-molecule ligands, retain information about their constituent atoms and chemical connectivity. RFD4-Proteina builds on the Proteina line of models and incorporates several architectural and training improvements. Its training data extend beyond experimentally determined structures to include predicted structures and physically simulated conformations, broadening the range of molecular systems represented during training. The model also uses more extensive pairwise representations and recurrent updates during generation. Two approaches allow additional computation to be applied during inference. The first, termed intrinsic reasoning by the authors, repeatedly updates intermediate representations during individual generative steps. Increasing these recurrent updates gives the model additional opportunities to refine the evolving structure. The second, extrinsic reasoning, uses search over candidate generation trajectories, selecting candidates according to external structural, geometric, or energetic scores. The latter is supported upstream but is not exposed through this Proto toolkit. The authors report improved performance across several computational protein-design benchmarks, including protein binding, small-molecule binding, enzyme design, and DNA binding. For example, the reported clustered pass rates for small-molecule and DNA binding were 14.3% and 3.5%, respectively, compared with 2.4% and 0.5% for the corresponding RFdiffusion3 comparisons. These are computational success metrics based on structural and predictive criteria, rather than direct measurements of experimental binding or activity. The paper also presents separate experimental validation of selected designs. For practical design workflows, the principal advantage is the joint generation of sequence and structure. RFD4-Proteina produces an all-atom model with its corresponding sequence, avoiding the need to run a separate inverse-folding model simply to assign amino acid identities to a generated backbone. The resulting designs should still be evaluated independently, for example through structure prediction, sequence analysis, or experimental characterization. The model supports a range of conditioning options, including fixed and flexible structural motifs, sequence constraints, target hotspots, ligand interactions, solvent exposure, hydrogen-bond roles, secondary structure, CATH fold classifications, and specified amino acid probabilities. These are documented in the upstream annotations reference. Symmetry-conditioned generation is not currently supported.Learning Resources
- RFD4-Proteina documentation — Official documentation covering model inputs, conditioning, generation settings, and example workflows.
- RFD4-Proteina model card — Model weights, checkpoint information, training details, and licensing.
- RFD4-Proteina on NVIDIA build — Hosted inference endpoint for running the model without managing a local GPU environment.
Tools
RFD4-Proteina Design (rfd4-design)
Generates protein sequences and all-atom structures according to the constraints specified in each RFD4DesignSpec. Each specification represents an independent design task and produces num_replicates candidate designs. Results are returned as RFD4Designs collections, with one collection corresponding to each input specification.API Reference
Input: RFD4Input
Input: RFD4Input
design_specs is ignored and the JSON is forwarded as-is, so input paths must already point at CIF files and residue ids must already be in label numbering.Config: RFD4DesignConfig
Config: RFD4DesignConfig
1.0 is no guidance; 0.0 excludes the main model.0.3 runs the last 30% and stays close to the input; higher values drift further. Mutually exclusive with the partial_t_* settings.(0, 1). Note the inverted sense relative to partial_trajectory_fraction_steps: values near 1 stay close to the input, near 0 approach full generation.(0, 1), with the same inverted sense.True is coerced to 1 and False to 0.rfd4-generate builds its Lightning trainer with accelerator="gpu" unconditionally, so a GPU is required.None waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.1 before raising it.recycle_strategy preset expands to exactly 60 steps and upstream requires the two to agree, so changing this requires recycle_strategy=None.<low|medium|high>/<flat|midpeak|front_loaded>, trading compute for quality. midpeak totals 120/150/180 trunk passes; flat and front_loaded total 120/180/300. The thinking_* aliases are the front-loaded schedules. Setting any preset pins nsteps to 60. None disables the schedule and runs a fixed recycle depth of 0, which is the only way to use a custom nsteps.tsr_k raises sequence diversity.model_checkpoint is a local directory.0 disables. Rejected unless output_dir is set.None uses a tempdir. Each call writes into a fresh run-<id> subdirectory of it, so a reused output_dir cannot return a previous run’s designs, and the trajectory frames for a run land in that run’s own subdirectory. The <id> is random and is deliberately not returned, since a per-run path in the output would break seeded reproducibility; locate a run by directory mtime, or pass a fresh output_dir per call.Output: RFD4Output
Output: RFD4Output
len(design_specs) * num_replicates; a spec that produced nothing contributes an empty bundle.Applications
Userfd4-design when both the protein sequence and structure are design variables. Applications include de novo protein generation, binder design against specified target sites, scaffolding of structural or functional motifs, enzyme active-site design, and generation conditioned on fold class or solvent exposure.The tool also supports partial diffusion, allowing an existing design to be modified rather than generated entirely from scratch. Fixed-coordinate motifs can be used when their positions must be preserved, while internal-coordinate constraints allow motifs to retain their internal geometry without fixing their global orientation.Because the model generates sequences alongside structures, designs can proceed directly to independent evaluation without a separate inverse-folding stage. A useful initial assessment is to predict the structure from the generated sequence and compare the result with the designed structure.Usage Tips
-
Input structures and file formats. The Proto implementation accepts both PDB and mmCIF structures and prepares an mmCIF input for RFD4-Proteina. The upstream implementation requires mmCIF because PDB files do not reliably preserve all of the chemical connectivity and formal-charge information required by the model. During normal input preparation, the Proto implementation also standardizes chain identifiers so selections refer to the expected chains. Setting
input_as_annotated_cif=Truebypasses this conversion and preserves the supplied mmCIF, including existing conditioning annotations. Use this option for annotated structures produced by previous RFD4 runs. -
Residue numbering. RFD4-Proteina resolves residue selections using the mmCIF
label_seq_idfield rather than the author-providedauth_seq_idnumbering. By default, Proto usesresidue_numbering="auth"and translates selections into the numbering used by the prepared input. This is convenient when working from PDB files or structures whose displayed residue numbers differ from their internal indices. Setresidue_numbering="label"when specifyinglabel_seq_idvalues directly. Annotated mmCIF inputs are passed through without translation, and selections supplied throughraw_conditionsare likewise not modified. Check the numbering in the actual mmCIF whenever using either option. -
Contig specification. The
contigfield defines which parts of an input structure are retained and where new residues may be generated. Its comma-separated syntax resembles that of RFdiffusion3:A42-48retains an existing segment,20-30defines an expandable segment, and/0separates output chains. RFD4 additionally supports named expandable segments such asE1:2-20, single-residue selections such asA52, and polymer-type suffixes such as10Rfor an RNA segment. Preserved residues are selected using the original input’slabel_seq_idvalues, and output chain assignment follows the upstream contig rules. A contig must include at least one preserved segment; fully de novo generation instead requires an appropriately prepared input structure, such as an annotated expandable-chain template. Older specification fields, includinglength,symmetry,unindex, andselect_*, are not supported. Omittingcontigretains the full input structure. -
Combining conditions. Different conditioning types can interact. Fixing sidechain coordinates also constrains the corresponding sequence identity, while atomized components such as ligands and modified residues retain their chemical identities. Within a condition, overlapping selections are applied in order, with later entries taking precedence. Absolute and internal-coordinate conditioning cannot be applied simultaneously to the same atom. To move an atom from a fixed-coordinate region into a
rigid_groupsregion, first release its absolute-coordinate constraint usingfree_coordinates. Ligands and modified residues should also have valid bond orders, including explicit Kekulized aromatic bonds rather than genericAROMATICbonds. -
Recycling and inference settings.
recycle_strategycontrols the number and distribution of recurrent model evaluations during generation. The available schedules combine a computational budget (low,medium, orhigh) with a distribution (flat,midpeak, orfront_loaded). Themidpeakschedules use 120, 150, or 180 trunk evaluations, while theflatandfront_loadedschedules use 120, 180, or 300. Thethinking_low,thinking_medium, andthinking_highaliases correspond to the front-loaded schedules. By default,thinking_mediumperforms 180 evaluations across 60 integration steps. All recycling presets requirensteps=60, and the implementation validates this combination before execution. Setrecycle_strategy=Noneto disable the preset schedule and specify a different number of integration steps. -
Choosing an inference budget. The released recycling presets are the recommended settings for design generation. Shorter runs without recycling can be useful for verifying that an input is valid and that the execution environment works, but they should not be assumed to produce comparable design quality. In local testing, a run with
recycle_strategy=Noneandnsteps=20produced a degenerate poly-alanine sequence. This observation does not establish that every shortened run will fail, but it provides a reason to avoid treating minimal test configurations as production settings. For less expensive generation using the supported schedules, start with alowpreset. -
Partial diffusion. Partial diffusion generates a modified design by beginning from an existing structure partway through the generative process. The implementation exposes two alternative controls.
partial_trajectory_fraction_stepsspecifies the fraction of the trajectory to execute, whilepartial_t_backboneandpartial_t_latentspecify the starting levels of corruption for the corresponding modalities. The direction of these controls differs: a smaller trajectory fraction preserves more of the input, whereas larger values of thepartial_t_*controls correspond to lower corruption. The two interfaces cannot be used together. When refining an earlier RFD4 design,input_as_annotated_cif=Truepreserves its existing conditioning information. -
Sequence probabilities.
sequence_probabilitiesallows individual residue identities to be encouraged, constrained, or excluded. For example, setting the probability ofCYSto0.0explicitly excludes cysteine at the selected positions. Amino acid identities without specified probabilities remain unconstrained and share the remaining probability mass. The probabilities assigned to a residue cannot sum to more than 1.
RFD4-Proteina Inverse Folding (rfd4-inverse-folding)
Generates amino acid sequences and sidechain conformations for a specified protein backbone. The backbone is held fixed during design, while the model samples compatible sequence identities and sidechain geometries. Each replicate provides a candidate sequence together with its corresponding all-atom structure.API Reference
Input: RFD4Input
Input: RFD4Input
design_specs is ignored and the JSON is forwarded as-is, so input paths must already point at CIF files and residue ids must already be in label numbering.Config: RFD4InverseFoldingConfig
Config: RFD4InverseFoldingConfig
True is coerced to 1 and False to 0.rfd4-generate builds its Lightning trainer with accelerator="gpu" unconditionally, so a GPU is required.None waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.1 before raising it.recycle_strategy preset expands to exactly 60 steps and upstream requires the two to agree, so changing this requires recycle_strategy=None.<low|medium|high>/<flat|midpeak|front_loaded>, trading compute for quality. midpeak totals 120/150/180 trunk passes; flat and front_loaded total 120/180/300. The thinking_* aliases are the front-loaded schedules. Setting any preset pins nsteps to 60. None disables the schedule and runs a fixed recycle depth of 0, which is the only way to use a custom nsteps.tsr_k raises sequence diversity.model_checkpoint is a local directory.0 disables. Rejected unless output_dir is set.None uses a tempdir. Each call writes into a fresh run-<id> subdirectory of it, so a reused output_dir cannot return a previous run’s designs, and the trajectory frames for a run land in that run’s own subdirectory.Output: RFD4Output
Output: RFD4Output
len(design_specs) * num_replicates; a spec that produced nothing contributes an empty bundle.Applications
Userfd4-inverse-folding to design alternative sequences for an existing protein structure. Inputs may include experimentally determined structures, predicted structures, or backbones generated by tools such as rfd4-design and rfdiffusion3-design.The tool can also be used when sidechain packing is important, since it returns sidechain coordinates together with the designed sequence. It offers an alternative to proteinmpnn-sample, ligandmpnn-sample, and fampnn-sample, particularly for applications that benefit from joint modeling of sequence and all-atom geometry. As with other inverse-folding methods, the resulting sequences should be evaluated before making claims about stability, expression, or function.Usage Tips
-
Sequence diversity. The
sequence_sampling.tsr_kparameter controls the sharpness of sequence sampling. Larger values produce more concentrated sampling, while smaller values generally allow greater sequence diversity. The upstream default is4.0; reducing this toward2.0can provide more varied candidates, although their predicted quality may differ. Generate multiple replicates when exploring alternative sequences for the same backbone. -
Sequence and structural conditions. Inverse folding supports conditions defined in
RFD4DesignSpec, including fixed amino acid identities throughknown_sequence, solvent-exposure constraints throughburial, and residue exclusions throughsequence_probabilities. Settings intended specifically for unconstrained or partially constrained structural generation, such asguidance_wand partial-diffusion controls, are exposed throughrfd4-designrather than this tool. - Input structure completeness. Use a structure with well-resolved coordinates and appropriate chemical information. Missing atoms or incomplete sidechains may affect how the model interprets its fixed structural context. For example, local testing with a cropped PD-L1 target derived from PDB 5O45, containing 15 unresolved sidechain atoms across six residues, produced a Cα-only poly-alanine output. The same behavior was observed with the upstream command-line implementation. This particular structure is used as a binder-design target and should not be treated as a representative inverse-folding input. Inspect structural completeness and the resulting designs before interpreting their sequences.
Toolkit Notes
The general Proto guides for tool persistence, device management, parallel execution, and cloud inference apply to bothrfd4-design and rfd4-inverse-folding.
-
Symmetry support. RFD4-Proteina does not currently support symmetry-conditioned generation. For the design of symmetric protein assemblies, use
rfdiffusion3-design. -
Hardware requirements. This toolkit requires a CUDA-enabled GPU. The upstream
rfd4-generateimplementation initializes its Lightning trainer with GPU acceleration, so selectingdevice="cpu"does not provide a CPU inference path. The environment setup also requires Linux x86_64, a CUDA-capable system, and an NVIDIA driver with a major version of at least 525. -
Model weights and checkpoints. The default checkpoint is available from
nvidia/RFD4-Proteinawithout an access request. Model files are downloaded automatically when needed. The denoising model and its corresponding autoencoder must be loaded as a compatible pair.model_revisioncan be used to select a specific Hugging Face revision for reproducibility. Ifadapter_pathis provided, the adapter must be compatible with the selected base checkpoint and autoencoder. -
Model persistence. Generation runs in-process rather than through the
rfd4-generatecommand-line entry point, so a persistent worker loads the checkpoint once and reuses it. The first call in a worker pays the load; later calls do not. In local testing on an H200, three sequential designs took 37s, 13s, and 13s. Batch work therefore benefits from running insideToolInstance.persist_tool("rfd4-design"). Changingmodel_checkpoint,model_revision,adapter_path, oruse_torch_compilerestarts the worker, since each of those is fixed at load time. Each worker is also pinned to its assigned GPU and is restarted rather than moved if the device changes. -
GPU memory. Memory requirements depend on input size, sequence length, and
batch_size. Test the longest intended design atbatch_size=1before increasing parallelism. If a run exceeds available GPU memory, reducing the batch size is generally the first adjustment to make. -
Model compilation.
use_torch_compileis disabled by default. When enabled, the implementation compiles the model for multiple sequence-length buckets, introducing substantial initial compilation overhead. Compilation may be worthwhile for repeated or large-scale inference, but offers less benefit for short runs. -
Evaluating designs. RFD4 outputs do not include a calibrated confidence score indicating whether a design will fold or function as intended. Independent structure prediction, for example with
boltz2-predictionoresmfold-prediction, can help assess consistency between the designed sequence and generated structure. EachRFD4Designincludes acomplexobject suitable for downstream analysis. Usechain_sequence_map()orchain_sequencesto access sequences across molecular entities.extract_protein_chains()returns only protein chains and therefore omits DNA and RNA chains. -
Output organization. Results are grouped by input specification.
designed_structurescontains oneRFD4Designscollection per specification, in the original input order. Each collection contains up tonum_replicatesdesigns. If a specification produces no designs, its collection remains empty rather than changing the position of subsequent results. -
Reproducibility. Generation is stochastic, and
seedcan be used to control random sampling. Repeated inverse-folding runs with the same seed produced identical sequences and structures in local tests. Exact reproducibility is not guaranteed across different hardware or software environments.deterministic_sampling=Truechanges both modalities to ODE integration, avoiding additional noise injection during the trajectory, but does not guarantee bitwise reproducibility in every environment. For most design applications, evaluating several independent candidates is preferable to relying on a single output. -
Features not exposed by this toolkit. The current implementation does not expose upstream reward-guided beam search,
rfd4-evaluate, antibody or VHH-specific workflows, or the Diffusers interface. Reward-guided search requires additional configuration and, for some scoring functions, external structure-prediction runtimes. The toolkit also does not expose a separate folding mode. In the upstream implementation, sequence-conditioned structure generation can be expressed through sequence conditioning, which is available throughknown_sequence. -
Metrics and output filtering. The implementation disables tagged upstream metrics through
metrics_tags=[], preventing the configured AlphaFold2, AlphaFold3, and OpenFold3 refolding oracles from running. Untagged metrics, including the upstreamunknown_residue_filter, may still be evaluated and recorded in output metadata. The implementation also setsdelete_failing_pre_oracle=Falseso designs are not silently removed by that preliminary filter. These metadata should not be interpreted as independent structural validation. - Third-party licensing. The upstream RFD4-Proteina distribution includes optional integrations and container environments for external structure-prediction systems. These components may be subject to licenses and usage conditions that differ from those of RFD4-Proteina itself, including restrictions on particular model weights. The Proto toolkit described here does not invoke these external refolding oracles. Users who enable them independently should review the applicable licenses and distribution terms.


