User’s manual: Ruby script for analysis of FMO output (RbAnalysisFMO)
(Windows / Unix version)
Editor: Takaki Tokiwa Last update: 2019/02/18
1
Contents 0. First of all ...... 2 0.1 Copyright notice ...... 2 0.2 Citation ...... 2 1. Introduction ...... 3 2. Preparation ...... 5 2.1 Required programs ...... 5 2.2 Installation ...... 8 2.2.1 Installation of PV and Paics ...... 8 2.2.2 Installation of Ruby compiler ...... 8 2.2.3 Installation of Nokogiri library in Ruby using gem command...... 10 2.2.5 Installation of gs (Ghostscript) ...... 15 3. Analysis ...... 19 3.1 What is needed...... 19 3.2 Option list...... 23 3.3. Analysis from the Paics out file ...... 30 3.3.1 “Selected-pairs” mode in “one-dimensional table” ...... 30 3.3.1.1 Comannd line mode without options (standard streams on command-line or terminal) . 30 3.3.1.2 In-line mode (Using options on command-line or terminal) ...... 38 3.3.2 “All-pairs” mode in “two-dimensional table” ...... 39 3.3.2.1 Comannd line mode without options (standard streams on command-line or terminal) . 39 3.3.2.2 In-line mode (Using options on command-line or terminal) ...... 45 4. References ...... 46 Appendix ...... 47 A – Preparation to install PV and Paics ...... 47 B – Installation of gcc/g++ compiler on Ubuntu...... 47 C – Installation of gfortran compiler on Ubuntu ...... 47 D – Installation of Intel C and Intel Fortran compiler ...... 47 E – Installation of MPI (Message Passing Interface) ...... 49 F – Installation of other softwares (freeglut, glut, LaTeX, and tcl/tk) ...... 49 G – Installation of PV ...... 52 H – Installation of Paics ...... 54
2
0. First of all 0.1 Copyright notice The Ruby source code (RbAnalysisFMO) is copyrighted, but you can freely use and copy it as long as you don't change or remove any of the copyright notices. This Ruby program (RbAnalysisFMO) is Copyright (C) 2016 by Takaki Tokiwa.
All Rights Reserved Permission to use, copy, modify, distribute, and distribute modified versions of this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice appear in supporting documentation, and that the name(s) of the author(s) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
THE AUTHOR(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0.2 Citation Please cite the following paper when using this analysis program (AnalysisFMO toolkit)! - Authors: Takaki Tokiwa, Shogo Nakano, Yuta Yamamoto, Takeshi Ishikawa, Sohei Ito, Vladimir Sladek, Kaori Fukuzawa, Yuji Mochizuki, Hiroaki Tokiwa, Fuminori Misaizu, and Yasuteru Shigeta - Title: Development of an Analysis Toolkit, AnalysisFMO, to Visualize Interaction Energies Generated by Fragment Molecular Orbital Calculations - Journal name: Journal of Chemical Information and Modeling - Vol., Issue, pp. year: Vol. 59, Issue 1, pp. 25-30 - DOI: 10.1021/acs.jcim.8b00649 3
1. Introduction
This manual provides a first introduction to ruby script (RbAnalysisFMO in AnalysisFMO Toolkit [1]) for analysis the output file (*.out or *.log, and so on) of the fragment molecule orbital (FMO) calcualtion packages (GAMESS (the general atomic and molecular electronic structure system) [2], Paics (the parallelized ab initio calculation system) [3], and ABINIT-MP (the ABINT ab initio multi-processor) [4,5]). The output file of FMO calculation is composed of various data in an ASCII (text) format: run time parameter, atomic coordinate, and inter fragment interaction energies (IFIEs) and/or pair interaction energies (PIEs). It is necessary to extract IFIEs or PIEs from the FMO output file due to analyze and visualize. RbAnalysisFMO is able to analyze and extract IFIEs or PIEs from the FMO output file. The GAMESS program package can calculate PIEs [2] and The PAICS program package can calculate IFIEs [3]. ABINIT-MP program package can calculate IFIEs [4] but ABINIT-MP Open series can calculate IFIEs and PIEs [5]. There are two analysis modes in this ruby script as following: ・”Selected-pairs” mode in “one-dimensional table”: This ruby script using “Selected-pairs” mode analyzes IFIEs or PIEs as fragments-target (target means fragment, ligand, peptide, H2O and so on) interaction from the FMO output file. In the PAICS case, this mode analyzes data from the result of PAICS calculation with the “frag_calc_pair” option (selection of the fragment pairs, such as fragment number 1-100 (ALL) and fragment number 101 (target)). The details of the this option is described in P. 14 the Chapter2 “INPUT” at http://www.paics.net/pdf/manual.pdf/. In the GAMESS case, result is the GAMESS calculation with the “MOLFRG” option (The details of the this option is described in P. 276 the Section 2 – “Input Description” at http://fisica.ufpr.br/bettega/input_GAMESS.pdf/ or “$FMO group (optional, activates FMO option)” at http://myweb.liu.edu/~nmatsuna/gamess/input/FMO.html/). But, ABINIT-MP and ABINIT-MP Open series (Ver. 1 Rev. 10) do not calculate this mode, as of September in 2018. This mode saves as a CSV (Comma-Separated Values format, *.csv) and TXT (ASCII (text) format, *.txt) files in one-dimensional table. IFIEs data is plotted bar graph using the gnuplot program (http://www.gnuplot.info/ (accessed September 26th, 2018)). The PS file is converted the PDF file using ps2pdf program attached to Ghostscript (https://www.ghostscript.com/ (accessed September 26th, 2018)) after this plotted graph is saved as the PS file by gnuplot.
・”All-pairs” mode in “two-dimensional table”: This ruby script using “All-pairs” mode analyzes IFIEs or PIEs as fragments-fragments (which may be included ligand, peptide, H2O and so on) interaction from the FMO output file. In the PAICS case, this mode analyzes data from the result of PAICS calculation without the “frag_calc_pair” option (that is, results of PAICS for all fragment calculation). In the GAMESS case, result is the GAMESS calculation without the “MOLFRG” option. This mode saves as a CSV (*.csv) and TXT (*.txt) files in two-dimensional table and can plot 2D interaction map from IFIE or PIE data using Gnuplot. 4
In addition, the RbAnalysisFMO requires several Ruby libraries: Logger and Nokogiri (sparklemotion/nokogiri. GitHub. https://github.com/sparklemotion/nokogiri/blob/master/LICENSE.md (accessed September 26th, 2018)), which is Rubygen providing HTML and XML.
The manual is subdivided in two sections. The first one covers the basic preparation for ruby analysis in section 2. i.e., the installation of required programs of your system. The section 3 introduces typical analysis of IFIEs or PIEs using this ruby script.
5
2. Preparation 2.1 Required programs The input preparation for FMO program and FMO programs are required for this manual: ● PV (PaicsView) [6]: PaicsView is a supporting program for making input files of PAICS, which is a software of quantum chemical calculation developed by Takeshi Ishikawa. But, now only Japanese manuals and order form are available (2011/01/11). Available at http://www.paics.net/paics_view_e.html (for windows platforms (32 bit, binary))
● PyMOL plug-in (AnalysisFMO toolkit) [1]: PyMOL plug-ins (AnalysisFMO toolkit including PyGAMESS, PyPAICS, and PyABINIT-MP), which coded Python language[7], are able to visualize IFIEs/PIEs to the structure of target protein in PyMOL program, a popular molecular GUI visualization software [8], and is programing and developed by Shogo Nakano. For a detailed description of PyMOL plug-in, the reader is referred to the PyMOL plug-in user’s guide (manual) located at http://dfns.u-shizuoka-ken.ac.jp/labs/proeng/custom20.html (for Windows and Unix platforms).
● Paics (Parallelized ab initio Calculation System based on FMO) [3]: Paics is a program of quantum chemical calculation, which has been developed and administrated by Takeshi Ishikawa. In this program, fragment molecular orbital (FMO) method is adopted, by which large molecules including biomolecular systems can be treated with several quantum chemical approaches. Available at http://www.paics.net/index_e.html (for UNIX platform) Manual (English) at http://www.paics.net/pdf/manual.pdf
● GAMESS (General Atomic and Molecular Electronic Structure System) [2]: The General Atomic and Molecular Electronic Structure System (GAMESS) is a general ab initio quantum chemistry package at http://www.msg.ameslab.gov/gamess/.
● FU (FMO utility) [9]: FU is an open source GUI for molecular simulations for GAMESS. (Ref.) https://staff.aist.go.jp/d.g.fedorov/fmo/fu.html
● Facio: Facio is a free GUI for computational chemistry softwares (TINKER, MSMS, Firefly, Gamess, MOPAC and Gaussian) at http://zzzfelis.sakura.ne.jp/. 6
● ABINIT-MP (ABINT ab initio Multi-Processor) [4,5]: ABINIT-MP is a user-friendly FMO program (by which 4-body fragments can be computed), especially for in-house Linux/Intel servers under the standard MPI environment. Additionally, the associated graphical user-interface system, BioStation Viewer (on Windows) helps the preparation of input data including the tedious fragmentation setting and also assists intuitive understanding of the target system through the inter-fragment interaction energies (IFIEs). Available at http://ma.cms-initiative.jp/en/application-list/abinit-mp/abinit-mp http://www.cenav.org/abinit-mp-open_ver-1-rev-10/ Download at http://www.ciss.iis.u-tokyo.ac.jp/riss/dl/download/index.php#download_2
● BioStation Viewer [10]: ABINIT-MP's pre/post processing program, BioStation Viewer is a visualization tool for the molecular interaction analysis with Java and Java3D on Windows OS. http://www.ciss.iis.u-tokyo.ac.jp/riss/english/project/molecule/img/BioStation_EJ-20101012.pdf
The following analysis programs are required for this manual: ● Ruby compiler for Ruby scripts: Ruby is a dynamic, open source programming language [11] which is made in JAPAN with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. Ruby is available for all pkatforms. (Ref.) https://www.ruby-lang.org/en/
● Plotting Program using gnuplot: For RbPaics_LigandInteractions, we will use “gnuplot” to plot and view analyzed output data from PAICS ooutput file (*.out). gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted but freely distributed. (Ref.) http://www.gnuplot.info/ * But, it is not necessary for you to install “gnuplot” if this ruby script does not plot data using gnuplot.
7
● Convert program from PS file to PDF file using ps2pdf in gs (Ghostscript): gnuplot directly outputs PS (postscript) file of plots from the PAICS output file. The PDF (Portable Document Format) file is able to be created from the PS file of plots using gnuplot, so the PS file is converted to PDF file using ps2pdf on the terminal or commandline. ps2pdf script is a work-alike for nearly all the functionality (but not the user interface) of Adobe's AcrobatTM DistillerTM product: it converts PostScript files to Portable Document Format (PDF) files. (Ref.) http://ghostscript.com/doc/current/Ps2pdf.htm * But, it is not necessary for you to install gs if you do not install gnuplot and plot data using gnuplot.
● Ruby library: “Nokogiri”: Nokogiri is a Rubygem providing HTML, XML, SAX, and Reader parsers with XPath and CSS selector support. (Ref.) http://www.nokogiri.org/
8
2.2 Installation This subsection explains how to install compiler, package, and application software which are introduced in section 2.1.
2.2.1 Installation of PV and Paics Installations of PV and Paics are described in appendix H and I, respectively.
2.2.2 Installation of Ruby compiler - (Reference page): http://www2.rikkyo.ac.jp/~tokiwa/eng_home/menu_eng/bioLib/library/ruby/ruby.html
● Windows: Install ruby using package (*.exe): * As of 21 January 21, 2016, Ruby 2.2.2 has been released. Ruby 2.0.0 or later can be installed together with the irb and tk for ruby (ruby/tk).
a). Download ruby installer package (Homepage): http://rubyinstaller.org/ (Download): http://rubyinstaller.org/downloads/ Please download ruby installer package (*.exe) of version that you want to use above the ruby download web-site.
b). Install Ruby You execute ruby installer (*.exe) following the install flow. * In installation, you should select checkbox for “Add Ruby executables to your PATH” and “Associate .rb and .rbw files with this Ruby installation”. → You don’t need to pass ruby path.
9
c). Validation of Ruby You must perform an operation check of ruby on the command prompt or the cygwin terminal. On the command prompt or the cygwin terminal, $ ruby –v * “$” is prompt on terminal for general user (no root). ruby 2.0.0p0 (2013-02-24) [x64-mingw32] $ gem -v 2.0.0 $ irb DL is deprecated, please use Fiddle irb(main):001:0> exit $ * As associating .rb and .rbw files with Ruby, if you double-click ruby program (*rb or *rbw), you can execute it directly.
● Unix (for Ubuntu): Install ruby from apt-get command: a). Change your shell into “bash” to use the wildcard Matching in your system $ bash
b). Search ruby package and ruby version $ apt-cache search ruby*
c). Install ruby $ sudo apt-get install ruby or $ sudo apt-get install ruby[version]
Install ruby from source file: a). Download ruby source file following web-site (Download page): http://www.ruby-lang.org/en/downloads/
b). Decompress tar file $ tar xvzf ruby-*.*.*-p***.tar.gz
c). Install $ cd ruby-*.*.*-p***/ $ ./ configure --prefix=/***/***/***/ruby-*.*.* 10
$ make $ make install
d). Validation of Ruby $ cd /***/***/***/ruby-*.*.* $ ls bin/ include/ lib/ share/ $ cd bin/ $ ls erb* gem* irb* rake* rdoc* ri* ruby* testrb* $ $ ./ruby –v
e). You need to pass ruby path in a full path on the shell file (.cshrc or .bashrc, …) of your system.
2.2.3 Installation of Nokogiri library in Ruby using gem command * But, it is not necessary for you to install “Nokogiri” using gem if this ruby script does not output XML data using Nokogiri library. ● Windows: In command prompt, you type “gem install nokogiri”.
● Unix (for Ubuntu) Install nokogiri using gem command $ sudo gem install nokogiri
2.2.4 Installation of gnuplot program * But, it is not necessary for you to install “gnuplot” if this ruby script does not plot data using gnuplot. ● Windows: Install gnuplot using package (*.exe): a). Download gnuplot installer file following web-site (Homepage): http://gnuplot.sourceforge.net/ (Download): http://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/ 11
↓
b). Decompress the downloaded file and double-click the decompressed gnuplot icon following the install flow
↓
↓ 12
↓
↓
↓ 13
↓
↓ You should select “windows” for the gnuplot default terminal.
And, you should select checkbox for “Add application directory to your PATH environment variable”. 14
↓
Upon complete and successful gnuplot installation.
c). Validation of gnuplot You execute gnuplot program on the command prompt, if you select the checkbox for “you should select checkbox for “Add application directory to your PATH environment variable”.
* If you select“windows” for the gnuplot default terminal, the screen of command prompt are shown above. 15
Install gnuplot with cygwin: a). Install cygwin If you install cygwin in full packages, cygwin full packages include gnuplot program.
b). Install xming package (Donwload): http://sourceforge.net/projects/xming/
c). Double-click xming icon and start xming program
d). Start cygwin program
e). Execute cygwin window on the cygwin terminal $ startxwin.exe or $ startxwin
f). Execute gnuplot on the xterm $ gnuplot
● Unix (for Ubuntu) Install gnuplot from apt-get command $ sudo apt-get install gnuplot
2.2.5 Installation of gs (Ghostscript) * But, it is not necessary for you to install gs if you do not install gnuplot and plot data using gnuplot. ● Windows: Install gs using package (*.exe): a). Download gs installer following the web-site (Homepage): http://pages.cs.wisc.edu/~ghost/ (Download): http://www.ghostscript.com/download/ 16
↓
b). Double-click the downloaded gs icon following the install flow
↓
↓ 17
↓
↓
c). Set environment variable for Windows (in Windows7) c-1). Open the Start Menu and right click on Computer. Select “Properties”. c-2). Select “Advanced system settings”. c-3). In the “Advanced” tab, select “Environment Variables…”. 18
c-4). Select “Edit…” on “Path”.
d). Validation of ps2pdf on the command prompt $ ps2pdf or $ ps2pdf14 Usage: ps2pdf input.ps [output.pdf] or: ps2pdf [options...] input.[e]ps output.pdf
● Unix (for Ubuntu): Install gs with LaTeX packages from apt-get command: Install LaTeX packages $ sudo apt-get install texlive-latex-extra $ sudo apt-get install latexmk dvipng $ sudo apt-get install xpdf gs-cjk-resource $ sudo apt-get install vfdata-morisawa5 dvi2ps-fontdesc-morisawa5 $ sudo apt-get install cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-cns1 cmap-adobe-gb1 $ sudo jisftconfig add
19
3. Analysis 3.1 What is needed In order to run Ruby analysis for calculated FMO data, this ruby script requires at least two things:
● Protein Data Bank (PDB) file (*.pdb): A PDB file has stored atomic coordinates and served as the information about the 3D structures of proteins, nucleic acids, and complex assemblies. It is necessary to use the PDB file which you used to make the input file (*.inp) of PAICS calculation using PV or PyPaics.
● FMO out file (*.out, *.log, or *.txt, and so on…): The out file is the results of FMO calculation and has stored input information, fragment information, FMO-1 results (RHF energy, MP2 correlation energy (cmp2), etc.) calculated by FMO program. - Paics manual: http://www.paics.net/pdf/manual.pdf at P. 33, Chapter 3 - GAMESS-FMO manual: https://staff.aist.go.jp/d.g.fedorov/fmo/GAMESS-FMO_J.pdf (Japanese) http://myweb.liu.edu/~nmatsuna/gamess/input/FMO.html - ABINIT-MP manual: http://ma.cms-initiative.jp/en/application-list/abinit-mp?set_language=en
20
● Ruby analysis script (RbAnalysisFMO.rb): ・”Selected-pairs” mode in “one-dimensional table”: This ruby script using “Selected-pairs” mode analyzes IFIEs or PIEs as fragments-target (target means fragment, ligand, peptide, H2O and so on) interaction from the FMO output file. In the PAICS case, this mode analyzes data from the result of PAICS calculation with the “frag_calc_pair” option (selection of the fragment pairs, such as fragment number 1-100 (ALL) and fragment number 101 (target)). The details of the this option is described in P. 14 the Chapter2 “INPUT” at http://www.paics.net/pdf/manual.pdf/. In the GAMESS case, result is the GAMESS calculation with the “MOLFRG” option (The details of the this option is described in P. 276 the Section 2 – “Input Description” at http://fisica.ufpr.br/bettega/input_GAMESS.pdf/ or “$FMO group (optional, activates FMO option)” at http://myweb.liu.edu/~nmatsuna/gamess/input/FMO.html/). But, ABINIT-MP and ABINIT-MP Open series (Ver. 1 Rev. 10) do not calculate this mode, as of September in 2018. This mode saves as a CSV (Comma-Separated Values format, *.csv) and TXT (ASCII (text) format, *.txt) files in one-dimensional table. IFIEs data is plotted bar graph using the gnuplot program (http://www.gnuplot.info/ (accessed September 26th, 2018)). The PS file is converted the PDF file using ps2pdf program attached to Ghostscript (https://www.ghostscript.com/ (accessed September 26th, 2018)) after this plotted graph is saved as the PS file by gnuplot.
21
・”All-pairs” mode in “two-dimensional table”: This ruby script using “All-pairs” mode analyzes IFIEs or PIEs as fragments-fragments (which may be included ligand, peptide, H2O and so on) interaction from the FMO output file. In the PAICS case, this mode analyzes data from the result of PAICS calculation without the “frag_calc_pair” option (that is, results of PAICS for all fragment calculation). In the GAMESS case, result is the GAMESS calculation without the “MOLFRG” option. This mode saves as a CSV (*.csv) and TXT (*.txt) files in two-dimensional table and can plot 2D interaction map from IFIE or PIE data using Gnuplot.
22
23
3.2 Option list This section explains the options available in RbAnalysisFMO. This explanation can be typed by using the -h (--Help) option of the program at the terminal.
Usage: $ ruby RbAnalysisFMO.rb [options] or $ ruby RbAnalysisFMO.rb
Examples: - Option mode $ ruby RbAnalysisFMO.rb -opt1 -opt2 ...
- Terminal mode (without options) $ ruby RbAnalysisFMO.rb * If you execute this program without options, you input character string instead of options on your terminal.
Specific options:
25
* Ignore (-d and -a) options if "with -g option"!
-d [ (int or float) Minimum distance (R1) [Å] ] [ (int or float) Maximum distance (R2) [Å] ] Specify data range [Å] (distance between fragments) to extract data
(ex). Extract data within distance between R1 = 0 [Å] and R2 = 5 [Å] -d 0, 5 or -d 0.0, 5.0 << GAMESS >>
-d [ (int or float) Minimum distance (R1) [%] ] [ (int or float) Maximum distance (R2) [%]] Specify data range [%] (distance (R) between fragments) to extract data (Ref.): R is written in "RESPAP" on http://myweb.liu.edu/~nmatsuna/gamess/input/FMO.html the distance is relative to van der Waals radii; e.g. two atoms A and B separated by
R are defined to have the distance equal to R / (RA + RB), where RA and RB are van der Waals radii of A and B). * R has no units.
(ex). Extract data within distance between R1=0.5 and R2=2.0 -d 0.5, 2.0 or -d 0.5, 2
* Notice: (condition: R1 ≧ 0, R2 > R1)
26
To analyzes IFIEs as [fragments]-[user's selected target] (fragment, ligand, peptide, H2O and so on) interaction (selection of the fragment pairs, such as fragment number 1-100 (ALL) and fragment number 101(user's selected target)) 2: “All-pairs” mode in "two-dimensional" table To analyzes IFIEs as [fragments]-[fragments] (which may be included ligand, peptide,
H2O and so on) interaction * Notice: << Paics>> - Paics output with the "frag_calc_pair" option → [1]: Selected-pairs mode - Paics output without the "frag_calc_pair" option → [2]: All-pairs mode (that is, results of PAICS for all fragment calculation)
27
7: Eij - Ei - Ej [kcal/mol] 8: Tr(dDij * Vij) [kcal/mol] << ABINIT-MP >> - Selected-pairs mode in "one-dimensional" table < IFIE > 1: HF (a.u.) and HF [kcal/mol] 2: dMP2 (a.u.) and dMP2 [kcal/mol] 3: MP2 (a.u.) and MP2 [kcal/mol] (All data) < PIE > Without option and output all data (above [1] ~ [5] at < PIE > of All-pairs mode)
28
- All-pairs mode in "two-dimensional" table < IFIE > 1: HF (a.u.) 2: HF [kcal/mol] 3: dMP2 (a.u.) 4: dMP2 [kcal/mol] 5: MP2 (a.u.) 6: MP2 [kcal/mol] < PIE > 1: E(es) (Electrostatic) [kcal/mol] 2: E(ex) (Exchange repulsion) [kcal/mol] 3: E(ct+mix) (charge transfer + MIX) [kcal/mol] 4: E(disp) (Dispersion) [kcal/mol] 5: E(total) (PIE:(pair interaction energy) [kcal/mol] * E(total) = E(es) + E(ex) + E(ct+mix) + E(disp)
* Using -j (--fragment) options if "-i 2" (All-pairs mode) only!
29
* Using -n (--num) options if "-i 1" (selected-pairs mode) and FMO calculation type is "All-pairs"!
Common options:
30
3.3. Analysis from the Paics out file 3.3.1 “Selected-pairs” mode in “one-dimensional table” 3.3.1.1 Comannd line mode without options (standard streams on command-line or terminal) a). Start a command-line or terminal of your system
b). Prepare for the input file which you want to analyze (For example) $ pwd /home/usrname/work $ ls test.out test.pdb
c). Flow chart to execute analysis using ruby script
First, you select the FMO program which you used. In this case, Paics program was used for FMO calculation.
Second, you select your PAICS version being used. In this case, the Paics program 2012/05/13 version was used.
[Input value] ・1: Older version than Paics 2012/01/17 version ・2: Paics 2012/05/13 version or later ・exit: Exit from this script 31
↓ Third, you select the analysis type.
[Input value] ・1: “Selected-pairs” mode in “one-dimensional” table ・2: “All-pairs” mode in “two-dimensional” table ・exit: Exit from this script ↓ You select the write mode (type of energy). In this case, this script writes all energy data (including HF (a.u.), MP2 (a.u.), MP2 [kcal/mol], and binding affinity [kcal/mol]) in output files. Note that if you select “1” or “2”, this script does not write the data of binding affinity.
[Input value] ・1: IFIEs data of HF (a.u.) and HF [kcal/mol] ifrag-target, amino acid name (Out file), amino acid name (PDB file), chain identifier, residue number, residue number of S-S bond (disulfide bond) in PDB file, distance between fragments, HF (a.u.), HF [kcal/mol]
・2: IFIEs data including HF (a.u.), dMP2 (a.u.), and dMP2 [kcal/mol] ifrag-target, amino acid name (Out file), amino acid name (PDB file), chain identifier, residue number, residue number of S-S bond (disulfide bond) in PDB file, 32
distance between fragments, HF (a.u.), dMP2 (a.u.), dMP2 [kcal/mol]
・3: IFIEs data (All data ) including HF (a.u.), dMP2 (a.u.), MP2 (a.u.), and MP2 [kcal/mol] ifrag-target, amino acid name (Out file), amino acid name (PDB file), chain identifier, residue number, residue number of S-S bond (disulfide bond) in PDB file, distance between fragments, HF (a.u.), dMP2 (a.u.), MP2 (a.u.), MP2 [kcal/mol]
Binding affinity = ∑ MP2푖 [kcal/mol] 푖=1
・exit: Exit from this script ↓ You select to output a new PDB file chain identifier: “A” if chain identifier is a white space in the original PDB file. But, warning is issued when there is chain identifier in the original PDB file. In this case, chain identifier in original PDB file exists, so “1” is selected.
[Input value] ・1: To continue normally to run analysis ・2: A new PDB file (*_addchain.pdb) which is replacing raw chain identifier to “A” is output to work directory including the original PDB file if chain identifier is a white space in the original PDB file. But warning is issued when there is chain identifier in the original PDB file. ・exit: Exit from this script 33
↓ You input the Paics out file within the file extension (*.out) with full path information. And this ruby script outputs a log file (RbPaics_LigandInteractions.log) including the results of standard stream. In this case, a log file is output to the “/home/usrname/work” directory.
↓ You input the PDB file name within the file extension with full path information. * It is necessary to use the PDB file which you used to make the input file (*.inp) of PAICS calculation using PV or PyPaics. Note that the first atom of every amino acid residue in the PDB file must be “nitrogen atom (N)”.
↓ You input the output file name of the analysis result within any file extension (which is the format of ASCII text) with full path information. And not only an output file of ASCII format but also an output file of CSV format (which is defined comma delimited) is saved. In this case, the CSV file name is “test_analysis.csv” and is output to the “/home/usrname/work” directory.
↓ After this, analysis is starting. Ruby script gets the number of fragment from the Paics out file, the number of fragment ligand (target), and the fragment number corresponding to ligand (target). 34
Then, this script obtains other data from the Paics out file.
↓ Ruby script gets distances between fragments, HF (a.u.), and dMP2 (a.u.), and calculates MP2 [kcal/mol] and binding affinity [kcal/mol]. Calculated binding affinity is displayed on terminal.
The execution time of analysis is displayed on terminal. For this example, It take execution time more than usual because I stored a screen. 35
d). Flow chart to plot analyzed IFIEs data using gnuplot in Ruby script Following c) of section 3.2.1, this ruby script plots analyzed IFIEs data using gnuplot. In this case, amino acid name which is plotted in bar graph is 3 latter code (i.e. Glycine name is GLY). So, input value is “2”. * However, it is not necessary to plot data using gnuplot. In that case, analysis is over when you input with “Exit” in the following.
[Input value] ・1: Amino acid 1 letter code to plot on bar graph (ex. Glycine name is “G”) ・2: Amino acid 3 letter code to plot on bar graph (ex. Glycine name is “GLY”) ・exit: Exit from this script ↓ You specify data range [Å] between minimum and maximum distances of fragments to extract IFIEs from analyzed data (*.csv). So, you input two values (which are min and max distances [Å]). For this example, minimum distance is “0 [Å]” and maximum distance is “5 [Å]”. Then, IFIEs data is extracted from data range between 0 and 5 [Å] (distance from ligand (target) to fragment).
36
↓ For Final process, this script plots extracted IFIEs data in bar graph using gnuplot. Plotted PS file is converted into PDF file. When “Finish to plot …” is displayed on terminal or is output in the log file (RbPaics_LigandInteractions.log), analysis and plotting process is over.
37
e). Output and log files This script outputs analyzed files to the directory which you input the output file name of the analysis result. In this case, this output directory is “/home/usrname/work”. Input files (*.out and *.pdb), output files (*.csv and *.output (ASCII text formant)) and plot file (*.pdf), log file (*.log). The result of standard stream (input and output) is accumulated as the log file (*.log). The following image shows the header of log file.
38
3.3.1.2 In-line mode (Using options on command-line or terminal) a). Start a command-line or terminal of your system
b). Prepare for the input file which you want to analyze (For example) $ pwd /home/usrname/work $ ls test_2D.out test_2D.pdb
c). Execute analysis using ruby script with options * Options are in random order. * If you use this program with "-t" option, you must specify "all" option arguments. → If a Part of input values is standard input, this ruby script does not use “-t” option.
(Case 1): Print standard output (in terminal) and no plot (write mode is all data) $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –c 1 –f 1 –i 1 –m 3 –b /home/usrname/work/test.pdb –o /home/usrname/work/test.output –p 2 –g
(Case 2): Do not print standard output (in terminal) and no plot (write mode is all data) $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –c 1 –f 1 –i 1 –m 3 –b /home/usrname/work/test.pdb –o /home/usrname/work/test.output –p 2 –g –t
(Case 3): Print standard output (in terminal) and plot (write mode is all data) $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –c 1 –f 1 –i 1 –m 3 –r /home/usrname/work/test.pdb –o /home/usrname/work/test.output –p 2 –d 0,5 –a 2
(Case 4): Do not print standard output (in terminal) and plot (write mode is all data) $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –c 1 –f 1 –i 1 –m 3 –t –r /home/usrname/work/test.pdb –o /home/usrname/work/test.output –p 2 –d 0,5 –a 2
(Case 5): A Part of input values is standard input, the rest is option. (ex.) Print standard output (in terminal) and plot (write mode is all data) Distance and amino acid name type are standard input in terminal. $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –c 1 –f 1 –i 1 –m 3 –r /home/usrname/work/test.pdb –o /home/usrname/work/test.output –p 2 39
3.3.2 “All-pairs” mode in “two-dimensional table” 3.3.2.1 Comannd line mode without options (standard streams on command-line or terminal) a). Start a command-line or terminal of your system
b). Prepare for the input file which you want to analyze (For example) $ pwd /home/usrname/work $ ls test.out test.pdb
c). Flow chart to execute analysis using ruby script
First, you select the FMO program which you used. In this case, Paics program was used for FMO calculation.
Second, you select your PAICS version being used. In this case, the Paics program 2012/05/13 version was used.
[Input value] ・1: Older version than Paics 2012/01/17 version ・2: Paics 2012/05/13 version or later ・exit: Exit from this script ↓
40
Third, you select the analysis type.
[Input value] ・1: “Selected-pairs” mode in “one-dimensional” table ・2: “All-pairs” mode in “two-dimensional” table ・exit: Exit from this script ↓ You select the write mode (type of energy). In this case, this script writes energy data of “MP2 [kcal/mol]” in output files.
[Input value] ・1: IFIEs data of HF (a.u.) ・2: IFIEs data of HF [kcal/mol] ・3: IFIEs data of dMP2 (a.u.) ・4: IFIEs data of dMP2 [kcal/mol] ・5: IFIEs data of MP2 (a.u.) ・6: IFIEs data of MP2 [kcal/mol] ・exit: Exit from this script ↓
41
You select to output a new PDB file chain identifier: “A” if chain identifier is a white space in the original PDB file. But, warning is issued when there is chain identifier in the original PDB file. In this case, chain identifier in original PDB file exists, so “1” is selected.
[Input value] ・1: To continue normally to run analysis ・2: A new PDB file (*_addchain.pdb) which is replacing raw chain identifier to “A” is output to work directory including the original PDB file if chain identifier is a white space in the original PDB file. But warning is issued when there is chain identifier in the original PDB file. ・exit: Exit from this script ↓ You input the Paics out file within the file extension (*.out) with full path information. And this ruby script outputs a log file (RbPaics_LigandInteractions.log) including the results of standard stream. In this case, a log file is output to the “/home/usrname/work” directory.
↓ You input the PDB file name within the file extension with full path information. * It is necessary to use the PDB file which you used to make the input file (*.inp) of PAICS calculation using PV or PyPaics. Note that the first atom of every amino acid residue in the PDB file must be “nitrogen atom (N)”.
↓ You input the output file name of the analysis result within any file extension (which is the format of ASCII text) with full path information. And not only an output file of ASCII format but also an output file of CSV format (which is defined comma delimited) is saved. In this case, the CSV file name is “test_analysis.csv” and is output to the “/home/usrname/work” directory. 42
↓ After this, analysis is starting. Ruby script gets the number of fragment from the PAICS out file, the number of fragment ligand (target), and the fragment number corresponding to ligand (target). After this, analysis is starting. Ruby script gets the number of fragment from the PAICS out file. You specify the range of the fragment numbers to extract IFIE data from PAICS out file. If input values are “Enter” or “Return”, the default range of this script is between 1 and max of fragment number. In this case, Input values are 1 and 516 (max of fragment number in this case).
Otherwise, you want to extract all data, you type “all” on “Input the fragment … (ifragment)”.
↓ 43
↓ Then, this script obtains other data from the PAICS out file.
↓
When “Finish to …” is displayed on terminal or is output in the log file (*.log), analysis and plotting process is over. In All-pair mode, this program check the sum of mulliken charge of FMO2 level in your system.
44
d). Output and log files This script outputs analyzed files to the directory which you input the output file name of the analysis result. In this case, this output directory is “/home/usrname/work”. Input files (*.out and *.pdb), output files (*.csv and *.output (ASCII text formant)) and plot file (*.pdf), log file (*.log). The result of standard stream (input and output) is accumulated as the log file (*.log). The following image shows the header of log file.
【data format】 In this case, the number of fragments is 516. So, this table is (1~516) × (1~516) in two-dimensional table.
45
3.3.2.2 In-line mode (Using options on command-line or terminal) a). Start a command-line or terminal of your system
b). Prepare for the input file which you want to analyze (For example) $ pwd /home/usrname/work $ ls test.out test.pdb
c). Execute analysis using ruby script with options * Options are in random order. * If you use IFIE-plot program with "-t" option, you must specify "all" option arguments. → If a Part of input values is standard input, this ruby script does not use “-t” option.
(Case 1): Print standard output (in terminal) $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –b /home/usrname/work/test.pdb –o /home/usrname/work/test.output –f 1 –i 2 –m 6 –p 2 –j 1,516 –c 1 * (–j 1, 516) or (–j all)
(Case 2): Do not print standard output (in terminal) $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –b /home/usrname/work/test.pdb –o /home/usrname/work/test.output –f 1 –i 2 –m 6 –p 2 –j all –c 1 –t
(Case 3): A Part of input values is standard input, the rest is option. (ex.) Print standard output (in terminal), write mode is all data The range of fragment residue sequence numbers is standard input in terminal. $ ruby RbAnalysisFMO.rb –r /home/usrname/work/test.out –b /home/usrname/work/test.pdb –o /home/usrname/work/test.output –f 1 –i 2 –m 6 –p 2 –c 1
* Analysis for GAMESS and ABINIT-MP is almost same as Analysis of Paics using RbAnalysisFMO. So, analysis for GAMESS and ABINIT-MP will be omitted in this manual.
46
4. References
[1] T. Tokiwa, S. Nakano, Y. Yamamoto, T. Ishikawa, S. Ito, K. Fukuzawa, Y. Mochizuki, H. Tokiwa, F. Misaizu, and Y. Shigeta, "Development of an Analysis Toolkit, AnalysisFMO, to Visualize Interaction Energies Generated by Fragment Molecular Orbital Calculation", J. Chem. Inf. Model. 59, 25-30 (2018). [2] M. W. Schmidt, K. K. Baldridge, J. A. Boatz, S. T. Elbert, M. S. Gordon, J. H. Jensen, S. Koseki, N. Matsunaga, K. A. Nguyen, S. J. Su, T. L. Windus, M. Dupuis, and J. A. Montgomery, "General Atomic and Molecular Electronic-Structure System", J. Comp. Chem. 14, 1347-1363 (1993). [3] T. Ishikawa and K. Kuwata, "Fragment molecular orbital calculation using the RI-MP2 method, Chem. Phys. Lett. 474, 195-198 (2009). [4] S. Tanaka, Y. Mochizuki, Y. Komeiji, Y. Okiyama, and K. Fukuzawa, "Electron-correlated fragment-molecular-orbital calculations for biomolecular and nano systems", Phys. Chem. Chem. Phys. 16, 10310-10344 (2014). [5] ABINIT-MP Open series (Ver. 1 Rev. 10): http://www.cenav.org/abinit-mp-open_ver-1-rev-10/, cited September 26th, (2018). [6] PaicsView: http://www.paics.net/paics_view_e.html, cited September 26th, (2018). [7] M. F. Sanner, "Python: a programming language for software integration and development", J. Mol. Graph. Model. 17, 57-61 (1999). [8] W. L. Delano, "The PyMOL molecular graphics system", (Delano Scientific, S. C., CA., Ed.) (2002). [9] D. G. Fedorov and K. Kitaura, "Modeling and visualizationfor the fragment molecular orbital method with thegraphical user interface FU, and analyses of protein?ligand binding." In Gordon, M. S., ed. Fragmentation: Toward Accurate Calculations on Complex Molecu-lar Systems. 1st Edition, Wiley in Hoboken, NJ, 119-139 (2017). [10] ABINIT-MP's pre/post processing program, BioStation Viewer: http://www.ciss.iis.u-tokyo.ac.jp/riss/dl/download/index.php#download_2, cited September 26th, (2018). [11] J. Aerts and A, Law, "An introduction to scripting in Ruby for biologists", BMC Bioinformatics 10, 221 (2009).
47
Appendix A – Preparation to install PV and Paics Installation of PV and PAICS needs gcc/g++ compiler, gfortran compiler, intel C compiler, inter fortran compiler, MPI software, freeglut, glut, LaTeX, (gnuplot), and tcl/tk. Here, this appendix section explains how to make, build, and install PV and PAICS on Ubuntu OS.
B – Installation of gcc/g++ compiler on Ubuntu $ bash # Due to use “*” in apt-get command $ sudo apt-get install gcc* $ sudo apt-get install glib* $ sudo apt-get install libstdc* $ sudo apt-get install libgcc* $ sudo apt-get install build-essential $ sudo apt-get install gcc-multilib $ sudo apt-get install rpm $ sudo apt-get install ia32-libs # Only needed if you install the 32bit compiler $ sudo apt-get install openjdk-6-jre-headless
C – Installation of gfortran compiler on Ubuntu $ sudo apt-get install gfortran
D – Installation of Intel C and Intel Fortran compiler 1. Download the package of Intel compiler (parallel studio) (Homepage): https://software.intel.com/en-us/articles/non-commercial-software-development/
On above the website, you will download the Linux package in “Intel® Parallel Studio XE Cluster Edition (includes Fortran and C/C++)”. → Check the check bottoms and push the “accept” bottom → Register your e-mail, country/region, etc., and submit → Take a note of serial number on the web-page, check the download option, and push the “Download now” bottom
2. Decompress tarfile $ gzip -dc parallel_studio_xe_2016_update2.tgz | tar –xvf –
48
3. Install Change the directory of “parallel studio”, and $ su $ ./install.sh
・step 1/7 → Select “1” ・step 2/7 → Scroll the page by pushing the “Enter” bottom, write “accept” and then select “1” ・step 3/7 → Select “1” → Input the serial number → Push “Enter” ・step 4/7 → Select “1” or “2” ・step 6/7 → Push “Enter” ・step 7/7 → Push “Enter” → Installed the directory of “/opt/intel”
4. Specify the environment variable on tcsh shell $ vi ~/.tschrc ####################################### ### alias # alias ifort 'ifort -assume buffered_io ' alias icc 'icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE ' # ####################################### ### Intel compiler # if !($?PATH) then setenv PATH /opt/intel/compilers_and_libraries_2016.2.181/linux/bin/intel64 else setenv PATH "/opt/intel/compilers_and_libraries_2016.2.181/linux/bin/intel64:${PATH}" endif # setenv LD_LIBRARY_PATH /opt/intel/lib/intel64 # ### MKL source /opt/intel/compilers_and_libraries_2016/linux/mkl/bin/mklvars.csh intel64 #
49
E – Installation of MPI (Message Passing Interface) Installation of openMPI 1. Download openMPI (Homepage): https://www.open-mpi.org/ (Download): https://www.open-mpi.org/software/ompi/
2. Decompress tarfile $ tar -xvzf openmpi-1.6.5.tar.gz or > gunzip -c openmpi-1.6.5.tar.gz | tar -xof – $ mv openmpi-1.6.5 openmpi-1.6.5-intel2016.2.181 $ cd openmpi-1.6.5-intel2016.2.181
3. Configure the package * You need to write the path of include and lib into makefile. $ ./configure --prefix=/usr/local/openmpi-1.6.5-intel2016.2.181
4. Make $ make $ sudo make install
5. Specify the environment variable on tcsh shell $ vi ~/.tcshrc ####################################### ### OpenMPI # set path = (/usr/local/openmpi-1.6.5-intel2016.2.181/bin $path) # setenv LD_LIBRARY_PATH /usr/local/openmpi-1.6.5-intel2016.2.181/lib:$LD_LIBRARY_PATH setenv MANPATH /usr/local/openmpi-1.6.5-intel2016.2.181/share/man:`man -w` #
F – Installation of other softwares (freeglut, glut, LaTeX, and tcl/tk) Installation of freeglut ・Using apt-get $ sudo apt-get install freeglut3 freeglut3-dev
・For source code 50
1. Download freeglut (Homepage): http://freeglut.sourceforge.net/ (Download): http://freeglut.sourceforge.net/index.php#download
2. Decompress tarfile $ zcat freeglut-*.*.*.tar.bz2 | tar -vxf - # “*.*.*” is your selected version $ cd freeglut-*.*.*
3. Configure the package $ ./configure
(cf.) NetBSD users may need a slightly different command. $ LDFLAGS=-Wl,-R/usr/X11R6/lib ./configure
4. Build and install freeglut $ make all $ make install
Installation of glut 1. Install xmkmf (or imake) $ sudo apt-get install xutils-dev or $ sudo apt-get install imake
2. Download glut3.7 from web-site (Homepage): https://www.opengl.org/resources/libraries/glut/ (Download): http://www.opengl.org/resources/libraries/glut/glut-3.7.tar.gz (ver 3.7 for Unix)
3. Decompress tarfile $ gunzip -dc glut-3.7.tar.gz | tar xf - $ cd glut-3.7
4. Make makefile (When you installed xutils-dev in above 1. ) $ xmkmf $ mv –f Makefile Makefile.bak $ imake -DUseInstalled -I/usr/lib/X11/config
51
5. Make $ make Makefiles $ make includes $ make depend $ cd lib/glut $ make
Installation of tcl/tk ・Using apt-get $ bash $ sudo apt-get install tcl* $ sudo apt-get install tk*
・For source code 1. Download freeglut (Homepage): http://www.tcl.tk/software/tcltk/ (Download): http://www.tcl.tk/software/tcltk/download.html
2. Decompress tarfile $ tar -xvzf tcl*.*.*-src.tar.gz $ tar -xvzf tk*.*.*-src.tar.gz
3. Configure for tcl $ cd tcl*.*.*/unix $ ./configure --enable-threads --prefix=[Install Path]
4. Make for tcl $ make $ sudo make install
5. Configure for tk $ cd tk*.*.*/unix $ ./configure --enable-threads --prefix=[Install Path]
52
6. Make for tk $ make $ sudo make install
Installation of LaTeX $ sudo apt-get install texlive-latex-extra $ sudo apt-get install latexmk dvipng $ sudo apt-get install xpdf gs-cjk-resource $ sudo apt-get install vfdata-morisawa5 dvi2ps-fontdesc-morisawa5 $ sudo apt-get install cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-cns1 cmap-adobe-gb1 $ sudo jisftconfig add
G – Installation of PV 1. Decompress tarfile $ tar -xvzf PAICSView-linux.ztar
2. Copy the original makefile $ cd PAICSView-linux/ $ cp Makefile-linux Makefile-linux.org
3. Rewrite makefile $ vi Makefile-linux
3.1 Select intel C compiler (Before the changes) DIR = . CC = g++ ↓ (After the changes) DIR = . #CC = g++ CC = icpc
53
3.2 Path of tcl and glut (Before the changes) LFLAGS = -lGL -lGLU -ltcl -ltk /usr/lib64/libglut.so.3 CFLAGS = -O3 -I${DIR}/include ${CLASS_INC}
#LFLAGS = -lGL -lGLU -ltcl8.5 -ltk8.5 /usr/lib64/libglut.so.3 #CFLAGS = -O3 -I${DIR}/include -I/usr/include/tcl8.5 ${CLASS_INC} ↓ (After the changes) #LFLAGS = -lGL -lGLU -ltcl -ltk /usr/lib64/libglut.so.3 #CFLAGS = -O3 -I${DIR}/include ${CLASS_INC}
LFLAGS = -lGL -lGLU -ltcl8.5 -ltk8.5 /usr/lib/libglut.so.3 CFLAGS = -O3 -I${DIR}/include -I/usr/include/tcl8.5 ${CLASS_INC}
4. Make $ make -f Makefile-linux
5. Execute $ ./main_linux.exe
6. Be able to execute “pv” $ su # cp main_linux.exe /usr/local/bin/pv * “#” is prompt on terminal for root.
7. Set path of pv $ vi ~/.***shrc # “***” is the shell name of your system (Add sentence of set path into shell file) set path = ($path /usr/local/bin)
$ source .***shrc or $ . .***shrc $ pv
54
H – Installation of Paics 1. Decompress tarfile $ tar -xvzf PAICS-20120117-1.tar.gz $ cd PAICS-20120117-1/
2. Copy the original makefile $ cp make.inc make.inc.org
3. Rewrite makefile $ vi make.inc
3.1 Change the make directory of PAICS (Before the changes) ROOT_DIR = /home/****/program/PAICS ↓ (After the changes) # ROOT_DIR = /home/****/program/PAICS ROOT_DIR = /home/****/PAICS-20120117-1
3.2 Change the library directory of intel compiler (Before the changes) ###################################### ########### LINK FLAGS ########### ######################################
LFLAGS= -L/opt/intel/mkl/10.2.1.017/lib/em64t ↓ (After the changes) ###################################### ########### LINK FLAGS ########### ######################################
# LFLAGS= -L/opt/intel/mkl/10.2.1.017/lib/em64t LFLAGS= -L/opt/intel/compilers_and_libraries_2016/linux/mkl/lib/intel64
55
3.3 Change the flag of library (Before the changes) ################################# ########## LIBLARY ########## #################################
# example (linux) LIB = -lmkl_lapack -lmkl_em64t -pthread -lguide
# example (linux) # LIB = -pthread -lguide -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm
# example (linux) # LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm
# example (Mac) # LIB = -framework accelerate ↓ (After the changes) ################################# ########## LIBLARY ########## #################################
# example (linux) # LIB = -lmkl_lapack -lmkl_em64t -pthread -lguide
# example (linux) # LIB = -pthread -lguide -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm
# example (linux) LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm
# example (Mac) # LIB = -framework accelerate
56
4. make $ make -f Makefile_PAICS ...... mpicc -Wall -O3 -c -I/home/****/PAICS-20120117-1/src/include -c -o /home/****/PAICS-20120117-1/src/eri/eri_recursive_66_44.o /home/****/PAICS-20120117-1/src/eri/eri_recursive_66_44.c ...... -L/opt/intel/composer_xe_2011_sp1.9.293/mkl/lib/intel64 -pthread -lguide -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm $