🧬 SGLab-tools
🧠 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,.xlsxavec colonnesDescription,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éesscenarios_table_*.tsv: scénarios classéscombined_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/.xlsxresultats_barplot.pngresultats_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
- 🔗 GitHub Repository
- 🛆 Page PyPI
- 🧬 minimap2
- 🧪 Biopython
- ⚙️ Typer CLI
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)
| File | Size | Uploaded | |
|---|---|---|---|
| SGLab-tools-1.0.3.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|