FR 2660458 A1 19911004 FR 9004134 A 19900330 PROCEDE ET SYSTEME DE STOCKAGE ET DE RECHERCHE DE FORMULES CHIMIQUES DANS UNE BASE DE DONNEES La présente invention concerne un procédé et un système de stockage et de recherche dans une base de données de formules de Markush, et d'informations associées auxdites formules. Une formule de Markush est une représentation structurelle d'un composant ou d'une famille de composants chimiques ayant des caractéristiques structurelles communes Une telle formule est représentée par un schéma comprenant une partie commune à la famille de composants, ou groupe de base, et une ou plusieurs parties de caractéristiques différentes, ou groupes "substituants", habituellement représentés par des symboles tels que R, R 1, etc L'invention trouve une application particulièrement importante bien que non exclusive dans les domaines de la recherche pharmaceutique et de la chimie industrielle Elle permet le stockage, la recherche et l'identification d'informations sur des formules de Markush mentionnées dans la littérature et en particulier dans les revendications de brevet. L'invention peut ainsi être utilisée dans l'étude des propriétés d'une molécule, ou d'une famille de molécules, destinées par exemple à un médicament ou à un produit chimique industriel. On connaît depuis le début des années 1960, des procédés et dispositifs automatisés de stockage et de recherche d'informations sur des formules chimiques, atome par atome. Pratiquer d'entrée de jeu une telle recherche sur des formules simples, est possible. L'appliquer aux formules de Markush, dont une simple formule peut représenter plusieurs millions de composants, n'est pas satisfaisant, car trop long. On a donc cherché des procédés plus performants en prévoyant une première élimination de formules possibles, avant d'effectuer la recherche atome par atome. Le brevet US 4 642 762 décrit un procédé de stockage et de recherche de formules de Markush comportant une étape de présélection de ce type Pour ce faire, on commence par réécrire les formules de Markush sous la forme d'une représentation multiple spécifique, puis sous la forme d'une représentation multiple générique correspondante, représentant toutes les représentations individuelles génériques desdites formules de Markush. On compare ensuite les représentations individuelles génériques de la formule recherchée avec les représentations individuelles génériques des formules stoquées. Par représentation générique il faut entendre, dans le brevet US 4 642 762, des représentations dans lesquelles figurent uniquement des termes dit générique du type alkyle, carboxyle, etc Il est annoncé qu'on peut ainsi éliminer partiellement un certain nombre de formules de Markush possibles de la banque de données, dès lors que celles-ci ne sont pas représentables sous les formes individuelles génériques compatibles avec celles de la formule recherchée. Un tel procédé n'est pas entièrement satisfaisant et peut être amélioré En particulier, en élargissant la représentation de la formule de Markush recherchée pour la présenter sous une forme dite "générique", on crée des possibilités supplémentaires de correspondance, qui diminuent la précision de la recherche, rendant le gain de traitement en temps moins important, voir discutable. La présente invention vise à fournir un procédé et un système de stockage et de recherche de formules chimiques répondant mieux que ceux antérieurement connus aux exigences de la pratique notamment en ce qu'ils permettent de rechercher dans un fichier de formules de Markush préalablement constitué, une formule déterminée avec un haut degré de fiabilité et une grande rapidité. Le procédé et le système de l'invention sont également mis en oeuvre de façon simple et aisée par l'utilisateur du système. Dans ce but la présente invention propose notamment un procédé de stockage et de recherche de formules de Markush caractérisé en ce que a) on forme un fichier de base de formules chimiques à partir desdites formules de Markush, dans lequel chaque formule de Markush est stockée sous forme de table de connectivité comprenant un numéro de référence de ladite formule stockée et un numéro de "présélection" décrivant synthétiquement des caractères types prédéterminés de ladite formule, définis selon une table de définition préalablement constituée desdits caractères types, b) on détermine pour chaque formule du fichier de base et pour la formule recherchée stockée sous forme identique aux formules du fichier de base, la liste de tous les noeuds ou atomes foyers comprenant au moins deux atomes voisins immédiats et, un fragment étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer, on calcule, pour chaque noeud de cette liste, toutes les parties possibles ou fragments de ladite formule issues de ce noeud, c) on forme un fichier de fragments comprenant, pour chaque fragment calculé des formules du fichier de base, la liste des numéros de références des formules comprenant ce fragment, d) pour un premier fragment de la formule de Markush recherchée, on extrait dudit fichier de fragments une première liste de numéros de référence des formules possibles comprenant ledit fragment de ladite formule de Markush recherchée, e) puis s'il y a lieu et pour un second fragment de la formule recherchée, on extrait dudit fichier de fragments une deuxième liste de numéros de référence des formules possibles comprenant ledit deuxième fragment, que l'on compare avec la première liste obtenue pour le premier fragment, pour former une troisième liste "issue des fragments", constituée par les numéros communs des deux premières listes, et on réitère l'opération tant qu'on l'estime nécessaire en comparant chaque nouvelle liste de numéros de formules possibles correspondant à un nouveau fragment avec la liste constituée par les numéros communs de toutes les listes précédentes, pour former une liste "issue de fragments" de longueur optimisée, f) on compare le numéro de "présélection" de la formule de Markush recherchée avec les numéros de "présélection" des formules de la liste "issue de fragments" de longueur optimisée, et on en extrait une liste finale formée par les numéros de références des formules ayant un numéro de "présélection" identique à celui de la formule de Markush recherchée. Dans des modes de réalisation préférés, on a recours en outre à l'une et/ou à l'autre des dispositions suivantes: On effectue de plus, une comparaison noeud à noeud des formules de ladite liste finale avec la formule de Markush recherchée, et on extrait les références de la ou des formules de Markush éventuellement obtenues par cette comparaison. On affecte à certains des atomes ou groupes d'atomes, des formules de Markush du fichier de base, un ou plusieurs attributs, et on ne recherche dans ledit fichier de base de formules de Markush que les formules comportant une structure munie du ou des attributs spécifiquement affectés aux atomes, ou groupe d'atomes, de la formule recherchée. On stocke les formules de Markush, constituées par des graphes, en utilisant quand nécessaire aux noeuds desdits graphes, de "faux atomes" représentant des termes génériques et/ou des ensembles d'atomes invariants pour simplifier les représentations desdites formules. On entre les formules de Markush dans le fichier de formules chimiques, et on interroge le fichier, sous forme graphique. Ceci permet la visualisation des formules préalablement stockées de façon automatique, notamment lors d'une interrogation. On constitue le numéro de "présélection" décrivant synthétiquement des caractères types prédéterminés d'une formule de Markush, sous forme d'une chaîne de n bits, dont chaque bit correspond à un caractère type déterminé de la table de définition préalablement constituée desdits N caractères types. On stocke chaque formule de Markush sous forme de table de connectivité "à tiroir", comprenant: quatre tables donnant les relations entre les différents groupes d'atomes, ou graphes "fils" de la structure, constituées par une première table (LIRAT) identifiant les atomes auxquels se rattachent lesdits groupes, une deuxième table (NVAL) donnant les nombres de valeurs pour chacun desdits groupes, une troisième table (IAT) donnant les débuts de valeurs desdits groupes et, une quatrième table (IFR) donnant les adresses par groupe vers la table des débuts de valeurs (IAT). Une telle disposition permet d'améliorer d'un facteur 5 la rapidité d'interrogation du fichier en cas de recherche atome par atome, ce qui revient à étendre virtuellement la mémoire de travail du système informatique interrogé. L'invention propose également un système ou dispositif informatique pour la mise en oeuvre du procédé de stockage et de recherche de formules de Markush ci-dessus défini, comprenant une unité centrale, des mémoires de travail et de stockage, des moyens d'entrées de formules de Markush sous forme graphique et/ou alpha-numérique et des moyens de restitution d'informations caractérisé en ce qu'il comprend des moyens pour générer un fichier de base de formules chimiques, à partir desdites formules de Markush, sous forme de tables de connectivité, chaque formule comprenant un numéro de référence et un numéro de "présélection" décrivant des caractères types de ladite formule définis selon une table de définition préalablement stokée dans une mémoire du système, des moyens pour générer, pour chaque formule stockée ou recherchée, la liste de tous les noeuds, ou atomes foyers, comprenant au moins deux atomes voisins immédiats, des moyens de calcul, pour chaque noeud de cette liste par formule, de toutes les parties possibles, dites fragments, de ladite formule, issues de ce noeud, un fragment étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer, des moyens pour générer un fichier de fragments comprenant, pour chaque fragment calculé des formules du fichier de base, la liste des numéros de références des formules comprenant ce fragment, des moyens d'extraction, à partir dudit fichier de fragments, de listes de numéros de référence de formules possibles comprenant au moins un fragment de la formule de Markush recherchée, les dits moyens étant prévus pour générer une liste "issue de fragments" de longueur optimisée constituée par les numéros des formules de Markush comportant un nombre optimisé, déterminé par l'utilisateur, de fragments communs avec la formule de Markush recherchée, et des moyens de comparaison du numéro de "présélection" de la formule de Markush recherchée, avec les numéros de "présélection" des formules de la liste "issue de fragments" de longueur optimisée et, à partir de cette comparaison, de constitution d'une liste finale formée par les numéros de références des formules ayant un numéro de "présélection" identique à celui de la formule de Markush recherchée. Le système informatique selon l'invention comprend de plus avantageusement des moyens de comparaison noeud à noeud des formules de ladite liste finale avec la formule de Markush recherchée et d'extraction des références de la ou des formules de Markush éventuellement obtenues par cette comparaison. L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers de réalisation de l'invention, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels: La figure 1 est une représentation graphique classique d'une formule de Markush. La figure 2 est une représentation graphique d'une formule de Markush telle qu'utilisée dans l'invention; chaque formule est représentée sous forme d'un graphe "à tiroirs" c'est-à-dire présentant des noeuds connectés à des groupes ou fragments de graphe variables ou "substituants", susceptibles d'avoir eux-mêmes des noeuds connectés à d'autres groupes "substituants". La figure 3 est un tableau donnant un choix de symboles représentant certaines parties de graphe ou configurations apparaissant fréquemment dans les formules chimiques, et avantageusement utilisés dans l'invention, pour faciliter stockage et recherche. La figure 4 donne un mode préféré de représentation graphique des types de liaison entre atomes tels qu'utilisés dans les représentations graphiques des formules stockées et recherchées par la méthode selon l'invention. La figure 5 est un schéma de principe du système de stockage et de recherche de formules de Markush selon l'invention. Les figures 6 a et 6 b présentent les organigrammes schématiques, respectivement de la saisie des formules et de la recherche de formule de Markush, selon le procédé de l'invention. Les figures 7 a et 7 b montrent deux exemples de formule chimique et de leurs fragments, tels que définis et utilisés dans le procédé et le système selon l'invention. Les figures 8, 9 et 10 donnent les représentations graphiques successives des groupes et sous-groupes d'une formule particulière,tel que saisies ou éditées en utilisant un mode de réalisation du système et du procédé selon l'invention. Les figures lla et llb donnent un mode de réalisation de table de connectivité utilisée dans le procédé selon l'invention pour la formule des figures 8, 9 et 10. La figure 12 est un exemple de tableau d'attributs, selon un mode de réalisation de l'invention, permettant de préciser les atomes et les liaisons des formules de Markush et accélérer la recherche. L'exemple correspond à la formule des figures 8, 9, , lla et llb. La figure 13 représente un mode de réalisation schématique d'un système de stockage et de recherche de formule de Markush, selon l'invention. La figure 1 est un exemple simple de formule de Markush. Comme mentionné plus haut, une formule de Markush est une représentation structurelle d'un composant ou d'une famille de composants chimiques Elle se présente en général sous la forme d'un graphe ou d'un schéma comprenant une partie commune, ou groupe de base, (représenté par Ro sur la figure 1), et une ou plusieurs parties de caractéristiques différentes, ou groupe "substituant", représentés sur la figure 1 par les symboles R 1 et R 2 et pouvant signifier l'un quelconque des atomes ou groupes d'atomes mentionnés à titre d'exemple sur la figure 1. Compte tenu de ce type de représentation, on voit que le nombre de combinaisons, ou le nombre de graphes, issus d'une formule de Markush déterminée peut être très important Ce nombre peut atteindre plusieurs millions de formules spécifiques différentes lorsqu'on utilise, par exemple, des termes génériques du type alkyle, etc, pour désigner une ou plusieurs parties R 1 etc du graphe de structure. Sur la figure 2 on a représenté une formule de Markush telle qu'utilisée dans les représentations graphiques de saisie ou de sortie de données de la présente invention. La formule, sur l'exemple représenté dans la figure 2, est constituée par un graphe de base, ou groupe de base, Go Ce graphe est souvent appelé graphe "père". Il est connecté en deux de ces noeuds à deux graphes ou groupes "fils" G 1 et G 2 Les valeurs de G 1 sont représentées sur la figure comme pouvant être un atome d'hydrogène, de brome, de chlore ou d'iode; les valeurs prises par G 2 peuvent être, le brome, le chlore, l'iode ou deux sousgraphes ou groupes G 3, G 4, qui peuvent à leur tour prendre plusieurs valeurs différentes comme indiqué sur la figure 2. Si chaque noeud représente habituellement un atome, dont l'identité peut être alors enregistrée, on a vu qu'un noeud pouvait également représenter un terme générique, comme alkyle, carboxyle, etc Dans la méthode et le système de l'invention, ces termes génériques sont avantageusement représentés par des "pseudo-atomes" appelés "super-atomes" Une table (table I) des atomes et super-atomes utilisables dans la méthode et le dispositif de l'invention est donnée en annexe, à titre d'exemple non limitatif. De plus, et dans un but de simplification, des ensembles d'atomes fréquemment rencontrés dans les formules chimiques de la littérature ont été définis. Ils permettent d'effectuer des recherches plus rapides, dites par "raccourcis" De tels exemples d'ensembles d'atomes, utilisables dans l'invention, sont représentés en figure 3. Les "super-atomes" (table I) ou les ensembles d'atomes (figure 3) sont utilisés dans la suite de l'invention comme n'importe quel autre atome. il Les connexions entre noeuds d'une formule de Markush, qui représentent les liaisons, doivent également être définies, pour permettre une représentation suffisamment complète des molécules à stocker ou à rechercher Les informations concernant ces liaisons, comme l'orientation ou la disposition relative dans l'espace des différents noeuds les uns par rapport aux autres (stéréochimie) sont mentionnées sur la figure 4 qui donne également un type de représentation graphique de ces liaisons, tel qu'avantageusement utilisées dans la présente invention. Enfin, il s'avère utile de pouvoir préciser les spécifications des atomes des différents noeuds par d'autres informations que leur simple identité, par exemple leur charge, leur masse atomique, etc Pour ce faire, un mode de réalisation avantageux de stockage des formules selon l'invention prévoit de stocker les différents noeuds des graphes représentant la formule de Markush en affectant à chaque noeud une étiquette ou "attribut" pour faire état de ces informations. On a représenté ci-après, et sans que cela soit en rien limitatif du nombre ou des types d'attributs envisageables, une liste d'attributs (table II) pouvant été affectés aux atomes ou groupes d'atomes des modes de représentation utilisés dans l'invention. TABLE II NATURES D'ATTRIBUTS 1 Charges CH 2 Isotopes IS 3 Sites Libres/Hydrogènes SL 4 Stéréochimie ST Valences VA 6 Numérotation NU 7 Chaines carbonées/cycles CC 8 Multiplicateurs MU 9 Polymères/DL PO Deutérium-Tritium DT il Renumérotation RE 12 Position SP Il est également donné ci-après, à titre d'exemple, un mode de réalisation du codage de quelques uns de ces attributs sous forme numérique (table III, IV, V et VI) Dans les tableaux ci-après (QU) signifie qu'il s'agit d'une information ne pouvant être fournie que dans le cadre d'une question. TABLE III CHARGES 1 Mot numérique OCTET NO 1 BIT 1 Pas de charge (QU) BIT 2 Charge quelconque (QU) BIT 3 charge localisée BIT 4 charge délocalisée BIT 5 Charge positive BIT 6 charge négative BIT 7 BIT 8 OCTET NO 2: Valeur absolue de la charge L'absence d'attribut s'exprime par: CH = O Valeurs Min/Max: -9 à + 9 TABLE IV ISOTOPES 1 Mot numérique BIT 1 Pas de masse (QU) BIT 2 Masse quelconque (QU) BIT 3 BIT 4 BITS 5/16 Valeur de l'isotope L'absence d'attribut s'exprime par: IS = O Valeurs Min/Max 2 à 1023 TABLE V SITES LIBRES/HYDROGENES 1 Mot numérique SL = Nombre de sites Libres BIT 1 (Pas de sites Libres) BIT 2 (Nombre de sites Libres quelconque) BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 BIT 8 BIT 9 BIT 10 BIT 11 BITS 12/16 nombre de sites libres L'absence d'attribut s'exprime par SL = O Valeurs Min/Max: O à 16 La notion de site libre est importante Elle est utilisée pour spécifier la quantité ou le degré de substitution souhaité d'un atome ou d'une position Si aucun site libre n'est spécifié, le système complète automatiquement en "équilibrant" la valence avec des atomes d'hydrogène Le nombre de sites libres spécifié indique le nombre maximum de liaison(s) acceptable(s) pour un atome donné, en plus de celle(s) explicitement représentée(s) dans le graphe. TABLE VI VALENCES 1 Mot numérique OCTET NO 1 BIT 1 Pas de valence (QU) BIT 2 Valence quelconque (QU) BIT 3 BIT 4 0 BIT 5 BIT 6 BIT 7 BIT 8 OCTET NO 2: Valeur de la valence L'absence d'attribut s'exprime par: VA = valence normale Valeurs Min/Max: O à 255 La figure 5 est un schéma de principe du système de stockage et de recherche de la formule de Markush selon le mode de réalisation de l'invention plus particulièrement décrit ici. Ce mode de réalisation est avantageusement mis en oeuvre grâce à un ordinateur qui comprend, de façon connue en soi, une unité centrale (CPU) connectée à des dispositifs annexes comportant des unités de stockage externe et des moyens d'interfaces entrées - sorties, tels que des écrans de visualisation et des imprimantes, lesdits périphériques étant reliés à l'unité centrale de façon connue en soi par les moyens habituels de télécommunication. L'unité centrale est par exemple constituée par un ou plusieurs ordinateurs IBM (INTERNATIONAL BUSINESS MACHINE) de grande capacité, par exemple du type IBM 3090 Les périphériques, ou terminaux, d'interfaces entrée-sortie peuvent être eux-mêmes des micro-ordinateurs du type IBM PC, ou d'autres terminaux du type Hewlett Packard 2647 A, pour permettre 1 'entrée des données sous forme graphique et/ou alpha-numérique. Sur la figure 5 on a représenté une série 1 de documents, (Document 1, Document 2) comportant chacun une formule de Markush Les formules de Markush de ces documents sont entrées dans le système 2 par l'intermédiaire d'un programme d'application, connu en lui même, permettant la représentation graphique et/ou alpha-numérique des formules, par exemple un programme du type PLOT 10 de la société TEKTRONIX, ou d'un autre type disponible sur le marché. La formule de Markush recherchée, correspondant à la question 3, est saisie de façon sensiblement identique par l'opérateur 4. Les formules de Markush issues des documents ou des questions sont ensuite traitées par le programme de saisie 5 Ce programme stocke les données constituées par les formules des documents entrées dans le système, dans un fichier 6 de base de données, sous forme de tables de connectivité comprenant chacune un numéro de référence de la formule et un numéro de présélection, comme cela va être décrit par la suite. De la même façon la formule de Markush de la question 3 est formulée par le programme de saisie 5 sous forme de table de connectivité 7 avec un numéro de référence et un numéro de présélection La formule recherchée 7 est ensuite comparée avec le fichier 6 de la base de donnée par un programme de recherche 8, sur le déroulement duquel l'opérateur 4 peut intervenir en interactiff. Le programme engendre une liste 9 après traitement, liste dont on extrait visuellement, et/ou de façon imprimée, les références et/ou représentation de la ou des éventuelles formules de Markush, issues du fichier 6 de la base de donnée, et qui correspondent à la formule de Markush recherchée 7. En se référant maintenant à la partie supérieure de la figure 6 a, l'opérateur introduit dans le système sous forme graphique ou alphanumérique, les formules de Markush de la banque de données et/ou de la formule à rechercher dans ladite banque de données (bloc d'introduction de données 10). Cette introduction se fait comme on l'a mentionné plus haut, par l'intermédiaire d'un programme d'application connu en soi. Par ailleurs, et de façon connue, les conventions et définitions nécessaires à la compréhension des formules de Markush saisies et traitées, ont été stockés au préalable en mémoire de l'ordinateur. En particulier, les tables I à VI, et les conventions et définitions des figures 1 à 4, ont été introduites dans le système. Un tableau VII représentant le tableau de numéros de présélection utilisés dans la suite du programme a été également constitué (référence il sur la figure 6 a). Un exemple de tableau VII est donné ci-après sous forme simplifiée pour mieux faire comprendre l'invention L'exemple donné n'est, bien entendu, pas limitatif, notamment quand au nombre et au type de caractères types retenus Avantageusement le nombre de caractères peut par exemple être de l'ordre de 100 à 400. TABLE VII NO BIT DESIGNATION 1 6 il Déscriptio: 8 Carbones ou plus 12 Carbones ou plus 16 Carbones ou plus Pas d'Oxygène ou de Soufre Pas d'Azote 1 Oxygène ou plus 2 Oxygènes ou plus 1 Azote ou plus 2 Azotes ou plus 1 Halogène ou plus 2 Halogènes ou plus 1 Chlore ou plus Pas d'autres Hétéro-atomes que Pas d'Hétéro-atome Pas d'Halogène n Formule Brute : O, S, P, N, Hal Description des Liaisons et Fonctions Chimiques Liaisons Doubles 16 1 Liaison C = C 17 1 Liaison C = N 18 2 Liaisons C = N 19 1 Liaison C = S Liaisons Triples 1 Liaison C: C Fonctions Chimiques 21 1 fonction O = N = 22 1 fonction C O - 23 1 fonction O = C - ou O C ou plus ou plus ou plus ou plus ou plus O ou plus C ou plus S ou O u C u S S ou plus TABLE VII (suite) Description Noyaux Cycliques 24 Pas de noyau cyclique 25 1 noyau cyclique ou plus 26 2 noyaux cycliques ou plus 27 1 monocycle aromatique 28 1 noyau à 2 cycles exactement 29 1 noyau à 3 cycles exactement 30 1 noyau à 1 cycle ou plus Description des monocycles aromatiques 31 1 monocycle sans Hétéroatome 32 1 autre monocycle de même type Description des monocycles non aromatiques 33 1 monocycle sans Hétéroatome 34 1 autre monocycle de même type Description des noyaux à 2 cycles exactement 1 noyau sans Hétéroatome 36 1 autre noyau de même type ( 2 cycles exactement) sans Hétéroatome Description des noyaux à 3 cycles exactement 37 1 noyau sans Hétéroatome 38 1 noyau avec 1 Oxygène ou plus 39 1 noyau avec 1 Liaison aromatique ou plus Description des noyaux à 1 cycle ou plus 1 noyau avec Hétéroatome 41 1 noyau avec 1 Azote ou plus TABLE VII (suite et fin) Description des noyaux à 2 cycles ou plus 42 1 noyau avec Hétéroatome 43 1 autre noyau de même type ( 2 cycles ou plus) avec Hétéroatome 44 1 noyau avec 1 Liaison aromatique ou plus 1 noyau avec 9 Liaisons aromatiques ou plus Divers Attributs 46 1 Atome portant une charge ou plus 47 1 Atome isotope ou plus 48 1 Atome portant de la stéreo ou plus 49 1 Atome portant une valence ou plus 1 Atome portant un ch cyclique ou plus 51 1 Atome portant un multiplicat ou plus 52 1 Atome portant une polymeris ou plus Négations 53 pas d'Hétérocycle 54 pas de Carbocycle pas de cycle Insaturé 56 pas de cycle Saturé etc Les formules de Markush sont saisies sous forme alphanumérique ou graphique comme indiqué précédemment Elles comportent chacune un numéro externe attribué par l'opérateur (UID 1) ainsi qu'un certain nombre d'informations complémentaires (date de saisie, texte associé à la formule de Markush tel qu'on veut le voir apparaître dans le fichier d'identification de la formule etc) Les renseignements sur les différents noeuds de chaque formule saisie permettent la constitution des tables de connectivité. Une table de connectivité est constituée par plusieurs tableaux Un exemple de mode de réalisation de table de connectivité utilisée dans le procédéet le système selon l'invention est donné ci-après, (table VIII) La table comporte notamment avantageusement 5 premiers tableaux (DEG, ADR, TABGR, TABLI et TABST) définissant précisément chaque noeuds du graphe de la formule de Markush qu'elle représente, et 4 seconds tableaux (LIRAT, IFR, IAT et NVAL) définissant les relations entre les différents groupes comme on le verra plus précisemment dans la suite du texte. TABLE VIII TABLE DE CONNECTIVITE Description des informations qgénérales NOFM numero interne attribue par Le Logiciel numer ique UIDI numero externe attribue par L' uti Lisateur cadre a gauche a Lphanumerique 12 caracteres UID 2 numero interne attribue par Le Logiciel a partir d' informations de L' utilisateur numer i que ANNEE date de saisie attribuee par Le Logicie L MMIJJ numer i que ( ex: 1985 612 > 12/06/85) LGTEX longueur de TEXT en mots de Longueur 4 numer i ue TEXT texte associe a Iphanumeriq ue 256 caracteres BI Th P type de formule attribue par L'utilisateur numeri q ue CNTRL f Lags de contro Le numer i que USER userid a Lphanumeriq ue 8 caracteres NCFB Longueur de FB en mots de Loncgueur 4 numeri q ue FB formu Le brute a Lphanumeri Jque 256 caracteres NEFR nombre de fragments n eumer i q tue IDEB tab Le des debuts de fragments nuimer i ue IFRAC table des coefficients de fragments nulmer i q ue ===> IDEB (I) = J IFRAC(I,I) = Ki IFRAC( 2, I) = K 2 ot I = numero du fracîment J = numero d'a'tomes du debut du fraqment Ki = coeff icient du fragment ( numerateur) K 2 = coefficient du fragment ( denominateur) ===> IDEB(I+I)-i est Le numero du dernier atome du fragment I adno J 6 t nlp u la xa o tai Wnu = ednro ( 6 np o at Jwnu = I r' = (I) X 35 fi N === anl l twnti u sadno 6 sap au-ta xa u Ol le 4 otn L ap a qe l X 35 Bi N - eta 60- ip XI-I edno ifi l, etuo t UP Xlq uou edno Dt 6 = r adno_ 6 np otewnuu = I r = (I) QÀHN ≤== ae', l _ml nu auabotp AH _tn Tal e A e saddno tb sap al qe+ il-l N - ad Tlo t B np S nale A ap a tqwotlu = ' adno t 6 i np O jawnu = I r = (I) IVAN ≤== an l: I talinu sadnor S sap s tnale A ap a tqtlou np iqe VAN - ju"ai Uaqle 4 e t ap Luosiel ep t-ria 4 tod aqed E Lt 6 ap atqdet 6 un nod j Uat Ijq 4 DE'e t ap Uo:seli el ep O tat TIU - -.ted eadnoi 6 al SU Ep uts S Io A a Uaee 4 et -p W Ot Ee,1 l ap O_ 8 l WIU = r L.uamaq Dek: t p uto Sel ll e l ap o taw Tu = ≥ adno tb 6 ip olauwn Ut I r =(A'I) v Il I ≤== an b l lawn u sadno t B sap +a utaeq e t ap sati Joje sap alqe 1 VI 9 - ue S l xa Uou adnot B un tnod - Sa Iu I:ap Sed $uo$ au 4 uatq De 44 e. ep D l uol ispsdus D îi DD+ ap Luosl el 1 sel e U Op adno-t 6 un tnod - adno ir np q 4 De 4 ej t ap suosle 1 ap -ltqt O Lu = r adnoi b np o tawnu = I r = (I) d 1 N ≤== an l, I lawrnu sàadno tb sap 4 uawem De+e t ap suoslell ap a-qtiou t np al qe d'IEN - i atol-e,l ap o tet Inu + a taed adno ti np o tawnu * t Zo; = r ad Tl Ob 6 i p Otatll It = I r = (I) VDON ≤== en' -ia ie n LU sadnro nt sap 4 uateauuolt lsod ap al qe 4 V O N - fl'b l _ ta I Jn Lt s Ul l _a D saidno tb ap pa ilqmout 'IN -. anb i lawttin u 11 uleap ad Tio t B ap ol twnu puel B 6 snld Wg IN - 89 t 099 Z IFR table d' adresse par groupe vers IAT n umer i q ue LGIAT Longueur de IAT en mots de Longueur 2 numer itue IAT table des debuts de valeurs des groupes numer ique -==> IFR (I) J IAT (J) = K I = numero du groupe J = adresse vers IAT correspondant a valeur du groupe K = numero du ier atome de La va Leur ===> pour connaitre I e debut de chaque val eur du IAT ( IFR(I)) a IAT ( IFR(I+i)-l) NBL nombre de Listes d' attachement indetermine nunieri qtue ADRAD table d' adresse vers l ISAD I nu mer i q ue LISAD table des Listes d'atomnes imp Liques dans un attachement indetermine n umer i que ===> ADRAD (I) = J LISAD (J) = K I = numero de L'attachement indeterrnii J = adresse ver-s LISAD correspondant La lere groupe I le L-a description de La Liste d'atomes de L' attachement indetermine K = 1 er numero d'atome de La Liste -==-> pour avoir l a Liste des atomes impl itques dans l' L' attachement indetermine I: LISAD ( ADRAD(I)) a LISAD ( ADRAD(I+I)-i) LGBS l ongueur de BS en mots de Longueur 2 numer i que BS informations de type bit-screen associees numer i que NCBS nombre de fragments pour La recherche bit screen nufiler i qtue MPBIT BITMP ( ORAND,NOT) pour La recherche bit-screen numler i tue LIMBS Limites diverses pour La recherche bit-screen numer i que Description d'un graphe de formule NAT nofmbre d' atomnes numier i que DEG tab Le des degres des ato ===> DEG (I) J I = numero de L 'atome J = nombre de voisins de L'atome dans certains cas ( search AA), cette va Leur est decrementee du nombre de voisins a va L eur hydrogene pour faci Liter Le traitement ADR tab Le d'adresse vers TABGR, TABLI, TABST Inufler i q ue LG Longueur des tab Les TABGR, TABLI, TABST numter i 'Lue TABGR tab Le des numeros de voisins numer i qtue TABL I tab Le des natures de Liaisons nurlel i q ue TABGR tab Le de stereochimnie numeri ue ===> ADR (ID) = J TABGR (J) = Ki TABI I (J) = K 2 TABST (J) = K 3 I = nuimerlo de L'atome J = adresse vers TABGR, TABLI, TABST KI= numero du Ser voisin de I K 2 = nature de La Liaison I Ki K 3 = stereochimie de I a liaison I Ki ===> pour avoir La Liste des voisins de L 'atome I, ainsi que Les natures de Liaisons Les joignant: TABR ( ADR(I)) a TABGR ( ADR(I+ 1)-i) TABLI ( ADR(I)) a TABLI ( ADR(I+i)-i) TABST ( ADR(I)) a TABST ( ADR(I+ 1)-i) AT tabl e des natures d'atomes n umer i que ===> AT (I) = J I = numiero de L 'atome J = nature de L'atome ( voir Annexe 2) Une fois, les informations concernant les formules de Markush introduites dans le système à l'aide du programme de saisie graphique et/ou alpha- numérique mentionné ci-dessus, les tables de connectivité créées, sont traitées par le programme "Mise en forme du fichier" représenté par le bloc fonctionnel 12 sur la figure 6 a. Avec ce programme, on attribue à chaque formule de Markush un numéro d'identification (NOF Mi) et un numéro de présélection (Npsi) décrivant synthétiquement des caractères types prédéterminés de la formule, en référence à la table constituée préalablement desdits caractères types (table VII). Le numéro de présélection est avantageusement calculé automatiquement Ce calcul est représenté schématiquement par le bloc fonctionnel 13 sur la figure 6 a. * De façon plus précise, dans le mode réalisation de l'invention plus particulièrement décrit ici, le numéro de présélection, est calculé pour se présenter sous la forme d'une chaine de N bits par exemple de bits, dont chaque bit correspond à un critère de sélection fixe La valeur 1 correspond à la présence de ce critère, la valeur O ne correspondant pas forcément à l'absence de ce critère Le calcul s'effectue à partir des tables de connectivité introduites, par l'intermédiaire d'un algorithme (GENBIT) dont un exemple de représentation en pseudo- code, compréhensible pour l'homme du métier, est fourni ci-après (table IX). TABLE IX Programme GENBIT (* initialisations *) Chaine de bits Tab Les_de_travai L (* pour tous Les groupes de La structure *) Pour (GROUFPE = 1, NBGM) faire Fi:= IFR(GROUPE) F 2:= IFR(GROUPE+I) 1 (* pour toutes Les va Leurs du Pour (NUVAL = Fi, F 2) faire _ _ _ _ _ _ groupe *) Si:= IAT(NUVAL) 52:= IAT(NUVAL+I) 1 (* pour tous Les sommets de La Pour (SOMMET = Si a 52) faire va Leur *) Si ( AT(SOMMET) ( O) alors (* sommet est un groupe *) addition des caracteristiques si non (* sommet est defini *) stockage dans La table de travail: nature atome nature liaisons finsi fin_pour Si ( traitement d'une Question) a Lors intersection des caracteristiques groupe sinon union fin_si des caracteristiques groupe finpour f i npour transformation: table de travail -> chaine de bits ecriture de La chaine de bits dans La table de La structure finprogramme Le fichier de base 14 de formules chimiques obtenu après ce premier traitement, se présente comme une série de fiches par formule, référencées NOFM 1, NOFM 2, NOFM, comprenant chacune une table de connectivité correspondante TC 1, TC 2 T Cn et un numéro de présélection Nps 1, Nps 2 Npsn. A partir de ces fiches, il est déterminé pour chaque formule traitée la liste de tous les noeuds, o atomes foyers, comprenant au moins deux voisins immédiats Cette étape est représentée sur la figure 6 a par le bloc fonctionnel 15. On calcule ensuite (bloc fonctionnel 16) pour chaque noeud de cette liste, toutes les parties possibles o "fragments" de ladite formule issues de ce noeud, un fragment étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer. Enfin, on forme (bloc 17) un fichier de fragments 18 comprenant pour chaque fragment calculé des formules du fichier de base 14, la liste des numéros de référence des formules comprenant ce fragment (FRAG 1, FRAG 2). Avant de décrire la figure 6 b et pour mieux faire comprendre la notion de "fragment à deux environnements", deux exemples de formules et de leurs fragments à deux environnements ont été représentés sur les figures 7 a et 7 b La figure 7 a montre une structure 20 a Elle comporte trois fragments à deux environnements 21 a, 22 a et 23 a, dont les foyers sont repérés par un astérisque La figure 7 b montre une autre structure 20 b Elle comporte deux fragments à deux environnements 21 b et 22 b, avec une présentation différente de celle de la figure 7 a, les foyers étant toujours repérés par des astérisques. Un fragment à deux environnements peut également être défini comme une sous structure bâtie concentriquement autour d'un foyer, le foyer étant le sommet de ladite sous-structure et comportant au minimum deux atomes voisins déterminés, chaque voisin étant relié au foyer par une liaison déterminée (ces deux conditions définissant l'environnement 1 du foyer), ladite sous-structure s'étendant à tous les sommets ou atomes voisins des atomes voisins de l'environnement 1, c'est-à-dire ayant une distance de " 2 " par rapport au foyer du fragment Cette deuxième rangée d'atomes forme l'environnement 2 On se référera également aux traits interrompus de la figure 7 b. On fournit ci-après en pseudo-code (tables XI, XII, XIII et XIV) les étapes principales du programme, mettant en oeuvre les fragments, de la figure 6 a de l'invention Un premier tableau (table X) explicite les abréviations utilisées, le principe de présentation des fichiers de fragments à deux environnements (désignés par "frags" dans les tables) étant exposé ci-après. Principe de description des fragments Trois fichiers décrivent avantageusement les fragments à deux environnements Ces fichiers sont reliés selon le schéma suivant: FRAG 1 > FRAG 2 > FRAG N FRAG 1 est le fichier de "sous fragments" Il contient la description des "sous fragments" à un environnement ( 1) de la base de données A chaque sous fragment 1 est associée une liste de positions 2 possibles Cette liste est décrite dans FRAG 2. Un ou plusieurs blocs directeurs, situés en tête du fichier, permettent de limiter la recherche sur les listes 2 associées à un sous fragment 1. FRAG 2 est le fichier des listes 2 Il contient la description des listes de positions 2 associées à chaque sous fragment 1 A chaque jeu de positions 2 correspond une liste de numéros de structures décrite dans FRAG N. FRAG N est le fichier de listes de numéros de structures ou de formules Il contient la description des listes de numéros de structures associées à un Fragment à deux environnements. Le lien entre ces trois fichiers se fait par adressage direct. TABLE X ABBREVIATIONS Fichiers TBLMAJ ELINCO FRAGOTRI FRAGONCO FRAG 2 NCO FRAG 3 NCO FRAG 4 NCO FRAG 5 NCO : fichier de : fichier de : fichier de : fichier de : fichier de : fichier de : fichier de : fichier de travail trava i L trava i L travai L trava i L trava i I travai. trava i L (tab Les de (liste des (fragments (fragments (fragments (fragments Cf r a g ments (fragments connectivite structures) structures e Liminees) tries) generes) generes: 2 voisins) generes: 3 voisins) generes: 4 voisins) generes: > 4 voisins) Donnees BUFFI BUFF 2 OCC MAXOCC Programmes COMPV : buffer recevant fragment courant : buffer recevant fragment Lu : occurrence du fragment courant : occurrence maximum autorisee pour un fragment : comparaison de 2 chaines ( resultat: (, =,)) Le programme décrit dans la table XI, détermine pour chaque formule de Markush entrée dans le système, la liste de tous les foyers de fragments Pour chaque fragment ou "frag", il calcule tous les fragments possibles issus de ce foyer. Enfin il élimine les formules générant trop de fragments et écrit dans le ficher ELINCO le numéro NOF Mi de ces formules. TABLE XI PROGRAMME VERFR:- F'rog r amie YERFFR 1-ichiers TBLHAJ: fichier de travai L ( tables iise-àjour) ( Lecture ELINCO fichier de La base ( NOF Ms éliminés é ( écriture ini tia Lisations *,uverture fichiers uti Lisés répéter Lecture TBLHAJ (:= communs COMP) si ( formule intérrogeab Le) alorc: pour (toutes Les coh)msantes) faire call FPDENS ( recherche des foyers) pouir (tous Les foyers) faire (*constitution de L'arbre de traitement*' appe L REMFOY (remplissage foyer) appel REMF'04 (remplissage positions 4 ' appel R Eh PO, nmax i mur) a Lors écriture ELINCO ( NOF Mi finsi finsi jusqu'â finfichier TBLMAJ fermeture fichiers utilisés f i n VERFRQ. La table X Ibis donne, à titre d'exemple, des précisions sur les procédures en pseudocode, mises en oeuvre dans des modes de réalisation avantageux de l'invention Elles permettent, notamment, grâce à l'utilisation des tables de connectivité à tiroir et leurs tableaux LIRAT ou NVAL, les gains de temps important dans le traitement des données Au lieu de recalculer tous les éléments nécessaires, à chaque fois, l'existence de tels tableaux permet d'aller y chercher directement, comme dans un "tiroir", l'information recherchée pour la suite des opérations de calcul. TABLE X Ibis Procedure REMPOI initia Lisations A It:= ADR(FOYER) A 2: ADR(FOYER) + DEG(FQYER) i pour ( ADRESSE = Al a A 2) faire 0 VOISIN TABGR(ADRESSE) LIAISON:= TABLI(ADRESSE) si ( VOISIN = O) a Lors LIAISON:= LIAISON NUMERO:= LIAISON / 256 LIAISON:= LIAISON NUMERO * 256 appel NUMGM (* recherche du numero de groupe *) finsi si ( AT(VOISIN) ( O) alors GROUFPE:= AT(VOISIN) appe L LISVOI (* recherche de tous les voisins *) si non s i)5011 LISTE fin _si renip L i ssage de L'arbre de tra i tement finpour fin_-REMP Oi O TABLE X Ibis (suite) Proced u-e_LISVOI N:= 1 L:= J FPIL E( 1 i N: FOYER PILE( 2,N):Gr= -Li OUFE repeter F:= PILE(i,L) G: PIL E( 2,L) B:- ' repet elr E:= EB +i jus',u'a ( L IRAT(G, B) F) V::O pour ( I = i NVAL(G)) faire V V+ i A:= L INI(EV) si ( AT(A) PILE( 2,N): AT(A) s i nl On LISTE fin S i f i n_pour L:= L + i ju.su'a ( L > N) fin LISVOI. F Procedure NUMGM GROLUPE = O si ( FOYER ≥ IAT(IFR(i))) alors pour ( I = i a NE:BG) faire si ( IAT(IFR(I)) > FOYER) al ors GROUPE:= I i f i n_NUMGM, f in si fii U_pour 1-' i n_ i f i n_ NUMGM. f i n FRAGS. Le programme en pseudo-code de la table XII détermine pour chaque formule de la mise à jour la liste de tous les foyers de "fragments" à deux environnements. Pour chaque foyer, il calcule tous les fragments possibles issus de ce foyer Pour chaque foyer, il tente de ne retenir que les fragments significatifs, c'est à dire d'éliminer la redondance de fragments (calcul d'une clé de Hash coding sur le fragment). Puis il écrit pour tous les foyers, les fragments ainsi retenus dans le ficher FRAGONCO Il édite également les statistiques de la génération, c'est à dire notamment le nombre de fragments calculés pour chaque formule. TABLE XII PROGRAMME FRAGS Progr a mme FRAGS Fichiers TBLMAJ: fichier de travail ( tables mise-a'jour) t Lecture) FRAGONCO: fichier de travail ( frags retenus) ( écriture) initia Lisations ouverture fichiers utilisés répéter Lecture TBLMAJ ( lecture table de connectivite) si ( formule intérrogeab Le) a lors pour (toutes les composantes) faire appel PDENS ( recherche des foyers) pour (tous Les foyers) faire (*constitution de l'arbre de traitement*) appel REMFOY (remplissage foyer) appel REMPOI (remplissage positions 1) appel REMPO 2 (remplissage positions 2) (*exploitation de L'arbre de traitement*) Pour (toutes les branches) faire remplissage du frag calcul de La c Le de HASH-CODE si (clé non trouvée) alors si (mémoire pleine) alors écriture FRA Ge NCO (vide méii) fin_si mémoire:= frag fin_si finpour écriture_FRAGONCO (vidage mémoire) finpour finpour fin_si jusqu'a' fin_fichier TBLMAJ édition des statistiques fermeture fichiers utiliss Après le tri de tous les fragments tous les foyers de toutes les formules de programme, décrit dans la table XIII, redondance entre les "fragments" et fragments identiques d'un même foyer. TABLE XIII PROGRAMME CAG FRG générés pour la table, le détecte la élimine les Programme CAGFRG Données BUFFI BUFF 2 : frag courant : frag Lu Fichiers FRAGOTRI: fichier de travai L (frags triés) ( lecture) FRAGONCO: fichier de travail (frags sans redondance) ( écriture) initial isations ouverture fichiers utilisés Lecture FRAGOTRI (:= BUFFI) répéter Lecture FRAGOTRI (:= BUFF 2) appe L COMPV ( comparaison BUF Ff et BUFF 2) si non ( égalité) écriture_FRAGONCO ( BUFFI) BUFFI:= BUFF 2 finsi jusqu'e finfichier FRAGOTRI écriture FRAGONCO ( BUFFI) fermeture fichiers uti Lisés fin CAG FRG. Enfin après le tri des fragments retenus, le programme (table XIV) détecte la redondance inter- fragment et calcule l'occurrence de chaque fragment à l'intérieur de chaque formule introduite (mise à jour). TABLE XIV PROGRAMME OCCFRG Programme OCCFRG Données BUF Fi BUFF 2 OCC MAXOCC : frag courant : frag Lu : occurrence du frag courant : occurrence maximum autorisée Fichiers FRAGOTRI FRAG 2 NCO FRAG 3 NCO FRAG 4 NCO FRAG 5 NCO : fichier de travail : fichier de travail : fichier de travail : fichier de travail : fichier de travail (frags triés) ( Lecture) (frags de type 2) ( écriture) (frags de type 3) ( écriture) (frags de type 4) ( écriture) (frags de type 5) ( écriture) initia Lisations ouverture fichiers uti Lisés initia Lisations des statistiques Lecture FRAGOTRI (:= BUFFI) répéter lecture-FRAGOTRI (:= BUFF 2) mise-à-jour des statistiq ues appel COMPV ( comparaison BUF Fi et BUFF 2) si égalité OCC:= OCC + 1 sinon si OCC > MAXOCC OCC:= MAXOCC finsi écriture FRA Gx NCO ( BUFFI) mise-à-jour des statistiques BUFFI:= BUFF 2 OCC:= 1 finsi jusqu'â finfichier FRAGOTRI si OCC > MAXOCC - OCC:= MAXOCC finsi écriture FRA Gx NCO ( BUF Fi > mise-a-jour des statistiques appe L STATF ( édition des statistiques) fermeture fichiers utilisés fin OCCFRG. La figure 6 b est un organigramme simplifié du programme de recherche d'une formule de Markush selon le mode de réalisation de l'invention plus particulièrement décrit ici. En commençant par le haut de la figure 6 b, la formule de Markush recherchée est introduite (bloc d'introduction de données 30), comme explicité précédemment. La liste de ses noeuds, ou foyers, comprenant au moins deux voisins immédiats à l'origine d'un fragment étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer, est ensuite déterminée (bloc 31). On calcule (bloc 32) pour chaque noeud, tous les fragments possibles issus de ce noeud et on constitue (bloc 33) la liste de ces fragments pour la formule recherchée. Pour un premier "fragment" de la formule de Markush recherchée, fragment avantageusement choisi comme étant le fragment commun à la formule recherchée et à un nombre minimum de formules du fichier de fragments 18 avec lequels on la compare (bloc 34), on extrait (bloc 35) du dit fichier 18 une première liste du numéro de référence de formules. On compare ensuite (bloc 36), cette première liste avec la liste obtenue pour le fragment précédent, s'il y a lieu. Dans le cas du premier fragment cette liste obtenue pour le "fragment précedent" ne comporte bien évidement pas de numéro. De façon automatique, ou commandé manuellement par l'opérateur, l'opération peut être renouvelée (bloc de décision 37) pour le fragment suivant, et ainsi de suite. Autrement dit, on compare ( 34) et on extrait ( 35) du fichier 18 une deuxième liste de numéro de référence de formules possibles comprenant un deuxième fragment Cette liste est comparée ( 36) à la première liste obtenue pour le premier fragment, pour former une troisième liste "issue de fragment", constituée par les numéros communs des deux premières listes, et on réitère l'opération tant qu'on l'estime nécessaire ( 37), en comparant chaque nouvelle liste de numéros de formules possibles correspondantes à un nouveau fragment avec la liste constituée par les numéros communs de toutes les listes précédentes, pour former une liste de fragments "de longueur optimisée", que l'on lit (bloc 38). On effectue ensuite une recherche sur numéro de "présélection" dont on a vu précédemment comment il a été constitué. La recherche sur le numéro de "présélection" constitue un crible, qui va permettre de minimiser encore le nombre de candidats, en retardant ainsi les décompactages des tables de connectivité des candidats et les comparaisons noeud à noeud, très lourdes en temps d'utilisation de l'unité centrale (CPU), de ces formules avec la formule recherchée. Ceci a pour effet d'étendre virtuellement la capacité de l'unité centrale et permet d'accélerer notablement la recherche. Rappelons que le numéro de présélection se présente, comme on l'a vu, sous la forme d'une chaine de N bits, dont chaque bit correspond à un critère de sélection fixe La valeur 1 correspond par exemple à la présence du caractère, la valeur O ne correspondant pas, du moins au niveau de la recherche de la formule de Markush recherchée, à l'absence de caractère. La comparaison du numéro de présélection de la formule recherchée à celui du ou des candidats, se fait en recherchant l'inclusion logique stricte du deuxième dans le premier (ET logique, et égalité du résultat avec le numéro de présélection de la formule) Une liste de critères de sélection est donnée à titre d'exemple dans le table VII, comme on l'a vu. Les étapes suivant l'étape 38 de lecture de la liste "issue de fragments de longueur optimisée", sont essentiellement: lecture du numéro de présélection de la formule recherchée ( 39), comparaison des numéros de présélection ( 40) de la formule recherchée avec ceux de la liste issue de fragments de longueur optimisée et, une fois la comparaison terminée (bloc de décision 41), poursuite du programme. Dans le cas contraire, on réitère le recherche du numéro de présélection. Une fois cette recherche de présélection effectuée, il y a lecture du fichier réponse et decompactage (bloc d'opération 42) des tables de conectivités des formules retenues. Une liste finale formée par les numéros de référence des formules ayant un numéro de présélection identique à celui de la formule de Markush recherchée, peut ainsi être exploitée. Dans un mode de réalisation préféré de l'invention, on effectue de plus, une comparaison noeud à noeud des formules de la liste finale, avec la formule de Markush recherchée (bloc 43) Cette comparaison est par exemple effectuée grâce à un algorithme tel que celui figurant dans le tableau XV ci-après. TABLE XV Algorithme du noeud par noeud: algorithme général: Répéter (* pour chaque motif de la question *) {recherche d'affectation du foyer Qi} Si {échec} alors Si (existe motif précédent} alors {désarchivage du motif) (désaffectation partielle du dernier sommet C} J sinon fin: candidat non réponse fin-si sinon Qi: = {prochain sommet question} fin-si Répéter (* pour chaque sommet du motif question *) {Recherche affectation du sommet Qi à un sommet C 3} Si (succès} alors {affectation Qi à Cj} Qi: = {prochain sommet question} sinon {désaffectation totale de Qi} Qi: = {sommet question précédent) {désaffectation partielle de Qi} fin-si Jusqu'à {Qi foyer} ou (graphe entièrement parcouru) Si (succès} et {Qi foyer} alors {archivage du motif} Jusqu'à {candidat non réponse} ou {graphe entièrement parcouru) Si{graphe entièrement parcouru}alors candidat = réponse réponse Recherche d'affectation du Foyer Qi à C echec: = vrai Répéter (* pour chaque groupe du candidat *) Répéter (* pour chaque instance du groupe *) Tant que échec et (Ci max de l'instance} faire (* pour chaque sommet de l'instance *) j: =j + 1 Si {Ci non porteur de groupe) alors échec: = (résultat du test de comptabilité) fin-si Finfaire Si {échec et dernière instance du groupe) alors {passage à la prochaine instance valide) fin-si Jusqu'à échec ou (fin de groupe} Si {échec et dernier groupe} alors (passage au prochain groupe valide} finsi Jusqu'à { échec ou fin dernier groupe} L'opération est renouvelée, par exemple par commande manuelle de l'opérateur, jusqu'à optention de résultats satisfaisants ou d'absence de résultat (bloc de décision 44). Avantageusement, dans le cas o cette comparaison serait trop longue, il peut être prévu des circuits de "délestage" automatique, permettant seulement exceptionnellement une comparaison noeud à noeud, plus longue. Une fois cette comparaison effectuée, on extrait les références (bloc 45) des formules de Markush éventuellement obtenues. Avantageusement, bien que cela ne soit pas représenté sur l'organigramme, d'autres critères de sélection permettant d'affiner encore la liste des candidats, sont utilisables et utilisées dans des modes de réalisations préférés de l'invention. Il s'agit notamment, et comme on l'a vu, de l'utilisation des attributs comme critère supplémentaire de sélection. On ne recherche alors dans les fichiers de formules de Markush que les formules comportant une structure munie du ou des attributs spécifiquement affectés aux noeuds de la formule recherchée Cette recherche basée sur des entrées de sélection supplémentaire s'effectue de façon connue en soi. Pour illustrer l'invention, on donne ci-après un exemple de formule de Markush, telle que présentée pour être mise en oeuvre dans ladite invention. L'exemple choisi est celui d'une formule simple avantageusement saisie, visualisée ou éditée sous forme graphique comme représenté sur les figures 8 à 10. La figure 8 montre la formule repérée par un numéro CN: 87010122-01; Elle montre l'existence d'un premier groupe Gl. La figure 9 montre le détail des valeurs possibles pour ce groupe Gi, la formule générale initiale reste visible dans une fenêtre en haut à gauche de l'écran La figure 9 montre l'existence d'un deuxième groupe G 2. La figure 10 donne les différentes valeurs que peut prendre le groupe G 2, le groupe G 1 étant cette fois-ci visible en haut à gauche de l'écran Ce mode de visualisation "à tiroirs" ou à fenêtre facilite notamment la recherche par l'opérateur. A titre d'illustration, les figures lla et llb donnent maintenant un exemple de table de connectivité telle que décrite dans la table VIII, ci-avant. Il donne une bonne représentation de ce qu'on a désigné précédemment sous la dénomination "table de connectivité à tiroirs", telle qu'utilisée dans le mode de réalisation de l'invention plus particulièrement décrit ici. Sur la figure lia, la ligne supérieure 50 a comprend essentiellement un numéro interne attribué par le logiciel (NOFM), un numéro externe attribué par l'utilisateur (UID 1) et un numéro interne attribué par le logiciel à partir d'informations fournies par l'utilisateur ou l'opérateur (UID 2). La ligne 51 a donne le plus grand numéro du groupe défini (NBGM) et le nombre de groupes définis (NBGR). Le tableau 52 a fait état des informations relatives aux groupes On y retrouve notamment les tables LIRAT et NVAL mentionnées ci-avant (voir table VIII), ainsi que, par exemple et notamment une table concernant le nombre de liaisons de rattachement des groupes (NBLP) NBLP(I) = J I = Numéro du groupe J = Nombre de liaisons de rattachement du groupe = 1 pour un groupe dont les liaisons de rattachement ne sont pas définies, = 2 pour un groupe non existant. Le tableau 53 a donne successivement le nombre de fragment (NBFR), la table des débuts de fragments (IDEB) et la table des coefficients de fragments (IFRAC) définie par exemple de la façon suivante: IDEB (I) = J IFRAC ( 1,I) = Kl IFRAG ( 2,I) = K 2 o I = numéro du fragment, J = numéro d'atomes du début de fragment, Kl = coefficient du fragment (numérateur) K 2 = coefficient du fragment (dénominateur) IDEB (I+ 1)-i étant le numéro du dernier atome du fragment I. Le tableau 54 a donne les informations relatives aux débuts de valeur Pour chaque groupe (NBGG: numéro du groupe), sont indiqués notamment, la longueur d'IAT en mots de longueur 2 (LGIAT), la table d'adresse par groupe d'IAT (IFR), et la table de valeurs des groupes (IAT) On se référera à la définition de ces tables plus haut (voir Table VIII). La figure llb illustre la suite des tableaux apparaissant dans le mode de réalisation de table de connectivité de l'invention plus particulièrement décrit ici. La ligne supérieure de la table représentée sur la figure llb, contient une indication 50 b du nombre d'atomes (NAT) de la formule, et la valeur 51 b de la longueur de la table (LG). La première colonne 52 b donne le No (NOAT) attribué (arbitrairement) à chaque noeud de la formule. La deuxième colonne 53 b donne une table d'adresse (ADR) vers TABGR, TABLI et TABST (voir table VII ci- avant). La troisième colonne 54 b est le tableau donnant, pour chacun des N noeuds (ici 32) du graphe de la formule, le nombre de voisins de ce noeud. La colonne suivante 55 b est la nature de l'atome, telle que définie par la table I fournie en annexe, "-1 ", "-2 " indiquant notamment des groupes "fils". Les colonnes 56 ( 56 ', 56 '"), 57 ( 57 ', 57 '') et 58 ( 58 ', 58 '') correspondent chacune respectivement aux tableaux TABGR, TABLI et TABST définis ci-avant, dans la table VIII, pour chaque liaison du noeud concerné avec le(s) noeud(s) au(x)quel(s) il se rattache. Enfin, la figure 12 représente le tableau des attributs de chacun des noeuds de la formule no CN: 87010122-01 prise comme exemple, tel qu'il est avantageusement utilisé dans un mode de réalisation de l'invention. On se référera à la table II de définitions des attributs pour la signification des colonnes 60 à 70. Sur la figure 13, on a représenté un système informatique selon un mode de réalisation de l'invention, mettant en oeuvre le procédé selon l'invention. Le système comprend un ordinateur 80 du type défini plus haut, qui comporte lui même essentiellement trois éléments, une unité centrale 81, des circuits mémoires (RAM, ROM) 82 et un circuit d'interface Entrées-Sorties 83. L'ordinateur 80 est connecté, via le circuit 83, soit à des périphériques constitués par des claviers 84, des "souris" 85 et des écrans de visualisation 86 et/ou des imprimantes, soit sur un ou des micro- ordinateurs 87. Deux types de saisie et de recherche dans la base de donnée peuvent donc être envisagés, soi en direct, soi via un micro-ordinateur. Une mémoire de masse 88 de grande capacité, de l'ordre du giga-octets par exemple, permettant le stockage de la base de données 14, est par ailleurs prévue, connectée à l'ordinateur 80. L'ordinateur 80 comprend de plus des moyens 89 de génération de fichiers et de calcul, appartenant ou non à l'unité centrale 81, et comprenant un ou plusieurs microprocesseurs de type connu, par exemple des 80386 de la Société INTEL, programmés pour générer lesdits fichiers. Ces moyens 89 sont programmés comme décrits précédemment pour générer un ficher de base ( 14) de formules chimiques à partir des formules de Markush introduites dans le système via les périphériques 84, 85 ou 87, et pour stocker ledit fichier de base dans la mémoire 88, sous forme de table de connectivité avec un numéro de référence et un numéro de "présélection" défini d'après la table VII, préalablement stockée en mémoire 82 ou 88. Les moyens 89 sont également programmés pour générer pour chaque formule stockée, la liste de tous les noeuds, et pour calculer pour chaque noeud de cette liste, tous les fragments de ladite formule, issus de ce noeud. Les moyens 89 sont enfin également programmés pour générer un fichier de fragments ( 18) comprenant pour chaque fragment la liste des formules incluant ledit fragment. Cette liste est stockée dans les moyens de mémoire 82 ou 88 de type connu. L'unité centrale 81, également programmée en conséquence, comprend par ailleurs les différents moyens d'extractions et de comparaison tels que définis précédemment et permettant d'effectuer les recherches par fragment, par numéro de sélection, noeud à noeud, par recoupement d'attributs etc pour obtenir sur l'écran 86 ou le micro-ordinateur 87, les résultats de la recherche effectuée sur une formule de Markush donnée introduite dans le système via les périphériques 84, 85 et/ou 87. Les moyens 89 pour générer le fichier de base 14, comprennent un ou des circuits électroniques programmés pour constituer un numéro de présélection sous forme d'une chaîne de N bits, dont chaque bit correspond à un caractère type de la table de définition (table VII). On va maintenant décrire sommairement ci-après la mise en oeuvre par un opérateur, du procédé et du système de recherche d'une formule de Markush, selon le mode de réalisation de l'invention plus particulièrement décrit ici. L'opérateur se connecte via les périphériques 84, et 86, ou 87, à l'ordinateur central 80 raccordé à * la mémoire 88 contenant la base de donnée 14. Il introduit sa question dans le système sous forme alphanumérique ou graphique en définissant la formule par l'intermédiaire d'un clavier ou d'une "souris" raccordée à l'ordinateur. Pour ce faire on a vu qu'-il utilisait d'une part un programme d'application de saisie graphique et/ou alphanumérique connu, et un programme 5 de mise en forme des formules de Markush sous une forme déterminée selon l'invention (table de connectivité). L'opérateur complète éventuellement sa question en précisant les attributs, voire d'autre paramètres comme par exemple la période sur laquelle la recherche doit être effectuée Dans ce dernier cas, l'opérateur limite alors sa question aux formules apparaissant dans la littérature sur une période donnée ( à partir de 1980 par exemple), etc Le système calcule ensuite automatiquement les fragments de la formule recherchée, puis effectue la première recherche sur fragments en faisant apparaître sur l'écran le nombre de candidats trouvé ayant un fragment commun avec la formule recherchée, nombre qui peut d'ailleurs être nul. Si l'opérateur le souhaite, il appuie sur une touche pour effectuer la deuxième recherche sur fragment et ainsi de suite. Une fois obtenue la liste "issue de fragments" de longueur optimisée, l'opérateur commande la suite de la recherche pour obtenir in fine et éventuellement, une liste de formules candidats, ou le candidat recherché, après avoir choisi ou non d'effectuer une recherche noeud par noeud. Il peut ensuite faire apparaître à l'écran la ou les formules candidats. Comme il va de soi, et comme il résulte d'ailleurs de ce qui précède, la présente invention ne se limite nullement aux modes de réalisation plus particulièrement décrits Elle comprend notamment les variantes de réalisation faisant intervenir des programmes équivalents, dont les modifications par rapport aux exemples donnés, sont à la portée de l'homme du métier. TABLE I ( o I _, y o * o* O *y -o o-, y, o o : o-y __ooo > o o-o _ 9 I I - I 103 I S I S 21 O 2 I O 3 1 2 4 I 2 I '3 b I 4 ? I 3 8 I: 2 9 1 1 I f) I 01 lt 3: t f 2 I 2 13 1 3 Â 4 1 4 Â 5 1 3 16 I 1 2 17 I i i 8 I O 19 I t I 2 21 1 3 22 I 4 23 I 5 24 I 3 I 2 26 I 3 27 I 2 28 I 2 29 I 2 I 2 31 l 3 3.2 I 4 33 I 3 34 I 2 I 1 36 I O 37 ú 1 38 I 2 39 3::3 I 4 41 1 5 42 I 6 43 I 7 44 I 3 I 3 46 I 2 47 I 1 48 I 2 I I I I I I I I l: I I I I I 1. 3: I I I I I I I r I l: l' I I I I I I I I I I I I I I l' I I I I I I *L I I I I I T J'. I t I 3: L I 1 ' 1 ' I 3. Groupe générrique ( = -numéro de groupe) Atomes de La tab Le de Menrde Lei-ev: Hydrogène H FI Li um i H-e -Lithium Li -Bér y LL i uni Be Bcore B -Carbone C Azote N Oxygène O F L tior F *Nè:on Ne oi uni Ul Na -.A L ugné i um g L *ÀLumiïîium,ÀL S i c i L i ual Si -F:ho:;phore P So L Lr e Ch Lore CI. -Ar g on Ar À-F'ot as'si KtmI > 49 I > 55 I -> 55 i: > 5 I. h I > 57 I -> 58 I > 59 I -> 60 I - > 61 i > 62 I > 63 I > 64 1 S> 65 I > 66 I > 66 I > 67 1 -> 68 I -. > 69 I > 70 I - > 71 1 _> 72 I _>'73 1 > 74 3 > 75: > 76 I -. > 77 I 78 I 79 I > 80 I _ > 84 S I _ Y 84 I > 85 I > 86 I > 87 I - > 88 I 89 I > 90 I > 91 I > 92 I > 93 I > 9 '4 I >-> 95 1 > 96 I > 97 I > 98 I > 99 I > 100 I -I A t S I I : :1. I I I J. I l: I l I I i: I I I 1 ' I T I i I I I i I I I i I I 3: I I I I I I I 1 ' I I I I I I I I I I I -Ind i um -Eta ini 'An tîi o ine Te l Iure I o l Cé, i um Bar yuf -Lanthane C'r i umni Praséodymte Plodynme F'-roret h i uni Stamar i um Iurop i uni -Cacl oli ii uni Terb i uni ysp ros i uni -Ho m il m Erb i um Th u I i um Yt terb ium Lut' t i tua i-la f Tn i uni -Tanta Le *-'tutnci tmne Rh-An i um Osm i uli, -Iridi uni -.P Lat ine Or ier-cure -'r-Tha L 1 i umi P l ombn -B i smu th -Po L on i uli As ta t e Radlon -Franc i umt -Racl i uni Ac t i N i um Thor i uni Protact i ni um * Urah T i ul I * Nep tun i ul I -P 1 u toni um Anir i c i umni Cur i uni Ber k 1 i um * Ca i for-ni Uh -E i nste i N i nia Ferra i uma I n Xn S b Te r T A > C Ea La Ce Pr Nd P An S.A i: u Gcl Trb Dy Ho Er 1.i Yb Lu Fi Ta W R e Os I r 3:r-. Pt AÀ T l F:b B i Po At Rn Fr Ra Ac Th Pa U Np Pu Am Cat Bk Cf Es Fi M TABLE I (suite 3) -.- -> oî 1 E3 I Y 102 I 3 I - > 103 I 2 I 104 110 I I I I I t 111 125 I l: 126 I I 127 I 128 I I 129 145 I I 146 I 1 I f 47 I i I 148 f 49 I I * -' I I I -.-*-'153' t t i - 155 i I _._;> i S7 > t SJ: I i I: > 154 I I I 455 I 1 I > 156 I 1 I - > 157 I 1 I - > 1658 I I I I 1 I > 164 I 1 1 Y 6 16t I > 167 t 1 t > 168 I i I Y 166 3: 1 I > 167 I t I > t I 2 l: > 169 I 2 I > t66 I I _ " 5E 6 > 17068 I2 I > 171 I 2 I > 172 I 2 I 173 199 I - I I I t: I 201 i 299 t 2 E I I 3 '22 I 3 > 3 O I I > 3 f 1 12 I > 302 I 2 I > 303 I 2 I > 304 I I _._> 3085 I > 306 I I À* encl le i ev i un Mdi -Nobe Li uim No Lawrenciumn Lw Non attribu:s débordement pour tabl e de MendréLeiev Non a t r i b u: S Atome W 99 fictif d'erreur Attome incldéterm i né X Atome groupe Non attribués Atonme Deutér i um Atome Tritium Atome Carbone Atomne fictif G D et A tomen -hor t c ut: * Mié t h y Lie Me Carboxy Le ' 02 À-Th i oc:arboxy l e C'2: Acety Le Ace -N i tro N 02 -Cya Tlo CN -Su Lfo 503 Phosphoro P 03 - F'hospha to FPO 4 -Ethy l e Et -n Propyle n Pr -n Butyle nit u Isopropyl e i F Pr -.l:sobuty Le i Bu -Secbutyl e s'Bu -Tertiobutyle t Bu -Phenyl e Ph Sulfonylte 502 -Carbony Le C Go -Or thobenzène o Be -Métabenzène m Be Parabenzène p Be Non attribués débordement pour a f f i chage pour a f i chaget pour' shor-tcuts Code chaine C pour aff ichage Code chaine 200 + Longueur de chaine Code superatome: Non attribué Alkyle,AL Ikylène A L kny Le, A L kény L ène -A Lkyny Le, A L kyny Léne -Ary Le -Carbocyc Le Hétéro-ary I. CHK CHE CHY ARY CYC HEA f TABLE I (suite 4) > 3 07 I > 308 I > 330 I -.- > 3 f 12 I > 313 I - > 3214 I > 316 I > 319 I } 320 I 33 t 1 I > 322 I _ > 3 t 7 I * > 3 t 23 I > 3 t 9 I _}:529 1 > 32 t I > 322 I _ > 2 I 324 349 I 350 380 I > '55 ( ' > 350 t > 351: _ _> 352 I _ > 353 I: _. > -54 I -.-> 359 A 1 > 363 I - 364 I >y 365 I > 366 1: > 367 I > 368 I > 369: > 37 I __ > 3 '7 1 3> '? I > 373 I - > '374 I > 375 I > 376 I > 377 1 - > 378 I > 379 I __ > 380 I 381 399 I I I I I I I Il -I I i I 2 I t I - 3: I I " 3 I _I _.I 2 3: 2 I 2 I 2 I -3 i 2 I I 2 3 I I I 2 1 ' 3 I -2 -L :3 I 3 I :2 I. 2 t 3 3: 2 I I 31: 23: 2 I 2 I 33: 23: I I 2 i Hl-t 4 r'o monocyc Le Loca i i 5- -Hétéro-cyc Le fus i onn -M,:'taux 4 Lca L i n/A lca I i no terreux Mdtaux IIIA-VA i-,taux de transition Lanthan ides -Act inides Ha I og- :nes -Cha Lcogènes Acy Le -.Se Ls et Rs i cdus Po I ymfères -.l:o l yniéres end-g:roup -Groupe protec: teur -Atome que Lconque non H -Atome i nconnu Non attribués débordement pour szuper-atomes Code superatomies aminoacides: Atome fictif Lyc i ne Sarcosi ne À A Lani ni- Va L ine À-Norva l i ne -Leuc ine -Nol-Leuc tne -Iso teuc ine -Ac idte ami nob utyr i tue -Ser i ne rt 1-io o r Lne- *-'-hreon i ne * y::te i ne *À-Hiomoc y$ te i ne -Meth i on i ne Acide asparti ltue Asparag i ne Ac ide g lutamique -Gl t utam i ne Ac ide suber i que * L ys i ne -*Ar* i N inne -H i s;t i d i ne -Orni thine -Pheny la Lan i ne -Tyros i ne * Tryp tophane Pro l ine Ac i de pyrog L tutam i qie *-ta tirne Non attribués débordement pour superatomes aminoacides FOET HEF MX AMX A 35 TRIRM LAN ACT HAL. CHC ACY DYE: PQOL PEG PRT XX UNI( GL.X APLA VAL NVA LEU NLE ILE ABU SER {-I E: THR HCY ME'T ASP ASN GLU GLN ASU L.YS ARG ORN TYR TRF PRO GLP STA REVENDICATIONS 1) Procédé de stockage et de recherche de formules de Markush ( 1), caractérisé en ce que a) on forme un fichier de base ( 14) de formules chimiques à partir desdites formules de Markush, dans lequel chaque formule de Markush est stockée sous forme de tables de connectivité (TC 1, TC 2 TC comprenant un numéro de référence (NOFM 1, NOFM 2, NOF Mn) de ladite formule stockée et un numéro de "présélection" (Nps 1, Nps 2,Npsn) décrivant synthétiquement des caractères types prédéterminés de ladite formule, définis selon une table de définition préalablement constituée desdits caractères types (table VII), b) on détermine pour chaque formule du fichier de base ( 14) et pour la formule recherchée ( 3) stockée sous forme identique aux formules du fichier, la liste de tous les noeuds ou atomes foyers comprenant au moins deux voisins immédiats et, un "fragment" étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer, on calcule, pour chaque noeud de cette liste, toutes les parties possibles, ou fragments, de ladite formule issues de ce noeud, c) on forme un fichier de fragments ( 18) comprenant, pour chaque fragment calculé des formules du fichier de base, la liste des numéros de références desdites formules comprenant ce fragment, d) pour un premier fragment de la formule de Markush recherchée, on extrait dudit fichier de fragments ( 18) une première liste de numéros de référence des formules possibles comprenant ledit fragment de ladite formule de Markush recherchée, e) puis s'il y a lieu et pour un second fragment de la formule recherchée, on extrait dudit fichier de fragments ( 18) une deuxième liste de numéros de référence des formules possibles comprenant ledit deuxième fragment, que l'on compare avec la première liste obtenue pour le premier fragment, pour former une troisième liste "issue des fragments", constituée par les numéros communs des deux premières listes, et on réitère l'opération tant qu'on l'estime nécessaire en comparant chaque nouvelle liste de numéros de formules possibles correspondant à un nouveau fragment avec la liste constituée par les numéros communs de toutes les listes précédentes, pour former une liste "issue de fragments" de longueur optimisée, f) on compare le numéro de "présélection" de la formule de Markush recherchée avec les numéros de "présélection" des formules de la liste "issue de fragments" de longueur optimisée, et on en extrait une liste finale formée par les numéros de références des formules ayant un numéro de "présélection" identique à celui de la formule de Markush recherchée. 2 Procédé de stockage et de recherche de formules de Markush ( 1), caractérisé en ce que, partant d'une base de données ( 6) comprenant un fichier de base ( 14) de formules chimiques formé à partir de formules de Markush ( 1), fichier dans lequel chaque formule de Markush est stockée sous forme de table de connectivité (TCO) avec un numéro de référence (NOFM 1) de ladite formule stockée et un numéro de "présélection" (Npsi) décrivant synthétiquement des caractères types prédéterminés de ladite formule définis selon une table de définition préalablement constituée desdits caractères types (table VII), ladite base ( 6) comprenant également un fichier de fragments ( 18) comprenant les listes des numéros de références des formules associées à chaque fragment des formules du fichier de base ( 14), un fragment étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer, a) on stocke la formule de Markush recherchée ( 3) sous forme similaire aux formules de la base de données ( 6), c'est à dire sous forme de table de connectivité (TCI) avec un numéro de présélection (Npsi) de la dite formule recherchée, b) on détermine pour la formule recherchée ( 3), la liste de tous les noeuds comprenant au moins deux voisins immédiats, et on calcule, pour chaque noeud de cette liste, tous les fragments de ladite formule issus de ce noeud, c) pour un premier fragment de la formule de Markush recherchée, on extrait dudit fichier de fragments ( 18) une première liste de numéros de référence des formules possibles comprenant ledit fragment de ladite formule de Markush recherchée, d) puis, s'il y a lieu et pour un second fragment de la formule recherchée, on extrait dudit fichier de fragments ( 18) une deuxième liste de numéros de référence des formules possibles comprenant ledit deuxième fragment, que l'on compare avec la première liste obtenue pour le premier fragment, pour former une troisième liste "issue des fragments", constituée par les numéros communs des deux premières listes, et on réitère l'opération tant qu'on l'estime nécessaire en comparant chaque nouvelle liste de numéros de formules possibles correspondant à un nouveau fragment avec la liste constituée par les numéros communs de toutes les listes précédentes, pour former une liste issue de fragments de longueur optimisée, e) on compare le numéro de "présélection" de la formule de Markush recherchée avec les numéros de "présélection" des formules de la liste "issue de fragments" de longueur optimisée, et on en extrait une liste finale formée par les numéros de références des formules ayant un numéro de "présélection" identique à celui de la formule de Markush recherchée. 3 Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que on effectue de plus une comparaison noeud à noeud des formules de ladite liste finale, avec la formule de Markush recherchée ( 3), et on extrait les références de la ou des formules de Markush éventuellement obtenues par cette comparaison. 4 Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on affecte à certains des atomes ou groupes d'atomes des formules de Markush du fichier de base ( 14) interrogé et s'il y a lieu à la formule de Markush recherchée ( 3), un ensemble d'attributs, et on ne recherche dans ledit fichier de base de formules de Markush que les formules comportant une structure munie du ou des attributs spécifiquement affectés à la formule recherchée. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on stocke les formules de Markush constituées par des graphes, en utilisant quand nécessaire aux noeuds desdits graphes, de faux atomes représentant des termes génériques et/ou des ensembles d'atomes invariants pour simplifier les représentations desdites formules. 6 Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on stocke les formules de Markush dans le fichier de base ( 14) et on interroge ledit fichier de base pour rechercher une formule de Markush spécifique, sous forme graphique. 7 Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'on constitue le numéro de "présélection" (Npsi), décrivant synthétiquement des caractères types prédéterminés d'une formule de Markush, sous forme d'une chaîne de N bits, dont chaque bit correspond à un caractère type déterminé de la table de définition préalablement constituée desdits N caractères types (Table VII). 8 Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les tables de connectivité représentant les formules de Markush sont constituées par des tables de connectivités "à tiroir" comprenant quatre tables donnant les relations entre les différents groupes d'atomes, ou graphes "fils" de la structure, constituées par une première table (LIRAT) identifiant les atomes auxquels se rattachent lesdits groupes, une deuxième table (NVAL) donnant les nombres de valeurs pour chacun desdits groupes, une troisième table (IAT) donnant les débuts de valeurs desdits groupes et, une quatrième table (IFR) donnant les adresses par groupe vers la table des débuts de valeurs (IAT). 9 Système informatique pour la mise en oeuvre du procédé de stockage et de recherche de formules de Markush selon l'une quelconque des revendications précédentes, comprenant une unité centrale ( 81), des mémoires de travail et de stockage ( 82, 88), des moyens d'entrées ( 84, 85, 87) de formules de Markush sous forme graphique et/ou alpha-numérique et des moyens de restitution d'informations ( 86, 87) caractérisé en ce qu'il comprend des moyens ( 81, 89) pour générer un fichier de base ( 14) de formules chimiques, à partir desdites formules de Markush, sous forme de tables de connectivité (T Cj), chaque formule comprenant un numéro de référence (NOFMI) et un numéro de "présélection" (Npsi) décrivant des caractères types de ladite formule définis selon une table de définition (table VII) préalablement stokée dans une mémoire ( 88) du système, des moyens pour générer ( 81, 89), pour chaque formule stockée ou recherchée, la liste de tous les noeuds, ou atomes foyers, comprenant au moins deux voisins immédiats, des moyens de calcul ( 89), pour chaque noeud de cette liste, de toutes les parties possibles, dites fragments, de ladite formule, issues de ce noeud, un fragment étant défini comme une partie de structure de formule constituée par un foyer, ses atomes voisins immédiats (environnement 1) et s'ils existent le ou les atomes voisins immédiats (environnement 2) de chacun des atomes voisins immédiats du foyer, des moyens pour générer ( 81, 89) un fichier de fragments comprenant, pour chaque fragment calculé des formules du fichier de base, la liste des numéros de références des formules comprenant ce fragment, des moyens d'extraction ( 81), à partir dudit fichier de fragments, de listes de numéros de référence de formules possibles comprenant au moins un fragment de ladite formule de Markush recherchée, lesdits moyens étant prévus pour générer une liste "issue de fragments" de longueur optimisée constituée par les numéros des formules de Markush comportant un nombre optimisé, déterminé par l'utilisateur, de fragments communs avec la formule de Markush recherchée, et des moyens de comparaison ( 81) du numéro de "présélection" de la formule de Markush recherchée avec les numéros de "présélection" des formules de la liste "issue de fragments" de longueur optimisée et, à partir de cette comparaison, de constitution d'une liste finale formée par les numéros de références des formules ayant un numéro de "présélection" identique à celui de la formule de Markush recherchée. Système selon la revendication 9 caractérisé en ce qu'il comporte de plus des moyens de comparaison noeud à noeud des formules de ladite liste finale avec la formule de Markush recherchée, et d'extraction des références de la ou des formules de Markush éventuellement obtenues par cette comparaison. 11 Système selon l'une quelconque des revendications 9 et 10, caractérisé en ce que les moyens pour générer un fichier de formules chimiques à partir desdites formules de Markush sous forme de table de connectivité, comprennent des moyens de constitution d'un numéro de présélection sous forme d'une chaîne de N bits, dont chaque bit correspond à un caractère type déterminé de la table de définition préalablement constituée desdits N caractères types (table VII).