Metadata-Version: 2.1
Name: tabnetviz
Version: 1.2
Summary: Table-based network visualizer
Home-page: https://git.io/tabnetviz
Author: Andras Szilagyi
Author-email: szilagyi.andras@ttk.hu
License: GPLv3
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.2
Description-Content-Type: text/markdown
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: pandas
Requires-Dist: pygraphviz
Requires-Dist: pyyaml
Requires-Dist: svgwrite
Requires-Dist: yamlloader

# Tabnetviz - table-based network visualizer

**Tabnetviz** generates network visualizations from node and edge
properties provided in tables. The node and edge properties can be
mapped to visual attributes in several ways. **Tabnetviz** was
inspired by the popular Cytoscape program which can also generate
similar mappings. However, Cytoscape is a resource-intensive,
interactive Java program with a complex graphical interface, and
loading networks from tables and defining mappings can be cumbersome
in it. **Tabnetviz**, on the other hand, is a non-interactive,
lightweight command-line tool guided by a single text-based
configuration file, thus ideal for use in scripts, Makefiles, and
reproducible workflows. Once a configuration file has been developed,
it only takes a single command to generate the network visualization
(typically an SVG file), and to quickly regenerate it whenever the
input data changes.

**Tabnetviz** generates static network visualizations, and is
applicable in a wide range of fields such as bioinformatics (for gene
regulatory networks, protein interaction networks, etc.),
neuroscience, and studies of social networks, computer networks,
economic networks, etc.

An example visualization generated by Tabnetviz:

![network](https://raw.githubusercontent.com/aszilagyi/tabnetviz/master/docs/galFiltered.svg?sanitize=true)

The **Tabnetviz** configuration file is a YAML format text file, which
is easily written manually, and easy to understand. It specifies the
node table and the edge table for the network (both can be CSV, TSV,
or Excel files), and defines how to map the node and edge properties
(provided in node and edge table columns) to visual attributes such as
colors, node sizes, shapes, line widths, etc. Node groups and edge
groups can also be defined (using Boolean expressions on the node/edge
properties), and the mappings can be applied to them.

**Tabnetviz** is a Python program, and uses
[Graphviz](http://www.graphviz.org/) as its network visualization
back-end, and can use any [node, edge, and graph attribute known to
Graphviz](https://www.graphviz.org/doc/info/attrs.html). It also uses
Graphviz for generating network layouts. Relying on the power of
Graphviz, **Tabnetviz** can generate high-quality images suitable as
illustrations for science publications.

As a bonus, **Tabnetviz** can optionally calculate numerous graph
theoretical quantities such as degrees, centralities, clustering
coefficients, etc. These are added to the node/edge table, and can
then be mapped to visual attributes, e.g. node sizes or colors.

See the [Tabnetviz home page](https://git.io/tabnetviz) for documentation.


