Presentation is loading. Please wait.

Presentation is loading. Please wait.

FMO計算支援ソフトウェア”FU"の使い方

Similar presentations


Presentation on theme: "FMO計算支援ソフトウェア”FU"の使い方"— Presentation transcript:

1 FMO計算支援ソフトウェア”FU"の使い方
FMO講習会@CMSI神戸 平成25年9月27日 FUは、fumodelとfuplotの2つのプログラムからなる 1. fumodel: fumodelは、タンパク質の構造モデルとFMO   入力データの作成支援を行うソフトウェア。GAMESSの   実行機能もある。 2. fuplot: fuplotはGAMESSによるFMO計算の結果を   グラフにするソフトウェア。 始めにUSBから、"fu-27Sep2013-1"のフォルダをc:\ドライブ(c:\)にコピーしてください

2 ”FU"の特徴 *オープンソースソフトウェアとして公開している *数万原子程度のタンパク質を操作するための多くの機能を 備えている
 備えている *pythonで書かれているため、実行時にpythonの命令を実  行することができる。すなわち、プログラムを改変することな  く、一時的な処理を行ったり、これらをscriptとして保存して  再利用することができる(新しい機能の追加)

3 初期設定scrip: 'fumodelset.py'でカスタマイズできる(拡張子".py"はpythonのプログラム)。
##1 for setting main window size: default=(800 ,640), uncomment the next line #fumodel.winsize = (640, 400) ##2 for setting pycust window size: default=(600, 250), uncomment the next line #fumodel.crustwinsize= (640, 200) ##3 for change background color, uncomment one of the following two lines #fumodel.frame.view.bgcolor=[0.0, 0.0 ,0.5, 1.0] # navy #fumodel.frame.view.bgcolor=[1.0, 1.0, 1.0, 1.0] # white ##4 for set autoaddhydrogen=False, uncomment the following line fumodel.AutoAddHydrogen(False) ##5 Open Control panel. uncomment the followinf line #fumodel.OpenControlPanel() ##6 Add "Script" menu on main window. follow the following format exactly ! # format: [ ['script file name','comment',checkable],...] # uncomment the following six lines. fumodel.scriptmenuitem=[ ['plot_b_factor.py','Plot B-factor in PDB data',False], # Plot B-factor using MatPlotLib ['short_contact_atoms.py','List short contactd atoms',False], # Short contact atoms ['draw_pmi_vector.py','Draw principal moment vectoes',False], # draw arrow in canvas ['read_layer_dat.py','Read layer data',False], # ['write_layer_dat.py','Write layer data',False], #['orientate_h-o-bond.py','orientate H-O bonds to make hydrogen bons',False], # ['read_tinker_xyz.py','read tinker xyz file',False], # ['flatten_mol.py','Flatten molecules',False], # as many as you want ]

4 fumodelプログラムの機能と使い方 5-1 操作の基本  (原子の選択と操作)  本ソフトウェアは、基本的に、選択状態(Menu:"Select"、またはマウス操作)にした原子(集団)を対象に各種操作を行う。選択された原子がない場合は、全原子を対象とする。  (原子の表示と非表示)  原子(集団)の表示・非表示(Nenu:"Show")が設定できる。表示状態にある原子集団のみを各種操作の対象とする。

5 5-2 マウス操作およびキーボードとマウスの組み合わせ操作
(回転、併進、ズーム)  1)原子上以外の点からマウスを左ドラッグ(LDrug)すると、表示物を回転(併進、拡大)する。   ①MusMode boxで、"rotate","translate","zoom"を切り替える。"zoom"はマウスのホイールでも操作できる。また、"z"キーを押すと、"rotate"と"translate"と交互に遷移する。   (関連)表示物をスクリーンサイズにフィットするように拡大・縮小するには、"f"キーを押下、または、メニューから"Show"-"Fit to screen"を実行する。   2)原子上以外の点からマウスをCtrlキーを押しながら右ドラッグ(Ctrl+RDrug)すると、選択原子集団のみを併進または回転する。併進と回転の切り替えは1)と同じ。   (注)Ctrl+RDrug操作を行うと原子の座標(構造)が変る。

