eemParallel

Ver.1.0

利用マニュアル平成 26 年 3 月
合同会社ＰＥｘＰｒｏＣＳ

1. インストール	  まず、ソースコードのアーカイブを以下のコマンドで展開し、作成されたディレクトリに移動する。

$	  tar	  zxvf	  eemParallel_1.0.tar.gz	  $	  cd	  eemParallel	  	  次に、src ディレクトリに移動し、環境固有設定ファイル local_settings.mk を環境に合わせて適宜変更する。

$	  cd	  src	  $	  vi	  local_settings.mk	  	  なお、GNU コンパイラ、Intel コンパイラ、京コンピュータの富士通コンパイラ用には、
そ れ ぞ れ サ ン プ ル と し て 、 local_settings.mk.gnu 、 local_settings.mk.intel 、local_settings.mk.k を用意しているので、適当なものを local_settings.mk に上書きコピーした上で、適宜コンパイラオプション等を変更する。	  local_settings.mk の修正が終わったら、make コマンドにてビルドする。

$	  make	  これによって、eem ディレクトリに実行形式ファイル eemParallel が作成される。

22. 実行	  コマンドラインは以下の通りである。

mpirun	  –np	  <NumProcs>	  /path/to/eemParallel	  [options]	  expfile	  gmtfile	  Options:	  -­‐-­‐absrad,	  -­‐A	  arg

absolute radius	  -­‐-­‐relrad,	  -­‐R	  arg

comma separated list of relative radii (without space)	  -­‐-­‐pcut,	  -­‐p	  arg

first P value cutoff	  -­‐-­‐itr,	  -­‐i	  arg

itration for second P value calculation-­‐-­‐outfile,	  -­‐o	  arg

output file	  -­‐-­‐mingeneset,	  -­‐m	  arg

min geneset size	  -­‐-­‐maxgeneset,	  -­‐M	  arg

max geneset size	  -­‐-­‐log,	  -­‐l	  arg

logFile	  -­‐-­‐recnull,	  -­‐rrecycle null distribution	  ただし、/path/to の部分は、実際の実行形式ファイル eemParallel へのパスで置き換えること。	  -R オプションには複数の値をコンマで区切って指定することが可能となっている。ただし 、 コ ン マ で 区 切 っ た 値 の リ ス ト に は ス ペ ー ス を 入 れ な い よ う に 、 例 え ば 、 “-R0.05,0.1,0.15” のように指定する。また、相対半径を複数指定した場合には、それぞれの相対半径に対する計算に同数のプロセスを割り当てて計算する仕様となっているため、MPIのプロセス数は指定した相対半径の数の整数倍となるようにする必要がある。
入力ファイルの書式、および、その他の対応するオプションの内容については、オリジナ
ルの逐次版プログラムと同様である。	  ソースコードのアーカイブを展開して作成された eemParallel ディレクトリの下の data
ディレクトリにテストデータとして test.tab、test.gmt がある。これらを用いてテスト計算を行う場合は以下のように実行する。

3

$	  cd	  data	  $	  ../src/eem/eemParallel	  test.tab	  test.gmt	  なお、上記のように実行すると、進捗を表すメッセージと計算結果が全てターミナルに表示されることになる。計算結果をファイルに保存したい場合には、$	  ../src/eem/eemParallel	  test.tab	  test.gmt	  >	  test.out	  のようにする。また、$	  ../src/eem/eemParallel	  test.tab	  test.gmt	  1>	  test.out	  2>	  test.err	  &	  $	  tail	  –f	  test.err	  のようにすることで、計算結果が test.out に、進捗メッセージが test.err に保存され、かつ、進捗結果がターミナルに表示される。

4

付録：ソースコード・アーカイブの内容
ソースコードのアーカイブ eemParallel_1.0.tar.gz には、eemParallel_1.0 ディレクト
リ以下に、下記のファイルが保存されている：l

data-­‐large/	  ØGO.gmt	  Ø	  	  サンプル入力ファイル	  breastMiller.tab	  	  	  サンプル入力ファイル	  Øauto_pjsub_k.sh	  	  	  

「京」でのジョブ自動投入スクリプト	  Øextracttime.pl	  	  	  

