# 3. Representación molecular

## <mark style="color:orange;">Objetivos</mark>

* Introducir a las representaciones moleculares más comunes de compuestos orgánicos de bajo peso molecular y a sus aplicaciones en diversos contextos.
* Aprender a convertir compuestos entre las distintas representaciones moleculares según convenga.
* Introducir al uso de los paquetes `RDKit`y`py3Dmol` para el manejo de estructuras químicas.
* Aplicar los conocimientos aprendidos para comparar estructuras, filtrar bases de datos y visualizar moléculas con características específicas.

## <mark style="color:orange;">Introducción</mark>

Una representación molecular es una codificación de una estructura química en una forma que sea entendible por un programa computacional. La mayoría de las representaciones tienen propósito(s) concreto(s). Por ejemplo:&#x20;

* Comunicación y análisis cualitativos.
* Almacenamiento (_data storage_).
* Búsqueda de estructuras (_structure searching_).&#x20;

### <mark style="color:green;">Representaciones moleculares comunes</mark>

Probablemente la descripción más conocida de compuestos es la representación gráfica bidimensional (2D). Actualmente existen muchos programas para ayudar a dibujar estructuras químicas y facilitar el almacenamiento y la interconversión entre formatos de archivos estándar. Algunos de estos software tienen versiones académicas gratuitas como [MarvinSketch](https://chemaxon.com/marvin), [ACD/ChemSketch](https://www.acdlabs.com/resources/free-chemistry-software-apps/chemsketch-freeware/), [Avogadro](https://avogadro.cc/) y otros son comerciales como [ChemDraw](https://chemdrawdirect.perkinelmer.cloud/js/sample/index.html), y los visualizadores de programas como [Schrödinger](https://www.schrodinger.com/) ([Maestro](https://www.schrodinger.com/products/maestro)) y [Molecular Operating Environoment](https://www.chemcomp.com/Products.htm) (MOE), por nombrar algunos ejemplos. Las estructuras tridimensionales (3D) también son muy utilizadas, principalmente en el modelado molecular. Estas representaciones proporcionan una herramienta poderosa e intuitiva para comprender muchos aspectos de la química. Sin embargo, estas representaciones tienen limitaciones, especialmente cuando se trata de tareas cotidianas en Quimioinformática. Por este motivo, se han desarrollado representaciones lineales (1D) que, en principio, ahorran espacio de memoria, sirven para el almacenamiento, búsqueda y manejo de datos, así como el procesamiento eficiente de grandes cantidades de compuestos (miles y millones).

<figure><img src="https://4235622825-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzFDWCsANohM6QBx4kmk%2Fuploads%2FPbamBL6YIbL0XI9Nv9yx%2FCopia%20de%20Metodolog%C3%ADa.png?alt=media&#x26;token=6f6df301-7276-4659-80ae-620cc79cc17c" alt=""><figcaption><p><em><strong>Figura 1.</strong> Tipos de representaciones moleculares.</em></p></figcaption></figure>

En Quimioinformática, la información molecular suele estar representada por notaciones lineales. A continuación, se describen las notaciones lineales más utilizadas que son: [SMILES](3.-representacion-molecular/3.1-smiles), [SMARTS](3.-representacion-molecular/3.2-smarts), [InChi e InChikeys](3.-representacion-molecular/3.3-inchi-keys). Ejemplos intuitivos que ilustran los conceptos generales de dichas notaciones lineales y que se explicarán con mayor detalle en las siguientes secciones se ilustran en la <mark style="color:blue;">Figura 2</mark>.

<figure><img src="https://4235622825-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzFDWCsANohM6QBx4kmk%2Fuploads%2FmxWTSnNuuuopxOY8uzce%2F13321_2020_466_Fig1_HTML.webp?alt=media&#x26;token=a4b55508-eeea-48d3-a75d-0c6f78770250" alt=""><figcaption><p>                            <em><strong>Figura 2.</strong> Representaciones lineales.</em>  Figura recuperada de:  Saldívar-González et al. <em>J Cheminform</em>. 2020 Oct 27;12(1):64</p></figcaption></figure>

### <mark style="color:green;">Representación molecular en Python</mark>&#x20;

Además de los softwares mencionados en la Introducción de esta sección, Python permite la representación 1D, 2D y 3D de estructuras químicas a través de la librería de [**RDKit**](https://www.rdkit.org/). Entre las funciones que brinda RDKit en el campo de la Quimioinformática se encuentran:

* Representación molecular.
* Manejo y transformación de moléculas.
* Transformaciones químicas.
* Reacciones químicas.
* Cálculo de descriptores moleculares.

## <mark style="color:orange;">Para saber más:</mark>

* Chuang KV, Gunsalus LM, Keiser MJ (2020). [Learning Molecular Representations for Medicinal Chemistry](https://doi.org/10.1021/acs.jmedchem.0c00385). _J Med Chem_. 63:8705-8722.&#x20;
* David L, Thakkar A, Mercado R. _et al._(2020) [Molecular representations in AI-driven drug discovery: a review and practical guide. ](https://jcheminf.biomedcentral.com/articles/10.1186/s13321-020-00460-5)_J Cheminform_ 12:56.
* Saldívar-González FI, Huerta-García CS, Medina-Franco JL (2020) [Chemoinformatics-based enumeration of chemical libraries: a tutorial.](https://doi.org/10.1186/s13321-020-00466-z) _J Cheminform_ 12:64.&#x20;