6 (選択状態の設定と解除) 選択状態は、原子またはその集団(対象物)に対して設定・解除する。選択状態にある原子は、選択色(defaultは緑色)で表示される。  ①原子上で左クリック(LClick)すると対象物が選択状態になる。   (関連)対象物として、"atom", "residure", "chain", "group", "fragment"を 設定できる(menu"Select"-"Object"またはSelObject boxで切り替える)。  ②Ctrlキーを押しながら左ドラッグ(Ctrl+LDrug)するとドラッグ領域内の対象 物が選択状態になる。   *原子上からLDrugすると、その原子を中心とする球内の対象物が選択 状態になる。   *原子上以外の点からLDrugすると、矩形内の対象物が選択状態になる  ③右クリック(RClick)で選択状態が解除される。   *原子上でクリックすると、その対象物のみが選択解除される。   *原子上以外の点でクリックすると、全原子が選択解除される。

7 (選択対象物と選択数)    ①対象物として、"atom", "residure", "chain", "group", "fragment"が設定できる。これらの切り替えは、メインウインドウのSelObject boxか、または、Menuの"Select"-"Object"で行う。   ②選択数は、メインウインドウのSelMode boxで、"single','dual','triple', 'multiple'のいずれかを選択する。 ③対象物が原子の場合、選択数'single'で原子をLClickすると原子名、'double'で2原子をLClickするとそれらの原子間距離、'triple'で3原子をLClickすると1-2-3(クリックの順番)の角度がStatusbarに表示される。  (関連1)Menu:"Show"-"Distance"がonの場合、自働的に対象物が"atom"、選択数が"dual"に設定される。この状態で、連続した2原子をLClickするとそれらの原子間距離が描画領域に表示される(表示を消すには、対応する2原子をLClickする)。 (関連2)Menu:"FMO"-"Fragmentation(manual)"-"BDA setting"をonにした場合、自働的に選択対象物が'atom'、選択数が"dual"に変更される。2原子連続LClickで1番目の選択原子がBDAに、2番目の選択原子がBAAとなり、画面に緑色の丸で表示される。BDAを削除するには、対応するBDA,BAA原子をこの順番でLClickする。BDA表示を消すには、Menu:"FMO"-"Show"-"BDA points"(トグル)をoffにする。

8 fumodel の使い方の概要 1) fumodel.exeを実行する

9 2) 'File'-'Open'メニューで'pdb1fkf.ent'ファイルを開く。
(the background color of window was changed in the following figures)

10 3) 'Del'-'Waters'メニューを実行して水分子を削除する

11 4) 'Select'-'Non-AA Residue' メニューを実行して非アミノ酸残基を選択する。選択された原子(集団)は緑で表示される

12 5) 'File'-'Open'メニューを実行して "fk5.mht" ファイルを読み込む

13 6) 'Add'-'H to non-AA residue'-'Use frame data'メニューを実行してfk506分子に水素原子を付加する

14 7) 原子の無い位置で右クリック(RClick)して選択を解除する
8) 'FMO'-'Fragmentation(auto)'-'AA Residue/1res'メニューを実行してポリペプチドを 1残基/1フラグメントに分割する.リガンドは分割しない (リガンドを分割する仕方は付録の例4にある)

15 9) 'FMO'-'Make GAMESS input'メニューを実行して"GAMESS/FMO Input Assistant"パネルを開く

16 10) 基底関数を選択して、パネルの下方にある "Apply"ボタンを押すと、 FMO計算の入力データが作成される。必要なら、"Edit file"ボタンを押すと"メモ帳 "が開いて入力データを編集できる

17 fuplot の使い方の概要 このプログラムはFMO Version 4.3 in GAMESS VERSION 1 MAY 2013 (R1)のアウトプットを読み込んでグラフにする。 1) fuplot.exeを実行する

