⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makelaunch.c

📁 c++编写的并行拉马克遗传算法的程序。实现分析对接程序
💻 C
字号:
/* 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 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -