uniprot-lb


Nameuniprot-lb JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryParses uniprot entries (from uniprot files) and creates Uniprot objets
upload_time2024-11-26 11:39:54
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords protein uniprot parser bioinformatics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Projet POO - M1 Bioinformatique

Ce projet offre une collection d'outils pour analyser et manipuler les données issues de fichiers Uniprot. Il inclut des fonctionnalités pour extraire des informations, calculer des propriétés biochimiques, et visualiser des caractéristiques des protéines.
Il a été réalisé dans le cadre d'un projet pour l'UE Programmation Avancée Python du M1 de Bio-Informatique de l'Université Claude Bernard - Lyon 1.

## Structure du dépôt

- **`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`.
- **`Test.py`** : Script de test pour démontrer l'utilisation des classes et méthodes.
- **Dossier `data/`** : Contient des fichiers de données d'entrée, notamment des entrées 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épértoire `fasta_outputs`.
- **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** :
   Clonez ce dépôt sur votre machine locale :
   ```
   git clone http://pedago-service.univ-lyon1.fr:2325/briou/uniprot.git
   ```

2. **Exécution des tests** :
   Le fichier `Test.py` contient des exemples d'utilisation. Exécutez-le avec Python :
   ```
   python Test.py
   ```

3. **Visualisation des graphiques** :
   Les graphiques générés seront enregistrés sous forme de fichiers `.png` dans le répertoire `figures`.

## Pré-requis

- Python 3.6 ou plus récent.
- Bibliothèques Python :
  - `matplotlib`
  - (`functools` si besoin de mettre une longueur différente de 500 acides aminés dans le filtre des objets de la `collection`.)

## Exemples rapides

### Objets Uniprots
```python
import uniprot

# Création d'un objet Uniprot à partir d'un fichier
uniprot_obj = uniprot.uniprot_from_file("./data/P05067.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_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("./data/five_proteins.txt")

# Affichage des informations
print(collection_1)

# Ajout de données dans une collection
collection_2 = collection.collection_from_file("./data/five_proteins.txt")

with open("./data/P05067.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 acide 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)
```

## Contributeurs

- Baptiste Riou
- Lorcan Brenders


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "uniprot-lb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Guillaume Launay & Arnaud Mary <guillaume.launay@univ-lyon1.fr>",
    "keywords": "Protein, Uniprot, Parser, Bioinformatics",
    "author": null,
    "author_email": "Baptiste Riou & Lorcan BRENDERS <baptiste.riou2@etu.univ-lyon1.fr>",
    "download_url": "https://files.pythonhosted.org/packages/a2/5f/8f1b09fac480bbc84fe1c029a549d4ec7b1b92a1a4900d3ab9ddd2220f0d/uniprot_lb-0.1.1.tar.gz",
    "platform": null,
    "description": "\n# Projet POO - M1 Bioinformatique\n\nCe projet offre une collection d'outils pour analyser et manipuler les donn\u00e9es issues de fichiers Uniprot. Il inclut des fonctionnalit\u00e9s pour extraire des informations, calculer des propri\u00e9t\u00e9s biochimiques, et visualiser des caract\u00e9ristiques des prot\u00e9ines.\nIl a \u00e9t\u00e9 r\u00e9alis\u00e9 dans le cadre d'un projet pour l'UE Programmation Avanc\u00e9e Python du M1 de Bio-Informatique de l'Universit\u00e9 Claude Bernard - Lyon 1.\n\n## Structure du d\u00e9p\u00f4t\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- **`Test.py`** : Script de test pour d\u00e9montrer l'utilisation des classes et m\u00e9thodes.\n- **Dossier `data/`** : Contient des fichiers de donn\u00e9es d'entr\u00e9e, notamment des entr\u00e9es 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\u00e9p\u00e9rtoire `fasta_outputs`.\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   Clonez ce d\u00e9p\u00f4t sur votre machine locale :\n   ```\n   git clone http://pedago-service.univ-lyon1.fr:2325/briou/uniprot.git\n   ```\n\n2. **Ex\u00e9cution des tests** :\n   Le fichier `Test.py` contient des exemples d'utilisation. Ex\u00e9cutez-le avec Python :\n   ```\n   python Test.py\n   ```\n\n3. **Visualisation des graphiques** :\n   Les graphiques g\u00e9n\u00e9r\u00e9s seront enregistr\u00e9s sous forme de fichiers `.png` dans le r\u00e9pertoire `figures`.\n\n## Pr\u00e9-requis\n\n- Python 3.6 ou plus r\u00e9cent.\n- Biblioth\u00e8ques Python :\n  - `matplotlib`\n  - (`functools` si besoin de mettre une longueur diff\u00e9rente de 500 acides amin\u00e9s dans le filtre des objets de la `collection`.)\n\n## Exemples rapides\n\n### Objets Uniprots\n```python\nimport uniprot\n\n# Cr\u00e9ation d'un objet Uniprot \u00e0 partir d'un fichier\nuniprot_obj = uniprot.uniprot_from_file(\"./data/P05067.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### Objets Collections\n```python\nimport 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(\"./data/five_proteins.txt\")\n\n# Affichage des informations\nprint(collection_1)\n\n# Ajout de donn\u00e9es dans une collection\ncollection_2 = collection.collection_from_file(\"./data/five_proteins.txt\")\n\nwith open(\"./data/P05067.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 acide 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## Contributeurs\n\n- Baptiste Riou\n- Lorcan Brenders\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Parses uniprot entries (from uniprot files) and creates Uniprot objets",
    "version": "0.1.1",
    "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": [
        "protein",
        " uniprot",
        " parser",
        " bioinformatics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5869bad6d8c731a299687f99459d5a1d40a3c53c16f6bae99d6700b65c5c2c00",
                "md5": "c59685fbba14654b6d9342635957dd60",
                "sha256": "a37885ce9bf8f91eb8ebcde6c7e7f6227f11ac74315e4a642a7733369098927b"
            },
            "downloads": -1,
            "filename": "uniprot_lb-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c59685fbba14654b6d9342635957dd60",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 2907,
            "upload_time": "2024-11-26T11:39:52",
            "upload_time_iso_8601": "2024-11-26T11:39:52.456779Z",
            "url": "https://files.pythonhosted.org/packages/58/69/bad6d8c731a299687f99459d5a1d40a3c53c16f6bae99d6700b65c5c2c00/uniprot_lb-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a25f8f1b09fac480bbc84fe1c029a549d4ec7b1b92a1a4900d3ab9ddd2220f0d",
                "md5": "ec8f1eefdad5668a20765265c984c90b",
                "sha256": "1164363fa2399072170a1b967855a28787c0d0ad6f4aeea60184cc4f956a3af5"
            },
            "downloads": -1,
            "filename": "uniprot_lb-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ec8f1eefdad5668a20765265c984c90b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 3160,
            "upload_time": "2024-11-26T11:39:54",
            "upload_time_iso_8601": "2024-11-26T11:39:54.144628Z",
            "url": "https://files.pythonhosted.org/packages/a2/5f/8f1b09fac480bbc84fe1c029a549d4ec7b1b92a1a4900d3ab9ddd2220f0d/uniprot_lb-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-26 11:39:54",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "uniprot-lb"
}
        
Elapsed time: 0.37973s