1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//! # GBWT: Graph BWT
//!
//! This is a Rust reimplementation of parts of the [GBWT](https://github.com/jltsiren/gbwt) and the [GBWTGraph](https://github.com/jltsiren/gbwtgraph).
//! It is based on the [Simple-SDS](https://github.com/jltsiren/simple-sds) library.
//!
//! # References
//!
//! ### GBWT
//!
//! Jouni Sirén, Erik Garrison, Adam M. Novak, Benedict Paten, and Richard Durbin: **Haplotype-aware graph indexes**.\
//! Bioinformatics 36(2):400-407, 2020.
//! DOI: [10.1093/bioinformatics/btz575](https://doi.org/10.1093/bioinformatics/btz575)
//!
//! ### GBWTGraph
//!
//! Jouni Sirén, Jean Monlong, Xian Chang, Adam M. Novak, Jordan M. Eizenga, Charles Markello, Jonas A. Sibbesen, Glenn Hickey, Pi-Chuan Chang, Andrew Carroll, Namrata Gupta, Stacey Gabriel, Thomas W. Blackwell, Aakrosh Ratan, Kent D. Taylor, Stephen S. Rich, Jerome I. Rotter, David Haussler, Erik Garrison, and Benedict Paten:\
//! **Pangenomics enables genotyping of known structural variants in 5202 diverse genomes**.\
//! Science 374(6574):abg8871, 2021.
//! DOI: [10.1126/science.abg8871](https://doi.org/10.1126/science.abg8871)
//!
//! ### GBZ
//!
//! Jouni Sirén and Benedict Paten: **GBZ file format for pangenome graphs**.\
//! Bioinformatics 38(22):5012-5018, 2022.
//! DOI: [10.1093/bioinformatics/btac656](https://doi.org/10.1093/bioinformatics/btac656)
//!
//! # Notes
//!
//! * See [Simple-SDS](https://github.com/jltsiren/simple-sds) for assumptions on the environment.
//! * This implementation supports the Simple-SDS file formats for [GBWT](https://github.com/jltsiren/gbwt/blob/master/SERIALIZATION.md) and [GBZ](https://github.com/jltsiren/gbwtgraph/blob/master/SERIALIZATION.md).
//! * GBWT / GBZ files written by this library can be identified by `source` tag value `jltsiren/gbwt-rs`.
// Shared internal code for the binaries.
//-----------------------------------------------------------------------------
pub use cratePos;
pub use crate;
pub use crateGBZ;
pub use crateSegment;
pub use crate;
//-----------------------------------------------------------------------------
/// Node identifier `0` is used for technical purposes and does not exist in the graph.
pub const ENDMARKER: usize = 0;
/// Key of the source tag.
pub const SOURCE_KEY: &str = "source";
/// Value of the source tag.
pub const SOURCE_VALUE: &str = "jltsiren/gbwt-rs";
/// Sample name for generic named paths.
///
/// This sample name is used for GFA P-lines with opaque string names. The actual name
/// is stored as a contig name.
pub const REF_SAMPLE: &str = "_gbwt_ref";
/// Key for the tag listing the names of reference samples.
pub const REFERENCE_SAMPLES_KEY: &str = "reference_samples";
//-----------------------------------------------------------------------------