I think it should be compatible (Jason might correct me if I am wrong).
Here is the tutorial: http://jswails.wikidot.com/helpful-scripts#toc8
Cheers
Hai
On Sat, Mar 19, 2016 at 2:26 AM, Sehrish Naz Aijaz <sehrish.naz.outlook.com>
wrote:
> Dear Hai,
> I have amber12 in my system. Is this script compatible for amber12 which I
> think not compatible with amber12. So what should I do???
>
> Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
> From: Hai Nguyen<mailto:nhai.qn.gmail.com>
> Sent: 19 March 2016 13:56
> To: AMBER Mailing List<mailto:amber.ambermd.org>
> Subject: Re: [AMBER] problem in plotting total energy graphs by perl script
>
> Can you try to use mdout_analyzer.py in AmberTools15? (It's pain to debug
> Perl code)
>
> Check http://ambermd.org/doc12/Amber15.pdf (page 515)
>
> Hai
>
> On Sat, Mar 19, 2016 at 1:25 AM, Sehrish Naz Aijaz <
> sehrish.naz.outlook.com>
> wrote:
>
> > Dear all,
> > I had run 10 ns simulation (AMBER12) of large compounds in TIP3P box to
> > check their stable conformation with time. the input file I used for
> > production is
> > NPT production with no restrains
> > &cntrl
> > imin=0, ntx=7, irest=1, ntrx=1, ntxo=1,
> > ntpr=500, ntwx=500, ntwv=200, ntwe=200,
> > ntf=2, ntb=2, cut=10.0,
> > nsnb=100, igb=0,
> > nstlim=2000000,
> > t=0.0, dt=0.001,
> > ntt=3, gamma_ln=1.0, tempi=300.0, temp0=300.0,
> > vlimit=20,
> > ntp=1, taup=1.0, pres0=1.0, comp=44.6,
> > ntc=2, tol=0.00000001,
> > /
> >
> > after getting the production files. I tried to calculate the total energy
> > graphs of the system by using perl script as follows
> > . #!/usr/bin/perl
> >
> >
> > if ($#ARGV < 0) {
> > print " Incorrect usage...\n";
> > exit;
> > }
> >
> >
> > foreach $i ( 0..$#ARGV ) {
> > $filein = $ARGV[$i];
> > $checkfile = $filein;
> > $checkfile =~ s/\.Z//;
> > if ( $filein ne $checkfile ) {
> > open(INPUT, "zcat $filein |") ||
> > die "Cannot open compressed $filein -- $!\n";
> > } else {
> > open(INPUT, $filein) || die "Cannot open $filein -- $!\n";
> > }
> > print "Processing sander output file ($filein)...\n";
> > &process_input;
> > close(INPUT);
> > }
> >
> > print "Starting output...\n";
> > .sortedkeys = sort by_number keys(%TIME);
> > .sortedavgkeys = sort by_number keys(%AVG_TIME);
> >
> > foreach $i ( TEMP, TSOLUTE, TSOLVENT, PRES, EKCMT, ETOT, EKTOT, EPTOT,
> > DENSITY, VOLUME, ESCF ) {
> > print "Outputing summary.$i\n";
> > open(OUTPUT, "> summary.$i");
> > %outarray = eval "\%$i";
> > foreach $j ( .sortedkeys ) {
> > print OUTPUT "$j ", $outarray{$j}, "\n";
> > }
> > close (OUTPUT);
> >
> > print "Outputing summary_avg.$i\n";
> > open(OUTPUT, "> summary_avg.$i");
> > %outarray = eval "\%AVG_$i";
> > foreach $j ( .sortedavgkeys ) {
> > print OUTPUT "$j ", $outarray{$j}, "\n";
> > }
> > close (OUTPUT);
> >
> > print "Outputing summary_rms.$i\n";
> > open(OUTPUT, "> summary_rms.$i");
> > %outarray = eval "\%RMS_$i";
> > foreach $j ( .sortedavgkeys ) {
> > print OUTPUT "$j ", $outarray{$j}, "\n";
> > }
> > close (OUTPUT);
> >
> >
> > }
> >
> >
> > sub by_number {
> > if ($a < $b) {
> > -1;
> > } elsif ($a == $b) {
> > 0;
> > } elsif ($a > $b) {
> > 1;
> > }
> > }
> >
> > sub process_input {
> >
> > $status = 0;
> > $debug = 0;
> > while ( <INPUT> ) {
> > $string = $_;
> >
> > print $_ if ( ! /NB-upda/ && $debug );
> >
> > if (/A V E R A G E S/) {
> > $averages = 1;
> > ($averages_over) = /.*O V E R.*(\d*).*S T E P S/;
> > }
> >
> > $rms = 1 if (/R M S/);
> >
> > if (/NSTEP/) {
> > ($time, $temp, $pres) =
> > /NSTEP =.*TIME.* =(.*\d*\.\d*).*TEMP.* =(.*\d*\.\d*).*PRESS =
> > (.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "time is $time, temp is $temp, pres is $pres\n";
> > }
> > $_ = <INPUT>;
> >
> > if (/Etot/) {
> > ($etot, $ektot, $eptot) =
> >
> > /Etot.*=(.*\d*\.\d*).*EKtot.*=(.*\d*\.\d*).*EPtot.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "Etot is $etot, ektot is $ektot, eptot is $eptot\n";
> > }
> > $_ = <INPUT>;
> > }
> > if (/BOND.*ANGLE.*DIHED/) {
> > ($bond, $angle, $dihedral) =
> >
> > /BOND.*=(.*\d*\.\d*).*ANGLE.*=(.*\d*\.\d*).*DIHED.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "bond is $bond, angle is $angle, dihedral is
> > $dihedral\n";
> > }
> > $_ = <INPUT>;
> > }
> > if (/1-4 NB/) {
> > ($nb14, $eel14, $nb) =
> > /1-4 NB.*=(.*\d*\.\d*).*1-4
> > EEL.*=(.*\d*\.\d*).*VDWAALS.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "nb14 is $nb14, eel14 is $eel14, vdwaals is $nb\n";
> > }
> > $_ = <INPUT>;
> > }
> > if (/EELEC/) {
> > ($eel, $ehbond, $constraint) =
> >
> > /EELEC.*=(.*\d*\.\d*).*EHBOND.*=(.*\d*\.\d*).*CONSTRAINT.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "eel is $eel, ehbond is $ehbond, constraint is
> > $constraint\n";
> > }
> > $_ = <INPUT>;
> > #
> > # check to see if EAMBER is in the mdout file (present when
> > # NTR=1)
> > #
> > if ( /EAMBER/ ) {
> > $_ = <INPUT>;
> > }
> > }
> > if (/EKCMT/) {
> > ($ekcmt, $virial, $volume) =
> >
> > /EKCMT.*=(.*\d*\.\d*).*VIRIAL.*=(.*\d*\.\d*).*VOLUME.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "Ekcmt is $ekcmt, virial is $virial, volume is
> > $volume\n";
> > }
> > $_ = <INPUT>;
> > }
> > if (/T_SOLUTE/) {
> > ($tsolute, $tsolvent) =
> > /T_SOLUTE =(.*\d*\.\d*).*T_SOLVENT =(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "Temp solute is $tsolute, temp solvent is $tsolvent\n";
> > }
> > $_ = <INPUT>;
> > }
> >
> > if (/Density/) {
> > ($density) = /.*Density.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "Density is $density\n";
> > }
> > $_ = <INPUT>;
> > }
> >
> > if (/Etot/) {
> > ($etot, $ektot, $eptot) =
> >
> > /Etot.*=(.*\d*\.\d*).*EKtot.*=(.*\d*\.\d*).*EPtot.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "Etot is $etot, ektot is $ektot, eptot is $eptot\n";
> > }
> > $_ = <INPUT>;
> > }
> > if (/ESCF/) {
> > ($escf) =
> > /.*ESCF.*=(.*\d*\.\d*)/;
> > if ( $debug ) {
> > print $_;
> > print "ESCF is $escf\n";
> > }
> > $_ = <INPUT>;
> > }
> >
> > # update arrays
> >
> > if ( $averages == 1 ) {
> > $AVG_TIME{$time} = $time;
> > $AVG_TEMP{$time} = $temp;
> > $AVG_PRES{$time} = $pres;
> > $AVG_ETOT{$time} = $etot;
> > $AVG_EKTOT{$time} = $ektot;
> > $AVG_EPTOT{$time} = $eptot;
> > $AVG_BOND{$time} = $bond;
> > $AVG_ANGLE{$time} = $angle;
> > $AVG_DIHEDRAL{$time} = $dihedral;
> > $AVG_NB14{$time} = $nb14;
> > $AVG_EEL14{$time} = $eel14;
> > $AVG_NB{$time} = $nb;
> > $AVG_EEL{$time} = $eel;
> > $AVG_EHBOND{$time} = $ehbond;
> > $AVG_CONSTRAINT{$time} = $constraint;
> > $AVG_EKCMT{$time} = $ekcmt;
> > $AVG_VIRIAL{$time} = $virial;
> > $AVG_VOLUME{$time} = $volume;
> > $AVG_TSOLUTE{$time} = $tsolute;
> > $AVG_TSOLVENT{$time} = $tsolvent;
> > $AVG_DENSITY{$time} = $density;
> > $AVG_ESCF{$time} = $escf;
> > $averages = 0;
> > } elsif ( $rms == 1 ) {
> > $RMS_TIME{$time} = $time;
> > $RMS_TEMP{$time} = $temp;
> > $RMS_PRES{$time} = $pres;
> > $RMS_ETOT{$time} = $etot;
> > $RMS_EKTOT{$time} = $ektot;
> > $RMS_EPTOT{$time} = $eptot;
> > $RMS_BOND{$time} = $bond;
> > $RMS_ANGLE{$time} = $angle;
> > $RMS_DIHEDRAL{$time} = $dihedral;
> > $RMS_NB14{$time} = $nb14;
> > $RMS_EEL14{$time} = $eel14;
> > $RMS_NB{$time} = $nb;
> > $RMS_EEL{$time} = $eel;
> > $RMS_EHBOND{$time} = $ehbond;
> > $RMS_CONSTRAINT{$time} = $constraint;
> > $RMS_EKCMT{$time} = $ekcmt;
> > $RMS_VIRIAL{$time} = $virial;
> > $RMS_VOLUME{$time} = $volume;
> > $RMS_TSOLUTE{$time} = $tsolute;
> > $RMS_TSOLVENT{$time} = $tsolvent;
> > $RMS_DENSITY{$time} = $density;
> > $RMS_ESCF{$time} = $escf;
> >
> > $rms = 0;
> > } else {
> > $TIME{$time} = $time;
> > $TEMP{$time} = $temp;
> > $PRES{$time} = $pres;
> > $ETOT{$time} = $etot;
> > $EKTOT{$time} = $ektot;
> > $EPTOT{$time} = $eptot;
> > $BOND{$time} = $bond;
> > $ANGLE{$time} = $angle;
> > $DIHEDRAL{$time} = $dihedral;
> > $NB14{$time} = $nb14;
> > $EEL14{$time} = $eel14;
> > $NB{$time} = $nb;
> > $EEL{$time} = $eel;
> > $EHBOND{$time} = $ehbond;
> > $CONSTRAINT{$time} = $constraint;
> > $EKCMT{$time} = $ekcmt;
> > $VIRIAL{$time} = $virial;
> > $VOLUME{$time} = $volume;
> > $TSOLUTE{$time} = $tsolute;
> > $TSOLVENT{$time} = $tsolvent;
> > $DENSITY{$time} = $density;
> > $ESCF{$time} = $escf;
> > }
> >
> > }
> > }
> > }
> >
> > But after running this perl script on the output files I got graph
> > displaying half values of output files as attached here. Can anybody
> guide
> > me whats wrong with the perl graph or my input file as my output files
> are
> > printing all values for energy but perl script plot half values???
> >
> >
> >
> > Sent from Mail for Windows 10
> >
> >
> > _______________________________________________
> > AMBER mailing list
> > AMBER.ambermd.org
> > http://lists.ambermd.org/mailman/listinfo/amber
> >
> >
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Sat Mar 19 2016 - 03:00:03 PDT