18 2) 'File'-'Open'メニューを実行する。真ん中の窓で、 fkbp_fk506. out,fkbp. out, and fk506
2) 'File'-'Open'メニューを実行する。真ん中の窓で、 fkbp_fk506.out,fkbp.out, and fk506.out (これら3つのFMO計算が終わっているとする) をクリックすると"Selected"窓に".pdb",".inp",".out"のファイルがセットで表示される。右パネルの下方の"Open"ボタンをクリックするとこれらのファイルが読み込まれる

19 3) 読み込みが終わるとfuplotのメインウィンドウに戻って、"Data list"窓に”分子名”(ファイル名のベース名)が表示される

20 4) "Data list"窓で、プロットする分子をひとつクリックする。パネルの左の "Selected for plot"窓でプロットする"property"をチェックする。
"Plot"ボタンを押すと "Plot PIEDA"パネル(PIEDAをチェックした場合) がオープンする。グラフがパネルをはみ出している場合は左ドラッグでスクロールできる。また、グラフのバーを左クリック(LClick)するとその値が表示される(後述する"MolView"窓が開いていると、該当フラグメントが選択状態になる)

21 5) 右下にある "2DGraph"ボタンを押すと、2次元タイルグラフのパネルが開く。左ドラッグ(LDrag)するとグラフがスクロールする

22 5) 棒グラフのパネルの右下にある "MolView"ボタンを押すと、分子構造が表示される。ここではプロパティの値(棒グラフの"tot"の値)がカラーで表示される。ここでは、分子模型は"line"で表示しているが、"stick"または"ball and stick"にすると見やすい。

23 7)fuplotのメイン画面の右下にある"Make derived data"ボタンを押す。開いた入力窓で "int=3-1-2"("int"は好きな名前でよい)を入力して"OK"ボタンを押す。これでデータ3からデータ1と2を引き算した新しいデータが"int"という名前で作られる。引き算の順番に注意。3は複合体で、最初の方にタンパク質の座標があり、続いてリガンドの座標があるので、引き算はこの順番で指定する)。このデータは、fkbpとfk506の分子間相互作用エネルギーを見ることができる。

24 8) fuplotのメインウィンドウで、 "4:int" データをクリックして ”Plot"ボタンをを押す。PIEDAの差データ(fkbp-fk506複合体のPIEDAからfkbpとfk506のPIEDAを引いた値)がプロットされる。 棒グラフパネルの”Plot"でプロットするPIEDAの成分を選択できる。”ex"(交換反発)と”cr"(分散力)の相殺などを見るのに使う(一部の成分を指定した場合、それらの和が"tot"になる)

25 各種パネル類の使い方 5-4 コントロールパネル("Window"-"Control panel") (1) メニュー

26 5-5 ツリー選択パネル("Select"-"Selector"-"Tree")

27 5-6 Name/Number選択パネル ("Select"-"Selector"-"Name/Number")

28 5-7 Z-Matrixコンフォーメーション編集パネル("Change"-"Conformation")

29 5-8 GAMESS input assistantパネル("FMO"-"Make GAMESS input")
12.

30 7. FU内部から PyCrust (pythonのShell)を使う
   ー python scriptを実行する  By executing python commands in the PyCrust console, you can access the attributes and methods of fu . You can change default values of the fumodel and fuplot programs. For instance you can switch off the "autoaddhydrogen" attribute, a flag to add hydrogen atoms at beginning, as follow.    >>>fumodel.AutoAddHydrogen(False)[ENTER]

31 7-8 fuplotでメニューにないグラフをプロットする
 MatPlotLib is a high level graphing software. You are encouraged to use it. 1) Execute "File"-"Open multiple files" menu in the main panel of fuplot and open the '1crnhadd.out' file. 2) Execute "Window"-"PyCrust" menu to pop-up PyCrust console. 3) Execute "Window"-"MatPlotLib" menu to pop-up MatPlotLib panel. 4) Input the following commands in PyCruct console, >>>fuplot.mpl.NewPlot()[ENTER] >>>fmodat=fuplot.GetCurrentFMOData()[ENTER] >>>iter,de,dd=fmodat.GetFMOIterEnergy()[ENTER] >>>fuplot.mpl.PlotXY(iter,de)[ENTER] >>>fuplot.mpl.PlotTitle('energy change in FMO SCC')[ENTER] >>>fuplot.mpl.PlotXLabel('iteration number')[ENTER] >>>fuplot.mpl.PlotYLabel('Energy in a.u.')[ENTER] Then the following graph is drawn. "mpl" is an instance of MatPlotLib_Frm class in fugraph module and "PlotXY" and so on are its methods.

