CONGEN (CONformation GENerator) is a program performing conformational searches on segments of proteins. It is most suited to problems where one needs to construct underdetermined loops or segments in a known structure, i.e. homology modeling. The program is a modification of CHARMM version 16, and has most of the capabilities of that version of CHARMM. Good references for CONGEN are R. E. Bruccoleri “Application of Systematic Conformational Search to Protein Modeling”, Molecular Simulations 10, 151-174 (1993); R. E. Bruccoleri, E. Haber, J. Novotny, “Structure of Antibody Hypervariable Loops Reproduced by a Conformational Search Algorithm”, Nature 335, 564-568 (1988); Nature 336, 1266 (1988); R. Bruccoleri and M. Karplus. Biopolymers 26, 137-168 (1987); and B. R. Brooks, R. E. Bruccoleri, B. D. Olafson, David J. States, S. Swaminathan, and Martin Karplus. J. Comput. Chem. 4, 187-217 (1983).
This documentation can be easily perused on-line using the INFO facility under GNU Emacs or using an HTML browser pointed to the file, $CGD/congen_toc.html. INFO provides a text oriented hypertext system where one can navigate throughout the documentation either by the hierarchy of information (chapters, sections, subsections, etc.) or by the cross references.
CONGEN is an non-interactive program. You specify commands in a command file, and they are executed by the program. Error messages and essential results are written to a log file, and other information can be written to files of your own choosing. Commands to CONGEN are generally written in free field format; exceptions are noted in the appropriate manual pages. CONGEN can generate graphics for both non-interactive and interactive use.
Despite the complexities in CONGEN's implementation, CONGEN is designed to be portable. At present, the code has been ported to VAXen running VMS, Silicon Graphics Iris 4D's, Convex C2's, Sun's, Hewlett-Packard Unix, Fujitsu VP series, DEC Alpha Unix, and Cray's running Unix.1 There are a small number of machine dependent features which must be accommodated when porting. In particular, the program is written using both C and FLECS (a Fortran preprocessor), and the interface between languages requires the use of a special program, wrapgen, see Wrapgen.
CONGEN is provided free of charge. It is my intention that the program be used as widely as possible so that all scientists can benefit from the work that many people have put into it. I do not believe that anyone should reinvent the wheel. If you find problems or make improvements, please let me know about them and make them available. My email address is `email@example.com'.
Although I try to keep CONGEN bug free, it is not. Don't trust the program too much. If you don't understand what it is doing from this manual or its operation, read the source code and run the program with a debugger. The source code and all of the tools necessary to build CONGEN are provided to help you understand it. I especially welcome comments from those who explore its internals.
Note added in 2009: I have not worked on Congen actively for over a decade, having taken my career in new directions. However, I thought it was important to revisit the program, and bring it up to date so that it could compiled on a modern Linux machine and pass its test cases again. This current release does that, but unfortunately, it is now somewhat dated. However, many of the algorithms are still useful, so please make use of it.
 A disclaimer is necessary here. Since CONGEN is under continuous development, and because we do not have continuous access to all these machines, “ported” means that it was successfully compiled and executed on those machines at some point prior to the current release. Changes made to the code after the test may not compile, but it should be a simple matter to correct any problems.