#!/usr/bin/perl
$return=`which gro2pxyz`;
die "be sure to set proper enviroment variables.\n" unless $return;


#mark values
$valALA=4;  #ALA
$valup=3;   #slovation factor 1 water
$valqm=2;  #solvation factor 0 water
$valmm=1;    #MM water

$templ="inp.templ";
die "please put the template input file for pqs here." unless -e $templ; 

foreach $file (@ARGV)
{
$basename=substr $file,0,-5;
@base_path=split(/\//, $basename);
$filename=@base_path[@base_path-1].".pxyz";
$xyzname=@base_path[@base_path-1].".xyz";
$d3xyz=@base_path[@base_path-1].".d3.xyz";
$chgname=@base_path[@base_path-1].".pntqinp";
$inpname=@base_path[@base_path-1].".inp";

#generate xyz and point charge file for PQS
$cmd9="pxyz_dropoff $valmm $filename|grep -v MW|xyz_fix_linenu|pxyz_2vxyz |pxyz_pqs_gen_xyz  nucinfo.pqs > $xyzname";
$cmd10="pxyz_select $valmm $filename|grep -v OW |xyz_add_linenu| pxyz_pqs_gen_pntq  chginfo.pqs > $chgname";

#update inp file for PQS
$cmd11="pqs_replace_field FILE FILE=$xyzname $templ > $inpname";

#dft-d3 
$cmd12="pxyz_dropoff $valmm $filename|grep -v MW|xyz_fix_linenu|pxyz_2vxyz |pxyz_pqs_gen_xyz  nucinfo.d3|xyz_add_linenu > $d3xyz";
$cmd13="getd3force $d3xyz";

#execute
system("$cmd9");system("$cmd10");
system("$cmd11");
system("$cmd12");system("$cmd13");
}

