LigandMPNN API

The LigandMPNN API provides an interface to the LigandMPNN protein design tool. This tool is the latest version of the MPNN based design tools and is capable of running with the original Protein MPNN weights as well as the versions which support ligands. This tool takes as input a PDB file and rapidly generates new sequences predicted to fold to the backbone of the input PDB.

Examples

Predict a single new sequence for an input PDB using the (default) LigandMPNN weights

lev engine submit ligand-mpnn input.pdb

Predict a single new sequence for an input PDB using the original ProteinMPNN weights

lev engine submit ligand-mpnn input.pdb --model-type protein_mpnn

Predict 1000 new sequences for an input PDB

lev engine submit ligand-mpnn input.pdb --n-mpnn-designs 1000

Predict 1000 new sequences for an input PDB using an elevated temperature (default temperature is 0.1)

lev engine submit ligand-mpnn 1ubq.pdb --n-mpnn-designs 1000 --sampling-temperature 0.2

Predict a single new sequence for an input PDB where all the chains are symmetric and should have the same sequence

lev engine submit ligand-mpnn input.pdb --homo-oligomer 1

Predict a single new sequence for an input PDB where specific residues should be treated symmetrically

lev engine submit ligand-mpnn input.pdb --symmetry-residues 'A1,B1|B1,B2|A3,B3' --symmetry-weights '0.5,0.5|0.5,0.5|0.5,0.5'

Predict a single new sequence for an input PDB where specific residues should be held fixed and not redesigned

lev engine submit ligand-mpnn input.pdb --fixed-residue-positions "A1 A2 A3"

Predict a single new sequence for an input PDB where specific residues should be designed and all others held fixed

lev engine submit ligand-mpnn input.pdb --redesigned-residues "A1 A2 A3"

Predict a single new sequence for an input PDB where specific chains should be designed and all others held fixed

lev engine submit ligand-mpnn input.pdb --chains-to-design "A,B"

Predict a single new sequence for an input PDB where specific amino acids are not allowed in the designs

lev engine submit ligand-mpnn input.pdb --omitAa "CPG"

Predict a single new sequence for an input PDB where specific amino acids are biased in the designs. Higher values are more likely, negative values are less likely

lev engine submit ligand-mpnn input.pdb --biasAa 'A:10.0,Y:-10.0'

Inputs

  • --pdb-file
    • Path to a PDB File to design sequences for
  • --gpu-type
    • Select the GPU type to use. valid options are ‘t4’ and ‘a100’ (default “t4”)
  • --n-mpnn-designs
    • Number of sequences to design (default 1)
  • --sampling-temperature
    • The sampling temperature (default 0.1)
  • --bias-aa
    • Bias the designs toward specific residues
  • --chains-to-design
    • Set which chains should be designed (default all)
  • --fixed-residue-positions
    • The space separated list of fixed residue positions
  • --homo-oligomer
    • Is the input a homo oligomer.
  • --ligand-mpnn-use-atom-context
    • Include the ligand atoms when designing the sequence. (Used to determine the effect of the ligand on the designs) (default 1)
  • --model-type
    • Specify the model type to use. Options currently include protein_mpnn and ligand_mpnn (default “ligand_mpnn”)
  • --omitAa
    • Exclude specified amino acids from being used in designs
  • --parse-atoms-with-zero-occupancy
    • Specify whether atoms with zero occupancy in the b factor column be parsed (default 1)
  • --parse-these-chains-only
    • Only parse specified chains (default all)
  • --redesigned-residues
    • The space separated list of residues to design
  • --symmetry-residues
    • Define which residues should be treated symmetrically. These should be specified in comma seperated sets with each set divided by a |. For example if A1 is symmetrically tied to B1 and A2 is tied to B2, etc… you would put “A1,B1|A2,B2|A3,B3”. If the entire structure is a homo-oligomer and each residue on the chain is tied to the matching position on all the other chains use the homo-oligomer set 1 to assign all of residues to be treated symmetrically instead of this option.
  • --symmetry-weights
    • Define the weights for which residue should be more important for determining the sequence when treated symmetrically. For most cases setting all weights to be equal is appropriate. The syntax is the same as for the symmetric residues subtituing a value between 1 and 0 instead of a residue ID. i.e. “0.5,0.5|0.5,0.5|0.5,0.5”.

Outputs

  • designed_sequences.fasta
    • A FASTA file containing all designed sequences. The first record in the file is the native sequence of the protein in the PDB file. The headers of the FASTA file contain score and sequence recovery values for each designed sequence

Updated: