Skip to main content

Outils CLI pour l’analyse comparative de génomes bactériens

Project description

🧬 SGLab-tools

PyPI version License: MIT Python GitHub


🧠 Présentation

SGLab-tools est un outil en ligne de commande modulaire et reproductible pour l’analyse comparative de génomes. Il permet de détecter, classifier, filtrer et visualiser les différences nucléotidiques entre des génomes de souches bactériennes (ex. Mycobacterium tuberculosis) ou autres organismes.

🧑‍💻 Développé par Etienne Ntumba Kabongo
🎓 Sous la supervision de Pr. Simon Grandjean Lapierre et Pr. Martin Smith
🧬 Laboratoires de bioinformatique, Université de Montréal et McGill University


🧰 Fonctionnalités

  • 🔁 Alignement pair-à-pair de génomes avec minimap2
  • 🧬 Extraction automatique des différences (SNPs, gaps, insertions, N)
  • 🛡️ Application de masques BED pour ignorer les régions peu fiables
  • 📊 Comptage de scénarios évolutifs (8 types)
  • 📁 Fusion multi-souches automatique
  • 📈 Génération de visualisations (barplots, heatmaps)
  • 📤 Exports enrichis : .csv, .tsv, .xlsx avec colonnes Description, Total
  • ⚡ Interface CLI intuitive avec typer

📦 Installation

Depuis PyPI (recommandé)

pip install SGLab-tools

Depuis GitHub

git clone https://github.com/EtienneNtumba/SGLab-tools.git
cd SGLab-tools
pip install .

Prérequis

  • Python ≥ 3.8
  • Outils externes : minimap2
  • Librairies Python : typer, pandas, biopython, matplotlib, seaborn, openpyxl

📂 Exemple d'utilisation

1. Préparer un fichier sample.txt :

Ref     L_x
H37Rv   L1
H37Rv   L2
H37Rv   L5

Ce fichier définit les comparaisons entre génomes de référence et cibles.

Les fichiers suivants doivent être présents dans le répertoire de travail :

  • Séquences : H37Rv.fasta, L1.fasta, ...
  • Masques : H37Rv.bed, L1.bed, ...

2. Lancer le pipeline complet

sglab run sample.txt

Génère :

  • *.paf : alignement
  • *.tsv : différences
  • *_mask.tsv : différences filtrées
  • scenarios_table_*.tsv : scénarios classés
  • combined_scenarios_counts1.csv : fusion multi-souches

3. Visualiser et exporter

sglab plot

Résultats :

  • combined_scenarios_augmented.csv/.tsv/.xlsx
  • scenarios_barplot.png
  • scenarios_heatmap.png

🧮 Scénarios détectés

Code Scénario Description
1️⃣ N / N N et N identiques
2️⃣ base / gap Base alignée sur un gap
3️⃣ base / base Base alignée sur base
4️⃣ gap / N Gap aligné sur N
5️⃣ gap / base Gap aligné sur base
6️⃣ N / base N aligné sur base
7️⃣ base / N Base alignée sur N
8️⃣ N / gap N aligné sur gap

💻 Interface CLI (sglab --help)

SGLab-tools 🧬

Un outil professionnel de comparaison de génomes permettant :
- Alignement pair-à-pair de génomes avec minimap2
- Extraction et classification des différences (SNPs, InDels, gaps, N)
- Application de masques à partir de fichiers BED
- Comptage des scénarios de variation
- Fusion et comparaison multi-génomes
- Enrichissement des résultats et visualisation graphique

Développé par Etienne Ntumba Kabongo (Université de Montréal)
Sous la direction de :
- Prof. Dr. Simon Grandjean Lapierre
- Prof. Dr. Martin Smith

Exemples d’usage :
$ sglab run sample.txt                            # Exécute tout le pipeline
$ sglab count --input fichier.tsv                 # Compte les scénarios sur un fichier TSV
$ sglab mask --input fichier.tsv --ref REF.bed --query L1.bed
$ sglab merge                                     # Fusionne les fichiers de scénarios
$ sglab plot                                      # Génère graphiques + enrichissements

Commandes disponibles :
  run     Lancer le pipeline complet
  mask    Appliquer des masques BED
  count   Compter les scénarios
  merge   Fusionner les résultats
  plot    Générer graphiques et exports enrichis

📜 Licence

Ce projet est distribué sous licence MIT.


🙏 Remerciements

Ce projet a été réalisé dans le cadre d’une étude sur la diversité génomique de Mycobacterium tuberculosis, au sein du laboratoire du Pr. Simon Grandjean Lapierre et du Pr. Martin Smith. Il vise à proposer un outil reproductible pour l’analyse comparative des génomes bactériens.


🔗 Liens utiles

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sglab_tools-1.0.2.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sglab_tools-1.0.2-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file sglab_tools-1.0.2.tar.gz.

File metadata

  • Download URL: sglab_tools-1.0.2.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for sglab_tools-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f2c3a377bfe5b9b852aa379a401826d93ad2d1a0106e8f95f48f1debe877aa49
MD5 7beb5afd629fd575f10b16d6a54ccbff
BLAKE2b-256 178587b541113eef5631b197d754ed9d60fd4d015d0dc6ba4f828cb665246610

See more details on using hashes here.

File details

Details for the file sglab_tools-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: sglab_tools-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for sglab_tools-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 02fa90645db64ae4fe558307acb2f0c3f606a34c999537a5dfe190d241c86ac5
MD5 8c2bea7727b079285c309a1d62f174cf
BLAKE2b-256 3af957313e407ecfb68342eeaf8c8294304a24c7d62c9e94bbd00bb5a4c947ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page