Informations

Automatiser la création de figures avec PyMOL


Ce que je veux faire

J'ai une liste de près de 200 entrées PDB que je dois inspecter visuellement. Heureusement, l'image miniature affichée sur le site Web de PDB (exemples avec RCSB ou PDBe pour une structure bien connue) est suffisante pour déterminer si je veux exclure une entrée pour une utilisation ultérieure de la liste d'entrées nettoyée résultante.

Maintenant, rechercher ces entrées une par une sur le site Web est facile à faire, mais est très lent et sujet aux erreurs. Je dois faire attention à copier/coller les codes d'accession, et cela prend beaucoup de temps pour accéder à ma liste, copier un code d'accession, aller sur le site Web, coller, rechercher et avoir ma réponse une fois la page de résultats entièrement chargée.

En d'autres termes, je suis paresseux et je pense que mon temps serait mieux dépensé à faire quelque chose de plus intéressant que de copier/coller 200 fois.

Tentative de solution

J'ai pensé qu'il ne devrait pas être trop difficile d'utiliser PyMOL avec un peu de script pour récupérer automatiquement chaque entrée et générer une petite image (plus rapide que le lancer de rayons, dont je n'ai pas besoin pour cette inspection rapide). Voici ma tentative :

pdb_entries = ['1m18', '1eqz'] # La vraie liste a presque 200 entrées, mais 2 suffisent pour tester le script pour l'entrée dans pdb_entries : cmd.fetch(entry, async = 0, path = "./pdb- files") filename = "./pdb-imgs/" + entrée cmd.png">biologie structurale visualisation de la structure 3D pymol 

Cristaux de protéines comme le métal lourd

Cet article est le premier d'une série consacrée à script et automatisation dans la vie quotidienne de la biologie structurale. La semaine dernière, mon ami Enrico m'a demandé comment écrire un petit script en pymol pour sélectionner les eaux médiatrices des liaisons H à l'interface entre deux chaînes protéiques. Ma première pensée s'est portée sur l'option AROUND des sélections de pymol, mais nous cherchions quelque chose plus rapide, quelque chose à utiliser pour obtenir une sortie de ces molécules d'interface pour de nombreux fichiers PDB différents, et faire des comparaisons. Alors, voici l'astuce :

Créez d'abord un script pymol (messelections.pml) qui contient le code suivant. Ce script enregistrera indépendamment les molécules d'eau qui se trouvent à une certaine distance (3,5 ?) des deux chaînes et les enregistrera sous forme de deux fichiers pdb distincts, nommés file1.pdb et file2.pdb :