32 付録 使い方の例 Example_1. Removing " HE1" atom in HIS residue
1. Read "fkbp.ent" file by executing "File"-"Open" menu. 2. Open Name/Number selector panel by executing "Select"-"Selector" -"Name/Number" menu. 3. Click "HIS" in "Residue" pull-down menu of the Name/Numebr Selector panel.

33 4. Execute "Show"-"Selected only", hit "f" key and RClick at off-atom.
5. Select " HE1" in "Atom" pull down menu of Name/Number selector. Execute "Show"-"Lable"-"Atom name", if needed.

34 6. Execute "Del"-"Selected" menu of main window.
(Note) When adding " HE1" to HIS, use "Add"-"H to AA residue" menu. If you use "Add"-"Functional group"-"1H", the atom name becomes " 1H ". It may cause truble in further operations (you can change the atom name by "Change"-"Names"-"Atom name_" menu).

35 Example_2. Usage of Z-Matrix conformation editor
1. Pop up Z-Matrix conformation editor by 'Change"-"Conf ormation" menu. 2. Switch mouse selection mode to "quadruple" in "SelMode" pull down widget. 3. LClick four atoms, p1-p4 atoms or input atom sequence number in text input widget. p1 is the atom whose position is to be changed and p2-p4 are reference atoms. They are not necessarily covalent-bonded. 4. Possible moving atoms together with p1 are automatically selected.

36 5. You can manually reselect/add movable atoms
5. You can manually reselect/add movable atoms. Some examples for fk506 molecule are described bellow. 1) rotate terminal methyl group LClick 104, 103, 120 and 28-th atoms in this order for p1-p4.

37 104(p1),105,and 106-th atoms are automatically selected as movable
104(p1),105,and 106-th atoms are automatically selected as movable. Click tortion radio button and CTRL+RDrag to change the tortion angle parameter. If you want to save the current conformation for undo, click "Apply" button (default maximum number of undo is 5; "maxzmchangehis" attribute of fuModel calss). You can change operation mode from "mouse" to "non-mouse". In non-mouse mode, input tortion angle in textctrl widget and push "Apply" button. Whenever you push "Apply" button, current conformation is kept for undo.

38 2) Change conformation of ring group
LClick 58, 56, 54, and 53-th atoms for p1-p4.

39 In this case, the tortion angle is the rotation angle around aixs 56(p2)-54(p3) and 57-th atom may be expected to move together. For adding 57-th atom to the movable group, switch 'SelMode' to 'multiple' and LClick the atom. 3) Smaller atom group to move LClick 53, 54, 56, and 58-th atoms.

40 3) Smaller atom group to move
LClick 53, 54, 56, and 58-th atoms.

41 The movable atom group is selected as above
The movable atom group is selected as above. You may want to move smaller atom group. Execute "Select"-"Complement" menu to change the movable atom group.

42 Example_3. Making truncated model
1. Read "fkbp_fk506.ent" file. 2. Execute "Window"-"Open control panel" menu.

43 1. Execute "Select"-"Non-AA residue" menu in the main window.
4. Check "Select radius" box, input "6.0" in the text control, and hit "Apply" button in the control panel (it takes time).

44 5. Execute "Select"-"Complement", "Del"-"Selected atoms", and "Add"-"Add H to cut AA" menus.

45 6. Rclick at off-atom. 7. Execute "FMO"-"Fragmentation(auto)"-"AA residue/1res" menu.

46 6. Execute "FMO"-"Fragmentation(manual)"-"Select small fragment" and
click "OK" button on "Select small fragments" panel.

