uniprot_lb_poo


Nameuniprot_lb_poo JSON
Version 0.1.9 PyPI version JSON
download
home_pageNone
SummaryParses uniprot entries (from uniprot files) and creates Uniprot objects
upload_time2024-11-28 10:02:31
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords bioinformatics parser protein uniprot
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# uniprot_lb_poo

`uniprot_lb_poo` est un package Python qui permet d'analyser et manipuler des données issues de fichiers Uniprot. Il offre des outils pour extraire des informations biologiques, calculer des propriétés biochimiques, et visualiser des caractéristiques des protéines.

Ce projet a été développé dans le cadre de l'UE Programmation Avancée Python du Master 1 Bio-Informatique à l'Université Claude Bernard - Lyon 1.

## Structure du package

- **`uniprot.py`** : Contient la classe `Uniprot` qui permet d'analyser des fichiers Uniprot individuels.
- **`uniprot_collection.py`** : Définit la classe `Collection`, conçue pour manipuler et analyser un ensemble d'objets `Uniprot`.
- **Images `.png`** : Générées pour visualiser l'abondance relative des acides aminés (ABRL) des entrées Uniprot.

## Fonctionnalités

### Classe `Uniprot`
- **Extraction d'informations** : Accession number, nom du gène, organisme, séquence peptidique, IDs GO.
- **Export au format FASTA** : Génère un fichier `.fasta` basé sur les informations de la protéine. Ce fichier est enregistré dans le répertoire `fasta_outputs` (créé s'il n'existe pas déjà).
- **Calcul de propriétés** :
  - Poids moléculaire.
  - Hydrophobicité moyenne.

### Classe `Collection`
- **Organisation de données** : Permet de regrouper plusieurs objets `Uniprot` pour des analyses globales.
- **Méthodes principales** :
  - Tri des protéines par longueur de séquence.
  - Filtrage basé sur l'hydrophobicité.
  - Analyse des IDs GO présents dans le groupe.
  - Génération de graphiques spécifiques (ABRL).

## Utilisation

1. **Installation** :

   Installez le package avec pip :
   ```
   pip install uniprot_lb_poo
   ```

2. **Visualisation des graphiques** :
   Les graphiques générés seront enregistrés sous forme de fichiers `.png` dans le répertoire `figures` (créé s'il n'existe pas déjà).

## Pré-requis

- Python 3.10 ou plus récent.
- Bibliothèques Python :
  - `matplotlib>=3.9.2`

## Exemples rapides

### Test simple
```python
from uniprot_lb_poo import hello

hello.main()
# Hello from uniprot_lb_poo !

```

### Objets Uniprot
```python
from uniprot_lb_poo import uniprot

# Création d'un objet Uniprot à partir d'un fichier
uniprot_obj = uniprot.uniprot_from_file("your/file/path.txt")

# Affichage des informations
print(uniprot_obj)

# Calcul de propriétés
print("Poids moléculaire :", uniprot_obj.molecular_weight())
print("Hydrophobicité moyenne :", uniprot_obj.average_hydrophobicity())

# Export au format FASTA
uniprot_obj.fasta_dump()
```

### Objets Collections
```python
import uniprot_lb_poo
from uniprot_lb_poo import uniprot_collection as collection
from functools import partial

# Création d'un objet Collection à partir d'un fichier contenant plusieurs entrées.
collection_1 = collection.collection_from_file("your/file/path/multiple_entries.txt")

# Affichage des informations
print(collection_1)

# Ajout de données dans une collection
collection_2 = collection.collection_from_file("your/file/path/multiple_entries.txt")

with open("your/file/path/single_entry.txt", "r") as f:
    file_contents = f.read()
    collection_1.add(file_contents)

# Retrait d'éléments dans la collection
collection_1.del_("PGBM_HUMAN")
collection_2.del_("SPRC_BOVIN")

# Fusion de deux collections
collection_3 = collection_2 + collection_1

# Filtrage des objets pour lesquels la séquence peptidique est supérieure à 1000 acides aminés:
print(collection_3.filter(partial(collection.filtre_longueur, n=1000)))

# Création d'un plot pour chacun des objets de collection_3
for element in collection_3:
    collection_3.draw_ABRL(element.id)
```

## Auteurs-Etudiants

- Baptiste Riou
- Lorcan Brenders

