Skip to main content

🧬 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 Simon GrandJEAN LAPIERRE, CRCHUM, Université de Montréal


🧠 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
  • 🔹 Options personnalisables pour sglab plot : --input, --output-prefix, --fig bar,heat

📦 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 --input combined_scenarios_counts1.csv --output-prefix resultats --fig bar,heat

Résultats :

  • resultats.csv/.tsv/.xlsx
  • resultats_barplot.png
  • resultats_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 --input input.csv --output-prefix figs --fig bar,heat  # Visualisation flexible

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

Metadata

Release files for SGLab-tools 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SGLab-tools 1.0.3
File Size Uploaded
SGLab-tools-1.0.3.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SGLab-tools 1.0.3
File Interpreter ABI Platform
SGLab_tools-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 19.8 kB

Release files / SGLab-tools-1.0.3.tar.gz

Download URL SGLab-tools-1.0.3.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a739ab66ef1c9f2db0cc9bd75230fb4ebc30a0b5525b74195dc384d9229fb44e
BLAKE2b-256 checksum
How to use checksums
b4563811d0864e2662c78a0e4dde83a960777e0a23cbb8b4a48240e339f537e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.2

Release files / SGLab_tools-1.0.3-py3-none-any.whl

Download URL SGLab_tools-1.0.3-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7293a6122ca86bb8f6de905610d1273bc49f487f28d9cc7fa5948b3129bb86c6
BLAKE2b-256 checksum
How to use checksums
7e3e1fe5c80f3f72d8eec823147f80a2fb10695865d296f65830850ae4406bd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page