LSD 3.0

Dernière modification: 18 Mai 2002. Version 3.0.2.

Table des matières

Passer des spectres aux données

Le but de LSD est d'aider l'utilisateur à proposer une ou plusieurs structures moléculaires à partir de données issues très majoritairement de la RMN 2D. Les spectres qui doivent nécessairement être enregistrés sont les spectres HMQC (ou HSQC), COSY et HMBC. Sans ces trois spectres, il n'est pas envisageable de vouloir utiliser LSD. LSD ne contient aucune base de données de déplacement chimique. Il n'y a par ailleurs aucun moyen de lui indiquer la liste des déplacements chimiques de la molécule étudiée, pour quel type de noyau que ce soit. LSD utilise les informations de déplacement chimique et de couplage que l'utilisateur voudra bien lui indiquer, que ce soit pour définir l'hybridation des atomes ou pour imposer à un atome d'avoir un nombre de voisins donné dans une liste d'atomes déterminée.

Le codage des données de RMN pour en faire un fichier texte traitable par LSD est un exercice un peu déroutant pour le débutant. Les paragraphes suivants essaieront de vous donner une méthode pour y arriver. Il n'est pas inutile de regarder dans le dossier Data les exemples qui s'y trouvent. Un fichier de données pour LSD est constitué de commandes ayant un plusieurs paramètres. Les commandes les plus utiles seront d'abord introduites, sachant qu'une description exhaustive du langage de commande est fournie au paragraphe Structure des fichiers données. L'interface de type texte peut sembler un peu démodée, mais il est parfois plus simple d'éditer un texte que de se perdre dans un dédale de menus et sous-menus aux fonctions pas nécessairement explicites.

La première étape à franchir pour déterminer une structure inconnue consiste à faire l'hypothèse d'une formule brute et à déterminer le statut de tous les atomes, hydrogènes exceptés. Le statut est constitué d'un numéro, d'un symbole chimique, d'une hybridation (sp2 ou sp3) et d'un nombre d'hydrogènes portés par l'atome. Définir un statut est contraignant pour l'utilisateur. Il n'est pas toujours possible a priori de définir le statut des hétéroatomes, surtout lorqu'il y en a de natures chimiques différentes. Même pour les carbones, le déplacement chimique ne suffit pas toujours pour déduire de manière non-ambigüe l'hybridation. Il faut alors créer plusieurs jeux de données et les essayer tous. Cette nécessité devrait être levée au moins partiellement dans un proche avenir, mais il faut faire avec pour l'instant.

La numérotation des atomes peut se faire de manière arbitraire. Une manière commode de procéder consiste par exemple à numéroter les carbones à partir de 1 par ordre décroissant de déplacement chimique du 13C, puis de donner les numéros suivants aux atomes d'azote et/ou d'oxygène. Les numéros des carbones issus du spectre 1D seront reportés sur les projections des spectres 2D HMQC et HMBC. Il est possible d'avoir d'autres atomes (X, Y et Z) à condition que leur valence soit définie par l'utilisateur.

La commande qui définit le statut s'appelle MULT (les majuscules sont importantes) et est suivie du numéro d'atome, de son symbole chimique, de 2 ou 3 pour l'hybridation (sp2 ou sp3) et de la multiplicité, c'est-à-dire du nombre d'hydrogènes portés. Ainsi, MULT 1 C 2 0 indique que l'atome 1 un carbone (C) sp2 (2) quatenaire (0). Il y aura dans le fichier de données autant de lignes commençant par MULT que d'atomes dans la molécule, atomes d'hydrogène exceptés.