計算時間抽出用補助スクリプト	  Øextracttime.sh	  	  	  計算時間抽出用スクリプト	  ØP0NxM/	  	  	  	  N プロセス×M 探索パラメータ用ディレクトリ	  	  	  	  	  	  	  (N,M)=(1,1),(2,1),(4,1),(8,1),(1,4),(2,4),(4,4),(8,4)	  ²ll	  run_test_k.sh	   	  	  「京」用実行スクリプト	  data/	  Øtest.gmt	   	  	  	  サンプル入力ファイル	  Øtest.tab	   	  	  	  サンプル入力ファイル	  Øauto_pjsub_k.sh	  	  	  「京」でのジョブ自動投入スクリプト	  ØP0NxM/	  	  	  	  N プロセス×M 探索パラメータ用ディレクトリ	  	  	  	  	  	  	  	  	  	  (N,M)=(1,1),(4,1),(8,1),(1,3),(4,3),(8,3)	  ²run_test.sh	  	  	  一般環境用実行スクリプト	  ²run_test_k.sh	   	  	  「京」用実行スクリプト	  ²test-­‐gnu.err	   	  	  GNU コンパイラ使用時のエラー出力	  ²test-­‐gnu.out	   	  	  GNU コンパイラ使用時の結果出力	  ²test-­‐intel.err	  	  	  Intel コンパイラ使用時のエラー出力	  ²test-­‐intel.out	  	  	  Intel コンパイラ使用時の結果出力	  ²test-­‐k.out	  	  	  「京」での結果出力	  src/	  ØMakefile	   	  	  	  メイクファイル	  Ølocal_settings.mk	   	  	  環境固有設定ファイル	  Ølocal_settings.mk.gnu	  	  GNU コンパイラ用設定ファイル	  Ølocal_settings.mk.intel	  	  Intel コンパイラ用設定ファイル	  Ølocal_settings.mk.k	  	  	  「京」用設定ファイル	  5ØØeem/	  ²AbstractEEMsearch.cpp	  	  AbstractEEMsearch クラス（実装）	  ²AbstractEEMsearch.h	  	  AbstractEEMsearch クラス（宣言）	  ²AbstractGeneSetAnalysis.cpp	  AbstractGeneSetAnalysis クラス（実装）	  ²AbstractGeneSetAnalysis.h	  	  AbstractGeneSetAnalysis クラス（宣言）	  ²CoherenceBasedEEM.cpp	  	  CoherenceBasedEEM クラス（実装）	  ²CoherenceBasedEEM.h	  	  CoherenceBasedEEM クラス（宣言）	  ²CoherenceBasedEEMsearch.cpp	  CoherenceBasedEEMsearch クラス（実装）	  ²CoherenceBasedEEMsearch.h	  	  CoherenceBasedEEMsearch クラス（宣言）	  ²DistConverter.cpp	  	  DistConverter クラス（実装）	  ²DistConverter.h	  	  	  DistConverter クラス（宣言）	  ²EEM.cpp	  	  	  EEM クラス（実装）	  ²EEM.h	  	  	  	  EEM クラス（宣言）	  ²EEMsearch.cpp	   	  	  EEMsearch クラス（実装）	  ²EEMsearch.h	  	  EEMsearch クラス（宣言）	  ²ExpressionModule.cpp	  	  ExpressionModule クラス（実装）	  ²ExpressionModule.h	  	  ExpressionModule クラス（宣言）	  ²ExpressionModuleSet.cpp	   	  ExpressionModuleSet クラス（実装）	  ²ExpressionModuleSet.h	  	  ExpressionModuleSet クラス（宣言）	  ²GeneSetAnalysis.cpp	  	  GeneSetAnalysis クラス（実装）	  ²GeneSetAnalysis.h	  	  GeneSetAnalysis クラス（宣言）	  ²Main.cpp	  	  	  メイン関数	  ²Makefile	  	  	  メイクファイル	  ²Makefile.depend	  	  	  メイクの依存関係	  ²wgetopt.h	  	  	  Windows 用 getopt ヘッダ	  	  utility/	  ²Date.cpp	  	  	  Date クラス（実装）	  ²Date.h	  	  	  	  Date クラス（宣言）	  ²Dist.cpp	  	  	  Dist クラス（実装）	  ²Dist.h	  	  	  	  Dist クラス（宣言）	  ²HypergeometricDistributionImpl.cpp	  	  超幾何分布クラス（実装）	  ²HypergeometricDistributionImpl.h	  超幾何分布クラス（宣言）	  6	  ²Makefile	  	  	  メイクファイル	  ²Makefile.depend	  	  	  メイクの依存関係	  ²MyException.cpp	  	  	  MyException クラス（実装）	  ²MyException.h	   	  	  MyException クラス（宣言）	  ²MyFunc.cpp	  	  	  MyFunc クラス（実装）	  ²MyFunc.h	  	  	  MyFunc クラス（宣言）	  ²MyMat.cpp	  	  	  MyMat クラス（実装）	  ²MyMat.h	  	  	  MyMat クラス（宣言）	  ²StopWatch.cpp	   	  	  StopWatch クラス（実装）	  ²StopWatch.h	  	  StopWatch クラス（宣言）	  	  以上7