graph-tool
{{Third-party|date=January 2021}}
{{Infobox software
| name = graph-tool
| title = Graph Tool
| logo = Graph-tool-logo.png
| screenshot =
| caption =
| collapsible =
| author =
| developer = Tiago P. Peixoto
| released =
| discontinued =
| latest release version = 2.45
| latest release date = {{Start date and age|2022|05|22|df=yes/no}}
| latest preview version =
| latest preview date =
| programming language = Python, C++
| operating system = OS X, Linux
| platform =
| size =
| language =
| status =
| genre = Software library
| license = LGPL
| website = {{URL|graph-tool.skewed.de}}
}}
graph-tool is a Python module for manipulation and statistical analysis of graphs (AKA networks). The core data structures and algorithms of graph-tool are implemented in C++, making extensive use of metaprogramming, based heavily on the Boost Graph Library.[http://graph-tool.skewed.de/performance Graph-tool performance comparison], Graph-tool Many algorithms are implemented in parallel using OpenMP, which provides increased performance on multi-core architectures.
Features
- Creation and manipulation of directed or undirected graphs.
- Association of arbitrary information to the vertices, edges or even the graph itself, by means of property maps.
- Filter vertices and/or edges "on the fly", such that they appear to have been removed.
- Support for dot, Graph Modelling Language and GraphML formats.
- Convenient and powerful graph drawing based on cairo or Graphviz.
- Support for typical statistical measurements: degree/property histogram, combined degree/property histogram, vertex-vertex correlations, assortativity, average vertex-vertex shortest path, etc.
- Support for several graph-theoretical algorithms: such as graph isomorphism, subgraph isomorphism, minimum spanning tree, connected components, dominator tree, maximum flow, etc.
- Support for several centrality measures.
- Support for clustering coefficients, as well as network motif statistics and community structure detection.
- Generation of random graphs, with arbitrary degree distribution and correlations.
- Support for well-established network models: Price, Barabási-Albert, Geometric Networks, Multidimensional lattice graph, etc.
Suitability
Graph-tool can be used to work with very large graphs {{clarify|date=January 2021 |reason= Be more precise? Size of graph you can use depends strongly on context.}} in a variety of contexts, including simulation of cellular tissue,Bruno Monier et al, "Apico-basal forces exerted by apoptotic cells drive epithelium folding", Nature, 2015 [http://www.nature.com/nature/journal/vaop/ncurrent/full/nature14152.html] data mining,Ma, Shuai, et al. "Distributed graph pattern matching." Proceedings of the 21st international conference on World Wide Web. ACM, 2012. [http://dl.acm.org/citation.cfm?id=2187963]Ma, Shuai, et al. "Capturing topology in graph pattern matching." Proceedings of the VLDB Endowment 5.4 (2011): 310-321. [http://dl.acm.org/citation.cfm?id=2095690] analysis of social networks,Janssen, E., M. A. T. T. Hurshman, and N. A. U. Z. E. R. Kalyaniwalla. "Model selection for social networks using graphlets." Internet Mathematics (2012). [http://www.mathstat.dal.ca/~janssen/papers/Graphlets.pdf]Asadi, Hirad Cyrus. Design and implementation of a middleware for data analysis of social networks. Diss. M Sc thesis report, KTH School of Computer Science and Communication, Stockholm, Sweden, 2007. [http://www.student.nada.kth.se/~hias02/xjobb-en.pdf] {{Webarchive|url=https://web.archive.org/web/20150122120734/http://www.student.nada.kth.se/~hias02/xjobb-en.pdf |date=2015-01-22 }} analysis of P2P systems,Teresniak, Sven, et al. "Information-Retrieval in einem P2P-Netz mit Small-World-Eigenschaften Simulation und Evaluation des SemPIR-Modells."[http://asv.informatik.uni-leipzig.de/thesis/thesis_document/25/masterarbeit.pdf] {{Webarchive|url=https://web.archive.org/web/20150122120956/http://asv.informatik.uni-leipzig.de/thesis/thesis_document/25/masterarbeit.pdf |date=2015-01-22 }} large-scale modeling of agent-based systems,Hamacher, Kay, and Stefan Katzenbeisser. "Public security: simulations need to replace conventional wisdom." Proceedings of the 2011 workshop on New security paradigms workshop. ACM, 2011. [http://dl.acm.org/citation.cfm?id=2073288]
study of academic Genealogy trees,Miyahara, Edson Kiyohiro, Jesus P. Mena-Chalco, and Roberto M. Cesar-Jr. "Genealogia Acadêmica Lattes." [http://www.linux.ime.usp.br/~edsonkm/mac499/download/monografia.pdf]{{Dead link|date=June 2024 |bot=InternetArchiveBot |fix-attempted=yes }} theoretical assessment and modeling of network clustering,Abdo, Alexandre H., and A. P. S. de Moura. "Clustering as a measure of the local topology of networks." arXiv preprint physics/0605235 (2006). [https://arxiv.org/abs/physics/0605235] large-scale call graph analysis,Narayan, Ganesh, K. Gopinath, and V. Sridhar. "Structure and interpretation of computer programs." Theoretical Aspects of Software Engineering, 2008. TASE'08. 2nd IFIP/IEEE International Symposium on. IEEE, 2008. [https://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4549888] and analysis of the brain's Connectome.Gerhard, Stephan, et al. "The connectome viewer toolkit: an open source framework to manage, analyze, and visualize connectomes." Frontiers in neuroinformatics 5 (2011). [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3112315/]
References
{{Reflist|30em}}
External links
{{Portal|Free and open-source software}}
- {{official website|graph-tool.skewed.de}}
{{DEFAULTSORT:graph-tool}}
Category:Free mathematics software
Category:Free software programmed in Python