Skip to main content
Log in

Compact storage of additively weighted Voronoi diagrams

  • Original article
  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

Voronoi diagrams and their dual tetrahedral structures are often utilized in various analyses of protein models where atoms are represented as balls. The additively weighted kind of Voronoi diagrams (aw-VD) is particularly useful in this area because it includes the variability of ball size. The dynamic behavior of proteins can be realistically modeled by a simulation of molecular dynamics recording atom positions at discrete snapshots of time. However, aw-VDs for these snapshots require a lot of storage. This is where domain-specific compression could help, but available algorithms are oriented primarily to the compression of ordinary tetrahedral meshes, not to aw-VDs whose dual tetrahedral structure may have anomalies complicating duality inversion and tetrahedral mesh traversal. Therefore, we propose a method that can compactly store the dual tetrahedral structure. The method is built on general ideas of an already known cut-border machine and improves these ideas in several ways so it can be applied to aw-VDs and perform well on protein data.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Code Availability

Source code—AwVoronoi [13, branch compression] Pre-built JAR (Java 11). https://sourceforge.net/projects/awvoronoi/files/tvcj2022/

References

  1. Okabe, A., Boots, B., Sugihara, K., Chiu, S.N.: Probability and Statistics. Spatial tessellations: concepts and applications of Voronoi diagrams, 2nd edn. Wiley, Amsterdam (2000)

    MATH  Google Scholar 

  2. Manak, M., Jirkovsky, L., Kolingerova, I.: Interactive analysis of Connolly surfaces for various probes. Comput. Gr. Forum 36(6), 160–172 (2017). https://doi.org/10.1111/cgf.12870

    Article  Google Scholar 

  3. Kim, D.-S., Kim, D., Cho, Y., Sugihara, K.: Quasi-triangulation and interworld data structure in three dimensions. Comput. Aided Des. 38(7), 808–819 (2006). https://doi.org/10.1016/j.cad.2006.04.008

    Article  Google Scholar 

  4. Gumhold S., Guthe S., Straßer W.: Tetrahedral mesh compression with the cut-border machine, in: Proceedings of the Conference on Visualization ’99: Celebrating Ten Years, VIS ’99, IEEE Computer Society Press, Los Alamitos, CA, USA, 1999, pp. 51–58

  5. Gavrilova M.L.: Proximity and applications in general metrics, Ph.D. thesis, University of Calgary, Calgary, Alta., Canada, AAINQ38468 (1998). http://hdl.handle.net/1880/42433

  6. Will H.M.: Computation of additively weighted Voronoi cells for applications in molecular biology, Ph.D. thesis, Swiss Federal Institute of Technology, Zurich (1999). https://doi.org/10.3929/ethz-a-003845562

  7. Kim, D.-S., Cho, Y., Sugihara, K.: Quasi-worlds and quasi-operators on quasi-triangulations. Comput. Aided Des. 42(10), 874–888 (2010). https://doi.org/10.1016/j.cad.2010.06.002

    Article  MATH  Google Scholar 

  8. Kim, D.-S., Cho, Y., Ryu, J., Kim, J.-K., Kim, D.: Anomalies in quasi-triangulations and beta-complexes of spherical atoms in molecules. Comput. Aided Des. 45(1), 35–52 (2013). https://doi.org/10.1016/j.cad.2012.03.005

    Article  MathSciNet  Google Scholar 

  9. Kim, D.-S., Cho, Y., Kim, D.: Euclidean Voronoi diagram of 3D balls and its computation via tracing edges. Comput. Aided Des. 37(13), 1412–1424 (2005). https://doi.org/10.1016/j.cad.2005.02.013

    Article  MATH  Google Scholar 

  10. Medvedev, N.N., Voloshin, V.P., Luchnikov, V.A., Gavrilova, M.L.: An algorithm for three-dimensional Voronoi S-network. J. Comput. Chem. 27(14), 1676–1692 (2006). https://doi.org/10.1002/jcc.20484

    Article  Google Scholar 

  11. Manak, M., Kolingerova, I.: Extension of the edge tracing algorithm to disconnected Voronoi skeletons. Inf. Process. Lett. 116(2), 85–92 (2016). https://doi.org/10.1016/j.ipl.2015.09.017

    Article  MathSciNet  MATH  Google Scholar 

  12. Cho Y., Kim D., Lee H.-C., Park J.Y., Kim D.-S.: Reduction of the search space in the edge-tracing algorithm for the Voronoi diagram of 3D balls. In: M. Gavrilova, O. Gervasi, V. Kumar, C. Tan, D. Taniar, A. Laganá, Y. Mun, H. Choo (Eds.), Computational Science and Its Applications – ICCSA 2006, Proceedings, Part I, Vol. 3980 of Lecture Notes in Computer Science, Springer Berlin Heidelberg, Glasgow, UK, 2006, pp. 111–120. https://doi.org/10.1007/11751540_13

  13. AwVoronoi, accessed on Jan. 3, 2022.http://awvoronoi.sf.net

  14. QTFier, accessed on Jan. 3, 2022.http://voronoi.hanyang.ac.kr

  15. Olechnovič, K., Venclovas, Č: Voronota: a fast and reliable tool for computing the vertices of the Voronoi diagram of atomic balls. J. Comput. Chem. 35(8), 672–681 (2014). https://doi.org/10.1002/jcc.23538

    Article  Google Scholar 

  16. Poupon, A.: Voronoi and Voronoi-related tessellations in studies of protein structure and interaction. Curr. Opin. Struct. Biol. 14(2), 233–241 (2004). https://doi.org/10.1016/j.sbi.2004.03.010

    Article  Google Scholar 

  17. Jurcik, A., Bednar, D., Byska, J., Marques, S.M., Furmanova, K., Daniel, L., Kokkonen, P., Brezovsky, J., Strnad, O., Stourac, J., Pavelka, A., Manak, M., Damborsky, J., Kozlikova, B.: CAVER Analyst 2.0: analysis and visualization of channels and tunnels in protein structures and molecular dynamics trajectories. Bioinformatics 34(20), 3586–3588 (2018). https://doi.org/10.1093/bioinformatics/bty386

    Article  Google Scholar 

  18. Lindow, N., Baum, D., Bondar, A.-N., Hege, H.-C.: Exploring cavity dynamics in biomolecular systems. BMC Bioinform. 14(19), S5 (2013). https://doi.org/10.1186/1471-2105-14-S19-S5

    Article  Google Scholar 

  19. Manak, M., Zemek, M., Szkandera, J., Kolingerova, I., Papaleo, E., Lambrughi, M.: Hybrid Voronoi diagrams, their computation and reduction for applications in computational biochemistry. J. Mol. Graph. Model. 74, 225–233 (2017). https://doi.org/10.1016/j.jmgm.2017.03.018

    Article  Google Scholar 

  20. Kim, D.-S., Cho, Y., Kim, J.-K., Ryu, J.: QTF: quasi-triangulation file format. Comput. Aided Des. 44(9), 835–845 (2012). https://doi.org/10.1016/j.cad.2012.04.003

    Article  Google Scholar 

  21. Maglo, A., Lavoué, G., Dupont, F., Hudelot, C.: 3D mesh compression: survey, comparisons, and emerging trends. ACM Comput. Surv. 47(3), 44:1-44:41 (2015). https://doi.org/10.1145/2693443

    Article  Google Scholar 

  22. Yang C.-K., Mitra T., Chiueh T.-C.: On-the-fly rendering of losslessly compressed irregular volume data, in: Proceedings of the Conference on Visualization ’00, VIS ’00, IEEE Computer Society Press, Los Alamitos, CA, USA, 2000, pp. 101–108. https://doi.org/10.1109/VISUAL.2000.885682

  23. Sukov S.A.: A compression method for a topology of tetrahedral meshes, Tech. Rep. 134, Keldysh Institute Preprints, Moscow (2018). https://doi.org/10.20948/prepr-2018-134

  24. Szymczak, A., Rossignac, J.: Grow & fold: compressing the connectivity of tetrahedral meshes. Comput. Aided Des. 32(8–9), 527–537 (2000). https://doi.org/10.1016/S0010-4485(00)00040-3

    Article  Google Scholar 

  25. Prat, S., Gioia, P., Bertrand, Y., Meneveaux, D.: Connectivity compression in an arbitrary dimension. Vis. Comput. 21(8), 876–885 (2005). https://doi.org/10.1007/s00371-005-0325-z

    Article  Google Scholar 

  26. Bischoff U., Rossignac J.: TetStreamer: compressed back-to-front transmission of Delaunay tetrahedra meshes, in: J. A. Storer, M. Cohn (Eds.), Data Compression Conference, IEEE Computer Society, 2005, pp. 93–102. https://doi.org/10.1109/DCC.2005.85

  27. Isenburg M., Lindstrom P., Gumhold S., Shewchuk J.: Streaming compression of tetrahedral volume meshes, in: Proceedings of Graphics Interface 2006, GI ’06, Canadian Information Processing Society, Toronto, Ont., Canada, Canada, 2006, pp. 115–121

  28. Coors, V., Rossignac, J.: Delphi: geometry-based connectivity prediction in triangle mesh compression. Vis. Comput. 20(8), 507–520 (2004). https://doi.org/10.1007/s00371-004-0255-1

    Article  Google Scholar 

  29. Lewiner, T., Craizer, M., Lopes, H., Pesco, S., Velho, L., Medeiros, E.: GEncode: Geometry-driven compression for general meshes. Comput. Gr. Forum 25(4), 685–695 (2006). https://doi.org/10.1111/j.1467-8659.2006.00990.x

    Article  Google Scholar 

  30. Doumanoglou, A., Alexiadis, D.S., Zarpalas, D., Daras, P.: Toward real-time and efficient compression of human time-varying meshes. IEEE Trans. Circuits Syst. Video Technol. 24(12), 2099–2116 (2014). https://doi.org/10.1109/TCSVT.2014.2319631

    Article  Google Scholar 

  31. Vleugels J., Ferrucci V., Overmars M., Rao A.: Hunting Voronoi vertices, Computational Geometry 6 (5) (1996) 329–354, sixth Canadian Conference on Computational Geometry. https://doi.org/10.1016/0925-7721(96)00002-8

  32. Manak, M.: Voronoi-based detection of pockets in proteins defined by large and small probes. J. Comput. Chem. 40(19), 1758–1771 (2019). https://doi.org/10.1002/jcc.25828

    Article  Google Scholar 

  33. Gavrilova, M., Rokne, J.: Updating the topology of the dynamic Voronoi diagram for spheres in Euclidean d-dimensional space. Comput. Aided Geom. Design 20(4), 231–242 (2003). https://doi.org/10.1016/S0167-8396(03)00027-X

    Article  MathSciNet  MATH  Google Scholar 

  34. Shewchuk J.R.: Robust adaptive floating-point geometric predicates. In: Proceedings of the Twelfth Annual Symposium on Computational Geometry, SCG ’96, ACM, New York, NY, USA, 1996, pp. 141–150. https://doi.org/10.1145/237218.237337

  35. Berman, H.M., Westbrook, J., Feng, Z., Gilliland, G., Bhat, T.N., Weissig, H., Shindyalov, I.N., Bourne, P.E.: The protein data bank. Nucleic Acids Res. 28(1), 235–242 (2000). https://doi.org/10.1093/nar/28.1.235

    Article  Google Scholar 

  36. Lambrughi, M., De Gioia, L., Gervasio, F.L., Lindorff-Larsen, K., Nussinov, R., Urani, C., Bruschi, M., Papaleo, E.: DNA-binding protects p53 from interactions with cofactors involved in transcription-independent functions. Nucleic Acids Res. 44(19), 9096–9109 (2016). https://doi.org/10.1093/nar/gkw770

    Article  Google Scholar 

  37. Pavlova, M., Klvana, M., Prokop, Z., Chaloupkova, R., Banas, P., Otyepka, M., Wade, R.C., Tsuda, M., Nagata, Y., Damborsky, J.: Redesigning dehalogenase access tunnels as a strategy for degrading an anthropogenic substrate. Nat. Chem. Biol. 5(10), 727–733 (2009). https://doi.org/10.1038/nchembio.205

    Article  Google Scholar 

  38. Marques, S.M., Dunajova, Z., Prokop, Z., Chaloupkova, R., Brezovsky, J., Damborsky, J.: Catalytic cycle of haloalkane dehalogenases toward unnatural substrates explored by computational modeling. J. Chem. Inf. Model. 57(8), 1970–1989 (2017). https://doi.org/10.1021/acs.jcim.7b00070

    Article  Google Scholar 

  39. Larsson, D.S.D., Liljas, L., van der Spoel, D.: Virus capsid dissolution studied by microsecond molecular dynamics simulations. PLoS Comput. Biol. 8(5), e1002502 (2012). https://doi.org/10.1371/journal.pcbi.1002502

    Article  Google Scholar 

  40. Bondi, A.: Van der Waals volumes and radii. J. Phys. Chem. 68(3), 441–451 (1964). https://doi.org/10.1021/j100785a001

    Article  Google Scholar 

  41. Dvorak, J., Manak, M., Vasa, L.: Predictive compression of molecular dynamics trajectories. J. Mol. Graph. Model. 96, 107531 (2020). https://doi.org/10.1016/j.jmgm.2020.107531

    Article  Google Scholar 

  42. The .xz Format, https://tukaani.org/xz/xz-file-format.txt

  43. Fenwick, P.M.: A new data structure for cumulative frequency tables. Softw. Pract. Exp. 24(3), 327–336 (1994). https://doi.org/10.1002/spe.4380240306

    Article  Google Scholar 

