# Présentation du projet Madbot au All-Hands
IFB/ELIXIR-FR 2024

Laurent Bouri, Imane Messak, Baptiste Rousseau

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

To cite this version:

Laurent Bouri, Imane Messak, Baptiste Rousseau. Présentation du projet Madbot au All-Hands IFB/ELIXIR-FR 2024. All-Hands IFB/ELIXIR-FR 2024, Dec 2024, Paris, France. hal-04889512

HAL Id: hal-04889512

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

Submitted on 15 Jan 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_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_3.png" /></figure>

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

Metadata And Data Brokering Online Tool

Laurent Bouri, Imane Messak, Baptiste Rousseau

IFB
INSTITUT FRANÇAIS DE BIOINFORMATIQUE

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

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

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

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

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

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

- Présenter l'équipe

- C'est quoi madbot ?

- notre objectif

- Pourquoi utiliser madbot ?

- ✓ Une structure ISA

- ✓ Les connecteurs

- ✓ Les datalinks

- ✓ les data

- ✓ Les métadonnées

- La soumission de données

- notre MVP (Minimum Viable Product)

- Pourquoi un MVP? (ena/zenodo soumission de data)

- Notre code

- ✓ pipeline (ci gitlab)

- ✓ Architecture
<figure><img src="image_12.png" /></figure>

INSTITUT FRANÇAIS DE BIOINFORMATIQUE

<figure><img src="image_13.png" /><figcaption>Julien Seiler
IR CNRS
(Strasbourg)</figcaption></figure>

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

INSTITUT FRANÇAIS DE BIOINFORMATIQUE

<figure><img src="image_15.png" /><figcaption>Thomas Denecker
IR CNRS
(Paris)</figcaption></figure>

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

INSTITUT FRANÇAIS DE BIOINFORMATIQUE

<figure><img src="image_17.png" /><figcaption>Laurent Bouri
IR CNRS
(Strasbourg)</figcaption></figure>

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

INSTITUT FRANÇAIS DE BIOINFORMATIQUE

<figure><img src="image_19.png" /><figcaption>Baptiste Rousseau
IR CNRS
(Paris)</figcaption></figure>

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

INSTITUT FRANÇAIS DE BIOINFORMATIQUE

<figure><img src="image_21.png" /><figcaption>Imane Messak
IR CNRS
(Paris)</figcaption></figure>
# C'est quoi MADBOT?

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

<figure><img src="image_23.png" /></figure>
<figure><img src="image_24.png" /></figure>

<figure><img src="image_25.png" /></figure>
<figure><img src="image_26.png" /></figure>

**MADBOT** (Metadata And Data Brokering Online Tool) est une application web qui fournit **un tableau de bord pour la gestion des données et des métadonnées de recherche.**

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

<figure><img src="image_28.png" /></figure>
<figure><img src="image_29.png" /></figure>

**MADBOT** (Metadata And Data Brokering Online Tool) est une application web qui fournit **un tableau de bord pour la gestion des données et des métadonnées de recherche.**

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

L'application permet d'agréger les métadonnées autour de projets scientifiques et d'identifier précisément où sont stockées les données au travers de nombreux connecteurs.

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

<figure><img src="image_32.png" /></figure>
<figure><img src="image_33.png" /></figure>

**MADBOT** (Metadata And Data Brokering Online Tool) est une application web qui fournit **un tableau de bord pour la gestion des données et des métadonnées de recherche.**

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

L'application permet d'agréger les métadonnées autour de projets scientifiques et d'identifier précisément où sont stockées les données au travers de nombreux connecteurs.

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

Elle accompagne également les chercheurs pour la **publication des données et des métadonnées** vers un grand nombre d'entrepôts généraliste (RGD, Zenodo, etc.) et thématique (ENA, GEO, etc.)

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

<figure><img src="image_37.png" /></figure>
# Comment ça fonctionne ?

<figure><img src="image_38.png" /></figure>
<figure><img src="image_39.png" /></figure>

