Struct omnitigs::unitigs::NodeUnitig [−][src]
pub struct NodeUnitig<Graph: GraphBase> { /* fields omitted */ }
A unitig stored as sequence of nodes.
Implementations
impl<Graph: GraphBase> NodeUnitig<Graph>
[src]
pub fn new(
walk: VecNodeWalk<Graph>,
single_edge: Option<Graph::EdgeIndex>
) -> Self
[src]
walk: VecNodeWalk<Graph>,
single_edge: Option<Graph::EdgeIndex>
) -> Self
Creates a new unitig from the given walk. Panics if the walk has length two nodes but no single edge is given, or if a single edge is given but the walk has a length other than two nodes.
pub fn single_edge(&self) -> &Option<Graph::EdgeIndex>
[src]
Returns the single edge field of this unitig.
The field is Some
if this unitig has exactly two nodes.
In this case, the two nodes might be connected by multiple edges, so then this field serves as disambiguation between the edges.
pub fn into_node_walk(self) -> VecNodeWalk<Graph>
[src]
Extracts the node walk from this unitig, consuming the unitig. Note that the information for unitigs of length two with a multiedge is lost.
Trait Implementations
impl<Graph: Clone + GraphBase> Clone for NodeUnitig<Graph> where
Graph::EdgeIndex: Clone,
[src]
Graph::EdgeIndex: Clone,
fn clone(&self) -> NodeUnitig<Graph>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Graph: GraphBase> Debug for NodeUnitig<Graph> where
Graph::NodeIndex: Debug,
[src]
Graph::NodeIndex: Debug,
impl<Graph: GraphBase> Eq for NodeUnitig<Graph> where
Graph::NodeIndex: Eq,
Graph::EdgeIndex: Eq,
[src]
Graph::NodeIndex: Eq,
Graph::EdgeIndex: Eq,
impl<Graph: GraphBase, IndexType> Index<IndexType> for NodeUnitig<Graph> where
VecNodeWalk<Graph>: Index<IndexType>,
[src]
VecNodeWalk<Graph>: Index<IndexType>,
type Output = <VecNodeWalk<Graph> as Index<IndexType>>::Output
The returned type after indexing.
fn index(&self, index: IndexType) -> &Self::Output
[src]
impl<'a, Graph: GraphBase> NodeWalk<'a, Graph, [<Graph as GraphBase>::NodeIndex]> for NodeUnitig<Graph> where
Graph::NodeIndex: 'a,
[src]
Graph::NodeIndex: 'a,
pub fn compute_trivial_heart(&'a self, graph: &Graph) -> Option<(usize, usize)> where
Graph: StaticGraph,
[src]
Graph: StaticGraph,
pub fn compute_trivial_heart_node_len(&'a self, graph: &Graph) -> Option<usize> where
Graph: StaticGraph,
[src]
Graph: StaticGraph,
pub fn is_non_trivial(&'a self, graph: &Graph) -> bool where
Graph: StaticGraph,
[src]
Graph: StaticGraph,
pub fn compute_univocal_extension<ResultWalk>(
&'a self,
graph: &Graph
) -> ResultWalk where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
[src]
&'a self,
graph: &Graph
) -> ResultWalk where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
pub fn compute_univocal_extension_non_scc<ResultWalk>(
&'a self,
graph: &Graph
) -> ResultWalk where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
[src]
&'a self,
graph: &Graph
) -> ResultWalk where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
pub fn compute_univocal_extension_with_original_offset<ResultWalk>(
&'a self,
graph: &Graph
) -> (usize, ResultWalk) where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
[src]
&'a self,
graph: &Graph
) -> (usize, ResultWalk) where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
pub fn compute_univocal_extension_with_original_offset_non_scc<ResultWalk>(
&'a self,
graph: &Graph
) -> (usize, ResultWalk) where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
[src]
&'a self,
graph: &Graph
) -> (usize, ResultWalk) where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::NodeIndex, Global>>,
pub fn clone_as_edge_walk<ResultWalk>(
&'a self,
graph: &Graph
) -> Option<ResultWalk> where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::EdgeIndex, Global>>,
[src]
&'a self,
graph: &Graph
) -> Option<ResultWalk> where
Graph: StaticGraph,
ResultWalk: From<Vec<<Graph as GraphBase>::EdgeIndex, Global>>,
pub fn is_proper_subwalk_of(&'a self, other: &Self) -> bool where
<Graph as GraphBase>::NodeIndex: Eq,
[src]
<Graph as GraphBase>::NodeIndex: Eq,
impl<Graph: GraphBase> PartialEq<NodeUnitig<Graph>> for NodeUnitig<Graph> where
Graph::NodeIndex: PartialEq,
Graph::EdgeIndex: PartialEq,
[src]
Graph::NodeIndex: PartialEq,
Graph::EdgeIndex: PartialEq,
impl<'a, Graph: GraphBase> Sequence<'a, <Graph as GraphBase>::NodeIndex, [<Graph as GraphBase>::NodeIndex]> for NodeUnitig<Graph> where
Graph::NodeIndex: 'a,
[src]
Graph::NodeIndex: 'a,
type Iterator = Iter<'a, Graph::NodeIndex>
The iterator type of the sequence.
fn iter(&'a self) -> Self::Iterator
[src]
fn len(&self) -> usize
[src]
pub fn prefix(&'a self, len: usize) -> &'a Subsequence
[src]
pub fn suffix(&'a self, len: usize) -> &'a Subsequence
[src]
pub fn is_empty(&self) -> bool
[src]
pub fn first(&'a self) -> Option<&'a Item>
[src]
pub fn last(&'a self) -> Option<&'a Item>
[src]
pub fn is_proper_subsequence_of(&'a self, other: &Self) -> bool where
Item: Eq,
[src]
Item: Eq,
pub fn contains(&'a self, item: &Item) -> bool where
Item: Eq,
[src]
Item: Eq,
pub fn forward_merge_iter_assume_mergeable(
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
[src]
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
pub fn backward_merge_iter_assume_mergeable(
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
[src]
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
pub fn to_debug_string(&'a self) -> String where
Item: Debug,
[src]
Item: Debug,
impl<'a, Graph: 'a + GraphBase> Sequence<'a, NodeUnitig<Graph>, [NodeUnitig<Graph>]> for NodeUnitigs<Graph> where
Graph::NodeIndex: 'a,
[src]
Graph::NodeIndex: 'a,
type Iterator = Iter<'a, NodeUnitig<Graph>>
The iterator type of the sequence.
fn iter(&'a self) -> Self::Iterator
[src]
fn len(&self) -> usize
[src]
pub fn prefix(&'a self, len: usize) -> &'a Subsequence
[src]
pub fn suffix(&'a self, len: usize) -> &'a Subsequence
[src]
pub fn is_empty(&self) -> bool
[src]
pub fn first(&'a self) -> Option<&'a Item>
[src]
pub fn last(&'a self) -> Option<&'a Item>
[src]
pub fn is_proper_subsequence_of(&'a self, other: &Self) -> bool where
Item: Eq,
[src]
Item: Eq,
pub fn contains(&'a self, item: &Item) -> bool where
Item: Eq,
[src]
Item: Eq,
pub fn forward_merge_iter_assume_mergeable(
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
[src]
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
pub fn backward_merge_iter_assume_mergeable(
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
[src]
&'a self,
suffix: &'a Self
) -> Chain<Self::Iterator, Skip<Self::Iterator>> where
Item: Eq,
pub fn to_debug_string(&'a self) -> String where
Item: Debug,
[src]
Item: Debug,
Auto Trait Implementations
impl<Graph> RefUnwindSafe for NodeUnitig<Graph> where
<Graph as GraphBase>::EdgeIndex: RefUnwindSafe,
<Graph as GraphBase>::NodeIndex: RefUnwindSafe,
<Graph as GraphBase>::EdgeIndex: RefUnwindSafe,
<Graph as GraphBase>::NodeIndex: RefUnwindSafe,
impl<Graph> Send for NodeUnitig<Graph> where
<Graph as GraphBase>::EdgeIndex: Send,
<Graph as GraphBase>::NodeIndex: Send,
<Graph as GraphBase>::EdgeIndex: Send,
<Graph as GraphBase>::NodeIndex: Send,
impl<Graph> Sync for NodeUnitig<Graph> where
<Graph as GraphBase>::EdgeIndex: Sync,
<Graph as GraphBase>::NodeIndex: Sync,
<Graph as GraphBase>::EdgeIndex: Sync,
<Graph as GraphBase>::NodeIndex: Sync,
impl<Graph> Unpin for NodeUnitig<Graph> where
<Graph as GraphBase>::EdgeIndex: Unpin,
<Graph as GraphBase>::NodeIndex: Unpin,
<Graph as GraphBase>::EdgeIndex: Unpin,
<Graph as GraphBase>::NodeIndex: Unpin,
impl<Graph> UnwindSafe for NodeUnitig<Graph> where
<Graph as GraphBase>::EdgeIndex: UnwindSafe,
<Graph as GraphBase>::NodeIndex: UnwindSafe,
<Graph as GraphBase>::EdgeIndex: UnwindSafe,
<Graph as GraphBase>::NodeIndex: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,