Structured Data Format
Els fitxers SDF contenen informació estructural d’una o més molècules químiques.
Introducció
Els Structured Data Format, que solen tenir la extensió .sdf, són els fitxers que els programes utilitzen habitualment per processar informació estructural química. També poden incloure informació addicional, com ara espectres moleculars.
En principi, qualsevol fitxer de dades estructurals té dos components principals:
- La taula de connexions simplificada (simplified connection table)
- La informació addicional
La notació SMILES descriu la connectivitat atòmica en text, mentre que els fitxers SDF contenen informació estructural més detallada. En SMILES els hidrogens solen ser implícits (per exemple l’aigua es representa com a O en Smiles); en SDF poden ser implícits o explícits (habitualment són explícits).
Tots els fitxers de dades estructurals tenen una taula d’àtoms i una taula d’enllaços.
La taula d’àtoms inclou informació com les definicions isotòpiques i, si està disponible, les coordenades 2D o 3D de l’entorn de cada àtom. Si aquestes coordenades falten, els programes poden calcular-les mitjançant una minimització d’energia per obtenir l’estructura 3D d’un àtom aïllat.
Tipus de fitxers: SDFs i Molfiles
- Molfiles: fitxers de text que contenen informació estructural d’una sola mol·lecula. Solen tenir la extensió
.mol. - SDFs (Structure Data Files): són fitxers que combinen diversos molfiles amb informació addicional sobre els compostos. S’utilitzen molt sovint per compartir biblioteques de dades de compostos.
Què tenen en comú ?
- Tant els Molfiles com els SDFs (Structure Data Files) són fitxers de text que descriuen l’estructura química de molècules:
- àtoms, enllaços, coordenades, càrregues, etc.
- Tots dos segueixen el format desenvolupat per MDL (Molecular Design Limited), de manera que la seva estructura interna és gairebé la mateixa.
- Són formats llegibles per humans i per ordinador, i compatibles amb molts programes de química computacional (com RDKit, PyMol, Avogadro, etc.).
En resum, els Molfiles descriuen una sola molècula; els SDFs amplien aquest format per incloure moltes molècules i dades associades, mantenint la mateixa base estructural.
Estructura dels Molfile/SDF
L’NCI Chemical Resolver és un servei en línia del National Cancer Institutre que permet buscar i obtenir informació química de compostos des de diverses bases de dades obertes (per exemple Pubchem) a partir del seu nom, fórmula o identificador.
El següent text és un fitxer molfile de l’etanol obtingut del NCI Chemical Resolver.
Tots els molfiles tenen un encapçalament i una taula de connexions (CTAB) amb dos blocs principals: Atom Block i Bond Block.
- L’encapçalament té dues o tres línies: la primera indica el nom o fórmula i la segona el programa que el va generar, la data i hora, i si hi ha coordenades 2D o 3D. Opcionalment, pot tenir una linia 3 amb comentaris.
- La línia de recompte (
Count line block) mostra que l’acetona té 9 àtoms i 8 enllaços, i inclou la versió del molfile, en aquest cas V2000. - Després del
Bond Block, hi ha una descripció addicional i camps opcionals que poden incloure propietats físiques, dades experimentals o anotacions de la molècula.
A l’exemple de sota, la fórmula que identifica la mol·lecula és C2H6O, ha estat generat per APtclcactv10282509333D, i el camp de comentaris està en blanc.
Veiem un altre exemple de molfile, de l’acetona, en format imatge per tenir l’esquema complet més clar:

Cercar fitxers sdf a Internet.
Pots obtenir altres compostos des de la web pública de l’NCI Chemical Resolver, amb aquestes opcions de menú:

Encara que posi sdf, com que sabem que l’acetona només consta d’una mol·lecula ens serveix com a molfile, coincideix pràcticament tot el contingut.
Taller: Descarregar fitxers sdf amb Python.
Pots obtenir l’acetona a partir d’una URL, la qual cosa és encara més interessant.
- https://cactus.nci.nih.gov/chemical/structure/CCO/file?format=sdf
Fixa’t que la notació general és
https://cactus.nci.nih.gov/chemical/structure/{NOTACIO_SMILES}/file?format=sdf
On pots reemplaçar {NOTACIO_SMILES} per la notació SMILES de la mol·lecula que vols.
Prepara l’entorn en Python:
Crea un projecte amb uv
uv init demo-sdfsImporta la biblioteca requests:
uv add requestsEstás leyendo una vista previa.
Inicia sesión para leer el artículo completo. Cualquier cuenta abre 4 artículos gratuitos al mes; el alumnado y el profesorado leen las páginas de su curso sin límite.
Iniciar sesión