From e565422e3ebe9838fb0228b6f8994f757afa1ad2 Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Mon, 28 Aug 2023 11:50:58 +0200
Subject: [PATCH] Construct BioUnits from assymetric unit and MMCifInfoBioUnit
 object

- Required data is extracted from MMCifInfoBioUnit object and fed into a
  custom BUInfo object
- BUInfo object can be serialized into bytestring
- Chain names in biounit have following naming scheme:
  <idx>.<asu_chain_name>. idx -> n-th copy of ASU chain with n
  starting from 1.
- Properties are copied from whatever is stored in assymetric unit
- Chain properties copied: ChainType (CHAINTYPE_POLY etc.)
- Residue properties copied: OLC, sec struct, ChemClass (PEPTIDE_LINKING etc.),
  ChemType(AMINOACIDS etc.), IsProtein flag, IsLigand flag
- Atom properties copied: name, element, occupancy, bfactor, ishetatm
---
 modules/mol/alg/pymod/CMakeLists.txt        |   1 +
 modules/mol/alg/pymod/export_biounit.cc     |  86 ++++++
 modules/mol/alg/pymod/wrap_mol_alg.cc       |   2 +
 modules/mol/alg/src/CMakeLists.txt          |   2 +
 modules/mol/alg/src/biounit.cc              | 321 ++++++++++++++++++++
 modules/mol/alg/src/biounit.hh              |  66 ++++
 modules/mol/alg/tests/CMakeLists.txt        |   1 +
 modules/mol/alg/tests/test_biounit.py       | 104 +++++++
 modules/mol/alg/tests/testfiles/1out.cif.gz | Bin 0 -> 70172 bytes
 9 files changed, 583 insertions(+)
 create mode 100644 modules/mol/alg/pymod/export_biounit.cc
 create mode 100644 modules/mol/alg/src/biounit.cc
 create mode 100644 modules/mol/alg/src/biounit.hh
 create mode 100644 modules/mol/alg/tests/test_biounit.py
 create mode 100644 modules/mol/alg/tests/testfiles/1out.cif.gz

