This old version of Proteopedia is provided for student assignments while the new version is undergoing repairs. Content and edits done in this old version of Proteopedia after March 1, 2026 will eventually be lost when it is retired in about June of 2026.
Apply for new accounts at the new Proteopedia. Your logins will work in both the old and new versions.
Proteopedia talk:Development
From Proteopedia
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.
