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


🧠 Description

SGLab-tools est un outil modulaire et reproductible pour l’analyse comparative de génomes, conçu pour détecter et classifier les différences nucléotidiques entre des génomes de souches bactériennes ou autres organismes. Il permet l’alignement, l’extraction de différences, le masquage de régions non fiables, le comptage de scénarios évolutifs, et la génération de visualisations.

Développé par Etienne Ntumba Kabongo
Sous la supervision de Pr. Simon Grandjean Lapierre (Université de Montréal) et Pr. Martin Smith (Université de Montréal)
Laboratoires de bioinformatique et de génomique, Université de Montréal et McGill


🧰 Fonctionnalités

  • 🔁 Alignement pair-à-pair de génomes avec minimap2
  • 🧬 Extraction de différences (SNPs, gaps, insertions, N)
  • 🛡️ Masquage de régions peu fiables avec des fichiers BED
  • 📊 Comptage des scénarios de variation (8 scénarios types)
  • 📁 Fusion automatique de résultats multi-souches
  • 📈 Génération de visualisations (barplot, heatmap)
  • 📤 Export en .csv, .tsv, .xlsx enrichi avec Description et Total
  • ⚡ Interface en ligne de commande simple (sglab)

📦 Installation

Depuis PyPI :

pip install SGLab-tools

Ou depuis le dépôt GitHub :

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

Dépendances :

Python ≥ 3.8

Outils externes : minimap2

Bibliothèques 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 indique quelles paires de génomes comparer.

Les fichiers suivants doivent être présents :

H37Rv.fasta, L1.fasta, L2.fasta, ... H37Rv.bed, L1.bed, L2.bed, ...

  1. Lancer le pipeline complet :

sglab run sample.txt

Cela génère pour chaque paire :

un alignement .paf

une table de différences .tsv

un fichier masqué .tsv

un comptage des scénarios

Puis fusionne tous les résultats en :

combined_scenarios_counts1.csv

  1. Enrichir, exporter et visualiser :

sglab plot

Cela produit :

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 (A/C/G/T) alignée sur 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 📁 Résultats générés

alignments_H37Rv_L1.paf tables_H37Rv_L1.tsv tables_H37Rv_L1_mask.tsv scenarios_table_H37Rv_L1_mask.tsv combined_scenarios_counts1.csv combined_scenarios_augmented.{csv,tsv,xlsx} scenarios_barplot.png scenarios_heatmap.png

💡 Commandes CLI disponibles

sglab run sample.txt # Pipeline complet sglab mask --input A.tsv --ref A.bed --query B.bed sglab count --input fichier.tsv sglab merge # Fusion des scénarios sglab plot # Enrichissement + visualisation

📜 Licence

Ce projet est distribué sous licence MIT. 🙏 Remerciements

Ce travail a été réalisé dans le cadre d’une recherche en génomique comparative de Mycobacterium tuberculosis, au sein du laboratoire du Pr. Simon Grandjean Lapierre et du Pr. Martin Smith, avec l’objectif d’outiller l’analyse reproductible des génomes bactériens. 🔗 Liens utiles

GitHub Repository

Page PyPI

minimap2

Biopython

Typer CLI

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.1.tar.gz (8.2 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.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sglab_tools-1.0.1.tar.gz
  • Upload date:
  • Size: 8.2 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.1.tar.gz
Algorithm Hash digest
SHA256 9f765c40d20dfb3c22e07461ea8742f50835f542aa65a96cad116dc591dbeab1
MD5 81ab73c3fb77c01ce472784480fb6cc3
BLAKE2b-256 44541e9f357bfafc63931854399c27ce5aeb25dc7bf8164ece745feb53c25572

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sglab_tools-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6bc07b5dfc8d225b1eef7962f15374c3db78caa7a250df5915cd6588092ed59f
MD5 dc093ee73ca55b1fb9f422ce5a7f27b0
BLAKE2b-256 1975663abfaff8eb3894b8e627b6e6e88542e2460ae7eb3e5ae2da1b5df89e46

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