Metadata-Version: 2.1
Name: uniproj_2024
Version: 0.1.3
Summary: Ce projet a pour but la manipulation et l'analyse de données de protéines issues de la base de données Uniprot via l'implémentation de classes Python.
Author: Maya Givre, Thibaud Guiramand
Project-URL: Documentation, http://pedago-service.univ-lyon1.fr:2325/tguiramand/uniprot/-/blob/publish/README.md?ref_type=heads
Project-URL: Repository, http://pedago-service.univ-lyon1.fr:2325/tguiramand/uniprot/-/tree/publish?ref_type=heads
Keywords: uniprot,protein,gene
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: matplotlib>=3.9.2

# Mini projet protéomique

Ce projet a pour but la manipulation et l'analyse de données de protéines issues de la base de données Uniprot via l'implémentation de classes Python.

## Classe Uniprot

La classe Uniprot est destinée à représenter une protéine unique avec ses données principales extraites d'un fichier Uniprot au format texte.

### Constructeur

**init(contenu_fichier: str)**
Parse le contenu textuel d'une fiche Uniprot.
Extrait et stocke les informations suivantes sous forme d'attributs :

- id (str) : Identifiant Uniprot de la protéine.
- ac (str) : Numéro AC de la protéine.
- org (str) : Organisme associé à la protéine.
- gene (str) : Nom du gène de la protéine.
- seq (str) : Séquence peptidique de la protéine.
- go (list) : Liste d'identifiants GO associés à la protéine.

### Méthodes

**fasta_dump()**
Exporte la séquence de la protéine au format FASTA dans un fichier nommé [AC].fasta.
La ligne de commentaires commence par > et inclut : l'identification, l'organisme et le nom du gène.

**molecular_weight()** -> float
Calcule et retourne le poids moléculaire de la protéine en Daltons.

**average_hydrophobicity()** -> float
Calcule et retourne l'hydrophobicité moyenne de la séquence de la protéine en utilisant une échelle standardisée.

**occurence_prot()** -> dict
Calcule la fréquence relative des acides aminés dans la séquence de la protéine.
Retourne un dictionnaire où chaque clé est un acide aminé et la valeur associée est la fréquence relative de cet acide aminé.

## Classe Collection

La classe Collection représente un ensemble d'objets Uniprot et fournit des outils pour manipuler, trier et analyser ces objets.

### Constructeur

**init()**
Initialise une collection vide.

### Méthodes

**load_collection(fichier_in: str)**
Charge une collection à partir d'un fichier contenant plusieurs fiches Uniprot séparées par //.

**add(contenu_uniprot: str)**
Crée un objet Uniprot à partir du contenu textuel fourni et l'ajoute à la collection.
Lève une exception si la protéine est déjà présente.

**remove(uniprot_id: str)**
Supprime l'objet Uniprot correspondant à l'identifiant donné.
Lève une exception si l'identifiant est introuvable.

**sort_by_length(reverse=False)**
Trie les objets Uniprot dans la collection par la longueur de leur séquence.

**filter_for_hydrophobic(min_hydro: float)**
Retourne une liste des protéines ayant une hydrophobicité moyenne supérieure à min_hydro.
Ces protéines sont retournées dans un dictionnaire qui permet de pallier aux capacités limitées d'une liste.

Le filtrage expert n'a pas été codé.

**add(other: Collection)** -> Collection
Fusionne deux collections en créant une nouvelle instance sans doublons.

**go_view()** -> dict
Retourne un dictionnaire comptant les occurrences des mots-clés GO dans la collection.

**collX()** -> dict
Calcule et retourne les occurrences globales de chaque acide aminé dans la collection.

**draw_ABRL(uniprot_id: str)**
Génère et sauvegarde un histogramme représentant le log-ratio des occurrences d'acides aminés pour une protéine spécifique par rapport à leur occurrence moyenne dans la collection.
Sauvegarde le fichier sous le nom <uniprot_id>.png.