47 9. Execute "FMO"-"Fragmentation(manual)"-"Clear BDA" menu
9. Execute "FMO"-"Fragmentation(manual)"-"Clear BDA" menu. Execute "FMO"- "Show"-"Paint fragment" menu to see the fragments. You can excute "fumodel.CountAtomsInFragment()" method in PyCrust shell to print the fragment size in the console.

48 Example_4. Manual fragmentation of molecule
1. Read fkbp_fk506.ent by executing "File"-"Open" menu. 2. Execute "FMO"-"Fragmentation(auto)"-"AA residue/1res" menu to fragment amino acid residues. BDA's are shown in green spheres.

49 3. Uncheck "FMO"-"Show"-"BDA points" menu, execute "Select"-"Non-AA residue" menu and "Show"-"Selected only" menu. Hit "f" key and RClick at off-atom.

50 3. Execute "FMO"-"fragmentation(manual)"-"BDA setting" menu
3. Execute "FMO"-"fragmentation(manual)"-"BDA setting" menu. Check "FMO"-"Show"-"Paint fragment" menu, if you want.

51 3. LClick two atoms for BDA and BAA
3. LClick two atoms for BDA and BAA. For unset the BDA-BAA, LClick the BDA and BAA in this order.

52 3. Uncheck "FMO"-"fragmentation(manual)"-"BDA setting", "FMO"-"Show"- "Paint fragment" and "Show"-"Selected only" menu and hit "f" key. 7. To confirm the fragmentation, change "SelMode" to "single" and "SelObject" to "fragment". A fragment is selected by LClicking its constituent atom. Alternatively, you can select a fragment by "Select"-"Selector"- "Name/Number" selector panel. 8. RClick at off-atom. 9. Execute "FMO"-"Make GAMESS input" menu for making FMO input data.

53 python scriptの例 (plot_b_factor.py) わずか60行弱で、これだけの機能が追加できる!
class PlotBfactor(): def __init__(self): # open matplotlib and plot data fumodel.OpenMatPlotLibFrame([640,250]) # [800,250]: winsize fumodel.mpl.canvas.Bind(wx.EVT_CLOSE,self.OnClose) # btnsel=wx.Button(fumodel.mpl.toolbar,wx.ID_ANY,"Select",pos=(250,2),size=(100,25)) btnsel.Bind(wx.EVT_BUTTON,self.OnSelect) btnset=wx.Button(fumodel.mpl.toolbar,wx.ID_ANY,"Refresh",pos=(370,2),size=(100,25)) btnset.Bind(wx.EVT_BUTTON,self.OnResetData) fumodel.mpl.canvas.mpl_connect('button_press_event', self.OnClick) fumodel.mpl.SetTitle("Plot B-factor: ["+fumodel.wrkmolnam+"]") # plot data self.PlotBFC()   def PlotBFC(self): atmnmb=[]; bfc=[] for atom in fumodel.wrk.mol: atmnmb.append(atom.seqnmb+1) bfc.append(atom.bfc) fumodel.mpl.NewPlot() fumodel.mpl.PlotXY(atmnmb,bfc) fumodel.mpl.PlotXLabel('Sequence number of atom') fumodel.mpl.PlotYLabel('Arbitary unit') def OnSelect(self,event): # select atoms with large b-factor value=wx.GetNumberFromUser('Select large b-factor atoms','Enter threshold value', 'Input numeric data',20.0) if value != -1: nsel=fumodel.SelectAtomsWithLargeBfactor(value) mess='Threshold value='+str(value)+', Number of Selected atoms='+str(nsel) fumodel.ConsoleMessage(mess) def OnResetData(self,event): fumodel.mpl.Clear() def OnClick(self,event): # select atom of clicked x-value # get event.x, event.y,event.xdata, event.ydata (all float data) try: i=int(event.xdata)+1 if i > 0 and i <= len(fumodel.wrk.mol): fumodel.SetSelectAll(False) fumodel.SelectAtomBySeqNmb([i-1],True) mess='Select atom='+str(i)+', B-factor='+('%5.1f' % fumodel.wrk.mol[i-1].bfc) fumodel.Message(mess,0,'black') except: mess='Clicked at the outside of plot region.' def OnClose(self,event): # close mpl panel fumodel.mpl.OnClose(1) pltbfc=PlotBfactor() python scriptの例 (plot_b_factor.py) わずか60行弱で、これだけの機能が追加できる!

