Outils pour utilisateurs

Outils du site


issue129:tutoriel1

Several pieces of specialised software exist to view and manipulate data. One such program is called PyMOL and is used by protein chemists and structural biologists around the world, to visualize the three-dimensional structures of the building blocks of life: proteins, RNA and DNA. As the name indicates, PyMOL is a program written in python. Development was started in 2000 by Warren Lyford DeLano as an open source project. Compiled binaries were made available to paying customers who do not want the hassle of compiling the software themselves, obviously making it an advantage to use the software on GNU/Linux because a lot of nice people would compile PyMOL for the platform, so every day users can install it from the archives.

Plusieurs logiciels spécialisés existent pour voir et manipuler des données. L'un d'eux s'appelle PyMOL, qui est utilisé par les chimistes des protéines et les biologistes de la structure partout dans le monde pour voir les structures tri-dimensionnelles des composants de base de la vie : les protéines, l'ARN et l'ADN.

Comme son nom l'indique, PyMOL est un programme écrit en python. C'est Warren Lyford DeLano qui a commencé son développement en 2000, en tant que projet Open Source. Les binaires compilés ont été mis de façon payante à disposition des utilisateurs qui ne voulaient pas prendre la peine de compiler eux-mêmes le logiciel, rendant de fait avantageux d'utiliser le logiciel sur GNU/Linux, car beaucoup de personnes sympathiques compilaient PyMOL pour cette plateforme ; ainsi, les utilisateurs du quotidien peuvent l'installer à partir des archives.

A special version “Incentive PyMOL” was also made available, containing special extra features that many users would not need, but would be a great addition to have for industrial partners and similar users. Unfortunately, in late 2009, Warren DeLano passed away suddenly, and the future of the project was uncertain for a while, until Schrödinger Inc. took over the development and rights to PyMOL. Recently, a version 2.0 was released, with a compiled version of the open source code available for all major platforms. A license is still required to gain full access to all functions of the software.

Une version spéciale, appelée « Incentive PyMOL » (PyMOL incitatif) a été rendue disponible, contenant des fonctionnalités spéciales supplémentaires dont beaucoup d'utilisateurs n'ont pas besoin, mais qui est un ajout appréciable pour les partenariats industriels et d'autres utilisateurs semblables.

Malheureusement, fin 2009, Warren DeLano est décédé brutalement et le futur du projet est resté incertain pendant un temps, jusqu'à ce que Schrödinger Inc. reprenne le développement et les droits de PyMOL. Récemment, une version 2.0 a été publiée, avec une version compilée du code Open Source, disponible sur toutes les grandes plateformes. Une licence est toujours nécessaire pour disposer d'un accès complet à toutes les fonctions du logiciel.

For the current article, I will focus on a version that is a bit older, corresponding to what most GNU/Linux users will have in the archives of their favorite distribution. sudo apt install pymol should get PyMOL installed for you, and the program can be started either from the program launcher you use, or by typing pymol in a terminal. Start it up and see what happens!

Pour cet article, je me concentrerai sur une version qui est un peu plus ancienne, correspondant à ce que la plupart des utilisateurs sous GNU/Linux trouveront dans les archives de leur distribution préférée.

sudo apt install pymol

devrait installer pymol ; le programme peut démarrer, soit avec le lanceur de programme que vous utilisez, soit en tapant pymol dans un terminal.

Démarrez-le et regardez ce qui se passe !

The PyMOL graphical user interface PyMOL has two windows when opened: A window with an external graphical user interface (GUI), and a window with a viewer and an internal graphical user interface (GUI). The external GUI can be used to edit settings, to issue commands for making movies, and so on. This is also where the plugin system can be used. PyMOL can be extended through plugins, and several researchers around the world have made their code available for use with PyMOL. The internal GUI and viewer area are used to visualize the molecules of interest and to manipulate representation of the molecules loaded into the program. The bottom right corner includes a quick overview of the functions of the mouse, which can be changed by clicking inside the box. At the bottom of the viewer, written commands can be used, the function of which is equal to the functions available by using the mouse. If a list of PyMOL commands is written in a text file (a PyMOL–script), this can also be loaded when starting the program, enabling easy sharing of graphical views of molecules.

L'interface utilisateur graphique de PyMOL

