Hello Georg--
>
> I try to model the structure of a protein-ligand complex with
> Xplor-NIH using pseudo contact shifts (PCSs) as NMR restraints and the
> PARArestraints module of Xplor. Therefore, I immobilized a
> paramagnetic tag to the protein C-terminus carrying a lanthanide ion.
> I could determine the PCS tensor values very accurately with the
> program Numbat (developed by the group of G. Otting, ANS Canberra).
> For the calculation in Xplor-NIH I use the xpcs module. Unfortunately,
> it seems that the xpcs function can calculate the PCS only with
> respect to one lanthanide ion at one time. However, the protein is
> dimeric and thus the PCS values should be the sum for the two
> lanthanide positions. Do you have an idea how I can perform the
> calculation considering both lanthanides together? I tried e.g. an
> ambiguous assignment (OR statement) in the PCS input table which
> however leads to an error.
I use the RDC term in the Python interface to fit PCS data. This
should handle dimers just fine. The setup in an Xplor-NIH script is
something like the snippet below. Note that there is a helper function
to calculation the chi tensor using nonlinear least squares.
best regards--
Charles
# alignment portion of the chi-tensor.
# In this calculation, we will hold Da and rhombicity fixed
# medium Da rhombicity
for (medium,Da,Rh) in [ ('La1', -50, 0.5),
]:
oTensor = create_VarTensor(medium)
oTensor.setDaMax(100000)
oTensor.setDa(Da)
oTensor.setRh(Rh)
media[medium] = oTensor
pass
from pcsTools import convertPCS
from rdcPotTools import create_RDCPot
rdcs = PotList('rdc')
for (medium,expt,file,scale) in \
[('La1','pcs','PCS_La_.txt',5),
]:
rdc = create_RDCPot("%s_%s"%(medium,expt),
file,
oTensor=media[medium])
#rdc.setVerbose(True)
rdc.setUseDistance(True) #needed for pcs.
rdc.setShowAllRestraints(1) #all restraints are printed during analysis
rdc.setThreshold(0.02) # in ppm
rdc.setScale(scale)
rdcs.append(rdc)
pass
potList.append(rdcs)
rampedParams.append( MultRamp(10,10000.0, "rdcs.setScale( VALUE )") )
# calc. initial tensor orientation
# and setup tensor calculation during simulated annealing
#
from varTensorTools import calcTensorOrientation, calcTensor
from pcsTools import calcXTensor
for medium in media.keys():
calcXTensor(media[medium])
rampedParams.append(
StaticRamp("calcTensorOrientation(media['%s'])" % medium) )
pass
_______________________________________________
Xplor-nih mailing list
[email protected]
https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih