From 4111d22e5b5743e804097b5e3d7eb15d36b8fd81 Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Wed, 21 Sep 2011 14:33:08 +0200
Subject: [PATCH] properly mark ligands

All residues of chains that don't have a SEQRES entry and
are not type water are marked as ligand
---
 modules/io/src/mol/mmcif_reader.cc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc
index cf4221f3b..b97087878 100644
--- a/modules/io/src/mol/mmcif_reader.cc
+++ b/modules/io/src/mol/mmcif_reader.cc
@@ -1080,6 +1080,15 @@ void MMCifParser::OnEndData()
       if (edm_it->second.seqres.length() > 0) {
         seqres_.AddSequence(seq::CreateSequence(css->first.GetName(),
                                                 edm_it->second.seqres));
+      } else if (edm_it->second.type!=mol::CHAINTYPE_WATER) {
+        // mark everything that doesn't have SEQRES as ligand and isn't of type 
+        // water as ligand
+        mol::ChainHandle chain=css->first;
+        mol::ResidueHandleList residues=chain.GetResidueList();
+        for (mol::ResidueHandleList::iterator 
+             i=residues.begin(), e=residues.end(); i!=e; ++i) {
+          (*i).SetIsLigand(true);
+        }
       }
     } else {
       LOG_WARNING("No entity description found for atom_site.label_entity_id '"
-- 
GitLab