ColabMPNN is a Julia wrapper for the MPNN submodule of the ColabDesign Python package, which can be found at https://github.com/sokrypton/ColabDesign/tree/main.
For more details about usage and function arguments, see the original Python documentation
Add ColabMPNN to your Julia environment in the REPL:
]add https://github.com/MurrellGroup/ColabMPNN.jl
Create a model using the mk_mpnn_model
function.
mpnn_model = mk_mpnn_model()
In order to sample, chains from a PDB file must first be prepared.
prep_inputs(mpnn_model, pdb_filename="example.pdb", chain="A")
Sample sequences using the sample
function, or in parallel with sample_parallel
, with the model as the first argument. These functions return a Samples
instance.
samples = sample_parallel(mpnn_model, batch=10, temperature=0.1)
Sampling returns a Samples
instance with the following fields:
seq::Vector{String}
seqid::Vector{Float64}
score::Vector{Float64}
logits::Array{Float32, 3}
decoding_order::Array{Int32, 3}
S::Array{Float32, 3}
This is a thin Julia wrapper of a JAX port (by Sergey Ovchinnikov and others) of ProteinMPNN (by Justas Dauparas and others).