score#
Score a given sequence on a structure using the ProteinMPNN model.
- prxteinmpnn.scoring.score.make_score_sequence(model, decoding_order_fn=<PjitFunction of <function random_decoding_order>>, _num_encoder_layers=3, _num_decoder_layers=3)[source]#
Create a function to score a sequence on a structure using PrxteinMPNN.
- Parameters:
model (
PrxteinMPNN) – A PrxteinMPNN Equinox model instance.decoding_order_fn (
Callable[[Union[Key[Array, ''],UInt32[Array, '2']],int,Array|None,int|None],tuple[Int[Array, 'num_residues'],Union[Key[Array, ''],UInt32[Array, '2']]]]) – Function to generate decoding order (default: random)._num_encoder_layers (
int) – Deprecated, ignored (kept for API compatibility)._num_decoder_layers (
int) – Deprecated, ignored (kept for API compatibility).
- Return type:
Callable[[Union[Key[Array, ''],UInt32[Array, '2']],Int[Array, 'num_residues'],Float[Array, 'num_residues num_atoms 3'],Int[Array, 'num_residues 3'],Int[Array, 'num_residues'],Int[Array, 'num_residues'],int,Float[Array, 'n']|None,Bool[Array, 'num_residues num_residues']|None],tuple[Float,Float[Array, 'num_residues num_classes'],Int[Array, 'num_residues']]]- Returns:
A function that scores sequences on structures.
Example
>>> from prxteinmpnn.io.weights import load_model >>> model = load_model() >>> score_fn = make_score_sequence(model) >>> score, logits, order = score_fn(key, seq, coords, mask, res_idx, chain_idx)