Ensuite, créez un fichier appelé (je l'ai appelé couper) contenant le code bash suivant :

Si vous créez et exécutez maintenant un script bash comme celui-ci :

Le fichier de sortie commun.pdb contiendra les molécules d'eau qui entrent en contact (à la distance XX choisie ci-dessus) les deux chaînes en même temps.

Je suis sûr qu'il y aura 1000 autres façons de le faire, mais avec cette combinaison de pymol/bash/awk, c'est flexible, efficace et automatique. ??


Automatiser la fabrication de figures avec PyMOL - Biologie

Conditions:
Coordonnées dans un fichier PDB. Cartes au format X-plor (doit avoir le suffixe *.xplor). Pymol fonctionne sur des machines Linux ou PC.

Manuel pour Pymol : Version HTML ou PDF

Référence pour Pymol :
Il n'y a pas encore de publications évaluées par des pairs sur PyMOL. Veuillez donc citer PyMOL comme suit :

Comment écrire un script pymol.

Connectez-vous à une machine Linux ou PC.

Obtenez les coordonnées de la protéine caroténoïde orange, 1M98.pdb.

Téléchargez ce script pymol, pymol1.pml. Il s'agit d'une copie du script ci-dessous. Lisez les commentaires associés à chaque commande ci-dessous pour vous familiariser avec le langage pymol.

#BEGIN SCRIPT PYMOL
# antialias =1 lisse les bords irréguliers, 0 le désactive
définir l'anticrénelage = 1

# stick_radius -ajuste l'épaisseur des liaisons atomiques
définir stick_radius = 0.3

# mesh_radius -pour ajuster l'épaisseur de l'électron
# contours de densité
définir mesh_radius = 0.02

# bg_color --définit la couleur de fond
bg_color blanc

# charger le fichier pdb et lui donner un nom d'objet
charger 1M98.pdb, ocp

# masquer les atomes non liés (c'est-à-dire les eaux)
cacher non lié

# montrer des rubans de dessins animés
montrer la bande dessinée

# Masquer la représentation linéaire par défaut des liaisons atomiques
masquer les lignes

# Utiliser des représentations standard d'hélice, de brin et de boucle
# autres possibilités : bande dessinée boucle, bande dessinée rect,
# ovale de dessin animé et tube de dessin animé
dessin animé automatique

# Si vous n'avez pas d'affectations de structure secondaire
# dans l'en-tête PDB puis décommentez ce qui suit
# ligne pour détecter la structure secondaire.
# Attention, approximation très grossière.
# Ou obtenir l'en-tête de
http://www.mbfys.lu.se/Services/SecStr/
#util.ss ocp

# Faites des hélices fantaisie avec des arêtes sur les bords comme
# molscript fait
# 1 est allumé. 0 est éteint.
définir cartoon_fancy_helices=1

# Rendre les brins plats=1 ou passer par les positions CA=0
# Mis à 0 lors de l'affichage des chaînes latérales d'un brin
définir cartoon_flat_sheets = 1.0

# Dessiner les boucles smooth=1 ou passer par les positions CA=0
# Mis à 0 lors de l'affichage des chaînes latérales d'une boucle
définir cartoon_smooth_loops = 0

# Définir la couleur des résidus
# pour trouver les noms des couleurs disponibles
# cliquez sur le carré de couleur arc-en-ciel dans le
# coin supérieur droit de la fenêtre graphique
couleur rouge, (résid 2:18)
couleur rouge, (résid 176:317)
couleur marine, (résid 19:54)
couleur marine, (résid 122:175)
couleur jaune, (résid 55:124)
couleur orange, (résid 402:403)

# Afficher les sphères pour les ions chlorure
afficher les sphères, resid 402:403

# Afficher des bâtons pour les obligations
afficher les bâtons, (résid 401 ou resid 350 ou resid 351)


### couper ci-dessous ici et coller dans le script ###

Exécutez le script pymol en tapant :
pymol pymol1.pml

Orientez votre modèle et ajustez l'effet de brouillard pour le repère de profondeur. Utilisez la souris pour faire pivoter et translater la vue. Il y a une clé pour comprendre les commandes de la souris dans le coin inférieur droit de la fenêtre graphique.

Pour traduire (déplacer) la molécule, maintenez le bouton central de la souris enfoncé et faites glisser la souris.

Pour effectuer une rotation autour de l'axe Z, placez le curseur près d'un des coins de l'image puis maintenez le bouton gauche de la souris enfoncé et faites glisser la souris.

Pour effectuer une rotation autour de l'axe X/Y, placez le curseur près du centre de l'image puis maintenez le bouton gauche de la souris enfoncé et faites glisser la souris.

Une fois que vous avez une vue qui vous plaît, ajustez le brouillard en changeant les plans de détourage avant et arrière. Voir les figures 3 et 4.

Plan de détourage arrière : maintenez la touche Maj enfoncée et le bouton droit de la souris et faites glisser la souris vers la droite. Vous devriez voir le brouillard se renforcer.

Plan de détourage avant : maintenez la touche Maj enfoncée et le bouton droit de la souris et faites glisser la souris vers vous. Vous devriez voir le plan de détourage apparaître. Ajustez le plan de découpage avant et arrière pour vous concentrer sur la zone de la molécule que vous souhaitez afficher.

Appuyez sur le bouton "obtenir la vue" sur la fenêtre graphique de pymol. Vous verrez une matrice écrite à l'écran. Mettez en surbrillance cette matrice avec la souris et appuyez sur CNTRL + C pour copier. Collez cette matrice au bas du script pour enregistrer la vue et l'orientation que vous avez choisies. Utilisez votre éditeur préféré pour créer un fichier de script pymol. J'utilise "vi" sur Linux, ou "wordpad" sur PC. La prochaine fois que vous exécuterez ce script, vous reviendrez automatiquement à cette vue.

Exemple de matrice de "get view"

### couper ci-dessous ici et coller dans le script ###
set_view (
0.897383630, -0.389759243, 0.206861854,
-0.192380354, 0.076313257, 0.978345513,
-0.397105575, -0.917748511, -0.006498617,
0.000000000, 0.000000000, -225.770706177,
27.267017365, 0.569222450, 16.834548950,
202.837875366, 241.047363281, 0.000000000 )
### couper ci-dessus ici et coller dans le script ###

Affichage d'une surface moléculaire

Affichage d'une surface moléculaire transparente

afficher la surface, ocp
définir la transparence=0,5

Vous devez faire deux images, droite et gauche. Puis fusionnez les deux images ensemble dans photoshop.

tourner y, -3
rayon
png pymo_right.png

Pour l'image de gauche :
tour y, +6
rayon
png pymol_left.png

Ou pour les perfectionnistes, essayez :
angle de rayon=-3
png image1.png
angle de rayon=3
png image2.png
Ceci est supérieur à l'utilisation de la commande « tourner » car elle fait également pivoter la source de lumière. De cette façon, les ombres auront l'air correctes.

Vous pouvez sélectionner le résidu et l'atome où l'étiquette sera placée .
Mais, ces étiquettes sont assez grossières. Je vous recommande d'utiliser Photoshop pour étiqueter les figurines à publier.

Faire une étiquette pour le caroténoïde :
étiquette ( resi 350 et nom c16), " caroténoïde 1 "
étiquette (resi 351 et nom c16), "caroténoïde 2"
étiquette (resi 401 et nom c1), "saccharose"
set label_color =1

couleur rouge, ss h
couleur marine, ss s
couleur jaune, ss l+''

# pour colorer les ligands par couleur d'atome, utilisez util.cbag
# Les autres fonctions sont cbag, cbac, cbas, cbap, cbak, cbaw et cbab
# (gris (carbone), cyan, saumon, violet, rose, blanc (hydrogène) et ardoise)

util.cbag ocp et (résid 350:351 ou resid 401
)

Figure 2. Clé des commandes de la souris Pymol.

Figure 3. Contrôle des plans de détourage avant et arrière.

Figure 4. Fenêtre de Pymol obtenue à la deuxième étape. Vue choisie pour illustrer la double symétrie du dimère.

Figure 5. Après le lancer de rayons (étape 3), les bords sont lissés et les ombres sont projetées. Beauté!

Affichage de la surface moléculaire de Pymol.

Surface moléculaire rendue transparente à 50 %.


Image stéréo

coloré par la structure secondaire


2 Comparaison de logiciels

Pour comprendre son utilité, il est utile de comparer BlendMol à d'autres programmes de visualisation macromoléculaire.

2.1 Programmes de bureau

BlendMol et des programmes dédiés tels que VMD ( Humphrey et al., 1996) ou PyMOL ( DeLano, 2002) n'occupent pas le même créneau. Ces derniers incluent des outils d'analyse de structures et de simulations à résolution atomique. En revanche, BlendMol sert de pont entre VMD/PyMOL et Blender. Dans Blender, les molécules sont stockées sous forme de maillages, pas de collections d'atomes avec des coordonnées exactes. Plutôt qu'une analyse, l'objectif est de créer des images améliorées à utiliser dans des revues, des programmes de sensibilisation, des sites Web et des cours.

2.2 Bibliothèques de visualisation moléculaire basées sur un navigateur

Le matériel supplémentaire montre comment BlendMol peut faciliter la visualisation macromoléculaire basée sur un navigateur. En ce sens, il est similaire aux bibliothèques JavaScript telles que 3Dmol.js ( Rego et Koes, 2015), NGL Viewer ( Rose et Hildebrand, 2015 Rose et al., 2016) et JSmol/Jmol ( Hanson, 2010 Hanson et al., 2013). Ces bibliothèques sont idéales pour générer rapidement des représentations moléculaires basées sur un navigateur à la volée. Ils traitent directement les fichiers d'entrée (PDB), sans nécessiter de programmes intermédiaires tels que VMD ou Blender.

BlendMol est utile lorsque les visualisations peuvent être pré-rendues. Par exemple, Blender peut « cuire » des ombres/éclairages photoréalistes sur des textures d'image compatibles avec le navigateur (Fig. supplémentaire S4). En revanche, les bibliothèques JavaScript uniquement ne peuvent pas effectuer ces calculs gourmands en ressources en temps réel. De plus, à notre connaissance, aucune bibliothèque de visualisation macromoléculaire basée sur un navigateur ne peut afficher des molécules en réalité virtuelle (Fig. supplémentaire S5). BlendMol, avec le moteur de jeu Babylon.JS (voir Matériel supplémentaire ), offre une expérience plus immersive.

2.3 Autres plugins logiciels de modélisation

À notre connaissance, aucun autre plugin n'intègre de manière aussi transparente les programmes populaires d'analyse macromoléculaire et d'infographie (par exemple VMD/PyMOL et Blender). BlendMol permet aux utilisateurs d'importer dans Blender les représentations et les schémas de coloration qu'ils utilisent pour l'analyse dans VMD ou PyMOL. Le rendu avancé n'est donc qu'une étape de plus dans leurs workflows existants. Cela étant dit, il existe plusieurs autres plugins de visualisation moléculaire pour Blender et des environnements de modélisation 3D similaires. Le matériel supplémentaire comprend une comparaison détaillée.


Automatisation #1 – Sélection des molécules d'eau médiatrices des liaisons H à l'interface entre deux chaînes protéiques

Cet article est le premier d'une série consacrée à script et automatisation dans la vie quotidienne de la biologie structurale. La semaine dernière, mon ami Enrico m'a demandé comment écrire un petit script en pymol pour sélectionner les eaux médiatrices des liaisons H à l'interface entre deux chaînes protéiques. Ma première pensée s'est portée sur l'option AROUND des sélections de pymol, mais nous cherchions quelque chose plus rapide, quelque chose à utiliser pour obtenir une sortie de ces molécules d'interface pour de nombreux fichiers PDB différents, et faire des comparaisons. Alors, voici l'astuce :

Créez d'abord un script pymol (messelections.pml) qui contient le code suivant. Ce script enregistrera indépendamment les molécules d'eau qui se trouvent à une certaine distance (3,5 ?) des deux chaînes et les enregistrera sous forme de deux fichiers pdb distincts, nommés file1.pdb et file2.pdb :

Ensuite, créez un fichier appelé (je l'ai appelé couper) contenant le code bash suivant :

Si vous créez et exécutez maintenant un script bash comme celui-ci :

Le fichier de sortie commun.pdb contiendra les molécules d'eau qui entrent en contact (dans la distance XX choisie ci-dessus) les deux chaînes en même temps.

Je suis sûr qu'il y aura 1000 autres façons de le faire, mais avec cette combinaison de pymol/bash/awk, c'est flexible, efficace et automatique. ??


Fond

L'amarrage moléculaire est devenu un outil puissant pour la découverte et l'optimisation de leads. Un grand nombre de programmes d'accueil ont été développés au cours des trois dernières décennies, basés sur différents algorithmes de recherche et fonctions de notation. Dans le but de rendre ces programmes d'accueil plus conviviaux, en particulier pour les débutants, différentes interfaces utilisateur graphiques (GUI) ont été développées pour aider à la préparation de systèmes moléculaires, à l'exécution des calculs et/ou à l'analyse des résultats. Des exemples d'interfaces graphiques disponibles (développées principalement pour AutoDock [1] et/ou Autodock Vina [2]) sont AutoDock Tools (ADT), intégrés dans le package graphique PMV [1], BDT [3], DOVIS [4, 5], VSDocker [6], AUDocker LE [7], WinDock [8], DockoMatic [9], plugin PyMOL AutoDock (PyMOL/AutoDock) [10], PyRx [11], MOLA [12], DockingApp [13] et JADOPPT [ 14].

Nous présentons ici un nouvel outil multiplateforme, AMDock (Assisted Molecular Docking), dont le principal avantage par rapport à ses prédécesseurs est l'intégration de plusieurs outils externes précieux au sein d'une interface graphique simple et intuitive qui guide les utilisateurs le long de protocoles d'amarrage bien établis - en utilisant Autodock4 ou AutoDock Vina - de la préparation du système à l'analyse des résultats.

Fonctionnalités et workflow

AMDock intègre des fonctionnalités d'Autodock Vina et Autodock4, des scripts ADT, AutoLigand [15], Open Babel [16], PDB2PQR [17] et PyMOL [18]. Pour les protéines contenant un ion zinc dans le site actif, AMDock a la possibilité d'utiliser les paramètres Autodock4Zn [19] spécialement adaptés. AMDock est codé en Python 2.7 et est disponible pour Windows et Linux. Sous Windows, il est fourni avec tous les outils intégrés, aucune installation de logiciel supplémentaire n'est donc requise. Sous Linux, seuls Open Babel et PyMOL doivent être installés (les deux outils sont inclus dans les référentiels Linux les plus populaires).

La fenêtre principale d'AMDock comporte cinq onglets : 1) Accueil, 2) Options d'accueil, 3) Analyse des résultats, 4) Configuration et 5) Informations. Un résumé des fonctionnalités et du flux de travail d'AMDock est présenté ci-dessous (Fig. 1) et discuté ensuite plus en détail.