Download references

Acknowledgements

We thank the funding agencies for their support. We also thank referees for their valuable comments, which helped us improve this article.

Funding

This study was funded by the Czech Science Foundation—the projects Methods of identification and visualization of tunnels for flexible ligands in dynamic proteins (Grant Number 17-07690S) and Representation and processing methods for three-dimensional dynamic shapes (Grant Number 20-02154S). This study was also partially funded by the Czech Ministry of Education, Youth and Sports—the project Sustainability support of the center NTIS—New Technologies for the Information Society (Grant Number LO1506).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Maňák.

Ethics declarations

Conflict of interest

Martin Maňák was funded by the projects 17-07690S and LO1506. Alexey Anikeenko was funded by the Department of Computer Science and Engineering, Faculty of Applied Sciences, the University of West Bohemia in Pilsen, Czech Republic, when he was affiliated with the University of West Bohemia in Pilsen. Libor Váša was funded by the projects 20-02154S and LO1506, and Ivana Kolingerová was funded by the project 17-07690S. All these projects were solved at the Faculty of Applied Sciences of the University of West Bohemia in Pilsen, Czech Republic. The project 17-07690S was solved in cooperation with the Faculty of Electrical Engineering, Czech Technical University in Prague, and with the Faculty of Informatics, Masaryk University in Brno, Czech Republic. The authors declare that they have no other potential conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This work has been done when Alexey Anikeenko was affiliated with the University of West Bohemia.

