Dear all

inspired by eginput/gb1_rdc/refine.py, I set up my PCS calculations as follows:

lnAtom = AtomSel('resid 200 and name TB+3')[0]
LANTHANIDES = ['Tb', 'Ho', 'Yb', 'Tm']
# LANTHANIDES = ['Tb']  # -> maxDisplacement (tensor unchanged by SVD)
# LANTHANIDES = ['Ho']  # -> maxDisplacement (tensor unchanged by SVD)
# LANTHANIDES = ['Yb']  # -> maxDisplacement (tensor unchanged by SVD)
# LANTHANIDES = ['Tm']  # -> calcXTensor works fine
pcsSpecs = [(f'{ln}PCS', f'expdata/{ln}.tbl',
             init_tensor(f'{ln}PCS', lnAtom, ln)) for ln in LANTHANIDES]

pcsPots = {} # store in a dict so I can access the values during calculation
tensors = {} # dito
for (name, pcs_list, tensor) in pcsSpecs:
    pcsPot = rdcPotTools.create_RDCPot(name, pcs_list, oTensor=tensor)
    pcsPot.setUseDistance(True)
    pcsPot.setScale(1)
    pcsPot.setShowAllRestraints(True)
    pcsPot.setVerbose(True)
    tensors[name] = tensor
    pcsPots[name] = pcsPot

for ln in LANTHANIDES:
    calcTensorOrientation(tensors[f"{ln}PCS"])

    calcXTensor(tensors[f"{ln}PCS"], expts=[pcsPots[f"{ln}PCS"]])

pcsPots_target_scale = 40.0
def scalepcs_for_time(t):
    s = min(pcsPots_target_scale * t / expramp_duration, pcsPots_target_scale)
    for p in pcsPots.values():
        p.setScale(s)
    return s

for p in pcsPots.values():
    potList.append(p)

Now, first of all, calcXTensor only really works for the Thulium-induced set of PCSs, for the others I get a few "mayDisplacement" messages and the parameters stay unchanged after the calculation. Secondly, I the simulation will only ever start as long as I only have a single PCS-set in my potList. However, I wish to have a list of PCS-sets, each associated with a unique tensor, and base the refinement on that data.

Thanks in advance and I wish you all a nice break from an exhausting year!

All the best, Till




To unsubscribe from the XPLOR-NIH list, click the following link:
http://list.nih.gov/cgi-bin/wa.exe?SUBED1=XPLOR-NIH&A=1

Reply via email to