Nous avons évoqué quelques particularités du format SYBYL Mol2, sans trop insister sur la prise en compte des charges, formelles ou partielles. Le format embarque une définition de charges partielles dans les lignes du bloc @<TRIPOS>ATOM mais ne supporte pas les charges formelles d’une manière générique. Il s’agit d’un problème car les charges formelles sont utilisées dans certains processus in silico. Pour examiner cette question, nous allons détailler une stratégie de définition des charges formelles dans un cas très concret et qui est basée sur une surcharge du format puisque Sybyl Mol2 peut prendre en compte (avec quelques risques en cas d’échanges de molécules) des blocs de données non définis dans la spécification du format.
Publication initiale sur buildblog.buidez.net (2014) – Article mis à jour en Décembre 2024.
Navigation dans le guide
Guide [ Formats moléculaires (chimie) ]
Nous allons donc faire appel à l’enzyme InhA et à la structure PDB 1P44 (Kuo & coll., 2003) et nous allons nous intéresser au coenzyme (NAD+/NADH) et non au ligand (GEQ) qui n’est pas chargé. L’exemple est réel et pris dans notre backoffice informatique de laboratoire, il s’agit d’un processus de préparation qui fait partie d’un ensemble de calculs et de manipulations moléculaires liées à la conception d’inhibiteurs de InhA dérivés du GEQ (Matviiuk & coll., 2013, 2014).
On extraira le NAD300 (résidu 300 dans la structure 1P44, chaine A, soit 1P44a) directement à partir de la structure, et on le corrigera en NAD+ (assigné en tant que tel dans la publication) en affectant 3 charges formelles à la conformation cristallographique.
La figure suivante montre le ligand GEQ et le NAD+ dans la structure 1P44a sous Discovery Studio Visualizer (DSV):
![]() |
Le NAD300 est affiché en rose, le GEQ en gris. Les charges des phosphates sont prises en compte, mais … première surprise, le NAD+ ressemble plutôt à sa forme réduite NADH. En principe dans la réaction réelle (test d’activité, IC50) le NADH est ajouté en présence du substrat et (ou non) de l’inhibiteur, et la réaction est suivie par la décroissance du NADH (réaction dans le sens de l’oxydation) qui absorbe à 340 nm. Les auteurs de la publication on également pris soin de montrer par une autre expérience que le NAD+ se lie à la protéine.
Ce genre de problème est assez courant dans les structures issues de la PDB, nous allons donc corriger le NAD300 en NAD+ avant de nous en servir pour autre chose (par exemple de l’arrimage moléculaire). Ce qui nous donne la structure suivante pour NAD300, après élimination de la protéine, de l’eau et de l’autre ligand:
![]() |
Maintenant, sachant que le format SYBYL Mol2 ne prends pas en compte les charges formelles, nous allons examiner la molécule produite par DSV au format Mol2:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# Created by: Discovery Studio ... @<TRIPOS>MOLECULE 1P44a_ref 44 48 1 0 0 PROTEIN USER_CHARGES @<TRIPOS>ATOM 1 PA 19.915000 47.448000 -12.102000 P.3 1 NAD300 1.2497 2 O1A 19.966000 48.859000 -12.792000 O.2 1 NAD300 -0.8094 3 O2A 19.067000 46.492000 -12.890000 O.2 1 NAD300 -0.8094 4 O5B 19.348000 47.667000 -10.615000 O.3 1 NAD300 -0.4802 5 C5B 19.680000 48.763000 -9.707000 C.3 1 NAD300 0.1581 ... 42 C4N 28.546000 44.301000 -10.871000 C.ar 1 NAD300 0.0714 43 C5N 28.652000 44.352000 -9.462000 C.ar 1 NAD300 -0.0040 44 C6N 27.688000 45.083000 -8.742000 C.ar 1 NAD300 0.0841 @<TRIPOS>BOND 1 12 7 1 2 12 10 1 3 12 13 1 ... 46 23 24 1 47 4 1 1 48 27 24 1 @<TRIPOS>SUBSTRUCTURE 1 NAD300 1 RESIDUE 1 A NAD @<TRIPOS>SET GROUP:Hetatm STATIC ATOMS <user> 44 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 \ 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 GROUP:Ligand_Groups:Ligand_1 STATIC SUBSTRUCTURES <user> 1 1 @<TRIPOS>CRYSIN 100.619000 83.219000 192.972000 90.000000 94.950000 90.000000 5 1 @<SCITEGIC>MOL_PROPERTY __PDBRemarks__ SciTegic.value.StringValue REMARK Accelrys Discovery Studio PDB file REMARK Created: Mon Nov 15 14:33:36 Paris, Madrid 2010 CRYST1 100.619 83.219 192.972 90.00 94.95 90.00 C2 @<SCITEGIC>MOL_PROPERTY __PDBSeqres__ SciTegic.value.StringValue @<SCITEGIC>ATOM_PROPERTY Formal Charge SciTegic.value.StringValue 1 0 2 -1 3 0 ... 25 0 26 -1 27 0 ... 35 0 36 +1 ... 42 0 43 0 44 0 @<SCITEGIC>ATOM_PROPERTY pdb_tempFactor SciTegic.value.DoubleValue 1 37.60 2 35.89 3 36.96 ... @<SCITEGIC>ATOM_PROPERTY pdb_occupancy SciTegic.value.DoubleValue 1 1.00 2 1.00 3 1.00 ... @<SCITEGIC>ATOM_PROPERTY pdb_heteroAtom SciTegic.value.BooleanValue 1 true 2 true 3 true ... |
Nous constatons que les charges sont définies avec la classe USER_CHARGES, dans le bloc @<TRIPOS>MOLECULE. Mais cette définition n’est pas vraiment exploitée car le logiciel a crée une section ‘maison’ @<SCITEGIC>ATOM_PROPERTY qui définit Formal Charges et affiche les charges formelles pour chaque atome (les oxygènes des phosphates: 2 -> -1, 26 -> -1, et 36 -> +1 pour le groupe nicotinamide). Au passage on voit la manière dont le format ‘absorbe’ des informations qui sont issues de la protéine dans les blocs @<TRIPOS>SUBSTRUCTURE, @<TRIPOS>SET et @<TRIPOS>CRYSI. Le dernier bloc est l’équivalent de la ligne CRYST1 d’un fichier PDB, et cette information est dupliquée dans un bloc @<SCITEGIC>MOL_PROPERTY qui définit __PDBRemarks__. On retrouve également d’autres éléments de la structure PDB (tempFactor, occupancy) dans d’autres blocs @<SCITEGIC>.
Si nous rechargeons cette structure dans DSV, il n’y aura pas de problèmes, mais si nous la rechargeons dans Marvin View, ou Marvin Sketch (après un clean 2D) que se passe t’il ?
![]() |
Nous constatons l’apparition de charges positives et négatives sur les atomes des groupes phosphates, la perte de la charge sur le groupe nicotinamide. Le produit de Chemaxon, n’y est pour rien, il se contente de suivre la spécification du format Mol2. En effet si on regarde la colonne des charges partielles atomiques dans le fichier Mol2, on constate pour les 4 premières (lignes 11-14) qui correspondent au groupe phosphate la présence des charges négatives et de la charge positive sur l’atome de phosphore. DSV a donc réalisé un calcul, qui a été introduit dans le fichier sauvé en Mol2 et qui peut perturber la suite des opérations.
La même molécule, sauvée au format MDL Mol donnera le fichier suivant :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
1P44a_ref DSViewer 3D 0 44 48 0 0 0 0 0 0 0 0999 V2000 19.9150 47.4480 -12.1020 P 0 0 0 0 0 0 0 0 0 1 19.9660 48.8590 -12.7920 O 0 5 0 0 0 0 0 0 0 2 19.0670 46.4920 -12.8900 O 0 0 0 0 0 0 0 0 0 3 ... 28.5460 44.3010 -10.8710 C 0 0 0 0 0 0 0 0 0 42 28.6520 44.3520 -9.4620 C 0 0 0 0 0 0 0 0 0 43 27.6880 45.0830 -8.7420 C 0 0 0 0 0 0 0 0 0 44 12 7 1 0 0 0 12 10 1 0 0 0 12 13 1 0 0 0 ... 23 24 1 0 0 0 4 1 1 0 0 0 27 24 1 0 0 0 M CHG 3 2 -1 26 -1 36 1 M END $$$$ |
Cette fois les charges explicites sont encodées dans la première ligne après la table de connexion. On y lit que la molécule possède 3 charges, -1 pour l’atome numéro 2 et l’atome numéro 26, et +1 pour l’atome numéro 36. Cette définition sera, très logiquement, correctement interprétée par Marvin Sketch et Marvin View:
![]() |
Par contre, si cette molécule est sauvée au format Mol2 par Marvin, bye bye les charges: la classe NO_CHARGES est à nouveau appliquée :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
@<TRIPOS>MOLECULE 1P44a_ref 44 48 1 SMALL NO_CHARGES @<TRIPOS>ATOM 1 P1 19.4826 46.3923 0.0000 P 1 noname 2 O1 18.7835 45.0201 0.0000 O.3 1 noname 3 O2 20.1818 47.7644 0.0000 O.2 1 noname ... 42 C19 33.1221 47.9133 0.0000 C.2 1 noname 43 C20 32.4230 49.2855 0.0000 C.2 1 noname 44 C21 30.8851 49.3661 0.0000 C.2 1 noname @<TRIPOS>BOND 1 12 7 1 2 12 10 1 3 12 13 1 ... 46 24 23 1 47 4 1 1 48 27 24 1 @<TRIPOS>SUBSTRUCTURE 1 noname 1 |
Il ne faudrait pas croire pour autant que SYBYL Mol2 surcharge et MDL Mol décharge. En effet, à force de tripatouiller les molécules dans tous les sens, du fait que nous passons d’un logiciel à un autre, on peut avoir une surcharge SYBYL Mol2 dans un fichier MDL Mol ! Par exemple, ce fichier pour le NAD+ qui embarque des charges formelles et des éléments issus de blocs @<TRIPOS> ou @<SCITEGIC> :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
1P44a_ref_nad_h DSViewer 3D 0 70 74 0 0 0 0 0 0 0 0999 V2000 19.9100 47.4160 -12.1050 P 0 0 0 0 0 0 0 0 0 1 19.9580 48.8270 -12.7960 O 0 0 0 0 0 0 0 0 0 2 19.0650 46.4570 -12.8930 O 0 5 0 0 0 0 0 0 0 3 ... 29.2895 43.7337 -11.4521 H 0 0 0 0 0 0 0 0 0 68 25.7173 46.0295 -13.1771 H 0 0 0 0 0 0 0 0 0 69 26.4267 45.4076 -14.7723 H 0 0 0 0 0 0 0 0 0 70 12 7 1 0 0 0 12 10 1 0 0 0 12 13 1 0 0 0 ... 42 68 1 0 0 0 41 69 1 0 0 0 41 70 1 0 0 0 M CHG 3 3 -1 25 -1 36 1 M END > <__PDBRemarks__> REMARK Accelrys Discovery Studio PDB file REMARK Created: Thu Dec 13 17:35:16 Paris, Madrid 2012 CRYST1 100.619 83.219 192.972 90.00 94.95 90.00 C2 > <Mol2_Set_ObjectType> ATOMS SUBSTRUCTURES > <REMARK99> REMARK 99 MacroMolecule created from Mol2 file REMARK 99 1P44a_ref_nad_h REMARK 99 PROTEIN REMARK 99 USER_CHARGES REMARK 99 REMARK 99 $$$$ |
Le fichier MDL Mol, qui est équivalent à un format SDF mono-moléculaire (il peut donc embarquer des métadonnées) a ‘absorbé’ à son tour des informations issues du fichier PDB (ligne CRYST1) dont le NAD+ est issu et qui sont exprimées sous forme de champs (__PDBRmarks__, Mol2_Set_ObjectType et REMARK99) type SDF.
Conclusion
Autour d’une bête question de charges formelles, nous découvrons de nombreux problèmes de formats de fichiers. Ce qui pose la question de bibliothèques de centaines de milliers de molécules utilisées sans autre forme de procès ou de vérification, par les utilisateurs au travers de laboratoires publics et privés sur la planète. D’autant plus qu’utiliser une suite logicielle ou un workflow cohérent ne préserve pas, a priori, de ces problèmes. Il peuvent être tout à fait transparents pour l’utilisateur final qui ne rentre pas dans le détail de l’écosystème numérique qu’il utilise.
Dans un congrès, si vous voyez des molécules chargés sur un poster, n’hésitez pas à poser une ou deux questions sur l’existence de processus de curation des collections moléculaires, et sur la méthodologie appliquée. Je suis presque sûr que vous aurez un sourire intérieur en pensant à cette série d’articles sur les formats de fichiers moléculaires.
Liens et lectures
- Partial Charge [ http://en.wikipedia.org/wiki/Partial_charge ].
- 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 ].
- 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 ].
- Structure PDB 1P44 [ 1P44 – https://www.rcsb.org/structure/1P44 ].
- NAD (Nicotinamide Adenine Dinucleotide) [ http://fr.wikipedia.org/wiki/Nicotinamide_ad%C3%A9nine_dinucl%C3%A9otide ].