Dans l'onglet "Accueil", l'utilisateur peut sélectionner le moteur d'amarrage : Autodock Vina ou Autodock4, avec la possibilité supplémentaire d'utiliser les paramètres Autodock4Zn. Ensuite, l'utilisateur est automatiquement dirigé vers l'onglet « Options d'amarrage », qui contient quatre panneaux qui guident une préparation séquentielle d'une simulation d'amarrage.

Fichiers d'entrée pour AMDock

Au minimum, les coordonnées cartésiennes des molécules de ligand et de récepteur sont nécessaires, qui peuvent être fournies dans plusieurs formats de structure courants, par ex. PDB ou PDBQT pour la protéine, et PDB, PDBQT ou Mol2 pour le ligand. Si les coordonnées de la protéine se rejoignent avec un ligand lié, les coordonnées de ce dernier sont stockées et peuvent être utilisées par la suite pour définir l'espace de recherche.

Le programme fonctionne en suivant trois étapes principales :

Préparation des fichiers d'entrée d'amarrage: Tout d'abord, l'utilisateur peut définir une valeur de pH pour la protonation à la fois du ligand (optionnel, valeur par défaut 7,4), en utilisant Open Babel et de la protéine (valeur par défaut : 7,4), en utilisant PDB2PQR. Deux options d'amarrage différentes sont disponibles : a) « amarrage simple », pour prédire le mode de liaison d'un seul complexe protéine-ligand, et b) « amarrage hors cible », pour prédire les poses de liaison d'un ligand avec deux récepteurs différents, c'est-à-dire la cible et le hors cible. Enfin, l'option « Scoring » incluse dans cet onglet permet de scorer un complexe protéine-ligand déjà existant, à l'aide des fonctions Autodock Vina, Autodock4 ou Autodock4Zn. Une fois le protocole d'amarrage ou de scoring sélectionné, les fichiers d'entrée sont préparés à l'aide de scripts ADT.

