AMBER Archive (2006)

Subject: RE: AMBER: Performing Simulated Annealing?

From: Ross Walker (ross_at_rosswalker.co.uk)
Date: Fri Apr 28 2006 - 12:13:56 CDT


Hi Alfredo,

> I am trying to perform a conformational search using a
> molecular dinamic

I'm not sure here but you might be better off using something like Replica
Exchange to do the conformational search. It is probably more efficient and
less likely to get trapped in local minima. Maybe some of the REMD guru's
can chip in here.

> simulted annealing aproach. I have created the input file for
> sander in order
> to perform 1 cycle of the whole process. I was wondering if
> there is any
> keyword to repeat the warming-cooling cycle n times.

There is no specific keyword for this but you could script it quite well.
E.g. if you had an input file like:

 ...
  nmropt=1
 /
 &wt type='TEMP0', istep1=0,istep2=100000,
   value1=300.0, value2=400.0
 /
 &wt type='TEMP0', istep1=100001,istep2=200000,
   value1=400.0, value2=400.0
 /
 &wt type='TEMP0', istep1=200001,istep2=300000,
   value1=400.0, value2=500.0
 /
 &wt type='TEMP0', istep1=300001,istep2=400000,
   value1=500.0, value2=500.0
 /
 &wt type='TEMP0', istep1=400001,istep2=500000,
   value1=500.0, value2=300.0
 /
 &wt type='TEMP0', istep1=500001,istep2=600000,
   value1=300.0, value2=300.0
 /
 &wt type='END'
 /

At the end of this run it returns back to the original temperature of 300.0.
So then you could just run say 10 MD runs all of which use the same input
file (with irest=1 and ntx=5). This would then give you a longer and longer
trajectory where you keep repeating the same heating profile.

I.e. a simple run script could be:

#!/bin/csh
set AMBERHOME="/usr/local/AMBER8"
set MDSTARTJOB=2
set MDENDJOB=10
set MDCURRENTJOB=$MDSTARTJOB
set MDINPUT=0

echo -n "Starting Script at: "
date
echo ""

while ( $MDCURRENTJOB <= $MDENDJOB )
   echo -n "Job $MDCURRENTJOB started at: "
   date
   @ MDINPUT = $MDCURRENTJOB - 1
   $AMBERHOME/exe/sander -O -i anneal.in \
                            -o anneal$MDCURRENTJOB.out \
                            -p prmtop \
                            -c anneal$MDINPUT.rst \
                            -r anneal$MDCURRENTJOB.rst \
                            -x anneal$MDCURRENTJOB.mdcrd
   gzip -9 -v anneal$MDCURRENTJOB.mdcrd
   echo -n "Job $MDCURRENTJOB finished at: "
   date
   @ MDCURRENTJOB = $MDCURRENTJOB + 1
end
echo "ALL DONE"
 
I hope this helps.

All the best
Ross

/\
\/
|\oss Walker

| HPC Consultant and Staff Scientist |
| San Diego Supercomputer Center |
| Tel: +1 858 822 0854 | EMail:- ross_at_rosswalker.co.uk |
| http://www.rosswalker.co.uk | PGP Key available on request |

Note: Electronic Mail is not secure, has no guarantee of delivery, may not
be read every day, and should not be used for urgent or sensitive issues.

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu