shift_plot 1.0
--------------

The program was written by Oleg Sobolev.
Author will appreciate any questions, comments and 
bug reports to: sobolev@impb.psn.ru

PURPOSE:
--------
Shift_plot calculates atomic shifts from 2 .pdb files and 
plots them.

REQUIREMENTS:
-------------
This program requires Python 2.6 or newer (not Python 3.x),
matplotlib and numpy libraries. If you have all these 
installed on your computer you can use your local python 
interpreter. Otherwise you can try python from PHENIX package
(command: phenix.python).
See below some tips about installation on different operating
systems.

USAGE:
------
Mandatory arguments: two .pdb files to calculate atomic shifts.
Optional keys:
-o<output file name>
-r<resolution of image in dpi> (default is 100)

Examples (with local python installation)
python shift_plot.py 1.pdb 2.pdb
python shift_plot.py 1.pdb 2.pdb -oresult
python shift_plot.py 1.pdb 2.pdb -oresult -r300

The program will produce 2 files (names are for last example):
result.png - picture with plots
result.log - log file

The picture will contain several plots:
For each chain in the .pdb file it will contain 3 plots:
- All atomic shifts,
- Side chain atomic shifts,
- Main chain atomic shifts.

REFERENCES:
---------

1. O. V. Sobolev and V. Y. Lunin "Detection of alternative 
conformations by unrestrained refinement". Acta Cryst. D68.1118-1127.
2. O.V. Sobolev. DETAC: tools to detect alternative conformations 
by unrestrained refinement. (2012). 
Computational Crystallography Newsletter. 3.


REMARKS:
--------

=========Alternative conformations in .pdb files============

Atoms in alternative conformations will be plotted as 
red circles.

==============Insertion codes in .pdb files=================

Sometimes, .pdb files contains residues with identical number
but different insertion codes.
Example:

ATOM    247  N   VAL A  44      21.407  23.097  11.052  1.00  3.54           N
ATOM    248  CA  VAL A  44      22.514  22.464  11.771  1.00  3.43           C
ATOM    249  C   VAL A  44      23.592  23.509  12.076  1.00  3.25           C
ATOM    250  O   VAL A  44      23.947  24.325  11.222  1.00  3.57           O
ATOM    251  CB  VAL A  44      23.102  21.315  10.910  1.00  3.70           C
ATOM    252  CG1 VAL A  44      24.401  20.765  11.495  1.00  4.17           C
ATOM    253  CG2 VAL A  44      22.068  20.195  10.748  1.00  4.22           C
ATOM    263  N   GLY A  44A     24.166  23.442  13.284  1.00  3.27           N
ATOM    264  CA  GLY A  44A     25.281  24.310  13.644  1.00  3.39           C
ATOM    265  C   GLY A  44A     26.619  23.693  13.208  1.00  3.31           C
ATOM    266  O   GLY A  44A     27.195  24.075  12.188  1.00  3.72           O

These 2 residues (44 and 44A) will be plotted as 2 separate
columns in the diagrams. These columns will be marked by
green rectangle which shows that residues in it have
the same residue number.

======================Installation==========================

WINDOWS:
You can download windows installers of the necessary programs.
Python:		http://python.org/download/
numpy:		http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/
matplotlib:	http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/

To find out what version of Python you have installed type
"python" in command promt (cmd):

c:\>python
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

If you have just installed python and version number in cmd window 
does not match version you have installed, examine system variable
PATH and make sure that path to your python installation is
situated in the beginning of it.

LINUX:
All necessary programs are packaged for almost every major 
Linux distribution. So if you are on Linux, your package manager 
will probably provide Python, numpy and matplotlib.

To find out what version of Python you have installed 
type "python":

oleg@ant:~$ python
Python 2.7.3rc2 (default, Apr 22 2012, 22:30:17)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

============================================================
