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
