drr is not recognized during eABF plumed

65 views
Skip to first unread message

Gourav Chakraborty

unread,
Jun 9, 2025, 12:10:20 PMJun 9
to PLUMED users
Hello,
I am trying to perform eABF with plumed+AMBER. However, while running the code, I got an error lilke:
#
PLUMED: ERROR
PLUMED: I cannot understand line: DRR ARG=phi,psi FULLSAMPLES=500 GRID_MIN=-pi,-pi GRID_MAX=pi,pi GRID_BIN=180,180 FRICTION=8.0,8.0 TAU=0.5,0.5
PLUMED: Maybe a missing space or a typo?
#

I have compiled with --enable-modules=all in addition to --enable-boost_serialization. Moreover, I also checked the configuration.txt file, it says drr on. But still facing the same issue everywhere.  I also tried switching to gromacs, but got the same issue. 

P.S I am using plumed's latest version (2.9.4), with AMBER24 and GROMACS2023.5.


Thanks in advance,
Gourav

Snow Summer

unread,
Jun 9, 2025, 12:31:12 PMJun 9
to PLUMED users
I guess the reason may be that your AMBER links to a different version of libplumedKernel.so. Can you check the linked library by ldd?

Gourav Chakraborty

unread,
Jun 9, 2025, 12:35:42 PMJun 9
to PLUMED users
How to do that? Can please guide on the same.

Snow Summer

unread,
Jun 9, 2025, 12:41:53 PMJun 9
to PLUMED users
You can run `ldd <YOUR_AMBER_PMEMD_BINARY>` and `ldd <YOUR_PLUMED_BINARY>` to post and compare the results. Please replace `<YOUR_AMBER_PMEMD_BINARY>` and `<YOUR_PLUMED_BINARY>` with the actual binary paths of pmemd and plumed, respectively.

Gourav Chakraborty

unread,
Jun 9, 2025, 12:49:19 PMJun 9
to PLUMED users
ldd /home/niladri/amber24-plumed/amber24/bin/pmemd

linux-vdso.so.1 (0x00007fff5d72c000)

libemil.so => /home/niladri/amber24-plumed/amber24/lib/libemil.so (0x00000c677368a000)

libnetcdff.so.6 => /home/niladri/amber24-plumed/amber24/lib/libnetcdff.so.6 (0x00000c677317f000)

libkmmd.so => /home/niladri/amber24-plumed/amber24/lib/libkmmd.so (0x00000c677367d000)

liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x00000c6772a00000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00000c6772919000)

libmvec.so.1 => /lib/x86_64-linux-gnu/libmvec.so.1 (0x00000c677281c000)

libplumed.so => /usr/local/lib/libplumed.so (0x00000c6773659000)

libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00000c6772400000)

libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00000c6772000000)

libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00000c677315f000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00000c6771c00000)

libnetcdf.so.13 => /home/niladri/amber24-plumed/amber24/lib/libnetcdf.so.13 (0x00000c6772739000)

libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3 (0x00000c6772693000)

/lib64/ld-linux-x86-64.so.2 (0x00000c67736b9000)

libplumedKernel.so => /usr/local/lib/libplumedKernel.so (0x00000c6770c00000)

libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00000c677264b000)

libboost_serialization.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_serialization.so.1.74.0 (0x00000c67723be000)

libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00000c6773143000)

libmpi.so.40 => /usr/local/lib/libmpi.so.40 (0x00000c6771ef3000)

libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00000c6772374000)

libopen-rte.so.40 => /usr/local/lib/libopen-rte.so.40 (0x00000c6771e38000)

libopen-pal.so.40 => /usr/local/lib/libopen-pal.so.40 (0x00000c6771af7000)

libpciaccess.so.0 => /lib/x86_64-linux-gnu/libpciaccess.so.0 (0x00000c6773648000)

ldd /usr/local/bin/plumed

linux-vdso.so.1 (0x00007fffdcb9b000)

libplumedKernel.so => /usr/local/lib/libplumedKernel.so (0x000009fcd3c00000)

libmpi.so.40 => /usr/local/lib/libmpi.so.40 (0x000009fcd4a98000)

libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000009fcd3800000)

libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000009fcd4a5e000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000009fcd3400000)