Appendix

Appendix

Here, we present the pseudo-code for the proposed compression scheme. Topology traversal common to both the encoder and the decoder is listed in Algorithm 1 with further details in Algorithm 5. Encoder/decoder-specific calls are listed in Algorithms 2 and  4 with common code in Algorithm 3.

figure e
figure f
figure g
figure h
figure i

Algorithm 1 repeatedly seeks for the first unprocessed tetrahedron from which to start the traversal because there can be more components. Cut-border facets are organized in groups (a hash map of vertex triples to lists of facets sharing the same vertex triple). The traversal is started after the four cut-border facets of the first unprocessed tetrahedron are added to the queue. If QT contains isolated triangles or a lower-dimensional element, such cases are represented as degenerated tetrahedra with one or more invalid vertex index (\(-1\)); such facets are never added to the queue. While the queue is not empty, a facet is removed from the head of the queue, processed, and more facets can be created and added to the queue. The basic logic of processing a facet and scheduling new facets is extended to incorporate also the cut-border maintenance and other encoder/decoder-specific needs, which are described next.

If the current facet f is no longer a part of the cut-border, it will be skipped (a lazy removal of facets from cut-border updates). Otherwise, the cut-border is extended to cover the next tetrahedron by performing the join operation (see also Fig. 9). New facets (denoted by a variable h) can then be appended to the queue in the order dictated by the zero edge heuristic, but not necessarily all three. We cannot add the facets that would lead the traversal back to already processed tetrahedra. Furthermore, the decoder must update links between neighboring tetrahedra in such situations and may require some information on how to do that from the encoder. This test and the encoder/decoder communication are carried out by the \(process\_group\) operation, which returns either the cut-border facet m that can be paired with h or null. If the traversal cannot continue behind h, it will not be added to the queue, the facet m will be removed from the cut-border and the cut-border will be updated by the join operation. Otherwise, the facet h is added to the queue.

