Přeskočit na obsah

Převod souboru CSV do SDF

Převeďte chemické záznamy CSV obsahující SMILES nebo InChI do validovaných souborů SDF.

Převádějte soubory CSV online

Pro převod CSV do SDF zatím vlastní online konvertor nemáme, ale soubory CSV můžete online převést do těchto a dalších formátů:

Chcete převádět CSV na SDF?

Dejte nám vědět. Podle zájmu vybíráme, které převody přidáme jako další.

Jak převést soubor csv do formátu sdf

Laboratorní a cheminformatické programy často vyžadují soubor SDF, když tabulkový procesor, přístroj nebo databáze exportuje záznamy sloučenin jako CSV. Převod funguje pouze tehdy, když CSV obsahuje reprezentaci chemické struktury, například SMILES; samotné názvy, vzorce a hodnoty měření nemohou vytvořit molekulární geometrii.

Co je formát CSV

CSV je tabulkový formát prostého textu, ve kterém jsou záznamy odděleny konci řádků a pole jsou oddělena čárkami nebo jiným oddělovačem. Excel, LibreOffice Calc, laboratorní přístroje, systémy pro správu zásob, databáze a skripty běžně vytvářejí soubory CSV.

Chemické CSV může obsahovat sloupce jako ID, Name, SMILES, InChI, Formula, CAS a naměřené vlastnosti. Před importem určete oddělovač, pravidla pro uvozovky, kódování znaků, formát desetinných čísel, názvy záhlaví a sloupec se strukturou. CSV obsahující pouze názvy, vzorce nebo registrační čísla vyžaduje před vytvořením souboru se strukturami vyhledání v externí chemické databázi.

Co je formát SDF

V cheminformatice znamená SDF Structure Data File, označovaný také jako SD file. Každý záznam obsahuje blok struktury Molfile následovaný označenými poli vlastností, například > <ID> a > <Activity>. Záznamy končí řádkem obsahujícím $$$$.

SDF může v jednom souboru ukládat konektivitu atomů a vazeb, formální náboje, stereochemii, 2D nebo 3D souřadnice a metadata sloučenin. Na rozdíl od běžného tabulkového procesoru reprezentuje molekulární graf vyžadovaný mnoha chemickými editory, registračními systémy, nástroji pro screening a modelovacími programy. Názvy vlastností SDF a podporované verze Molfi le se mezi aplikacemi liší, proto je třeba ověřit požadavky cílového programu.

Přípona .sdf může také označovat databázi SQL Server Compact. Níže uvedené postupy se vztahují na chemický formát Structure Data File; soubor SQL Server Compact vyžaduje export databáze nebo migraci dat na úrovni tabulek.

Převod souboru pomocí DataWarrior

  1. Ujistěte se, že CSV obsahuje platný sloupec SMILES, InChI nebo jiný zápis podporovaný softwarem. Identifikátory a hodnoty vlastností ponechte ve stejném řádku jako příslušnou strukturu.
  2. Otevřete DataWarrior a zvolte File → Open, poté vyberte CSV. V dialogu importu nastavte oddělovač, kódování textu, formát desetinných čísel a zpracování polí v uvozovkách.
  3. Ověřte, že DataWarrior klasifikoval sloupec se strukturami jako chemické struktury, nikoli jako běžný text. Zkontrolujte neplatné, prázdné a neočekávaně odpojené položky.
  4. Zvolte File → Save Special → SD-file a pokud k tomu budete vyzváni, vyberte sloupce struktur a metadat, které chcete exportovat. Výsledek uložte s příponou .sdf.
  5. Výstup znovu otevřete v DataWarrior nebo v jiné chemické aplikaci. Zkontrolujte několik struktur, stereocenter, náboje, souřadnice a hodnoty vlastností.

DataWarrior je praktická lokální grafická volba pro soubory střední velikosti, protože dokáže interpretovat chemické sloupce, zobrazovat struktury a exportovat soubory SD. Názvy nabídek se mohou mezi jednotlivými verzemi lišit.

Opakovatelný převod pomocí Pythonu a RDKit

RDKit je vhodný pro automatizované převody nebo převody velkých souborů. Tento příklad očekává soubor oddělený čárkami se sloupcem SMILES a volitelným sloupcem ID. Každý další neprázdný sloupec se stane vlastností SDF.

import csv
import sys
from rdkit import Chem

source, target = sys.argv[1], sys.argv[2]
reader = csv.DictReader(open(source, newline='', encoding='utf-8-sig'))
writer = Chem.SDWriter(target)

for row_number, row in enumerate(reader, start=2):
    smiles = (row.get('SMILES') or '').strip()
    molecule = Chem.MolFromSmiles(smiles)
    if molecule is None:
        print(f'Skipping row {row_number}: invalid SMILES', file=sys.stderr)
        continue
    for key, value in row.items():
        if key and key != 'SMILES' and value not in (None, ''):
            molecule.SetProp(key, value)
    writer.write(molecule)

writer.close()

Nainstalujte RDKit prostřednictvím Condy, uložte kód jako csv_to_sdf.py a spusťte:

python csv_to_sdf.py input.csv output.sdf

