?? makelaunch.c
字號(hào):
/* makelaunch.c */#include <stdio.h>#include <stdlib.h>#define CHARS 128int main();int main(){ char jobname[CHARS], jobdir[CHARS], Copyright[132], binshare[CHARS], cmd[CHARS], FN_script[CHARS], FN_grpcmd[CHARS], FN_clsdpf[CHARS]; FILE *FP_script, *FP_grpcmd, *FP_clsdpf; strcpy( Copyright, "# Copyright (c) 1994-1995 Garrett M. Morris, @The Scripps Research Institute\n"); printf( "\nNOTE: make sure the hostnames are in a file called \"cluster\".\n\n"); printf( "Enter the job name (stem of the .dpf): "); scanf( "%s", jobname); printf( "Enter the full pathname of the directory containing the dpf: "); scanf( "%s", jobdir); printf( "Enter the full pathname of the \"bin/share\" directory: "); scanf( "%s", binshare); sprintf( FN_script, "%s.launch.com\0", jobname); if ((FP_script = fopen( FN_script, "w")) == NULL) { fprintf(stderr, "\nI'm sorry, I can't create \"%s\"\n", FN_script); exit(0); } fprintf( FP_script, "#!/bin/csh\n"); fprintf( FP_script, "#\n"); fprintf( FP_script, "%s", Copyright); fprintf( FP_script, "#\n"); fprintf( FP_script, "# Input for this script = \n"); fprintf( FP_script, "# a list of the n (10?) least used HPs...\n"); fprintf( FP_script, "#\n"); fprintf( FP_script, "foreach arg ( `cat cluster` )\n"); fprintf( FP_script, " # does it begin with - ?\n"); fprintf( FP_script, " if (\"$arg\" =~ -*) then\n"); fprintf( FP_script, " echo \"Argument $arg is an option\"\n"); fprintf( FP_script, " else\n"); fprintf( FP_script, " echo \"Launching %s on $arg\"\n", jobname); fprintf( FP_script, " if ( -x %s.$arg.dpf ) then\n", jobname); fprintf( FP_script, " /bin/rm -f %s.$arg.dpf\n", jobname); fprintf( FP_script, " endif\n" ); fprintf( FP_script, " ln -s %s.dpf %s.$arg.dpf\n", jobname, jobname); fprintf( FP_script, " rsh $arg \"cd %s ; %s/job %s.$arg -i >! %s.$arg.log\" &\n", jobdir, binshare, jobname, jobname); fprintf( FP_script, " endif\n"); fprintf( FP_script, "end\n"); sprintf( cmd, "cd %s ; grep '^types' %s.dpf > %s.cluster.dpf\n\0", jobdir,jobname,jobname); system( cmd ); sleep( 1 ); sprintf( FN_clsdpf, "%s.cluster.dpf\0", jobname); if ((FP_clsdpf = fopen( FN_clsdpf, "a")) == NULL) { fprintf(stderr, "I'm sorry, I can't find or open \"%s\"\n", FN_clsdpf); exit(0); } else { fprintf( FP_script, "#\n"); fprintf( FP_script, "# Use this for clustering all the results together,\n"); fprintf( FP_script, "#\n"); fprintf( FP_script, "# job %s.cluster >! %s.cluster.log & \n", jobname,jobname); fprintf( FP_script, "#\n"); fprintf( FP_clsdpf, "rmstol 1.5 # clustering rms tolerance/A\n"); fprintf( FP_clsdpf, "#rmsnosym # 1-for-1 atom comparison with reference structure\n"); fprintf( FP_clsdpf, "rmsref %s.pdbq # reference coordinates for RMSDs\n",jobname); fprintf( FP_clsdpf, "write_all_cluster_members\n"); fprintf( FP_clsdpf, "#cluster %s.grouped.pdbq # created at end of distributed runs\n",jobname); fprintf( FP_clsdpf, "cluster %s.docked.pdbq # created during distributed jobs\n",jobname); fprintf( FP_clsdpf, "#intelec # include internal electrostatics\n"); } sprintf( FN_grpcmd, "%s.group.com\0", jobname); if ((FP_grpcmd = fopen( FN_grpcmd, "w")) == NULL) { fprintf(stderr, "\nI'm sorry, I can't create \"%s\"\n", FN_grpcmd); exit(0); } fprintf( FP_grpcmd, "#!/bin/csh\n"); fprintf( FP_grpcmd, "#\n"); fprintf( FP_grpcmd, "%s", Copyright); fprintf( FP_grpcmd, "#\n"); fprintf( FP_grpcmd, "# Input for this script = \n"); fprintf( FP_grpcmd, "# a list of the n (10?) least used HPs...\n"); fprintf( FP_grpcmd, "#\n"); fprintf( FP_grpcmd, "/bin/rm -rf %s.grouped.pdbq %s.docked.pdbq\n", jobname,jobname); fprintf( FP_grpcmd, "echo '' > %s.grouped.pdbq\n", jobname); fprintf( FP_grpcmd, "echo '' > %s.docked.pdbq\n", jobname); fprintf( FP_grpcmd, "foreach arg ( `cat cluster` )\n"); fprintf( FP_grpcmd, " # does it begin with - ?\n"); fprintf( FP_grpcmd, " if (\"$arg\" =~ -*) then\n"); fprintf( FP_grpcmd, " echo \"Argument $arg is an option\"\n"); fprintf( FP_grpcmd, " else\n"); fprintf( FP_grpcmd, " grep '^[RAH][ET][MOT]' %s.$arg.dlg >> %s.grouped.pdbq\n", jobname,jobname); fprintf( FP_grpcmd, " grep '^DOCKED' %s.$arg.dlg >> %s.docked.pdbq\n", jobname,jobname); fprintf( FP_grpcmd, " endif\n"); fprintf( FP_grpcmd, "end\n"); fprintf( FP_grpcmd, "sed 's/^DOCKED: //' %s.docked.pdbq > %s.docked.pdbq.tmp\n", jobname,jobname); fprintf( FP_grpcmd, "/bin/mv -f %s.docked.pdbq.tmp %s.docked.pdbq\n", jobname,jobname); fprintf( FP_grpcmd, "echo \"-- %s.grouped.pdbq = `grep -c '^[AH][ET][OT]' %s.grouped.pdbq` atoms\"\n", jobname, jobname); fprintf( FP_grpcmd, "echo \"-- %s.docked.pdbq = `grep -c '^[AH][ET][OT]' %s.docked.pdbq` atoms\"\n", jobname, jobname); sprintf( cmd, "chmod a+x %s.launch.com %s.group.com\0", jobname,jobname); system( cmd );}/* EOF */
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -