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.
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
où
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.
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).
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).
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 :
C N O X Y Z
seulement.A
pour la définition des sous-atomes, voir
au paragraphe Substructural information.
S1
.
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.
MULT
I A I I : définit le statut des atomes.
C N O X Y Z
. X
, Y
and Z
est définie par une commande VALE
.
MULT 1 C 2 0
.
L'atome 1 un carbone (C
) sp2
(2
) quatenaire (0
).
VALE
A I R: definit la valence des atomes de type X, Y et Z.
VALE X 1 19.0
. Ceci définit X comme un atome de fluor.
BOND
I I : liaison.
HMQC
(ou HSQC
) I I :
corrélation hétéronucléaire à travers 1 liaison.
HSQC 4 4
.
Le carbone 4 et l'hydrogène 4 sont liés ensemble.
COSY
I I : Corrélation COSY à
travers trois liaisons.
HMBC
V I : Corrélation
hétéronucléaire à travers 2 or 3 liaisons.
HMBC (4 5) 8
. Soit le carbone 4 soit le 5 (ou les deux)
corrèle avec l'hydrogène 8.LIST
Ln S : définit une liste d'atomes.
LIST L1 4 6 14
: La liste L1 contient les atomes 4, 6 et 14.
PROP
B I Ln : environnement des atomes
PROP L1 0 L2
. Chaque atome de L1 a tous ses voisins dans L2.
EXIT
: fin du jeu de données. (facultatif)
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 :
CARB
: les atomes de carbone.
HETE
: les atomes qui ne sont pas des carbones (et pas des hydrogènes).
SP3
: les atomes qui n'ont que des liaisons simples
(SP3^
).
SP2
: les atomes avec exactement une double liaison.
FULL
: la liste de tous les atomes.
QUAT
: les carbones liés à 0 atome d'hydrogène.
CH
: les carbones liés à 1 atome d'hydrogène (CH^^
).
CH2
: les carbones liés à 2 atomes d'hydrogène.
CH3
: les carbones liés à 3 atomes d'hydrogène.
CARB L5
.
L5 est la liste de tous les carbones de la molécule.
GREQ
: les atomes dont le numéro est supérieur
ou égal à P2.
LEEQ
: les atomes dont le numéro est inférieur
ou égal à P2.
GRTH
: les atomes dont le numéro est strictement
supérieur à P2.
LETH
: les atomes dont le numéro est strictement
inférieur à P2.
GREQ L1 10
.
L1 est la liste de tous les atomes dont le numéro
est supérieur ou égal à 10.
UNIO
: P3 est l'union de P1 et P2.
INTE
: P3 est l'intersection de P1 et P2.
DIFF
: P3 contient les numéros des atomes de P1 qui ne sont
pas dans P2.
UNIO L1 10 L2
. L2 contient les atomes de L1 et l'atome 10.
ENTR
I : imprime l'état du problème avant sa
résolution.
HIST
I : imprime le détail des
étapes de la résolution.
DISP
I : format de sortie
VERB
I : verbosité
PART
I : production des solutions incomplètes
STEP
I : exécution pas-à-pas.
VERB 2
avec STEP 1
.
A chaque pas l'utilisateur peut indiquer une action à effectuer
(continuer, finir, abandonner)
WORK
I : recherche des solutions.
MLEV
I : arrêt de l'analyse à l'étape P1.
DUPL
I : élimination des solutions dupliquées.
SUBS
T : validation de sous-structure.
ELIM
I I : élimination de corrélations HMBC invalides
ELIM 3 5
. Il est possible d'éliminer
jusqu'à 3 corrélations.
Chacune des corrélations éliminées doit
correspondre à un couplage
4J (limite inférieure, nécessairement)
ou 5J (limite supérieure imposée).
FILT
I: mode filtrage par sous-structure.
VALE
, MULT
, BOND
et celles qui concernent la définition des sous-structures
pour rechercher si la structure présente dans les données
contient la sous-structure indiquée.
Dans ce contexte, la commande "lsd < file > &>/dev/null" constitue
un appel typique de LSD.
La valeur retournée par LSD est :
CNTD
I: élimination des solutions non connexes
(en plusieurs morceaux)
MAXS
I: limitation du nombre de structures produites
MAXT
I: limitation du temps de résolution
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
).
SSTR
Sn A V V : statut des sous-atomes.
2
(sp2) ou 3
(sp3)
ou (2 3)
(l'un des deux).
SSTR S1 C (2 3) (0 1 2)
.
L'atome 1 de la sous-structure est un carbone, soit sp2
soit sp3, avec soit 0, soit 1, soit 2 atomes d'hydrogène
liés à lui. LINK
Sn Sn : sous-liaisons.
LINK S1 S2
. Les sous-atomes 1 et 2 sont liés. ASGN
Sn I : attribution d'un sous-atome.
ASGN S3 5
. Le sous-atome 3 est identifié comme
étant l'atome 5.
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.
DEFF
Fn C : definit un fragment externe.
DEFF F3 "Filters/ring3"
.
Le fragment F3 est un cycle de trois atomes quelconques.
Les résultats des recherches de sous-structure dans la structure courante sont combinés pour déterminer sa validité :
FEXP
C : expression logique entre fragments.
FEXP "F1 and not F2"
.
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é.
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).
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