# MLOps best practices for bioinformatics

Pauline Le Corre, Anthony Bretaudieu, Yann Le Cunff

## ► To cite this version:

Pauline Le Corre, Anthony Bretaudieu, Yann Le Cunff. MLOps best practices for bioinformatics. JOBIM - Journées Ouvertes en Biologie, Informatique et Mathématiques, Jul 2025, Bordeaux (France), France. pp.1-1, 2025, 10.1093/bioinformatics/btad6[2] . hal-05168225

HAL Id: hal-05168225

https://hal.science/hal-05168225v1

Submitted on 17 Jul 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
# MLOps best practices for bioinformatics

Pauline LE CORRE¹, Yann LE CUNFF¹ and Anthony BRETAUDEAU¹

¹ GenOuest, Univ Rennes, Inria, CNRS, IRISA, 35000, Rennes, France

## Introduction

<figure><img src="image_2.png" /></figure>

### Context

Bioinformatics research involves large volumes of data and complex softwares/pipelines. The Data Management Plan (DMP) organizes all the steps of the data lifecycle, and the Software Management Plan (SMP) does the same for software. Machine learning is increasingly used in bioinformatics, as for data and software, methods are needed for managing machine learning models. In this context, MLOps (Machine Learning Operations) principles offer a structured approach and tools to support the development, deployment, and maintenance of these models throughout their lifecycle. GenOuest bioinformatics platform aims to support its users in developing good practices for managing machine learning models using MLOps principles.

### What is MLOps?

A set of practices for effectively managing the lifecycle of machine learning models.

### Why use MLOps?

- Reproducibility

- Fiability

- Accessibility

- Evolutivity

- Efficacity

## Data versioning

Data can be large files but the space is limited on GitHub / GitLab. We need specific tools for data versioning like DVC.

**DVC** = Data Version Control

- Free and open-source.

- Generates small files (.dvc) that point to the data.

- The .dvc file are added to the git (track which version of the data was used for a version of the code).

<figure><img src="image_3.png" /></figure>

<figure><img src="image_4.png" /></figure>

## MLflow

<figure><img src="image_5.png" /></figure>

- Open-source platform for managing the lifecycle of machine learning projects.

- Includes multiple components for experiment tracking, model packaging, registry management, and deployment.

- Provides a Python package for easy integration into the code.

### MLflow Tracking

Allows you to record and organize executions of some piece of code (called "runs") while recording:

- parameters

- metrics

- artifacts (e.g. output files, models).

Runs can be visualized and compared through the MLflow interface.

<figure><img src="image_6.png" /></figure>

## Use case: EnzBert

### EnzBert:

- a transformer-based model that predicts the functional annotation of enzymes from protein sequences [1].

- Initially only available through downloading and manually running the code.

**Goal:** A more user-friendly solution.

**Solution:** Deploy an API and a user interface.

<figure><img src="image_7.png" /></figure>

**API** = Application Programming Interface

API allows communication between the different components of an application.

Bentoml: A Python package for creating APIs that specializes in machine learning.

<figure><img src="image_8.png" /></figure>

**User interface (UI)**

Interacts with the user and sends requests to the API.

Streamlit: A Python package for easily creating a user interface.

<figure><img src="image_9.png" /></figure>

### How it works ?

<figure><img src="image_10.png" /></figure>

### Inputs:

- Protein sequence in fasta format.

- Model parameters ( sidebar not shown here).

### Outputs:

- Table of predicted functions with probabilities.

- Visualization of the sequence. The residues colored in red are important amino acids for prediction, and the blue points are known catalytic sites from the M-CSA database [2].

- Buttons allow you to download both CSV files and the HTML visualization.

Scan the QR code to access EnzBert

<figure><img src="image_11.png" /></figure>

### EnzBert

EnzBert is a transformer-based model trained to predict enzymatic function of a protein sequence.

Buton N, Coste F, Le Cunff Y. Predicting enzymatic function of protein sequences with attention. Bioinformatics. 2023 Oct;39(10):btad620. doi: 10.1093/bioinformatics/btad6

Upload a protein sequence in the fasta format

<figure><img src="image_12.png" /></figure>

Drag and drop file here
Limit 200MB per file • TXT, FASTA

Browse files

Or paste your protein sequence in the fasta format here:

>sp|P08164|NADE_BACSU NH(3)-dependent NAD(+)|synthetase OS=Bacillus subtilis (strain 168)
OX=224308 GN=nadE PE=1 SV=5

MSMQEKIMRELHVKPSIDPK QEIEDRVNFL KQYVKKTKGAKGFVLGISGGQDSTLAGRLAQ
LAVESIREGGDAQFIAVRPHGTQQDEDDAQLALKFIKPDKSWKFDIKSTVSAFSDQYQ
QETGDQLTDFNKGNVKARTRMIAQYAIGGQELLVLGTDHAAEAVTGFFTKYGDGGADLL
PLTGLTKRGRTLLKELGAPERLYLKEPTADLLDEKPOQSDETELGISYDEIDDYLEGKE
VSAKVSEALEKRYSMTEHKRQVPASMFDDDWK

It's necessary to include the line with the >.

Write the uniprot or pdb id of the sequence (and select the source of the id in the sidebar):

P08164

Run EnzBert

### Predictions Table

<table><thead><tr><th>seqid</th><th>pred_ec</th><th>probability</th><th>class_weight</th><th>rank</th></tr></thead><tbody><tr><td>0</td><td>P08164</td><td>6.3.1.5</td><td>0.9998</td><td>17.6993</td><td>0</td></tr><tr><td>1</td><td>P08164</td><td>0.0.0.0</td><td>0.000001</td><td>4.2264</td><td>1</td></tr><tr><td>2</td><td>P08164</td><td>6.3.5.1</td><td>0.0000007</td><td>3.6568</td><td>2</td></tr></tbody></table>

### Attention Scores

Download Attention scores CSV

### Visualization

Sequence ID: P08164, EC_class: 6.3.1.5, Probability: 0.9998489618301392

<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /></figure>

<figure><img src="image_15.png" /></figure>

Download Visualization HTML

## Perspectives

Only some of the tools involved in the MLOps cycle are shown here, other tools exist for the other steps or similar to those presented here (for example, Weights & Biases can be used for experiment tracking, just like MLflow). The next step for the GenOuest platform is to provide training and tutorials on best practices and tools involved in the MLOps lifecycle.

### References:

[1] Buton N, Coste F, Le Cunff Y. Predicting enzymatic function of protein sequences with attention. Bioinformatics. 2023 Oct;39(10):btad620. doi: 10.1093/bioinformatics/btad6

[2] Ribeiro AJM et al. Mechanism and Catalytic Site Atlas (M-CSA): a database of enzyme reaction mechanisms and active sites. Nucleic Acids Res. 2017 Jan;46(D1):D618-D623. doi: 10.1093/nar/gkx1012. PMID: 29106569.

<figure><img src="image_16.png" /></figure>