2008-01-01から1年間の記事一覧
現在の創薬シーンにおいてはフラグメントベースのドラッグデザイン(FBDD)やそれをcomputational的に行うのは主流に近いと思います。 ランダムに結合を切る方法としてhttp://www.ncbi.nlm.nih.gov/pubmed/16995724というのがあるのでopenbabelを使って簡単に…
化合物の物性などを予測する時には、イオン化の状態を揃えて中性にしたり脱塩して、単一の化合物にするというルーチンワークが必須です。openbabelにはそのためのメソッドとしてStripSaltというものが用意されています。例として以下の化合物の脱塩をしてみ…
pybelはcalcdescメソッドでlogP,MR,TPSAを計算することができます import pybel mol = pybel.readstring('smi','COC=C') mol.calcdesc() #{'LogP': 0.77629999999999999, # 'MR': 17.146000000000001, # 'TPSA': 9.2300000000000004} mol.OBMol.GetExactMass…
Inline::Pythonというモジュールを使うとPythonのコードをperlに埋め込むことができます。 use Inline Python => <<'END'; import pybel def draw_png(smiles,file): mymol = pybel.readstring('smi',smiles) mymol.draw(filename=file, show=False) END dra…
InChiKeyはInChiを固定長の文字列(25文字)で表現したもので、化合物表現ではなく単なるハッシュ値が欲しい時に便利です。特に、化合物の大きさによらず固定長の文字列となるので見た目にもよろしいです。openbabelモジュールを利用する場合には'K'オプション…
pybelには簡単に構造描画をするためのメソッドが用意されています。ただし、このメソッドを使うためにはPILとOASAの2つのライブラリが必要なので別途インストールしておきましょう。 import pybel mymol = pybel.readstring('smi','CCOC(=O)C1=C(NC(=C(C1C2=…
pybelはopenbabelのpythonラッパーをもっとpythonらしく書けるようにしたラッパー関数群です。openbabel-2.2.0に付属しているpybelはmake3Dというメソッドが利用できるのでこれを使うとopenbabelラッパーより見通しのよいコードの記述ができます import pybe…
openbabel-2.2.0のpythonバインディングはOBBuilderを呼べないのでラッパーを使います。OBOp.FindType('Gen3D')がそれです。 import openbabel obConversion = openbabel.OBConversion() obConversion.SetInAndOutFormats("smi", "mdl") mol = openbabel.OBM…
SMILESだと構造の一意性が保証されず、重複が出てしまったりと何かと不便なところがありますが、InChiではそのようなことがないのです。openbabelに同梱されているperlバインディングを利用すれば、InChiの入出力ができます。 use Chemistry::OpenBabel; my …