04 03 2010 chemoinformatics Tweet
単にIDをキーにしてsdf呼び出すだけだったらKVSで良くね?と思ったところ、そういえばTokyoCabinetのPythonバインディングがあることを思い出したので、ちょっと試してみた。
データはこの時に落としておいたsdf
import pybel
import pytc
sdffile = "pc_sample.sdf"
db = pytc.HDB('compounds.db', pytc.HDBOWRITER | pytc.HDBOCREAT)
mols = pybel.readfile("mol",sdffile)
for mol in mols:
title = mol.OBMol.GetTitle()
db[title] = mol.write("mol")
100万化合物くらいなら全部メモリに載せられそうな感じ。そしたら速いよねー、CouchDBも気になってきた。