Surface rdf

GROMACS version: 2018
GROMACS modification: Yes/No


I am trying to use the -surf option in gmx rdf in order to compute the rdf of certain molecules from the surface of my reference molecule (nearest atoms).
My script is:
gmx rdf -s tpr.tpr -ref ‘resname URA’ -sel ‘resname OCS’ -f xtc.xtc -surf mol -seltype whole_mol_com -bin 0.03

Unfortunately, I get the following error:
“Inconsistency in user input:
-surf only works with -ref that consists of atoms”

Obviously my molecule consists of atoms. And different scripts that don’t have the -surf flag work perfectly fine.

Anyone has an idea what is the problem?

Here are things I’ve tried but didn’t change the error:

  1. I tried adding -selrpos whole_mol_com, same error.
  2. I tried changing the molecules that I put under “resname X” but for any X it’s the same error.
  3. I tried changing the order in which all my flags appear.
  4. I tried doing -surf mol and -surf res.
  5. I tried running this script on different gromacs versions.

Dear Kosmith,

That means that you must use atoms as -seltype option.

Please, check the following manual (gmx rdf), specifically the second to last paragraph.

I hope it helps you.

Best wishes,

Marcelo Albuquerque
PhD Student
Physics Institute (IF-UFF)
Universidade Federal Fluminense (UFF)
Brazil - Niterói/RJ

Dear Marcelo,

Thank you for your reply.
Once I removed the -seltype flag, it works.
Thanks for your help.
I don’t know how you knew that was the issue. I read the documentation several times before. But the COM restrictions for -surf flag are only written for the -ref flag, not the -sel flag.


Hello Marcelo,

The code works now, but it causes some unnormalized-looking g® (see attached png file):

gmx_mpi rdf -s tpr.tpr -ref ‘resname TST’ -sel 'resname RER -f movie.xtc -o test.xvg -bin 0.03 -surf res

Any idea why? And how do I fix this?

Thanks again,

How are TST and RER distributed with respect to each other within your simulation?

For -surf , the selection provided to -ref must select atoms, i.e., centers of mass are not supported. Further, -nonorm is implied, as the bins have irregular shapes and the volume of a bin is not easily computable.

none : Use only the first factor. In this case, the RDF is only scaled with the bin width to make the integral of the curve represent the number of pairs within a range.

In other words the RDF is not normalised.

I knew that because I had already done that once ago, when I was trying different options to see what would be the outcome.
In fact, as far as I remember, the error you informed was the same I had gotten previously. That’s why I knew what to do. :)

I think you must specify an option of normalization, as @Dr_DBW has replied.

@Dr_DBW @MarceloAlbuquerque So what is the point of RDF with the -surf flag if it’s not normalized?
What information does it give me?
The -norm flag doesn’t work with -surf.
My TST is just one molecule and RER is the solvent, so plenty of RER.