Re: [AMBER] Trouble Calculating Nucleic Pseudo-Torsions Eta and Theta (η-θ) w/ CPPTRAJ

From: Daniel Roe via AMBER <amber.ambermd.org>
Date: Mon, 19 Aug 2024 09:00:47 -0600

Glad it worked! I’ve created an issue on Github and hopefully will improve
multidihedral in the future (
https://github.com/Amber-MD/cpptraj/issues/1097).

Thanks for the report.

-Dan

On Mon, Aug 19, 2024 at 8:44 AM Warren, Kyle Benjamin <kbwarren.mun.ca>
wrote:

> Hi,
>
> Just to update as promised, the above loop-based dihedral script worked
> exactly as I'd hoped, and ran great even for a 10,000 frame simulation.
> Again, thanks so much for the help dan.
>
> V. Best,
>
> Kyle W
>
> On Fri, Aug 16, 2024 at 10:12 PM Warren, Kyle Benjamin <kbwarren.mun.ca>
> wrote:
>
>> Hi Dan,
>>
>>
>> Thanks for going above and beyond with this potential solution here. I
>> would have never thought of trying to use a loop. I can’t wait to give this
>> a try, and I’ll certainly reply based on whether it was a successful
>> solution or not.
>>
>>
>> Thanks again,
>>
>>
>> Kyle Warren
>>
>>
>> On Fri, Aug 16, 2024 at 17:21 Daniel Roe <daniel.r.roe.gmail.com> wrote:
>>
>>> Hi
>>>
>>> So I think what is going on here is that when I originally wrote
>>> 'multidihedral' I was interested in looking for canonical dihedrals,
>>> so I built in a check that the 4 atoms in question were indeed
>>> connected by bonds. Since you have pseudo-dihedrals here,
>>> 'multidihedral' is assuming it can't find the right atoms since they
>>> aren't bonded.
>>>
>>> HOWEVER, you can get around this by using a simple for loop. Here is
>>> one I just came up with and (very briefly) tested:
>>>
>>> parm stripped_unmod.prmtop
>>> trajin aligned_unmod.nc
>>> # Loop over residues
>>> # j will be "middle", i is previous, k is next
>>> for j=2;j<75;j++
>>> i = $j - 1
>>> k = $j + 1
>>> # This will convert the loop variables into mask expressions
>>> set ires = :
>>> set ires += $i
>>> set jres = :
>>> set jres += $j
>>> set kres = :
>>> set kres += $k
>>> # Calc the dihedrals
>>> dihedral eta$j $ires.C4' $jres.P $jres.C4' $kres.P
>>> dihedral theta$j $jres.P $jres.C4' $kres.P $kres.C4'
>>> done
>>> run
>>>
>>> This *should* work, but please do test it on a small number of frames
>>> (10-100) and make sure it's giving you what you want.
>>>
>>> Hope this helps,
>>>
>>> -Dan
>>>
>>> On Fri, Aug 16, 2024 at 10:53 AM Warren, Kyle Benjamin via AMBER
>>> <amber.ambermd.org> wrote:
>>> >
>>> > Hi all,
>>> >
>>> >
>>> > I'm working with a nucleic acid (tRNA) simulation, and I wish to
>>> measure
>>> > the two pseudo-torsions "eta" and "theta" that simplify the analysis of
>>> > nucleic acid backbone conformations. η-θ are described as the dihedrals
>>> > between atoms C4'(i-1)-P(i)-C4'(i)-P(i+1) and
>>> P(i)-C4'(i)-P(i+1)-C4'(i+1)
>>> > respectively, where "i" represents residue number. So, essentially
>>> what I'm
>>> > trying to do via the CPPTRAJ multidihedral command is to find these
>>> > pseudo-torsions for each residue (nucleobase) in my tRNA, and I'm
>>> trying to
>>> > use the "offset" clause so some of the atoms in my custom
>>> > dihedral descriptions are being picked from prior and future residues
>>> (per
>>> > the η-θ definitions). Below is the bottom script I've been using to no
>>> > avail:
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > *parm stripped_unmod.prmtoptrajin aligned_unmod.nc
>>> > <http://aligned_unmod.nc>multidihedral resrange 1-76 dihtype
>>> > eta:C4':P:C4':P[:-1:1] #setup eta dihe, pick <a0> from prior
>>> > residue and <a3> from next residuemultidihedral resrange 1-76 dihtype
>>> > theta:P:C4':P:C4'[:2] #setup theta dihe, pick <a2> and <a3>
>>> from
>>> > next residuerunmultihist MDIH_00001[eta]:1-76 out dihedraleta.hist min
>>> -180
>>> > max 180 step 1 #Sort into histmultihist
>>> > MDIH_00002[theta]:1-76 out dihedraltheta.hist min -180 max 180 step 1
>>> > #Sort into histrun*
>>> >
>>> > The common error message in my .out file is "Warning: No dihedrals
>>> selected
>>> > for topology stripped_unmod.prmtop", which I believe means that my
>>> custom
>>> > dihedral is not being recognized. I suspect it is an issue with my
>>> offset
>>> > clause being formatted incorrectly, however, I haven't been able to
>>> see any
>>> > examples of anyone using it so I don't know. I am naive for thinking
>>> that
>>> > this relatively complex dihedral measurement is something that can be
>>> done
>>> > with CPPTRAJ? Or is my input just wrong? Any help on this issue would
>>> be
>>> > greatly appreciated. Attached is a screenshot from the amber manual
>>> > detailing the multidihedral command and offset clause that seems to
>>> best
>>> > fit what I'm trying to accomplish here.
>>> >
>>> >
>>> > V. Best,
>>> >
>>> > Kyle Warren
>>> > _______________________________________________
>>> > AMBER mailing list
>>> > AMBER.ambermd.org
>>> > http://lists.ambermd.org/mailman/listinfo/amber
>>>
>>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Aug 19 2024 - 08:30:02 PDT
Custom Search