PyShifts
Description
Determining the structure of biomolecules is an important step in understanding how they execute specific cellular functions. NMR spectroscopy provides a number of observables, for example, NMR-derived chemical shifts, that contain valuable information about the conformational state(s) that are accessible to a given biomolecule. Accordingly, chemical shifts are now routinely used to model the secondary and tertiary structure of proteins. We developed a PyMOL plugin, PyShifts, a user friendly tool to analyze biomolecular structures using NMR-derived chemical shifts. PyShifts is highly interactive and allows the user to execute single model as well as multi-model structural analyses. Using PyShifts, users can sort structures, cluster structures, and assign conformational weights to each structure, which, collectively, facilitates a multi-faceted analysis of biomolecular ensembles.
PyShifts Features
- Chemical shifts-based error/difference analysis
- Multi-model Analysis
- Assign conformational weights
- Chemical shift-based clustering
- Sort structures
Download
The most recent version of PyShifts can be downloaded from our GitHub repository.
Requirements & Dependencies
- conda
- XQuartz (Mac user)
- PyMOL license
Installation & Configuration
Install Dependencies
git clone https://github.com/atfrank/PyShifts.git cd Pyshifts . setup.sh
Open PyMOL GUI
pymol
Install PyShifts in PyMOL
In PyMOL GUI, go to Plugin
> Plugin Manager
> Install New Plugin
> choose PyShiftsPlugin.py
from the directory that the PyShifts repository is located.
Install BME functionality
BME: a Bayesian Maximum Entropy (BME) library. For more detail please refer to the manuscript, section Assigning Conformational Weights.
git clone https://github.com/KULL-Centre/BME cd BME echo "export BME=$(pwd)" >> ~/.bashrc echo "export PYTHONPATH=\$BME:\$PATH" >> ~/.bashrc source ~/.bashrc
Once BME is installed, PyShifts will be able to perform BME analysis and results will be displayed in Error Table.
Usage
You can use the examples from the test/
directory to test run PyShifts.
Load Object
Load the object to be analyzed in PyMOL, e.g. 2KOC_test.pdb
from test
directory by typing load test/2KOC_test.pdb
in pymol command line or dragging the file into PyMOL window.
Open PyShifts GUI
Open PyShifts GUI from Plugin
> Legacy Plugins
> PyShifts
.
Perform Chemical Shift-Based Analysis
- Type the object name
2KOC_test
inPyMOL selection/object
entry > Run. - Go to second tab
Error Analysis
and input measured chemical shifts inChemical Shift File
>Compare Chemical Shifts
. - Click on
Error table
orCS table
to save results.
References
- PyShifts (submitted): Jingru Xie, Kexin Zhang and Aaron T. Frank. "Pyshifts: A PyMOL Plugin for Chemical Shift-Based Analysis of Biomolecular Ensembles".
- LarmorD: Frank, Aaron T., Sean M. Law, and Charles L. Brooks III. "A simple and fast approach for predicting 1H and 13C chemical shifts: toward chemical shift-guided simulations of RNA." The Journal of Physical Chemistry B 118.42 (2014): 12168-12175.
- LarmorCa: Frank, Aaron T., et al. "Predicting Protein Backbone Chemical Shifts From Cα Coordinates: Extracting High Resolution Experimental Observables from Low Resolution Models." Journal of chemical theory and computation 11.1 (2014): 325-331.
Copyright Notice
The PyMOL Plugin source code in this file is copyrighted, but you can freely use and copy it as long as you don't change or remove any of the copyright notices. This PyMOL Plugin is Copyright (C) 2016 by Jingru Xie , Kexin Zhang and Aaron T. Frank All Rights Reserved Permission to use, copy, modify, distribute, and distribute modified versions of this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice appear in supporting documentation, and that the name(s) of the author(s) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. THE AUTHOR(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.