Algorithms 2 and 4 describe encoder/decoder functions. Topology traversal is always performed on tetrahedra with vertices sorted by their global index. This sorted order is represented as a permutation \(\pi \). The decoder receives the permutation parity for the initial tetrahedron only. Consistent orientation of remaining tetrahedra is ensured by propagation. The function \(process\_group\) decides whether to continue or block the traversal. This decision is signaled to the decoder by sending a confirmation bit in non-trivial cases only when at least one matching facet exists. If more choices exist, the list-index of the correct facet in the group is sent via the index stream so the decoder can connect the corresponding pair of tetrahedra.

1.1 Time complexity analysis

Algorithm 1 performs O(T) processing steps for a QT with T tetrahedra and each step involves O(1) map queries. A query takes O(1) time on average or O(log T) in the worst case when using a self-balancing tree. Processing the next tetrahedron takes O(1) in the worst case because the maximal path length for computing the local index of a tip-vertex is limited by a constant. A processing step also includes work with a group of facets. A reasonable expectation for protein data is that the size of each group will be limited by a constant. Processing a group then takes O(1) in the worst case. However, the theoretical maximal size of a group is O(T). Processing such a group can be done in O(log T) in the worst case with a Fenwick tree [43]. To conclude, the expected time complexity of both the encoder and the decoder is O(T) and the worst-case time complexity is O(T log T) without considering the compression back-end.

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Maňák, M., Anikeenko, A., Váša, L. et al. Compact storage of additively weighted Voronoi diagrams. Vis Comput 39, 5389–5404 (2023). https://doi.org/10.1007/s00371-022-02667-z

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-022-02667-z

Keywords

Navigation