Au sein de MADBOT, chaque projet de recherche est décrit sous la forme d'un ensemble de **Nodes** qui peuvent être des **investigations**, des **études (study)** et des **expériences (assay)**, cela sous la forme d'un arbre hiérarchique (modèle ISA). Ces ensembles de **Nodes** sont regroupés dans des workspaces.

- **Investigation** : le contexte du projet

- **Study** : une expérimentation en un seul lieu

- **Assay** : une mesure spécifique qui cible un trait avec une méthode et une échelle.

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

Sources : https://isa-tools.org et https://isa-specs.readthedocs.io/en/latest/isamodel.html
<figure><img src="image_41.png" /></figure>

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

Mais nous ne nous limitons pas qu'au modèle ISA et nous prévoyons de mettre en place de nouvelles collections de type de **Nodes**.

Chaque élément de cet arbre peut être associés à des données, des échantillons biologiques et des métadonnées.

<figure><img src="image_43.png" /></figure>
<figure><img src="image_44.png" /></figure>

## MADBOT

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

Parameters

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

## Welcome to Madbot

Madbot allows you to identify and track the data and metadata associated with the different stages of your research projects.

To get started, you need to create at least one workspace.

A workspace lets you organize your work as you wish, for yourself, your team or an entire organization.

Workspace name

A workspace name is required to start.

START

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

Imane Messak

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

<figure><img src="image_49.png" /></figure>
<figure><img src="image_50.png" /></figure>

MADBOT

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

Parameters

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

Welcome to Madbot

Madbot allows you to identify and track the data and metadata associated with the different stages of your research projects.

To get started, you need to create at least one workspace.

A workspace lets you organize your work as you wish, for yourself, your team or an entire organization.

Workspace name

my team workspace

START

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

Imane Messak

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

<figure><img src="image_55.png" /></figure>
<figure><img src="image_56.png" /></figure>

MADBOT

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

MY TEAM WORKSPACE

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

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

Dashboard

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

Inbox

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

Parameters

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

Submissions

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

New investigation

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

Dashboard

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

No datalinks found

It's time to link some data!

Create your first node and go to the Datalinks tab to identify where your data are located.

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

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

NEW INVESTIGATION

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

Imane Messak

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

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

<figure><img src="image_71.png" /></figure>
<figure><img src="image_72.png" /></figure>

## MADBOT

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

MY TEAM WORKSPACE

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

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

Dashboard

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

Inbox

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

Parameters

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

Submissions

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

New investigation

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

Untitled

Everything saved

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

## Untitled

investigation

Choose how to create this investigation...

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

EMPTY INVESTIGATION

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

DEMO INVESTIGATION

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

Imane Messak

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

<figure><img src="image_86.png" /></figure>
<figure><img src="image_87.png" /></figure>

## MADBOT

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

MY TEAM WORKSPACE

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

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

Dashboard

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

Inbox

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

Parameters

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

Submissions

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

New investigation

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

### Growth control of the eukaryot...

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

A time course analysis of tran...

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

Study of the impact of change...

Growth control of the eukar...

Everything saved

...

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

## Growth control of the eukaryote cell: a systems biology study in yeast

investigation

Background Cell growth underlies many key cellular and developmental processes, yet a limited number of studies have been carried out on cell-growth regulation. Comprehensive studies at the transcriptional, proteomic and metabolic levels under defined controlled conditions are currently lacking. Results Metabolic control analysis is being exploited in a systems biology study of the eukaryotic cell. Using chemostat culture, we have measured the impact of changes in flux (growth rate) on the transcriptome, proteome, endometabolome and exometabolome of the yeast Saccharomyces cerevisiae. Each functional genomic level shows clear growth-rate-associated trends and discriminates between carbon-sufficient and carbon-limited conditions. Genes consistently and significantly upregulated with increasing growth rate are frequently essential and encode evolutionarily conserved proteins of known function that participate in many protein-protein interactions. In contrast, more unknown, and fewer essential, genes are downregulated with increasing growth rate; their protein products rarely interact with one another. A large proportion of yeast genes under positive growth-rate control share orthologs with other eukaryotes, including humans. Significantly, transcription of genes encoding components of the TOR complex (a major controller of eukaryotic cell growth) is not subject to growth-rate regulation. Moreover, integrative studies reveal the extent and importance of post-transcriptional control, patterns of control of metabolic fluxes at the level of enzyme synthesis, and the relevance of specific enzymatic reactions in the control of metabolic fluxes during cell growth. Conclusion This work constitutes a first comprehensive systems biology study on growth-rate control in the eukaryotic cell. The results have direct implications for advanced studies on cell growth, in vivo regulation of metabolic fluxes for comprehensive metabolic engineering, and for the design of genome-scale systems biology models of the eukaryotic cell.

