Dear Charles,
as you hinted at in your reply, I am trying to obtain per-residue EEFx energies
by using eefxpot's selection facility to select the atoms of one residue at a
time, in the manner illustrated by the Python script below:
# calculate subset EEFx energies (using atom selection)
for k in xrange(residCount):
rn = residList[k]
selstr = "resid %d and not name H*" % rn
eefxpot = create_EEFxPot( "eefxpot", selstr, paramSet=param_LK )
energy = eefxpot.calcEnergy()
energySum = energySum + energy
subsetEEFx[rn] = energy
# calculate total EEFx energy
eefxpot = create_EEFxPot( "eefxpot", "not name H*", paramSet=param_LK )
totalEEFx = eefxpot.calcEnergy()
However, the sum of per-residue EEFx energy terms (in 'energySum') always
deviates substantially from the value obtained by evaluating the EEFx potential
over all residues at once (in 'totalEEFx'). In the case of the
gb3_refined_IV.pdb structure included in the xplor-nih distribution the overall
EEFx energy evaluates to -955.9676, whereas the sum of per-residue EEFx terms
evaluates to -21310.651.
Since, as I understand the description of the EEFx potential in the paper
presenting it (Tian, Schwieters, Opella and Marassi , 2014), the EEFx potential
includes the classical Xplor potentals BOND, ANGL, DIHE, IMPR, ELEC, VDW in
addition to SLV (Eq 2, pp. 55). Therefore, I have also obtained per-residue
values for BOND, ANGL, DIHE, IMPR, ELEC, VDW by using 'constraints interaction’
statements to evaluate these potentials for suitable subsets of atoms.
Unfortunately this did not give me any hint towards understanding the
differences in EEFx values mentioned above.
Any information you may have that can lead towards resolving the discrepancy in
EEFx values obtained will be much appreciated.
Best regards,
Maria
2 dec 2014 kl. 17:42 skrev Charles Schwieters <[email protected]>:
>
> Hello Maria--
>
>>
>> Is there any easy way to obtain per-residue contributions to the
>> various terms of the energy of a protein structure in xplor-nih
>> (such as VDW, tDB, eefxpot, noe, etc), where eefxpot is particularly
>> interesting, or is this something that will require C++/Fortran
>> source code changes?
>>
>
> To my knowledge, there is nothing straightforward for these energy
> terms. Scripting can be used to selectively evaluate energies between
> subsets of atoms using eefxpot's selection, or the constraint
> interaction statement for VDW. Likewise, the easiest way to determine
> a residue-by-residue energy for torsionDB is via scripting, specifying
> the desired atom selection. For the noe term, looping over restraints
> could be used. Please let me know if you would like more details.
>
> So, in general, getting this information takes a bit of work. We have
> been discussing explicitly collecting this information in the eefx
> term, but have not yet implemented it.
>
> best regards--
> Charles
_______________________________________________
Xplor-nih mailing list
[email protected]
https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih