ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/trunk/src/mengine/src/read_sdf.c
(Generate patch)
# Line 460 | Line 460
460                   }
461               } else if (strcasecmp(tag,"electrostatics") == 0)
462               {
463 <               FetchRecord(rfile,inputline);
464 <               sscanf(inputline,"%s %s %f %f",c1,tag,&min,&max);
465 <               if (strcmp(tag,"NONE") == 0)
463 >               tab = tabulator_new_from_file_using_header(rfile,"TREATMENT DIELECTRIC SCALE_FACTOR GBSA_INTERNAL GBSA_EXTERNAL",0);
464 >               if (tabulator_height(tab))
465                   {
466 <                   job_control.use_charge = TRUE;
467 <                   job_control.scale = 0.0;
468 <                 } else if (strcmp(tag,"SCALE") == 0)
469 <                 {
470 <                   job_control.use_charge = TRUE;
471 <                   job_control.scale = min;
472 <                 } else if (strcmp(tag,"GBSA") == 0)
473 <                 {
474 <                   job_control.use_gbsa = TRUE;
475 <                   solvent.type = 1;  // STILL
476 <                   solvent.EPSin = min;
477 <                   solvent.EPSsolv = max;
478 <                 }            
466 >                   if (strcmp(tab[0][0],"NONE") == 0)
467 >                     {
468 >                       job_control.use_charge = TRUE;
469 >                       job_control.scale = 0.0;
470 >                     } else if (strcmp(tab[0][0],"DIELECTRIC") == 0)
471 >                     {
472 >                       units.dielec = atof(tab[0][1]);
473 >                     } else if (strcmp(tab[0][0],"SCALE") == 0)
474 >                     {
475 >                       job_control.use_charge = TRUE;
476 >                       job_control.scale = atof(tab[0][2]);
477 >                     } else if (strcmp(tab[0][0],"GBSA") == 0)
478 >                     {
479 >                       job_control.use_gbsa = TRUE;
480 >                       solvent.type = 1;  // STILL
481 >                       solvent.EPSin = atof(tab[0][3]);
482 >                       solvent.EPSsolv = atof(tab[0][4]);
483 >                     }        
484 >                 }
485               }
486 <         }
486 >         }
487       }
488       // if (has_aromatic)
489       // need to deal with aromatic bonds

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines