You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,13 @@ Optimized **b**i**d**irected **s**equence **g**raph implementations for graph ge
6
6
7
7
## About
8
8
9
-
The main purpose of `libbdsg` is to provide high performance implementations of sequence graphs for graph-based pangenomics applications. The repository contains three graph implementations with different performance tradeoffs:
9
+
The main purpose of `libbdsg` is to provide high performance implementations of sequence graphs for graph-based pangenomics applications. The repository contains two graph implementations with different performance tradeoffs:
10
10
11
11
- HashGraph: prioritizes speed
12
-
- ODGI: balances speed and low memory usage
13
12
- PackedGraph: prioritizes low memory usage
14
13
14
+
Previously, a third implementation, ODGI, was provided, but that implementation is now part of its own [odgi project](https://github.com/pangenome/odgi#odgi).
15
+
15
16
All of these graph objects implement a common interface defined by [`libhandlegraph`](https://github.com/vgteam/libhandlegraph), so they can be used interchangeably and swapped easily.
16
17
17
18
Additionally, `libbdsg` provides a few "overlays", which are applied to the graph implementations in order to expand their functionality. The expanded functionality is also described generically using `libhandlegraph` interfaces.
cl.def("assign", (classbdsg::PackedPositionOverlay & (bdsg::PackedPositionOverlay::*)(constclassbdsg::PackedPositionOverlay &)) &bdsg::PackedPositionOverlay::operator=, "C++: bdsg::PackedPositionOverlay::operator=(const class bdsg::PackedPositionOverlay &) --> class bdsg::PackedPositionOverlay &", pybind11::return_value_policy::automatic, pybind11::arg("other"));
726
754
cl.def("has_node", (bool (bdsg::PackedPositionOverlay::*)(longlong) const) &bdsg::PackedPositionOverlay::has_node, "Method to check if a node exists by ID\n\nC++: bdsg::PackedPositionOverlay::has_node(long long) const --> bool", pybind11::arg("node_id"));
cl.def("get_handle", (structhandlegraph::handle_t (bdsg::PackedPositionOverlay::*)(constlonglong &, bool) const) &bdsg::PackedPositionOverlay::get_handle, "Look up the handle for the node with the given ID in the given orientation\n\nC++: bdsg::PackedPositionOverlay::get_handle(const long long &, bool) const --> struct handlegraph::handle_t", pybind11::arg("node_id"), pybind11::arg("is_reverse"));
cl.def("get_step_at_position", (structhandlegraph::step_handle_t (bdsg::PackedPositionOverlay::*)(conststructhandlegraph::path_handle_t &, constunsignedlong &) const) &bdsg::PackedPositionOverlay::get_step_at_position, "Returns the step at this position, measured in bases of sequence starting at\n the step returned by path_begin(). If the position is past the end of the\n path, returns path_end().\n\nC++: bdsg::PackedPositionOverlay::get_step_at_position(const struct handlegraph::path_handle_t &, const unsigned long &) const --> struct handlegraph::step_handle_t", pybind11::arg("path"), pybind11::arg("position"));
760
788
cl.def("get_underlying_handle", (structhandlegraph::handle_t (bdsg::PackedPositionOverlay::*)(conststructhandlegraph::handle_t &) const) &bdsg::PackedPositionOverlay::get_underlying_handle, "Returns the handle in the underlying graph that corresponds to a handle in the\n overlay\n\nC++: bdsg::PackedPositionOverlay::get_underlying_handle(const struct handlegraph::handle_t &) const --> struct handlegraph::handle_t", pybind11::arg("handle"));
0 commit comments