Formats moléculaires: SYBYL Mol2

Le format Sybyl MOL2 peut être utilisé pour encoder des molécules organiques mais aussi des entités biologiques car il inclue des types d’atomes et des groupes d’atomes (sous-structures) capables de décrire jusqu’aux macromolécules, d’ailleurs les types d’atomes SYBYL sont souvent utilisé comme définition avant des calculs de mécanique moléculaire dans le domaine. Ce format est également multimoléculaire (n molécules dans un fichier) comme le format SDF  mais il ne l’a pas remplacé dans des processus liés à la chimie.
Cet article dévoilera quelques subtilités de ce format, rarement évoquées,  mais qui donneront une idée de son domaine d’application et qui vous seront peut être utiles. En particulier, si vous vous préparez à implémenter un processus de traitement de données telles que des formules développées (2D) ou des structures moléculaires en 3D.

Publication initiale sur buildblog.buidez.net (2014) – Article mis à jour en Décembre 2024.

Navigation dans le guide

Guide [ Formats moléculaires (chimie) ]




1. Cas d’une molécule (qui vient de quelque part)

Reprenons la molécule de Triclosan exprimée au format Sybyl MOL2. Elle donnera un fichier dont l’organisation en bloc atomes/table de connectivité est finalement assez similaire à celle d’un fichier MDL Mol:

Ce format délimite des blocs marqués par la chaine @<TRIPOS>, ce terme vient du nom de la compagnie Tripos (fusionnée depuis sous le nom de Certara) qui à mis au point ce format et par la suite logicielle Sybyl (modélisation moléculaire) dans les années 90. Le format définit de manière générique un certain nombre de blocs, par exemple:

En particulier, nous avons une entête délimitée par le bloc @<TRIPOS>MOLECULE, qui nous indique la présence de 17 atomes et de 18 liaisons, et que la molécule est de type SMALL :

Le bloc atomes @<TRIPOS>ATOM et le bloc topologie @<TRIPOS>BOND sont facilement reconnaissables. Les atomes (17) mais aussi les liaisons (18) sont numérotés de manière explicite en première colonne de chaque bloc, contrairement à d’autres formats (ex: MDL Mol). La table de connectivité est simple: numéro de liaison, atome1, atome2, type de liaison engageant les 2 atomes. La table des atomes comporte plusieurs lignes dont le format est le suivant (extrait du document de source Tripos définissant le format) :

Différentes colonnes sont présentes, avec le numéro (atom_id), nom, coordonnées xyz atomiques, puis un type d’atome utilisable par les logiciels (typiquement de la mécanique moléculaire) en aval,  les types d’atomes SYBYL sont définis à la fin du document de spécification du format. Enfin, des informations de sous-structure (substructure), et les charges partielles pour chaque atome.
Connaissant ces informations, nous constatons immédiatement que le fichier de coordonnées, n’a pas été écrit de novo, mais qu’il vient d’un autre logiciel/processus, avec des informations résiduelles: par exemple la sous-structure LIG1 (on se doute qu’il s’agit du ligand numéro 1), et des charges partielles calculée par on ne sait qui.

2. Charges (partielles) et surcharge du format

A ce stade, ce qui est important de noter est que le format ne prends pas en compte les charges formelles. La molécule précédente nous montre dans la dernière colonne du bloc atomique la présence de charges atomiques partielles et le bloc d’entête @<TRIPOS>MOLECULE nous apprends que ces charges atomiques sont de type Gasteiger.
Il existe de nombreux types de modèles de charges atomiques partielles, une fois appliqués au moyens de calculs théoriques aux atomes d’une même molécule, les valeurs peuvent i) notablement différer et ii) corréler plus ou moins bien avec les mesures ou des descripteurs, selon le type de groupement chargé et la molécule. Donc il s’agit d’une donnée à manipuler avec précaution, en particulier si elles sont prises en compte dans des calculs ultérieurs ou des processus de filtrage.
Le format SYBYL Mol2 utilise [NO_CHARGES, DEL_RE, GASTEIGER, GAST_HUCK, HUCKEL, PULLMAN, GAUSS80_CHARGES, AMPAC_CHARGES, MULLIKEN_CHARGES, DICT_ CHARGES, MMFF94_CHARGES, USER_CHARGES] en tant que marqueurs pour certains types de modèles (sans vraiment donner des indications supplémentaires).

