AMBER Archive (2006)

Subject: Re: AMBER: PMEMD with NMR restraint and position restraint

From: Robert Duke (rduke_at_email.unc.edu)
Date: Tue Jul 18 2006 - 23:34:35 CDT


Ting -
Okay, sorry to everyone for not figuring this out sooner. I have been over this ground in the past and intended to fix this "feature", but it slipped through the cracks in the 9 release. The story here is that if you want to do both an ntr restraint and an nmropt restraint with pmemd, you currently need to put the nmropt restraint in a &rst namelist in the mdin, and end the mdin with group file data for the ntr restraint. I know this is a mess, but this is a viable workaround, and hopefully I will manage to come "into specs" for amber 10, meaning I will attempt to do what we document as correct for 10 (there are new features). Note that this does NOT work for sander 9; in that case you have to use the file redirection. Embedded below is an email exchange from a while back between Kristina Furse and myself; this is one of several problems in areas of the code I never use that Kristina helped me work out (thanks Kristina, again!). The file below has to be hacked a bit to work with 9 - but it is stuff like amber7_compat and jfastw, not the problems we are discussing here.
Regards - Bob

Previous mail on this topic, from Kristina:

>----- Original Message -----
>From: "Kristina Furse" <kristina.e.furse_at_vanderbilt.edu>
>To: "Robert Duke" <rduke_at_email.unc.edu>
>Sent: Thursday, February 05, 2004 8:50 PM
>Subject: RE: AMBER: PMEMD and nmropt=1
>
>
>> Switched to a smaller model system and ran some tests--the sander friendly
>> input looks like this (minus the amber7_compat=1 part...):
>>
>> Test using nmropt and ntr together
>> &cntrl
>>
>> amber7_compat = 1,
>>
>> nmropt = 1,
>> ntx = 1, irest = 0, ntrx = 1, ntxo = 1,
>> ntpr = 100, ntwx = 100, ntwv = 0, ntwe = 100,
>>
>> ntf = 1, ntb = 1,
>> cut = 9.0,
>>
>> ibelly = 0, ntr = 1,
>>
>> imin = 0,
>> nstlim = 20000,
>> nscm = 0,
>> t = 0.0, dt = 0.001,
>>
>> temp0 = 298.0, tempi = 100.0,
>> ig = 71277, heat = 0.0,
>> ntt = 1,
>> tautp = 0.2,
>> vlimit = 20.0,
>>
>> ntc = 2, tol = 0.00001, watnam = 'SPC ',
>> jfastw = 1,
>>
>> &end
>>
>> &wt
>> type='TEMP0', istep1=0, istep2=500,
>> value1=100.0, value2=298.0,
>> &end
>> &wt
>> type='TEMP0', istep1=500, istep2=20000,
>> value1=298.0, value2=298.0,
>> &end
>> &wt
>> type='END',
>> &end
>> DISANG=nmropt.rest
>> Hold stuff fixed
>> 50.0
>> RES 10 20
>> END
>> END
>>
>> So it has all three restraint type things--a weight change section to ramp
>the
>> temperature, followed by a file redirection DISANG line for the nmr-style
>> restraints, followed by a group input section for ntr restraints. If I try
>> this with pmemd, it reads the DISANG line as the title of the group input,
>> then chokes on the "Hold stuff fixed" line thinking that should be a force
>> constant. If I just delete the DISANG line, the weight change and group
>info
>> is handled properly, but of course the output says it can't find any file
>> redirection commands. Interestingly, if I take the content of the
>nmropt.rest
>> file and add it to the mdin file, directly, then pmemd reads it all in
>> properly.
>> &cntrl
>> ...
>> &end
>> &wt
>> type='TEMP0', istep1=0, istep2=500,
>> value1=100.0, value2=298.0,
>> &end
>> &wt
>> type='TEMP0', istep1=500, istep2=20000,
>> value1=298.0, value2=298.0,
>> &end
>> &wt
>> type='END',
>> &end
>> &rst
>> iat=1,54, nstep1= 0, nstep2= 100,
>> iresid= 0, ifvari= 0, ninc= 0, imult= 0, ir6= 0,
>> r1= 1.000, r2= 6.200, r3= 6.200, r4= 10.000,
>> rk2=20.0, rk3=20.0,
>> r1a= 1.000, r2a= 6.200 r3a= 6.200, r4a= 10.000,
>> rk2a=20.0, rk3a=20.0
>> &end
>> Hold stuff fixed
>> 50.0
>> RES 10 20
>> END
>> END
>>
>> Gives the following in the output file:
>>
>> 5. REFERENCE ATOM COORDINATES
>>
>>
>>
>> ----- READING GROUP 1; TITLE:
>> Hold stuff fixed
>>
>> GROUP 1 HAS HARMONIC CONSTRAINTS 50.00000
>> GRP 1 RES 10 TO 20
>> Number of atoms in this group = 33
>> ----- END OF GROUP READ -----
>>
>> 3. ATOMIC COORDINATES AND VELOCITIES
>>
>>
>>
>> begin time read from input coords = 172.000 ps
>>
>>
>>
>> Begin reading energy term weight changes/NMR restraints
>> WEIGHT CHANGES:
>> TEMP0 0 500 100.000000 298.000000 0 0
>> TEMP0 500 20000 298.000000 298.000000 0 0
>>
>> RESTRAINTS:
>> No valid redirection requests found
>> Number of restraints read = 1
>>
>> Done reading weight changes/NMR restraints
>>
>> So, I tried a lot of different orders, putting the DISANG line before the
>> weight change info, after the group input, deleting weight change
>altogether,
>> and never could get the DISANG line to be read in with ntr=1 turned on. If
>I
>> set ntr=0 and delete the group info, the DISANG line is read properly:
>>
>> 3. ATOMIC COORDINATES AND VELOCITIES
>>
>>
>>
>> begin time read from input coords = 172.000 ps
>>
>>
>>
>> Begin reading energy term weight changes/NMR restraints
>> WEIGHT CHANGES:
>> TEMP0 0 500 100.000000 298.000000 0 0
>> TEMP0 500 20000 298.000000 298.000000 0 0
>>
>> RESTRAINTS:
>> Requested file redirections:
>> DISANG = nmropt.rest
>> Restraints will be read from file: nmropt.rest
>> Here are comments from the DISANG input file:
>> #
>>
>> # Test NMR-style restraint
>>
>>
>> Number of restraints read = 1
>>
>> Done reading weight changes/NMR restraints
>>
>> So each works when the other is turned off, but there seems to be a
>parsing
>> problem with running ntr and nmropt with file redirection, simultaneously.
>No
>> problem if all fo the info is in the input file, and there is no DISANG
>file
>> redirection.
>>
>> Probably painful to weather my analysis...so I've attached the files.
>>
>> test.in mdin file
>> parm.top topology file
>> inptcrd.dat input coordinates
>> nmropt.rest nmr-style restraint file
>>
>> pmemd.mpi -O -i test.in -o test.out -p parm.top -c inptcrd.dat -ref
>> inptcrd.dat -r test.rst -x test.crd
>>
>>
>> Thanks!
>> Kristina
>>

  ----- Original Message -----
  From: Ting Wang
  To: amber_at_scripps.edu
  Sent: Monday, July 17, 2006 7:18 PM
  Subject: AMBER: PMEMD with NMR restraint and position restraint

  Hi,

  I am running PMEMD/amber9. I need to set both NMR distance restraints (nmropt=1) and position resstraints (ntr=1). But I found PMEMD can work with either restraint type alone but not both together.

  Any suggestion?

  Thanks,

  Ting

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu