3 <TITLE>GROMACS FAQ
</TITLE>
4 <LINK rel=stylesheet
href=
"online/style.css" type=
"text/css">
5 <BODY text=
"#000000" bgcolor=
"#FFFFFF" link=
"#0000FF" vlink=
"#990000" alink=
"#FF0000">
6 <TABLE WIDTH=
"98%" NOBORDER
>
8 <TABLE WIDTH=
400 NOBORDER
>
10 <a href=
"http://www.gromacs.org/"><img SRC=
"images/gmxlogo_small.jpg"BORDER=
0 height=
133 width=
116></a></td>
11 <td ALIGN=LEFT VALIGN=TOP WIDTH=
280><br><h2>GROMACS
<br>FAQ
</h2><font size=-
1><A HREF=
"online.html">Main Table of Contents
</A></font><br><br></td>
12 </TABLE></TD><TD WIDTH=
"*" ALIGN=RIGHT VALIGN=BOTTOM
><p><B>VERSION
4.0<br>
13 Sun
28 Aug
2005</B></td></tr></TABLE>
16 <p>If you don't find the solution to your problem here, you could have a look in
17 the online archives of our
<a href=
"http://www.gromacs.org/mailing_lists/index.php">
18 mailing lists
</a>, or subscribe yourself!
20 <p>There is also a special
<a href=
"http://www.gromacs.org/developer/developer_faq.php">Developer FAQ
</a>
21 at www.gromacs.org with more advanced and/or technical topics (e.g. automake/autoconf) available under
22 Developer info that you could use, and when all else fails it's
23 time to post your question to the mailing lists!
</p>
27 <h3>Download & Installation
</h3>
30 <li><A HREF=
"#getgromacs">How can I get GROMACS and how much does it cost?
</A>
31 <li><A HREF=
"#systemsupported">Is my system supported?
</A>
32 <li><A HREF=
"#binaries">Can't you provide binaries for my system?
</A>
33 <li><A HREF=
"#install">How do I compile and install the GROMACS package?
</A>
34 <li><A HREF=
"#compiler">How do I select the compiler and/or flags to use?
</A>
35 <li><A HREF=
"#fftw">The configuration script complains about FFTW - how
37 <li><A HREF=
"#fftwlocation">I HAVE installed FFTW, but the configuration script
38 still says it can't find it!
</A>
39 <li><A HREF=
"#MPI">How do I compile GROMACS for parallel runs?
</A>
40 <li><A HREF=
"#noMPIwrapper">When I enable MPI support for parallel runs, GROMACS
41 looks for a special MPI wrapper script like 'mpicc', but we don't use that; is it possible to
42 add the MPI library manually with -lmpi ?
</A>
43 <li><A HREF=
"#nomotif">How do I turn off Motif?
</A>
44 <li><A HREF=
"#ldpath">Everything compiles fine, but when I try to run a program
45 it complains about not finding libXXXX.so.
</A>
46 <li><A HREF=
"#osx_zsh">I get an error from the configure script on Mac OS X!
</A>
47 <li><A HREF=
"#noclue">It still won't compile and I haven't got a clue what the problem might be...
</A>
48 <li><A HREF=
"#relativespeed">How fast is GROMACS compared to other programs?
</A>
49 <li><A HREF=
"#speed">Is there any way I can make GROMACS run faster?
</A>
50 <li><A HREF=
"#besthardware">What hardware do you recommend?
</A>
51 <li><A HREF=
"#systemsize">How large systems can I simulate with GROMACS?
</A>
52 <li><A HREF=
"#pdfgraphics">Why is the front page graphics in the PDF manual strange?
</A>
55 <h3>System preparation
</h3>
58 <li><A HREF=
"#PDB">OK, I've downloaded a PDB file with a structure I'd like
59 to simulate. What should I do?
</A>
60 <li><A HREF=
"#multi">My protein has multiple subunits. Is that a problem?
</A>
61 <li><A HREF=
"#convert">How do I convert my structure from a .gro, .tpr, or trajectory
62 file to a .pdb file?
</A>
63 <li><A HREF=
"#scmis">The
<TT>pdb2gmx
</TT> program is complaining about long bonds and/or
64 missing atoms. What should I do?
</A>
65 <li><A HREF=
"#osxcpp">grompp doesn't find the C preprocessor /lib/cpp on OS X!
</A>
71 <li><A HREF=
"#1-4cut">What does
"1-4 (#,#) interaction not within cut-off" mean?
</A>
72 <li><A HREF=
"#libnet">What does
"Fatal error: Routine gmx_tx called in libnet.c" mean?
</A>
73 <li><A HREF=
"#output">My simulation seems to be running, but shouldn't there be any output?
</A>
74 <li><A HREF=
"#temp">Why do I get very strange temperatures in my simulation?
</A>
75 <li><A HREF=
"#recover">Is there any smart way to continue a run that crashed?
</A>
76 <li><A HREF=
"#largefiles">When my trajectory files reach
2GB I get strange error messages,
77 or they just disappear. Why?
</A>
83 <li><A HREF=
"#multPDB">How do I analyze a PDB file with multiple entries?
</A>
84 <li><A HREF=
"#twostruc">Can I fit two structures which do not have the
85 same number/sequence of atoms?
</A>
86 <li><A HREF=
"#group">I get tired of having to select the same index group
87 over and over again. Is there a better way to do it?
</A>
88 <li><A HREF=
"#diys">How do I perform an analysis that GROMACS doesn't have a program
92 <h3>Other problems
</h3>
95 <li><A HREF=
"#none">My problem isn't mentioned above, and/or none of the solutions seem to work?
</A>
102 <li><A NAME=
"getgromacs">
103 <B>How can I get GROMACS and how much does it cost?
</B><br><br>
104 You can download it immediately from this website, and it won't cost
105 you a penny! GROMACS is free software, licensed under the GNU General
106 Public License. The details are available in the
107 <A HREF=
"http://www.gnu.org/copyleft/gpl.html">license text
</a>, but
108 in short you can modify and redistribute the code as long as your
109 version is licensed under the GPL too.
<br><br>
111 <li><A NAME=
"systemsupported">
112 <B>Is my system supported?
</B><br><br>
113 GROMACS is a recursive acronym for
"GROMACS Runs On Most Of All Computer Systems" :-)
<br>
114 Since we use GNU automatic configuration scripts you should in principle
115 be able to compile GROMACS on any UNIX dialect, probably including Mac OS X.
116 Contact us if you have any problems. At least Solaris, IRIX, Linux (both x86 and alpha),
117 Tru64/Digital Unix, and AIX should be virtually problem-free. An ANSI C compiler
118 is sufficient to compile GROMACS, but we definitely recommend a good Fortran
77
119 compiler too (performance-critical routines are available in fortran versions). You
120 won't need Fortran on Linux/x86 where we provide even faster assembly loops!
<br><br>
122 <li><A NAME=
"binaries">
123 <B>Can't you provide binaries for my system?
</B><br><br>
124 The problem is that we want the highest possible performance, and to achieve this
125 it is necessary to adapt compiler flags to your processor type. We also use special
126 mathematic libraries from several hardware manufacturers, and different versions
127 of MPI for parallel runs. This means we would have to provide about
10 different
128 sets of binaries for each processor on each operation system, and keep them updated
129 for each new release. Sorry, but that's simply not possible.
<br>
130 However, for Linux running on x86 computers it doesn't matter which compiler
131 flags we use since it doesn't affect the assembly loops, and we can thus distribute
132 RPM packages of GROMACS. If you want to run in parallel you probably have to install our
133 versions of the LAM MPI packages to get the correct version, or compile GROMACS yourself.
136 <li><A NAME=
"install">
137 <B>How do I compile and install the GROMACS package?
</B><br><br>
138 That's easy - we provide step-by-step instructions for you
<A HREF=
"/installation/">here
</A>.
<br>
139 If you're impatient you could just unpack the distribution and try
<br><br>
140 <table BORDER=
0 CELLSPACING=
0 CELLPADDING=
8 COLS=
3 WIDTH=
"100%" NOSAVE
>
142 <td WIDTH=
"2%" NOSAVE
><font color=
"#000000"></font></td>
143 <td WIDTH=
"98%" BGCOLOR=
"#000066" NOSAVE
><font color=
"#FFFFFF">
153 The configure script will complain if it doesn't find FFTW, but you will be told what to do.
<br><br>
154 This setup is new from version
3.0, so there might be some bugs we've missed, though. Don't
155 hesitate to post questions to the
<a href=
"http://www.gromacs.org/mailing_lists/users.php>mailing lists</a>
156 if you have problems.<br><br>
158 <li><A NAME="compiler
">
159 <B>How do I select the compiler and/or flags to use?</B><br><br>
160 Select the compiler by setting the CC and/or F77 environment variables before running the
161 GROMACS configure script (MPICC for the MPI C compiler). You can also set the corresponding compiler flags with CFLAGS and
162 FFLAGS, and the linker flags with LDFLAGS. If you want to add a library at the link stage
163 you can add the -llib flags to the LIBS variable, and include directories can be
164 added in the CPPFLAGS variable.<br><br>
167 <B>The configuration script complains about FFTW - how
168 do I install it?</B><br><br>
169 FFTW uses the same type of automatic configuration scripts as
170 GROMACS, so it's easy to configure and compile. The default setup
171 places libraries under /usr/local, but you can change it with
172 --prefix. One important difference is that GROMACS normally
173 is compiled in single precision, while FFTW defaults to double precision.
174 Configure and install FFTW with the command:<br><br>
175 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
177 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
179 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
180 <tt> ./configure --enable-float<br>
187 If you want to compile GROMACS with parallel MPI support you should
188 also add --enable-mpi to the FFTW configuration. Once the installation
189 is ready we recommend that you also install a double-precision version
190 of FFTW (nice to have) with:<br><br>
191 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
193 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
195 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
196 <tt> make distclean<br>
205 That's it. Consult <A HREF="http://www.fftw.org
">www.fftw.org</A> if you have any problems.<br><br>
207 <li><A NAME="fftwlocation
">
208 <B>I HAVE installed FFTW, but the configuration script
209 still says it can't find it!</B><br><br>
211 OK. The problem is most probably that your compiler doesn't look for the
212 header files and/or libraries in the place where you installed them. It's easy to fix; you
213 can just tell the GROMACS configure script to add those directories to the search paths.
214 Specify the header file directory (e.g. /home/erik/fftw/include) as<br><br>
215 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
217 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
219 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
220 <tt> CPPFLAGS="-I/home/erik/fftw/include
"</tt>
225 and the location of the libraries (e.g. /home/erik/fftw/lib) in<br><br>
226 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
228 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
230 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
231 <tt> LDFLAGS="-L/home/erik/fftw/lib
"</tt>
236 and then run the GROMACS configuration script. Note that some compilers don't search
237 /usr/local by default, so you might have to specify these paths even if you installed
238 FFTW in the default place.<br><br>
241 <B>How do I compile GROMACS for parallel runs?</B><br><br>
242 On most systems you only have to add the option --enable-mpi to the configure
243 script, and then compile GROMACS the normal way. For this to work you need to
244 have MPI communication libraries install, and some kind of wrapper script like
245 mpicc or mpcc to use when compiling MPI programs. MPI should always be present
246 on supercomputers, and if you are running on workstations we recommend LAM MPI,
247 <a href="http://www.lam-mpi.org
">www.lam-mpi.org</a>. On Linux it's even simpler -
248 just install the RPM packages we provide!<br><br>
250 On most supercomputers you can only run MPI programs on dedicated nodes, so
251 in this case you probably want all the analysis programs compiled without MPI first.
252 Since you normally only need the mdrun program with MPI support you can type
253 "make mdrun; make install-mdrun
" instead, but remember to type "make distclean
"
254 if you have previously compiled GROMACS without MPI. It is also possible to put a suffix
255 on the MPI-version programs, or just start MPI runs when an environment variable
256 is set. Check the options to the configure script with "./configure --help
".
259 <li><A NAME="noMPIwrapper
">
260 <B>When I enable MPI support for parallel runs, GROMACS
261 looks for a special MPI wrapper script like 'mpicc', but we don't use that; is it possible to
262 add the MPI library manually with -lmpi ?</B><br><br>
263 Sure - no problem, but it might not be entirely obvious if you are new to autoconf scripts.
264 Here's how to do it:<br><br>
265 To use the MPI library we need the header files (mpi.h) with definitions, and the MPI libraries
266 with the actual code (e.g. libmpi.a). If your system uses some special hardware it might
267 also be necessary to link with more libraries - ask your system administrator if you have
268 any problems. Start by location these headers and libraries on your system, and then add
269 them to your environment variables before running the configure script:
271 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
273 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
274 <td WIDTH="90%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
276 setenv CPPFLAGS "-I/path/to/your/mpi/include
"<br>
277 setenv LDFLAGS "-L/path/to/your/mpi/lib
"<br>
278 setenv LIBS "-lmpi
"<br>
279 setenv MPICC "cc
"</tt>
284 (This is valid for tcsh, for bash you should use export instead.) Note that these commands overwrite
285 any previous assignments, so you must add
286 all parts you want (you can use $VARIABLE to add the previous value of an environment variable).
288 Now you should be able to run ./configure --enable-mpi !
291 <li><A NAME="nomotif
">
292 <B>How do I turn off Motif?</b><br><br>
293 Just use the flag --without-motif-libraries (or headers).
294 If the configure script doesn't find both libraries and headers it will disable motif. This is useful when you have motif on the machine where you compile, but not on all machines you run on.<br><br>
296 <li><A NAME="ldpath
">
297 <b>Everything compiles fine, but when I try to run a program
298 it complains about not finding libXXXX.so.</b><br><br>
299 GROMACS and/or the FFTW package can be compiled with shared libraries. In fact,
300 it's the default setup in the Linux RPMs. This means we save space by not linking all the
301 routines into each binary, but call the shared library at runtime. Of course, this requires that you can find the library at runtime. For the GROMACS distribution programs we hardcode the location of the GROMACS and FFTW libraries, but if you compile your own programs or move your libraries you must tell the system where to find them!
302 Fortunately, this is quite easy to do. On Linux you can do it permanently for
303 all users if you are root, by adding the search path to the file /etc/ld.so.conf. Alternatively, you can add it to the LD_LIBRARY_PATH environment variable:
305 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
307 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
309 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
310 <TT>setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH:/opt/lib
"</TT>
315 (This is valid for tcsh, for bash you should use export instead.) Ask your
316 local sysadm how to add it to your login file so it's done automatically each
321 <li><A NAME="osx_zsh
">
322 <b>I get an error from the configure script on Mac OS X!</B><br><br>
323 This is because OS X uses Z shell for /bin/sh. This will hopefully be
324 fixed in a future release of automake (it is not caused by Gromacs), but in the
325 meantime you can install bash (if you don't already have it) and
326 use the command '/bin/bash ./configure' (Your bash location might be different from /bin/bash).
331 <li><A NAME="noclue
">
332 <B>It still won't compile and I haven't got a clue what the problem might be...</B><br><br>
333 Oops. Sorry, but those things happen :-) It's usually quite easy to fix. One possible
334 source of errors is the shared libraries we use to save space. You can try to disable
335 them with the --disable-shared flag to the configure script. You can also ask questions on the mailing
336 lists or contact us. BUT: Unless you attach copies of your configuration/make output and/or
337 log files we can only guess what your problem might be!<br><br>
340 <li><A NAME="relativespeed
">
341 <B>How fast is GROMACS compared to other programs?</B><br><br>
342 GROMACS is fast, VERY fast. In fact, on all benchmarks we've tested it's
343 3-10 times faster than any other program we've tried, many of which are
344 commercial. On x86 hardware GROMACS really excels due to the assembly loops.
345 Of course, speed isn't everything. There are cases where
346 we don't support a certain algorithm that program X supports, and
347 vice versa. For instance, our assembly loops are only available in single precision.
348 In any case - show us a benchmark were some other program
349 is faster and we'll be happy to implement that algorithm. <br><br>
353 <B>Is there any way I can make GROMACS run faster?</B><br><br>
354 That depends on your setup. If you are using x86 processors you should definitely
355 make sure that you compile GROMACS with assemblt loops, and that your OS
356 supports SSE instructions if you are using Pentium III/IV processors. If you
357 compiled GROMACS with assembly loops there will be a line in the logfile telling
358 you which loops we are using.<br>
359 On alpha hardware you might want to play around with enabling/disabling the
360 software invsqrt, and the inner loop vectorization. Modern alpha chips have a
361 fairly fast hardware sqrt, but they also seem to benefit even more from vectorizing the
362 innerloops and using the vectorized invsqrt provided in GROMACS.<br>
363 If you are using IBM hardware you should locate or download the MASS libraries
364 (mathematical accelerated subsystem). If you provide the location of this library
365 in the LDFLAGS environment variable GROMACS will automatically use fast vectorized
366 inner loops on IBM.<br>
367 On any system apart from Linux/x86 (where we use assembly innerloops) you should also
368 try to use a fortran compiler for better performance, and if you run Linux/alpha
369 you should use the Compaq compilers instead of gcc.<br><br>
370 You should always use single precision; there are very few cases where you
371 actually need double precision, and it's slower.<br><br>
372 Investigate the options <TT>-dummy</TT> and <TT>-heavyh</TT> to
373 <A HREF="/documentation/reference_3.1/online/pdb2gmx.html
"><TT>pdb2gmx</TT></A>
374 which control the constraining of hydrogen atoms and the mass of
375 unconstrained hydrogen atoms. This eliminates the highest freqency
376 motions in your system, enabling you to increase the timestep without
377 loss of accuracy to about 4 fs, or even up to 7 fs with negligible
378 loss of accuracy! (<I>J. Comput. Chem.</I> <B>20</B>,786).<br><br>
379 If your system has relatively slow disk-IO, and/or you write
380 frames and energies out very often, and/or you have a very large
381 system the performance might be limited by disk access. In that case,
382 you might consider writing fewer frames to your trajectories
383 (<TT>.xtc</TT> and especially <TT>.trr</TT> or <TT>.trj</TT>) and
384 energy file (<TT>.ene</TT> or <TT>.edr</TT>).<br><br>
387 <li><A NAME="besthardware
">
388 <B>What hardware do you recommend?</B><br><br>
389 If cost is an issue, you can't beat dual Pentium boxes due to the assembly loops!
390 Dual AMD machines should also be a nice option soon. Note that the Pentium 4 processors
391 achieve a high clock frequency by using a longer pipeline, so a Pentium 4 at 1.7 GHz is
392 about the same speed as a Pentium III at 1.2 GHz. Don't be fooled by the high clock!<br><br>
395 <li><A NAME="systemsize
">
396 <B>How large systems can I simulate with GROMACS?</B><br><br>
397 It's only limited by your memory, and GROMACS is quite modest in its
398 memory requirements. As an indictaion: a system of 12000 atoms takes
399 about 10Mb of memory, and 6000 atoms about 5.5Mb (on a SGI O2),
400 which comes down to just over 900 bytes memory use per atom in
401 your system (your mileage will vary). Due to the fact that we initially
402 developed GROMACS to run on our home-built parallel machine, with
403 only 8Mb of memory per processor, the code is quite well optimized for
404 memory use. To get an indication of scaling of GROMACS performance as
405 a function of system size, have a look at the
406 <A HREF="/benchmarks/scaling.php
">scaling benchmark page</A>.<br><br>
407 Note that the .gro format only support atoms numbers up to 99999, so
408 it will loop once it reaches 100000 atoms. This is no problem in GROMACS
409 since we don't use the atom number from the .gro file.<br><br>
412 <li><A NAME="pdfgraphics
">
413 <B>Why is the front page graphics in the PDF manual strange?</b><br><br>
414 This is a known problem with some versions of Acrobat reader on Linux. There
415 is nothing we can do about it, but in the cases we've tested the graphics
416 still prints fine on paper.<br><br>
420 <B>OK, I've downloaded a PDB file with a structure I'd like
421 to simulate. What should I do?</B><br><br>
422 Look at the <A HREF="/documentation/reference_3.1/online/flow.html
">flowchart</A> for a quick overview.
423 Start where it says "eiwit.pdb
" (this is somewhere at the top).
424 More detailed info can be found in the
425 <A HREF="/documentation/reference_3.1/online/getting_started.html
">Getting Started</A>
426 section, you can probably start where it says "Ribonuclease S-Peptide
".
430 <B>My protein has multiple subunits. Is that a problem?</B><br><br>
431 <TT>pdb2gmx</TT> can automatically process multimeric proteins,
432 but won't be able to make inter-subunit cystine bridges. A word of warning, though:
433 the units will only be recognized as different chains if they
434 have different chain identifiers!<br><br>
436 <li><A NAME="convert
">
437 <B>How do I convert my structure from a .gro, .tpr, or trajectory
438 file to a .pdb file?</B><br><br>
439 Any <a href="/documentation/reference_3.1/online/files.html
">generic structure</a> file,
440 for instance <TT>.gro</TT>, <TT>.pdb</TT> or <TT>.tpr</TT>, can be
441 converted to <TT>.pdb</TT> with
442 <a href="/documentation/reference_3.1/online/editconf.html
">editconf</a></TT>. You can view a
443 <TT>.pdb</TT> file with several programs, for instance <TT>rasmol</TT>. Two generic
444 structure files can be fitted with
445 <a href="/documentation/reference_3.1/online/g_confrms.html
">g_confrms</a></TT>, the two
446 superimposed structures can be written to a <TT>.pdb</TT> file. Any
447 <a href="/documentation/reference_3.1/online/files.html
">generic trajectory</a> format can be
448 converted with <a href="/documentation/reference_3.1/online/trjconv.html
"><TT>trjconv</TT></a>.
449 You can dump one frame with <TT>trjconv -dump</TT>, or write a
450 <TT>.pdb</TT> with multiple frames using <TT>trjconv -op -app</TT>.
451 If multiple structures in a <TT>.pdb</TT> are separated by
452 <TT>ENDMDL</TT> keywords, you should use <TT>rasmol -nmrpdb</TT> to
457 <B>The <TT>pdb2gmx</TT> program is complaining about long bonds and/or
458 missing atoms. What should I do?</B><br><br>
459 There are probably atoms missing earlier in the
460 <A HREF="/documentation/reference_3.1/online/pdb.html
"><TT>.pdb</TT></A> file
461 which makes <A HREF="/documentation/reference_3.1/online/pdb2gmx.html
"><TT>pdb2gmx</TT></A>
462 go crazy. Check the screen output of <TT>pdb2gmx</TT>, as it
463 will tell you which one is missing. Then add the atoms in your pdb file,
464 energy minimization will put them in the right place,
465 or fix the side chain with e.g. the
466 <A HREF="http://swift.embl-heidelberg.de/whatif/
">WhatIF program</A>.<br><br>
468 <li><A NAME="osxcpp
">
469 <B>grompp doesn't find the C preprocessor /lib/cpp on OS X!</B><br><br>
470 Yep, that's right. OS X is a real Unix system, but Apple have been moving
471 some stuff around. Look for it in /usr/bin or possible a place like
472 /usr/libexec/gcc/darwin/ppc/2.95.2/cpp. Since a lot of programs assume
473 cpp to be present in /lib it is probably smart to make a link, but you
474 can also specify the location with the cpp keyword in your mdp files.
477 <li><A NAME="1-
4cut
">
478 <B>What does "1-
4 (#,#) interaction not within cut-off
" mean?</B><br><br>
479 Some of your atoms have moved so two atoms separated by three bonds are
480 separated by more than the cutoff distance. This is BAD.
481 Most important: <b>do not increase your cut-off!</b> This error
482 actually indicates that the atoms have very large velocities,
483 which usually means that (part of) your molecule(s) is (are)
484 exploding. If you are using LINCS for constraints, you probably also
485 already got a number of LINCS warnings. When using SHAKE this will
486 give rise to a SHAKE error, which halts your simulation before the
487 "1-
4 not within cutoff
" error can appear. <br><br>
488 There can be a number of reasons for the large velocities in
489 your system. If it happens at the
490 beginning of the simulation, your system might be not equilibrated
491 well enough (e.g. it contains some bad contacts). Try a(nother) round
492 of energy minimization to fix this. Otherwise you might have a very
493 high temperature, and/or a too large
494 timestep. Experiment with these parameters till the error stops
495 occurring. If this doesn't help, check your topology!<br><br>
497 <li><A NAME="libnet
">
498 <B>What does "Fatal error: Routine gmx_tx called in libnet.c
" mean?</B><br><br>
499 You probably made a parallel mdrun without typing make distclean. The error
500 messages tells you that the GROMACS library you are using doesn't support parallel runs.<br><br>
502 <li><A NAME="output
">
503 <B>My simulation seems to be running, but shouldn't there be any output?</B><br><br>
507 <LI>Your simulation might simply be (very) slow, and since output is
508 buffered, it can take quite some time for output to appear in the
509 respective files. If you are trying to fix some problems and you want
510 to get output as fast as possible, you can set the environment
511 variable <TT>LOG_BUFS</TT> to 0 by using <TT>setenv LOG_BUFS 0</TT>,
512 this disables output buffering. Use <TT>unsetenv LOG_BUFS</TT> to turn
515 <LI>Something might be going wrong in your simulation, causing
516 e.g. <tt>not-a-number</tt>s (<TT>NAN</TT>) to be generated (these are
517 the result of e.g. division by zero). Subsequent calculations with
518 <TT>NAN</TT>'s will generate floating point exceptions which slow
519 everything down by orders of magnitude. On a SGI system this will
520 usually result in a large percentage of CPU time being devoted to
521 'system' (check it with <TT>osview</TT>, or for a multi-processor
522 machine with <TT>top</TT> and <TT>osview</TT>).
524 <LI>You might have all
525 <A HREF="/documentation/reference_3.1/online/mdp_opt.html#out
"><TT>nst*</TT></A> parameters (see
526 your <A HREF="/documentation/reference_3.1/online/mdp_opt.html
"><TT>.mdp</TT></A> file) set to 0,
527 this will suppress most output.
529 <LI>Your disk might be full. Eventually this will lead to
530 <TT>mdrun</TT> crashing, but since output is buffered, it might take a
531 while for <TT>mdrun</TT> to realize it can't write.
532 <li>You are runnning an executable compiled with MPI support (e.g.
533 <a href="http://www.lam-mpi.org
">LAM</a>) and did not start the LAM daemon
534 (lamboot). See LAM documentation.
539 <b>Why do I get very strange temperatures in my simulation?</b><br><br>
540 You probably have very close contacts or a too large time
541 step. This causes inaccurate integration which will usually result in
542 a large positive temperature drift. Try some more energy minimization
543 to get rid of the close contacts, or if that still doesn't help, try a
544 short equilibration run with a small(er) time step. <br><br>
546 <li><A NAME="recover
">
547 <b>Is there any smart way to continue a run that crashed?</b><br><br>
548 Yes, if the reason for the crash didn't have anything to doe with
549 the algorithms, i.e. it was due to a system crash, a full disk, or
550 a kill by the queuing system. Otherwise you'll have to use
551 <TT><a href="/documentation/reference_3.1/online/grompp.html
">grompp</a></TT>
552 and change the options.
554 To really continue a simulation as if nothing had happened, you will
555 need coordinates and velocities in full precision (i.e.
556 <TT><a href="/documentation/reference_3.1/online/trr.html
">.trr</a></TT> format).
557 <TT><a href="/documentation/reference_3.1/online/xtc.html
">.xtc</a></TT> trajectories are in
558 reduced precision (only 3 decimal places after the decimal point) and
559 do not contain velocity information at all. Feed this trajectory and
560 your origional <TT><a href="/documentation/reference_3.1/online/tpr.html
">.tpr</a></TT> file to
561 <TT><a href="/documentation/reference_3.1/online/tpbconv.html
">tpbconv</a></TT> to obtain a new
562 <TT><a href="/documentation/reference_3.1/online/tpr.html
">.tpr</a></TT> file, <EM>be sure</EM>
563 to specify the one-but-last frame from your
564 <TT><a href="/documentation/reference_3.1/online/trr.html
">.trr</a></TT> file, since the very
565 last frame is likely to be corrupted due to the crash. With the
566 <TT><a href="/documentation/reference_3.1/online/tpr.html
">.tpr</a></TT> file
567 <TT><a href="/documentation/reference_3.1/online/tpbconv.html
">tpbconv</a></TT> produces you can
568 restart your simulation.<br><br>
570 After the continuation run is finished, you will have your simulation
571 split up in separate files, which you will probably want to combine.
572 This can be done as follows (the same command works for xtc-files):<br><br>
573 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
575 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
577 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
578 <TT>trjcat -o whole.trr part1.trr part2.trr part3.trr</TT>
583 The energy files can be concatenated in a similar manner:<br><br>
584 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
586 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
587 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
588 <TT>eneconv -o whole.edr part1.edr part2.edr part3.edr</TT>
593 Since tpbconv sets the time in the continuation runs the files are
594 automatically sorted and overlapping frames removed. If you have a mix of
595 runs continued with tpbconv and grompp you might have to set the times yourself
596 (see the manual pages for details).
599 It is of course possible to start a simulation from the coordinates in
600 your <a href="/documentation/reference_3.1/online/xtc.html
">xtc</a> file, but in that case new
601 velocities will have to be generated resulting in a 'kink' in the
602 simulation. To prevent this you should write coordinates and
603 velocities to a <TT><a href="/documentation/reference_3.1/online/trr.html
">.trr</a></TT> file
604 during your simulations. Do this by setting
605 <A HREF=/documentation/reference_3.1/online/mdp_opt.html#out><TT>nstxout</TT></a> and
606 <A HREF=/documentation/reference_3.1/online/mdp_opt.html#out><TT>nstvout</TT></a> in your
607 <TT><a href="/documentation/reference_3.1/online/mdp.html
">.mdp</a></TT> file. You don't need
608 these frames very often (every 10 ps or so), but remember that when
609 <TT><a href="/documentation/reference_3.1/online/mdrun.html
">mdrun</a></TT> crashes, everything
610 calculated after the last frame in the <TT><a
611 href="/documentation/reference_3.1/online/trr.html
">.trr</a></TT> file, will have to be
612 recalculated for a proper continuation.<br><br>
614 <li><A NAME="largefiles
">
615 <b>When my trajectory files reach 2GB I get strange error messages,
616 or they just disappear. Why?</b><br><br>
617 This is a problem with the file system; when the system, or the C library,
618 or the compiler, or the NFS implementation (version 2) only uses 32 bits
619 for the file pointer you cannot use files larger than 2GB. On most modern
620 systems there are special compiler flags you can set to enable 64-bit file
621 pointers, but since the autoconf test for this doesn't work we have chosen
622 not to include any flags by default, since it can break other things. But
623 you can of course try anything if you add your own flags :-)
625 In any case, it is probably a good idea to try to keep your files
626 smaller than 2GB. You never know if you later might need to use it over
627 NFS version 2 or on some supercomputer system that doesn't support large
631 <li><A NAME="multPDB
">
632 <b>How do I analyze a PDB file with multiple entries?</b><br><br>
634 <A HREF="/documentation/reference_3.1/online/pdb.html
"><TT>.pdb</TT></A> file is
635 called "<TT>eiwit.pdb
</TT>", this is what you would do:<br><br>
636 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
638 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
639 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
640 <TT>pdb2gmx -f eiwit.pdb -reth -ter -n</TT>
647 <A HREF="/documentation/reference_3.1/online/pdb2gmx.html
"><TT>pdb2gmx</TT></A> keep all
648 hydrogens which are present in your input file. It will also <B>not
649 add</B> any missing hydrogens, so your molecules should be
650 complete. <TT>-ter</TT> will cause <TT>pdb2gmx</TT> to ask for termini
651 types for which you must select 'none' for both C- and N-terminus.
652 <TT>-n</TT> tells <TT>pdb2gmx</TT> to generate a
653 <A HREF="/documentation/reference_3.1/online/ndx.html
"><TT>.ndx</TT></A> file with the atoms
654 reordered to the GROMACS standard. <TT>pdb2gmx</TT> now generates a
655 topology file (<A HREF="/documentation/reference_3.1/online/top.html
"><TT>topol.top</TT></A>)
656 which exactly corresponds with the molecule(s) in your input file.
657 It also writes a coordinate file
658 (<A HREF="/documentation/reference_3.1/online/gro.html
"><TT>conf.gro</TT></A>).<br><br>
663 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
665 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
666 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
667 <tt>trjconv -f eiwit.pdb -o eiwit.xtc -n clean -timestep 1 -box 10 -center</tt>
673 Yes, <TT>-f eiwit.pdb</TT> works because a <TT>.pdb</TT> is also a
674 <A HREF="/documentation/reference_3.1/online/files.html
">trajectory format</A>
675 in GROMACS. <TT>-ox</TT> sets output to
676 <A HREF="/documentation/reference_3.1/online/xtc.html
"><TT>.xtc</TT></A>. <TT>-n clean</TT>
677 tells <A HREF="/documentation/reference_3.1/online/trjconv.html
"><TT>trjconv</TT></A> to
678 use the <TT>clean.ndx</TT> generated by
679 <A HREF="/documentation/reference_3.1/online/pdb2gmx.html
"><TT>pdb2gmx</TT></A>, so the atom
680 ordering in the output (<TT>.xtc</TT>) file will be according to GROMACS
681 standards. <TT>-timestep 1</TT> sets the timestep between output frames
682 to one, so the structures from the <TT>.pdb</TT> file get numbered
684 <TT>-ter</TT> causes <TT>TER</TT> markers in the <TT>.pdb</TT>
685 file to be seen as end-of-frame, default <TT>ENDMDL</TT> is used. If you
686 are not sure what is in your <TT>eiwit.pdb</TT>, <TT>TER</TT> is a good
687 guess, but you should check. If you have <TT>ENDMDL</TT> in stead of
688 <TT>TER</TT>, omit the <TT>-ter</TT>. <TT>-box 10</TT> sets a default
689 box-size in the output <TT>.xtc</TT> trajectory (since no box is stored
690 in a <TT>.pdb</TT> file). The size is in nm and should be larger than
691 your molecule size. <TT>-center</TT> resets the geometrical center of
692 each of your structures to the center of the box (the one you specify
693 with <TT>-box</TT>). <TT>trjconv</TT> will generate a <TT>.xtc</TT>
694 trajectory file with all the coordinates from your <TT>eiwit.pdb</TT>.
697 A not very exiting but mandatory step is:<br><br>
698 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
700 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
701 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
703 grompp -f grompp.mdp -c conf.gro -p topol.top</tt>
709 This will generate a run input file
710 (<A HREF="/documentation/reference_3.1/online/tpr.html
"><TT>topol.tpr</TT></A>) from the
711 <TT>topol.top</TT> and <TT>conf.gro</TT> you generated with
713 A <A HREF="/documentation/reference_3.1/online/mdp.html
">default <TT>grompp.mdp</TT></A> is
714 available. You can probably use it 'as is', but you might want or need
715 to modify some thing. In any case you are encouraged to
716 <A HREF="/documentation/reference_3.1/online/mdp_opt.html
">review the description</A> of the
717 numerous options in the <TT>.mdp</TT> file.
720 Now, suppose you want to calculate all cross-rmsd values for all
721 structures. Enter:<br><br>
722 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
724 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
725 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
727 g_rms -f eiwit.xtc -s topol.tpr -m</tt>
733 <TT>-f eiwit.xtc</TT> and <TT>-s topol.tpr</TT> are self-explanatory.
734 <TT>-m</TT> tells <A HREF="/documentation/reference_3.1/online/g_rms.html
"><TT>g_rms</TT></A>
735 to output an RMSD matrix in
736 <A HREF="/documentation/reference_3.1/online/xpm.html
"><TT>.xpm</TT></A> format, which can be
737 directly viewed with for example <TT>xv</TT>.
740 Of course there are many more analysis tools available. For example
741 <A HREF="/documentation/reference_3.1/online/ngmx.html
"><TT>ngmx</TT></A> a trajectory viewer.
742 A list of all tools is available in the <A HREF="/documentation/reference_3.1/online.html
">online
747 <li><A NAME="twostruc
">
748 <b>Can I fit two structures which do not have the
749 same number/sequence of atoms?</b><br><br>
750 Yes, just type:<br><br>
751 <table BORDER=0 CELLSPACING=0 CELLPADDING=8 COLS=3 WIDTH="100%
" NOSAVE >
753 <td WIDTH="2%
" NOSAVE><font color="#
000000"></font></td>
754 <td WIDTH="98%
" BGCOLOR="#
000066" NOSAVE><font color="#FFFFFF
">
755 <tt>g_confrms -f1 file1.xxx -f2 file2.xxx</tt>
761 any <A HREF="/documentation/reference_3.1/online/files.html
">generic structure format</A> which
762 for instance can be <TT>.pdb</TT>, <TT>.gro</TT> or <TT>.tpr</TT>.
763 The program will ask you to select subgroups of both structures for the
764 (non mass weighted) LSQ fit. These subgroups must have the same number of atoms, however the two
765 structures do <B>not</B> need to have the same number of atoms, i.e. two proteins
766 with the same number of residues but not the same type of residues can be
767 fitted on c-alpha's. You will be warned when the atomnames in the fit groups
768 do not match, but the program will go on.
769 Option <TT>-o</TT> gives a <TT>.gro</TT> file of the second structure fitted
771 Option <TT>-op</TT> gives a <TT>.gro</TT> file of the two structures fitted
772 on top of each other.
776 <b>I get tired of having to select the same index group
777 over and over again. Is there a better way to do it?</b><br><br>
778 Use <A HREF="/documentation/reference_3.1/online/make_ndx.html
"><TT>make_ndx</TT></A> to create
779 an <A HREF="/documentation/reference_3.1/online/ndx.html
"><TT>.ndx</TT></A> file with only one
780 group in it, this is done by typing '<TT>keep #</TT>' in <TT>make_ndx</TT>,
781 where '<TT>#</TT>' stands for the one group you want to have.
782 Name the file <TT>index.ndx</TT> (which is the default
783 filename for index files) and specify the option <TT>-n</TT> with your
784 favorite GROMACS analysis tool. Now this single group will get selected
785 automatically every time an index group is needed.
789 <b>How do I perform an analysis that GROMACS doesn't have a program
791 We've created a small well-commented template analysis program for you; look in
792 /usr/local/gromacs/share/template (or wherever you have gromacs installed.)
793 This program reads a topology and trajectory and shows you how to access
794 both coordinates and topology information like atom masses and charges.
795 There is also a proper GROMACS Makefile in this directory, so if you
796 copy the entire contents of the directory you should be able to type
797 "make template
" to build the program. It's easy to add more programs or
798 change the name by editing the Makefile.<br><br>
800 Now, if you wrote an analysis tool which, in your opinion, adds
801 something that is really missing in GROMACS, please post it on the
802 <a href="http://www.gromacs.org/mailing_lists/developers.php
">developers
803 mailing list</a> so that all other GROMACS users can also benefit from it!
806 <li><A NAME="none
"> <b>My problem isn't mentioned above, and/or none
807 of the solutions seem to work?</b> <br><br> Check the installation
808 instructions carefully if your problem is related to the
809 configuration, building and installation of GROMACS. Also try <A
810 HREF="/documentation/reference_3.1/online/getting_started.html
">"Getting
811 Started
"</A> where a guided tour of GROMACS is provided. A quick
813 HREF="/documentation/reference_3.1/online/flow.html
">flowchart</A> will
814 tell you if you missed any essential steps in setting up a run.
816 HREF="/documentation/reference_3.1/online/mdp.html
"><TT>.mdp</TT></A>
818 HREF="/documentation/reference_3.1/online/mdp.html
">sample
819 <TT>.mdp</TT> file</A> and the <A
820 HREF="/documentation/reference_3.1/online/mdp_opt.html
">mdp options
821 list</A> might solve a number of potential problems. In general it
822 never hurts to read the <A
823 HREF="/documentation/reference_3.1/online.html
">manual pages</A> of all
824 the GROMACS programs you (tried to) use. If all this still leaves you
825 with any unanswered questions, please post your question to the <a
826 href="/mailing_lists/users.php
">gmx-users mailing list</a>! <br><br>
832 <font size="-
1"><a href="http://www.gromacs.org
">http://www.gromacs.org</a></font><br>
833 <font size="-
1"><a href="mailto:gromacs@gromacs.org
">gromacs@gromacs.org</a></font><br>