Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Sérgio Dias is active.

Publication


Featured researches published by Sérgio Dias.


high performance distributed computing | 2010

CUDA-based triangulations of convolution molecular surfaces

Sérgio Dias; Kuldeep Bora; Abel J. P. Gomes

Computing molecular surfaces is important to measure areas and volumes of molecules, as well as to infer useful information about interactions with other molecules. Over the years many algorithms have been developed to triangulate and to render molecular surfaces. However, triangulation algorithms usually are very expensive in terms of memory storage and time performance, and thus far from real-time performance. Fortunately, the massive computational power of the new generation of low-cost GPUs opens up an opportunity window to solve these problems: real-time performance and cheap computing commodities. This paper just presents a GPU-based algorithm to speed up the triangulation and rendering of molecular surfaces using CUDA. Our triangulation algorithm for molecular surfaces is based on a multi-threaded, parallel version of the Marching Cubes (MC) algorithm. However, the input of our algorithm is not the volume dataset of a given molecule as usual for Marching Cubes, but the atom centers provided by the PDB file of such a molecule. We also carry out a study that compares a serial version (CPU) and a parallel version (GPU) of the MC algorithm in triangulating molecular surfaces as a way to understand how real-time rendering of molecular surfaces can be achieved in the future.


Concurrency and Computation: Practice and Experience | 2011

Graphics processing unit-based triangulations of Blinn molecular surfaces

Sérgio Dias; Abel J. P. Gomes

Computing the surface of a molecule (e.g., a protein) plays an important role in the analysis of its geometric structure as needed in the study of interactions between proteins, protein folding, protein docking, and so forth. There are a number of algorithms for the computation of molecular surfaces and their triangulations, but only a few take advantage of graphics processing unit computing. This paper describes a graphics processing unit‐based marching cubes algorithm to triangulate molecular surfaces. In the end of the paper, a performance analysis of three implementations (i.e., serial CPU, CUDA, and OpenCL) of the marching cubes‐based triangulation algorithm takes place as a way to realize beforehand how molecular surfaces can be rendered in real‐time in the future. Copyright


Computer Graphics Forum | 2017

Geometric Detection Algorithms for Cavities on Protein Surfaces in Molecular Graphics: A Survey

Tiago Simões; Daniel Simões Lopes; Sérgio Dias; Francisco Fernandes; João Madeiras Pereira; Joaquim A. Jorge; Chandrajit L. Bajaj; Abel J. P. Gomes

Detecting and analysing protein cavities provides significant information about active sites for biological processes (e.g. protein–protein or protein–ligand binding) in molecular graphics and modelling. Using the three‐dimensional (3D) structure of a given protein (i.e. atom types and their locations in 3D) as retrieved from a PDB (Protein Data Bank) file, it is now computationally viable to determine a description of these cavities. Such cavities correspond to pockets, clefts, invaginations, voids, tunnels, channels and grooves on the surface of a given protein. In this work, we survey the literature on protein cavity computation and classify algorithmic approaches into three categories: evolution‐based, energy‐based and geometry‐based. Our survey focuses on geometric algorithms, whose taxonomy is extended to include not only sphere‐, grid‐ and tessellation‐based methods, but also surface‐based, hybrid geometric, consensus and time‐varying methods. Finally, we detail those techniques that have been customized for GPU (graphics processing unit) computing.


Computer Graphics Forum | 2017

Geometric Detection Algorithms for Cavities on Protein Surfaces in Molecular Graphics: A Survey: Detection Algorithms for Cavities

Tiago Simões; Daniel Simões Lopes; Sérgio Dias; Francisco Fernandes; João Madeiras Pereira; Joaquim A. Jorge; Chandrajit L. Bajaj; Abel J. P. Gomes

Detecting and analysing protein cavities provides significant information about active sites for biological processes (e.g. protein–protein or protein–ligand binding) in molecular graphics and modelling. Using the three‐dimensional (3D) structure of a given protein (i.e. atom types and their locations in 3D) as retrieved from a PDB (Protein Data Bank) file, it is now computationally viable to determine a description of these cavities. Such cavities correspond to pockets, clefts, invaginations, voids, tunnels, channels and grooves on the surface of a given protein. In this work, we survey the literature on protein cavity computation and classify algorithmic approaches into three categories: evolution‐based, energy‐based and geometry‐based. Our survey focuses on geometric algorithms, whose taxonomy is extended to include not only sphere‐, grid‐ and tessellation‐based methods, but also surface‐based, hybrid geometric, consensus and time‐varying methods. Finally, we detail those techniques that have been customized for GPU (graphics processing unit) computing.


Proceedings of the 20th European MPI Users' Group Meeting on | 2013

Triangulating molecular surfaces on multiple GPUs

Sérgio Dias; Abel J. P. Gomes

Current GPU-based workstations are inadequate to triangulate and rendering large molecular datasets with thousands and hundreds of thousands, not to say millions, of atoms. The problem is not so the lack of processing power, but the memory limitations of current GPU graphics cards. For example, the NVidia GeForce GTX 590 graphics card comes with two 1.5GB GPUs. We tackle here this problem using a OpenMP-CUDA solution that runs on a loosely-coupled GPU cluster. Basically, we propose a fast, scalable, parallel triangulation algorithm for molecular surfaces that takes advantage of multicore processors of CPUs and GPUs of modern hardware architectures, where each CPU core works as the master of a single GPU, being the processing burden distributed over the CPU cores available in a single computer or a cluster. As much as we know, this is the first marching cubes algorithm that triangulates molecular surfaces on multiple GPUs using CUDA and OpenMP.


Future Generation Computer Systems | 2017

Multi-GPU-based detection of protein cavities using critical points

