Question:
API gratuite pour visualiser la représentation 2D des molécules
Anderlecht
2018-04-07 09:32:30 UTC
view on stackexchange narkive permalink

Je recherche une API gratuite capable d'accepter un SMILE et de produire la structure 2D d'une molécule. Je voudrais l'inclure dans une page Web.

J'ai une collection de SMILES et j'aimerais que la structure 2D soit disponible dans une base de données. J'ai essayé de générer des images à l'aide de RDKit mais je ne peux pas ajouter ces images à un bloc de données ou une structure de données tabulaire. Toutes les suggestions sur la façon d'afficher la représentation 2D et tout SMILE interrogé sur la page Web seront appréciées.

Six réponses:
DSVA
2018-04-07 14:46:13 UTC
view on stackexchange narkive permalink

Open Babel peut convertir toutes sortes d'entrées en images avec des structures 2D.

Bien que j'apprécie la mention d'Open Babel, il n'y a pas d'API Web, ce qui était la demande d'origine. Si les gens utilisent `obabel`, je recommande vivement d'utiliser l'option [exportation SVG] (http://openbabel.org/docs/dev/FileFormats/SVG_depiction.html).
Pritt says Reinstate Monica
2018-04-07 10:04:35 UTC
view on stackexchange narkive permalink

PubChem offre un moyen d'obtenir la structure 2D d'une molécule si vous entrez le SMILES.

Cependant, pourquoi vous contenter de la 2D, si vous pouvez obtenir des structures 3D tout aussi facilement?

Comme ajout supplémentaire, vous pourriez aussi bien consulter https://chemapps.stolaf.edu/jmol/jmol.php?model=[INSERT-SMILES-HERE[/ code>. Cet outil produira la structure 3D de n'importe quelle molécule dont vous pouvez obtenir les SMILES. Écrivez simplement les SMILES après l'égal de, et voila ! Vous avez une jolie visionneuse interactive de molécules que vous pouvez faire pivoter pour voir à quoi elle ressemble.


Clause de non-responsabilité: Je ne suis affilié à aucun des sites publiés ci-dessus.

Geoff Hutchison
2018-07-30 20:01:40 UTC
view on stackexchange narkive permalink

Si vous voulez un service Web gratuit, comme indiqué ci-dessus, vous pouvez utiliser PubChem pour convertir une chaîne SMILES en une représentation 2D. Mais ce n'est que "limité" aux entrées de PubChem ...

Une meilleure option, à mon humble avis, est le NIH Chemical Resolver très facile à utiliser

https://cactus.nci.nih.gov/chemical/structure/ " identifiant de structure " / " représentation "

Par exemple, vous pouvez utiliser:

https://cactus.nci.nih.gov/chemical/structure/aspirin/image:

enter image description here

Comme indiqué ci-dessus, l '"identifiant" peut être des noms, des chaînes SMILES échappées, etc.

Remarque: les triples liaisons dans Les chaînes SMILES représentées par '#' doivent être échappées par URL en tant que '% 23' (par exemple, la chaîne SMILES de ethyne doit être spécifiée comme 'C% 23C' au lieu de 'C # C' si elle est codée dans le cadre d'une URL

Et oui, vous pouvez également obtenir les structures 3D .. par exemple https://cactus.nci.nih.gov/blog/?p=249
Mark
2018-04-08 03:21:05 UTC
view on stackexchange narkive permalink

Ce n'est pas une API, mais JSME (Javascript Molecule Editor) peut être utilisé pour convertir MOL, SDF ou SMILES en une structure 2D.

BalooRM
2020-05-02 04:53:22 UTC
view on stackexchange narkive permalink

Une autre option pour un peu de programmation est le Indigo Toolkit, qui contient des bibliothèques Python, Java, .NET et C.

L'exemple Python suivant prend l'isomérique SMILES pour Albuterol, que j'ai obtenu de PubChem, et rend des structures 2D pour trois formes (une avec une stéréochimie non spécifiée et les deux stéréoisomères). Les structures individuelles sont étiquetées avec leurs CID PubChem respectifs.

Albuterol

  depuis import indigo * depuis indigo.renderer import * indigo = Indigo () renderer = IndigoRenderer (indigo) mols = {'2083': 'CC (C) (C) NCC (C1 = CC (= C (C = C1) O) CO) O', '123600': 'CC (C) (C) NC [C @@ H] (C1 = CC (= C (C = C1) O) CO) O ',' 182176 ':' CC (C) (C) NC [C @ H] (C1 = CC (= C (C = C1 ) O) CO) O '} array = indigo.createArray () for key in mols.keys (): print (key, mols [key]) mol = indigo.loadMolecule (mols [key]) s = "CID =" + clé mol.setProperty ("grid-comment", s) array.arrayAdd (mol) indigo.setOption ("render-comment", "Albuterol") indigo.setOption ("render-comment-position", "top") indigo.setOption ("render-grid-margins", "40, 10") indigo.setOption ("render-grid-title-offset", "5") indigo.setOption ("render-grid-title-property", "grid-comment") indigo.setOption ("rendu-fond-couleur", 1.0, 1.0, 1.0) indigo.setOption ("rendu-atome-couleur-propriété", "couleur") indigo.setOption ("rendu-coloration ", True) indigo.setOption (" render-image-size ", 1200, 300) renderer.renderGridToFile (array, None, 3, "grid.png")  
Raven
2018-07-30 21:15:27 UTC
view on stackexchange narkive permalink

Si vous êtes prêt à faire un petit effort de programmation, vous pouvez jeter un œil au Kit de développement de chimie (CDK) qui est facilement capable de convertir une chaîne SMILES en un rendu 2D du molécule.

Un exemple (tiré de ici) qui produira la représentation sous forme d'image PNG ressemble à ceci:

  import org.openscience.cdk .CDKConstants; import org.openscience.cdk.interfaces. *; Import org.openscience.cdk.silent.SilentChemObjectBuilder; import org.openscience.cdk.smiles.SmilesParser; import java.awt.Color; classe publique Main {public static void main (String [] args) lève l'exception {IChemObjectBuilder bldr = SilentChemObjectBuilder.getInstance (); SmilesParser smipar = nouveau SmilesParser (bldr); IAtomContainer mol = smipar.parseSmiles ("CN1C = NC2 = C1C (= O) N (C (= O) N2C) C"); mol.setProperty (CDKConstants.TITLE, "caféine"); DepictionGenerator dptgen = nouveau DepictionGenerator (); // taille en px (raster) ou mm (vecteur) // les annotations sont rouges par défaut dptgen.withSize (200, 250) .withMolTitle () .withTitleColor (Color.DARK_GRAY); dptgen.depict (mol) .writeTo ("~ / caffeine.png");}}  

Le résultat peut être vu ici



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...