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.
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
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)
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
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
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
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
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
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
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
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
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
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
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
AwVoronoi, accessed on Jan. 3, 2022.http://awvoronoi.sf.net
QTFier, accessed on Jan. 3, 2022.http://voronoi.hanyang.ac.kr
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bondi, A.: Van der Waals volumes and radii. J. Phys. Chem. 68(3), 441–451 (1964). https://doi.org/10.1021/j100785a001
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
The .xz Format, https://tukaani.org/xz/xz-file-format.txt
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
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
Corresponding author
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.
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.
About this article
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
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-022-02667-z