L'étape suivante consiste à numéroter sur les spectres les atomes d'hydrogène. Là encore la numérotation est arbitraire, mais il est préférable de donner à un hydrogène le même numéro que celui du carbone auquel il est lié. Le spectre HMQC sert à établir cette correspondance. Deux hydrogènes inéquivalents d'un groupe méthylène auront le même numéro. Les numéros ainsi attribués seront reportés sur les spectres 2D COSY et HMBC. Une corrélation dans un spectre 2D est caractérisée par le type du spectre, le numéro d'atome dans la dimension 1 (c'est-à-dire du carbone pour HMQC et HMBC) puis du numéro d'atome en dimension 2 (toujours un numéro d'hydrogène). Ainsi HMQC 4 4 indique que le carbone 4 et l'hydrogène 4 sont liés ensemble. On code de manière similaire les commandes HMBC et COSY.

Toute liaison évidente à établir doit l'être par une commande BOND dont les deux paramètres sont les numéros des deux atomes à lier. Si le carbone 1 est celui d'une cétone et qu'un oxygène 22 a été déclaré sp2, il est possible d'établir dès le début une liaison entre 1 et 22 par la commande BOND 1 22.

En théorie et sauf exceptions, l'ordre des commandes dans un fichier n'est pas imposé. Tout fichier doit se terminer par EXIT. En plus des commandes qui décrivent le problème, il en existe d'autres pour le contrôle de l'exécution. Il est préférable de les regrouper en début de fichier. La plus utilisée est DISP 1, qui indique à LSD de produire les solutions au format adéquat pour le tracé des structures par outlsd. Ainsi, après DISP 1, on trouve les commandes MULT, HMQC, COSY, HMBC, BOND et EXIT. Cela forme le contenu minimum d'un fichier de données pour LSD.

Une partie moins évidente dans l'écriture de fichiers pour LSD est la définition de propriétés et des listes associées. Une propriété d'atome (commande PROP) est l'indication pour un atome ou une liste d'atomes d'un nombre exact (supérieur ou égal à 1) de voisins qui doivent appartenir à une autre liste d'atomes. On peut aussi indiquer le nombre 0, qui signifie alors "tous les voisins". On ne peut définir plus d'une propriété par atome. Par exemple, les carbones 8, 9 et 10 ont un déplacement chimique vers 15 ppm et portent les protons 8, 9 et 10 de trois méthyles singulets aux environs de 1 ppm. Les carbones 8, 9 et 10 sont très probablement à des carbones quaternaires. Pour coder cela avec LSD, il faut définir deux listes : celle des atomes 8, 9 et 10 et celle des quaternaires. Une liste d'atome est caractérisée par son numéro et par son contenu. Le contenu est définissable soit de manière explicite (en donnant les numéros de tous les atomes de la liste) soit à partir du statut des atomes. Il est aussi possible de combiner des listes entre elles par les opérations de la théorie des ensembles. Pour revenir à l'exemple, LIST L1 8 9 10 définit la liste 1 et y met les numéros 8, 9 et 10. QUAT L2 définit la liste 2 et y met tous les carbones quaternaires. Ceci étant fait, la restriction sur les atomes 8, 9 et 10 qui consiste à imposer à tous leurs voisins d'être quaternaires s'écrit PROP L1 0 L2. On aurait pu aussi écrire PROP L1 1 L2 sachant qu'un carbone de groupe méthyle ne possède toujours qu'un seul voisin. Les commandes de définition de listes et de propriétés sont traitées dans l'ordre où elles apparaissent dans le fichier de données. En changer l'ordre peut en changer la signification.

Un tentation fréquente consiste à vouloir sur-interpréter les spectres, c'est-à-dire de leur faire dire ce qu'ils ne disent pas. Introduire des propriétés fausses ou contradictoires conduit LSD à ne pas fournir de solutions et à produire un message qui indique le niveau de recherche le plus profond atteint par LSD au cours de sa recherche (le détestable message "max stack level: "). De la même manière, introduire des corrélations nJ avec n supérieur à 3 dans une commande HMBC ou COSY conduira à l'échec de LSD. Il veut mieux dans un premier temps mettre les commandes relatives aux corrélations COSY et HMBC de faible intensité en tant que commentaires, c'est-à-dire en les faisant précéder par un point-virgule. Si le nombre des solutions produites est trop grand, il faut alors tenter de le diminuer en rajoutant des correlations ou des propriétés aux atomes.

Ce bref aperçu sur les fichiers de données de LSD permettra aux utilisateurs de prendre contact avec LSD, mais une lecture de la section Structure des fichiers de données reste indispensable.

Passer des données aux structures

Un fichier de données nommé "pinene" est fourni dans le répertoire "Data" .
Son traitement par LSD est effectué par :

myprompt$ cp Data/pinene .

myprompt$ lsd pinene

myprompt$ est l'invite de l'ordinateur.
LSD indique qu'il a trouvé une solution.
The fichier "pinene.sol" qui a été créé contient les informations de connectivité pour la solution au problème.
Un fichier de coordonées peut ensuite être obtenu par

myprompt$ outlsd 6 < pinene.sol > pinene.coo

Le programme outlsd produit des coordonnées 2D à partir des connectivités.
Le résultat est visualisé par une visionneuse Postscript®.
Le dessin en langage Postscript est d'abord produit par :

myprompt$ genpos < pinene.coo > pinene.ps

et affiché par :

myprompt$ xpsview pinene.ps

si xpsview est le programme de visualisation Postscript de votre matériel (voir le fichier INSTALL_FR.txt). Remarque : Les extensions de fichier .sol .coo .mol ne sont pas imposées mais il est préférable de s'en tenir toujours aux mêmes conventions.

Pour les impatients

La commande :

myprompt$ solve pinene

enchaîne toutes les étapes : résolution du problème de structure, création et affichage graphique de la solution.
Il n'est généralement pas souhaitable de procéder ainsi pour un nouveau jeu de données. Cela n'est envisageable que si lsd donne un nombre raisonnable de solutions (voir Passer des données aux structures).

Amélioration des dessins de molécules

Les coordonnées produites par outlsd fournissent parfois des dessins difficiles à interpréter.
Un programme simple nommé m_edit a été écrit pour améliorer la qualité des visuelle des structures moléculaires.
Il faut que Tcl/Tk et la commande wish soient installés pour pouvoir utiliser m_edit (version 8.0 ou plus récente).
La commande

myprompt$ m_edit

lance m_edit.
Le menu File permet de lire et de sauvegarder des fichiers et de sortir du programme. Le menu View est utilisé pour naviguer en avant et en arrière dans un ensemble de structures groupées dans un même fichier. Les formats de fichiers supportés par m_edit sont ".coo" (le format spécifique de LSD) et ".mol".

L'usage de m_edit est très simple : les atomes sont déplacés à l'aide du bouton gauche de la souris.
Il n'y a pas encore possibilité de sélectionner plusieurs atomes, désolé.

Vérification des données

Un script nommé "chklsd" extrait des données les informations de base sur la molécule étudiée, comme le nombre d'atomes de chaque élément, les nombres d'insaturations, de doubles liaisons et de cycles, ainsi que la masse molaire.

myprompt$ chklsd < pinene

Si des atomes génériques X, Y ou Z sont utilisés (voir VALE) la masse molaire n'est correcte que si des commentaires
(voir Structure des fichiers données) comme :

;MASS X 19

sont présents. Dans cet exemple X est un atome de fluor.

Structure des fichiers de données

Un fichier de données contient des commandes et des commentaires.
Le nombre de commandes par fichier est limité par défaut à 300.
Un commentaire est tout ce qui se trouve entre un ";" et la fin de la ligne.

Une commande ne peut se prolonger sur plus d'une ligne et est constituée d'un mnémonique généralement suivi de 1 à 4 paramètres.
Les parties d'une commande sont séparées par des blancs. Les majuscules doivent être respectées.
La dernière commande d'un fichier doit être EXIT.

Tous les mnémoniques sont constitués de 4 caractères alphanumériques.

Certains se terminent par un ou deux blancs (^), comme CH^^.

Les mnémoniques sont suivis par des paramètres séparés par des blancs.
Les types possibles pour les paramètres sont décrits de la manière suivante :

Les paramètres d'une commande sont désignés par P1, P2, P3 et P4 suivant leur position après le mnémonique.
Un fichier doit finir par la commande EXIT, la seule qui n'aie pas de paramètre.

Les commandes de base

Définition des listes d'atomes

Les commandes décrites dans cette section permettent de définir des listes d'atomes utilisées par la commande PROP.
Elle sont interpétées dans l'ordre où elles apparaissent dans le fichier de données.
Elles sont listées ci-dessous en fonction de leur nombre d'arguments :

Contrôle de l'exécution

Informations de sous-structure

Des solutions trouvées par LSD à l'issue de l'analyse des corrélations et de l'appariement des atomes encore incomplets peuvent être éliminées si elle ne contiennent pas une sous structure indiquée par l'utilisateur.
Une seule sous-structure est permise. Cela permet de représenter plusieurs sous-structures disjointes.
Une sous-structure est un ensemble de sous-atomes liés par des sous-liaisons.

Traiter les résultats avec outlsd

Pour utiliser outlsd, le fichier de données doit contenir la commande DISP 1.
Le programme outlsd lit sur l'entrée standard et écrit sur la sortie standard.
Il prend comme argument un entier entre 1 et 7.

myprompt$ outlsd 7 < pinene.sol > pinene.mol

Selon la valeur de l'argument n, le résultat produit par outlsd contient

L'option 2 requiert aussi un logiciel propriétaire (ARGOS).

Visualiser les résultats avec genpos

L'option 6 de outlsd produit un texte qui commence avec DRAW sur la ligne 1, et dans un format utilisé par le programme genpos. Genpos lit sur l'entrée standard et écrit sur la sortie standard des instructions en langage Postscript.

myprompt$ genpos < pinene.coo > pinene.ps

Le fichier résultant (pinene.ps) peut être ouvert par des visionneuses Postscript pour être analysé et imprimé.