Skip to main content

Modélisation d'une fiche Uniprot et d'une collection d'objets Uniprot

Project description

Mini projet protéomique

Le Document Uniprot

Uniprot est une base de données de protéines. Chaque entrée représente une protéine spécifique d'un organisme. Une entrée stocke des informations relatives à une protéine, par exemple son nom commun, son poids moléculaire ou encore sa séquence peptidique. Ces informations peuvent être extraites de la littérature scientifique par des curateurs où produites automatiquement par des pipelines d'annotation bioinformatique. Les données relatives à une protéine sont structurées dans les catégories suivantes:

  • Function
  • Names & Taxonomy
  • Subcellular location
  • Pathology and Biotech
  • PTM / Processing
  • Expression
  • Interaction
  • Structure
  • Family and Domains
  • Sequence(s)
  • Cross-references
  • Publications
  • Entry information
  • Miscellaneous
  • Similar Proteins

Le détail de chaque catégorie peut-être consulté ici. Chaque protéine possède, notamment un "ACcession number" unique respectant le code suivant. Les données d'une protéine donnée sont accessibles aux URL suivantes:

  • https://www.uniprot.org/uniprot/[AC de ma protéine], format HTML enrichi
  • https://www.uniprot.org/uniprot/[AC de ma protéine].xml, même contenu structuré au format XML.
  • https://www.uniprot.org/uniprot/[AC de ma protéine].txt, même contenu structuré au format texte.

Utiliser les données de plusieurs protéines au format texte. Ce format est caractérisé par la présence d'un seul type d'information par ligne. Chaque ligne commence par un code de 2 lettres, qui spéficie le type de l'information présente sur le reste de la ligne. Le tableau suivant présente tous les codes utilisés, plus d'information sur le format texte peut être trouvée ici.

Line code Content Occurrence in an entry
ID Identification Once; starts the entry
AC Accession number(s) Once or more
DT Date Three times
DE Description Once or more
GN Gene name(s) Optional
OS Organism species Once or more
OG Organelle Optional
OC Organism classification Once or more
OX Taxonomy cross-reference Once
OH Organism host Optional
RN Reference number Once or more
RP Reference position Once or more
RC Reference comment(s) Optional
RX Reference cross-reference(s) Optional
RG Reference group Once or more (Optional if RA line)
RA Reference authors Once or more (Optional if RG line)
RT Reference title Optional
RL Reference location Once or more
CC Comments or notes Optional
DR Database cross-references (description) Optional
PE Protein existence Once
KW Keywords Optional
FT Feature table data Once or more in Swiss-Prot, optional in TrEMBL
SQ Sequence header Once
(blanks) Sequence data Once or more
// Termination line Once; ends the entry

Pour chaque protéine nous voulons stocker l'information des champs suivants:

  • l'Identification
  • Le premier AC number
  • l'organisme
  • le nom de gène
  • La séquence peptidique
  • la liste de ses identifiants GO (à faire dans un second temps)

Dans les fichiers fournis (repertoire data/), chaque protéine est séparée de la précédente par les caractères //

Classe Uniprot

Implémentation d'une classe Uniprot stockant les informations précedentes dans des attributs. Le code implémentant cette classe est écrit dans le module uniprot[.py]. Un fichier contenant une seule entrée textuelle uniprot vous est fourni sous data/P05067.txt.

Constructeur

Prend le contenu textuel d'une fiche uniprot en entrée, parse son contenu pour créer l'objet et renseigne ses attributs.

self.id = None self.ac_number = None self.organism = None self.gene_name = None self.sequence = None self.go_identifiers = []

Méthodes

Méthode fasta_dump(): écrit la séquence de la protéine au format fasta dans un fichier nommé [AC number].fasta. La ligne de commentaires FASTA (débutant par >) contient les informations suivantes: identification, organisme et nom du gène.

Avec l'aide la table suivante implementer:

Méthode molecular_weight()->float: prend en entrée le id d'une proteine et retourne le poids moléculaire de la proteine.

Méthode average_hydrophobicity()->float: prend en entrée le id d'une protéine et retourne l'hydrophobicité moyenne de la protéine.

