Převod souboru SDF do CSV
Exportujte chemické SDF records, SD tags a SMILES do CSV pomocí Open Babel, RDKit nebo KNIME.
Vytvořte soubory CSV online
Soubory SDF zatím číst neumíme, takže tenhle převod nenabízíme. Pokud dokážete svou práci uložit do některého z těchto formátů nebo dalších, CSV z něj vyrobíme:
Jak převést soubor sdf do formátu csv
- Dokumenty
- Hodnocení: 5.0/5
Knihovny sloučenin jsou často dodávány jako chemické soubory SDF, ale Excel, importy LIMS, reportingové systémy a nástroje pro načítání databází obvykle vyžadují plochou tabulku CSV. Export SD tagů a identifikátoru struktury umožní, aby každá sloučenina zabírala jeden řádek CSV a přitom si zachovala data potřebná pro filtrování nebo párování.
Určení typu souboru SDF
Tento postup se vztahuje na chemický Structure Data File, označovaný také jako soubor SD. Ukládá jednu nebo více tabulek molekulárních vazeb (atomy a vazby), volitelné pojmenované vlastnosti nazývané SD tags a každý záznam běžně ukončuje sekvencí $$$$.
Chemické soubory SDF používají ChemDraw, software BIOVIA, RDKit, Open Babel, nástroje pro docking, systémy pro registraci sloučenin a chemické databáze, jako je PubChem. Chemický soubor SDF je prostý text a obvykle jej lze rozpoznat podle bloků atomů/vazeb a oddělovačů $$$$.
Přípona .sdf je nejednoznačná. Mohou ji používat také databáze SQL Server Compact a soubory prostorových dat Autodesk; jedná se o databáze, nikoli o chemické soubory SD. Exportujte vybranou tabulku ze SQL Server Compact nebo vybranou prostorovou vrstvu z kompatibilního GIS/CAD softwaru, protože databázi s více tabulkami nebo vrstvami nelze věrně převést do jednoho CSV bez předchozího výběru nebo spojení dat.
Co CSV zachovává
CSV ukládá tabulkové hodnoty do sloupců oddělených oddělovačem. Mohou jej číst tabulkové procesory, R, Python pandas, nástroje pro import do databází a mnoho produktů LIMS/reportingu.
CSV může obsahovat názvy sloučenin, identifikátory, SD tagy, výsledky testů, vypočtené deskriptory a řetězec struktury, například isomeric SMILES nebo InChI. Nativně do něj nelze uložit tabulku vazeb SDF, molekulární souřadnice ani původní rozvržení záznamu. Původní SDF uchovávejte jako archiv struktur a zahrňte SMILES, pokud příjemce potřebuje molekuly znovu sestavit.
Převod pomocí Open Babel
Open Babel je vhodnou lokální možností pro rychlý převod z příkazového řádku. Po jeho instalaci spusťte následující příkaz ze složky obsahující zdrojový soubor:
obabel input.sdf -ocsv -O output.csv
Otevřete výsledek a před jeho importem na jiné místo ověřte záhlaví, oddělovač a zahrnuté vlastnosti. Výstup CSV z Open Babel a zpracování vlastností se mohou v jednotlivých verzích lišit, proto použijte RDKit, pokud přijímající systém vyžaduje přesné názvy sloupců, jejich pořadí nebo všechny SD tagy.
Převod pomocí RDKit
Nainstalujte RDKit, například pomocí conda install -c conda-forge rdkit. Následující skript vytvoří jeden řádek pro každou platnou molekulu, zapíše název záznamu a isomeric SMILES a zkopíruje všechny běžné SD tagy.
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)
Uložte jej jako sdf_to_csv.py a spusťte python sdf_to_csv.py. Nahraďte columns pevným seznamem, pokud importér vyžaduje konkrétní schéma nebo pořadí sloupců. RDKit přeskakuje záznamy, které nedokáže analyzovat, proto porovnejte počet řádků výstupu s očekávaným počtem záznamů oddělených sekvencí $$$$ a zkontrolujte varování týkající se analýzy.
Použití desktopového pracovního postupu
KNIME Analytics Platform poskytuje grafický, opakovatelný pracovní postup pro uživatele, kteří nechtějí skriptovat. Použijte uzel SDF Reader, pomocí integrace RDKit převeďte sloupec molekul na SMILES, vyberte sloupce SD tagů požadované cílovým systémem a připojte uzel CSV Writer. V nástroji pro zápis nastavte oddělovač, znak pro uzavření textu a kódování UTF-8.
DataWarrior dokáže prohlížet soubor SDF, zpřístupnit SD tagy jako sloupce, filtrovat záznamy a před exportem vypočítat deskriptory. Ověřte zvolený oddělovač textového exportu a zahrňte sloupec SMILES, místo abyste předpokládali, že exportovaná tabulka zachová molekulární struktury.
Online služby a úskalí importu
Nenahrávejte proprietární, regulované nebo rozsáhlé kolekce sloučenin na obecné webové konvertory. Mnoho online konvertorů nezachovává SD tagy ani molekulární struktury. PubChem PUG-REST může vracet vlastnosti CSV pro známé veřejné PubChem CID, ale nepřevádí libovolné lokální soubory SDF ani nezachovává jejich původní tagy.
Pole CSV obsahující čárky, uvozovky nebo zalomení řádků musí být uzavřena v uvozovkách; Pythoní modul csv to provádí automaticky. Použijte UTF-8 a soubor v Excelu importujte přes Data → From Text/CSV, místo abyste jej přímo otevírali. Identifikátorům, jako jsou 00123, dlouhá registrační čísla a hodnoty podobné vědeckému zápisu, přiřaďte typ Text, abyste zabránili nežádoucímu převodu na čísla.
Canonical SMILES obecně zachovává definovanou molekulární konektivitu a běžnou stereochemii, nezachovává však 2D/3D souřadnice, rozvržení kresby, všechny rozšířené informace o stereochemických skupinách ani všechny specifické vlastnosti záznamu SDF. Pro párování identity podle potřeby zahrňte InChI nebo InChIKey, ale nepovažujte název sloučeniny za jedinečný strukturní identifikátor.
Navrhovaný software pro převod sdf do csv
Podobné .sdf konverze
Reverzní konverze
Konverze do .csv
z jiných formátů
- excel do csv
- xlsx do csv
- txt do csv
- xls do csv
- lvm do csv
- prnx do csv
- ecsv do csv
- docx do csv
- bgl do csv
- slk do csv
- 123 do csv
- cwk do csv
- dif do csv
- doc do csv
- gsheet do csv
- gtable do csv
- html do csv
- iwa do csv
- jrprint do csv
- numbers do csv
- ods do csv
- odt do csv
- ott do csv
- oxps do csv
- pdf do csv
- pmd do csv
- rtf do csv
- skv do csv
- sxc do csv
- tsv do csv
- uos do csv
- wk1 do csv
- wk4 do csv
- wpd do csv
- wr1 do csv
- wri do csv
- xfdl do csv
- xlsb do csv
- xlsm do csv