Définir l'espace de recherche: Quatre approches différentes peuvent être utilisées pour définir un centre et des dimensions de boîte : a) « Automatique » - le programme utilise AutoLigand pour prédire les sites de liaison possibles, puis une boîte avec des dimensions optimales est centrée sur chaque objet AutoLigand, note de bas de page 1 à chaque liaison prédite placer. b) « Center on Residue(s) » - AutoLigand est utilisé pour générer un objet avec un volume en correspondance avec la taille du ligand, en utilisant comme référence le centre géométrique des résidus sélectionnés. Ensuite, une boîte aux dimensions optimales est centrée sur l'objet généré. c) "Center on Hetero" - une case est placée sur le centre géométrique d'un ligand existant (si le récepteur a été donné en complexe avec un ligand), et d) "Box" - le centre et les dimensions de la case sont définis par l'utilisateur . La boîte générée avec l'une de ces méthodes peut être visualisée dans PyMOL et facilement modifiée à la convenance de l'utilisateur à l'aide du nouveau plugin AMDock (adapté de [10]) intégré dans la fenêtre de menu PyMOL.

Exécution des simulations d'amarrage et analyse des résultats: Après avoir exécuté les calculs d'amarrage moléculaire (démarrés en cliquant sur le bouton « Exécuter »), l'utilisateur sera automatiquement dirigé vers l'onglet « Analyse des résultats », où l'affinité, les valeurs Ki estimées et les efficacités de ligand sont répertoriées pour les différentes poses de liaison.

Le Ki estimé est une valeur très utile car il est plus lié aux paramètres expérimentaux habituellement mesurés, par rapport à l'affinité. L'efficacité du ligand (LE), d'autre part, est un paramètre informatif important lors de la sélection d'un composé principal [20]. Ici, LE est calculé en utilisant l'équation suivante :

où G est l'énergie libre de liaison ou la valeur de score calculée et HA est le nombre d'atomes lourds (non hydrogène) du ligand. Les composés avec LE > 0,3 sont mis en évidence comme des composés potentiels de plomb [21].

Le bouton « Afficher dans PyMOL » lance PyMOL avec une visualisation personnalisée du complexe entre le récepteur et la pose sélectionnée (la pose de ligand la plus faible en énergie est choisie par défaut). Les données résultantes tout au long du processus sont stockées dans un fichier (*.amdock), qui peut être utilisé pour examiner les résultats à tout moment ultérieurement.

Différents paramètres d'accueil peuvent être définis dans l'onglet « Configuration », tandis que l'onglet « Info » donne accès à une documentation pratique, y compris un manuel d'utilisation et des références.

Visualisation

