ATELIER GLYCO-OUEST “INTERACTIONS SUCRES

Transcription

ATELIER GLYCO-OUEST “INTERACTIONS SUCRES
ATELIER GLYCO-OUEST “INTERACTIONS SUCRES-PROTEINS”
14 AVRIL 2014
Introduction au docking moléculaire
Introduction
Le docking ou arrimage moléculaire est une technique permettant de simuler l’interaction entre un
“récepteur” (une protéine) et un ligand (souvent une petite molécule). Des logiciels spécialisés
permettent de réaliser ce type de simulations. Quelques exemples :
• DOCK
• AUTODOCK et AUTODOCK VINA
• GLIDE
• GOLD
• RosettaDock
• ZDOCK (protéine / protéine)
• HADDOCK (protéine / protéine)
Le préalable à toute expérience de docking moléculaire est de disposer de coordonnées atomiques
de la protéine et du ligand que vous voulez étudier. En général, le ligand est une molécule de faible
masse moléculaire de nature non-peptidique.
Nous appellerons la protéine, le “récepteur”.
Nous prendrons ici le cas le plus simple d’une protéine où
• tous les résidus du récepteur sont standards (pas de modifications covalentes)
• aucun atome manquant (hormis les hydrogènes)
Le récepteur est un carbohydrate binding module (CBM) de la famille des lectines provenant de la
bactérie thermophile Thermotoga maritima. Le ligand est un gluco-oligosaccharide constitué de 6
glucoses liées en ß-1,3.
Les coordonnées atomiques sont fournis au format PDB :
• pour le récepteur : recepteur_TM.pdb
• pour le ligand : laminarine.pdb
Vous pourrez visualiser à l’aide de PyMol les structures.
Nous utiliserons les outils de la suite AUTODOCK pour effectuer une expérience de docking
moléculaire.
La suite AutoDock que nous utiliserons comprend les composants suivants :
• AutoDock Tools : permet de préparer l’expérience de docking moléculaire (et bien plus...)
• AutoDock Vina : programme qui permet de réaliser le docking moléculaire
L’ensemble des expériences seront réalisées sous Linux
Préparation de l’expérience de docking moléculaire
Plusieurs étapes de préparation sont nécessaires avant de pouvoir effectuer un docking moléculaire
avec AutoDock. Ces étapes consistent en la
•
•
•
•
préparation du récepteur
préparation du ligand
définition d’une zone de recherche appelée “grille”
préparation d’un fichier de configuration
Etape 1. Prépara,on du “récepteur”
Le chemin pour accéder aux données du TP de docking moléculaire est :
./MolecularDocking
Pour y accéder, faire dans une fenêtre de terminal :
cd ./MolecularDocking
Lancer la commande :
prepare_receptor4.py -­‐r recepteur.pdb -­‐o recepteur.pdbqt -­‐A checkhydrogens -­‐U nphs
• l’option -­‐r recepteur.pdb indique le fichier PDB du recepteur.
• l’option -­‐o recepteur.pdbqt indique le nom du fichier de sortie (sera au format PDBQT qu’utilise
AutoDock)
• l’option -­‐A checkhydrogens vérifie si les atomes d’hydrogènes manquent et effectue les
réparations nécessaires. En effet, le fichier PDB fourni ne contient pas les hydrogènes (voir
pourquoi dans le cours de crystallo).
• l’option -­‐U nphs permet d’unifier les hydrogènes polaires avec les carbones les portant et de
supprimer les hydrogènes non-polaires.
D’autres options son possibles (voir annexe 1)
Vérifier la présence du fichier PDBQT dans votre répertoire en faisant
ls
Cette préparation peut être réalisé de manière interactive en utilisant l’option -M. Pour cela faire la
commande suivante :
prepare_receptor4.py -­‐r recepteur.pdb -­‐o recepteur.pdbqt -­‐M
Etape 2. Prépara,on du ligand
Lancer la commande :
prepare_ligand4.py -­‐l laminarine.pdb -­‐o laminarine.pdbqt -­‐A ‘hydrogens’ -­‐U nphs -­‐Z
• l’option -­‐l laminarine.pdb indique le fichier PDB du recepteur.
• l’option -­‐o recepteur.pdbqt indique le nom du fichier de sortie (sera au format PDBQT qu’utilise
AutoDock)
• l’option -­‐A ‘hydrogens’ vérifie si les atomes d’hydrogènes manquent et effectue les réparations
nécessaires. En effet, le fichier PDB fourni ne contient pas les hydrogènes (voir pourquoi dans le
cours de crystallo).
• l’option -­‐U nphs permet d’unifier les hydrogènes polaires avec les carbones les portant et de
supprimer les hydrogènes non-polaires.
• l’option -­‐Z inactive toutes les possibilités de rotation autour des angles de torsions. Le ligand est
ici considéré comme rigide.
D’autres options son possibles (voir annexe 2)
Vérifier la présence du fichier PDBQT (laminarine.pdbqt) dans votre répertoire en faisant
ls
Inspectez le contenu du fichier PDBQT à l’aide d’un éditeur de texte.
Cette préparation peut être réalisé de manière interactive en utilisant l’option -M. Pour cela faire la
commande suivante :
prepare_receptor4.py -­‐r recepteur.pdb -­‐o recepteur.pdbqt -­‐M
Etape 3. Prépara,on de la grille de recherche
C’est une étape cruciale dans une expérience de docking moléculaire. La qualité des résultats
dépend souvent de la manière dont on définit la grille.
Sans hypothèse a priori sur le site de fixation du ligand, il est d’usage de définir une grille
permettant d’effectuer une recherche sur l’ensemble de la surface de la protéine. La grille englobera
alors l’ensemble de la protéine.
Si le site de fixation est connu ou si on a des hypothèses fortes sur une région de fixation du ligand,
il est d’usage de définir une grille restreinte sur la zone ciblée. En général, cela permet d’obtenir de
meilleurs résultats.
Vous utiliserez le logiciel AutoDock Tools pour définir la grille.
• ouvrez le fichier recepteur.pdbqt en faisant FILE -> READ MOLECULE
• vous pouvez faire afficher la molécule en représentation “ruban”. Voir annexe 3.
• il faut indiquer au logiciel que cette molécule est le récepteur sur lequel vous allez définir votre
grille. Pour cela utiliser l’option GRID -> MACROMOLECULE -> CHOOSE. Sélectionner
recepteur.pdbqt.
Etape 3. Prépara,on de la grille de recherche (suite...)
Ensuite vous devrez définir la grille de recherche. Pour cela, vous utiliserez l’option GRID ->
GRID BOX. Une boîte s’affiche au centre de votre molécule avec 3 faces colorées en rouge (l’axe
x), vert (l’axe y) et bleu (l’axe z).
S’ouvre aussi la fenêtre suivante :
De manière interactive, vous pouvez avec votre souris, déplacer et changer la taille de la grille selon
les 3 axes. Pour cela, vous pouvez soit utiliser l’interface graphique à l’aide de la souris en cliquant
sur l’une des 3 faces soit en entrant directement les coordonnées du centre de la boîte et les tailles
dans les 3 dimensions x, y et z.
Le site de fixation étant connu, ouvrez le fichier laminarine.pdbqt. Le ligand tel qu’il apparaît dans
la fenêtre graphique, est positionné dans le site supposé de liaison connu (ici on triche un peu !).
Définissez une boîte dont les dimensions peuvent accommoder le ligand.
Vous devriez pouvoir centrer la boîte autour des coordonnées suivantes (données à titre indicatif) :
x center = 46.076
y center = 47.629
z center = 35.604
Pour les dimensions de la boîte, il y a deux choses à considérer :
- le nombre de points sur chaque axe (le maillage)
- les distances en angstroms entre les points
Ceci permet de définir un maillage qu’AutoDock va explorer. Plus la distance entre les points est
petite, plus la recherche sera fine et plus le temps de calcul sera long. Idem, plus le nombre de
points est élevé, plus la recherche sera longue.
L’espace entre les points du maillage se définit par le paramètre “Spacing”. On gardera la valeur par
défaut de 0.375 Å.
Agrandissait la grille de sorte que le ligand y soit totalement incluse. Notez le nombre de points
pour les trois dimensions. Pour chacune de ces dimensions (axes x, y et z), calculez la taille en Å de
la grille en multipliant ces nombres de points par 0.375. Notez ces valeurs précieusement.
Dans un éditeur de texte, créer un fichier que vous nommerez conf_stage_roscoff.txt avec les
données suivantes :
receptor = [PATH]/recepteur.pdbqt
ligand = [PATH]/ligand.pdbqt
center_x = 46.076
center_y = 47.629
center_z = 35.604
fichiers récepteur et ligand
centre de gravité de la grille
size_x = dimension en angströms axe x
size_y = dimension en angströms axe y
size_z = dimension en angströms axe z
out = [PATH]/docking_rigid.pdbqt
energy_range = 4
num_modes = 100
exhausUveness = 15
fichiers de sorUe (résultats)
energy_range : différences d’énergie maximale (en kcal/mol) entre les soluUons trouvées
num_modes : nombre d’essais -­‐ exhausUveness : exhausUvité de la recherche dans la grille
log = [PATH]/docking_rigid.log
cpu = 4
dimensions de la grille
fichiers contenant les différents messages d’exécuUon de VINA
nombre de processeurs à uUliser
Etape 4. Lancement du docking moléculaire et analyse des résultats
Vous êtes fin prêt pour lancer le docking moléculaire. Vous utiliserez le logiciel AutoDock VINA
qui présente une version améliorée et plus rapide que AutoDock 4.2.
Le logiciel VINA a besoin de 3 choses :
• le fichier de configuration de l’expérience (votre fichier conf_stage_roscoff.txt)
• le fichier PDBQT du récepteur (recepteur.pdbqt)
• le fichier PDBQT du ligand (laminarine.pdbqt)
Lancer la commande suivante :
vina -­‐-­‐config conf_stage_roscoff.txt
L’option --config indique à VINA qu’il faut utiliser un fichier de configuration. Ce fichier contient
tout les paramètres nécessaires à la bonne exécution de l’expérience de docking moléculaire.
A la fin de l’exécution les résultats sont sauvegardés dans un fichier appelé docking_rigid.pdbqt.
Dans PyMol, ouvrez les fichiers suivants :
• recepteur.pdb
• docking_rigid.pdbqt
Vous pouvez faire défiler les différentes solutions (aussi dites ‘poses’) trouvées en suivant les
indications données en séance. Chaque pose représente une solution représentative d’un ‘mode’. Un
mode représente un “cluster” de k solutions. Plus k est grand, plus le mode est “peuplé”. Les
résultats fournis par VINA ne permettent hélas pas de connaître le nombre k dans chaque mode. En
pratique, seuls les n meilleurs ‘modes’ dans la limite de energy_range sont retournés par VINA (n
pouvant varier de 1 à 20).
Il n’est pas facile de connaître quelle est la bonne ‘pose’ du ligand dans le site si on n’a aucune
hypothèse a priori. Il peut arriver que la meilleure pose ne soit pas la bonne solution (ce n’est pas si
rare !). Néanmoins, les poses dérivées de clusters fortement peuplés sont souvent les bonnes
solutions. Mais VINA ne donne pas cette information, AutoDock 4.2 le donne. Il convient donc à
l’utilisateur de disposer de critères supplémentaires pour choisir la bonne solution.
Ici, connaissant le site de fixation, nous avons une hypothèse forte sur comment doit être orienté le
ligand et donc filtrer “manuellement” les solutions fournies par VINA.
Pour connaître les énergies de liaisons de chacune des poses trouvées, ouvrez le fichier dans un
éditeur de texte. Le résultat se trouve dans la deuxième ligne de chaque MODEL.
Une commande linux simple permet de le récupérer :
grep -­‐B 2 “RESULT” docking_rigid.pdbqt
Annexe 1 - les options du programme prepare_receptor4.py
Description of command...
-r
receptor_filename
Optional parameters:
[-v] verbose output (default is minimal output)
[-o pdbqt_filename] (default is 'molecule_name.pdbqt')
[-A] type(s) of repairs to make:
'bonds_hydrogens': build bonds and add hydrogens
'bonds': build a single bond from each atom with no bonds to its closest
neighbor
'hydrogens': add hydrogens
'checkhydrogens': add hydrogens only if there are none already
'None': do not make any repairs
(default is 'None': do not to make any repairs)
[-C] preserve all input charges ie do not add new charges
(default is addition of gasteiger charges)
[-p] preserve input charges on specific atom types, eg -p Zn -p Fe
[-U] cleanup type:
'nphs': merge charges and remove non-polar hydrogens
'lps': merge charges and remove lone pairs
'waters': remove water residues
'nonstdres': remove chains composed entirely of residues of
types other than the standard 20 amino acids
'deleteAltB': remove XX@B atoms and rename XX@A atoms->XX
(default is 'nphs_lps_waters_nonstdres')
[-e] delete every nonstd residue from any chain
'True': any residue whose name is not in this list:
['CYS', 'ILE', 'SER', 'VAL', 'GLN', 'LYS', 'ASN',
'PRO', 'THR', 'PHE', 'ALA', 'HIS', 'GLY', 'ASP',
'LEU', 'ARG', 'TRP', 'GLU', 'TYR','MET']
will be deleted from any chain. NB: there are no
nucleic acid residue names at all in the list.
(default is False which means not to do this)
[-M] interactive
(default is 'automatic': outputfile is written with no further user input)
Annexe 2 - les options du programme prepare_ligand4.py
prepare_ligand4.py -l filename
Description of command...
-l
ligand_filename
Optional parameters:
[-v]
verbose output
[-o pdbqt_filename] (output filename)
[-d]
dictionary to write types list and number of active torsions
[-A]
type(s) of repairs to make:
bonds_hydrogens, bonds, hydrogens
[-C]
do not add charges
[-p]
preserve input charges on atom type, eg -p Zn
[-U]
cleanup type:
nphs_lps, nphs, lps, ''
[-B]
type(s) of bonds to allow to rotate
[-R]
index for root
[-F]
check for and use largest non-bonded fragment (False)
[-M]
interactive (default is automatic)
[-I]
string of bonds to inactivate composed of
of zero-based atom indices eg 5_13_2_10
will inactivate atoms[5]-atoms[13] bond
and atoms[2]-atoms[10] bond
(default is '')
[-Z]
inactivate all active torsions
(default is leave active)
Annexe 3 - Affichage en mode ruban du récepteur dans AutoDock Tools