The implementation is based on the following papers:
Anyone considering using the HFB method is strongly encouraged to read the above two papers to get an idea of the method. Nevertheless, the documentation page attempts to be sufficient for an anxious person to get started running HFB optimization. Reading the papers will still increase your productivity, though.
First of all, you must have a valid license and the source code of the CHARMM package. The early version of the HFB code has been incorporated into versions c34a1 and up. These do not require patching and should have HFB ready to use once charmm has been compiled with the HFB keyword in pref.dat. If you have an old version of charmm, preferably version c32b1 you can enable the HFB functionality by following the steps below. If you do not have the CHARMM package with the source code, please obtain it from the www.charmm.org.
To enable the HFB functionality in charmm c32b1, you would need to obtain three source files that normally reside in "$CHARMM_ROOT/source/rxncor". Specifically, you will need the HFB-modified adiab.src, travel.src and travel2.src source files or corresponding patches. In addition, it is strongly recommended that you obtain the test case input script and the data required to run it. The test script will help you understand the various ways the HFB can be used, and will also help to verify that you got the correct executable in the end, so that you can have the peace of mind during your important research. If you are interested in trying HFB out, and if you have c32b1 with the source code, please e-mail me at ikhavru-at-mccammon.ucsd.edu with a subject line "hfb source". At present, I will only make the HFB available to people from academic institutions within the US with the ".edu" e-mail addresses.
I shall provide MD5 checksum for the three original source files, so that you know what to expect from the patch procedure.
md5sum $CHARMM_ROOT/source/rxncor/adiab.src
0702e111e80b4e0fea0a6c6a2f546dd4 $CHARMM_ROOT/source/rxncor/adiab.src
md5sum $CHARMM_ROOT/source/rxncor/travel.src
2ed4319d1c015d895fd6be07e171324e $CHARMM_ROOT/source/rxncor/travel.src
md5sum $CHARMM_ROOT/source/rxncor/travel2.src
daebf7c57c42093697c15a57278a86b9 $CHARMM_ROOT/source/rxncor/travel2.src
If you get the same numbers it is OK to apply the patches I have, if not than you need to try to get the same numbers and then figure out what patch is necessary for the original files that you have.
Make sure to make a copy of your original files before applying any patches. Apply the patches the usual way:
patch "original" "patch"
Once you have patched the three source files (see above), you would need to put the HFB keyword into the pref.dat. Recompiling charmm with this option will incorporate the HFB code into the new executable. You can verify if the new charmm code now has the HFB functionality by querying charmm with "pref" in the input script. Now you are ready to run the test case. This is strongly recommended to make sure you got the correct executable.
The test case input script for the HFB should be placed in the directory "$CHARMM_ROOT/test/c32test". To run it, you would need some additional data, but to get an idea how to use the HFB you can just inspect the script.