Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Joined: Nov 2011
Posts: 79
Forum Member
OP Offline
Forum Member
Joined: Nov 2011
Posts: 79
Hi CHARMM users,

Hope all goes well.

I am trying to do some time-consuming analyses on our clusters using a CHARMM (c42b2) compiled with MPI.

When I read a DCD trajectory I got the fatal error:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CHARMM> ! Loop, calculate INTER
CHARMM> ! ---------------------------
CHARMM> set i = 1
Parameter: I <- "1"

CHARMM>

CHARMM> label loop

CHARMM> traj read ! read trajectory

READING TRAJECTORY FROM UNIT 11
NUMBER OF COORDINATE SETS IN FILE: 498
NUMBER OF PREVIOUS DYNAMICS STEPS: 1
FREQUENCY FOR SAVING COORDINATES: 1
NUMBER OF STEPS FOR CREATION RUN: 498

TITLE> Created by DCD plugin^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
TITLE> REMARKS Created 08 July, 2020 at 23:45^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
TITLE> * DATE: 11/ 1/20 9:56:40 CREATED BY USER: zhiyue
TITLE> *

***** LEVEL -5 WARNING FROM *****
***** READ errorno -1 for traj_0_0.dcd: 498 frames expected but 0 frames read
*******************************************************
BOMLEV ( 0) IS REACHED - TERMINATING. WRNLEV IS 5
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The original DCD trajectory was generated by NAMD and processed with VMD PBCTools Plugin. But it was read successfully by a non-MPI CHARMM on the cluster. So I suspect the trajectory itself should be fine.

Thus, my questions are:

1) Can MPI CHARMM read DCD trajectory (with only one CPU requested)?
2) If yes, is there any special requirement (especially on CHARMM) to make it work?

Thanks in advance.

All the best


Zhi (Shane) Yue
Department of Chemistry
The University of Chicago
Joined: Sep 2003
Posts: 4,883
Likes: 12
Forum Member
Offline
Forum Member
Joined: Sep 2003
Posts: 4,883
Likes: 12
A single-CPU CHARMM job should read and process a dynamics trajectory irrespective of how it was compiled. Most tracjectory processing in CHARMM does not work in parallel.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Joined: Sep 2003
Posts: 8,660
Likes: 26
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,660
Likes: 26
It should work, but there may a number of variables influencing the behavior, such as the compiler suite and version, the MPI implementation and version, other actions being done in the CHARMM input file, and the incomplete implementation of the file format by the NAMD/VMD developers. (They don't properly use all of the data fields in the header record, and that has caused no end of problems in trying to read DCD files produced by other programs into CHARMM, esp. those mangled by the VMD tools.)

If you only wish to use a single core, you could try running the prog w/o using mpirun at startup. You probably need to do the MPI setup, though, due to runtime library dependencies.

Also, it could be a bug, so sometimes using a different CHARMM version can resolve these issues; c45b1 was released in August 2020.


Rick Venable
computational chemist

Joined: Nov 2011
Posts: 79
Forum Member
OP Offline
Forum Member
Joined: Nov 2011
Posts: 79
Dr. Nilsson,

Thanks for your reply. I appreciate it.

Then I need to double check my Slurm sbatch script to make sure only a single CPU is requested.

Thanks again and stay safe while the pandemic is spiking again worldwide.

All the best


Zhi (Shane) Yue
Department of Chemistry
The University of Chicago
Joined: Nov 2011
Posts: 79
Forum Member
OP Offline
Forum Member
Joined: Nov 2011
Posts: 79
Rick,

Thanks for your further comments and instructions.

I tested the same scripts (CHARMM input & Slurm sbatch) using a trajectory generated by CHARMM and ran into the same fatal error. So I suspect it is more likely that the command 'traj read" does not work for MPI CHARMM.

One workaround is to replace 'traj read' with 'coor DYNA first XX nunit 1 begin @frame stop @frame skip ?SKIP'. And it worked.

I am not sure if CHARMM c45b1 could resolve the issue, but I will try.

Thanks again and stay safe.

All the best

Last edited by shane yue; 11/01/20 08:25 PM.

Zhi (Shane) Yue
Department of Chemistry
The University of Chicago
Joined: Sep 2003
Posts: 8,660
Likes: 26
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,660
Likes: 26
I recently used TRAJ READ in a loop, with a c43b1 MPI executable using 16 cores so that I could do an ENERGY call, then a series of INTE commands to compute peptide:membrane interactions.


Rick Venable
computational chemist

1 member likes this: shane yue
Joined: Nov 2011
Posts: 79
Forum Member
OP Offline
Forum Member
Joined: Nov 2011
Posts: 79
Rick,

I am glad to learn that 'TRAJ READ' does work with MPI CHARMM.

Then it should be the compilation problem, based on your first post in reply. Well, seems that things become tricky (for me) now. Is there any special compilation requirement for an MPI CHARMM to work like yours?

Thanks.


Zhi (Shane) Yue
Department of Chemistry
The University of Chicago
Joined: Sep 2003
Posts: 4,883
Likes: 12
Forum Member
Offline
Forum Member
Joined: Sep 2003
Posts: 4,883
Likes: 12
Note that the coor dyna command computes the average structure over the number of frames processed. It will be very slow if you try to a read a large number of single frames from a long trajectory since it starts over reading the trajectory from the beginning at each invocation. You can use "coor read file ifile .... CONT" (io.info):
READ COOR FILE IFILE 10 UNIT 51
READ COOR FILE CONT IFILE 10 UNIT 51
will first read frame 10 and then frame 20 from unit 51.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Joined: Nov 2011
Posts: 79
Forum Member
OP Offline
Forum Member
Joined: Nov 2011
Posts: 79
Dr. Nilsson,

Thanks for your further comments on the command 'COOR DYNA'.

I had been briefed about the "average" feature of 'COOR DYNA' before I started trying this workaround. Since I only deal with a single frame at a time, I think it should be fine. I tested both 'COOR DYNA' and 'TRAJ READ' locally and compared the "INTEraction" outputs, which turned out to be the same. But please kindly correct me if I am wrong.

Also, I am glad to learn the faster way, i.e., "COOR READ file file ... CONT". I appreciate it.

Best


Zhi (Shane) Yue
Department of Chemistry
The University of Chicago
Joined: Sep 2003
Posts: 4,883
Likes: 12
Forum Member
Offline
Forum Member
Joined: Sep 2003
Posts: 4,883
Likes: 12
Just to be clear : The averaging that COOR DYNA does is not just a feature - it is the explicitly stated purpose of the command, so although it is possible to use it to read single frames, that usage could be confusing to someone looking at the script.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Page 1 of 2 1 2

Moderated by  lennart, rmv 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5
(Release build 20201027)
Responsive Width:

PHP: 7.3.31-1~deb10u5 Page Time: 0.019s Queries: 36 (0.013s) Memory: 0.7857 MB (Peak: 0.8808 MB) Data Comp: Off Server Time: 2023-12-10 13:34:29 UTC
Valid HTML 5 and Valid CSS