libboost_serialization.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_serialization.so.1.74.0 (0x000009fcd3bbe000)

libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x000009fcd4a42000)

liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x000009fcd2c00000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000009fcd3ad7000)

libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x000009fcd3a8d000)

libopen-rte.so.40 => /usr/local/lib/libopen-rte.so.40 (0x000009fcd3745000)

libopen-pal.so.40 => /usr/local/lib/libopen-pal.so.40 (0x000009fcd363c000)

/lib64/ld-linux-x86-64.so.2 (0x000009fcd4bb4000)

libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3 (0x000009fcd335a000)

libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x000009fcd2800000)

libpciaccess.so.0 => /lib/x86_64-linux-gnu/libpciaccess.so.0 (0x000009fcd3a82000)

libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x000009fcd3a3a000)

They both have the same path.

Snow Summer

unread,
Jun 9, 2025, 12:53:20 PMJun 9
to PLUMED users
It looks fine. Could you please post your PLUMED configuration file to see what happened?

Gourav Chakraborty

unread,
Jun 9, 2025, 12:58:03 PMJun 9
to PLUMED users
Sure, here is the script:
# Define torsional CVs
phi: TORSION ATOMS=5,7,9,15
psi: TORSION ATOMS=7,9,15,17

# DRR (extended Lagrangian ABF)
eabf: DRR ...
  ARG=phi,psi
  FULLSAMPLES=500
  GRID_MIN=-3.14159,-3.14159
  GRID_MAX=3.14159,3.14159
  GRID_BIN=180,180
  FRICTION=8.0,8.0
  TAU=0.5,0.5
  OUTPUTFREQ=50000
  HISTORYFREQ=500000
...
# UPPER WALLS at +179° (~3.124 rad)
uwall: UPPER_WALLS ...
  ARG=phi,psi
  AT=3.12414,3.12414
  KAPPA=150.0,150.0
  EXP=2,2
  EPS=1,1
  OFFSET=0,0
...

# LOWER WALLS at -179° (~-3.124 rad)
lwall: LOWER_WALLS ...
  ARG=phi,psi
  AT=-3.12414,-3.12414
  KAPPA=150.0,150.0
  EXP=2,2
  EPS=1,1
  OFFSET=0,0
...

# Output φ/ψ values, fictitious CVs, bias forces, and bias potentials
PRINT STRIDE=500 FILE=COLVAR ARG=phi,psi,eabf.phi_fict,eabf.psi_fict,eabf.phi_biasforce,eabf.psi_biasforce,uwall.bias,lwall.bias

Getting this error:
PLUMED: ERROR

PLUMED: I cannot understand line: DRR LABEL=eabf ARG=phi,psi FULLSAMPLES=500 GRID_MIN=-pi,-pi GRID_MAX=pi,pi GRID_BIN=180,180 FRICTION=8.0,8.0 TAU=0.5,0.5 OUTPUTFREQ=50000 HISTORYFREQ=500000


PLUMED: Maybe a missing space or a typo?

PLUMED: ################################################################################

PLUMED:

PLUMED: (core/PlumedMain.cpp:824) void PLMD::PlumedMain::readInputWords(const std::vector<std::__cxx11::basic_string<char> >&)

PLUMED: ERROR

PLUMED: I cannot understand line: DRR LABEL=eabf ARG=phi,psi FULLSAMPLES=500 GRID_MIN=-pi,-pi GRID_MAX=pi,pi GRID_BIN=180,180 FRICTION=8.0,8.0 TAU=0.5,0.5 OUTPUTFREQ=50000 HISTORYFREQ=500000


PLUMED: Maybe a missing space or a typo?

PLUMED: ################################################################################



Snow Summer

unread,
Jun 10, 2025, 11:26:09 AMJun 10
to PLUMED users
Sorry for my late reply. I have tried to compile PLUMED from scratch and am still not able to reproduce your issue. I used the following comands to install PLUMED:

./configure --enable-boost_serialization --enable-modules=all --disable-mpi
make -j4
sudo make install

and then I changed the run_cmake script in the PMEMD tarball as follows :

