vg
tools for working with variation graphs
Namespaces | Classes | Typedefs | Enumerations | Functions
handlegraph Namespace Reference

Namespaces

 algorithms
 

Classes

struct  BoolReturningWrapper
 
struct  BoolReturningWrapper< Iteratee, false >
 
struct  BoolReturningWrapper< Iteratee, true >
 
class  BuildableSnarlDecomposition
 
class  DeletableHandleGraph
 
class  ExpandingOverlayGraph
 
struct  handle_t
 Represents a traversal of a node in a graph in a particular direction. More...
 
class  HandleGraph
 
class  MutableHandleGraph
 
class  MutablePathDeletableHandleGraph
 
class  MutablePathHandleGraph
 
class  MutablePathMetadata
 
class  MutablePathMutableHandleGraph
 
class  NamedNodeBackTranslation
 
struct  net_handle_t
 
struct  number_bool_packing
 Define a way to pack an integer and an orientation bit into a handle_t. More...
 
struct  path_handle_t
 Represents the internal id of a path entity. More...
 
class  PathForEachSocket
 
class  PathHandleGraph
 
class  PathMetadata
 
class  PathPositionHandleGraph
 
class  RankedHandleGraph
 
struct  return_type_of
 
struct  return_type_of< Returns(*)(Args...)>
 
struct  return_type_of< Returns(Owner::*)(Args...) const >
 
struct  return_type_of< Returns(Owner::*)(Args...)>
 
class  Serializable
 
class  SerializableHandleGraph
 
class  SnarlDecomposition
 
struct  step_handle_t
 A step handle is an opaque reference to a single step of an oriented node on a path in a graph. More...
 
class  TriviallySerializable
 
class  VectorizableHandleGraph
 

Typedefs

using oriented_node_range_t = std::tuple< nid_t, bool, size_t, size_t >
 
typedef long long int nid_t
 
typedef nid_t id_t
 
typedef std::size_t offset_t
 Represents an offset. More...
 
typedef offset_t off_t
 
typedef std::pair< offset_t, offset_tsubrange_t
 Represents a range of offsets, 0-based, end-exclusive. More...
 
typedef std::tuple< nid_t, bool, offset_tpos_t
 Represents a position. More...
 
typedef std::pair< handle_t, handle_tedge_t
 Represents an edge in terms of its endpoints. More...
 

Enumerations

enum  PathSense { PathSense::GENERIC, PathSense::REFERENCE, PathSense::HAPLOTYPE }
 Represents a sense that a path can have. More...
 

Functions

bool operator== (const handle_t &a, const handle_t &b)
 Define equality on handles. More...
 
bool operator!= (const handle_t &a, const handle_t &b)
 Define inequality on handles. More...
 
bool operator== (const path_handle_t &a, const path_handle_t &b)
 Define equality on path handles. More...
 
bool operator!= (const path_handle_t &a, const path_handle_t &b)
 Define inequality on path handles. More...
 
bool operator== (const step_handle_t &a, const step_handle_t &b)
 Define equality on step handles. More...
 
bool operator!= (const step_handle_t &a, const step_handle_t &b)
 Define inequality on step handles. More...
 
bool operator== (const net_handle_t &a, const net_handle_t &b)
 Define equality on net handles. More...
 
bool operator!= (const net_handle_t &a, const net_handle_t &b)
 Define inequality on net handles. More...
 
uint64_t & as_integer (handle_t &handle)
 View a handle as an integer. More...
 
const uint64_t & as_integer (const handle_t &handle)
 View a const handle as a const integer. More...
 
handle_tas_handle (uint64_t &value)
 View an integer as a handle. More...
 
const handle_tas_handle (const uint64_t &value)
 View a const integer as a const handle. More...
 
bool operator< (const handle_t &a, const handle_t &b)
 It's convenient to be able to sort handles. More...
 
uint64_t & as_integer (path_handle_t &handle)
 View a path handle as an integer. More...
 
const uint64_t & as_integer (const path_handle_t &handle)
 View a const path handle as a const integer. More...
 
path_handle_tas_path_handle (uint64_t &value)
 View an integer as a path handle. More...
 
const path_handle_tas_path_handle (const uint64_t &value)
 View a const integer as a const path handle. More...
 
bool operator< (const path_handle_t &a, const path_handle_t &b)
 It's convenient to be able to sort path handles. More...
 
int64_t * as_integers (step_handle_t &step_handle)
 View a step handle as an integer array. More...
 
const int64_t * as_integers (const step_handle_t &step_handle)
 View a const step handle as a const integer array. More...
 
bool operator< (const step_handle_t &a, const step_handle_t &b)
 Sort of step handles is based on first then second integers. More...
 
uint64_t & as_integer (net_handle_t &handle)
 View a net_handle as an integer. More...
 
const uint64_t & as_integer (const net_handle_t &handle)
 View a const net_handle as a const integer. More...
 
net_handle_tas_net_handle (uint64_t &value)
 View an integer as a net handle. More...
 
const net_handle_tas_net_handle (const uint64_t &value)
 View a const integer as a const handle. More...
 
bool operator< (const net_handle_t &a, const net_handle_t &b)
 It's convenient to be able to sort handles. More...
 