Donc le format est un peu particulier au niveau des charges, surtout si on veut l’utiliser pour stocker des collections de molécules (type chimiothèques) écrites par des chimistes. D’autant plus qu’il peut être surchargé par des informations ajoutées par d’autres logiciels, nous verrons à la suite l’intérêt de ces surcharges.
Garder toutes ces informations antérieures, c’est la qualité et le défaut principal de ce format, car cela impacte sur la manière dont le logiciel suivant va interpréter la molécule. Par exemple la molécule de Triclosan précédente sera chargée de manière plutôt bizarre sous Marvin Sketch:

La molécule peut apparaitre sous une forme miniature, on a ajouté à gauche un chlorobenzène à la taille normale. Ce n’est pas une généralité, avec d’autres logiciels (ex: Discovery Studio) qui interprètent de manière différente le format de fichier, tout se passera sans problème apparents. Si on veut afficher la molécule telle qu’elle apparait dans la première image de cet article, le bon format de fichier sera:

Il faut donc remettre en cohérence les informations de sous-structure, on remarquera que le type d’atome à changé et que les charges Gasteiger ont disparu dans la dernière colonne du bloc @<TRIPOS>ATOM.

3. La possibilité d’utiliser des custom blocks

D’une manière opérationnelle, l’utilisation de ce format va être simplifiée ou compliquée par l’utilisation possible de blocs non génériques, qui eux aussi vont fournir de l’information résiduelle qui va se propager dans la suite des logiciels qui vont parser la molécule. On peut donc définir de nouveaux blocs en plus de @TRIPOS, ce qui est très intéressant.
Mais rien ne dit que ces blocs non standards seront correctement interprétés par le logiciel qui va suivre la manipulation, il faut donc restreindre l’utilisation de cette possibilité à l’intérieur d’une suite logicielle homogène et passer du temps à ‘nettoyer’ ces données excédentaires en cas d’exportation vers un autre écosystème logiciel non compatible.
Par exemple un fichier Sybyl MOL2 après traitement par DSV (Discovery Studio), pourra incorporer un nouvel espace de blocs délimité par @<SCITEGIC> et qui correspondra à des informations utilisables par [ Pipeline Pilot ]. Il s’agit d’un pipeline de données crée par [ SciTegic ] et incorporé plus tard dans la suite logicielle Discovery Studio. Pour préciser la chose, l’exemple suivant montre une partie du fichier MOL2 d’un ligand (Matviiuk & coll., 2013):

Nous reconnaissons au début de l’extrait (‘…’ pour simplifier) la fin du bloc @<TRIPOS>BOND et @<TRIPOS>SUBSTRUCTURE. Ce dernier bloc code pour le nom du composé dans le fichier PDB dont il est issu (GEQ 350). Le GEQ est un inhibiteur de la protéine InhA de Mycobacterium tuberculosis que l’on trouve co-cristallisé dans la structure PDB 1P44 – https://www.rcsb.org/structure/1P44 (Kuo & coll., 2003) et qui nous a servi de base pour développer une nouvelle famille d’inhibiteurs de cette enzyme. Les blocs @<SCITEGIC> sont soit ajoutés par Discovery Studio (RESIDUE_PROPERTY, ATOM_PROPERTY), soit par nous. Par exemple @<SCITEGIC>MOL_PROPERTY.CONFIG = 'up' correspond à une code maison concernant la conformation de la molécule. On remarquera également que les blocs @<SCITEGIC> sont typés, selon le type de données qu’ils contiennent, par exemple SciTegic.value.StringValue pour une chaine de caractères.
Nous verrons plus loin au autre cas d’utilisation des blocs non génériques.

4. Cas de plusieurs molécules par fichier

