Displacementmap: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Author ==
{{Infobox script-repo
This pymol script is made by Troels Emtekær Linnet
|type      = script
|filename  = displacementmap.py
|author    = [[User:Tlinnet|Troels E. Linnet]]
|license  = BSD
}}


== Overview ==
== Overview ==
Line 20: Line 24:
== Bugs ==
== Bugs ==
If the criterion is set to low, the memory gets flooded in the data-matrix file, making the file unreadable. No solutions found yet.
If the criterion is set to low, the memory gets flooded in the data-matrix file, making the file unreadable. No solutions found yet.
== Instructions ==
# Make a folder
# Copy the code to your machine, and name: displacementmap.py . You can for example put it into your pymol search path.
# Download the .pdb files of the Open and Closed form of your protein
# Make a pymol script file, that makes the alignment and such. See example.
# Run the script and see the results in command window and suggestions in pymol window
# Run the gnuplot file to see the data-matrix


== Example ==
== Example ==
Line 51: Line 47:
== Text output ==
== Text output ==
In the data-matrix.txt file, you find the best suggestions
In the data-matrix.txt file, you find the best suggestions
<syntaxhighlight lang="python">
<syntaxhighlight lang="text">
# Input 1: Open5NT  and Input 2: Closed5NT
# Input 1: Open5NT  and Input 2: Closed5NT
# Find for: CA  with min. residue-residue dist: 30.0 Angstrom
# Find for: CA  with min. residue-residue dist: 30.0 Angstrom
Line 72: Line 68:
</syntaxhighlight>
</syntaxhighlight>
The script also automatically make the gnuplot plot file (.plt), with all the defined variables, for easy visualisation of the data-matrix.txt and the backbone displacement.
The script also automatically make the gnuplot plot file (.plt), with all the defined variables, for easy visualisation of the data-matrix.txt and the backbone displacement.
<syntaxhighlight lang="gnuplot">
reset
cd '/homes/linnet/Documents/Speciale/5NT-project/Mutant-construct/Distance-Plot/dispmap'
#Title hacks \n is newline, and 0,1 is x,y offset adjustment
set title "Protein CA Displacement matrix map \n ResRes min. 30.0 Ang, Delta min. 15.0 Ang" 0,1
# x is column
set xlabel 'Res nr. for Closed5NT'
# y is row
set ylabel 'Res nr. for Open5NT'
#set xrange [300:550]; set yrange [0:400]
#set xtics 50
#set ytics 50
#set mxtics 5
#set mytics 5
set size ratio 1
unset key
set cbrange [-30:30]
set palette defined (-30 'blue', 0 'white', 30 'red')
set pm3d map
#set term postscript eps enhanced color
#set output "Open5NT-Closed5NT-CA-dist.eps"
set term png
set output "Open5NT-Closed5NT-CA-dist.png"
splot 'Open5NT-Closed5NT-CA-dist.txt' matrix
#For the backbone displacement
set title "Protein CA Backbone displacement" 0,1
set xlabel 'Residue number'
set ylabel 'CA displacement (Ang)'
#set xrange [0:550]; set yrange [0:40]
#set xtics 50
#set ytics 10
#set mxtics 5
#set mytics 5
set size ratio 0.75
unset key
#set term postscript eps enhanced color
#set output "Open5NT-Closed5NT-CA-dist-backbone.eps"
set term png
set output "Open5NT-Closed5NT-CA-dist-backbone.png"
plot 'Open5NT-Closed5NT-CA-dist-backbone.txt' using 1:2 title 'Backbone displacement' with lines
</syntaxhighlight>
== Pymol script file ==
<syntaxhighlight lang="python">
cd /homes/linnet/Documents/Speciale/5NT-project/Mutant-construct/Distance-Plot/dispmap
#C:\Users\tlinnet\Documents\My Dropbox\Speciale\5NT-project\Mutant-construct\Distance-Plot\dispmap
### load pdb files and rename
fetch 1HP1, async=0
fetch 1HPU, async=0
hide everything, all
### Select asymmetric units from pdb file
create Open5NT, /1HP1//A
create Closed5NT, /1HPU//A
delete 1HP1
delete 1HPU
cartoon auto
show cartoon, all
set cartoon_fancy_helices=1
set bg,[1,1,1]
### align
#align Open5NT and resi 26-355, Closed5NT and resi 26-355
# Super is must faster than align http://www.pymolwiki.org/index.php/Super
super Open5NT and resi 26-355, Closed5NT and resi 26-355
set auto_zoom, off
set_view (\
    -0.374262989,    0.692084968,  -0.617209554,\
    -0.681849480,  -0.656483948,  -0.322660774,\
    -0.628496349,    0.300085038,    0.717594206,\
    0.000000000,    0.000000000, -258.556884766,\
    -0.613845825,    0.472507477,    1.410455704,\
  205.729583740,  311.384277344,    0.000000000 )