Typedef Documentation

◆ edge_t

typedef std::pair<handle_t, handle_t> handlegraph::edge_t

Represents an edge in terms of its endpoints.

◆ id_t

◆ nid_t

typedef long long int handlegraph::nid_t

Represents an id. We use "long long int" here so that we resolve to a consistent C-level type across platforms. On Mac, int64_t is "long long" while on Linux it is just "long", and generated code that resolves all typedefs (i.e. Python bindings) is thus not portable between them if we use int64_t.

◆ off_t

◆ offset_t

typedef std::size_t handlegraph::offset_t

Represents an offset.

◆ oriented_node_range_t

using handlegraph::oriented_node_range_t = typedef std::tuple<nid_t, bool, size_t, size_t>

Represents a range along an oriented node in a graph. The range is counted on the specified strand of the node, and consists of a start and a length.

◆ pos_t

typedef std::tuple<nid_t, bool, offset_t> handlegraph::pos_t

Represents a position.

◆ subrange_t

Represents a range of offsets, 0-based, end-exclusive.

Enumeration Type Documentation

◆ PathSense

Represents a sense that a path can have.

Enumerator
GENERIC 
REFERENCE 
HAPLOTYPE 

Function Documentation

◆ as_handle() [1/2]

const handle_t& handlegraph::as_handle ( const uint64_t &  value)
inline

View a const integer as a const handle.

◆ as_handle() [2/2]

handle_t& handlegraph::as_handle ( uint64_t &  value)
inline

View an integer as a handle.

◆ as_integer() [1/6]

const uint64_t& handlegraph::as_integer ( const handle_t handle)
inline

View a const handle as a const integer.

◆ as_integer() [2/6]

const uint64_t& handlegraph::as_integer ( const net_handle_t handle)
inline

View a const net_handle as a const integer.

◆ as_integer() [3/6]

const uint64_t& handlegraph::as_integer ( const path_handle_t handle)
inline

View a const path handle as a const integer.

◆ as_integer() [4/6]

uint64_t& handlegraph::as_integer ( handle_t handle)
inline

View a handle as an integer.

◆ as_integer() [5/6]

uint64_t& handlegraph::as_integer ( net_handle_t handle)
inline

View a net_handle as an integer.

◆ as_integer() [6/6]

uint64_t& handlegraph::as_integer ( path_handle_t handle)
inline

View a path handle as an integer.

◆ as_integers() [1/2]

const int64_t* handlegraph::as_integers ( const step_handle_t step_handle)
inline

View a const step handle as a const integer array.

◆ as_integers() [2/2]

int64_t* handlegraph::as_integers ( step_handle_t step_handle)
inline

View a step handle as an integer array.

◆ as_net_handle() [1/2]

const net_handle_t& handlegraph::as_net_handle ( const uint64_t &  value)
inline

View a const integer as a const handle.

◆ as_net_handle() [2/2]

net_handle_t& handlegraph::as_net_handle ( uint64_t &  value)
inline

View an integer as a net handle.

◆ as_path_handle() [1/2]

const path_handle_t& handlegraph::as_path_handle ( const uint64_t &  value)
inline

View a const integer as a const path handle.

◆ as_path_handle() [2/2]

path_handle_t& handlegraph::as_path_handle ( uint64_t &  value)
inline

View an integer as a path handle.

◆ operator!=() [1/4]

bool handlegraph::operator!= ( const handle_t a,
const handle_t b 
)

Define inequality on handles.

◆ operator!=() [2/4]

bool handlegraph::operator!= ( const net_handle_t a,
const net_handle_t b 
)

Define inequality on net handles.

◆ operator!=() [3/4]

bool handlegraph::operator!= ( const path_handle_t a,
const path_handle_t b 
)

Define inequality on path handles.

◆ operator!=() [4/4]

bool handlegraph::operator!= ( const step_handle_t a,
const step_handle_t b 
)

Define inequality on step handles.

◆ operator<() [1/4]

bool handlegraph::operator< ( const handle_t a,
const handle_t b 
)
inline

It's convenient to be able to sort handles.

◆ operator<() [2/4]

bool handlegraph::operator< ( const net_handle_t a,
const net_handle_t b 
)
inline

It's convenient to be able to sort handles.

◆ operator<() [3/4]

bool handlegraph::operator< ( const path_handle_t a,
const path_handle_t b 
)
inline

It's convenient to be able to sort path handles.

◆ operator<() [4/4]

bool handlegraph::operator< ( const step_handle_t a,
const step_handle_t b 
)
inline

Sort of step handles is based on first then second integers.

◆ operator==() [1/4]

bool handlegraph::operator== ( const handle_t a,
const handle_t b 
)

Define equality on handles.

◆ operator==() [2/4]

bool handlegraph::operator== ( const net_handle_t a,
const net_handle_t b 
)

Define equality on net handles.

◆ operator==() [3/4]

bool handlegraph::operator== ( const path_handle_t a,
const path_handle_t b 
)

Define equality on path handles.

◆ operator==() [4/4]

bool handlegraph::operator== ( const step_handle_t a,
const step_handle_t b 
)

Define equality on step handles.