Konwertuj SDF na CSV
Eksportuj chemiczne rekordy SDF, tagi SD oraz SMILES do CSV za pomocą Open Babel, RDKit lub KNIME.
Twórz pliki CSV online
Nie potrafimy jeszcze odczytać plików SDF, więc tej konwersji nie oferujemy. Jeśli możesz wyeksportować swoją pracę do jednego z tych lub innych formatów, zrobimy z niego CSV:
Jak konwertować sdf do csv
- Dokumenty
- Ocena: 5.0/5
Biblioteki związków są często dostarczane jako chemiczne pliki SDF, ale programy Excel, importy LIMS, systemy raportowania i moduły ładowania baz danych zwykle wymagają płaskiej tabeli CSV. Eksportowanie tagów SD i identyfikatora struktury pozwala umieścić każdy związek w jednym wierszu CSV, zachowując dane potrzebne do filtrowania lub dopasowywania.
Określanie typu pliku SDF
Ta procedura dotyczy chemicznego Structure Data File, nazywanego również plikiem SD. Przechowuje on jedną lub więcej tabel połączeń molekularnych (atomów i wiązań), opcjonalne nazwane właściwości zwane tagami SD i zwykle kończy każdy rekord ciągiem $$$$.
ChemDraw, oprogramowanie BIOVIA, RDKit, Open Babel, narzędzia do dokowania, systemy rejestracji związków i chemiczne bazy danych, takie jak PubChem, używają chemicznych plików SDF. Chemiczny plik SDF jest zwykłym tekstem i zazwyczaj można go rozpoznać po blokach atomów/wiązań oraz separatorach $$$$.
Rozszerzenie .sdf jest niejednoznaczne. Mogą go również używać bazy danych SQL Server Compact oraz pliki danych przestrzennych Autodesk; są to bazy danych, a nie chemiczne pliki SD. Wyeksportuj wybraną tabelę z SQL Server Compact albo wybraną warstwę przestrzenną z kompatybilnego oprogramowania GIS/CAD, ponieważ bazy danych zawierającej wiele tabel lub warstw nie można wiernie przekonwertować do jednego pliku CSV bez wcześniejszego wybrania danych lub ich połączenia.
Co zachowuje CSV
CSV przechowuje wartości tabelaryczne jako kolumny rozdzielane separatorem. Programy arkuszy kalkulacyjnych, R, Python pandas, narzędzia do importu baz danych oraz wiele produktów LIMS i systemów raportowania może je odczytywać.
CSV może zawierać nazwy związków, identyfikatory, tagi SD, wyniki testów, obliczone deskryptory oraz ciąg struktury, taki jak isomeric SMILES lub InChI. Nie może natywnie przechowywać tabeli połączeń SDF, współrzędnych molekularnych ani oryginalnego układu rekordów. Zachowaj oryginalny plik SDF jako archiwum struktur i dołącz SMILES, jeśli odbiorca musi odtworzyć cząsteczki.
Konwertowanie za pomocą Open Babel
Open Babel jest odpowiednią lokalną opcją do szybkiej konwersji z wiersza poleceń. Po zainstalowaniu uruchom następujące polecenie w folderze zawierającym plik źródłowy:
obabel input.sdf -ocsv -O output.csv
Otwórz wynik i sprawdź nagłówki, separator oraz uwzględnione właściwości przed zaimportowaniem go w innym miejscu. Dane wyjściowe CSV Open Babel i obsługa właściwości mogą różnić się w zależności od wersji, dlatego użyj RDKit, gdy system odbiorczy wymaga dokładnych nazw kolumn, określonej kolejności lub wszystkich tagów SD.
Konwertowanie za pomocą RDKit
Zainstaluj RDKit, na przykład za pomocą conda install -c conda-forge rdkit. Poniższy skrypt tworzy jeden wiersz dla każdej prawidłowej cząsteczki, zapisuje tytuł rekordu i izomeryczny SMILES oraz kopiuje każdy zwykły tag SD.
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)
Zapisz go jako sdf_to_csv.py i uruchom poleceniem python sdf_to_csv.py. Zastąp columns stałą listą, jeśli moduł importu wymaga określonego schematu lub kolejności kolumn. RDKit pomija rekordy, których nie może przeanalizować, dlatego porównaj liczbę wierszy wynikowych z oczekiwaną liczbą rekordów rozdzielonych ciągiem $$$$ i sprawdź ostrzeżenia dotyczące analizy.
Korzystanie z graficznego interfejsu
KNIME Analytics Platform zapewnia graficzny, powtarzalny przepływ pracy dla użytkowników, którzy nie chcą pisać skryptów. Użyj węzła SDF Reader, przekonwertuj kolumnę molekularną na SMILES za pomocą integracji RDKit, wybierz kolumny tagów SD wymagane przez miejsce docelowe i połącz je z węzłem CSV Writer. Skonfiguruj separator, znak cudzysłowu i kodowanie UTF-8 w module zapisującym.
DataWarrior może analizować plik SDF, udostępniać tagi SD jako kolumny, filtrować rekordy i obliczać deskryptory przed eksportem. Sprawdź wybrany separator eksportu tekstowego i dołącz kolumnę SMILES, zamiast zakładać, że wyeksportowana tabela zachowuje struktury molekularne.
Usługi online i kwestie związane z importem
Nie przesyłaj zastrzeżonych, regulowanych ani dużych kolekcji związków do ogólnych serwisów konwersji. Wiele konwerterów online nie zachowuje tagów SD ani struktur molekularnych. PubChem PUG-REST może zwracać właściwości CSV dla znanych publicznych CID PubChem, ale nie konwertuje dowolnych lokalnych plików SDF ani nie zachowuje ich oryginalnych tagów.
Pola CSV zawierające przecinki, cudzysłowy lub znaki końca wiersza muszą być ujęte w cudzysłowy; moduł csv języka Python robi to automatycznie. Użyj kodowania UTF-8 i importuj plik w programie Excel za pomocą opcji Data → From Text/CSV, zamiast otwierać go bezpośrednio. Przypisz identyfikatorom takim jak 00123, długim numerom rejestrowym i wartościom przypominającym zapis naukowy typ Text, aby zapobiec niepożądanej konwersji liczbowej.
Kanoniczny SMILES zazwyczaj zachowuje określoną łączność molekularną i zwykłą stereochemię, ale nie zachowuje współrzędnych 2D/3D, układu rysunku, wszystkich rozszerzonych informacji o grupach stereochemicznych ani każdej funkcji specyficznej dla rekordu SDF. W razie potrzeby dopasowywania tożsamości dołącz InChI lub InChIKey, ale nie traktuj nazwy związku jako unikatowego identyfikatora struktury.
Sugerowane oprogramowanie i linki: konwertery sdf na csv
Dodatkowe formaty dla konwersji pliku
sdf
Konwersja odwrotna
Konwersja do .csv
z innych formatów
- 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