Proteopedia talk:Development

From Proteopedia

Jump to: navigation, search

Focus on ligands and sites

Focus on ligands and sites when their green links are clicked.

  • Current state: the selected entity becomes the center of rotation, and the molecule is zoomed onto it (80% of the JSmol panel). Residues within 4 Â are highlighted with sticks for sidechains and labels for beta carbons. (The script is applied by pdbligand.php)
define ligContact within(4.0, [HEM]) and protein; 
define ligContact within(group,ligContact); 
select ligContact and sidechain; color cpk; 
select ligContact and (sidechain,alpha); wireframe 0.3; 
select ligContact and *.CB; label %m%r; 
background label yellow; color labels black;
zoomTo 0.5 { ([HEM] , ligContact )} 0 *0.8; 
select all;
  • Problem: when there are several ligands of the same name, the focus acts on their geometric center, with a not too helpful result. Example: 4 heme groups in hemoglobin, center is on the whole model. It would be better to focus on just the first heme group.
  • Proposal A: select only the first ligand of the set, by looking for first chain and first residue in it. Then, label and focus on that one as before.
nc = {[HEM]}.chainNo.min;
define ligOne [HEM] and chainNo=nc;
nc = {ligOne}.resNo.min;
define ligOne ligOne and resNo=nc;

define ligContact within(4.0, ligOne) and protein; 
define ligContact within(group,ligContact); 
select ligContact and sidechain; color cpk; 
select ligContact and (sidechain,alpha); wireframe 0.3; 
select ligContact and *.CB; label %m%r; 
background label yellow; color labels black;
zoomTo 0.5 { (ligOne , ligContact )} 0 *0.8; 
select all;
  • Proposal B: label all but zoom in on the first one.
define ligContact within(4.0, [HEM]) and protein; 
define ligContact within(group,ligContact); 
select ligContact and sidechain; color cpk; 
select ligContact and (sidechain,alpha); wireframe 0.3; 
select ligContact and *.CB; label %m%r; 
background label yellow; color labels black;

nc = {[HEM]}.chainNo.min;
define ligOne [HEM] and chainNo=nc;
nc = {ligOne}.resNo.min;
define ligOne ligOne and resNo=nc;

define ligContact within(4.0, ligOne) and protein; 
define ligContact within(group,ligContact); 
zoomTo 0.5 { (ligOne , ligContact )} 0 *0.8; 
select all;

or, maybe this end gives a better orientation for focus:

select (ligOne , ligContact);
rotate best -0.3;
zoomTo 0.5 {selected} 0 *0.8; 
select all;
  • Proposal C: additionally, if the ligand is very small (e.g. Zn2+), zoom should be reduced, maybe checking its size or mass within the Jmol script.
This does not seem necessary in full model display, since the contacting sidechains make the group larger, but in simplified display the ligand is alone. Zn has a volume of 4 (or 11?), sulphate has a volume of 70.
select (ligOne , ligContact);
if ( {selected}.volume.sum > 100 ) { zoomTo 0.5 {selected} 0 *0.8; } else { zoomTo 0.5 {selected} 0 *0.5; }

Proteopedia Page Contributors and Editors (what is this?)

Angel Herraez

Personal tools