FNI V2.0 for InstructPLM: Authority (A:53), Popularity (P:54), Recency (R:38), Quality (Q:70). Semantic (S) is a query-time baseline scored live at search.
Design protein sequences following structure instructions. Read the InstructPLM paper.
Setup
We recommend using docker for a quick start.
You can launch an instance of instructPLM with the following commands:
bash
docker pull jundesiat/instructplm:mpnn-progen2-xlarge
docker run --gpus all -it -v /path/to/input_output:/workspace/ jundesiat/instructplm:mpnn-progen2-xlarge
cd /root/InstructPLM
Or you can run InstructPLM from the source code, clone this repo and install dependence:
bash
git clone --recurse-submodules https://github.com/Eikor/InstructPLM.git
cd InstructPLM
pip install -r requirements.txt
Usage
Code organization:
run_eval.py - gives a minimal code of model evaluation (LM-Loss and perplexity).
[!IMPORTANT]
Make sure you have obtained structure embedding before running InstructPLM, you can construct preprocessed structure embeddings by python structure_embeddings/preprocess.py.
This script will process protein pdbs stored in pdbs/ and save the result in structure_embeddings/.
Protein Design
For protein design, run python run_generate.py --total 10 --save_suffix test.
This script will read embeddings automatically in structure_embeddings/ and save the result at the path specified by --save_prefix.
For generating fix-length proteins, setting --fix_length=True.
[!TIP]
Large language models some times suffer from Hallucinations, so as pLMs :thinking: . You may need to generate a large set of candidates and a select policy (e.g.,
β οΈ Incomplete Data
Some information about this model is not available.
Use with Caution - Verify details from the original source before relying on this data.