version 1.30 | version 1.31 |
---|
| |
int argc, CONST84 char *argv[]) { | int argc, CONST84 char *argv[]) { |
FILE *res_file; | FILE *res_file; |
const char *filename; | const char *filename; |
int charmmfmt, nocmap, i; | int charmmfmt, nocmap, nopatches, i; |
char msg[2048]; | char msg[2048]; |
psfgen_data *psf = *(psfgen_data **)data; | psfgen_data *psf = *(psfgen_data **)data; |
PSFGEN_TEST_MOL(interp,psf); | PSFGEN_TEST_MOL(interp,psf); |
| |
psfgen_kill_mol(interp,psf); | psfgen_kill_mol(interp,psf); |
return TCL_ERROR; | return TCL_ERROR; |
} | } |
if ( argc > 4 ) { | if ( argc > 5 ) { |
Tcl_SetResult(interp,"too many arguments specified",TCL_VOLATILE); | Tcl_SetResult(interp,"too many arguments specified",TCL_VOLATILE); |
psfgen_kill_mol(interp,psf); | psfgen_kill_mol(interp,psf); |
return TCL_ERROR; | return TCL_ERROR; |
} | } |
charmmfmt = 0; | charmmfmt = 0; |
nocmap = 0; | nocmap = 0; |
| nopatches = 0; |
for ( i = 1; i < argc-1; ++i ) { | for ( i = 1; i < argc-1; ++i ) { |
if ( strcmp(argv[i],"charmm") == 0 ) charmmfmt = 1; | if ( strcmp(argv[i],"charmm") == 0 ) charmmfmt = 1; |
else if ( strcmp(argv[i],"x-plor") == 0 ) charmmfmt = 0; | else if ( strcmp(argv[i],"x-plor") == 0 ) charmmfmt = 0; |
else if ( strcmp(argv[i],"cmap") == 0 ) nocmap = 0; | else if ( strcmp(argv[i],"cmap") == 0 ) nocmap = 0; |
else if ( strcmp(argv[i],"nocmap") == 0 ) nocmap = 1; | else if ( strcmp(argv[i],"nocmap") == 0 ) nocmap = 1; |
| else if ( strcmp(argv[i],"nopatches") == 0 ) nopatches = 1; |
else { | else { |
sprintf(msg,"ERROR: Unknown psf file format %s (not charmm or x-plor, cmap or nocmap).\n",argv[i]); | sprintf(msg,"ERROR: Unknown psf file format %s (not charmm or x-plor, cmap or nocmap).\n",argv[i]); |
Tcl_SetResult(interp,msg,TCL_VOLATILE); | Tcl_SetResult(interp,msg,TCL_VOLATILE); |
| |
nocmap?" without cross-terms":"", | nocmap?" without cross-terms":"", |
charmmfmt?" in CHARMM format":""); | charmmfmt?" in CHARMM format":""); |
newhandle_msg(interp,msg); | newhandle_msg(interp,msg); |
if ( topo_mol_write_psf(psf->mol,res_file,charmmfmt,nocmap,interp,newhandle_msg) ) { | if ( topo_mol_write_psf(psf->mol,res_file,charmmfmt,nocmap,nopatches,interp,newhandle_msg) ) { |
Tcl_AppendResult(interp,"ERROR: failed on writing structure to psf file",NULL); | Tcl_AppendResult(interp,"ERROR: failed on writing structure to psf file",NULL); |
fclose(res_file); | fclose(res_file); |
psfgen_kill_mol(interp,psf); | psfgen_kill_mol(interp,psf); |