## Contributeurs-Professeurs

- Arnaud Mary
- Guillaume Launay

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "uniprot_lb_poo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Guillaume LAUNAY & Arnaud MARY <guillaume.launay@univ-lyon1.fr>",
    "keywords": "Bioinformatics, Parser, Protein, Uniprot",
    "author": null,
    "author_email": "Baptiste RIOU & Lorcan BRENDERS <baptiste.riou2@etu.univ-lyon1.fr>",
    "download_url": "https://files.pythonhosted.org/packages/12/6a/ecf59dd5dd5a61d42d98d00096f60a7906675fa7b8079f3a1627574acaef/uniprot_lb_poo-0.1.9.tar.gz",
    "platform": null,
    "description": "\n# uniprot_lb_poo\n\n`uniprot_lb_poo` est un package Python qui permet d'analyser et manipuler des donn\u00e9es issues de fichiers Uniprot. Il offre des outils pour extraire des informations biologiques, calculer des propri\u00e9t\u00e9s biochimiques, et visualiser des caract\u00e9ristiques des prot\u00e9ines.\n\nCe projet a \u00e9t\u00e9 d\u00e9velopp\u00e9 dans le cadre de l'UE Programmation Avanc\u00e9e Python du Master 1 Bio-Informatique \u00e0 l'Universit\u00e9 Claude Bernard - Lyon 1.\n\n## Structure du package\n\n- **`uniprot.py`** : Contient la classe `Uniprot` qui permet d'analyser des fichiers Uniprot individuels.\n- **`uniprot_collection.py`** : D\u00e9finit la classe `Collection`, con\u00e7ue pour manipuler et analyser un ensemble d'objets `Uniprot`.\n- **Images `.png`** : G\u00e9n\u00e9r\u00e9es pour visualiser l'abondance relative des acides amin\u00e9s (ABRL) des entr\u00e9es Uniprot.\n\n## Fonctionnalit\u00e9s\n\n### Classe `Uniprot`\n- **Extraction d'informations** : Accession number, nom du g\u00e8ne, organisme, s\u00e9quence peptidique, IDs GO.\n- **Export au format FASTA** : G\u00e9n\u00e8re un fichier `.fasta` bas\u00e9 sur les informations de la prot\u00e9ine. Ce fichier est enregistr\u00e9 dans le r\u00e9pertoire `fasta_outputs` (cr\u00e9\u00e9 s'il n'existe pas d\u00e9j\u00e0).\n- **Calcul de propri\u00e9t\u00e9s** :\n  - Poids mol\u00e9culaire.\n  - Hydrophobicit\u00e9 moyenne.\n\n### Classe `Collection`\n- **Organisation de donn\u00e9es** : Permet de regrouper plusieurs objets `Uniprot` pour des analyses globales.\n- **M\u00e9thodes principales** :\n  - Tri des prot\u00e9ines par longueur de s\u00e9quence.\n  - Filtrage bas\u00e9 sur l'hydrophobicit\u00e9.\n  - Analyse des IDs GO pr\u00e9sents dans le groupe.\n  - G\u00e9n\u00e9ration de graphiques sp\u00e9cifiques (ABRL).\n\n## Utilisation\n\n1. **Installation** :\n\n   Installez le package avec pip :\n   ```\n   pip install uniprot_lb_poo\n   ```\n\n2. **Visualisation des graphiques** :\n   Les graphiques g\u00e9n\u00e9r\u00e9s seront enregistr\u00e9s sous forme de fichiers `.png` dans le r\u00e9pertoire `figures` (cr\u00e9\u00e9 s'il n'existe pas d\u00e9j\u00e0).\n\n## Pr\u00e9-requis\n\n- Python 3.10 ou plus r\u00e9cent.\n- Biblioth\u00e8ques Python :\n  - `matplotlib>=3.9.2`\n\n## Exemples rapides\n\n### Test simple\n```python\nfrom uniprot_lb_poo import hello\n\nhello.main()\n# Hello from uniprot_lb_poo !\n\n```\n\n### Objets Uniprot\n```python\nfrom uniprot_lb_poo import uniprot\n\n# Cr\u00e9ation d'un objet Uniprot \u00e0 partir d'un fichier\nuniprot_obj = uniprot.uniprot_from_file(\"your/file/path.txt\")\n\n# Affichage des informations\nprint(uniprot_obj)\n\n# Calcul de propri\u00e9t\u00e9s\nprint(\"Poids mol\u00e9culaire :\", uniprot_obj.molecular_weight())\nprint(\"Hydrophobicit\u00e9 moyenne :\", uniprot_obj.average_hydrophobicity())\n\n# Export au format FASTA\nuniprot_obj.fasta_dump()\n```\n\n### Objets Collections\n```python\nimport uniprot_lb_poo\nfrom uniprot_lb_poo import uniprot_collection as collection\nfrom functools import partial\n\n# Cr\u00e9ation d'un objet Collection \u00e0 partir d'un fichier contenant plusieurs entr\u00e9es.\ncollection_1 = collection.collection_from_file(\"your/file/path/multiple_entries.txt\")\n\n# Affichage des informations\nprint(collection_1)\n\n# Ajout de donn\u00e9es dans une collection\ncollection_2 = collection.collection_from_file(\"your/file/path/multiple_entries.txt\")\n\nwith open(\"your/file/path/single_entry.txt\", \"r\") as f:\n    file_contents = f.read()\n    collection_1.add(file_contents)\n\n# Retrait d'\u00e9l\u00e9ments dans la collection\ncollection_1.del_(\"PGBM_HUMAN\")\ncollection_2.del_(\"SPRC_BOVIN\")\n\n# Fusion de deux collections\ncollection_3 = collection_2 + collection_1\n\n# Filtrage des objets pour lesquels la s\u00e9quence peptidique est sup\u00e9rieure \u00e0 1000 acides amin\u00e9s:\nprint(collection_3.filter(partial(collection.filtre_longueur, n=1000)))\n\n# Cr\u00e9ation d'un plot pour chacun des objets de collection_3\nfor element in collection_3:\n    collection_3.draw_ABRL(element.id)\n```\n\n## Auteurs-Etudiants\n\n- Baptiste Riou\n- Lorcan Brenders\n\n## Contributeurs-Professeurs\n\n- Arnaud Mary\n- Guillaume Launay\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Parses uniprot entries (from uniprot files) and creates Uniprot objects",
    "version": "0.1.9",
    "project_urls": {
        "DOWNLOAD": "http://pedago-service.univ-lyon1.fr:2325/briou/uniprot/-/archive/publish/uniprot-master.tar.gz",
        "HomePage": "http://pedago-service.univ-lyon1.fr:2325/briou/uniprot.git"
    },
    "split_keywords": [
        "bioinformatics",
        " parser",
        " protein",
        " uniprot"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "55bc2710cdcb2a72dd0d93f35bc685abb9baa77c4a427d4095d61ad718766897",
                "md5": "63b098e480728468b7f30fc130d94241",
                "sha256": "608dfa62a82b1c6fb57a0bc577f194df5772b3e519b515bcda6244a7d9528603"
            },
            "downloads": -1,
            "filename": "uniprot_lb_poo-0.1.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "63b098e480728468b7f30fc130d94241",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7978,
            "upload_time": "2024-11-28T10:02:30",
            "upload_time_iso_8601": "2024-11-28T10:02:30.539691Z",
            "url": "https://files.pythonhosted.org/packages/55/bc/2710cdcb2a72dd0d93f35bc685abb9baa77c4a427d4095d61ad718766897/uniprot_lb_poo-0.1.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "126aecf59dd5dd5a61d42d98d00096f60a7906675fa7b8079f3a1627574acaef",
                "md5": "01d6432ddc40e3a964f1f4d8a6d7ffd7",
                "sha256": "0bae4b30f6df7d0430df8c4815705b4b58d7da58b971c10eed33a4ea1c54fda0"
            },
            "downloads": -1,
            "filename": "uniprot_lb_poo-0.1.9.tar.gz",
            "has_sig": false,
            "md5_digest": "01d6432ddc40e3a964f1f4d8a6d7ffd7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6550,
            "upload_time": "2024-11-28T10:02:31",
            "upload_time_iso_8601": "2024-11-28T10:02:31.859185Z",
            "url": "https://files.pythonhosted.org/packages/12/6a/ecf59dd5dd5a61d42d98d00096f60a7906675fa7b8079f3a1627574acaef/uniprot_lb_poo-0.1.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-28 10:02:31",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "uniprot_lb_poo"
}
        
Elapsed time: 0.37975s