À l'ouverture, PyMOL a deux fenêtres : une fenêtre avec une interface utilisateur graphique (GUI) externe et une fenêtre avec un visualiseur et une interface utilisateur graphique (GUI) interne. La GUI externe peut être utilisée pour éditer les paramètres, lancer les commandes pour faire des films et ainsi de suite. C'est aussi là que le système des modules peut être utilisé. PyMOL peut être étendu avec des greffons et plusieurs chercheurs dans le monde ont rendu leur code disponible pour une utilisation dans PyMOL.

Le GUI interne et le visualiseur sont utilisés pour voir les molécules qui vous intéressent et pour manipuler les représentations des molécules chargées dans le programme. Dans l'angle en bas à droite, une liste rapide des fonctions de la souris est disponible, qui peuvent être modifiées en cliquant dans la zone. En bas du visualiseur, des commandes écrites dont la fonction est équivalente aux fonctions disponibles pour l'utilisation de la souris, peuvent être utilisées.

Si une liste de commandes est écrite dans un fichier texte (PyMOL-script - script PyMOL), elle peut être chargée au démarrage du programme, rendant facile le partage de vues graphiques des molécules.

Getting the coordinates Historically, most molecular coordinates have been experimentally determined by the x-ray crystallography technique. The Protein Data Bank (PDB) was established in 1971 and currently contains more than 123,456 structures of proteins, RNA and DNA. Currently, NMR, and, more recently, cryo–EM, are also used as techniques to determine the three-dimensional coordinates of macromolecular structures. Coordinates are deposited by researchers from all over the world, and made available for everybody to investigate and gain insight into the microscopic world of some of the smallest parts of our cells. In PyMOL, a plugin is already installed that can be used to load molecular coordinates – if the PDB-id is known. For this article, I will use 1mbo, which is one of the first protein structures that were determined by x-ray crystallography, the protein myoglobin.

Obtenir des coordonnées

Historiquement, la plupart des coordonnées moléculaires ont été déterminées expérimentalement par la technique de la cristallographie à rayon X. La banque de données des protéines (PDB, Protein Data Bank) a été créée en 1971 ; elle contient actuellement plus de 123 456 structures de protéines, d'ARN et d'ADN. Actuellement, la résonance magnétique nucléaire (NMR - Nuclear magnetic resonance) et, plus récemment, la cryo-microscopie électronique (cryo-EM, cryo-electron microscopy), sont aussi des techniques utilisées pour déterminer les coordonnées tri-dimensionnelles des structures macromoléculaires.

Les coordonnées sont déposées par des chercheurs du monde entier et sont disponibles à tous ceux qui cherchent à avoir une meilleure compréhension du monde microscopique de certaines des plus petites parties de nos cellules.

Dans PyMOL, un module est déjà installé qui peut être utilisé pour charger des coordonnées moléculaires, si l'identifiant PDB (PDB-id) est connu. Pour cet article, j'utiliserai 1mbo, qui est l'une des premières structures de protéines déterminée par la cristallographie à rayon X, la protéine myoglobine.

To download the coordinates and load it into PyMOL, I will use the command-line command fetch fetch 1mbo which should result in the picture shown left (or something similar) Here, the coordinates are loaded in the viewer and the internal GUI shows the object 1mbo is loaded. In the internal GUI, the object can be hidden by pressing the name, and there are five buttons to the right of the object name: A - The action button, for different actions on the object S - The show button, to show different representations H - The hide button, to hide different representations L - The label button, to show labels on individual coordinates C - The color button, to color the coordinates Now the structure is loaded into the viewer and we can make a representation of the protein.

Pour télécharger les coordonnées, et les charger dans PyMOL, j'utiliserai la commande fetch en ligne de commande :

fetch 1mbo

dont le résultat est l'image montrée à gauche (ou quelque chose de similaire).

Ici, les coordonnées sont chargées dans le visualiseur et le GUI interne montre que l'objet 1mbo est chargé.

Dans le GUI interne, l'objet peut être masqué en appuyant sur le nom et cinq boutons sont visibles à droite du nom de l'objet : A - Le bouton d'action, pour différentes actions sur l'objet. S - Le bouton de visualisation, pour différentes représentations. H - Le bouton de masquage, pour masquer les différentes représentations. L - Le bouton d'étiquetage, pour voir les étiquettes des coordonnées individuelles. C - Le bouton de coloration, pour colorer les coordonnées.