DATALINKS

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

SAMPLES

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

METADATA

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

STUDY

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

NEW DATALINK

Name

Connections

Data access

No data available

Items per page: 10

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

0-0 of 0

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

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

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

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

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

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

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

Imane Messak

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

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

<figure><img src="image_113.png" /></figure>
<figure><img src="image_114.png" /></figure>

<figure><img src="image_115.png" /></figure>
<figure><img src="image_116.png" /></figure>

Les connecteurs sont des modules Python permettant d'accéder aux données d'outils de gestion de données, tels que Galaxy, via leurs API.

Conçus de manière **modulaire**, les connecteurs de MADBOT permettent à chacun de **contribuer en développant de nouveaux connecteurs** adaptés à ses besoins.

<figure><img src="image_117.png" /></figure>
<figure><img src="image_118.png" /></figure>

Nous souhaitons produire le plus rapidement possible une
application fonctionnelle.

## Objectifs principaux

- Démontrer que nous pouvons associer à un arbre ISA des données localisées sur différents systèmes de stockage (Galaxy et SSHFS)

- Démontrer que nous pouvons renseigner des métadonnées pour un arbre ISA et ses données

- Démontrer que nous pouvons publier ces données sur des entrepôts de références thématiques (ENA) et non thématiques (Zenodo).

L'application MADBOT capable de réaliser ces objectifs est notre **Minimal Viable Product (MVP)**.

Not like this....

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

Like this!

<figure><img src="image_120.png" /></figure>
<figure><img src="image_121.png" /></figure>

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

Connecteur de soumission

Connecteur de data
<figure><img src="image_123.png" /></figure>

<figure><img src="image_124.png" /></figure>
Un datalink est un **lien** entre une donnée accessible à distance via un connecteur et un **Node**.
Ainsi, aucun fichier n'est stocké en local.

<figure><img src="image_125.png" /></figure>
<figure><img src="image_126.png" /></figure>

<figure><img src="image_127.png" /></figure>
<figure><img src="image_128.png" /></figure>

<figure><img src="image_129.png" /></figure>
<figure><img src="image_130.png" /></figure>

<figure><img src="image_131.png" /></figure>
<figure><img src="image_132.png" /></figure>

<figure><img src="image_133.png" /></figure>
<figure><img src="image_134.png" /></figure>

<figure><img src="image_135.png" /></figure>
<figure><img src="image_136.png" /></figure>

<figure><img src="image_137.png" /></figure>
<figure><img src="image_138.png" /></figure>

<figure><img src="image_139.png" /></figure>
<figure><img src="image_140.png" /></figure>

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

Données

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

Métadonnées

<figure><img src="image_143.png" /></figure>
<figure><img src="image_144.png" /></figure>

Comment décrire les données ?

- Avec des métadonnées
<figure><img src="image_145.png" /></figure>

Comment décrire les données ?

- Avec des métadonnées

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

Les données
<figure><img src="image_147.png" /></figure>

Comment décrire les données ?

- Avec des métadonnées

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

Les données
<figure><img src="image_149.png" /></figure>

## Comment décrire les données ?

- Avec des métadonnées

<figure><img src="image_150.png" /><figcaption>Les données</figcaption></figure>

<figure><img src="image_151.png" /><figcaption>Les métadonnées</figcaption></figure>
<figure><img src="image_152.png" /></figure>

Comment décrire les données au mieux ?

- Avec un standard

In essence, a standard is an **agreed way of doing something**.