54 FMO講習会 平成25年9月27日(金) @CMSI神戸
 実習で用いるファイルはすべて"fu"ディレクトリ下の"sample"ディレクトリにある。 1. C2H5OHとH2Oの入力データの作成と計算   構造モデルの作成、フラグメントデータの作成、GAMESS-FMO入力データの作成、   GAMESS-FMO計算の実行までを行う。  1) fumodel.exeを実行する。 2) 結合データが欠落しているPDBデータ形式の座標データ(ファイル名:"c2h5-    h2o.pdb")を読み込んで、結合データを付加する。 2) メニュー"FMO"-"Fragmentation(manual)"-"BDA setting"を実行する。 3) マウスでBDAとBAAをこの順番でクリックする。 4) メニュー"FMO"-"Make GAMESS Input"を実行する。  5) "GAMESS input assist"パネルで、"Basis set"選択窓で"STO-3G"を選ぶ。ついで、    パネル下部にある"Apply"ボタンを押す。  6) メニュー"Compute"-"GAMESS_"を実行する。    (注意)異常終了した場合、Windowsのタスクマネージャーを起動してGAMESSを強         制終了しなければならない場合がある。  次いで、FMO計算結果のグラフ表示を行う。  7) fuplot.exeを実行する。  8) メニュー"File"-"Open multiple file"を実行する。ここでは、c2h5oh-h2o.pdb,   c2h5oh-h2o.inp, c2h5oh-h2o.outの3つのファイルが読み込まれる。いずれかひと   つをクリックすると、3つのファイルが読み込みリストにセットされて一緒にOpenできる。

55 2. 上記データを用いて、FMO法の各種計算(optimize, MP2、DFT、RHF-D、PCMなど)を行う。RHF-DとPCM計算の入力データは自動的に作成できないので、上記の入力データを元にして、header部分をエディタで編集して作る。そのデータでGAMESSを実行する。 3.水和モデルの作成を行う 4. モノマーごとにBDAをセットして、後で複合体のフラグメントデータとして用いるやり方の学習  1) c2h5oh-h2o.pdbを読み込む。  2) C2h5ohを選択して、”Edit"-"Copy"する。  3) "File"-"New"で新規分子(原子数ゼロ)を作る。 4) "Edit"-"Paste"する。 5) "FMO"-"Fragmentation(manual)"-"BDA setting"でBDAを設定する。  6) "File"-"Save as"で、c2h5oh-1.pdbファイルを作る。 7) "File"-"Save fragment as"でc2h5oh-1.frgフラグメントデータを保存する。  8) 同様にしてh2o(分割しないのでフラグメントデータは無い)のpdbファイル(h2o-1.pdb)を作る。 9) "File"-"Open"でc2h5oh-1.pdbを読み込む。  10) "File"-"Open"でc2h5oh-1.frgを読み込む。  11) "File"-"Merge"でh2o-1.pdbを読み込む。 これで、部分部分のフラグメントデータを作っておいて、後に統合して複合体のデータを作ることができる。

56 5. 分子間相互作用のプロット  上記過程で、ついでにc2h5ohとh2oのFMO計算を行っておき、分子間相互作用のプロットで用いる。 6. タンパク質複合体の構造モデリングとフラグメントデータの作成の練習  1) オリジナルPDBファイルpdb1fkg.pdbのタンパク質とリガンドに水素を付加する。    リガンドのmhtファイルは、"SB3.mht"である  2) タンパク質をtruncateして縮小モデルを作る(Control panelから指定した距離    内にある残基を選択する。2.4Åと指定すると、HF/STO-3Gで約30分で計算で    きる)。切り出したあと、端に水素原子をつけることを忘れないように!   3) フラグメントを設定する  4) FMO入力データを作成する  5) FMO計算を実行する  6) 計算結果をプロットする。


Download ppt "FMO計算支援ソフトウェア”FU"の使い方"

Similar presentations


Ads by Google