================================================================= MACSIMUS (with blend V2.1a, cook V2.4g, pdb V1.4a) / 2009-05-18 ================================================================= This is MACSIMUS maintained by: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jiri Kolafa Institute of Physical Chemistry Prague Institute of Chemical Technology Technicka 5 166 28 Praha 6 Czech Republic mailto:jiri.kolafa(at)vscht.cz http://www.vscht.cz/fch/en/people/Jiri.Kolafa.html MACSIMUS homepage: ^^^^^^^^^^^^^^^^^^ http://www.vscht.cz/fch/software/macsimus/ License: ^^^^^^^^ * With the exception of (some of the code or data in): - ray, Mark VandeWettering "reasonably intelligent raytracer" - CHARMM force field (files: charmm*.par, charmm*/*.rsd) - GROMOS force field (files: gromos*.par, gromos*/*.rsd) - DOS mouse library by unknown author (mouselib.[ch]) - amoeba implementation by Z. Wagner all the code and data are (c) Jiri Kolafa and are covered by the GNU GENERAL PUBLIC LICENSE (see files man/gpl.html and man/gpl-cz.htm included). * MACSIMUS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA Platforms supported: ^^^^^^^^^^^^^^^^^^^^ * Unix (incl. Linux): ANSI C compiler required, X11 with include files and libraries required for graphics * CygWin (Unix for Windows): tested, works OK * (obsolete) DOS/Windows: if no graphics is required, any ANSI C compiler should work, tested with the EMX port of GCC * (obsolete) DOS graphics: Turbo C/Borland C++ graphics supported * (obsolete) EMX graphics, DOS or OS/2: limited features Linux: needed packages ^^^^^^^^^^^^^^^^^^^^^^ The following essential packages may not be included in your distribution: * gcc * unzip * libc6-dev * libx11-dev The following packages are optional or affect minor components only: * g++ (high-precision fitting via plot) * colorgcc (nice colors) * ncurses-base (ev) * libncurses5-dev (ev) * diff (installer) * less (start) * gdb (report bugs) This list is based on Debian and may be incomplete. Installation: ^^^^^^^^^^^^^ * Unpack zip archive (it includes subdirectory macsimus/) unzip macsimus-YYYY-MM-DD.zip * Go there cd macsimus/ * Run the installation script: sh install.sh gcc # linux, gcc compiler sh install.sh icc # linux, Intel compiler - ignore errors like "../bin/xxx/ and xxx are the same file" and "mv: cannot stat `cookew.exe'" -- see bin/mvexe.sh for explanation - for more info, run the script without arguments: sh install.sh * If this instant installation fails, read the next section Troubleshooting: ^^^^^^^^^^^^^^^^ ? lot of errors, directory bin/ is almost empty: ! check script "bin/mvexe.sh" ? cannot find libraries to link, or other compiler/linker errors ! check file "compile.mmk" ? blend, pdb do not work ! check enviroment variable BLENDPATH (see below) ? compilation errors as "already defined" fmax and fmin ! use OPT=-DC99 in "compile.mmk" ? errors like `undefined-compiler: command not found' ! run makemake with a compiler name If the installation script fails: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Small utilities can be compiled without a makefile (or project) by command like cc -O2 -o UTILITY UTILITY.c -lm or from IDE (Turbo/Borland C). The appropriate command to compile a utility is usually in the 1st comment line of the source. * Larger programs (of several modules) are compiled via a makefile (or project). This is normally generated automatically from the `metamake' file by utility called `makemake'. The source, `makemake.c', can be found in subdirectory `c/'. You should compile it first: cc -o makemake makemake.c Read comments in `makemake.c' for more info! There is one `metamake' file in each project directory (c/, blend/, show/, util/, ray/, or cook/XXX/ ...). Check it before starting `makemake' and follow optional `!include' statements! In most cases, there is only one file that you must edit (if the installation script, install.sh, has failed): `home.mmk' in the MACSIMUS home directory. It is then !included by all metamake-files. Write the fully qualified name of the MACSIMUS home directory to the `!home' statement. * More commands in the metamake-files: - `!dir' statement: usually only subdirectories of sim/ are to be customized (for cook and blend) according to the nonbonded potential functions (`sim/lj/' is the most usual choice for proteins). If there are more `!dir' statements (e.g., in `metamake' and a *.mmk file !included), they are merged. - CC= (Unix or Unix-like) - !cc= (DOS, default=tcc) - OPT=compiler options (e.g., -DX11, not for Turbo C) - note that `metamake' allows conditional processing and !include statement in the way similar to the C preprocessor - remember to erase all *.o files before recompiling with a new or updated makefile * Examples: makemake unix gcc # `unix' defines platform, `gcc' is optional conditional defining the compiler version makemake unix sgi lj # as above, `lj' is switch in `metamake' makemake large # generates project for Turbo C 2.0 with large memory model; to convert to Borland C++, use prjcfg.exe (obsolete) More on installing blend and pdb: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * before compiling, check the site-site potential (subdirectory of sim/) in `blend/metamake' * example (to get the standard Lennard-Jones version suitable for proteins): makemake lj [more options] make blend * set the environment variable BLENDPATH to point to the directory containing the parameter and residue topology file, e.g. export BLENDPATH=/home/jiri/macsimus/blend/data # Unix/sh setenv BLENDPATH /home/jiri/macsimus/blend/data # Unix/csh set BLENDPATH=D:\macsimus\blend\data # DOS More on installing cookXXX: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ * try script `cook/configure.sh' (run from directory `macsimus/cook/') * if this is not sufficient, customize `cook/generic/simopt.h' according to comments there * customize `metamake' * run `makemake [options]' * run `make cookXXX' Documentation: ^^^^^^^^^^^^^^ * The manual is `macsimus/man/macsimus.pdf' (The source is macsimus.tex; the old TeXi format is no longer supported) * Most programs and utilities print a help if run without any option on the command line, e.g.: show The exception is `ray' which needs `ray -h' to print help. More information on utilities can be usually found in their respective sources. * History and the latest changes since 2009 are in file `history.txt' (History older than 2008 is `blend/new' and `sim/new') Subdirectories (with respect to macsimus/): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ gen/ general modules (I/O, numerical, graphic, mouse) sim/ simulation-related modules sim/XXX/ site-site nonbonded potentials (excl. electrostatics) blend/ blend and pdb sources blend/data/ force fields, partial charges files blend/data/XXX/ residue and chemical files of force field XXX blend/che/ sample molecules cook/ cook sources cook/generic/ detailed customization of cook projects cook/XXX/ cook projects as generated by cook/configure.sh c/ general utilities util/ simulation and data analysis utilities show/ as above, with graphics ray/ Mark VandeWettering `reasonable intelligent raytracer' examples/ examples Bugs/questions: ^^^^^^^^^^^^^^^ Of course, there are bugs! Please report them to jiri.kolafa(at)vscht.cz. Please provide as much information as possible: it is especially necessary to attach all input files. Suggestions and comments of any kind are also welcome.