vdj_pipe
pipeline for processing DNA sequence data
Public Types | Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
vdj_pipe::Seq_store Class Reference

Store sequence and related information. More...

#include <sequence_store.hpp>

Collaboration diagram for vdj_pipe::Seq_store:
Collaboration graph
[legend]

Public Types

typedef detail::Id_map< Seq_id, Seq_entryseq_map
 
typedef boost::shared_ptr< seq_mapseq_map_ptr
 
typedef detail::Vector_set< sub_seqsub_seq_set
 
typedef detail::Vector_set< super_seqsuper_seq_set
 
typedef seq_index::iterator iterator
 
typedef seq_index::const_iterator const_iterator
 

Public Member Functions

 Seq_store ()
 
std::size_t size () const
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
Seq_entry const & operator[] (const Seq_id sid) const
 
boost::shared_ptr< seq_mapsequence_map ()
 
size_range by_size () const
 
size_range by_size (const unsigned size) const
 
size_range by_size_range (const unsigned from, const unsigned to=std::numeric_limits< unsigned >::max()) const
 
Seq_id insert (const Read_id rid, const boost::string_ref seq)
 insert name and sequence checking for duplicates More...
 
template<class Super_seqs >
void remove_subsequence (const Seq_id sid, Super_seqs const &ss)
 
super_seq_set const & maps_to (const Read_id iid) const
 
sub_seq_set const & maps_from (const Seq_id sid) const
 

Private Types

typedef detail::Getter< seq_map, Seq_id, Seq_entry, std::string const &,&Seq_entry::sequenceget_seq
 
typedef detail::Getter< seq_map, Seq_id, Seq_entry, unsigned,&Seq_entry::sizeget_size
 
typedef boost::multi_index_container< Seq_id, boost::multi_index::indexed_by< boost::multi_index::hashed_unique< boost::multi_index::tag< struct seq_tag >, get_seq >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< struct size_tag >, get_size > > > seq_mi_t
 
typedef seq_mi_t::index< seq_tag >::type seq_index
 
typedef seq_mi_t::index< size_tag >::type size_index
 
typedef detail::Id_map< Seq_id, sub_seq_setseq_to_info
 
typedef detail::Id_map< Read_id, super_seq_setinfo_to_seq
 
typedef size_index::const_iterator size_iterator
 
typedef boost::iterator_range< size_iteratorsize_range
 

Static Private Member Functions

static seq_mi_t::ctor_args_list seq_index_init (seq_map const &sm)
 

Private Attributes

seq_map_ptr sm_
 
seq_mi_t si_
 
seq_to_info s2i_
 
info_to_seq i2s_
 

Detailed Description

Store sequence and related information.

Member Typedef Documentation

typedef seq_index::const_iterator vdj_pipe::Seq_store::const_iterator
typedef detail::Getter< seq_map, Seq_id, Seq_entry, std::string const&, &Seq_entry::sequence > vdj_pipe::Seq_store::get_seq
private
typedef seq_index::iterator vdj_pipe::Seq_store::iterator
typedef seq_mi_t::index<seq_tag>::type vdj_pipe::Seq_store::seq_index
private
typedef boost::shared_ptr<seq_map> vdj_pipe::Seq_store::seq_map_ptr
typedef boost::multi_index_container< Seq_id, boost::multi_index::indexed_by< boost::multi_index::hashed_unique< boost::multi_index::tag<struct seq_tag>, get_seq >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<struct size_tag>, get_size > > > vdj_pipe::Seq_store::seq_mi_t
private
typedef seq_mi_t::index<size_tag>::type vdj_pipe::Seq_store::size_index
private
typedef size_index::const_iterator vdj_pipe::Seq_store::size_iterator
private
typedef boost::iterator_range<size_iterator> vdj_pipe::Seq_store::size_range
private

Constructor & Destructor Documentation

vdj_pipe::Seq_store::Seq_store ( )
inline

Member Function Documentation

const_iterator vdj_pipe::Seq_store::begin ( ) const
inline
size_range vdj_pipe::Seq_store::by_size ( ) const
inline
Returns
range of all sequence info IDs ordered by size
size_range vdj_pipe::Seq_store::by_size ( const unsigned  size) const
inline
Returns
range of sequence info IDs of % size size
size_range vdj_pipe::Seq_store::by_size_range ( const unsigned  from,
const unsigned  to = std::numeric_limits<unsigned>::max() 
) const
inline
Returns
range of sequence info IDs that have % size in the range [from, to)
bool vdj_pipe::Seq_store::empty ( ) const
inline
const_iterator vdj_pipe::Seq_store::end ( ) const
inline
Seq_id vdj_pipe::Seq_store::insert ( const Read_id  rid,
const boost::string_ref  seq 
)
inline

insert name and sequence checking for duplicates

sub_seq_set const& vdj_pipe::Seq_store::maps_from ( const Seq_id  sid) const
inline
super_seq_set const& vdj_pipe::Seq_store::maps_to ( const Read_id  iid) const
inline
Seq_entry const& vdj_pipe::Seq_store::operator[] ( const Seq_id  sid) const
inline
template<class Super_seqs >
void vdj_pipe::Seq_store::remove_subsequence ( const Seq_id  sid,
Super_seqs const &  ss 
)
inline
static seq_mi_t::ctor_args_list vdj_pipe::Seq_store::seq_index_init ( seq_map const &  sm)
inlinestaticprivate
boost::shared_ptr<seq_map> vdj_pipe::Seq_store::sequence_map ( )
inline
std::size_t vdj_pipe::Seq_store::size ( ) const
inline

Member Data Documentation

info_to_seq vdj_pipe::Seq_store::i2s_
private
seq_to_info vdj_pipe::Seq_store::s2i_
private
seq_mi_t vdj_pipe::Seq_store::si_
private
seq_map_ptr vdj_pipe::Seq_store::sm_
private

The documentation for this class was generated from the following file: