YASARA : 今日のマクロ 「convert3D.mcr」

2020年9月17日木曜日

【YASARA】

t f B! P L

 2D SDFファイルを3D SDFファイルへ変換するサンプル・マクロを作成しました.

 

ShowWinコマンドを使用しているのでコンソールモードでは動作しません.
YASARA GUIのOptions > Macro&Movie > Play macroから保存したマクロを読み込んでください.

一度に複数の2D SDFファイルを読み込むことができ,マクロ終了後は"*_3D.sdf"として3D SDFfileが保存されます.
2D SDFファイルではなく,SMILESファイルを入力とする場合,ユーザーマニュアルのBuildSMILESコマンドの説明を参照してください.

 

# Example Macro : convert3D.mcr
# Convert SDF from 2D to 3D, with Experiment Minimization

Clear
Console off

files,filelist() =
  ShowWin Type=FileSelection,Title="Select 2D SDF files converting to 3D",
          MultipleSelections=Yes,Filename="*.sdf"

#Print 'These are the (files) selected files:'
#if files
#  Print (filelist)

for file in filelist
  LoadSDF (file)
  MacroTarget (file), Remove=Extension
  objlist() = ListObj all
  RemoveAll
  for i in objlist
    AddObj (i)
    name = CompoundMol all Obj (i)
    CompoundMol all Obj (i), '(name)'
    InflateObj (i)
    CleanObj (i)
    Cell Auto,Extension=10
    ForceField NOVA,SetPar=yes
    Experiment Minimization
    Experiment On
    Wait ExpEnd
    # Optimize with MOPAC to fine-tune geometry
    OptimizeObj (i)
    RemoveObj (i)
  AddObj all
  SaveSDF (join objlist), (MacroTarget)_3D.sdf
  Clear

 

実行例


 

 

 

code-prettify

このブログを検索

ページビューの合計

人気の投稿

QooQ