Maintenant que la structure est chargée dans le visualiseur, nous pouvons créer une représentation de la protéine.

Making a pretty picture The structure of myoglobin we have loaded contains two interesting objects. A heme group, which is an organic compound that contains an iron-ion in the middle of the molecule, and an oxygen molecule, with the oxygen molecule being coordinated by the iron in the heme. Several presets exist in the PyMOL interface, and we will use the mouse to choose the A button then preset, ligand site and finally cartoon. This function can also be called from the command line with: preset.ligand_cartoon(“1mbo”)

Créer une belle image

La structure de la myoglobine que nous avons chargée contient deux objets intéressants. Un groupe heme, qui est un composé organique qui contient un ion fer au milieu de la molécule et une molécule d'oxygène, qui est coordonnée par le fer dans l'heme.

Plusieurs préréglages existent dans l'interface de PyMOL et nous utiliserons la souris pour choisir le bouton A, puis preset (préréglage), ligand site (site du liant) et enfin cartoon (dessin animé).

Cette fonction peut aussi être appelée en ligne de commande :

preset.ligand_cartoon(“1mbo”)

To get a good orientation of the interesting feature of the molecule, we will use the commands to zoom into the heme in the structure: zoom resn HEM Now use the mouse to rotate the view to your liking. You will notice that the lower right box indicates how you can interact with the viewer, and that the L, M and R indicate the mouse buttons. Press the left mouse button and move the mouse to rotate the molecule. You can also hold down the right mouse button to zoom in or out, and the middle mouse button to move the view.

Pour obtenir une bonne orientation de la caractéristique intéressante de la molécule, nous utiliserons les commandes pour zoomer au sein du heme de la structure :

zoom resn HEM

Maintenant, utilisez la souris pour tourner la vue comme vous le préférez. Vous noterez que le champ le plus bas à droite indique comment vous pouvez interagir avec le visualiseur, et que les L, M et R indiquent les boutons de la souris. Appuyez sur le bouton gauche de la souris et bougez la souris pour tourner la molécule. Vous pouvez aussi maintenir enfoncé le bouton droit pour zoomer et dézoomer et utiliser le bouton central de la souris pour déplacer la vue.

To get a more clear view, you can hide the waters by using the H button next the the 1mbo object and press waters, to hide the representation of the waters in the molecule. You might also have noticed the yellow striped dots. These are water bonding interactions called polar contacts, and can be turned off by de-selecting the new object 1mbo_pol_conts (click on the name of the object and it is hidden). And finally we can show the oxygen as a sphere representation, to more clearly visualize them. We will first set the size of the spheres to be slightly smaller than usual. set sphere_scale, 0.5 show spheres, resn OXY Once you have found a nice view, you can use the ray command in the top right of the external GUI and then go to File –> Save Image As –> PNG and voilá, you have a picture of a molecule of oxygen bound to myoglobin from the Physeter catodon also known as the sperm whale. I hope you enjoyed this very small introduction to the molecular viewer PyMOL

Pour obtenir une vue plus claire, vous pouvez masquer les « waters » en utilisant le bouton H à côté de l'objet 1mbo et appuyer sur « waters », ce qui masquera les représentations des particules aqueuses dans la molécule. Vous pouvez aussi noter les lignes de points striés jaunes. Ce sont des interactions de liaison avec l'eau appelées contacts polaires et elles peuvent être masquées en désélectionnant le nouvel objet 1mbo_pol_conts (cliquez sur le nom de l'objet et il sera masqué). Et, enfin, nous pouvons afficher l'oxygène, représenté par des sphères, pour les visualiser plus clairement. Nous commençons par régler la taille des sphères à une valeur un peu plus petite que la normale.

set sphere_scale, 0.5 show spheres, resn OXY

Une fois que vous avez obtenu une jolie vue, vous pouvez utiliser la commande ray en haut à droite du GUI externe, puis aller à File (Fichier) → Save image as (enregistrer l'image sous) → PNG, et voila, vous avez une image de la molécule d'oxygène liée à la myoglobine tirée du catodon de Physeter, alias le cachalot.

J'espère que vous avez aimé cette très courte introduction au visualiseur de molécules PyMOL.

issue129/tutoriel1.txt · Dernière modification : 2018/01/30 18:26 de andre_domenech