lyach/PETase-tournament

Jupyter Notebook

3

173 commits

updated Feb 26, 2026

See the code

README

aPETtite for Degradation Logo

🧬 apPETtite for Degradation

Welcome to the official repository for the LMSE + ChemCognition team. We are competing in the AlignBio 2025 Protein Engineering Tournament, focused on the computational design and evaluation of PETase variants.

🍽️ The Challenge: What's on the Menu?

The first track of the tournament consists in predicting the properties of PETase variants without any direct training data. Specifically:

  • Expression: The soluble protein yield of each variant.
  • Activity: The hydrolytic activity of the variants under two different environmental conditions.

🔬 Our Secret Sauce

To tackle this challenge, we developed a machine learning pipeline combining Protein Language Model (PLM) embeddings with biochemical features.

Activity Prediction

We focused on predicting hydrolysis activity (total concentration of aromatic products released in mg/L on crystalline PET powder).

  • Dataset: We used the experimental dataset from Erickson et al. (2022), which includes 570 records across 19 enzyme variants evaluated within a 30-condition assay matrix.
  • Feature Engineering: Enzyme variants were encoded using embeddings extracted from the ProstT5 protein language model. To account for distinct chemical environments, reaction parameters (temperature, pH, and buffer system) were normalized and concatenated with the embeddings.
  • Model & Performance: We trained a hyperparameter-optimized XGBoost model. On a 5-fold cross-validation, this model achieved a Kendall's Tau of 0.38 ± 0.18 and an NDCG of 0.97 ± 0.01.

Expression Prediction

The goal was to accurately estimate soluble protein yield (mg/L) when expressed in E. coli.

  • Dataset & Preprocessing: We used the Expression Level dataset from Erickson et al. (2022), featuring 74 candidate PET hydrolases. To ensure clean training data, measurements reported as 'insoluble', '<0.1 mg/L', or entirely missing were strictly encoded as 0 mg/L to reflect a failure to yield quantifiable soluble protein.
  • Feature Engineering: In addition to extracting sequence embeddings via ProstT5, we recovered DNA-associated features. These included codon usage, translation efficiency, mRNA folding stability and accessibility, and sequence composition signals.
  • Model & Performance: Using an XGBoost regressor, our top-performing model achieved a Kendall's Tau of 0.28 ± 0.14 and an NDCG of 0.81 ± 0.12 across a 5-fold cross-validation.

🗺️ Project Navigation

Environment set up

The following steps will set up the virtual environment for our project using uv.

1. Install uv

This will install a single static binary in your $HOME/bin:

curl -LsSf https://astral.sh/uv/install.sh | sh

If you're on Windows, you can install using pip:

pip install uv

2. Navigate to the repository

cd ~/PETase-tournament

3. Create a virtual environment

Creates an isolated environment inside the repository:

uv venv .venv

4. Activate venv

Linux/MacOS:

source .venv/bin/activate

Windows (PowerShell):

. .\.venv\Scripts\Activate.ps1

5. Install dependencies Synchronize and install all dependencies listed in pyproject.toml:

uv sync

This automatically resolves and locks dependencies for reproducibility (uv.lock file).

Reinstall PyTorch with GPU support. For CUDA 12.1, run this command:

uv pip install -U torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Pipeline SOPs

  1. Generating and using pLM embeddings
  2. Installing extra dependencies

lyach/PETase-tournament

Jupyter Notebook

3

173 commits

updated Feb 26, 2026

See the code

README

aPETtite for Degradation Logo

🧬 apPETtite for Degradation

Welcome to the official repository for the LMSE + ChemCognition team. We are competing in the AlignBio 2025 Protein Engineering Tournament, focused on the computational design and evaluation of PETase variants.

🍽️ The Challenge: What's on the Menu?

The first track of the tournament consists in predicting the properties of PETase variants without any direct training data. Specifically:

  • Expression: The soluble protein yield of each variant.
  • Activity: The hydrolytic activity of the variants under two different environmental conditions.

🔬 Our Secret Sauce

To tackle this challenge, we developed a machine learning pipeline combining Protein Language Model (PLM) embeddings with biochemical features.

Activity Prediction

We focused on predicting hydrolysis activity (total concentration of aromatic products released in mg/L on crystalline PET powder).

  • Dataset: We used the experimental dataset from Erickson et al. (2022), which includes 570 records across 19 enzyme variants evaluated within a 30-condition assay matrix.
  • Feature Engineering: Enzyme variants were encoded using embeddings extracted from the ProstT5 protein language model. To account for distinct chemical environments, reaction parameters (temperature, pH, and buffer system) were normalized and concatenated with the embeddings.
  • Model & Performance: We trained a hyperparameter-optimized XGBoost model. On a 5-fold cross-validation, this model achieved a Kendall's Tau of 0.38 ± 0.18 and an NDCG of 0.97 ± 0.01.

Expression Prediction

The goal was to accurately estimate soluble protein yield (mg/L) when expressed in E. coli.

  • Dataset & Preprocessing: We used the Expression Level dataset from Erickson et al. (2022), featuring 74 candidate PET hydrolases. To ensure clean training data, measurements reported as 'insoluble', '<0.1 mg/L', or entirely missing were strictly encoded as 0 mg/L to reflect a failure to yield quantifiable soluble protein.
  • Feature Engineering: In addition to extracting sequence embeddings via ProstT5, we recovered DNA-associated features. These included codon usage, translation efficiency, mRNA folding stability and accessibility, and sequence composition signals.
  • Model & Performance: Using an XGBoost regressor, our top-performing model achieved a Kendall's Tau of 0.28 ± 0.14 and an NDCG of 0.81 ± 0.12 across a 5-fold cross-validation.

🗺️ Project Navigation

Environment set up

The following steps will set up the virtual environment for our project using uv.

1. Install uv

This will install a single static binary in your $HOME/bin:

curl -LsSf https://astral.sh/uv/install.sh | sh

If you're on Windows, you can install using pip:

pip install uv

2. Navigate to the repository

cd ~/PETase-tournament

3. Create a virtual environment

Creates an isolated environment inside the repository:

uv venv .venv

4. Activate venv

Linux/MacOS:

source .venv/bin/activate

Windows (PowerShell):

. .\.venv\Scripts\Activate.ps1

5. Install dependencies Synchronize and install all dependencies listed in pyproject.toml:

uv sync

This automatically resolves and locks dependencies for reproducibility (uv.lock file).

Reinstall PyTorch with GPU support. For CUDA 12.1, run this command:

uv pip install -U torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Pipeline SOPs

  1. Generating and using pLM embeddings
  2. Installing extra dependencies