Skript analyzuje konektivitu a chemické atributy ze SMILES, ale negeneruje souřadnice. Přidejte generování souřadnic pomocí RDKit, například souřadnic pro 2D zobrazení, nebo použijte chemický editor, pokud cílová aplikace vyžaduje 2D nebo 3D souřadnice. Upravte konfiguraci čtečky, pokud zdroj používá středník, tabulátor nebo jiný oddělovač.

Použití Open Babel po předzpracování

Open Babel převádí rozpoznávané chemické textové formáty, ale nejde o univerzální importér tabulek CSV. Nejprve extrahujte sloupec se strukturami do souboru SMILES a identifikátory a vlastnosti zachovejte pomocí samostatného skriptu nebo nástroje, který je podporuje. Poté vygenerujte SDF pomocí:

obabel compounds.smi -O output.sdf --gen2D

Parametr --gen3D použijte pouze tehdy, pokud jsou přijatelné vypočtené konformace; vygenerované souřadnice nejsou experimentální měření a nemusí představovat preferovanou konformaci.

Online možnosti pro veřejná data

Obecné online převodníky souborů obvykle pouze přejmenují nebo znovu zabalí text a nedokážou ověřovat SMILES, rozpoznávat identifikátory ani zachovat chemickou stereochemii. U malého seznamu ne důvěrných veřejných sloučenin použijte chemický resolver, například NIH Chemical Identifier Resolver nebo PubChem PUG REST, a načtěte záznamy SDF z názvů, čísel CAS, CID nebo jiných podporovaných identifikátorů. Tyto služby jsou rozhraní pro vyhledávání, nikoli spolehlivé převodníky CSV na SDF pro hromadné zpracování; obvykle je zapotřebí skript, který odešle každý řádek, zpracuje neúspěšná vyhledání a spojí vrácené záznamy. Bez schválení nenahrávejte do online služby proprietární struktury, data z testů ani regulované záznamy.

Kontroly kvality a kompatibility

  • Počet záznamů: porovnejte počet platných vstupních struktur s počtem záznamů SDF a uchovejte zprávu o přeskočených nebo nevyřešených řádcích.
  • Kontrola chemické interpretace: chybné SMILES, nepodporované valenční stavy, chybějící náboje, rozdíly mezi tautomer y a nejednoznačná nebo ztracená stereochemie mohou změnit výslednou molekulu.
  • Kontrola souřadnic: SMILES obvykle popisuje konektivitu, nikoli souřadnice. Cíl, který zobrazuje nebo používá 3D pozice k výpočtům, může vyžadovat generování souřadnic a optimalizaci pomocí silového pole.
  • Ochrana tabulkových hodnot: tabulkové procesory mohou odstranit úvodní nuly, převést dlouhé identifikátory do vědeckého zápisu, změnit data a upravit desetinné oddělovače. Exportujte CSV v UTF-8 a pole obsahující čárky, konce řádků nebo uvozovky uzavírejte do uvozovek.
  • Kontrola kompatibility vlastností: názvy polí SDF nejsou zcela standardizované. Duplicitní názvy, interpunkce, mezery, délka polí, datové typy a podpora verze Molfi le mohou způsobit chyby při importu.
  • Nezávislé ověření: otevřete výstup v druhé chemické aplikaci a zkontrolujte reprezentativní soli, směsi, izotopy, náboje, stereocentra a záznamy obsahující dlouhé nebo víceřádkové vlastnosti.

Informace o příponách a typech souborů poskytuje File-Extensions.org

Často kladené otázky

Zachovají se při převodu chemického CSV do SDF moje struktury SMILES nebo InChI?

Platné záznamy SMILES nebo InChI lze analyzovat a převést na molekulární struktury SDF včetně chemické konektivity, kterou popisují. Neplatné nebo nejednoznačné záznamy nemusí projít validací nebo mohou být vynechány a informace, které nejsou ve zdrojovém řetězci zastoupeny, například souřadnice, z něj nelze obnovit.

Zachovají se při převodu z CSV do SDF sloupce?

Mohou být zachovány jako pole vlastností SDF, pokud převod správně namapuje sloupce. Názvy sloupců, chybějící hodnoty, čárky uvnitř polí v uvozovkách a víceřádkový text mohou způsobit rozdělení, přejmenování nebo nesprávné načtení vlastností.

Vytváří převod CSV do SDF 2D nebo 3D souřadnice?

Ne nutně; SMILES a InChI popisují identitu molekuly, ale obecně neposkytují její nákres ani 3D konformaci. Souřadnice jsou k dispozici pouze tehdy, pokud je proces převodu vygeneruje nebo pokud CSV již obsahuje použitelná data souřadnic.

Proč při převodu CSV do SDF některé molekuly chybí nebo jsou odmítnuty?

Řádky jsou běžně odmítnuty, když je SMILES nebo InChI chybně naformátovaný, neúplný, chemicky neplatný nebo jej nelze konzistentně interpretovat. Problémy s kódováním, nesprávné oddělovače, duplicitní záhlaví a čárky v uvozovkách mohou také způsobit, že platné záznamy budou při analýze CSV vypadat jako neplatné.

Podobné .csv konverze

Reverzní konverze

Konverze do .sdf
z jiných formátů

Sdílejte na sociálních sítích:

Soubor už byl stažen

Tento soubor už byl stažen. Kvůli ochraně soukromí jsme ho hned po stažení smazali ze serveru, takže ho nejde stáhnout znovu. Pokud ho potřebujete ještě jednou, převeďte soubor znovu.