On ajoute un élément au python search path
afin de pouvoir utiliser nos
fonctions et modules :
import sys
TXT_PROJ_ROOT = "/home/gml/Documents/Master/M1_BIBS/S2/Structurale/"
if TXT_PROJ_ROOT not in sys.path:
sys.path.append(TXT_PROJ_ROOT)
print("Added project root to Python search path")
else:
print("Project root already present in Python search path")
Added project root to Python search path
Classes pour manipuler plus facilement les chemins d'accès en Python :
from piestruct.utils.customobjs import (ObjDict as odict, Path as path)
from piestruct.utils.customfuncs import udir
Modules nécessaires pour faire l'analyse structurale :
import Bio.PDB as pdb
import freesasa
import nglview as nv
proj_root = path(TXT_PROJ_ROOT)
pdb_files = proj_root.joinpath("data").dglob("*.pdb")
pdb_files
{'1he8.pdb': PosixPath('/home/gml/Documents/Master/M1_BIBS/S2/Structurale/data/1he8.pdb'), '1HE8_AB_c.pdb': PosixPath('/home/gml/Documents/Master/M1_BIBS/S2/Structurale/data/1HE8_AB_c.pdb'), '1e8y.pdb': PosixPath('/home/gml/Documents/Master/M1_BIBS/S2/Structurale/data/1e8y.pdb'), '121p.pdb': PosixPath('/home/gml/Documents/Master/M1_BIBS/S2/Structurale/data/121p.pdb')}
(prot_s_sasa := freesasa.Structure( pdb_files["1HE8_AB_c.pdb"].abs ))
<freesasa.Structure at 0x7f91cf8b8ae0>
(prot_c_sasa := freesasa.calc(prot_s_sasa))
<freesasa.Result at 0x7f91cf941fd0>
# Attention : J'ai mis l'argument QUIET=True pour cacher les alertes issues de l'importation
# du fichier. D'après la doc officielle de BioPython, ces "Warnings" sont des indicateurs
# de problèmes dans la structure du fichier PDB. À RETENIR.
(prot_biopy := pdb
.PDBParser(QUIET=True)
.get_structure(id="1HE8", file=pdb_files["1HE8_AB_c.pdb"].abs)
)
<Structure id=1HE8>
Notes sur les structures PDB de BioPython :
La fonction Bio.PDB.PDBParser().get_structure
renvoie un objet de type Structure(Bio.PDB.Entity.Entity)
.
Celui-ci est "subscriptable" comme une liste. Chacun des éléments, sera alors un modèle Model(Bio.PDB.Entity.Entity)
.
Voir help(prot_biopy[0])
...
The object representing a model in a structure.
In a structure derived from an X-ray crystallography experiment, only a single model will be present (with some exceptions). NMR structures normally contain many different models.
Method resolution order: Model Bio.PDB.Entity.Entity builtins.object
prot_m_biopy = prot_biopy[0]
Note on views : These are not rendered on the html version of the notebook. To visualise them download the notebook and import a pdb file.
Il s'agit du complexe Ras G12V - PI 3-kinase gamma. C'est un hétéro-2-mère A1B1 asymétrique, dont la fonction est importante pour la survie de cellules transformées (Ras activation of phosphoinositide 3-kinase (PI3K) is important for survival of transformed cells).
# via BioPython
sum(1 for chain in prot_biopy.get_chains())
2
# via BioPython
for chain in prot_m_biopy.get_chains():
print(f"Chain {chain.id} : {sum(1 for i in chain.get_residues())}")
Chain A : 749 Chain B : 166
prot_resid_areas = prot_c_sasa.residueAreas()
# via freesasa
for chain in prot_resid_areas.keys():
print(f"chain {chain} : {sum(1 for residue in prot_resid_areas[chain])} residues")
chain A : 749 residues chain B : 166 residues
La structure PDB 1HE8_AB_c
contient deux chaînes, A et B. La chaîne A contient 766 résidus, c'est-à-dire plus de quatre fois plus que la chaîne B. Ceci nous mène à dire qu'il s'agit d'un hétéro-dimère. Ceci est en accord avec les informations trouvées sur la fiche RCSB PDB
.
Allez voir les fiches Uniprot correspondantes aux deux monomères en utilisant les liens dans la fiche du PDB
Pour chaque protéine dans le complexe, répondez aux questions suivantes :
On trouve aussi une description plus detaillée dans la section Structure, l'entrée PDB 1HE8 correspond aux positions $144-1102$
Oui, ce sont les suivants :
Feature key | Position(s) | Description | Putative Function |
---|---|---|---|
Domain | 34 – 141 | PI3K-ABD | The adaptor-binding domain (ABD) binds to p85, the regulatory subunit. |
Domain | 217 – 309 | PI3K-RBD | PI3K RBD is a Ras-binding domain. |
Domain | 357 – 521 | C2 PI3K-type | The putative membrane-binding PI3K-type C2 domain is an eight- stranded antiparallel beta-sandwich consisting of two four-stranded beta- sheets. |
Domain | 541 – 723 | PIK helical | The phosphoinositide kinase (PIK) domain is a region conserved among all PI3 and PI4-kinases and although its role is presently unclear, it is likely to be involved in substrate presentation |
Domain | 828 – 1073 | PI3K/PI4K | Phosphorylates phosphoinositides on the 3-hydroxyl group of the inositol ring. |
Les fonctions sont détailles dans cette section. Elle possède plusieurs fonctions putatives :
* Phosphorilation ( PtdIns(4,5)P2 ==> PIP3 )
* Activation de cascades de signalisation liées à la croissance/developement cellulaires, survie, proliferation, motilité et morphologie.
* Nécessaire pour le developement et la signalisation de lymphocyte B
Pour les fonctions de chacun des domaines, voir le tableau précédent.
La structure PDB contient 166 résidus, ce qui représente une portion peu importe l'isoforme.
Feature key | Position(s) | Description | Putative Function |
---|---|---|---|
Region | 166–185 | Hypervariable region | NA |
Motifi | 32–40 | Effector region | NA |
Involved in the activation of Ras protein signal transduction (PubMed:22821884). Ras proteins bind GDP/GTP and possess intrinsic GTPase activity (PubMed:12740440, PubMed:14500341, PubMed:9020151).
Ouvrir le fichier PDB fourni dans PyMOL et répondez aux questions suivantes :
Montrer le cartoon
Combien de chaînes y a-t-il dans la structure ?
Quelle est la topologie des différentes chaînes ?
Des brins et feuillets β, avec des hélices α.
Identifier visuellement l’interface de contact entre les deux protéines : quelles structures secondaires participent à l’interface ?
Des brins β.
Sauvegardez à fichier la session PyMOL (Menu <File→Save Session As>).
# via BioPython
sum(1 for chain in prot_biopy.get_chains())
2
(view_full := nv.show_biopython(prot_biopy))
(view_A := nv.show_biopython(prot_biopy[0]["A"]))
(view_B := nv.show_biopython(prot_biopy[0]["B"]))