Struct omnitigs::omnitigs::Omnitigs[][src]

pub struct Omnitigs<Graph: GraphBase> { /* fields omitted */ }

A structure containing omnitigs of a graph.

Implementations

impl<Graph: StaticGraph> Omnitigs<Graph>[src]

pub fn compute(graph: &Graph) -> Self[src]

Computes the maximal omnitigs of the given graph.

pub fn compute_trivial_only(graph: &Graph) -> Self[src]

Computes the maximal trivial omnitigs of the given graph, including those that are subwalks of maximal non-trivial omnitigs.

pub fn compute_trivial_only_non_scc(graph: &Graph) -> Self[src]

Computes the maximal trivial omnitigs of the given graph, including those that are subwalks of maximal non-trivial omnitigs. This algorithm allows the graph to be not strongly connected, but it is a bit slower, especially for long trivial omnitigs.

impl<Graph: StaticEdgeCentricBigraph> Omnitigs<Graph> where
    Graph::EdgeData: BidirectedData + Eq,
    Graph::NodeData: Debug
[src]

pub fn remove_reverse_complements(&mut self, graph: &Graph)[src]

Retains only one direction of each pair of reverse-complemental omnitigs.

Note: I am not sure if this method is correct in all cases, but it will panic if it finds a case where it is not correct. For practical genomes it seems to work.

impl<Graph: GraphBase> Omnitigs<Graph>[src]

pub fn new(
    omnitigs: Vec<Omnitig<Graph>>,
    omnitigs_per_macrotig: Vec<usize>
) -> Self
[src]

Creates a new Omnitigs struct from the given omnitigs and statistics.

pub fn iter(&self) -> impl Iterator<Item = &Omnitig<Graph>>[src]

Returns an iterator over the omnitigs in this struct.

pub fn len(&self) -> usize[src]

Returns the amount of omnitigs in this struct.

pub fn is_empty(&self) -> bool[src]

Returns true if this struct contains no omnitigs.

pub fn push(&mut self, omnitig: Omnitig<Graph>)[src]

Adds the given omnitig to this struct.

pub fn omnitigs_per_macrotig(&self) -> &[usize][src]

Returns a slice of omnitig counts per macrotig.

Trait Implementations

impl<Graph: Clone + GraphBase> Clone for Omnitigs<Graph>[src]

impl<Graph: GraphBase> Debug for Omnitigs<Graph> where
    Graph::NodeIndex: Debug
[src]

impl<Graph: GraphBase> Default for Omnitigs<Graph>[src]

impl<Graph: GraphBase> Eq for Omnitigs<Graph> where
    Graph::EdgeIndex: Eq
[src]

impl<Graph: GraphBase> From<Vec<Omnitig<Graph>, Global>> for Omnitigs<Graph>[src]

impl<Graph: GraphBase, IndexType> Index<IndexType> for Omnitigs<Graph> where
    Vec<Omnitig<Graph>>: Index<IndexType>, 
[src]

type Output = <Vec<Omnitig<Graph>> as Index<IndexType>>::Output

The returned type after indexing.

impl<Graph: GraphBase> PartialEq<Omnitigs<Graph>> for Omnitigs<Graph> where
    Graph::EdgeIndex: PartialEq
[src]

Auto Trait Implementations

impl<Graph> RefUnwindSafe for Omnitigs<Graph> where
    <Graph as GraphBase>::EdgeIndex: RefUnwindSafe

impl<Graph> Send for Omnitigs<Graph> where
    <Graph as GraphBase>::EdgeIndex: Send

impl<Graph> Sync for Omnitigs<Graph> where
    <Graph as GraphBase>::EdgeIndex: Sync

impl<Graph> Unpin for Omnitigs<Graph> where
    <Graph as GraphBase>::EdgeIndex: Unpin

impl<Graph> UnwindSafe for Omnitigs<Graph> where
    <Graph as GraphBase>::EdgeIndex: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,