MatchtigEdgeData

Trait MatchtigEdgeData 

Source
pub trait MatchtigEdgeData<SequenceHandle>: DijkstraWeightedEdgeData<usize> + BidirectedData {
    // Required methods
    fn is_dummy(&self) -> bool;
    fn is_forwards(&self) -> bool;
    fn new(
        sequence_handle: SequenceHandle,
        forwards: bool,
        weight: usize,
        dummy_id: usize,
    ) -> Self;

    // Provided methods
    fn is_original(&self) -> bool { ... }
    fn is_backwards(&self) -> bool { ... }
}
Expand description

The edge data of the graph to compute matchtigs on has to implement this.

Required Methods§

Source

fn is_dummy(&self) -> bool

Returns true if the edge is a dummy edge. This is the case if the dummy_id given in Self::new is non-zero.

Source

fn is_forwards(&self) -> bool

Returns true if this is the forwards variant of this edge, i.e. if the sequence_handle given in Self::new is the sequence belonging to this edge. This is the case if the forwards given in Self::new is true.

Source

fn new( sequence_handle: SequenceHandle, forwards: bool, weight: usize, dummy_id: usize, ) -> Self

Creates a new edge with the given properties. The given values must be returned by the respective functions of this trait, and the weight by the implementation of DijkstraWeightedEdgeData of this type.

Provided Methods§

Source

fn is_original(&self) -> bool

Return true if the edge is an original edge.

Source

fn is_backwards(&self) -> bool

Returns true if this is the backwards variant of this edge, i.e. if the sequence_handle given in Self::new is the reverse complement of the sequence belonging to this edge. This is the case if the forwards given in Self::new is false.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§