Table Of Contents

Xplor-NIH_pcs by Mitchell Jon Stanton-Cook


Xplor-NIH_pcs determines, via a non-linear least squared optimization, all 8 \chi-tensor parameters. There is the excellent module available from Bertini's group (PARArestraints) that can achieve this task (and can also work with RDC,PRE and CCR data). However it has not yet easily accessible by the newer Xplor-NIH Python interface.


More recent versions of Xplor-NIH via the Python interface can employ PCS data in the structural refinement process.

The current algorithm (implemented by Schwieters) within the python interface uses single value decomposition (SVD) to determine the parameters of the \chi-tensor.

When using the SVD method, the user must know the position of metal ion prior to the refinement. In many cases, for example when working with non-covalent, or non-rigid lanthanide binding tag, the user will not know the position of the metal ion.

Xplor-NIH_pcs provides a non-linear least squared optimization procedure to determine all 8 \chi-tensor parameters.

In addition Xplor-NIH_pcs can simultaeously optimize multiple datasets induced from different paramagnetic tag locations. This may be valuable in the de novo structural determination using PCS effects.


Xplor-NIH_pcs requires a version of Xplor-NIH >= 2.26. The distribution consists of 3 files (2 are new) -

  1. pcsPotTools.py -> provides rotation matrix, Unique Tensor Representation (UTR) methods and the description of the PCS function optimized by cminpack
  2. calcXtensor -> is analogous to the calcTensor script in the bin/ directory of the standard Xplor-NIH distribution
  3. a modified version varTensorTools.py -> provides the calcTensor_pcs routine


Xplor-NIH_pcs (pcsPotTools.py, calcXtensor and varTensorTools.py) is freely available to users working in academic non-profit organizations (including universities, government entities and academic institutions) whom are using the software for research or educational purposes.

It can be downloaded from here.






We thank Dr Charles Schwieters for adding cminpack library to the Xplor-NIH distribution, for creating the Python wrappers to access the cminpack library and many useful discussions. I would like to thank Dr Giacomo Parigi for pointing out an incorrect claim made on this site. I apologize for any embarrasment this may have caused myself or the creators of the PARArestraints module.