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

Reply via email to