Multidistirubute via Condor

2007 年 5 月 5 日 改訂
井上 潤

 このページは condor という Supercomputer の管理システムを用いて multidistribute の解析を行うための個人的なメモです.multidistribute の一般的な操作方法に関してはこちらをご覧下さい.

[inoue@petal 1st_Fol]$ pwd
/home/inoue/33Noto_Fol/NotoRag_Fol/multidiv_Nuc_NotoRag/1st_Fol

baseml
[inoue@petal 1st_Fol]$ cat bm_condor.cmd

initialdir = /home/inoue/33Noto_Fol/NotoRag_Fol/multidiv_Nuc_NotoRag/1st_Fol
Rank = kflops

Executable = ./baseml
Universe = vanilla
requirements = (OpSys =="LINUX" && Arch =="X86_64")

should_transfer_files = YES
when_to_transfer_output = ON_EXIT_OR_EVICT
transfer_input_files = 1st.ctl, NotoRag.tree, testseq.1st

arguments = 1st.ctl > o1st
notification = NEVER
output = bm_1st.out
error = bm_1st.errror
log = bm_1st.log

Queue

estbranches
[inoue@petal 1st_Fol]$ cat eb_condor.cmd
initialdir = /home/inoue/33Noto_Fol/NotoRag_Fol/multidiv_Nuc_NotoRag/1st_Fol
Rank = kflops

Executable = ./estbranches
Universe = vanilla
requirements = (OpSys =="LINUX" && Arch =="X86_64")

should_transfer_files = YES
when_to_transfer_output = ON_EXIT_OR_EVICT
transfer_input_files = hmmcntrl.dat, testseq, NotoRag.tree, modelinf.1st

arguments = oest.1st > out.oest.1st
notification = NEVER
output = eb_1st.out
error = eb_1st.errror
log = eb_1st.log

Queue

multidivtime
[inoue@petal multidiv_Nuc_NotoRag]$ cat md_condor.cmd
initialdir = /home/inoue/33Noto_Fol/NotoRag_Fol/multidiv_Nuc_NotoRag
Rank = kflops

Executable = ./multidivtime
Universe = vanilla
requirements = (OpSys =="LINUX" && Arch =="X86_64")

should_transfer_files = YES
when_to_transfer_output = ON_EXIT_OR_EVICT
transfer_input_files = oest.1st, oest.2nd, oest.3rd, NotoRag.tree, multicntrl.dat, inseed

arguments = NotoRag_Uno > out.NotoRag_Uno
notification = NEVER
output = multidivtime.out
error = multidivtime.errror
log = multidivtime.log

Queue


固有値・固有ベクトル,アミノ酸組成のプリントアウト

解析例
[inoue@phoenix GmtREV_40Noto_fol]$ pwd
/home/inoue/b40Noto_fol/AA_40Noto_fol/multidiv_AA_40Noto/GmtREV_40Noto_fol

codeml.c

(1)
fprintf(fout,"\nDetailed output identifying parameters\n");\
の直後に以下の行を加える
fprintf(fout,"\n\ncategory 0 1 2 3 4 5 6 7\n");

(2)
} /* for(itree) */
の直前に以下のコードを加える.

FOR(i,com.ncode) Root[i]=exp(Root[i]*.01);

fprintf(fout, "\nRoot");
matout(fout, Root, 1, com.ncode);
FILE *fpRoot; fpRoot = fopen("evalfl.mtREVF", "w");
matout(fpRoot, Root, 1, com.ncode);
fclose (fpRoot);

fprintf(fout, "\nU_vector");
matout(fout, U, com.ncode, com.ncode);
FILE *fpU_vec; fpU_vec = fopen("evecfl.mtREVF", "w");
fprintf(fpU_vec, "A R N D C Q E G H I L K M F P S T W Y V\n");
matout(fpU_vec, U, com.ncode, com.ncode);
fclose (fpU_vec);

fprintf(fout, "\nV_vector");
matout(fout, V, com.ncode, com.ncode);
FILE *fpV_vec; fpV_vec = fopen("ievecfl.mtREVF", "w");
fprintf(fpV_vec, "A R N D C Q E G H I L K M F P S T W Y V\n");
matout(fpV_vec, V, com.ncode, com.ncode);
fclose (fpV_vec);

fprintf(fout, "\nfreq");
matout(fout, com.pi, 1, com.ncode);
FILE *fpFreq; fpFreq = fopen("reveqps.mtREVF", "w");
fprintf(fpFreq, "A \nR \nN \nD \nC \nQ \nE \nG \nH \nI \nL \nK \nM \nF \nP \nS \nT \nW \nY \nV \n");
matout(fpFreq, com.pi, 1, com.ncode);
fclose (fpFreq); exit(0);


Perl スクリプト: category 別 evalfl ファイルの作成 

|