From 3bed6a8d61c21d2b9ae7f0181fabfcc54116b8f5 Mon Sep 17 00:00:00 2001
From: Stefan Bienert <stefan.bienert@unibas.ch>
Date: Fri, 15 Jun 2012 13:51:18 +0200
Subject: [PATCH] Fixed BZDNG-223, on select backbone, both hydrogens of
 glycine get selected. Selecting side chains now excludes all atoms included
 by selecting backbone, also the CA hydrogens of glycine.

---
 modules/gui/src/scene_menu.cc            | 4 ++--
 modules/gui/src/scene_win/entity_node.cc | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/gui/src/scene_menu.cc b/modules/gui/src/scene_menu.cc
index 67f85b90d..ef02a2aee 100644
--- a/modules/gui/src/scene_menu.cc
+++ b/modules/gui/src/scene_menu.cc
@@ -60,12 +60,12 @@ SceneMenu::SceneMenu() {
 
 void SceneMenu::SelectBackbone()
 {
-  this->Select("peptide=true and aname=CA,C,N,O");
+  this->Select("peptide=true and aname=CA,C,N,O,H,HA,OXT,HXT,HA2,HA3");
 }
 
 void SceneMenu::SelectSidechains()
 {
-  this->Select("peptide=true and aname!=CA,C,N,O");
+  this->Select("peptide=true and aname!=CA,C,N,O,H,HA,OXT,HXT,HA2,HA3");
 }
 
 void SceneMenu::SelectLigands()
diff --git a/modules/gui/src/scene_win/entity_node.cc b/modules/gui/src/scene_win/entity_node.cc
index 4f49dcc96..02dc97c54 100644
--- a/modules/gui/src/scene_win/entity_node.cc
+++ b/modules/gui/src/scene_win/entity_node.cc
@@ -59,9 +59,9 @@ EntityNode::EntityNode(gfx::EntityP& entity, SceneNode* parent):
   SceneNode* quick_selection = new LabelNode("Quick Selection",this);
   model->AddNode(this, quick_selection);
 
-  SceneNode* node = new EntityPartNode("Backbone", entity, mol::QueryViewWrapper(mol::Query("aname=CA,C,N,O and peptide=true"),entity->GetView()), quick_selection);
+  SceneNode* node = new EntityPartNode("Backbone", entity, mol::QueryViewWrapper(mol::Query("aname=CA,C,N,O,H,HA,OXT,HXT,HA2,HA3 and peptide=true"),entity->GetView()), quick_selection);
   model->AddNode(quick_selection, node);
-  node = new EntityPartNode("Sidechains", entity, mol::QueryViewWrapper(mol::Query("aname!=CA,C,N,O and peptide=true"),mol::QueryFlag::EXCLUSIVE_BONDS,entity->GetView()), quick_selection);
+  node = new EntityPartNode("Sidechains", entity, mol::QueryViewWrapper(mol::Query("aname!=CA,C,N,O,H,HA,OXT,HXT,HA2,HA3 and peptide=true"),mol::QueryFlag::EXCLUSIVE_BONDS,entity->GetView()), quick_selection);
   model->AddNode(quick_selection, node);
   node = new EntityPartNode("Ligands", entity, mol::QueryViewWrapper(mol::Query("ishetatm=1 and rname!=HOH,WAT"),entity->GetView()), quick_selection);
   model->AddNode(quick_selection, node);
-- 
GitLab