Sérgio Dias; Quoc Trong Nguyen; Joaquim A. Jorge; Abel J. P. Gomes

Abstract Protein cavities are specific regions on the protein surface where ligands (small molecules) may bind. Such cavities are putative binding sites of proteins for ligands. Usually, cavities correspond to voids, pockets, and depressions of molecular surfaces. The location of such cavities is important to better understand protein functions, as needed in, for example, structure-based drug design. This article introduces a geometric method to detecting cavities on the molecular surface based on the theory of critical points. The method, called CriticalFinder, differs from other surface-based methods found in the literature because it directly uses the curvature of the scalar field (or function) that represents the molecular surface, instead of evaluating the curvature of the Connolly function over the molecular surface. To evaluate the accuracy of CriticalFinder, we compare it to other seven geometric methods (i.e., LIGSITE C S , GHECOM, ConCavity, POCASA, SURFNET, PASS, and Fpocket). The benchmark results show that CriticalFinder outperforms those methods in terms of accuracy. In addition, the performance analysis of the GPU implementation of CriticalFinder in terms of time consumption and memory space occupancy was carried out.


parallel computing | 2015

Triangulating molecular surfaces over a LAN of GPU-enabled computers

Sérgio Dias; Abel J. P. Gomes

The first multi-GPU marching cubes algorithm using a distributed OpenMPI-OpenMP-CUDA architecture.Triangulating and rendering of molecules with a large number of atoms (millions of atoms).A scalable solution to triangulate and render very-large datasets of molecules over a LAN populated with GPUs. Standalone GPU-enabled computers are adequate to triangulate and rendering molecular datasets with some tens of thousands of atoms at most. But, a standalone GPU-enabled computer has a limited capacity to host programable graphics cards, which in turn have also their constraints in terms of memory space. Thus, in spite of the huge memory space made available and the tremendous processing power of the current GPU-based graphics cards, there remains a scalability problem when it is necessary to triangulate and render big molecules with hundreds of thousands to millions of atoms. In order to overcome this scalability problem we use an OpenMPI-OpenMP-CUDA solution that runs on a loosely-coupled GPU cluster over a LAN (Local Area Network). More specifically, we propose a fast, scalable, parallel triangulation algorithm for molecular surfaces that takes advantage of multicore processors of CPUs and GPUs available over a local network, with each CPU core working as the master of a single GPU. The main contribution of this paper is that likely introduces the first marching cubes algorithm that triangulates molecular surfaces on CUDA devices over a network of GPU-enabled computers.


congress on evolutionary computation | 2010

Polygonization of non-homogeneous non-manifold implicit surfaces with tentative topological guarantees

Abel J. P. Gomes; Sérgio Dias; José F. M. Morgado

Previous work on implicit surfaces has almost exclusively focused on homogeneously 2-dimensional surfaces, regardless of whether they are manifold or not. Consequently, current geometric and graphical systems, and even commercial mathematical software packages, cannot generate non-homogeneous implicit surfaces such as, for example, the Steiner surface or the Whitney surface correctly. This paper overcomes these difficulties by introducing a new uniform space partitioning-based algorithm that generates a polygonization for implicit surfaces possibly with self-intersections and isolated 0-and 1-dimensional singularities.


bioinformatics and biomedicine | 2010

GPU-based triangulation of the van der Waals surface

Sérgio Dias; Abel J. P. Gomes

The problem addressed in this paper consists in triangulating the van der Waals surface without computing the geometric intersections of its atoms. Recall that the van der Waals surface is useful in computational molecular biology and biochemistry to, for example, determine the volume occupied by a molecule, as well as other important geometric properties. Assuming that every atom is represented by a ball, this amounts to compute the surface of the union of a number of balls. The novelty of our method lies in avoiding the computation of surface-surface intersections (SSI) of two or more balls.


BMC Bioinformatics | 2017

GPU-based detection of protein cavities using Gaussian surfaces

Sérgio Dias; Ana Mafalda Martins; Quoc Trong Nguyen; Abel J. P. Gomes

BackgroundProtein cavities play a key role in biomolecular recognition and function, particularly in protein-ligand interactions, as usual in drug discovery and design. Grid-based cavity detection methods aim at finding cavities as aggregates of grid nodes outside the molecule, under the condition that such cavities are bracketed by nodes on the molecule surface along a set of directions (not necessarily aligned with coordinate axes). Therefore, these methods are sensitive to scanning directions, a problem that we call cavity ground-and-walls ambiguity, i.e., they depend on the position and orientation of the protein in the discretized domain. Also, it is hard to distinguish grid nodes belonging to protein cavities amongst all those outside the protein, a problem that we call cavity ceiling ambiguity.ResultsWe solve those two ambiguity problems using two implicit isosurfaces of the protein, the protein surface itself (called inner isosurface) that excludes all its interior nodes from any cavity, and the outer isosurface that excludes most of its exterior nodes from any cavity. Summing up, the cavities are formed from nodes located between these two isosurfaces. It is worth noting that these two surfaces do not need to be evaluated (i.e., sampled), triangulated, and rendered on the screen to find the cavities in between; their defining analytic functions are enough to determine which grid nodes are in the empty space between them.ConclusionThis article introduces a novel geometric algorithm to detect cavities on the protein surface that takes advantage of the real analytic functions describing two Gaussian surfaces of a given protein.

Collaboration


Dive into the Sérgio Dias's collaboration.

Top Co-Authors

Avatar

Abel J. P. Gomes

University of Beira Interior

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chandrajit L. Bajaj

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

José F. M. Morgado

University of Beira Interior

View shared research outputs
Top Co-Authors

Avatar

Kuldeep Bora

Indian Institute of Technology Guwahati

View shared research outputs
Researchain Logo
Decentralizing Knowledge