3 - Utilisation pratique de SnB :


Préparation des données et calculs initiaux

Désignons par xxx le nom de la structure à résoudre. L'utilisateur doit fournir un fichier xxx.hkl contenant l'ensemble des {h, k, l,  Image222.gif, s(FH)} observés. Pour la normalisation il est conseillé d'utiliser les programmes de R.Blessing (levy, eval et snbref) [1] dont les sources sont disponibles par ftp anonyme à ftp://www.hwi.buffalo.edu/pub/Blessing/Drear (la distribution de SnB v2.0 inclut ces programmes). Les facteurs de structure normalisés sont rangés dans le fichier xxx.ref (figure 3).

Image223.gif

Le logiciel est en fait composé de deux programmes.

Le programme intéractif SnB écrit en langage C (+ Java pour SnB v2.0) sert à entrer les données critallographiques et à choisir les options désirées. Il range ces informations dans le fichier xxx.info. Puis SnB effectue un certain nombre d'initialisations, comme le calcul des invariants stoqués dans le fichier xxx.inv, et la génération des modèles de structures aléatoires initiaux dans xxx.trials.

Options à utiliser

Les options recommandées par les auteurs de SnB suivant les types de structures sont indiquées ci-dessous. Ce sont les options par défaut de SnB v2.0, mais si on utilise la version 1.5 on devra vérifier les options proposées et les modifier éventuellement (passer en mode " expert " si nécessaire).

Options générales
(n est le nombre d'atomes non hydrogène de l'unité asymétrique, solvant exclut)

Affinement des phases : méthode " Parameter Shift "
Groupes d'espace non centro-symétriques :

Incrément de phase Df : 90°
Nombre maximum de modifications par phase : 2
Nombre de passes : 3 (ou 1 pour P1)
Groupes d'espace centro-symétriques :
Incrément de phase Df : 180°
Nombre maximum de modifications par phase : 1
Nombre de passes : 1
Germe pour le générateur de nombres aléatoires : nombre premier à 5 chiffres
Nombre de modèles à générer : 1000
Nombre d'atomes par modèle : Minimum (n, 100)
Pas de la grille pour la FFT : (Résolution des données) / 3
Nombre de cycles SnB : n/2
Nombre de cycles E-Fourier : de l'ordre de 0.05n

Cas où la résolution est 1.0 Å ou mieux

Nombre de phases : 10n
Nombre de triplets : 100n
Nombre de quadruplets : 0
Nombre de cycles SnB :

n/2 si n < 400 et des atomes plus lourds que O sont présents
sinon n
Nombre de pics a extraire :
0.4n si des atomes plus lourds que O sont présents
sinon 0.8n


Cas où la résolution est de 1.1 à 1.4 Å

Augmenter le nombre d'invariants : 200n à 500n
Faire plus de cycles SnB : entre n et 1.5n
La présence d'atomes " lourds " (Cl ou S) augmente la probabilité de succès

Histogramme résultat

La résolution proprement dite est effectuée par un deuxième programme SnB_main écrit en Fortran, et qui est lancé par SnB (spawn) lorsque l'utilisateur décide de commencer le calcul (figure 3). SnB_main s'exécute en " background " et communique avec SnB via des fichiers. En particulier à la fin du traitement de chaque modèle il écrit dans le fichier date.Rmins la valeur finale de la fonction minimum. De plus il maintient à jour le ficher date.best qui contient la meilleure structure obtenue, c'est-à-dire celle correspondant à la plus petite valeur de R(f).

A tout moment pendant que le calcul se déroule, ce qui peut durer plusieurs jours ou même plusieures semaines, l'utilisateur a la possibilité de visualiser à l'aide de SnB l'histogramme des valeurs de la fonction minimum pour les modèles déjà traités :

- si cet histogramme est de type Gaussien, c'est-à-dire avec toutes les valeurs de R(f) regroupées en une seule bosse, c'est qu'aucune solution n'a été trouvée.

- au contraire si une ou quelques valeurs de R(f) se détachent assez nettement des autres, du côté des valeurs inférieures, c'est qu'elles correspondent à des solutions. Un exemple ayant donné trois solutions est présenté figure 4.

Image224.gif

Le fichier date.best contient alors la meilleure solution. Celle-ci est généralement assez grossière ou incomplète ; elle peut être améliorée avec SnB en effectuant des cycles supplémentaires avec différentes options, mais notre expérience nous a montré qu'il était plus rapide de rentrer la solution sous forme de fragment dans un programme traditionnel, pour la terminer puis l'affiner.


4 - Exemples d'applications : Valid HTML 4.01!