LSD 3.2.4

Dernière modification: 14 mars 2008.

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 est 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é. Le texte qui suit la commande EXIT est ignoré. En plus des commandes qui décriv ent 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. Après elles, on trouve les commandes MULT, HMQC, COSY, HMBC et BOND. 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 carbones 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 si 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.

Nouveau avec la version 3.1.0 : élimination des corrélations HMBC invalides.
L'analyse d'une corrélation HMBC peut ne conduire à aucune solution pour deux raisons : soit la partie de la molécule qui a été construite sur la base des corrélations précédemment examinées est incompatible avec la nouvelle corrélation (cas 1), soit celle-ci est erronée (cas 2). Ceci arrive soit de manière fortuite (artefact dans le spectre HMBC, ou faute de frappe, par exemple) soit parce que la corrélation HMBC observée est issue d'un couplage à travers plus de 3 liaisons. Dand le cas 1, le mécanisme de résolution remettra en cause les choix précédents et devrait conduire à une solution si toutes les données sont correctes. Dans le cas 2, cette remise en cause sera incapable de fournir une solution. La corrélation en question peut être éliminée afin de vérifier si elle est la cause du blocage.

La commande ELIM permet de spécifier un nombre maximal de corrélations qu'il est possible d'éliminer pour obtenir au moins une solution. La commande ELIM permet aussi de spécifier le nombre maximal autorisé de liaisons entre les atomes qui interviennent dans toutes les corrélations éliminées. Cette contrainte peut être désactivé pour la détection des erreurs accidentelles.

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.
Le fichier "pinene.sol" qui a été créé contient les informations de connectivité pour la solution au problème.
De manière générale un fichier de données abc ou abc.xyz fournit un fichier de solution nommé abc.sol ou abc.xyx.sol.
Un fichier de coordonées 2D 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.

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é.

Les molécules sont toutes sélectionnées par défaut, comme indiqué par leur titre écrit en noir. Le menu Select permet de désélectionner (titre en rouge)/sélectionner des molécules. Le statut de la molécule courante peut être changé en cliquant sur le titre. Les molécules sélectionnées peuvent être gardées (et les autres supprimées) en utilisant l'item Keep du menu Select.

Les molécules sont inversées horizontalement ou verticalement à l'aide du menu Arrange.
Un buffer (menu Buffer) a été ajouté, de manière à ce qu'une situation antérieure préalablement sauvée (item Save To) puisse être rechargée (item Load From).

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 est constituée d'un mnémonique de commande 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.
A partir de la version 3.2.0 incluse, la commande EXIT peut être omise. Si elle existe, tout ce qui se trouve au delà est ignoré.

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.
La commande EXIT est 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 n'être sélectionnées que si elles satisfont à une contrainte de sous-structure.
Une contrainte de sous-structure est fournie par des définitions de sous-structure et une recette pour combiner les résultats de leur recherche dans la structure.
Une sous-structure est soit native (définie dans le fichier du problème, comme c'est la cas avant la version 3.2.0) soit définie de manière externe.

Une sous-structure est un ensemble de sous-atomes (commande SSTR) connectés par des sous-liaisons (commande LINK) et éventuellement pré-attribués (commande ASGN).

Une sous-structure externe est identifiée par un numéro de fragment et le nom (chemin) du fichier qui contient sa définition. Cette dernière est codée exactement comme l'est une sous-structure native.

Les résultats des recherches de sous-structure dans la structure courante sont combinés pour déterminer sa validité :

Les commandes DEFF et FEXP implantent dans LSD la fonctionnalité du filtrage des solutions.
S'il n'y a pas de commande FEXP dans le fichier, la sous-structure native est seule prise en compte, si elle existe.
Si la commande FEXP est présente, la sous-structure native est accessible via F0 comme si une commande DEFF F0 "..." existait. Si aucune sous-structure native n'est définie, F0 est la sous-structure vide, celle qui est toujours présente dans une structure.
Si le paramètre de SUBS vaut 0, aucune recherche de sous-structure n'est effectuée. S'il vaut -1, le résultat final de l'évaluation de l'expression logique fournie par la commande FEXP est inversé.

Traiter les résultats avec outlsd

Pour utiliser outlsd, il ne faut pas que le fichier de données contienne la commande DISP 0.
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é.

Copyright(C)2000 CNRS-UMR 6229-Jean-Marc Nuzillard