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() #or mk_mpnn_model(weights="soluble")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).