AMDock s'appuie sur PyMOL pour la visualisation à deux étapes différentes : 1) configuration de l'emplacement et des dimensions de la grille (l'espace de recherche) et 2) analyse des résultats de l'amarrage. PyMOL est un programme d'analyse moléculaire polyvalent et convivial qui, en outre, permet de créer des images de haute qualité pour la publication. Nous avons codé dans AMDock plusieurs représentations PyMOL prédéterminées pour les deux étapes, en sélectionnant la conception visuelle et les informations que nous avons considérées comme optimales dans chaque cas. Ces représentations prédéfinies peuvent être modifiées par l'utilisateur dans PyMOL.

Espace de recherche

Les représentations prédéterminées (par ordre décroissant de complexité, selon le nombre d'éléments dans le contenu de visualisation) sont les suivantes : 1) Boîte - une représentation simple où la protéine étudiée apparaît sous forme de bande dessinée, accompagnée de la boîte avec les spécifications définies par l'utilisateur (Fig. 2a) 2-Centrée sur Hétéro - comprend la protéine réceptrice (dessin animé) et la boîte avec une taille optimale centrée sur le ligand précédent sélectionné (sticks) (Fig. 2b) 3- Centré sur le(s) résidu(s) - une représentation qui permet à l'utilisateur d'identifier les résidus qui ont été sélectionnés pour définir l'espace de recherche. La protéine est représentée sous forme de bande dessinée, les résidus sélectionnés sous forme de bâtonnets et l'objet AutoLigand sous forme de points. La case calculée est également affichée, afin que l'utilisateur puisse facilement vérifier et ajuster (si nécessaire) sa position et ses dimensions (Fig. 2c). 4-Automatique – Ici, nous avons eu l'intention de créer une représentation simplifiée pour montrer tous les sites de liaison prédits par AutoLigand. La protéine est en cartoon, chaque objet AutoLigand est représenté en sticks, entouré d'une surface construite sur ses résidus voisins. Étant donné que les simulations d'amarrage doivent être effectuées pour chaque site prédit par AutoLigand, une boîte est générée pour chaque site, mais affichée uniquement pour un site sélectionné par l'utilisateur (Fig. 2d). Comme mentionné ci-dessus, dans l'une de ces variantes, le centre et la taille de la boîte peuvent être facilement modifiés à l'aide du plugin AMDock implémenté dans PyMOL.

Visualisation du site de liaison avec PyMOL. une Boîte définie par l'utilisateur. Il s'agit d'un exemple utilisé dans les didacticiels avec AutoDock4Zn et la farnésyltransférase (hFTase). b Centré sur Hétéro, (c) Centré sur le(s) Résidu(s) et () Mode automatique. Les représentations B, C et D correspondent à Vps34 (PDB : 4uwh)

L'analyse des résultats

La protéine est représentée dans le dessin animé. Chaque pose de ligand est dessinée en bâtonnets et ses contacts polaires avec la protéine sont représentés par des lignes pointillées. Une visualisation similaire est également possible pour les deux protéines si la procédure "Off-Target Docking" a été choisie (Fig. 3c). Cela permet une comparaison simultanée des poses de ligands pour les protéines cibles et non cibles.

Amarrage hors cible du SAR405. une Visualisation de l'espace de recherche d'amarrage, centré sur les ligands connus. b Comparaison d'affinité. c Superposition de la meilleure pose de SAR405 en complexe avec PI3Kγ (3apf) (protéine en cartoon cyan et ligand en sticks magenta) sur le complexe de référence Vps34-SAR405 (4oys) (protéine en cartoon gris et ligand en sticks verts)

Etude de cas : Sélectivité de liaison SAR405 - PI3Kγ vs Vps34

La phosphatidylinositol 3-kinase (PI3K) est une enzyme impliquée dans la croissance, la prolifération, la motilité, la survie et le trafic intracellulaire [22]. PI3K est également une cible cancéreuse prometteuse, plusieurs de ses inhibiteurs étant déjà au stade clinique. Quelques-uns de ces inhibiteurs sont actuellement en essais cliniques de phase III et l'un d'entre eux, l'alpelisib, a récemment (mai 2019) reçu l'approbation de la FDA pour une utilisation dans le traitement du cancer du sein métastatique.

PI3K possède plusieurs isoformes qui sont regroupées en 3 classes différentes. La classe I comprend quatre isoformes différentes (α, β, et δ), tandis que la classe III est composée d'une seule protéine, appelée Vps34 [22]. En raison de leur séquence et de leurs similitudes structurelles, certains inhibiteurs peuvent se lier à différentes isoformes, alors que plusieurs autres inhibiteurs ont été conçus pour être spécifiques d'une isoforme. Notre groupe de recherche se concentre actuellement sur l'identification d'inhibiteurs de PI3K ayant la capacité d'inhiber les orthologues PI3K trouvés dans différents micro-organismes pathogènes, qui n'expriment que l'isoforme ancestrale Vps34. Pour cela, AMDock représente un outil précieux, notamment son option « Off-Target Docking ». Ici, nous démontrons son utilisation avec un exercice qui ressemble à notre propre travail de recherche.

Sar405 est un inhibiteur hautement spécifique de Vps34 (IC50 = 1,2 nM), tandis que son IC50 pour les autres isoformes est > 10 4 nM [23]. Une structure cristalline de SAR405 en complexe avec le Vps34 humain est disponible dans la Protein Data Bank [24] (code PDB : 4oys). Ici, nous utilisons le Vps34 humain comme récepteur « Target », tandis que l'isoforme gamma PI3K (PDB : 3apf) est utilisé comme récepteur « Off-Target ». Les deux structures contiennent un ligand lié dans le site actif, ce qui est pratique pour générer la grille. Dans la première étape, nous sélectionnons le programme d'accueil (Autodock Vina) et ensuite un dossier de projet est créé sur le disque dur de l'ordinateur. Après avoir chargé les deux structures protéiques, nous profitons de leur similitude de séquence pour utiliser l'option disponible d'alignement et de superposition de leurs structures à l'aide de PyMOL, ce qui permet de définir un espace de recherche commun et de simplifier l'analyse ultérieure des résultats d'amarrage. Ensuite, les fichiers d'entrée sont préparés automatiquement, ce qui inclut la protonation des résidus titrables, la fusion des hydrogènes non polaires et l'élimination des ions/eau. Le centre de la boîte est défini en fonction du centre géométrique des ligands liés (Fig. 3a), tandis que la taille de la boîte est définie en fonction du rayon de giration du ligand à ancrer [25], c'est-à-dire l'inhibiteur SAR405 dans ce cas. La conformation initiale du ligand (ses angles de torsion) a été randomisée en utilisant ADT.

Une fois le processus terminé, les résultats montrent que SAR405 est plus sélectif pour Vps34 (− 9.2 kcal/mol) que pour Pi3Kγ (− 7.3 kcal/mol) comme prévu (Fig. 3b). La pose de liaison prédite pour SAR405 dans Vps34 est proche de la géométrie cristalline (rmsd = 1,9 pour tous les atomes de ligand, rmsd = 0,5 pour le noyau de l'anneau). De plus, la valeur Ki prédite pour ce complexe est de l'ordre du nanomolaire, ce qui est en accord avec la valeur expérimentale. D'autre part, une valeur Ki beaucoup plus élevée est prédite pour le complexe Pi3Kγ-SAR405, et la pose de liaison prédite diffère significativement de la structure cristallographique (rmsd = 4,7), comme le montre la figure 3c, ce qui peut expliquer la faible valeur d'affinité prédit par AutoDock Vina. Ce cas d'étude a été incorporé comme tutoriel dans le manuel d'utilisation, qui est inclus dans le dossier d'installation d'AMDock, et le wiki sur Github (https://github.com/Valdes-Tresanco-MS/AMDock-win/wiki/4.3 -Amarrage hors cible).

Discussion

AMDock fournit une nouvelle interface facile à utiliser et polyvalente pour travailler avec deux moteurs d'amarrage moléculaire, Autodock4 et Autodock Vina, ayant des fonctionnalités et des caractéristiques différentes. AMDock devrait être très utile aux chercheurs ayant peu d'expérience dans le travail avec les programmes d'accueil, car aucune connaissance préalable du fonctionnement particulier de ces programmes n'est nécessaire. Trois workflows différents (amarrage simple, amarrage hors cible et scoring) sont inclus dans l'environnement AMDock. Nous trouvons la procédure d'amarrage hors cible particulièrement utile pour mener des études de sélectivité des ligands - une étape critique dans le processus de conception de médicaments.

La préparation des fichiers d'entrée de manière appropriée et cohérente, ainsi que la définition correcte de l'espace de recherche, sont des problèmes critiques lors de la réalisation d'études d'amarrage moléculaire. Plusieurs programmes/scripts externes sont intégrés à AMDock pour permettre de préparer les fichiers d'entrée avec un minimum d'effort tout en gardant le contrôle du processus. AMDock utilise OpenBabel et PDB2PQR pour la protonation du ligand et du récepteur, respectivement, tandis que les autres interfaces graphiques mentionnées dans l'introduction utilisent ADT pour la protonation du récepteur et du ligand (à l'exception de DockingApp, qui utilise également OpenBabel pour la protonation du ligand).

Pour définir l'espace de recherche, AMDock propose plusieurs options pour définir la position de la boîte de grille dans différents scénarios, tandis que le ligand d'entrée est utilisé par défaut pour déterminer les dimensions optimales de la boîte, ce qui diminue le coût de calcul tout en optimisant le processus d'amarrage [25] . À cet égard, seuls ADT et le plugin PyMOL/AutoDock offrent des options limitées autres qu'un espace de recherche défini par l'utilisateur, mais dans tous les cas, la taille de la boîte doit être définie par l'utilisateur. Dans certaines de ces interfaces graphiques, comme dans DockingApp, l'espace de recherche couvre l'intégralité du récepteur, ce qui entraîne des coûts de calcul supplémentaires et compromet éventuellement la précision des simulations. Avec d'autres interfaces graphiques, l'utilisateur doit utiliser une application externe telle que ADT pour définir les paramètres de la boîte.

L'option « Centré sur le(s) résidu(s) » est préférable lorsque les résidus du site de liaison sont connus. Avec cette option, un objet placé au centre géométrique des résidus sélectionnés est généré avec AutoLigand sur la surface de la protéine. Cette procédure optimise à la fois l'emplacement et la taille de l'espace de recherche. Si la boîte était plutôt centrée sur le centre géométrique des résidus sélectionnés, une partie importante de celle-ci sera probablement intégrée dans la protéine, exigeant une plus grande taille pour couvrir l'espace d'échantillonnage nécessaire (Fig. 4). L'alternative « Centered on Hetero » est utile pour refaire des études sur des complexes avec des structures cristallographiques ou lors de l'étude de ligands avec des modes de liaison similaires (Fig. 2b). L'option "Automatique", en revanche, est souhaitable lorsqu'aucune information concernant le site de liaison n'est disponible. Dans ce cas, une course d'amarrage indépendante est effectuée pour chaque site de liaison prédit par AutoLigand (Fig. 2d). De cette façon, les informations de la méthode de classement AutoLigand sont combinées avec celles du moteur d'amarrage, sans faire de sélection arbitraire d'un des sites prédits. Ce processus se fait automatiquement et les résultats pour chacun des sites de liaison prédits peuvent être visualisés dans PyMOL. Globalement, la définition et la visualisation de la box nécessitent un effort minimal et peuvent toujours être modifiées, représentant ainsi un avantage non seulement pour l'utilisateur novice mais aussi pour les experts.

Comparaison entre une case (blanche) située au centre géométrique des résidus sélectionnés (A:ILE:634, A:TYR:670, A:PHE:684, A:PHE:758, A:ILE:760 chez le saumon) et une case a (magenta) centrée sur un objet généré par AutoLigand à partir du centre géométrique des résidus sélectionnés. Dans ce dernier cas, la boîte définit un espace d'échantillonnage de ligand plus optimal

Il convient de noter que nous avons standardisé la taille de la boîte pour qu'elle soit en Angstroms afin d'éviter les erreurs courantes, comme indiqué dans différents forums et listes de diffusion. Ces erreurs proviennent des différentes manières dont les dimensions de la boîte sont définies dans AutoDock (nombre de points + espacement de la grille) et Autodock Vina (en angströms), et peuvent rendre l'espace de recherche très petit ou trop grand, conduisant finalement à des incohérences dans les résultats d'amarrage obtenus.

L'intégration d'AMDock avec PyMOL représente un avantage significatif. En effet, PyMOL est un visualiseur moléculaire largement utilisé avec un grand soutien de la communauté et un développement actif. Dans PyMOL, les résultats d'amarrage peuvent être analysés avec plusieurs outils, en particulier avec le puissant profileur d'interaction protéine-ligand [26]. D'autres applications telles que ADT, PyRx ou DockingApp ont leurs propres visionneuses graphiques. PyRx et DockingApp offrent des solutions simples avec des capacités analytiques limitées, tandis qu'ADT ne permet qu'une analyse simple des interactions protéine-ligand.

De plus, avec AMDock, il est possible de lancer des simulations d'amarrage pour les métalloprotéines en utilisant le champ de force Zn de l'AutoDock, qui n'est disponible dans ADT que via la ligne de commande. Son option d'amarrage hors cible, très utile pour les études de réorientation des médicaments, n'est disponible que dans Dockomatic et PyRx (dans ce dernier cas, uniquement dans la version payante).

La plupart des interfaces graphiques d'accueil sont axées sur le filtrage virtuel. Actuellement, AMDock ne prend pas en charge le dépistage virtuel, cependant, nous travaillons actuellement sur sa mise en œuvre, pour le rendre disponible dans la prochaine version du programme.

Enfin, et comme ADT est probablement l'interface graphique d'amarrage la plus utilisée, nous proposons une comparaison plus détaillée entre AMDock et ADT (tableau 1).

Conclusion

AMDock est une interface graphique conviviale qui fonctionne de manière très intuitive et interactive, permettant d'effectuer des études d'amarrage moléculaire avec Autodock4 et AutoDock Vina avec un effort de configuration minimal. Ces caractéristiques font d'AMDock un outil attrayant également à des fins pédagogiques. AMDock rassemble des fonctionnalités et des procédures qui ne sont pas présentes dans d'autres programmes similaires. Il inclut les développements récents d'AutoDock, tels que le paramétrage d'Autodock4Zn. Pour notre groupe, AMDock a été très utile pour estimer le profil de sélectivité de différents inhibiteurs de PI3K par rapport aux protéines orthologues dans plusieurs micro-organismes. D'autres développements (ligand hydraté, amarrage covalent et criblage virtuel) seront inclus comme options d'amarrage dans les futures versions.


PyXlinkViewer: a flexible tool for visualisation of protein chemical crosslinking data within the PyMOL molecular graphics system

Chemical crosslinking-mass spectrometry (XL-MS) is a valuable technique for gaining insights into protein structure and the organization of macromolecular complexes. XL-MS data yields inter-residue restraints that can be compared with high-resolution structural data. Distances greater than the crosslinker spacer-arm can reveal lowly-populated “excited” states of proteins/protein assemblies, or crosslinks can be used as restraints to generate structural models in the absence of structural data. Despite increasing uptake of XL-MS, there are few tools to enable rapid and facile mapping of XL-MS data onto high-resolution structures or structural models. PyXlinkViewer is a user-friendly plugin for PyMOL v2 that maps intra-protein, inter-protein and dead-end crosslinks onto protein structures/models and automates the calculation of inter-residue distances for the detected crosslinks. This enables rapid visualisation of XL-MS data, assessment of whether a set of detected crosslinks is congruent with structural data, and easy production of high-quality images for publication.


  • The ability to call through directly to PDB2PQR
  • Visualization of field lines
  • More modern apbs input files
  • Two visualization panels. It's often quite useful to look at two different electrostatic potentials at once. It's also quite useful to look at electrostatic potentials mapped onto two different surfaces at once. Multiple visualization panels makes this a snap: just set up one surface on panel 1 and another surface on panel 2.
  • Defaults to using PDB2PQR for PQR generation and APBS's psize.py for grid sizing/spacing.
  • Fixes several bugs that caused crashes on both OS X and Linux systems
  • Increased maximum allowed memory
  • Switch from os.system to subprocess for running external programs
  • Deals with paths on Windows properly
  • Gives better diagnostic information so that PyMOL/APBS developers can find bugs more easily
  • Lots of internal code cleanup

Method 1: all at once

If you're looking at, e.g., a protein-protein interface, it may be useful to map two different electrostatic potentials to two different PyMOL objects. Here's my overly-cautious recipe for doing that:

  1. . Load up PyMOL with one of your structures.
  2. . Fire up the plugin. Click on "Choose Externally Generated PQR File" and point it at your PQR file.
  3. . Click on the Temp File Locations tab and change the name of the temporary DX file to something meaningful, e.g. structure1.dx
  4. . Set grid and Run APBS as normal.
  5. . Close the plugin.
  6. . Type "delete all"
  7. . Load up the second structure.
  8. . Repeat steps 2-4, changing the name to something like structure2.dx this time.

Now you have two correctly generated electrostatics potential maps (note: the reason I had you do things with one structure at a time loaded in PyMOL is so that you wouldn't have to fiddle around with the "Selection to use" section of the Main options tab). Use the load command to load up the other pqr file and the other dx map, then use the visualization panes as normal.

Method 2: side by side (from Jason)

I used this technique to look at two similar proteins side-by-side in PyMOL (see the 2nd image on http://www.pymolwiki.org/index.php/APBS). The trick is to (1) use grid_mode and grid_slots and (2) rename the maps as appropriate. It's not hard, but will take a couple minutes. Here's how:

1. get two proteins use whatever you like fetch 1rx1 1rx2, async=0

2. put them in the same frame of reference for grid mode align 1rx1, 1rx2

3. run APBS on protein #1, 1rx1 Plugin > APBS Tools2 > . Under "selection to use" type "(polymer) and 1rx1"

4. rename the map set_name pymol-generated, 1rx1_map

5. run APBS on protein 2, 1rx2 remove the waters Plugin > APBS Tools2 Under "selection to use" type "(polymer) and 1rx2"

6. rename the map set_name pymol-generated, 1rx2_map

7. Now, using APBS show the surfaces make sure you choose 1rx1_map for 1rx1 and 1rx2_map for 1rx2 click "Update" if those map names are not present. .

8. turn on grid mode set grid_mode

9. assign grid slots just to be sure the right maps and proteins are in the right places set grid_slot, 1, 1rx1 set grid_slot, 1, 1rx1_map set grid_slot, 1, e_lvl_0_1

set grid_slot, 2, 1rx2 set grid_slot, 2, 1rx2_map set grid_slot, 2, e_lvl_1_1


Résultats et discussion

Rosetta output to PyMOL is now available on-demand and continuously. Two separate objects have been implemented with Rosetta's object-oriented framework. The PyMOL_Mover object sends data to PyMOL and allows the user to observe visual output on-demand. This implementation is ideal for interactive environments and allows instant feedback from custom processes. New users can now experiment with Rosetta structures and protocols while immediately viewing their changes.

A second object, the PyMOL_Observer, can be attached to a Rosetta biomolecule (pose) to monitor all structural changes. When a coordinate is updated, the observer uses an embedded PyMOL_Mover to transmit the new structure to PyMOL. This implementation is ideal for elaborate scripts where manual management of output is prohibitive. Furthermore, the observer can be added to previously developed protocols, providing visual output with minimal modification. One limitation is that continuous PyMOL packet construction can slow Rosetta calculations. To mitigate this delay, a user can optionally output coordinates at particular time or coordinate-update intervals (see documentation).

In addition to being a useful tool to display protein structures, PyMOL is well suited for the production of informative movies. Rosetta simulations are often presented visually to demonstrate or explain the principles underlying Rosetta algorithms. Previously, making movies of Rosetta protocols required significant work. When sending data to PyMOL, the user may simply retain output history to produce PyMOL movies. The history feature also allows the user to inspect protocols that are otherwise inaccessible.

The PyMOL_Mover can also color residues allowing easy recognition of energetic features and design anomalies. Although only Rosetta score values are currently supported, any relevant data calculated in Rosetta may be sent to PyMOL using this interface. Additional features can be added easily for the visualization of other Rosetta data as long as these data packets carry specific tags for PyMOL to translate.

The UDP/IP client utilization has several advantages. PyMOL can be customized to receive information from multiple instances of Rosetta. Communication is not limited by the operating environments of either the sender or the receiver. Data can be successfully interpreted between different operating systems (e.g. Linux to Windows), Python versions, and even buildings. A single Rosetta process can transmit data to multiple IP addresses or ports using multiple PyMOL_Movers, allowing visualization on multiple computers. This versatility reduces communication errors and allows users to share information easily. Running each program separately prevents either from losing focus Rosetta performs simulations and calculations while PyMOL performs visualization.

The ability to view processes in real-time can easily produce relevant examples for presentations and demonstrations. The UDP solution is inherently unrestricted and is potentially applicable to numerous other applications. Additional protein modeling software such as the SWISS-MODEL server [10], CHARMM [11], and NAMD [12] could also output to PyMOL with socket export. Similarly, other graphical software such VMD [13], RasMol [14], Deep View [15], Kinemage [16] could interpret and display data packets sent from Rosetta by listening to output from a socket. If such practices become widespread, communication using program independent packet structures could lead to a standardized macromolecular visualization markup language.


Automated reaction mapping

Extraction of organic chemistry grammar from unsupervised learning of chemical reactions DOI.

Anyone who has been involved in building a reaction database will know that atom mapping reagents/starting materials onto products is a very time-consuming and tedious process, that is often fraught with errors. So any method that automates this process is a significant step forward.

Here, we demonstrate that Transformer Neural Networks learn atom-mapping information between products and reactants without supervision or human labeling. Using the Transformer attention weights, we build a chemically agnostic, attention-guided reaction mapper and extract coherent chemical grammar from unannotated sets of reactions. Our method shows remarkable performance in terms of accuracy and speed, even for strongly imbalanced and chemically complex reactions with nontrivial atom-mapping. It provides the missing link between data-driven and rule-based approaches for numerous chemical reaction tasks.

They also supply a file containing Common patent reaction templates. This file contains the most common patent reaction templates (USPTO grants), including the year of the first appearance, the patent numbers, frequently used reagents, and the template count. The templates were extracted after applying RXNMapper to generate the atom-mapping.


Voir la vidéo: Visualising Proteins With PyMol - Basics (Novembre 2021).