Parses uniprot entries (from uniprot files) and creates Uniprot objets
Project description
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 classeUniprotqui permet d'analyser des fichiers Uniprot individuels.uniprot_collection.py: Définit la classeCollection, conçue pour manipuler et analyser un ensemble d'objetsUniprot.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
.fastabasé sur les informations de la protéine. Ce fichier est enregistré dans le répértoirefasta_outputs. - Calcul de propriétés :
- Poids moléculaire.
- Hydrophobicité moyenne.
Classe Collection
- Organisation de données : Permet de regrouper plusieurs objets
Uniprotpour 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
-
Installation : Clonez ce dépôt sur votre machine locale :
git clone http://pedago-service.univ-lyon1.fr:2325/briou/uniprot.git -
Exécution des tests : Le fichier
Test.pycontient des exemples d'utilisation. Exécutez-le avec Python :python Test.py -
Visualisation des graphiques : Les graphiques générés seront enregistrés sous forme de fichiers
.pngdans le répertoirefigures.
Pré-requis
- Python 3.6 ou plus récent.
- Bibliothèques Python :
matplotlib- (
functoolssi besoin de mettre une longueur différente de 500 acides aminés dans le filtre des objets de lacollection.)
Exemples rapides
Objets Uniprots
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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uniprot_lb-0.1.0.tar.gz.
File metadata
- Download URL: uniprot_lb-0.1.0.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a54ecfc0efd404ec5fc76064321c6222a4e0b97b049d35311b372a6b903659ed
|
|
| MD5 |
1d41a21187e9b4f44721119bcd5ce2dc
|
|
| BLAKE2b-256 |
e329ea63db664c18d3a0dd73736f46c5f18952e0855bc1fb9592f40e8d560f8f
|
File details
Details for the file uniprot_lb-0.1.0-py3-none-any.whl.
File metadata
- Download URL: uniprot_lb-0.1.0-py3-none-any.whl
- Upload date:
- Size: 2.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f82524d77d8b511f29d15d51afbb68b9e96ced88a016d0b1d1302fa0d066d4d
|
|
| MD5 |
eef2aafc9c26e65d578c26d79d0f404d
|
|
| BLAKE2b-256 |
1e68943102db7d982b6f56ba105afda0277da002a95f810d86b47247a879b890
|