#  Assume this is Linux:

 cmake $AMBER_PREFIX/pmemd24_src \
   -DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/pmemd24 \
   -DCOMPILER=GNU  \
   -DMPI=FALSE -DCUDA=TRUE -DINSTALL_TESTS=TRUE \
   -DDOWNLOAD_MINICONDA=FALSE -DBUILD_PYTHON=FALSE \
   -DBUILD_PERL=FALSE -DBUILD_GUI=FALSE \
   -DPMEMD_ONLY=TRUE -DCHECK_UPDATES=FALSE -DPLUMED_ROOT=/usr/local -DNEED_plumed=TRUE \
   2>&1 | tee  cmake.log

fi

and ran the following commands to build and install PMEMD:

sh ./run_cmake
make -j4
make install

I followed the tutorial in https://ambermd.org/tutorials/basic/tutorial0/#Load_a_protein_and_nucleic_acid_force_ to build the system and added plumed configuration in the production run. DRR works with the following plumed.dat file:
phi: TORSION ATOMS=5,7,9,15  
psi: TORSION ATOMS=7,9,15,17  
eabf: DRR ...
   ARG=phi,psi  
   FULLSAMPLES=500  
   GRID_MIN=-pi,-pi  
   GRID_MAX=pi,pi  
   GRID_BIN=72,72
   FRICTION=8.0,8.0  
   TAU=0.5,0.5
   OUTPUTFREQ=50000  
   HISTORYFREQ=500000
   TEMP=300
   OUTPUTPREFIX=output_amber/wtm_eabf
...
metad: METAD ...
   ARG=eabf.phi_fict,eabf.psi_fict
   HEIGHT=0.8368
   SIGMA=0.21816615649929119712,0.21816615649929119712
   PACE=1000
   GRID_MIN=-pi,-pi
   GRID_MAX=pi,pi
   GRID_BIN=72,72
   TEMP=300
   BIASFACTOR=11
...
# monitor the two variables, their fictitious variables and applied forces.
PRINT STRIDE=10000 ARG=phi,psi,eabf.phi_fict,eabf.psi_fict,eabf.phi_biasforce,eabf.psi_biasforce FILE=COLVAR

I don't know why DRR does not work in your installation. Could you check "plumed help" to see if there is "drr_tool"?

Gourav Chakraborty

unread,
Jun 10, 2025, 11:47:19 AMJun 10
to PLUMED users
Thank you so much for taking time and solving it. Thankfully, now it is running. I tried with a previous version of plumed (2.8.4), and did the same procedure as earlier. Now it working. Thank you so much for the help.
But there is one more thing I want to ask, the script you gave me is for WT-Meta-eABF. Actually I am trying to use this method and compare how it is performing against normal WT-Meta and eABF alone. My query is how can I unbias the obtained PMF? For both WT-Meta-eABF and WT-Meta I will get a kernels.dat file right? I can use it for unbiasing, but what about eABF alone? And one more thing, should I use kernels.dat for  WT-Meta-eABF, as it only considers the effect of Meta and not eABF? What should I do? or should I use the colvars.traj file? If there is any script, can you please share with me?

Snow Summer

unread,
Jun 10, 2025, 1:21:07 PMJun 10
to PLUMED users
Hi! You only need the PMF from eABF, since its estimator includes the contribution from metadynamics.

Gourav Chakraborty

unread,
Jun 11, 2025, 3:29:58 AMJun 11
to PLUMED users
Okay thank you for the reply. I have one more thing to ask, I want to restart my previous drr, Meta, and Meta-drr runs. How do I proceed?
I tried adding a restart file in the meta block but that did not generate anything.
Only state files are generated, but in meta and meta-eabf. How to proceed?
And what about eabf alone, how to restart it, should I just add restart at the start of thr plumed.dat script?

Istvan Kolossvary

unread,
Jun 11, 2025, 8:10:29 AMJun 11
to plumed...@googlegroups.com
You have to specify a restart drrstate file in the DRR action and put RESTART at the top of the plumed dat file. That’s all, however, in order for restart  to work properly you have to make sure that the frequency at which the MD engine saves a checkpoint file is the same as DRR saves the then current drrstate file. The mechanism of restarting the MD simulation itself depends on the engine. 

   István

--
You received this message because you are subscribed to the Google Groups "PLUMED users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to plumed-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/plumed-users/aa40fdfb-4fa3-42eb-a590-847e8e446f51n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages