ATELIER GLYCO-OUEST “INTERACTIONS SUCRES

Download Report

Transcript 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 • l’option -­‐A  checkhydrogens -­‐U  nphs 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).

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 • l’option -­‐A  ‘hydrogens’ cours de crystallo).

-­‐U  nphs 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 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 dimensions  de  la  grille 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 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