Convertir SDF a CSV
Exporta registros químicos SDF, etiquetas SD y SMILES a CSV con Open Babel, RDKit o KNIME.
Cree archivos CSV en línea
Todavía no podemos leer archivos SDF, así que esta conversión no está disponible. Si puede exportar su trabajo a alguno de estos formatos u otros, lo convertiremos en CSV:
Cómo convertir un archivo sdf a csv
- Documentos
- Calificación: 5.0/5
Las bibliotecas de compuestos suelen proporcionarse como archivos SDF químicos, pero Excel, las importaciones de LIMS, los sistemas de informes y los cargadores de bases de datos normalmente requieren una tabla CSV plana. Exportar las etiquetas SD y un identificador de estructura permite que cada compuesto ocupe una fila del CSV, conservando los datos necesarios para filtrar o realizar coincidencias.
Identificar el tipo de archivo SDF
Este procedimiento se aplica a un Structure Data File químico, también denominado archivo SD. Almacena una o más tablas de conectividad molecular (átomos y enlaces), propiedades con nombre opcionales denominadas SD tags y normalmente termina cada registro con $$$$.
ChemDraw, el software de BIOVIA, RDKit, Open Babel, las herramientas de docking, los sistemas de registro de compuestos y las bases de datos químicas como PubChem utilizan archivos SDF químicos. Un SDF químico es texto sin formato y normalmente puede reconocerse por los bloques de átomos/enlaces y los separadores $$$$.
La extensión .sdf es ambigua. Las bases de datos SQL Server Compact y los archivos de datos espaciales de Autodesk también pueden utilizarla; son bases de datos, no archivos SD químicos. Exporte una tabla seleccionada desde SQL Server Compact o una capa espacial seleccionada desde un software GIS/CAD compatible, ya que una base de datos con varias tablas o capas no puede convertirse fielmente en un único CSV sin seleccionar o combinar primero los datos.
Qué conserva CSV
CSV almacena valores tabulares como columnas separadas por delimitadores. Los programas de hojas de cálculo, R, Python pandas, las utilidades de importación de bases de datos y muchos productos de LIMS/informes pueden leerlo.
CSV puede contener nombres de compuestos, identificadores, SD tags, resultados de ensayos, descriptores calculados y una cadena de estructura como isomeric SMILES o InChI. No puede almacenar de forma nativa una tabla de conectividad SDF, coordenadas moleculares ni el diseño original de los registros. Conserve el SDF original como archivo de estructuras e incluya SMILES cuando el destinatario deba reconstruir las moléculas.
Convertir con Open Babel
Open Babel es una opción local adecuada para una conversión rápida mediante la línea de comandos. Después de instalarlo, ejecute el siguiente comando desde la carpeta que contiene el archivo de origen:
obabel input.sdf -ocsv -O output.csv
Abra el resultado y compruebe sus encabezados, delimitador y propiedades incluidas antes de importarlo en otro lugar. El resultado CSV de Open Babel y el tratamiento de propiedades pueden variar según la versión, por lo que debe utilizar RDKit cuando el sistema receptor requiera nombres de columnas, orden o todos los SD tags exactos.
Convertir con RDKit
Instale RDKit, por ejemplo con conda install -c conda-forge rdkit. El siguiente script crea una fila por cada molécula válida, escribe el título del registro y los SMILES isoméricos, y copia todos los SD tags ordinarios.
from rdkit import Chem
import csv
supplier = Chem.SDMolSupplier("input.sdf", removeHs=False)
rows = []
tags = set()
for mol in supplier:
if mol is None:
continue
properties = list(mol.GetPropNames())
tags.update(properties)
row = {
"Record_name": mol.GetProp("_Name") if mol.HasProp("_Name") else "",
"Isomeric_SMILES": Chem.MolToSmiles(mol, isomericSmiles=True)
}
for tag in properties:
row[tag] = mol.GetProp(tag)
rows.append(row)
columns = ["Record_name", "Isomeric_SMILES"] + sorted(tags)
with open("output.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.DictWriter(file, fieldnames=columns, extrasaction="ignore")
writer.writeheader()
writer.writerows(rows)
Guárdelo como sdf_to_csv.py y ejecute python sdf_to_csv.py. Reemplace columns por una lista fija si un importador exige un esquema o un orden de columnas determinados. RDKit omite los registros que no puede analizar, por lo que debe comparar el número de filas de salida con el número esperado de registros separados por $$$$ e inspeccionar las advertencias de análisis.
Utilizar un flujo de trabajo de escritorio
KNIME Analytics Platform proporciona un flujo de trabajo gráfico y repetible para los usuarios que no desean programar. Utilice un nodo SDF Reader, convierta la columna molecular a SMILES con la integración de RDKit, seleccione las columnas de SD-tag requeridas por el destino y conecte un nodo CSV Writer. Configure el delimitador, el carácter de comillas y la codificación UTF-8 en el escritor.
DataWarrior puede inspeccionar un SDF, exponer los SD tags como columnas, filtrar registros y calcular descriptores antes de la exportación. Confirme el delimitador seleccionado para la exportación de texto e incluya una columna SMILES en lugar de suponer que una tabla exportada conserva las estructuras moleculares.
Servicios en línea y consideraciones sobre la importación
No cargue colecciones de compuestos patentadas, reguladas o grandes en sitios web genéricos de conversión. Muchos convertidores en línea no conservan los SD tags ni las estructuras moleculares. PubChem PUG-REST puede devolver propiedades CSV para PubChem CIDs públicos conocidos, pero no convierte archivos SDF locales arbitrarios ni conserva sus tags originales.
Los campos CSV que contienen comas, comillas o saltos de línea deben estar entre comillas; el módulo csv de Python lo hace automáticamente. Utilice UTF-8 e importe el archivo en Excel mediante Data → From Text/CSV en lugar de abrirlo directamente. Asigne a los identificadores como 00123, los números de registro largos y los valores similares a la notación científica el tipo Text para evitar conversiones numéricas no deseadas.
Los SMILES canónicos generalmente conservan la conectividad molecular definida y la estereoquímica ordinaria, pero no conservan las coordenadas 2D/3D, el diseño del dibujo, toda la información de grupos estereoquímicos mejorados ni todas las características específicas de los registros SDF. Incluya InChI o InChIKey para la coincidencia de identidades cuando sea necesario, pero no trate el nombre de un compuesto como un identificador estructural único.
Software sugerido para convertir sdf a csv
Otras conversiones de archivos .sdf
Conversión inversa
Convertir a .csv
desde otros formatos
- excel a csv
- xlsx a csv
- txt a csv
- xls a csv
- prnx a csv
- ecsv a csv
- lvm a csv
- docx a csv
- bgl a csv
- slk a csv
- 123 a csv
- cwk a csv
- dif a csv
- doc a csv
- gsheet a csv
- gtable a csv
- html a csv
- iwa a csv
- jrprint a csv
- numbers a csv
- ods a csv
- odt a csv
- ott a csv
- oxps a csv
- pdf a csv
- pmd a csv
- rtf a csv
- skv a csv
- sxc a csv
- tsv a csv
- uos a csv
- wk1 a csv
- wk4 a csv
- wpd a csv
- wr1 a csv
- wri a csv
- xfdl a csv
- xlsb a csv
- xlsm a csv