CCL:G: Gaussian output problem



 Sent to CCL by: FyD [fyd()q4md-forcefieldtools.org]
 Dear Maciek,
 
I do not think **** is a bug; simply in the format you have the room for only 4 characters...
 
We encountered the same "problem" (not really one) in the Gaussian outputs related to molecular electrostatic potential computation. Using Perl, R.E.D. http://q4md-forcefieldtools.org/RED/ (you can download the code it is under the GNU General Public License) handles that easily using the code below (the code handles $NM molecules; $NC conformation & $w reorientations)
 
- we first calculate the number of MEP points to define the max. number of points
    if(/ESP FIT Center/ig){ $nbpoint[$NM]++;}
 
- then using this max. number of points you can do whatever you need; either save in another file with another format or re-build another Gaussian output...
 
I am sure you could follow the same idea: you simply need to find the correct filter...
 regards, Francois
 for($NC=1;$NC <=$nbconf[$NM];$NC++){
   for($w=1;$w<=$nbmod[$NM];$w++){
     $nbpoint[$NM]=0;
     open(JOB2LOG,"<JOB2-gau_m$NM-$NC-$w.log");
     foreach (<JOB2LOG>){ if(/ESP FIT Center/ig){ $nbpoint[$NM]++;} }
     close(JOB2LOG);
     format_name ESPO "HEADER";
     open(ESPO,">espot_m$NM-$NC-$w");
     write ESPO;
     $flag1=$flag2=$i=0;
     open(JOB2LOG,"<JOB2-gau_m$NM-$NC-$w.log");
     foreach (<JOB2LOG>){
        if((/Electrostatic Properties /ig)&&(/Atomic Units/ig)){
 $flag1=1; }
        if($flag1 == 1){ $flag2++; }
 
if(($flag2 > $nbatoms[$NM]+6)&&($flag2 < $nbpoint[$NM]+$nbatoms[$NM]+7)){
           ($charge[$i][$NM])=(split(' '))[2]; $i++;
        }
     }
     close(JOB2LOG);
     $i=0;
     open(JOB2LOG,"<JOB2-gau_m$NM-$NC-$w.log");
     foreach (<JOB2LOG>){
        if(/^       Atomic Center/ig) {
           ($x,$y,$z) = unpack("x32 A10 A10 A10",$_);
           $x=$x/0.529177249;
           $y=$y/0.529177249;
           $z=$z/0.529177249;
           printf ESPO ("
 %16.7E%16.7E%16.7E\n",$x,$y,$z); }
           if(/^      ESP Fit Center/ig) {
              ($x,$y,$z) = unpack("x32 A10 A10 A10",$_);
              $x=$x/0.529177249;
              $y=$y/0.529177249;
              $z=$z/0.529177249;
 
printf ESPO ("%16.7E%16.7E%16.7E%16.7E\n",$charge[$i][$NM],$x,$y,$z);
              $i++; }
           }
           close(JOB2LOG);
           close(ESPO);
     }
 }
 
could you help me with one problem, please? Every time I'm running G03 job I got problem with outputs. The problem is that I cannot extract structures because there are stars **** instead of atom numbers higher than 9999. Have you ever had this problem in your calculation if you had more than 9999 atoms in the system?
 It looks like this in output:
  9995          1      20001030      -12.655571   46.600810   32.540627
  9996          1      20001030      -12.533484   47.134581   33.952118
  9997          8      20001021        2.441067  -19.529269   31.331119
  9998          1      20001030        2.813824  -19.307495   32.184450
  9999          1      20001030        1.933916  -20.325103   31.491166
  ****          8      20001021       37.587292  -11.572024   28.812192
  ****          1      20001030       37.333847  -11.927328   27.960694
  ****          1      20001030       38.095189  -12.272395   29.221488
  ****          8      20001021       23.735956  -43.072924   13.135294
  ****          1      20001030       23.388276  -42.182008   13.115359
  ****          1      20001030       22.974070  -43.624340   13.312930
 Do you have any suggestions?
 Thanks in advance