Converti SDF in CSV
Esporta i record chimici SDF, i tag SD e gli SMILES in CSV con Open Babel, RDKit o KNIME.
Crea file CSV online
Non sappiamo ancora leggere i file SDF, quindi questa conversione non è disponibile. Se puoi esportare il tuo lavoro in uno di questi formati o in altri, ne ricaviamo un CSV:
Come convertire sdf in csv file
- Documenti
- Valutazione: 5.0/5
Le librerie di composti vengono spesso fornite come file SDF chimici, ma Excel, le importazioni LIMS, i sistemi di reporting e i loader di database richiedono generalmente una tabella CSV piatta. L'esportazione dei tag SD e di un identificatore della struttura consente a ogni composto di occupare una riga CSV, mantenendo al contempo i dati necessari per il filtraggio o la corrispondenza.
Identificare il tipo di file SDF
Questa procedura si applica a un Structure Data File chimico, chiamato anche file SD. Memorizza una o più tabelle di connessione molecolare (atomi e legami), proprietà denominate facoltative chiamate SD tags e normalmente termina ogni record con $$$$.
ChemDraw, i software BIOVIA, RDKit, Open Babel, gli strumenti di docking, i sistemi di registrazione dei composti e database chimici come PubChem utilizzano file SDF chimici. Un SDF chimico è testo normale e può generalmente essere riconosciuto dai blocchi di atomi/legami e dai separatori $$$$.
L'estensione .sdf è ambigua. Anche i database SQL Server Compact e i file di dati spaziali Autodesk possono utilizzarla; si tratta di database, non di file SD chimici. Esportare una tabella selezionata da SQL Server Compact o un layer spaziale selezionato da software GIS/CAD compatibile, poiché un database con più tabelle o layer non può essere convertito fedelmente in un unico CSV senza prima scegliere o unire i dati.
Cosa conserva il CSV
CSV memorizza valori tabellari in colonne separate da delimitatori. I programmi per fogli di calcolo, R, Python pandas, le utility di importazione dei database e molti prodotti LIMS/reporting possono leggerlo.
CSV può contenere nomi di composti, identificatori, SD tags, risultati di saggi, descrittori calcolati e una stringa della struttura come isomeric SMILES o InChI. Non può memorizzare nativamente una tabella di connessione SDF, le coordinate molecolari o il layout del record originale. Conservare l'SDF originale come archivio della struttura e includere SMILES quando il destinatario deve ricostruire le molecole.
Convertire con Open Babel
Open Babel è un'opzione locale adatta per una rapida conversione dalla riga di comando. Dopo averlo installato, eseguire il comando seguente dalla cartella contenente il file di origine:
obabel input.sdf -ocsv -O output.csv
Aprire il risultato e verificare le intestazioni, il delimitatore e le proprietà incluse prima di importarlo altrove. L'output CSV di Open Babel e la gestione delle proprietà possono variare in base alla versione; utilizzare quindi RDKit quando il sistema di destinazione richiede nomi esatti delle colonne, un ordine specifico o tutti gli SD tags.
Convertire con RDKit
Installare RDKit, ad esempio con conda install -c conda-forge rdkit. Lo script seguente crea una riga per ogni molecola valida, scrive il titolo del record e gli isomeric SMILES e copia ogni SD tag ordinario.
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)
Salvarlo come sdf_to_csv.py ed eseguire python sdf_to_csv.py. Sostituire columns con un elenco fisso se un importatore richiede uno schema o un ordine delle colonne specifico. RDKit ignora i record che non riesce ad analizzare; confrontare quindi il numero di righe di output con il numero previsto di record separati da $$$$ e controllare gli avvisi di analisi.
Utilizzare un workflow desktop
KNIME Analytics Platform fornisce un workflow grafico e ripetibile per gli utenti che non desiderano scrivere script. Utilizzare un nodo SDF Reader, convertire la colonna molecolare in SMILES con l'integrazione RDKit, selezionare le colonne SD-tag richieste dalla destinazione e collegare un nodo CSV Writer. Configurare il delimitatore, il carattere di virgolette e la codifica UTF-8 nel writer.
DataWarrior può esaminare un SDF, esporre gli SD tags come colonne, filtrare i record e calcolare i descrittori prima dell'esportazione. Verificare il delimitatore selezionato per l'esportazione di testo e includere una colonna SMILES invece di presumere che una tabella esportata conservi le strutture molecolari.
Servizi online e considerazioni sull'importazione
Non caricare raccolte di composti proprietarie, soggette a normative o di grandi dimensioni su siti web generici di conversione. Molti convertitori online non conservano gli SD tags o le strutture molecolari. PubChem PUG-REST può restituire proprietà CSV per CID PubChem pubblici conosciuti, ma non converte file SDF locali arbitrari né conserva i relativi tag originali.
I campi CSV contenenti virgole, virgolette o interruzioni di riga devono essere racchiusi tra virgolette; il modulo csv di Python lo fa automaticamente. Utilizzare UTF-8 e importare il file in Excel tramite Data → From Text/CSV invece di aprirlo direttamente. Assegnare agli identificatori come 00123, ai numeri di registro lunghi e ai valori simili alla notazione scientifica il tipo Text per evitare conversioni numeriche indesiderate.
Canonical SMILES generalmente conserva la connettività molecolare definita e la stereochimica ordinaria, ma non conserva le coordinate 2D/3D, il layout del disegno, tutte le informazioni sui gruppi stereochimici avanzati o ogni caratteristica specifica dei record SDF. Includere InChI o InChIKey per la corrispondenza delle identità quando richiesto, ma non trattare il nome di un composto come un identificatore strutturale univoco.
Software e collegamenti suggeriti: convertitori da sdf a csv
Altre conversioni di file .sdf
Conversione inversa
Conversione in .csv
da altri formati
- excel in csv
- xlsx in csv
- txt in csv
- xls in csv
- prnx in csv
- ecsv in csv
- lvm in csv
- docx in csv
- bgl in csv
- slk in csv
- 123 in csv
- cwk in csv
- dif in csv
- doc in csv
- gsheet in csv
- gtable in csv
- html in csv
- iwa in csv
- jrprint in csv
- numbers in csv
- ods in csv
- odt in csv
- ott in csv
- oxps in csv
- pdf in csv
- pmd in csv
- rtf in csv
- skv in csv
- sxc in csv
- tsv in csv
- uos in csv
- wk1 in csv
- wk4 in csv
- wpd in csv
- wr1 in csv
- wri in csv
- xfdl in csv
- xlsb in csv
- xlsm in csv