Dans de cas de plusieurs molécules par fichier, on les délimitera par les blocs @<TRIPOS>MOLECULE qui constituent l’entête de chaque molécule. Par exemple le fichier précédent comportait 3 molécules, et si on affiche la zone intermédiaire entre la première et la secondes nous avons:

On remarquera que ce format de fichier  supporte des commentaires externes (des lignes qui commencent avec le caractère # et que ne seront pas interprétées par le parseur). C’est tout à fait intéressant, car on peut ajouter d’autres données dans ce type de fichier, données interprétables masquées derrière des commentaires ou simples informations (des métadonnées par exemple). On peut objecter que le format est déjà surchargé par des informations résiduelles et des blocs génériques, que cela n’est pas la peine d’en rajouter. Peut être … mais nous assurons notre propre cohérence à l’intérieur de notre écosystème numérique et …. des lignes marquées par un caractère # c’est quelque chose qui se filtre facilement, à vous de voir.
Le bloc @<TRIPOS>MOLECULE embarque des métadonnées organisées en 6 lignes, la première étant le nom de la molécule (U5A dans ce cas), la seconde inclue des informations telles que nombre d’atomes, liaisons, sous-structures, … la troisième indique le type de molécule, etc. Si on regarde le type de molécule, on constate justement que cette molécule organique est vue comme une protéine (PROTEIN), ce qui n’est pas le cas, le mot clé SMALL (petite molécule) devrait être à cette place.
Ceci peut provenir du fait que la molécule a été construite à partir d’un ligand: le GEQ qui était co-cristallisé dans une protéine (et donc vu comme le résidu 350 dans le fichier PDB dont il a été extrait). On a modifié le GEQ au travers de l’éditeur 3D de Discovery Studio (on remarquera que les coordonnées sont tridimensionnelles, par exemple la coordonnée z = -13.651764 pour le premier atome) pour obtenir la variante U5A. Mais les informations aberrantes (le type de molécule n’est pas la seule) se sont propagées dans les blocs @<TRIPOS> (par exemple, on remarquera que le nom GEQ350 persiste à chaque ligne) ou @<SCITEGIC>.

Une fois de plus, MOL2 parait être un très bon format, mais si on creuse un peu, on s’aperçoit qu’il est parfois difficile de nettoyer les informations qui ont été ajoutées au fur et à mesure des manipulations. Nous reviendrons sur ces aspects dans un article ultérieur du blog, consacré au même format.

5. Visualisation de fichiers multi-moléculaires

Il n’existe peu ou pas d’outils de visualisation 2d (sketchers ou visualiseurs) de fichiers MOL2 multi-moléculaires. Marvin View et Marvin Sketch y arrivent, ce qui est suffisamment notable pour être mentionné. Il faudra simplement éviter le drag & drop de fichier, et utiliser à l’ancienne, le menu File > Load. Pour tester cet aspect nous allons prendre un fichier à 3 molécules (GEQ, U5A, D5A) qui sont utilisées au laboratoire.Il s’agit de dérivés du GEQ, qui sont mis au point au laboratoire (Matviiuk & coll., 2013, 2014) et qui ciblent également l’enzyme InhA.
On constate que Marvin View charge la totalité de la bibliothèque (3 molécules). Dans le cas de Marvin Sketch, le logiciel analyse le fichier puis propose de charger une molécule, par numéro d’apparition dans le fichier. Il faut donc connaitre l’ordre des molécules, mais un visualiseur de la collection est intégré pour faciliter le choix. Si on sélectionne un intervalle (par exemple 1-3) les molécules sont chargées sous forme de planche.

MarvinView MarvinSketch (sélection) MarvinSketch (planche)

Nous constatons que la fonction cétone du GEQ est chargée, le fichier est probablement passé par un autre logiciel qui a ajouté les informations de charge partielles, que les composants Marvin ont interprété sans coup férir. Ce dernier mode (planche) est à éviter, car à la sauvegarde au format Sybyl Mol2, nous allons avoir une démonstration de la notion de sous-structure, mais à nos dépends, dans ce cas précis. Les 3 ligands sont sauvés sous la forme de 3 fragments, mais au sein d’une seule molécule:

Les 3 blocs @<TRIPOS>SUBSTRUCTURE sont bien identifiés, mais les coordonnées et la topologie sont regroupées, incluant une numérotation continue d’atomes. Ce qui rendra le chargement de cette pseudo molécule très aléatoire sous d’autres logiciels et de fait invalide la collection moléculaire.
Les collections au format SYBYL Mol2 en 3D (et par conséquence en 2d) sont par contre très correctement gérées par la plupart des suites de modélisation moléculaire ou de visualisation moléculaire 3D que nous utilisons. A noter que sous UCSF Chimera, il faut jouer du group/ungroup dans le model panel pour afficher chaque ligand séparément. Je n’utilise plus PyMol depuis le décès de Warren Delano, mais déjà dans les versions 0.99, les fichiers multimoléculaires SYBYL Mol2 étaient pris en compte, chaque molécule constituant une frame dans l’ensemble de la collection.

6. Conclusion

Le format SYBYL Mol2 à autant d’avantages et d’inconvénients que les autres formats, ce qui explique pourquoi des formats du type MDL Mol/SDF continuent à être utilisés, car il ne s’agit pas seulement d’une question de format, mais aussi de sa maitrise, des habitudes et de la manière dont les logiciels et parseurs le gèrent.
Ces exemples illustrent aussi quelques unes des surprises que l’on rencontre en échangeant des molécules entre différents logiciels. La réponse qui consiste à dire qu’il ne faut en utiliser qu’un est évidemment inadéquate. En milieu universitaire on utilise plusieurs logiciels car chacun dispose de fonctionnalités uniques, qui nous intéressent, donc on jongle …
Selon le format moléculaire, certaines caractéristiques de cette molécule vont être dégradées au fur et à mesure des manipulations successives (pertes des charges, hybridations, etc). Dans ce cas il vaut mieux repartir d’une molécule ‘fraiche’ et stable à partir d’un format utilisé comme ‘master’. Ironiquement il s’agit d’un moment ou la chimie in silico rejoint la chimie à la paillasse: les molécules d’intérêt ont toujours tendance à s’abimer avec le temps.

Liens et lectures
  • Tripos / Certara [ https://www.certara.com/our-story/ ].
  • On ne trouve plus les spécifications du format Mol2 sur un site officiel (ex: Tripos) mais une recherche Google allume beaucoup d’archives proposant le document mol2.pdf.
  • Partial Charge [ http://en.wikipedia.org/wiki/Partial_charge ].
  • On trouve la même approche en CSVM, mais encore plus parcimonieuse car le caractère # est utilisé pour marquer à la fois des lignes de mots clés (à la place de @<), des commentaires externes, ou encore des informations récursives.
  • Targeting tuberculosis and malaria through inhibition of Enoyl reductase: compound activity and structural data. M.R. Kuo & coll (2003) J. Biol. Chem. 278, 20851-20859. DOI [ 10.1074/jbc.M211968200 ].
  • Structure PDB 1P44 [ https://www.rcsb.org/structure/1P44 ].
  • Synthesis of 3-heteryl substituted pyrrolidine-2,5-diones via catalytic Michael reaction and evaluation of their inhibitory activity against InhA and Mycobacterium tuberculosis. T. Matviiuk & coll. (2014) Eur. J. Med. Chem. 71, 46–52. DOI [ 10.1016/j.ejmech.2013.10.069 ].
  • Design, chemical synthesis of 3-(9H-fluoren-9-yl)pyrrolidine-2,5-dione derivatives and biological activity against enoyl-ACP reductase (InhA) and Mycobacterium tuberculosis. T. Matviiuk & coll. (2013) Eur. J. Med. Chem. 70, 37–48. DOI [ 10.1016/j.ejmech.2013.09.041 ].
  • W.L. Delano [ http://en.wikipedia.org/wiki/Warren_Lyford_DeLano ].

Retour en haut