Skip to content

Comparaison des graphes de cycles des molécules par calcul de la similarité par MCIS et par distance de Levenshtein

Notifications You must be signed in to change notification settings

NoeDemange/M2AmisProjet-GrapheDeCycles

Repository files navigation

💻 Comparaison de molécules : Similarité des graphes de cycles ⚛️

Lifecycle: experimental

Ce projet est réalisé dans le cadre de notre M2 Algorithmique et modélisation à l'interface des sciences (AMIS). L'objectif est de déterminer la similarité des molécules issues d'une base de données en comparant leur graphe de cycles. La comparaison des graphes utilise un calcul de similarité par sous-graphe induit commun maximum (MCIS) et une distance de Levenshtein.

Table des matières

  1. Téléchargement de la bibliothèque NAUTY
  2. Utilisation
    1. Compilation
    2. Chargement des données
    3. Exécution
    4. Résultats
    5. Nettoyage des fichiers
  3. Structure du projet
  4. Auteurs
  5. Encadrants

Téléchargement de la bibliothèque NAUTY pour la numérotation canonique des sommets d'un graphe

Ce programme requiert d'utiliser la bibliothèque nauty, de Brendan McKay and Adolfo Piperno. Elle peut être téléchargée depuis la page web des auteurs (la version 2.8.8 a été utilisée).

Une fois la bibliothèque téléchargée, il faut lancer les commandes suivantes, à la racine du dossier contenant la bibliothèque (ie. le dossier nautyx_x_x) :

./configure
make

Puis il faut déplacer les fichiers nauty.h et nauty.a dans le dossier de ce dépôt nommé nauty.

Utilisation

Compilation

Pour compiler le projet, utilisez :

make

Chargement des données

Pour charger les molécules depuis la base de données ChEBI :

make data

Exécution

Pour lancer la comparaison entre toutes les molécules de la base de données, entrez :

./similarite

Les options suivantes sont également disponibles :

./similarite [-a chebi_id1 (défaut : vide)] [-b chebi_id2 (défaut : vide)] [-n nb_fichiers (défaut : tous)] [-g (défaut : non)] [-h (usage)]

Les options -a et -b servent à renseigner l'id des deux molécules à comparer. Si -a est utilisé seul, la molécule sera comparée à toutes les autres.

L'option -n permet de limiter le nombre de comparaisons, et peut-être utilisé avec -a.

L'option -g permet d'obtenir des fichiers DOT pour visualiser les graphes de cycles des molécules, lorsque combinée à -a et -b. Pour convertir les fichiers en image au format PNG, entrez la commande make png. Vous pouvez également les convertir en image vectorielle avec make svg.

Résultats

Les résultats sont présentés dans le fichier matRes.csv lorsque la comparaison est lancée sur plusieurs molécules. Quand seulement deux molécules sont comparées, le score de similarité s'affiche dans la console.

Avec les options -a, -b et -g, les fichiers DOT des graphes moléculaires réduits, des graphes de cycles et du graphe produit sont générés et stockés dans le dossier graphs/.

Nettoyage des fichiers

Pour supprimer l'exécutable, les fichiers objets et les fichiers DOT :

make clean

Pour supprimer en plus les fichiers de molécules et le fichier de résultats :

make mrproper

Structure du projet

Ce projet suit une structure de dossier organisée pour une meilleure gestion et maintenabilité. Voici une explication des différents dossiers :

  • bin/ : contient l'exécutable généré après la compilation du projet.

  • include/ : contient les fichiers d'en-tête (.h) du programme C. Ces fichiers définissent les interfaces des fonctions et structures utilisées dans le projet.

  • nauty/ : l'emplacement pour les fichiers de la bibliothèque nauty, qui doit être pré-installée manuellement.

  • obj/ : contient les fichiers objets (.o) générés lors de la compilation.

  • data/ : contient les fichiers des molécules chargées depuis la base de données.

  • src/ : contient les fichiers source (.c) du programme C.

  • Makefile : Le fichier de configuration pour la construction du projet.

  • chebi_molecule_loader.py : Script Python pour récupérer les informations des molécules contenues dans le fichier ChEBI_lite_3star.sdf sur le site de la base de données ChEBI. Ces informations sont ensuite stockées dans des fichiers individuels dans le dossier data/.

Auteurs

👤 Noé DEMANGE : Github: @NoeDemange

👤 Ronan DOCHERTY : Github: @Zatsky

👤 Anne FERNET : Github: @uvsq21915170

👤 Victor NESSI : Github: @nectorv

Encadrants

Sandrine VIAL   Franck QUESSETTE

About

Comparaison des graphes de cycles des molécules par calcul de la similarité par MCIS et par distance de Levenshtein

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •