|
|||||||||||||||||||||||||||||||||
AMBER Archive (2006)Subject: Re: AMBER: xleap not recognizing residue
From: Kenley Barrett (kenley.barrett_at_gmail.com)
Thanks very much for your reply. First, a question: When you say I need to
> !entry.HMH.unit.residues table str name int seq int childseq int
instead of like this?:
> !entry.HMH.unit.residues table str name int seq int childseq int
Secondly, a detailed explanation of how I made the library file is cut and
Kenley
I did my single point calculation using gamess. I ran the following script
#! /usr/bin/perl
#Usage: my_resp_gamess.perl [job_name]
#Begin of code
#Enviroment settings
$path ="/h1/kbarrett/amber_post_visit/2003_him/";
#Fortran files
$xyzfor = "xyz.f";
$espfor = "esp.f";
$cart2pdb = "cart2pdb.f";
$xyzfor = sprintf("%s%s",$path,$xyzfor);
$espfor = sprintf("%s%s",$path,$espfor);
$cart2pdb = sprintf("%s%s",$path,$cart2pdb);
#Temporary files
$xyztemp = "temp.866";
$esptemp = "temp.875";
#Read job_file_name
$jobname = $ARGV[0];
#Open log file
open(LOG,"$jobname.log");
@xyzdata=<LOG>;
close(LOG);
#Find the position of molecule in BOHR
#for($i = 0;$i <= $#xyzdata;$i++)
#{
# if ($xyzdata[$i] =~ /COORDINATES/)
# {
# $flag1 = $i;
# }
# if ($xyzdata[$i] =~ /INTERNUCLEAR/)
# {
# $flag2 = $i;
# }
# if ($xyzdata[$i] =~ /ICHARG/)
# {
# $flag3 = $i;
# }
#}
#set $flag1 and $flag2 according to line numbers in MHaa_New.log
$flag1 = 256;
$flag2 = 285;
#Get atom number
$flag1 = $flag1 + 2;
$flag2 = $flag2 - 2;
#$natom = $flag2 - $flag1 + 1;
#set atom number according to MHaa_New
$natom = 26;
#Get charge
#@temp_array = split(/ +/, $xyzdata[$flag3]);
#$charge = $temp_array[5];
#set charge according to MHaa_New
$charge = 0;
print "Total $natom atoms in this molecule with a charge of $charge.\n";
#Open dat file
open(DAT,"$jobname.dat");
@datdata=<DAT>;
close(DAT);
#In Hai's program he uses the term $#datdata which when I checked it
#took me to the last line of printed information in the .dat file.
#This doesn't work for me because after the esp information in my .dat file
#I have the information on the plt0rb and MolPlot input files at the
#end of my .dat file.
#Hai didn't have these in his files.
#So in the place of $#datdata I plugged in the line
#number of the last line of data before the pltOrb and MolPlot stuff.
#check that 159508 refers to correct line in MHaa_New.dat
if ($datdata[159508] =~ /1156 2.48894 -10.91061 -2.30196 0.103839E-01/)
{
print "okay\n";
}
#Get esp parameter position
for($i = 0;$i <= 159508 ;$i++)
{
if ($datdata[$i] =~ /ELPOTT/)
{
$flag3 = $i;
}
}
$line_esp=159508 - $flag3;
#Create esptemp file
open(TEMP,">$esptemp");
print TEMP "$line_esp\n";
for ($i = $flag3 + 1; $i <= 159508; $i++) { print TEMP "$datdata[$i]"; }
close(TEMP);
#Create xyztemp file
open(TEMP,">$xyztemp");
print TEMP "$natom, $line_esp, $charge\n";
for($i = $flag1; $i <= $flag2; $i++) { print TEMP "$xyzdata[$i]"; }
close(TEMP);
#Create esp dat file
`g77 $xyzfor; a.out < $xyztemp > $jobname.resp`;
`g77 $espfor; a.out < $esptemp >> $jobname.resp`;
#Create pdb file
`g77 $cart2pdb; a.out < $xyztemp > $jobname.final.pdb`;
#Finish
`rm $xyztemp $esptemp a.out`;
I then ran another script to produce input for respgen:
#! /usr/bin/perl
#Usage: runresp.perl [job_name] [charge]
$jobname = $ARGV[0];
$charge = $ARGV[1];
print "Total charge is $charge \n";
#Create ac(AnteChamber) file
`/opt/local/amber7/exe/antechamber -i $jobname.final.pdb -fi pdb -o
-fo ac`;
#Add charge
open(AC,"$jobname.ac");
@data=<AC>;
close(AC);
$data[0] =~ s/0.00/$charge/;
open(AC,">$jobname.ac");
for($i = 0;$i <= $#data;$i++)
{
printf AC $data[$i];
}
close(AC);
I then ran the following commands:
[kbarrett_at_anatase hybrid]$ /opt/local/amber7/exe/resp -O -i
[kbarrett_at_anatase hybrid]$ /opt/local/amber7/exe/resp -O -i
[kbarrett_at_anatase hybrid]$ /opt/local/amber7/exe/antechamber -i MHaa_New.ac
[kbarrett_at_anatase hybrid]$ /opt/local/amber7/exe/atomtype -i
[kbarrett_at_anatase hybrid]$ /opt/local/amber7/exe/antechamber -i
I changed the name "TMP" in the prep file to "HMH". Then I ran:
parmchk -i Mhaa_New_h.prep -f prepi -o Mhaa_New_h.frcmod
I edited the frcmod file to add the missing parameters. Then I copied
When I tried to read in the pdb file it crashed. A friend of mine fixed
loadoff HMH.lib
saveoff e hmh2.lib
I deleted the old HMH.lib and renamed hmh2.lib HMH.lib. This is final
On 5/7/06, David A. Case <case_at_scripps.edu> wrote:
-----------------------------------------------------------------------
| |||||||||||||||||||||||||||||||||
|