Partage
  • Partager sur Facebook
  • Partager sur Twitter

Recherche d'isomère

Une formule pour connaître le nombre d'isomère ?

    11 décembre 2010 à 11:07:31

    Bonjour à tous,

    Voila, je me posais la question, en chimie organique, existe-t-il une formule mathématiques pour conaitre le nombre d'isomère a partir d'une formule brute ?

    merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2010 à 11:37:33

      Ça dépend les isoméries que tu veux. Peut être que y'a des logiciels.
      • Partager sur Facebook
      • Partager sur Twitter
        11 décembre 2010 à 11:54:27

        Un algorithme mathématiques pourrait te donner le nombre de permutations possibles entre tes atomes, voire un algorithme plus poussé pourrait même prendre en compte le nombre d'électron de valence de chaque atome et en déduire les combinaisons possibles, et donc le nombre "théorique" d'isomères.
        Mais ça ne marchera pas toujours, pas mal d'isomères créés mathématiquement ne seront pas viables.
        Et puis cet algorithme serait un peu trop complexe, au final solar a raison, il doit exister des logiciels avec des grosses bases de données, tu rentres ta formule brute et il te propose les 2, 3 (ou beaucoup plus) isomères.

        Edit : après, si les molécules dont tu cherches les isomères sont des chaines carbonées pas trop grosses, c'est quand même pas très long de les compter :-°
        • Partager sur Facebook
        • Partager sur Twitter
          11 décembre 2010 à 13:00:46

          Citation : LordOfShadows


          Et puis cet algorithme serait un peu trop complexe, au final solar a raison, il doit exister des logiciels avec des grosses bases de données, tu rentres ta formule brute et il te propose les 2, 3 (ou beaucoup plus) isomères.

          Edit : après, si les molécules dont tu cherches les isomères sont des chaines carbonées pas trop grosses, c'est quand même pas très long de les compter :-°



          Ben justement, le but c'est de faire un tel logiciel :p
          • Partager sur Facebook
          • Partager sur Twitter
            11 décembre 2010 à 13:20:15

            Ah... alors à mon avis, le plus "simple" c'est de te créer ta propre base de donnée, de tous les isomères d'un nombre considérable de molécules, parce que je ne pense pas qu'un algorithme puisse te sauver ici. Parce que même si tu pouvais en créer un, le problème c'est que certains isomères qui devraient exister en théorie n'apparaissent pas pour des raisons de stabilité dans lesquelles pas mal de paramètres rentrent en jeu (géométrie VSEPR de la molécule, électronégativité, polarisabilité...)
            Enfin, une nouvelle fois, je ne suis pas chimiste...
            • Partager sur Facebook
            • Partager sur Twitter
              11 décembre 2010 à 13:50:54

              Moi je laisse ca aux ingénieurs chimistes...
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                11 décembre 2010 à 15:31:17

                Brrr, ton projet est dingue.

                Non seulement parce qu'en effet, à partir d'une formule brute, y'a beaucoup de possibilités, mais la plupart d'entres elles reviennent au même dans la nomenclature et les proprios, mais aussi que pour certaines raisons, les valence des atomes changent et on commence à obtenir des cas plus "spéciaux" (par exemple <math>\(H_2SO_4\)</math>, ou le O utilise ses doublets pour faire de la covalence).

                Donc, un bruteforce, et encore, c'est très hasardeux. L'idée de la base de données est quasi encore la meilleure, tient (http://www.chemspider.com est celui que j'utilise régulièrement et qui va très bien pour du pas trop poussé, après y'a les BDD payantes, auquel mon unif à accès, mais uniquement là-bas).
                • Partager sur Facebook
                • Partager sur Twitter
                  11 décembre 2010 à 17:13:43

                  Citation : pierre_24

                  Brrr, ton projet est dingue.

                  Non seulement parce qu'en effet, à partir d'une formule brute, y'a beaucoup de possibilités, mais la plupart d'entres elles reviennent au même dans la nomenclature et les proprios, mais aussi que pour certaines raisons, les valence des atomes changent et on commence à obtenir des cas plus "spéciaux" (par exemple <math>\(H_2SO_4\)</math>, ou le O utilise ses doublets pour faire de la covalence).



                  Je pensais faire un programme pour la chimie organique uniquement, c'est à dire avec du carbone, de l'oxygène, azote et hydrogène.

                  Citation : LordOfShadows

                  Ah... alors à mon avis, le plus "simple" c'est de te créer ta propre base de donnée, de tous les isomères d'un nombre considérable de molécules, parce que je ne pense pas qu'un algorithme puisse te sauver ici.



                  J'envisageai aussi la possibilité de faire une base de données, mais l'intérêt de l'exercice, c'est plutôt de trouver un algorithme.
                  J'ai beaucoup cherché sur le Net, je n'ai trouvé aucun logiciel qui proposait un algorithme de recherche :( .

                  Peut être pourriez vous m'aider différemment : y a-t-il des étapes dans la recherche d'isomères qui soient constantes, c'est à dire qui sont des étapes obligées dans cette recherche ?

                  Citation : LordOfShadows

                  Parce que même si tu pouvais en créer un, le problème c'est que certains isomères qui devraient exister en théorie n'apparaissent pas pour des raisons de stabilité dans lesquelles pas mal de paramètres rentrent en jeu (géométrie VSEPR de la molécule, électronégativité, polarisabilité...)



                  Que ces isomères n'existent pas en pratique n'est pas bien grave : j'ai déjà dû le dire mais ce qui m'intéresse le plus, c'est l'algorithme :D .
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 décembre 2010 à 18:32:14

                    Je pense qu'en cherchant en anglais, tu auras plus de résultats.
                    Par exemple, un livre : An algorithm for the construction of the graphs of organic molecules (payant, il semblerait).
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      11 décembre 2010 à 19:34:16

                      Sinon, D'abord les C, puis le reste, puis tu regarde si ça tieznt la route. Le problème, c'est que t'aura jamais les cycles comme ça :(

                      @programLyrique : Faudra que je regarde si j'y ai accès ou pas, peut-être qu'il passera.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 décembre 2010 à 20:04:54

                        Citation : pierre_24

                        Sinon, D'abord les C, puis le reste, puis tu regarde si ça tieznt la route. Le problème, c'est que t'aura jamais les cycles comme ça :(



                        C'est donc possible pour les molécules acycliques ?

                        Citation : programLyrique

                        Je pense qu'en cherchant en anglais, tu auras plus de résultats.
                        Par exemple, un livre : An algorithm for the construction of the graphs of organic molecules (payant, il semblerait).



                        Merci pour le lien, mais le livre coute une trentaine de dollars :colere:
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          11 décembre 2010 à 21:13:42

                          Ben écoute ... Surement. Intuitivement quand on me donne une formule brute, perso, je tape les C en premier, puis je bouche avec le reste. Le problème, c'est quand on commence à avoir des molécules autres que du C et du H qui peuvent très bien se taper dans la chaine, ou faire des groupement spéciaux. Et c'est la tout le problème, pour moi : tu peut jamais, a part avec un algo de type bruteforce avoir tout, parce qu'il y a tellement de possibilité, et le tri n'est pas aisé.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 décembre 2010 à 10:05:29

                            L'idéal est de commencer avec qq chose de simple genre C2H6O et de voir tous les isomères qu'il y'a.Et d'essayer de généraliser l'algorithme.

                            Pour les cycles, peut être pourrait on "parenter" les atomes. ainsi dans un cycle, on verrai le coté infini de la boucle et on arrête à ce moment.

                            Un algo pour tous les avoir. Un algo pour tous les trier... dur.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              12 décembre 2010 à 12:35:15

                              Et si je créais un algorithme pour chercher tous les isomères, qu'ils existent ou non, puis je trouve le nom de l'isomère en nomenclature systématique et je le met dans une liste. A la fin, le programme supprime les doublons et n'affiche que les isomères originaux. Qu'est-ce que vous pensez de mon idée ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                12 décembre 2010 à 12:59:29

                                C'est l'idée, ouais. Donc, tu numérote tes atomes (Carbone-1, Carbone-2), puis tu fait des structures en arbres (...), puis tu parcours ton arbre pour chaque molécule ainsi créée et tu vérifie qu'elle tient la route. Ensuite, tu trie. Mais franchement, bonne chance, rien qu'avec C4H8, j'ai déja du mal à imaginer cet algo. Y'a surement moyen de faire mieux.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 décembre 2010 à 13:26:54

                                  L'idée de l'arbre fonctionnerait a tous les coups... mais ca ferais trop de calculs.

                                  Des raccourcis? on compte le nombre de liaison possible dans C4H8 par exemple. C : 4 * 4 = 16
                                  1) on suppose tous les carbones reliés par des simple liaisons : 16 - (2*2+2*1) = 10 liaison possible avec d'autres atomes; OR H : 8 * 1 = 8.
                                  =>> on se rend compte qu'il y'a forcément une double liaison quelque part, hyp non valide.
                                  2) on suppose deux carbones reliés par une double liaisons, les autres par une simple. 16 - (2*3+2*1) = 8
                                  Hyp valide.

                                  Alors :
                                  On commence l'arbre en mettant une double liaison entre deux C a chaque fois......

                                  je pense qu'il faut avancer par hypothèse. et les vérifier.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    12 décembre 2010 à 14:05:28

                                    Citation : Solar

                                    Des raccourcis? on compte le nombre de liaison possible dans C4H8 par exemple. C : 4 * 4 = 16
                                    1) on suppose tous les carbones reliés par des simple liaisons : 16 - (2*2+2*1) = 10 liaison possible avec d'autres atomes; OR H : 8 * 1 = 8.
                                    =>> on se rend compte qu'il y'a forcément une double liaison quelque part, hyp non valide.
                                    2) on suppose deux carbones reliés par une double liaisons, les autres par une simple. 16 - (2*3+2*1) = 8
                                    Hyp valide.

                                    Alors :
                                    On commence l'arbre en mettant une double liaison entre deux C a chaque fois......



                                    Est-ce que le simple fait de connaitre le nombre de C et de H ne serait pas suffisant. Par exemple, si on a : <math>\(C_4H_1_0\)</math> comme on sait qu'un alcane a pour formule brute général <math>\(C_nH_n_+_2\)</math> alors <math>\(C_4H_1_0\)</math> est un alcane ( que des liaisons simples ).

                                    Ensuite, si la formule de la molécule correspond à : <math>\(C_nH_n\)</math> alors c'est un alcène ( une double liaison )
                                    sinon si ça correspond à <math>\(C_nH_n_-_2\)</math> c'est un alcyne ?

                                    Citation : Solar

                                    je pense qu'il faut avancer par hypothèse. et les vérifier.



                                    C'est bien le principe ^^ .
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      12 décembre 2010 à 14:26:06

                                      Donc faut écrire en brut dans le programme toutes les formules type... Mais ca peut devenir facilement complexe pour l'algorithme non ?

                                      C3H6O ? je vois déjà trois fonctions différentes possible et y'en a peut être plus... Il y'a risque d'en oublier non ?
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 décembre 2010 à 12:03:43






                                        Personne n'a d'idées sur quelles étapes sont systématiques dans la recherche d'isomères ?



                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          14 décembre 2010 à 12:41:55

                                          Citation : tvere


                                          Je pensais faire un programme pour la chimie organique uniquement, c'est à dire avec du carbone, de l'oxygène, azote et hydrogène.


                                          La chimie organique ne se compose pas uniquement de ces atomes. Il suffit de regarder les fonctions amines par exemple.
                                          Autre chose, si ton logiciel veut-être intéressant, il doit donner uniquement les isomères existants voire uniquement ceux possédants des propriétés chimiques qui diffèrent.
                                          A la limite, ton programme peut-être plus intéressant, à mon sens, si tu demandes à l'utilisateur de rentrer un isomère et qu'il te détermine les carbones asymétriques, leur configuration absolue, la configuration de la molécule (Z / E, Cis / Trans), les stéréoisomères et diastéréoisomères (en plus leur nombre est limité par la formule 2^n ou n est le nombre de carbones asymétriques).
                                          Une fois ceci déterminé, à partir d'une base de donnée il pourrait te donner les propriétés physico-chimique lié à cela.

                                          A mon sens cela à beaucoup plus d'utilité puisque n'importe quelle personne peut trouver soit même ses isomères, mais il faut un peu plus de connaissance pour trouver toutes les propriétés physico-chimiques liés à la stéréochimie.

                                          Après, tu peux rajouter également par algorithme les formes limites liés à ton isomère (par effet inducteur, mésomère, hydrogène en hyper-conjugaison, et en donnant les hybridations sp3, sp2, sp de tes atomes, recouvrement d'orbitales moléculaires), et pourquoi pas, toujours par algorithme, afficher sur demande le résultat, avec les intermédiaires de Wheland et les produits principaux (ortho, meta, para) d'une réaction de type addition électrophile, addition nucléphile (ozonolyse, bis-hydroxylation, sulfonation, hydroboration, et j'en passe !).
                                          Il y a du boulot, mais je connais pas de logiciel proposant cela et c'est bien plus réalisable que de se prendre la tête à faire une base de données explicite sur des isomères qui n'existeront pas.

                                          En espérant pouvoir t'aider.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            19 janvier 2011 à 22:26:20

                                            Où sinon, taper la formule brute dans wikipédia donne les différents isomères non ?
                                            Enfin je dit ça comme ça ... :-°
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              19 janvier 2011 à 23:14:27

                                              personne a pensé à calculer le nombre d'insaturation en premier??? ca sert à quoi de partir dans des formules branchées pour au final se retrouver avec des hydrogènes qui manquent?

                                              <math>\(insat.=\frac{1}{2}(2n_C+n_O+n_N+n_X)+1\)</math>

                                              sinon je pense pas que t'arriveras à trouver un algorithme viable. tu tomberas vite sur un nombre énorme d'isomères.

                                              Une autre base de donnée gratuite est celle du NIST. On peut la trouver par
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                20 janvier 2011 à 19:32:22

                                                merci pour le lien lorien ;) j'en cherchais une justement :)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  20 janvier 2011 à 20:58:51

                                                  Merci pour vos réponse. Je continue de chercher de mon coté, mais je n'ai pour le moment rien trouvé. J'ai contacté deux chimistes qui m'ont dit que ce programme n'existait pas encore. Ce n'est pas pour ça que ça n'existe pas...
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    21 janvier 2011 à 22:00:47

                                                    S'il s'agit des isomères référencés et "utiles", la DB du NIST peut-être suffisante. L'algorithme, il faut pas : il serait certainement plein de simplifications qui ne permettraient pas de prendre en compte la totalité des molécules que l'on peut rencontrer avec une formule brute donnée.

                                                    Après cette touche d'optimisme : je suis dubitatif quant à l'utilité d'un tel logiciel dans l'absolu. Certains existent déjà, mais ils sont payants et offrent souvent des fonctions avancées utiles (comme Scifinder qui permet d'avoir directement accès aux ressources biblio).
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      21 janvier 2011 à 22:55:34

                                                      Citation : Abaxos

                                                      Après cette touche d'optimisme : je suis dubitatif quant à l'utilité d'un tel logiciel dans l'absolu. Certains existent déjà, mais ils sont payants et offrent souvent des fonctions avancées utiles (comme Scifinder qui permet d'avoir directement accès aux ressources biblio).



                                                      Plus que l'utilité, c'est l'algo à élaborer qui est intéressant.

                                                      Avec tout ce que vous m'avez dit, je ne suis pas vraiment sur du fait que la chose soit possible. Alors moi, je fais quoi ? Franchement, vous pensez que je perds mon temps oui ou non ?

                                                      En tout cas merci à tous et bonne soirée !
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        21 janvier 2011 à 23:17:53

                                                        Si c'est pour obtenir quelque chose d'exploitable, soit tu adoptes la démarche "base de données" qui te permet d'obtenir quelque chose d'utile mais de redondant (quoique si c'est juste faire un GUI à NIST, l'utilité n'est pas super évidente).
                                                        Soit tu adoptes le côté bruteforce, mais là, à moins de lier le tout à un logiciel de CQ (du semi empirique serait suffisant), c'est peine perdue.


                                                        Par contre, si c'est pour coder un peu, c'est une très bonne initiative.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          22 janvier 2011 à 18:19:52

                                                          Il va falloir faire des maths, et s'intéresser à la théorie des groupes. Regarde le théorème de Polya, et en particulier une de ses applications : ici. Un article présentant un algorithme pour les alcanes : ici, et pour le benzène.
                                                          En fait, il existe beaucoup d'algorithmes qui énumèrent les isomères, mais pour un type particulier de molècules comme ici, ou .
                                                          De toute façon, la plupart des ressources sur un sujet aussi pointu sont sur papier (comme ici !)...
                                                          Pour d'autres informations sur Internet, une recherche google avec les mots clés isomer enumeration method devrait être efficace.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Recherche d'isomère

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown