### 24 releases (4 stable)

Uses new Rust 2021

2.0.2 | Aug 4, 2022 |
---|---|

2.0.1 | Jun 9, 2022 |

1.0.0 | Jun 1, 2022 |

0.8.0 | Mar 8, 2022 |

0.1.0-alpha.6 | Jul 22, 2020 |

#**448** in Data structures

**330** downloads per month

Used in **3** crates
(2 directly)

**BSD-2-Clause**

85KB

1.5K
SLoC

# Bigraph

A Rust crate to represent and operate on bigraphs.

The crate defines traits as abstractions from the concrete graph implementation. At the moment, the only implementation is done via a wrapper over petgraph, which serves as a prototype.

###
`lib.rs`

:

A crate to represent a bigraph. Bigraphs are graphs where each node is symmetrically mapped to a unique "mirror" node, and each edge is symmetrically mapped to a unique "mirror" edge.

Note that bigraphs come in two flavours, node- and edge-centric. A node-centric bigraph has edges that are only distinguished by their endpoints, while an edge-centric bigraph's edges are additionally distinguished by their associated data.

This crate implements a simple wrapper around the

crate, adding a vector to represent the node-mirror function.
It also implements the edge-mirror function, albeit probably slower than it could be if there was also a vector to map edges.`traitgraph`

In the context of node-centric genome graphs, nodes usually represent genome strings and a pair of mirrored nodes represent reverse complements of each other. For edge-centric genome graphs, the same holds for the edges.

#### Dependencies

~1.5MB

~29K SLoC