diff --git a/modules/mol/alg/pymod/CMakeLists.txt b/modules/mol/alg/pymod/CMakeLists.txt
index 979503197..146774722 100644
--- a/modules/mol/alg/pymod/CMakeLists.txt
+++ b/modules/mol/alg/pymod/CMakeLists.txt
@@ -11,6 +11,7 @@ set(OST_MOL_ALG_PYMOD_SOURCES
   export_molck.cc
   export_membrane.cc
   export_entity_to_density.cc
+  export_biounit.cc
 )
 
 set(OST_MOL_ALG_PYMOD_MODULES
diff --git a/modules/mol/alg/pymod/export_biounit.cc b/modules/mol/alg/pymod/export_biounit.cc
new file mode 100644
index 000000000..1b1e6b354
--- /dev/null
+++ b/modules/mol/alg/pymod/export_biounit.cc
@@ -0,0 +1,86 @@
+//------------------------------------------------------------------------------
+// This file is part of the OpenStructure project <www.openstructure.org>
+//
+// Copyright (C) 2008-2023 by the OpenStructure authors
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License as published by the Free
+// Software Foundation; either version 3.0 of the License, or (at your option)
+// any later version.
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+// FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
+// details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//------------------------------------------------------------------------------
+
+#include <boost/python.hpp>
+using namespace boost::python;
+
+#include <ost/mol/alg/biounit.hh>
+
+namespace{
+
+  PyObject* wrap_to_bytes(ost::mol::alg::BUInfo& bu) {
+    String str = bu.ToString();
+    return PyBytes_FromStringAndSize(str.c_str(), str.size());
+  }
+  
+  ost::mol::alg::BUInfo wrap_from_bytes(boost::python::object obj) {
+    String str(PyBytes_AsString(obj.ptr()), PyBytes_Size(obj.ptr()));
+    return ost::mol::alg::BUInfo::FromString(str);
+  }
+
+  list wrap_get_au_chains(const ost::mol::alg::BUInfo& info) {
+    list return_list;
+    const std::vector<std::vector<String> >& au_chains = info.GetAUChains();
+    for(uint i = 0; i < au_chains.size(); ++i) {
+      list tmp;
+      for(uint j = 0; j < au_chains[i].size(); ++j) {
+        tmp.append(au_chains[i][j]);
+      }
+      return_list.append(tmp);
+    }
+    return return_list;
+  }
+
+  list wrap_get_transformations(const ost::mol::alg::BUInfo& info) {
+    list return_list;
+    const std::vector<std::vector<geom::Mat4> >& tfs = info.GetTransformations();
+    for(uint i = 0; i < tfs.size(); ++i) {
+      list tmp;
+      for(uint j = 0; j < tfs[i].size(); ++j) {
+        tmp.append(tfs[i][j]);
+      }
+      return_list.append(tmp);
+    }
+    return return_list;
+  }
+
+  ost::mol::EntityHandle wrap_CreateBU_one(const ost::mol::EntityHandle& asu,
+                                           const ost::io::MMCifInfoBioUnit& bu) {
+    return ost::mol::alg::CreateBU(asu, bu);
+  }
+
+  ost::mol::EntityHandle wrap_CreateBU_two(const ost::mol::EntityHandle& asu,
+                                           const ost::mol::alg::BUInfo& bu) {
+    return ost::mol::alg::CreateBU(asu, bu);
+  }
+
+} // anon ns
+
+void export_biounit() {
+
+  class_<ost::mol::alg::BUInfo>("BUInfo", init<const ost::io::MMCifInfoBioUnit&>())
+    .def("FromBytes", &wrap_from_bytes).staticmethod("FromBytes")
+    .def("ToBytes", &wrap_to_bytes)
+    .def("GetAUChains", &wrap_get_au_chains)
+    .def("GetTransformations", &wrap_get_transformations)
+  ;
+
+  def("CreateBU", &wrap_CreateBU_one);
+  def("CreateBU", &wrap_CreateBU_two);
+}
diff --git a/modules/mol/alg/pymod/wrap_mol_alg.cc b/modules/mol/alg/pymod/wrap_mol_alg.cc
index e1b803986..295bea2bb 100644
--- a/modules/mol/alg/pymod/wrap_mol_alg.cc
+++ b/modules/mol/alg/pymod/wrap_mol_alg.cc
@@ -50,6 +50,7 @@ void export_sec_struct();
 void export_sec_struct_segments();
 void export_find_membrane();
 void export_entity_to_density();
+void export_biounit();
 
 namespace {
   
@@ -321,6 +322,7 @@ BOOST_PYTHON_MODULE(_ost_mol_alg)
   export_sec_struct_segments();
   export_find_membrane();
   export_entity_to_density();
+  export_biounit();
   
   def("LocalDistDiffTest", lddt_a, (arg("sequence_separation")=0,arg("local_lddt_property_string")=""));
   def("LocalDistDiffTest", lddt_c, (arg("local_lddt_property_string")=""));
diff --git a/modules/mol/alg/src/CMakeLists.txt b/modules/mol/alg/src/CMakeLists.txt
index c90616ba2..49f58f50e 100644
--- a/modules/mol/alg/src/CMakeLists.txt
+++ b/modules/mol/alg/src/CMakeLists.txt
@@ -24,6 +24,7 @@ set(OST_MOL_ALG_HEADERS
   molck.hh
   find_membrane.hh
   entity_to_density.hh
+  biounit.hh
 )
 
 set(OST_MOL_ALG_SOURCES
@@ -51,6 +52,7 @@ set(OST_MOL_ALG_SOURCES
   molck.cc
   find_membrane.cc
   entity_to_density.cc
+  biounit.cc
 )
 
 set(MOL_ALG_DEPS ost_mol ost_seq ost_img ost_img_alg ost_seq_alg ost_conop)
diff --git a/modules/mol/alg/src/biounit.cc b/modules/mol/alg/src/biounit.cc
new file mode 100644
index 000000000..2ff12d7dd
--- /dev/null
+++ b/modules/mol/alg/src/biounit.cc
@@ -0,0 +1,321 @@
+//------------------------------------------------------------------------------
+// This file is part of the OpenStructure project <www.openstructure.org>
+//
+// Copyright (C) 2008-2023 by the OpenStructure authors
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License as published by the Free
+// Software Foundation; either version 3.0 of the License, or (at your option)
+// any later version.
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+// FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
+// details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//------------------------------------------------------------------------------
+
+#include <ost/mol/alg/biounit.hh>
+#include <ost/mol/entity_view.hh>
+
+namespace{
+
+// dump and load vectors with various types of integers 
+template<typename T>
+void LoadIntVec(std::istream& stream, std::vector<T>& vec) {
+  uint32_t size;
+  stream.read(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  vec.resize(size);
+  stream.read(reinterpret_cast<char*>(&vec[0]), size*sizeof(T));
+}
+
+template<typename T>
+void DumpIntVec(std::ostream& stream, const std::vector<T>& vec) {
+  uint32_t size = vec.size();
+  stream.write(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  stream.write(reinterpret_cast<const char*>(&vec[0]), size*sizeof(T));
+}
+
+// dump and load strings
+void Load(std::istream& stream, String& str) {
+  uint32_t size;
+  stream.read(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  str.resize(size);
+  stream.read(&str[0], size);
+}
+
+void Dump(std::ostream& stream, const String& str) {
+  uint32_t size = str.size();
+  stream.write(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  stream.write(&str[0], size);
+}
+
+// dump and load vectors with strings
+void Load(std::istream& stream, std::vector<String>& vec) {
+  std::vector<uint8_t> string_sizes;
+  String str;
+  LoadIntVec(stream, string_sizes);
+  Load(stream, str);
+  vec.resize(string_sizes.size());
+  int idx = 0;
+  for(uint i = 0; i < string_sizes.size(); ++i) {
+    vec[i] = str.substr(idx, string_sizes[i]);
+    idx += string_sizes[i];
+  }
+}
+
+void Dump(std::ostream& stream, const std::vector<String>& vec) {
+  String total_string;
+  std::vector<uint8_t> string_sizes;
+  for(auto it = vec.begin(); it != vec.end(); ++it) {
+    if(it->size() > std::numeric_limits<uint8_t>::max()) {
+      std::stringstream ss;
+      ss << "Max string size that can be encoded is "; 
+      ss << std::numeric_limits<uint8_t>::max() << " cannot encode "<< *it; 
+    }
+    string_sizes.push_back(it->size());
+    total_string += *it;
+  }
+  DumpIntVec(stream, string_sizes);
+  Dump(stream, total_string);
+}
+
+// dump and load vectors with Mat4
+void Load(std::istream& stream, std::vector<geom::Mat4>& vec) {
+  uint32_t size;
+  stream.read(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  vec.resize(size);
+  for(uint i = 0; i < size; ++i) {
+    stream.read(reinterpret_cast<char*>(vec[i].Data()),16*sizeof(Real));
+  }
+}
+
+void Dump(std::ostream& stream, const std::vector<geom::Mat4>& vec) {
+  uint32_t size = vec.size();
+  stream.write(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  for(uint i = 0; i < size; ++i) {
+    stream.write(reinterpret_cast<const char*>(vec[i].Data()), 16*sizeof(Real));
+  }
+}
+
+} // anon ns
+
+
+namespace ost{ namespace mol{ namespace alg{
+
+BUInfo::BUInfo(const ost::io::MMCifInfoBioUnit& bu) {
+
+  // translate MMCifInfoBioUnit objects into simpler data structures
+  au_chains = bu.GetChainList();
+
+  const std::vector<std::pair<int, int> >& bu_ch_intvl = bu.GetChainIntervalList();
+  for(auto it = bu_ch_intvl.begin(); it != bu_ch_intvl.end(); ++it) {
+    chain_intvl.push_back(it->first);      
+    chain_intvl.push_back(it->second);      
+  }
+
+  const std::vector<std::vector<ost::io::MMCifInfoTransOpPtr> >& bu_op_list = bu.GetOperations();
+  for(auto i = bu_op_list.begin(); i != bu_op_list.end(); ++i) {
+    std::vector<geom::Mat4> mat_list;
+    for(auto j = i->begin(); j != i->end(); ++j) {
+      geom::Mat4 m;
+      m.PasteRotation((*j)->GetMatrix());
+      m.PasteTranslation((*j)->GetVector());
+      mat_list.push_back(m);
+    }
+    operations.push_back(mat_list);
+  }
+
+  const std::vector<std::pair<int, int> >& bu_op_intvl = bu.GetOperationsIntervalList();
+  for(auto it = bu_op_intvl.begin(); it != bu_op_intvl.end(); ++it) {
+    op_intvl.push_back(it->first);      
+    op_intvl.push_back(it->second);      
+  }
+}
+
+void BUInfo::ToStream(std::ostream& stream) const {
+  Dump(stream, au_chains);
+  DumpIntVec(stream, chain_intvl);
+  uint32_t size = operations.size();
+  stream.write(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  for(auto it = operations.begin(); it != operations.end(); ++it) {
+    Dump(stream, *it);
+  }
+  DumpIntVec(stream, op_intvl);
+}
+
+BUInfo BUInfo::FromStream(std::istream& stream) {
+  BUInfo info;
+  Load(stream, info.au_chains);
+  LoadIntVec(stream, info.chain_intvl);
+  uint32_t size = 0;
+  stream.read(reinterpret_cast<char*>(&size), sizeof(uint32_t));
+  info.operations.resize(size);
+  for(uint i = 0; i < size; ++i) {
+    Load(stream, info.operations[i]);
+  }
+  LoadIntVec(stream, info.op_intvl);
+  return info;
+}
+
+BUInfo BUInfo::FromString(const String& s) {
+  std::istringstream in_stream(s);
+  BUInfo info = BUInfo::FromStream(in_stream);
+  return info;
+}
+
+String BUInfo::ToString() const {
+  std::ostringstream out_stream;
+  this->ToStream(out_stream);
+  return out_stream.str();
+}
+
+const std::vector<std::vector<String> >& BUInfo::GetAUChains() const {
+  if(au_chains_.empty()) {
+    this->_InitTransforms();
+  }
+  return au_chains_;
+}
+
+const std::vector<std::vector<geom::Mat4> >& BUInfo::GetTransformations() const {
+  if(transforms_.empty()) {
+    this->_InitTransforms();
+  }
+  return transforms_;
+}
+
+void BUInfo::_InitTransforms() const {
+  int n_intervals = chain_intvl.size() / 2;
+  for(int intvl_idx = 0; intvl_idx < n_intervals; ++intvl_idx) {
+    // extract relevant chain names from asu
+    ////////////////////////////////////////
+    std::vector<String> chain_names;
+    int chain_start = chain_intvl[2*intvl_idx];
+    int chain_end = chain_intvl[2*intvl_idx+1];
+    for(int ch_idx = chain_start; ch_idx < chain_end; ++ch_idx) {
+      chain_names.push_back(au_chains[ch_idx]);
+    }
+    au_chains_.push_back(chain_names);
+    // extract operations that will be applied to those chains
+    //////////////////////////////////////////////////////////
+    std::vector<geom::Mat4> transforms;
+    int op_start = op_intvl[2*intvl_idx];
+    int op_end = op_intvl[2*intvl_idx+1];
+    if(op_end > op_start) {
+      for(auto it = operations[op_start].begin();
+          it != operations[op_start].end(); ++it) {
+        transforms.push_back(*it);
+      }
+      ++op_start;
+      while(op_start < op_end) {
+        std::vector<geom::Mat4> tmp_transforms;
+        for(auto i = operations[op_start].begin(); 
+            i != operations[op_start].end(); ++i) {
+          for(auto j = transforms.begin(); j != transforms.end(); ++j) {
+            tmp_transforms.push_back((*j)*(*i));
+          }
+        }
+        transforms = tmp_transforms;
+        ++op_start;
+      }
+    }
+    transforms_.push_back(transforms);
+  }
+}
+
+ost::mol::EntityHandle CreateBU(const ost::mol::EntityHandle& asu,
+                                const ost::io::MMCifInfoBioUnit& bu) {
+  BUInfo bu_info(bu);
+  return CreateBU(asu, bu_info);
+}
+
+ost::mol::EntityHandle CreateBU(const ost::mol::EntityHandle& asu,
+                                const BUInfo& bu_info) {
+  ost::mol::EntityHandle ent = ost::mol::CreateEntity();
+  ent.SetName(asu.GetName());
+  ost::mol::XCSEditor ed = ent.EditXCS(mol::BUFFERED_EDIT);
+
+  // For chain naming. First occurence: 1.<au_cname>, Second: 2.<au_cname> etc.
+  std::map<String, int> chain_counter;
+
+  const std::vector<std::vector<String> >& au_chains = bu_info.GetAUChains();
+  const std::vector<std::vector<geom::Mat4> >& transforms =
+  bu_info.GetTransformations();
+
+  for(uint chain_intvl = 0; chain_intvl < au_chains.size(); ++chain_intvl) {
+    if(au_chains[chain_intvl].empty()) continue;
+    // derive all bonds related to that chain_intvl
+    // potentially also interchain bonds
+    std::stringstream query_ss;
+    query_ss << "cname=" << au_chains[chain_intvl][0];
+    for(uint i = 1; i < au_chains[chain_intvl].size(); ++i) {
+      query_ss << ',' << au_chains[chain_intvl][i];
+    }
+    ost::mol::EntityView asu_view = asu.Select(query_ss.str());
+    const ost::mol::BondHandleList& bond_list = asu_view.GetBondList();
+
+    // process all transformations
+    for(uint t_idx = 0; t_idx < transforms[chain_intvl].size(); ++t_idx) {
+      const geom::Mat4& m = transforms[chain_intvl][t_idx];
+      // key: au_at.GetHashCode, value: bu_at
+      // required for bond buildup in the end
+      std::map<long, AtomHandle> atom_mapper;
+      for(uint c_idx = 0; c_idx < au_chains[chain_intvl].size(); ++c_idx) {
+        String au_cname = au_chains[chain_intvl][c_idx];
+        if(chain_counter.find(au_cname) == chain_counter.end()) {
+          chain_counter[au_cname] = 1;
+        }
+        std::stringstream bu_cname_ss;
+        bu_cname_ss << chain_counter[au_cname] << '.' << au_cname;
+        chain_counter[au_cname] += 1;
+        ost::mol::ChainHandle asu_ch = asu.FindChain(au_cname);
+        if(!asu_ch.IsValid()) {
+          std::stringstream ss;
+          ss << "Cannot construct biounit with asu chain "<<au_cname;
+          ss << ". Specified interval only has: " <<au_chains[chain_intvl][0];
+          for(uint i = 1; i < au_chains[chain_intvl].size(); ++i) {
+            ss << ',' << au_chains[chain_intvl][i];
+          }
+          throw ost::Error(ss.str());
+        }
+        ost::mol::ChainHandle bu_ch = ed.InsertChain(bu_cname_ss.str());
+        ed.SetChainType(bu_ch, asu_ch.GetType());
+        ost::mol::ResidueHandleList au_res_list = asu_ch.GetResidueList();
+        for(auto res_it = au_res_list.begin();
+            res_it != au_res_list.end(); ++res_it) {
+          ost::mol::ResidueHandle bu_res = ed.AppendResidue(bu_ch,
+            res_it->GetName(), res_it->GetNumber());
+          bu_res.SetOneLetterCode(res_it->GetOneLetterCode());
+          bu_res.SetSecStructure(res_it->GetSecStructure());
+          bu_res.SetChemClass(res_it->GetChemClass());
+          bu_res.SetChemType(res_it->GetChemType());
+          bu_res.SetIsProtein(res_it->IsProtein());
+          bu_res.SetIsLigand(res_it->IsLigand());
+          ost::mol::AtomHandleList au_at_list = res_it->GetAtomList();
+          for(auto at_it = au_at_list.begin(); at_it != au_at_list.end(); ++at_it) {
+            geom::Vec3 bu_at_pos = geom::Vec3(m*geom::Vec4(at_it->GetPos()));
+            ost::mol::AtomHandle bu_at = ed.InsertAtom(bu_res, at_it->GetName(),
+                                                       bu_at_pos,
+                                                       at_it->GetElement(),
+                                                       at_it->GetOccupancy(),
+                                                       at_it->GetBFactor(),
+                                                       at_it->IsHetAtom());
+            atom_mapper[at_it->GetHashCode()] = bu_at;
+          }
+        }
+      }
+
+      // connect
+      for(auto it = bond_list.begin(); it != bond_list.end(); ++it) {
+        ed.Connect(atom_mapper[it->GetFirst().GetHashCode()],
+                   atom_mapper[it->GetSecond().GetHashCode()]);
+      }
+
+    }
+  }
+  return ent;
+}
+
+}}} // ns
diff --git a/modules/mol/alg/src/biounit.hh b/modules/mol/alg/src/biounit.hh
new file mode 100644
index 000000000..3af0483e1
--- /dev/null
+++ b/modules/mol/alg/src/biounit.hh
@@ -0,0 +1,66 @@
+//------------------------------------------------------------------------------
+// This file is part of the OpenStructure project <www.openstructure.org>
+//
+// Copyright (C) 2008-2023 by the OpenStructure authors
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License as published by the Free
+// Software Foundation; either version 3.0 of the License, or (at your option)
+// any later version.
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+// FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
+// details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//------------------------------------------------------------------------------
+#ifndef OST_MOL_ALG_BIOUNIT_HH
+#define OST_MOL_ALG_BIOUNIT_HH
+
+#include <ost/mol/entity_handle.hh>
+#include <ost/io/mmcif_info.hh>
+
+namespace ost { namespace mol { namespace alg {
+
+struct BUInfo {
+
+  BUInfo() { };
+
+  BUInfo(const ost::io::MMCifInfoBioUnit& bu);
+
+  void ToStream(std::ostream& stream) const;
+
+  static BUInfo FromStream(std::istream& stream);
+
+  String ToString() const;
+
+  static BUInfo FromString(const String& s);
+
+  const std::vector<std::vector<String> >& GetAUChains() const;
+
+  const std::vector<std::vector<geom::Mat4> >& GetTransformations() const;
+
+  void _InitTransforms() const;
+
+  std::vector<String> au_chains;
+  std::vector<int> chain_intvl;
+  std::vector<std::vector<geom::Mat4> > operations;
+  std::vector<int> op_intvl;
+
+private:
+  mutable std::vector<std::vector<String> > au_chains_;
+  mutable std::vector<std::vector<geom::Mat4> > transforms_;
+};
+
+ost::mol::EntityHandle CreateBU(const ost::mol::EntityHandle& asu,
+                                const ost::io::MMCifInfoBioUnit& bu);
+
+
+ost::mol::EntityHandle CreateBU(const ost::mol::EntityHandle& asu,
+                                const BUInfo& bu_info);
+
+}}} // ns
+
+#endif // OST_MOL_ALG_BIOUNIT_HH
diff --git a/modules/mol/alg/tests/CMakeLists.txt b/modules/mol/alg/tests/CMakeLists.txt
index 4e3126dd8..268d09c81 100644
--- a/modules/mol/alg/tests/CMakeLists.txt
+++ b/modules/mol/alg/tests/CMakeLists.txt
@@ -12,6 +12,7 @@ set(OST_MOL_ALG_UNIT_TESTS
   test_qsscore.py
   test_stereochemistry.py
   test_contact_score.py
+  test_biounit.py
 )
 
 if (COMPOUND_LIB)
diff --git a/modules/mol/alg/tests/test_biounit.py b/modules/mol/alg/tests/test_biounit.py
new file mode 100644
index 000000000..a3dc77ae6
--- /dev/null
+++ b/modules/mol/alg/tests/test_biounit.py
@@ -0,0 +1,104 @@
+import unittest, os, sys
+import ost
+from ost import io, geom, mol
+from ost.mol.alg import BUInfo
+
+class TestBioUnit(unittest.TestCase):
+
+  def test_bu(self):
+    ent, seqres, info = io.LoadMMCIF("testfiles/1out.cif.gz", 
+                                     seqres=True,
+                                     info=True)
+
+    # Create BUInfo from MMCifInfoBioUnit
+    biounits = info.GetBioUnits()
+    self.assertEqual(len(biounits), 1)
+    bu_info = BUInfo(biounits[0])
+
+    # directly use the dump and load mechanism
+    # IF ANY UNIT TEST FAILS, DISABLE THE FOLLOWING TWO LINES
+    # TO EXCLUDE THE POSSIBILITY OF ISSUES IN BUINFO IO FUNCTIONALITY
+    bytes_str = bu_info.ToBytes()
+    bu_info = BUInfo.FromBytes(bytes_str)
+
+    # check whether properties in BUInfo object are correctly set
+    asu_chains = bu_info.GetAUChains()
+    self.assertEqual(asu_chains, [["A", "B", "C", "D", "E", "F"]])
+    transformations = bu_info.GetTransformations()
+    self.assertEqual(len(transformations), 1)
+    self.assertEqual(len(transformations[0]), 2)
+    self.assertEqual(transformations[0][0], geom.Mat4()) # identity
+
+    # reconstruct biounit
+    bu = mol.alg.CreateBU(ent, bu_info)
+    self.assertEqual([ch.GetName() for ch in bu.chains],
+                     ["1.A", "1.B", "1.C", "1.D", "1.E", "1.F",
+                      "2.A", "2.B", "2.C", "2.D", "2.E", "2.F"])
+
+    # extract copies of original assymetric units from biounit
+    for ch in bu.chains:
+      ch.SetIntProp("asu_copy_idx", int(ch.GetName().split('.')[0]))
+    asu_copy_one = bu.Select("gcasu_copy_idx=1")
+    asu_copy_two = bu.Select("gcasu_copy_idx=2")
+
+    # compare bonds - well, this tests whether bonds have been correctly
+    # transferred. BUT: we can be pretty sure that all atoms/residues/chains
+    # have been transferred too when explicitely checking the bonds.
+    asu_bonds = ent.GetBondList()
+    asu_bonds_desc = list()
+    for b in asu_bonds:
+      at_one = b.GetFirst()
+      at_one_cname = at_one.GetChain().GetName()
+      at_one_rname = at_one.GetResidue().GetName()
+      at_one_rnum = at_one.GetResidue().GetNumber().GetNum()
+      at_one_name = at_one.GetName()
+      at_one_desc = f"{at_one_cname}.{at_one_rname}.{at_one_rnum}.{at_one_name}"
+      at_two = b.GetSecond()
+      at_two_cname = at_two.GetChain().GetName()
+      at_two_rname = at_two.GetResidue().GetName()
+      at_two_rnum = at_two.GetResidue().GetNumber().GetNum()
+      at_two_name = at_two.GetName()
+      at_two_desc = f"{at_two_cname}.{at_two_rname}.{at_two_rnum}.{at_two_name}"
+      asu_bonds_desc.append((at_one_desc, at_two_desc))
+
+    asu_copy_one_bonds = asu_copy_one.GetBondList()
+    asu_copy_one_bonds_desc = list()
+    for b in asu_copy_one_bonds:
+      at_one = b.GetFirst()
+      at_one_cname = at_one.GetChain().GetName().split('.')[1]
+      at_one_rname = at_one.GetResidue().GetName()
+      at_one_rnum = at_one.GetResidue().GetNumber().GetNum()
+      at_one_name = at_one.GetName()
+      at_one_desc = f"{at_one_cname}.{at_one_rname}.{at_one_rnum}.{at_one_name}"
+      at_two = b.GetSecond()
+      at_two_cname = at_two.GetChain().GetName().split('.')[1]
+      at_two_rname = at_two.GetResidue().GetName()
+      at_two_rnum = at_two.GetResidue().GetNumber().GetNum()
+      at_two_name = at_two.GetName()
+      at_two_desc = f"{at_two_cname}.{at_two_rname}.{at_two_rnum}.{at_two_name}"
+      asu_copy_one_bonds_desc.append((at_one_desc, at_two_desc))
+    
+    asu_copy_two_bonds = asu_copy_two.GetBondList()
+    asu_copy_two_bonds_desc = list()
+    for b in asu_copy_two_bonds:
+      at_one = b.GetFirst()
+      at_one_cname = at_one.GetChain().GetName().split('.')[1]
+      at_one_rname = at_one.GetResidue().GetName()
+      at_one_rnum = at_one.GetResidue().GetNumber().GetNum()
+      at_one_name = at_one.GetName()
+      at_one_desc = f"{at_one_cname}.{at_one_rname}.{at_one_rnum}.{at_one_name}"
+      at_two = b.GetSecond()
+      at_two_cname = at_two.GetChain().GetName().split('.')[1]
+      at_two_rname = at_two.GetResidue().GetName()
+      at_two_rnum = at_two.GetResidue().GetNumber().GetNum()
+      at_two_name = at_two.GetName()
+      at_two_desc = f"{at_two_cname}.{at_two_rname}.{at_two_rnum}.{at_two_name}"
+      asu_copy_two_bonds_desc.append((at_one_desc, at_two_desc))
+
+    self.assertEqual(asu_bonds_desc, asu_copy_one_bonds_desc)
+    self.assertEqual(asu_bonds_desc, asu_copy_two_bonds_desc)
+
+
+if __name__ == "__main__":
+  from ost import testutils
+  testutils.RunTests()
diff --git a/modules/mol/alg/tests/testfiles/1out.cif.gz b/modules/mol/alg/tests/testfiles/1out.cif.gz
new file mode 100644
index 0000000000000000000000000000000000000000..753337af9ab9dc0eca11a4391f1e9e92f5148332
GIT binary patch
literal 70172
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
LP+9V8MHU7C?|>DG

literal 0
HcmV?d00001

-- 
GitLab