Skip to main content

Outil professionnel de comparaison de génomes et détection de scénarios évolutifs

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 et Pr. Martin Smith
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.0.tar.gz (8.4 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.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sglab_tools-1.0.0.tar.gz
  • Upload date:
  • Size: 8.4 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.0.tar.gz
Algorithm Hash digest
SHA256 1555a2880b1b9b7ad4a150c81f31af78de5e63eeab535d0e8098bfb8238f04c1
MD5 3b9767f8c3329b3ea5d45c1c65b60cef
BLAKE2b-256 102bb834f9f9bb8d1012c3e64be417085ac5118d573baa900997672dccf42e04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sglab_tools-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45e8f2bc465f4d08cb40a5d52bd34cd5de137791c57fc2a412c59a11dbb12866
MD5 9bfe7fe14d53c62ee24b64c34c091da3
BLAKE2b-256 3ef457c8b7babdbc2c9228bdfdf0d85218ff6b19692a7fb55319a2eaf2cbcc48

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