We recommend that you run update_amber periodically to check if new bug fixes have been issued.
All patching is handled by the update_amber script located in $AMBERHOME now. It will check the Amber website for bug fixes, download any that may be needed, and apply them. It will keep track of the patches that have been applied so you can easily find them.
By default, the configure script will check for any updates if/when you run it, and it will ask you if you want to download and apply any new updates that may be available.
Alternatively, you can use update_amber directly to interact with patches.
See which patches have already been applied
To see which patches have been applied, run
cd $AMBERHOME ./update_amber --version # was `./patch_amber.py --patch-level' for AmberTools12
And it will return the latest patches that have been applied to Amber / AmberTools 13 (or 12).
Check for updates
To check and see if any updates are available (without actually downloading and applying them), use
cd $AMBERHOME ./update_amber --check-updates [--verbose #]
This will give you information about any updates that are available. If only one or two updates are available, it will print all of the information about them. The more updates that have not yet been applied, the less information will be printed (to avoid flooding you with text). You can manually set the amount of information you get regardless of the total number of available updates by using the --verbose flag. The available numbers are
- 0 — Just show the name of the update files
- 1 — Also show the name of the programs affected
- 2 — Also show the description of what the update does
- 3 — Also prints the name of the update creator and when it was created
- 4 — Also prints the name of every modified file
Download and apply patches
To download and apply patches that are available, use
cd $AMBERHOME ./update_amber --update
This will go online, download any patches that may be available and apply them each one by one.
Note: If any updates patch update_amber or any of the modules in updateutils/, it stops applying patches so that future patches can be applied with the fixed version. If this happens, a message will be printed after it quits, describing what to do. Therefore, you should continue to run
until it reports that AmberTools13 and Amber12 is up-to-date.
After applying any or all updates, AmberTools and Amber must be recompiled.
There are advanced options to track patches and work with bug fixes (including non-Amber created patches). These are advanced uses of update_amber, however, so I won't get into them here.
Suffice it to say, you can use the command
for a full statement of the program usage. If you provide no arguments, then it will print a short list of common options instead.
Working around a firewall
In some instances, computers that you wish to install Amber on may be behind a firewall that blocks access of update_amber to ambermd.org.
Do you connect via Proxy Server?
If you connect via a proxy server, you need to tell update_amber that it should connect via Proxy. Furthermore, if this is an authenticated Proxy that requires a user name and password, you will also need to set up the user name of the proxy. The password is not stored anywhere for security reasons—you will simply be asked for it when update_amber tries to connect to the internet. If there is no password, just press enter when asked for your password.
See below for an example:
cd $AMBERHOME ./update_amber --proxy <proxy address> ./update_amber --proxy-user <username>
If update_amber CANNOT access the internet
To work around a firewall, you will have to set up a mirror of the bugfix website in a site that you can access (it can even just be a folder on the same machine). You can do this easily with update_amber like so:
cd $AMBERHOME ./update_amber --amber-updates=/path/to/amber/updates # you can also use another URL ./update_amber --ambertools-updates=/path/to/ambertools/updates # You can also use another URL
You can undo this by running the command
To set up a local mirror, you must download all of the bugfix files and place them in /path/to/amber(tools)/updates/ on your local machine.
If you like this new method for working with and tracking patches, then here is where I will claim the credit for coming up with the idea and actually writing update_amber (and patch_amber.py). Ben Roberts and Tyler Luchko provided very helpful feedback and advice regarding its interface.
(There aren't too many places I can take the glory for this, so I suppose I'll take advantage of my Wiki for that purpose :) )