Amino acid 3 letters code letter code Mol. weight Class Hydrophobicity scale
Alanine Ala A 89Da A 0.33
Arginine Arg R 174Da + 1.00
Asparagine Asn N 132Da P 0.43
Aspartic acid Asp D 133Da - 2.41
Asparagine or aspartic acid Asx B 133Da n/a n/a
Cysteine Cys C 121Da A or P 0.22
Glutamine Gln Q 146Da P 0.19
Glutamic acid Glu E 147Da - 1.61
Glutamine or glutamic acid Glx Z 147Da n/a n/a
Glycine Gly G 75Da P 1.14
Histidine His H 155Da P or + -0.06 or 1.37
Isoleucine Ile I 131Da A -0.81
Leucine Leu L 131Da A -0.69
Lysine Lys K 146Da + 1.81
Methionine Met M 149Da A -0.44
Phenylalanine Phe F 165Da A -0.58
Proline Pro P 115Da A -0.31
Serine Ser S 105Da P 0.33
Threonine Thr T 119Da P 0.11
Tryptophan Trp W 204Da A -0.24
Tyrosine Tyr Y 181Da P 0.23
Valine Val V 117Da A -0.53

Classe Collection d'objets Uniprot

Classe Collection qui permet d'organiser et d'operer sur plusieurs objets Uniprot. Le code implémentant la classe Collection est écrit dans le module uniprot_collection[.py]. Un fichier contenant cinq entrées textuelles uniprot est fourni sous data/five_proteins.txt.

Constructeur de la classe collection

Retourne un objet Collection contenant donc des objets Uniprot à partir d'un fichier texte (ex. data/five_proteins.txt) passé en argument.

Methodes

Méthode 'add(contenu_uniprot)': créé et ajoute l'objet Uniprot à la collection à partir du texte en paramètre. Une exception est levée si la proteine est dejà presente.

Méthode 'delete(uniprot_id)': supprime de la collection l'objet Uniprot portant l'identifiant en paramètre. Une exception est levée si la proteine n'existe pas.

Méthode 'sort_by_length()': retourne les objets Uniprot triés selon les longueurs de leurs séquences.

Méthode 'filter_for_hydrophobic(min_hydro:int)': retourne les objets Uniprot ayant une hydrophobicité supérieure au paramètre min_hydro.

Méthode 'add (other)': implemente l'opération d'addition entre deux objets Collection. collection_1 + collection_2 produit un nouvel objet Collection contenant l'union des contenus des deux termes. Attention, si un object Uniprot existe dans les deux collections ajoutées, il ne devra être présent qu'une seule fois dans la collection produite par l'addition.

Méthode 'go_view()': retourne le dictionnaire des nombres d'occurrences des mots-clés GO portés par toutes les protéines de la Collection.

Visualisation de données

Abondance et Abondance relative

Méthode 'find_prot_by_id (uniprot_id)': prend un id en entrée et restitue l'objet Uniprot correspondant.

Méthode 'count_aa (uniprot_id)': prend en entrée un id d'une proteine et restitue un dictionnaire contenant l'occurence e quanche acide aminé dans la sequence de la proteine correspondante à l'id.

Méthode 'average_aa (aa)': prend en entrée un acide aminé et calcule la moyenne de son occurence armi toutes les protéines de la collection.

Méthode 'draw_ABRL(uniprot_id:string)': dessine l'histogramme de l'ABondance ReLative des acides aminés naturels dans la protéine passée en argument par rapport à la collection à laquelle elle appartient selon la formule,:

LogRatio(X) = ln(\frac{prot_X}{<coll_X>})

où X est l'acide aminé, prot_X st l'occurence de X dans la protéine étudiée et <coll_X> est l'occurence moyenne de l'acide aminé dans la collection.

Le dessin de l'histogramme de l'abondance relative a été fait grâce à la librarie matplotlib et est sauvegardé dans un fichier au format <uniprot_id>.png.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uniprot_m1_2024-1.0.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uniprot_m1_2024-1.0.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file uniprot_m1_2024-1.0.0.tar.gz.

File metadata

  • Download URL: uniprot_m1_2024-1.0.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for uniprot_m1_2024-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c07d42d4b76788828caee9fa338e8711484576508ce237cb06f55dc966c75f5d
MD5 a55379ed13b1aecdd8d9b8c40b4c1468
BLAKE2b-256 bf39eaa4042e6e023cf62f15b6fcdbd2ab15d3de4ab2640c8ae6333aa8ce745e

See more details on using hashes here.

File details

Details for the file uniprot_m1_2024-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for uniprot_m1_2024-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b28cb3c7c7d8751e919d62fcc5e16145969b47893206329d6f111fd9024752d
MD5 b82a2897ff5eb7c004080e41e971dd64
BLAKE2b-256 911e124395d178cc2a0337118a4ef310fea424ceea67b8a194d9f543d9d1de9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page