Browsing by Subject "Graph algorithms"
Now showing 1 - 12 of 12
- Results Per Page
- Sort Options
Item Open Access Automated layout of process description maps drawn in systems biology graphical notation = Systems biology graphical notation kullanılarak çizilen proses diyagramlarının otomatik yerleştirilmesi(2014) Genç, BegümEvolving technology has increased the focus on genomics. The combination of today’s advanced studies with decades of molecular biology research yield in huge amount of pathway data. These models can be used to improve high-throughput data analysis by linking correlation to the causation, shedding light on many complex diseases. In order to prevent ambiguity and ensure regularity of the research, a need for using a standard notation has emerged. Systems Biology Graphical Notation (SBGN) is a visual language developed by a community of biochemists, modellers and computer scientists with the intention of enabling scientists to represent networks, including models of cellular processes, in a standard, unambiguous way. SBGN is formed of three languages: process, entity relationship and activity flow. This research is focused on its process diagram branch. Automated layout is commonly used to clearly visualize the information represented by graphs. Considering the fact that, biological pathways includes nested structures (e.g., nucleoplasms), we have made use of a force-directed automatic layout algorithm called Compound Spring Embedder (CoSE), which supports the compound graph structures. On top of this layout structure, we have developed a specialized layout algorithm called SBGN-PD layout. SBGN-PD layout enhancements mainly include properly tiling of complex members and disconnected molecules, placement of product and substrate edges on the opposite sides of a process node without disturbing the force-directed structure of the algorithm.Item Open Access CiSE: a circular spring embedder layout algorithm(Institute of Electrical and Electronics Engineers, 2013) Dogrusoz, U.; Belviranli, M. E.; Dilek, A.We present a new algorithm for automatic layout of clustered graphs using a circular style. The algorithm tries to determine optimal location and orientation of individual clusters intrinsically within a modified spring embedder. Heuristics such as reversal of the order of nodes in a cluster and swap of neighboring node pairs in the same cluster are employed intermittently to further relax the spring embedder system, resulting in reduced inter-cluster edge crossings. Unlike other algorithms generating circular drawings, our algorithm does not require the quotient graph to be acyclic, nor does it sacrifice the edge crossing number of individual clusters to improve respective positioning of the clusters. Moreover, it reduces the total area required by a cluster by using the space inside the associated circle. Experimental results show that the execution time and quality of the produced drawings with respect to commonly accepted layout criteria are quite satisfactory, surpassing previous algorithms. The algorithm has also been successfully implemented and made publicly available as part of a compound and clustered graph editing and layout tool named Chisio. © 1995-2012 IEEE.Item Open Access A compound graph layout algorithm with support for ports(2020-10) Okka, AlihanInformation visualization is a eld of study that aims to represent abstract data in an aesthetically pleasing and easy to comprehend visual manner. Various approaches and standards have been created to reinforce the discovery of unstructured insights that are limited to human cognition via visual depictions. Complex systems and processes are often modelled as graphs since it would be di cult to describe in text. A type of visualization, graph drawing, addresses the notion of creating geometric representations of graphs. There are plentiful research directed to designing automatic layout algorithms for visualizing graphs. Nevertheless, a limited number of studies utilize ports, which are dedicated connection points on the locations where edge ends link to their incident nodes. We propose a new automatic layout algorithm named CoSEP supporting port constraints on compound nodes used for nested levels of abstractions in data. The CoSEP algorithm is based on a force-directed algorithm, Compound Spring Embedder (CoSE). Additional heuristics and force types are introduced on top of existing physical model. Using CoSE's layout structure as a baseline enables CoSEP to handle non-uniform node sizes, arbitrary levels of nesting, and intergraph edges that may span multiple levels of nesting. Our experiments show that CoSEP signi cantly improves the quality of the layouts for compound graphs with port constraints with respect to commonly accepted graph drawing criteria, while running in at most a few seconds, suitable for use in interactive applications for small to medium sized graphs. The CoSEP algorithm is implemented in JavaScript as a Cytoscape.js extension, and the sources along with a demo are available on the associated GitHub repository.Item Open Access CoSEP: a compound spring embedder layout algorithm with support for ports(Sage Publications, 2021-07-01) Okka, Alihan; Doğrusöz, Uğur; Balcı, HasanThis paper describes a new automatic layout algorithm named CoSEP for compound graphs with port constraints. The algorithm works by extending the physical model of a previous algorithm named CoSE by defining additional force types and heuristics for constraining edges to connect to certain user-defined locations on end nodes. Similar to its predecessor, CoSEP also accounts for non-uniform node dimensions and arbitrary levels of nesting via compound nodes. Our experiments show that CoSEP significantly improves the quality of the layouts for compound graphs with port constraints with respect to commonly accepted graph drawing criteria while running reasonably fast, suitable for use in interactive applications for small to medium-sized (up to 500 nodes) graphs. A complete JavaScript implementation of CoSEP as a Cytoscape.js extension along with a demo page is freely available at https://github.com/iVis-at-Bilkent/cytoscape.js-cosep.Item Open Access Efficient querying of SBGN maps stored in a graph database(2019-02) Karaca, Mustafa EnesGraph visualization is an important research area that endeavors to make graphs more understandable and easier to analyze. In various domains, graph visualization techniques and standards are developed to effectively analyze underlying graph based data. Systems Biology Graphical Notation (SBGN) is a standard language for modeling biological processes and pathways through graph visualization. Information about SBGN maps can be stored in XML based SBGNML files. libSBGN is a Java/C++ library for reading, writing SBGN-ML and manipulating SBGN maps in an object-oriented manner. Graph databases store data in terms of a graph structure consisting nodes and their relationships. Performing a computation on graph data stored in a graph database by traversals is more e cient than accessing tabled data in relational databases through costly join operations. Neo4j is a prominent graph database that provides a proprietary language named Cypher for querying stored graph data. Neo4j allows writing user defined procedures in Java as plugins to improve capabilities of Neo4j with third party Java libraries. With this thesis, we enable modeling SBGN maps in Neo4j graph database with support for compound structures. Using this SBGN data model in Neo4j, we developed graph based user defined procedures in Java using libSBGN as a plugin to Neo4j. These procedures were used to implement graph query algorithms, such as neighborhood, common stream, and paths between, along with helper functions such as populating a database from an SBGN map and loading an SBGN map from a graph database. These user defined procedures are designed to produce or consume SBGN-ML; hence, they can be used by any visualization tool which can import/export SBGN-ML text. Newt, a web based editor for viewing and diting SBGN maps, is such a tool making use of these procedures and hosting a local Neo4j instance by providing a web service to execute Cypher statements.Item Open Access Hydra: Detecting fraud in financial transactions via graph based representation and visual analysis(IEEE, 2020) Canbaz, Yusuf Sait; Doğrusöz, Uğur; Çeliksoy, M.; Güngör, F.; Kurban, K.In this paper, we describe a web based tool named Hydra for analyzing financial transaction data with the aim to detect or verify fraudulent activities via visual analysis and graph based querying. Hydra exclusively uses graph based query algorithms to mine useful information in the transaction database, presents the results visually, facilitating interactive graphical analysis with state-of-the-art graph visualization technologies. We present the various components of Hydra and their aims. In addition, a number of different types of scenarios using these components for a network of prepaid card transactions are provided to illustrate the use of Hydra for detecting or verifying fraudulent activities.Item Open Access Improving efficiency of parallel vertex-centric algorithms for irregular graphs(IEEE Computer Society, 2019) Özdal, Muhammet MustafaMemory access is known to be the main bottleneck for shared-memory parallel graph applications especially for large and irregular graphs. Propagation blocking (PB) idea was proposed recently to improve the parallel performance of PageRank and sparse matrix and vector multiplication operations. The idea is based on separating parallel computation into two phases, binning and accumulation, such that random memory accesses are replaced with contiguous accesses. In this paper, we propose an algorithm that allows execution of these two phases concurrently. We propose several improvements to increase parallel throughput, reduce memory overhead, and improve work efficiency. Our experimental results show that our proposed algorithms improve shared-memory parallel throughput by a factor of up to 2× compared to the original PB algorithms. We also show that the memory overhead can be reduced significantly (from 170 percent down to less than 5 percent) without significant degradation of performance. Finally, we demonstrate that our concurrent execution model allows asynchronous parallel execution, leading to significant work efficiency in addition to throughput improvements.Item Open Access Incremental k-core decomposition: algorithms and evaluation(Association for Computing Machinery, 2016) Sarıyüce, A. E.; Gedik, B.; Jacques-Silva, G.; Wu, Kun-Lung; Catalyurek, U.V.A k-core of a graph is a maximal connected subgraph in which every vertex is connected to at least k vertices in the subgraph. k-core decomposition is often used in large-scale network analysis, such as community detection, protein function prediction, visualization, and solving NP-hard problems on real networks efficiently, like maximal clique finding. In many real-world applications, networks change over time. As a result, it is essential to develop efficient incremental algorithms for dynamic graph data. In this paper, we propose a suite of incremental k-core decomposition algorithms for dynamic graph data. These algorithms locate a small subgraph that is guaranteed to contain the list of vertices whose maximum k-core values have changed and efficiently process this subgraph to update the k-core decomposition. We present incremental algorithms for both insertion and deletion operations, and propose auxiliary vertex state maintenance techniques that can further accelerate these operations. Our results show a significant reduction in runtime compared to non-incremental alternatives. We illustrate the efficiency of our algorithms on different types of real and synthetic graphs, at varying scales. For a graph of 16 million vertices, we observe relative throughputs reaching a million times, relative to the non-incremental algorithms.Item Open Access OpenCL-based efficient HLS implementation of iterative graph algorithms on FPGA(2020-12) Hırlak, Kenan ÇağrıThe emergence of CPU-FPGA hybrid architectures creates a demand for high abstraction programming tools such as High-Level Synthesis (HLS). HLS handles most of the FPGA development tasks automatically, thus freeing up programmers to create applications effortlessly on FPGAs with familiar programming languages. However, HLS often trades speed for convenience, which makes it a poor choice when it comes to applications in which computational performance is a crucial requirement, such as graph algorithms. In the scope of iterative graph algorithms, we developed custom HLS-based optimizations. Specifically, we applied these on PageRank (PR), Breadth-First Search (BFS), and Connected Components (CC) algorithms so that they can be synthesized in a performant way by HLS tools. We observed that well-pipelined OpenCL kernels can provide up to three times speedups on the Intel Xeon-FPGA architecture compared to CPU implementations. We optimized the traversal of vertices for pipelining to execute applications faster. Furthermore, our approach relies on the HLS workflow to make it effortless for the programmer.Item Open Access Re-ranking of web image search results using a graph algorithm(IEEE, 2008-12) Zitouni, Hilal; Sevil, Sare; Özkan, Derya; Duygulu, PınarWe propose a method to improve the results of image search engines on the Internet to satisfy users who desire to see relevant images in the first few pages. The method re-ranks the results of text based systems by incorporating visual similarity of the resulting images. We observe that, together with many unrelated ones, results of text based systems include a subset of correct images, and this set is, in general, the largest one which has the most similar images compared to other possible subsets. Based on this observation, we present similarities of all images in a graph structure, and find the densest component that corresponds to the largest set of most similar subset of images. Then, to re-rank the results, we give higher priority to the images in the densest component, and rank the others based on their similarities to the images in the densest component. The experiments are carried out on 18 category of images from [8]. © 2008 IEEE.Item Open Access Resim arama sonuçlarının çizge tabanlı bir yöntemle yeniden sıralanması(IEEE, 2008-04) Sevil, Sare; Zitouni, Hilal; İkizler, Nazlı; Özkan, D.; Duygulu, PınarArama motorları aracılığı ile arama yapmak günümüzde internetin en yaygın kullanım amaçlarından biridir. Ancak sorgu sonuçları, özellikle resim arama sorgularında, çoğu zaman sorgu ile ilgli olmayan sonuçlar da içerebilmektedir. Bu çalışma, resimsel aramalarda sorguyla ilgili olmayan yanlış sonuçların belirlenmesini ve tekrar sıralama yöntemleri ile sonuç sıralamasının iyileştirilmesini amaçlamaktadır. Yöntem resimsel benzerliklerin bir çizge ile gösterilmesi ve daha sonra sorguya doğru olarak karşılık gelmesi beklenen en benzer resimlerin çizgedeki en yoğun bileşen olarak bulunması esasına dayanmaktadır. Although one of the most common usages of Internet is searching, especially in image search, the users are not satisfied due to many irrelevant results. In this paper we present a method to identify irrelevant results of image search on the İnternet and re-rank the results so that the relevant results will have a higher priority within the list. The proposed method represents the similarity of images in a graph structure, and then finds the densest component in the graph representing the most similar set of images corresponding to the query. ©2008 IEEE.Item Open Access Semantic validation of biological maps in SBGN(2019-09) Çalış, Umut UtkuGraph visualization is a research field where relational information is graphically represented in the form of graphs or networks. It is applicable in numerous areas from computer network systems, to biology, to software engineering. In such areas, graph visualization techniques provide effective visual analysis of graph based data. Systems Biology Graphical Notation (SBGN) facilitates a standard model for representing biological entities and their interactions by using graph visualization. SBGN-ML is an XML based format for keeping information about SBGN maps. libSBGN enables writing and reading SBGN-ML files in an easy manner and is meant to bring syntactic and semantic validation to SBGN maps. It is currently available in Java/C++ (libSBGN) and JavaScript (libSBGN.js) programming languages with varying support for aforementioned. libSBGN enables important syntactic and semantic correctness concepts for manipulating SBGN maps and converting SBGN-ML files into several other formats. Syntactic validation of SBGN-ML files involves using a simple XML Schema Definition (XSD) file. This validation checks whether files are in correct form or not. However, this XSD file does not enable checking against semantic rules. For semantic validation of such files, the Schematron language was developed providing higher level semantic rule controls. With this thesis, we first enabled high level semantic validation (schematron validation) of SBGN maps in libSBGN.js, which uses XSLT and transformation of process description maps in SBGN-ML files. By using Schematron rules which are written in XPath syntax and enabling human-readable messages of validation errors and source of errors, we developed an XSLT stylesheet. We obtained validation result report by transforming SBGN-ML files using this XSLT stylesheet. In the JavaScript version of libSBGN library, we used a web based XSLT processor for transformation; hence, this library is now available for providing schematron validation in any SBGN related software. Furthermore, we added schematron validation checks to Newt, a web based SBGN pathway editor, using the updated libSBGN.js library. With this addition, Newt is now able to show validation results not only in a human-readable message text for the current map but also highlights the invalid map objects graphically, and, where appropriate, suggests a way to fix the problem automatically.