[gmx-developers] documentation for xpm2matrix

Andrew Jewett jewett.ai at gmail.com
Fri Aug 17 08:28:04 CEST 2007

This is just a longer version of what I sent before.
It's not Shakespeare.  I hope at least the worst spelling mistakes are gone.


syntax (typical usage):

   xpm2matrix hbond.ndx groups1.ndx groups2.ndx [DA,AD] < hbmap.xpm >


    This program reads .xpm files generated by "g_hbond -hbm ...",
 and, for each frame in the trajectory, prints out a 2-dimensional table
 indicating which pairs of atoms (or residues, or groups of atoms)
 are connected together (a connectivity matrix). This table may be easier
 to interpret than the original .xpm file.  As an input it requires a pair
 of files ("groups1.ndx" and "groups2.ndx" in this example) and each file
 contains a list of groups.  (Each group typically represents the atoms
 belonging to each amino acid or nucleotide in a molecule.)  Since there
 are two lists of groups, you can look at the connectivity matrix between
 two different molecules.  The the two lists of groups do not have to
 correspond to residues from different molecules.  They can be identical.
     The atoms in each group are not required to be donors or acceptors
 (other atoms will be ignored).  It is possible to tell xpm2matrix
 to only consider the donor atoms from one group, and the acceptor atoms
 from another group. (See "DA" / "AD" below).
     Again, groups do not have to correspond to residues.  Of course, there
 can be multiple donors and acceptors in each group, and more than one
 connecting each pair of groups.  For example, one of list of groups
 (say "groups2.ndx") might contain only a single group consisting of all
 of the solvent atoms.  In that case, for every frame in the trajectory
 xpm2matrix would simply report the number of water molecules bonded to
 every residue/group in the molecule.

Output (stored in the "con.mat" file in the example above):

    For each frame in the trajectory used to generate the xpm file, this
 program generates a connectivity matrix (delimited by spaces and newlines):

c11 c12 c13 ... c1n
c21 c22 c23 ... c2n
c31 c32 c33 ... c3n
 :   :   :       :
cm1 cm2 cm3 ... cmn

 where cij = the number of hydrogen bonds connecting group i (from the
             first list of groups) with group j (from the second list)


 hbmap.xpm    An .xpm file created by "g_hbond -hbm" that you want to
              (See documentation for g_hbond.)


 hbond.ndx    The ndx file created by "g_hbond -hbn ..."
 groups1.ndx     The number of hydrogen bonds is counted between every pair
 groups2.ndx     of groups in these two index files: groups1.ndx &
 DA or AD     The 4th argument DA / AD is optional.

              By using the "DA" and "AD" arguments, the user can limit
              the atoms that the program considers from groups1.ndx
              and groups2.ndx.  The DA command line argument causes
              xpm2matrix to ignore all atoms from the first list of
              groups which are not potential donor atoms, and all atoms
              from the second list which are not potential acceptors.
              (The reverse is true for the AD command.)

Performance Issues:

 This program can consume lots of memory, due to the order that data is
 saved to the xpm file, especially for long trajectories.  If the program
 is performing very slowly (running out of memory), you can get around the
 problem by running g_hbond multiple times using the "-b" and "-e" flags,
 in order to generate multiple smaller .xpm files.  You can run xpm2matrix
 multiple times and concatenate the results together.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20070816/e5ed208b/attachment.html>

More information about the gromacs.org_gmx-developers mailing list