A standard provides the **requirements, specifications, guidelines or characteristics** that can be used for the **description, interoperability, citation, sharing, publication**, or **preservation** of all kinds of **digital objects** such as data, code, algorithms, workflows, software, or papers.

source: https://fairsharing.org/educational/
<figure><img src="image_153.png" /></figure>

Quels sont les standards à notre disposition ?

- Pour l'ENA, les checklists

Une checklist définit les métadonnées minimales et optionnelles attendues pour décrire un échantillon biologique

Elles sont basées sur les recommandations du Genomic Standards Consortium (GSC)

La checklist la plus appropriée dépend du type d'échantillon :

https://www.ebi.ac.uk/ena/browser/checklists

- Et pour les autres ?

<figure><img src="image_154.png" /></figure>
<figure><img src="image_155.png" /></figure>

Compte tenu de la grande diversité des standards de métadonnées et de leur faible interoperabilité, nous avons fait le choix de créer un référentiel de métadonnées propres à MADBOT.

Ce référentiel jouera le rôle de langage universel pour saisir l'ensemble des métadonnées au sein des arborescences de *Node, Sample* et *Data* de MADBOT.

<figure><img src="image_156.png" /></figure>
<figure><img src="image_157.png" /></figure>

Des métadonnées peuvent être associées aux *Nodes, Samples, Data* et associations entre *Data*
Des métadonnées peuvent être associées aux **Nodes, Samples, Data** et associations entre **Data**

En cherchant un champ de métadonnée du référentiel MADBOT

<figure><img src="image_158.png" /></figure>
<figure><img src="image_159.png" /></figure>

Des métadonnées peuvent être associées aux **Nodes, Samples, Data** et associations entre **Data**

## En cherchant à partir d'un référentiel externe

<figure><img src="image_160.png" /></figure>
Des métadonnées peuvent être associées aux **Nodes, Samples, Data** et associations entre **Data**

<figure><img src="image_161.png" /></figure>
<figure><img src="image_162.png" /></figure>
<figure><img src="image_163.png" /></figure>

<figure><img src="image_164.png" /></figure>
<figure><img src="image_165.png" /></figure>

<figure><img src="image_166.png" /></figure>
<figure><img src="image_167.png" /></figure>

<figure><img src="image_168.png" /></figure>
<figure><img src="image_169.png" /></figure>

Sélectionner les données

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

<figure><img src="image_171.png" /></figure>
<figure><img src="image_172.png" /></figure>

Sélectionner les données

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

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

<figure><img src="image_175.png" /></figure>
<figure><img src="image_176.png" /></figure>

## Préparer les métadonnées

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

<figure><img src="image_178.png" /></figure>
<figure><img src="image_179.png" /></figure>

Préparer les métadonnées

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

<figure><img src="image_181.png" /></figure>
<figure><img src="image_182.png" /></figure>

Préparer les métadonnées

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

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

<figure><img src="image_185.png" /></figure>
C'est comment sous le capot ?

<figure><img src="image_186.png" /></figure>
<figure><img src="image_187.png" /></figure>

Le code source est hébergé sur Gitlab : https://gitlab.com/ifb-elixirfr/madbot

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

<figure><img src="image_189.png" /></figure>
<figure><img src="image_190.png" /></figure>

<figure><img src="image_191.png" /></figure>
Un projet taillé pour la collaboration

<figure><img src="image_192.png" /></figure>
<figure><img src="image_193.png" /></figure>

API

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

CI/CD

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

Client

<figure><img src="image_196.png" /></figure>
## Collaboration en cours

- Un groupe de travail se tient toutes les 3 semaines

- Collaboration avec l'action SOI et l'action M2

- Collaboration avec **Aubii** (UCA) pour la mise en place d'un environnement Docker

- Collaboration avec **FBI** pour la mise en place d'un connecteur IRODS/Omero

- Collaboration avec **Prose** (INRAE) pour la mise en place d'un connecteur DeepOmics

## Collaboration à venir

- Collaboration avec l'action M4 pour la mise en place de formation et d'hackathon

- Et pourquoi pas vous ?

<figure><img src="image_197.png" /></figure>
<figure><img src="image_198.png" /></figure>

Merci pour votre
attention