Domanda:
C'è un modo per utilizzare il software gratuito per convertire le stringhe SMILES in strutture?
BootstrapBill
2016-01-05 14:47:24 UTC
view on stackexchange narkive permalink

Finora non sono riuscito a trovare uno strumento open source in grado di convertire un numero elevato (> 100k) di stringhe SMILES in una struttura chimica. È davvero risolto solo da applicazioni commerciali? Non mi dispiacerebbe convertire tramite un numero di formati intermedi. Idealmente lo farei con R, ma questa è l'ultima delle mie preoccupazioni, inoltre non è né per uso personale né per uso accademico.

Penso che la mia domanda sarebbe quali strumenti hai trovato che non pensavi potessero convertire SMILES in strutture e come stavi cercando. L'uso della "generazione di strutture SMILES" su Google sembra funzionare bene per me - obabel è stato il sesto risultato.
Cinque risposte:
Martin - マーチン
2016-01-05 15:56:26 UTC
view on stackexchange narkive permalink

Secondo il sito web, Open Babel dovrebbe fare il trucco: Documentation - SMILES, Sourceforge.

Per esempio, il codice seguente ti darà un file SVG pulito della molecola benzene:

  obabel -: "c1ccccc1" -O benzen.svg  

Se hai problemi a usarlo, puoi chiedere in modo più specifico.

In alternativa, puoi utilizzare una query web dall'istituto nazionale del cancro. È facilmente accessibile con il seguente codice

  http://cactus.nci.nih.gov/chemical/structure/"structure identifier "/" rappresentanza " 

Ad esempio: benzene, "structure identifier" = c1ccccc1 , "presentation" = image .

Un altro la soluzione open source, dove puoi esportare direttamente la struttura in un editor molecolare è Avogadro. (Tuttavia utilizza Open Babel.)

A seconda del problema reale, tuttavia, potrebbero già esserci routine più avanzate.

Grazie, questo dovrebbe funzionare per me! All'improvviso mi sento sciocco a chiedere. Non riesco a capire come mi sia mancato.
Curt F.
2016-01-05 19:30:44 UTC
view on stackexchange narkive permalink

Oltre alle altre buone risposte, consiglierei rdkit , un software open source e disponibile gratuitamente per la chemioinformatica. La maggior parte delle persone usa rdkit tramite la sua interfaccia Python.

Ecco alcune nozioni di base su rdkit :

  1. La base del codice è disponibile in GitHub, qui.
  2. La licenza è abbastanza permissiva; non devi preoccuparti del tipo di lavoro (commerciale, personale o accademico) che stai svolgendo.
  3. L'API Python semplifica l'uso di rdkit , ma tutto il core le funzioni sono scritte in C ++, rendendolo veloce ed efficiente. L'API Python fornisce l'accesso a queste funzioni in Python, rendendolo flessibile e facile da imparare. Se ti capita di parlare fluentemente in C ++, è disponibile un'API C ++.
  4. Fa molto di più che convertire SMILES in strutture; guarda alcuni esempi qui.

Ecco un modo per convertire un SMILES in una struttura in rdkit.

  da rdkit import Chemfrom rdkit.Chem import Drawimport matplotlib.pyplot as plt% matplotlib inlinepenicillin_g_smiles = 'CC1 ([C @@ H] (N2 [C @ H] (S1) [C @@ H] (C2 = O) NC (= O) Cc3ccccc3) C (= O) O) C'penicillin_g = Chem.MolFromSmiles (penicillin_g_smiles) Draw.MolToMPL (penicillin_g, size = (200, 200))  

Ecco un'immagine del codice e l'immagine risultante. Penicillin G code

Ho da questo codice ...?
Egon Willighagen
2016-08-13 16:12:41 UTC
view on stackexchange narkive permalink

Per coloro che desiderano convertire alcune stringhe SMILES in immagini, è anche possibile utilizzare l'utilità Depict basata su CDK 1.5 di John May ( www.simolecule.com/cdkdepict/, GitHub). Fornisce varie opzioni e output di grafica vettoriale scalabile (che può essere facilmente convertita in altri formati).

Ad esempio, caffeina con titolo: https://www.simolecule.com/cdkdepict/depict /bow/svg?smi=CN1C%3DNC2%3DC1C(%3DO)N(C(%3DO)N2C)C%20caffeine&abbr=on&hdisp=bridgehead&showtitle=true&zoom=1.6&zoom=campo 2D caffeine structure representation converted from SMILES

Pertanto, con l'API web di base puoi creare uno script per convertire anche tutte le stringhe SMILES, ad es. utilizzando il pacchetto RCurl. Questo post di StackOverflow spiega come convertire SVG in altri formati.

Tuttavia, poiché probabilmente preferisci una soluzione basata su R pura, dai un'occhiata al pacchetto rcdk.

Lo strumento CDK Smiles Depict converte da SMILES a 2D Structure (come menzionato sopra). L'URL in una risposta precedente sembra obsoleto, ma lo strumento può essere trovato qui https://www.simolecule.com/cdkdepict/depict.html
gilleain
2016-01-05 15:28:54 UTC
view on stackexchange narkive permalink

Sono sorpreso che tu abbia avuto difficoltà a trovare un toolkit: la licenza deve essere MIT o permissiva? Immagino che utilizzerai questo nel software che stai creando, piuttosto che una conversione dei dati una tantum?

Ad esempio, OpenBabel (C ++), Chemistry Development Kit (Java), ecc - inoltre, il CDK può interfacciarsi con R - sembrerebbe soddisfare le tue esigenze?

al momento è solo per una conversione di dati una tantum. a un certo punto in seguito potrebbe essere nel software, ma allora andrebbe bene spendere un po 'di soldi. Inoltre sono sorpreso che tu sia sorpreso - posso chiederti quali termini di ricerca hai usato?
@BootstrapBill - Gilleain aiuta a sviluppare il CDK.
@BootstrapBill Hah! Geoff ha ragione - probabilmente è più facile per me trovarli dato che li conosco già! :) Questa è la difficoltà di rispondere alle domande, ovviamente. In realtà stavo solo controllando che non avessi già trovato e rifiutato quelli nell'elenco di wikipedia.
Davide Fiocco
2019-07-17 00:19:49 UTC
view on stackexchange narkive permalink

In Python potresti provare pysmiles.
Partendo dalla descrizione SMILES dovresti essere in grado di creare un oggetto grafico NetworkX con codice sulla falsariga di

  da pysmiles importa read_smilesimport networkx come nxsmiles = 'C1CC [13CH2] CC1C1CCCCC1'mol = read_smiles (sorrisi)  


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...