# **Documentation du Projet : Analyseur d'Annotations GFF**
Ce projet est un outil conçu pour analyser, manipuler et visualiser des données biologiques au format GFF. Il permet de représenter les gènes, transcrits et exons, de les manipuler (fusion, exportation), et d'extraire des statistiques ou des visualisations utiles.
---
## **Présentation Générale**
Le projet est structuré en plusieurs modules et fonctionnalités :
1. **Modélisation biologique** : Les entités biologiques telles que les gènes, transcrits, et exons sont représentées par des classes.
2. **Fusion et manipulation des annotations** : Combine des annotations provenant de différents fichiers GFF.
3. **Exportation et statistiques** : Génère des fichiers résumant les informations et calcule des statistiques.
4. **Visualisation** : Produit des graphiques (boxplots) pour représenter la distribution des longueurs d'ARN.
---
## **Structure du Code**
### **Classes Principales**
1. **`Gene`**
Représente un gène et gère ses transcrits associés. Il permet la fusion avec d'autres gènes ayant le même identifiant.
2. **`Transcrit`**
Représente un transcrit (ARNm) et gère ses exons associés. Un transcrit est toujours lié à un gène parent.
3. **`Exon`**
Représente un exon associé à un transcrit. Chaque exon est défini par sa position sur le génome.
4. **`Annotation`**
Gère l'ensemble des annotations (gènes, transcrits, exons). Elle offre des fonctionnalités pour :
- Ajouter et récupérer des gènes.
- Fusionner deux annotations.
- Générer des fichiers au format GFF.
- Créer des statistiques et des visualisations.
---
### **Méthodes Clés**
1. **`parser_gff`**
Parse un fichier GFF et construit une instance de la classe `Annotation`.
2. **Fusion des annotations**
Combine deux annotations via la surcharge de l'opérateur `+`.
3. **Statistiques**
Génère des résumés statistiques sur les annotations :
- Nombre de transcrits par gène.
- Nombre d'exons par transcrit.
4. **Visualisation**
Crée un boxplot représentant la distribution des longueurs totales des exons pour chaque gène.
5. **Exportation**
Permet de sauvegarder les annotations dans un fichier GFF compatible ou un fichier texte résumant les informations.
---
## **Utilisation en Ligne de Commande**
Le script propose plusieurs options via des arguments de ligne de commande :
- **Fichier d'entrée GFF** : Spécifiez le fichier à analyser.
```bash
annotation fichier.gff
```
- **Fusionner deux fichiers GFF** :
Combine deux annotations et génère un fichier fusionné.
```bash
annotation fichier1.gff -f fichier2.gff -o fichier_fusionne.gff
```
- **Générer un boxplot** :
Produit une visualisation des longueurs d'ARN.
```bash
annotation fichier.gff -i
```
- **Afficher les statistiques** :
Crée un fichier texte contenant un résumé des annotations.
```bash
annotation fichier.gff -s stats.txt
```
- **Extraire des informations sur un gène spécifique** :
Génère un fichier texte avec les détails d'un gène.
```bash
annotation fichier.gff -g ID_du_gene
```
---
## **Exemple d'Exécution**
Pour analyser un fichier `annotations.gff`, fusionner avec un autre fichier, produire un boxplot et générer des statistiques :
```bash
annotation annotations.gff --fusion autre_fichier.gff --output fusion.gff --image --stats statistiques.txt
```
---
## **Dépendances**
- **Python 3.8+**
- Bibliothèques nécessaires :
- `matplotlib`
- `argparse`
Installez les dépendances avec :
```bash
pip install matplotlib argparse
```
---
## **Conclusion**
Ce projet offre un ensemble d'outils puissants et flexibles pour analyser des données GFF. Il est conçu pour être extensible et répond aux besoins des biologistes et bio-informaticiens travaillant avec des annotations génomiques.
Raw data
{
"_id": null,
"home_page": null,
"name": "gff-tpg-pack",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Thomas Gagnieu <thomas.gagnieu@etu.univ-lyon1.fr>, Paul Gilbert <paul.gilbert@etu.univ-lyon1.fr>",
"keywords": "annotation, exon, gene, gff, parser, transcript",
"author": null,
"author_email": "Thomas Gagnieu <thomas.gagnieu@etu.univ-lyon1.fr>, Paul Gilbert <paul.gilbert@etu.univ-lyon1.fr>",
"download_url": "https://files.pythonhosted.org/packages/8d/94/e64fae5798bcd213886c16c6958f37add4b529f984f321a6a8b5979d282a/gff_tpg_pack-0.1.1.tar.gz",
"platform": null,
"description": "# **Documentation du Projet : Analyseur d'Annotations GFF**\n\nCe projet est un outil con\u00e7u pour analyser, manipuler et visualiser des donn\u00e9es biologiques au format GFF. Il permet de repr\u00e9senter les g\u00e8nes, transcrits et exons, de les manipuler (fusion, exportation), et d'extraire des statistiques ou des visualisations utiles.\n\n---\n\n## **Pr\u00e9sentation G\u00e9n\u00e9rale**\n\nLe projet est structur\u00e9 en plusieurs modules et fonctionnalit\u00e9s :\n1. **Mod\u00e9lisation biologique** : Les entit\u00e9s biologiques telles que les g\u00e8nes, transcrits, et exons sont repr\u00e9sent\u00e9es par des classes.\n2. **Fusion et manipulation des annotations** : Combine des annotations provenant de diff\u00e9rents fichiers GFF.\n3. **Exportation et statistiques** : G\u00e9n\u00e8re des fichiers r\u00e9sumant les informations et calcule des statistiques.\n4. **Visualisation** : Produit des graphiques (boxplots) pour repr\u00e9senter la distribution des longueurs d'ARN.\n\n---\n\n## **Structure du Code**\n\n### **Classes Principales**\n\n1. **`Gene`** \n Repr\u00e9sente un g\u00e8ne et g\u00e8re ses transcrits associ\u00e9s. Il permet la fusion avec d'autres g\u00e8nes ayant le m\u00eame identifiant.\n\n2. **`Transcrit`** \n Repr\u00e9sente un transcrit (ARNm) et g\u00e8re ses exons associ\u00e9s. Un transcrit est toujours li\u00e9 \u00e0 un g\u00e8ne parent.\n\n3. **`Exon`** \n Repr\u00e9sente un exon associ\u00e9 \u00e0 un transcrit. Chaque exon est d\u00e9fini par sa position sur le g\u00e9nome.\n\n4. **`Annotation`** \n G\u00e8re l'ensemble des annotations (g\u00e8nes, transcrits, exons). Elle offre des fonctionnalit\u00e9s pour :\n - Ajouter et r\u00e9cup\u00e9rer des g\u00e8nes.\n - Fusionner deux annotations.\n - G\u00e9n\u00e9rer des fichiers au format GFF.\n - Cr\u00e9er des statistiques et des visualisations.\n\n---\n\n### **M\u00e9thodes Cl\u00e9s**\n\n1. **`parser_gff`** \n Parse un fichier GFF et construit une instance de la classe `Annotation`.\n\n2. **Fusion des annotations** \n Combine deux annotations via la surcharge de l'op\u00e9rateur `+`.\n\n3. **Statistiques** \n G\u00e9n\u00e8re des r\u00e9sum\u00e9s statistiques sur les annotations :\n - Nombre de transcrits par g\u00e8ne.\n - Nombre d'exons par transcrit.\n\n4. **Visualisation** \n Cr\u00e9e un boxplot repr\u00e9sentant la distribution des longueurs totales des exons pour chaque g\u00e8ne.\n\n5. **Exportation** \n Permet de sauvegarder les annotations dans un fichier GFF compatible ou un fichier texte r\u00e9sumant les informations.\n\n---\n\n## **Utilisation en Ligne de Commande**\n\nLe script propose plusieurs options via des arguments de ligne de commande :\n\n- **Fichier d'entr\u00e9e GFF** : Sp\u00e9cifiez le fichier \u00e0 analyser. \n ```bash\n annotation fichier.gff\n ```\n\n- **Fusionner deux fichiers GFF** : \n Combine deux annotations et g\u00e9n\u00e8re un fichier fusionn\u00e9. \n ```bash\n annotation fichier1.gff -f fichier2.gff -o fichier_fusionne.gff\n ```\n\n- **G\u00e9n\u00e9rer un boxplot** : \n Produit une visualisation des longueurs d'ARN. \n ```bash\n annotation fichier.gff -i\n ```\n\n- **Afficher les statistiques** : \n Cr\u00e9e un fichier texte contenant un r\u00e9sum\u00e9 des annotations. \n ```bash\n annotation fichier.gff -s stats.txt\n ```\n\n- **Extraire des informations sur un g\u00e8ne sp\u00e9cifique** : \n G\u00e9n\u00e8re un fichier texte avec les d\u00e9tails d'un g\u00e8ne. \n ```bash\n annotation fichier.gff -g ID_du_gene\n ```\n\n---\n\n## **Exemple d'Ex\u00e9cution**\n\nPour analyser un fichier `annotations.gff`, fusionner avec un autre fichier, produire un boxplot et g\u00e9n\u00e9rer des statistiques :\n\n```bash\nannotation annotations.gff --fusion autre_fichier.gff --output fusion.gff --image --stats statistiques.txt\n```\n\n---\n\n## **D\u00e9pendances**\n\n- **Python 3.8+**\n- Biblioth\u00e8ques n\u00e9cessaires : \n - `matplotlib`\n - `argparse`\n\nInstallez les d\u00e9pendances avec :\n```bash\npip install matplotlib argparse\n```\n\n---\n\n## **Conclusion**\n\nCe projet offre un ensemble d'outils puissants et flexibles pour analyser des donn\u00e9es GFF. Il est con\u00e7u pour \u00eatre extensible et r\u00e9pond aux besoins des biologistes et bio-informaticiens travaillant avec des annotations g\u00e9nomiques.",
"bugtrack_url": null,
"license": null,
"summary": "Analyses des donn\u00e9es d'annotation GFF",
"version": "0.1.1",
"project_urls": {
"repo_git": "http://pedago-service.univ-lyon1.fr:2325/tgagnieu/xomics/-/tree/publish?ref_type=heads"
},
"split_keywords": [
"annotation",
" exon",
" gene",
" gff",
" parser",
" transcript"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c4c0dc8b5f8c99786296ecae3e3ea7c0d2768ed3ad99358a960f9a3dc6bfb884",
"md5": "b4b6c752c4bfb06fca73bb7339fe047a",
"sha256": "84c46ed77e13e3e7da934c9df87ddcdddf52e6645a1275a10aa028e7788b6e95"
},
"downloads": -1,
"filename": "gff_tpg_pack-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b4b6c752c4bfb06fca73bb7339fe047a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 2954694,
"upload_time": "2024-11-28T09:55:17",
"upload_time_iso_8601": "2024-11-28T09:55:17.523771Z",
"url": "https://files.pythonhosted.org/packages/c4/c0/dc8b5f8c99786296ecae3e3ea7c0d2768ed3ad99358a960f9a3dc6bfb884/gff_tpg_pack-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8d94e64fae5798bcd213886c16c6958f37add4b529f984f321a6a8b5979d282a",
"md5": "33f01b85105d3caa18d54cda650d355d",
"sha256": "9b2a1e43fcbd3992e29acc00f44805da3029d034e8bb8dc6ff76df06d7cc7775"
},
"downloads": -1,
"filename": "gff_tpg_pack-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "33f01b85105d3caa18d54cda650d355d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3166095,
"upload_time": "2024-11-28T09:55:33",
"upload_time_iso_8601": "2024-11-28T09:55:33.030728Z",
"url": "https://files.pythonhosted.org/packages/8d/94/e64fae5798bcd213886c16c6958f37add4b529f984f321a6a8b5979d282a/gff_tpg_pack-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-28 09:55:33",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gff-tpg-pack"
}