### Color
set_color goldenrod1, [1.000, 0.757, 0.145]
color goldenrod1, resi 26-355
set_color darkolivegreen1, [0.792, 1.000, 0.439]
color darkolivegreen1, Open5NT and resi 356-362
set_color darkolivegreen4, [0.431, 0.545, 0.239]
color darkolivegreen4, Closed5NT and resi 356-362
set_color chocolate3, [0.804, 0.400, 0.114]
color chocolate3, Open5NT and resi 363-550
set_color purple4, [0.333, 0.102, 0.545]
color purple4, Closed5NT and resi 363-550
# Select active site
select active_site, resi 117+120+252+116+217+84+41+43+254
show sticks, active_site
# Make Cys-Cys bonds
create SS, (cys/ca+cb+sg) and byres (cys/sg and bound_to cys/sg)
show sticks, SS
color yellow, SS
# Mark water molecules
create waters, resn HOH
show nb_spheres, waters
color blue, waters
disable waters
### Make sharper, and transparent
set fog=0
set cartoon_transparency, 0.7
### Load the function
import dispmap
dispmap
#dispmap Open5NT, Closed5NT, 40.0, 15.0, resi1=206, resi2=1-512.515-550
## Look for serine
#dispmap mindist=40.0, mindelta=15.0, resi1=206, resi2=330.347.350.405.412.419.457.467.533.534.539.548.336.367.383.397.439.448.490.495.501.518
#dispmap resi1=308, resi2=513
</syntaxhighlight>
== Python Code ==
This code has been put under version control. In the project, [http://www.pymolwiki.org/index.php/Git_intro Pymol-script-repo].


For a color coded view:
== Example 1 ==
https://github.com/Pymol-Scripts/Pymol-script-repo/blob/master/displacementmap.py
{{Template:PymolScriptRepoDownload|examples/displacementmap_1.pml}}
See the raw code or download manually, by right clicking the following link here -> Save as: displacementmap.py
<include src="https://raw.github.com/Pymol-Scripts/Pymol-script-repo/master/examples/displacementmap_1.pml" highlight="python" />
https://raw.github.com/Pymol-Scripts/Pymol-script-repo/master/displacementmap.py


== References ==
== References ==
Line 227: Line 95:
[[Category:Script_Library|DisplacementMap]]
[[Category:Script_Library|DisplacementMap]]
[[Category:Structural_Biology_Scripts]]
[[Category:Structural_Biology_Scripts]]
[[Category:Pymol-script-repo]]

Latest revision as of 10:03, 15 January 2012

Type Python Script
Download displacementmap.py
Author(s) Troels E. Linnet
License BSD
This code has been put under version control in the project Pymol-script-repo

Overview

DisplacementMap is made for easy investigations of suitable positions for site-directed mutagenesis of amino residues into cysteines and FRET/EPR pair labelling.

A Open and Closed form of a protein should be loaded. New objects should be created for the selected asymmetric unit. Parts of the protein should be aligned, leaving the flexible part in two different positions.

The input is the objects, Open (molecule1) and Closed (molecule2).
Further is the criteria for selecting which atom the distance should be calculated between. Standard is atom='CA' (atom).
Then one selects the Förster distance R0 (mindist). This is the minimum distance between the residues. This depends of the selection of the FRET pair and protein at hand. But usually in the range 40 - 80 Angstrom is suitable.
Then one defines the minimum displacement that is accepted. Usually R0/2 (mindelta).
The script will find the 5 best (listlength=5) positive and negative distance displacement between the two objects.

It parses the results back to Pymol, that is standard set to show it as sticks (showsticks='yes').
If one is looking for a particular residue range for the FRET pair, this can be specified with two input. resi1=24.45-47.86 resi2=100-105.107 resi1 is "from" and resi2 is "to". Individual residues are split by a ".", and ranges are defined with "-".
In the end, it makes a large data-matrix with all the distances. It also produces a gnuplot file, for easy visualisation. Just drag the .plt file for win gnuplot command window and it plots your datamatrix.

Bugs

If the criterion is set to low, the memory gets flooded in the data-matrix file, making the file unreadable. No solutions found yet.

Example

dispmap(molecule1="NIL", molecule2="NIL", mindist=30.0, mindelta=15.0, resi1=str(0), resi2=str(0), atom='CA', listlength=5, showsticks='yes'):

Use of functions

import displacementmap
dispmap Open5NT, Closed5NT, 40.0, 15.0, resi1=206, resi2=1-512.515-550 
dispmap Open5NT, Closed5NT, 30.0, 15.0, resi2=1-512.515-550, atom=CA, listlength=10

Output

Suggestions are created in pymol, and gnuplot file is created for easy visualisation of pair data-matrix and the general backbone displacement.

Text output

In the data-matrix.txt file, you find the best suggestions

# Input 1: Open5NT  and Input 2: Closed5NT
# Find for: CA  with min. residue-residue dist: 30.0 Angstrom
# Looking for min. displacement dist: 15.0 Angstrom
# I give nr# suggestions: 5, and do I show sticks in pymol?: yes
# I look for suggestions in the range: ([0]=>means all residues)
# for Input 1: ['0'] and for Input 2: ['0']
# Mutation info is BLOSUM62 log-odds likelihood score and PAM250 is probability in % for evolutionary distance
###########################################################################################################
# Max Negative and positive distances                                       #       Mutation info         #
###########################################################################################################
# Obj.1   Obj.2   Delta   Op-Op Cl-Cl # Obj.1   Obj.2   Delta   Op-Op Cl-Cl # Res.1  Res.2 # Res.1  Res.2 #
# Res.1   Res.2   -Dist   Dist  Dist  # Res.1   Res.2   +Dist   Dist  Dist  # B62/PAM250%  # B62/PAM250%  #
###########################################################################################################
# PRO241  ASP456  -25.7   59.1   33.4 # PRO274  PRO513   26.8   31.2   58.0 # -3/ 2 -3/ 1  # -3/ 2 -3/ 2  #
# LYS197  ASP456  -25.6   57.3   31.7 # THR273  PRO513   26.1   31.6   57.7 # -1/ 1 -3/ 1  # -1/ 2 -3/ 2  #
# PRO513  ASP456  -25.4   32.4    7.0 # PRO274  GLY514   24.8   32.9   57.6 # -3/ 2 -3/ 1  # -3/ 2 -3/ 2  #
# LEU198  ASP456  -25.3   59.0   33.7 # PRO274  LYS512   24.7   30.3   55.0 # -1/ 1 -3/ 1  # -3/ 2 -1/ 1  #
# GLN201  ASP456  -25.2   62.8   37.6 # ASN311  PRO513   24.7   35.6   60.3 # -3/ 1 -3/ 1  # -3/ 1 -3/ 2  #

The script also automatically make the gnuplot plot file (.plt), with all the defined variables, for easy visualisation of the data-matrix.txt and the backbone displacement.

Example 1

Download: examples/displacementmap_1.pml
This code has been put under version control in the project Pymol-script-repo

<include src="https://raw.github.com/Pymol-Scripts/Pymol-script-repo/master/examples/displacementmap_1.pml" highlight="python" />

References

For EPR considerations
Conformation of T4 Lysozyme in Solution. Hinge-Bending Motion and the Substrate-Induced Conformational Transition Studied by Site-Directed Spin Labeling
Hassane S. Mchaourab, Kyoung Joon Oh, Celia J. Fang, and Wayne L. Hubbell
Biochemistry 1997, 36, 307-316

Probing Single-Molecule T4 Lysozyme Conformational Dynamics by Intramolecular Fluorescence Energy Transfer
Yu Chen, Dehong Hu, Erich R. Vorpagel, and H. Peter Lu
J. Phys. Chem. B 2003, 107, 7947-7956

For FRET pair selection and considerations
Fluorescent probes and bioconjugation chemistries for single-molecule fluorescence analysis of biomolecules
Achillefs N. Kapanidisa and Shimon Weiss
Journal of chemical physics VOLUME 117, Number 24 22 December 2002

For inspiration to DisplacementMap. Fig: 6, Difference-distance matrix for the difference in CA-CA distances.
Structure of a Hinge-bending Bacteriophage T4 Lysozyme Mutant, Ile3 -> Pro
M. M. Dixon, H. Nicholsont, L. Shewchuk W. A. Baase and B. W. Matthews1
J. Mol. Biol. (1992) 227. 917-933