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

📄 addsol.c

📁 c++编写的并行拉马克遗传算法的程序。实现分析对接程序
💻 C
字号:
#include <stdio.h>#include <string.h>#define	LINE_LEN	120#define	DATA_LINE_NUM	140  /*lines in sol_par.dat -1*//*----------------------------------------------------------------------------*/void main(argc,argv)int argc;char **argv;/*----------------------------------------------------------------------------*/{int i,j;int found;char record[140][40];	/*buffer to hold sol_par.dat*/char line[LINE_LEN]; /*buffer to hold line and add solvation data */ FILE  *pdbq_fp, *outfile;if(argc<3){	fprintf(stderr, "Improper syntax for command. Correct syntax is ...\n");	fprintf(stderr,"addsol <inputfile> <outputfile>\n");	exit(1);};    pdbq_fp=fopen(argv[1],"r");if(pdbq_fp==NULL){	fprintf(stderr,"Cannot open %s\n",argv[1]);	exit(1);};/*if can't open pdb file*/outfile=fopen(argv[2],"w+");if(outfile==NULL){	fprintf(stderr,"Cannot open %s\n",argv[2]);	exit(1);};/*if can't open output file*/fprintf(outfile,"REMARK Solvation parameters added by \"addsol\"\n");fprintf(outfile,"REMARK \n");strcpy(record[0],"C   ---   9.82   4.00");strcpy(record[1],"O   ---   8.17 -17.40");strcpy(record[2],"N   ---   9.00 -17.40");strcpy(record[3],"CA  ---   9.40   4.00");strcpy(record[4],"CB  ALA  16.15   4.00");strcpy(record[5],"CB  ARG  12.77   4.00");strcpy(record[6],"CG  ARG  12.77   4.00");strcpy(record[7],"CD  ARG  12.77   4.00");strcpy(record[8],"NE  ARG   9.00 -24.67");strcpy(record[9],"CZ  ARG   6.95   4.00");strcpy(record[10],"NH1 ARG   9.00 -24.67");strcpy(record[11],"NH2 ARG   9.00 -24.67");strcpy(record[12],"CB  ASN  12.77   4.00");strcpy(record[13],"CG  ASN   9.82   4.00");strcpy(record[14],"OD1 ASN   8.17 -17.40");strcpy(record[15],"ND2 ASN  13.25 -17.40");strcpy(record[16],"CB  ASP  12.77   4.00");strcpy(record[17],"CG  ASP   9.82   4.00");strcpy(record[18],"OD1 ASP   8.17 -18.95");strcpy(record[19],"OD2 ASP   8.17 -18.95");strcpy(record[20],"CB  CYS  12.77   4.00");strcpy(record[21],"SG  CYS  19.93  -6.40");strcpy(record[22],"CB  GLU  12.77   4.00");strcpy(record[23],"CG  GLU  12.77   4.00");strcpy(record[24],"CD  GLU   9.82   4.00");strcpy(record[25],"OE1 GLU   8.17 -18.95");strcpy(record[26],"OE2 GLU   8.17 -18.95");strcpy(record[27],"CB  PHE  12.77   4.00");strcpy(record[28],"CG  PHE   7.26   0.60");strcpy(record[29],"CD1 PHE  10.80   0.60");strcpy(record[30],"CD2 PHE  10.80   0.60");strcpy(record[31],"CE1 PHE  10.80   0.60");strcpy(record[32],"CE2 PHE  10.80   0.60");strcpy(record[33],"CZ  PHE  10.80   0.60");strcpy(record[34],"CB  PRO  12.77   4.00");strcpy(record[35],"CG  PRO  12.77   4.00");strcpy(record[36],"CD  PRO  12.77   4.00");strcpy(record[37],"CB  GLN  12.77   4.00");strcpy(record[38],"CG  GLN  12.77   4.00");strcpy(record[39],"CD  GLN   9.82   4.00");strcpy(record[40],"OE1 GLN   8.17 -17.40");strcpy(record[41],"NE2 GLN  13.25 -17.40");strcpy(record[42],"CB  HIS  12.77   4.00");strcpy(record[43],"CG  HIS   7.26   0.60");strcpy(record[44],"ND1 HIS   9.25 -17.40");strcpy(record[45],"CD2 HIS  10.80   0.60");strcpy(record[46],"CE1 HIS  10.80   0.60");strcpy(record[47],"NE2 HIS   9.25 -17.40");strcpy(record[48],"CB  ILE   9.40   4.00");strcpy(record[49],"CG1 ILE  12.77   4.00");strcpy(record[50],"CG2 ILE  16.15   4.00");strcpy(record[51],"CD1 ILE  16.15   4.00");strcpy(record[52],"CB  LEU  12.77   4.00");strcpy(record[53],"CG  LEU   9.40   4.00");strcpy(record[54],"CD1 LEU  16.15   4.00");strcpy(record[55],"CD2 LEU  16.15   4.00");strcpy(record[56],"CB  LYS  12.77   4.00");strcpy(record[57],"CG  LYS  12.77   4.00");strcpy(record[58],"CD  LYS  12.77   4.00");strcpy(record[59],"CE  LYS  12.77   4.00");strcpy(record[60],"NZ  LYS  13.25 -39.20");strcpy(record[61],"CB  MET  12.77   4.00");strcpy(record[62],"CG  MET  12.77   4.00");strcpy(record[63],"SD  MET  16.39  -6.40");strcpy(record[64],"CE  MET  16.15   4.00");strcpy(record[65],"CB  TRP  12.77   4.00");strcpy(record[66],"CG  TRP   7.26   0.60");strcpy(record[67],"CD1 TRP  10.80   0.60");strcpy(record[68],"CD2 TRP   6.80   0.60");strcpy(record[69],"NE1 TRP   9.00 -17.40");strcpy(record[70],"CE2 TRP   6.80   0.60");strcpy(record[71],"CE3 TRP  10.80   0.60");strcpy(record[72],"CZ2 TRP  10.80   0.60");strcpy(record[73],"CZ3 TRP  10.80   0.60");strcpy(record[74],"CH2 TRP  10.80   0.60");strcpy(record[75],"CB  SER  12.77   4.00");strcpy(record[76],"OG  SER  11.04 -17.40");strcpy(record[77],"CB  THR   9.40   4.00");strcpy(record[78],"OG1 THR  11.04 -17.40");strcpy(record[79],"CG2 THR  16.15   4.00");strcpy(record[80],"CB  TYR  12.77   4.00");strcpy(record[81],"CG  TYR   7.26   0.60");strcpy(record[82],"CD1 TYR  10.80   0.60");strcpy(record[83],"CD2 TYR  10.80   0.60");strcpy(record[84],"CE1 TYR  10.80   0.60");strcpy(record[85],"CE2 TYR  10.80   0.60");strcpy(record[86],"CZ  TYR   7.26   0.60");strcpy(record[87],"OH  TYR  10.94 -17.40");strcpy(record[88],"CB  VAL   9.40   4.00");strcpy(record[89],"CG1 VAL  16.15   4.00");strcpy(record[90],"CG2 VAL  16.15   4.00");strcpy(record[91],"FE  HEM   1.70 -39.20");strcpy(record[92],"CHA HEM  10.80   0.60");strcpy(record[93],"CHB HEM  10.80   0.60");strcpy(record[94],"CHC HEM  10.80   0.60");strcpy(record[95],"CHD HEM  10.80   0.60");strcpy(record[96],"C1A HEM  10.80   0.60");strcpy(record[97],"C2A HEM  10.80   0.60");strcpy(record[98],"C3A HEM  10.80   0.60");strcpy(record[99],"C4A HEM  10.80   0.60");strcpy(record[100],"CMA HEM  16.15   4.00");strcpy(record[101],"NB  HEM   9.25 -17.40");strcpy(record[102],"C1B HEM  10.80   0.60");strcpy(record[103],"C4B HEM  10.80   0.60");strcpy(record[104],"NC  HEM   9.25 -17.40");strcpy(record[105],"C1C HEM  10.80   0.60");strcpy(record[106],"C2C HEM  10.80   0.60");strcpy(record[107],"C3C HEM  10.80   0.60");strcpy(record[108],"C4C HEM  10.80   0.60");strcpy(record[109],"CMC HEM  16.15   4.00");strcpy(record[110],"ND  HEM   9.25 -17.40");strcpy(record[111],"C1D HEM  10.80   0.60");strcpy(record[112],"C4D HEM  10.80   0.60");strcpy(record[113],"NA  HEM   9.25 -17.40");strcpy(record[114],"CAA HEM  12.77   4.00");strcpy(record[115],"CBA HEM  12.77   4.00");strcpy(record[116],"CGA HEM   9.82   4.00");strcpy(record[117],"O1A HEM   8.17 -18.95");strcpy(record[118],"O2A HEM   8.17 -18.95");strcpy(record[119],"C1A HEM  10.80   0.60");strcpy(record[120],"C2B HEM  10.80   0.60");strcpy(record[121],"CMB HEM  16.15   4.00");strcpy(record[122],"C3B HEM  10.80   0.60");strcpy(record[123],"CAB HEM  12.77   4.00");strcpy(record[124],"CBB HEM  16.15   4.00");strcpy(record[125],"CAC HEM  12.77   4.00");strcpy(record[126],"CBC HEM  16.15   4.00");strcpy(record[127],"C2D HEM  10.80   0.60");strcpy(record[128],"CMD HEM  16.15   4.00");strcpy(record[129],"C3D HEM  10.80   0.60");strcpy(record[130],"CAD HEM  12.77   4.00");strcpy(record[131],"CBD HEM  12.77   4.00");strcpy(record[132],"CGD HEM   9.82   4.00");strcpy(record[133],"O1D HEM   8.17 -18.95");strcpy(record[134],"O2D HEM   8.17 -18.95");strcpy(record[135],"C   CXL   9.82   4.00");strcpy(record[136],"O1  CXL   8.17 -18.95");strcpy(record[137],"O2  CXL   8.17 -18.95");strcpy(record[138],"N   AMN  13.25 -39.20");strcpy(record[139],"XX  XXX  13.25 -39.20");strcpy(record[140],"OXY ---   8.17 -17.40");while((fgets(line, LINE_LEN, pdbq_fp))!=NULL){/*just write any line without atom data to output file*/	if(strncmp(line,"HETA",4)&&strncmp(line,"ATOM",4)){		fprintf(outfile,"%s",line);	} else {		found=0;		for(j=0;j<4;j++){			if(!strncmp(record[j],line+13,3)){				found++;				strncpy(line+76,"   ",3);				strncpy(line+78,record[j]+8,6);				strncpy(line+84,"   ",1);				strncpy(line+85,record[j]+14,7);				fprintf(outfile,"%s\n",line);			};		};		for(j=4;j<DATA_LINE_NUM;j++){			if(!strncmp(record[j],line+13,7)){				found++;				strncpy(line+76,"   ",3);				strncpy(line+78,record[j]+8,6);				strncpy(line+84,"   ",1);				strncpy(line+85,record[j]+14,7);				fprintf(outfile,"%s\n",line);			};		};		if(found==0){			strcpy(line+76,"    0.00    0.00");			fprintf(outfile,"%s\n",line);		};	}} exit(1);}

⌨️ 快捷键说明

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