NCBI C++ ToolKit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CAlignGroup Class Reference

Search Toolkit Book for CAlignGroup

#include <algo/sequence/align_group.hpp>

+ Collaboration diagram for CAlignGroup:

Public Types

typedef list< CRef< objects::CSeq_align > > TAlignList
 
typedef list< CRef< objects::CSeq_annot > > TAnnotList
 

Public Member Functions

 CAlignGroup ()
 
 ~CAlignGroup ()
 

Private Member Functions

void x_SeparateByTaxId (const TAlignList &alignments, TTaxAlignMap &tax_aligns, objects::CScope &scope)
 
CConstRef< objects::COrg_ref > x_GetOrgRef (TTaxId tax_id)
 
CConstRef< objects::COrg_ref > x_GetOrgRef (const objects::CSeq_id_Handle &id, objects::CScope &scope)
 
TTaxId x_GetTaxId (const objects::CSeq_id_Handle &id, objects::CScope &scope)
 
 CAlignGroup (const CAlignGroup &)
 forbidden! More...
 
CAlignGroupoperator= (const CAlignGroup &)
 

Private Attributes

unique_ptr< objects::CTaxon1 > m_Taxon1
 
TTaxIdMap m_TaxIds
 
TTaxInfoMap m_TaxInfo
 

Taxonomic Separation Interface

typedef set< TTaxIdTTaxIds
 typedefs for dealing with separations by tax-id More...
 
typedef map< TTaxIds, list< CRef< objects::CSeq_align > > > TTaxAlignMap
 
typedef map< objects::CSeq_id_Handle, TTaxIdTTaxIdMap
 typedefs for caching of taxonomic information More...
 
typedef map< TTaxId, CConstRef< objects::COrg_ref > > TTaxInfoMap
 
void GroupByTaxIds (const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope)
 Separate a set of alignments into groups that describe how the alignments relate taxonomically. More...
 
void GroupByLikeTaxIds (const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope)
 Separate a set of alignments into groups that describe how the alignments relate taxonomically. More...
 

Sequence Type Separation Interface

enum  ESequenceFlags {
  fRefSeq = 0x01 , fRefSeqPredicted = 0x02 , fEST = 0x04 , fWGS = 0x08 ,
  fHTGS = 0x10 , fPatent = 0x20 , fGB_EMBL_DDBJ = 0x40 , fSequenceDefaults = fRefSeq | fEST | fGB_EMBL_DDBJ
}
 
enum  ESeqIdFlags { fResolveToGi = 0x01 }
 
typedef int TSequenceFlags
 
typedef int TSeqIdFlags
 
void GroupBySequenceType (const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope, TSequenceFlags flags=fSequenceDefaults)
 Group alignments into sequence-related categories. More...
 
void GroupBySeqIds (const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope, TSeqIdFlags flags=0)
 Group alignments into bins for each set of seq-ids. More...
 
void GroupByStrand (const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope)
 Group alignments into bins for each set of strands. More...
 

Detailed Description

Definition at line 51 of file align_group.hpp.

Member Typedef Documentation

◆ TAlignList

typedef list< CRef<objects::CSeq_align> > CAlignGroup::TAlignList

Definition at line 55 of file align_group.hpp.

◆ TAnnotList

typedef list< CRef<objects::CSeq_annot> > CAlignGroup::TAnnotList

Definition at line 56 of file align_group.hpp.

◆ TSeqIdFlags

Definition at line 117 of file align_group.hpp.

◆ TSequenceFlags

Definition at line 104 of file align_group.hpp.

◆ TTaxAlignMap

typedef map<TTaxIds, list< CRef<objects::CSeq_align> > > CAlignGroup::TTaxAlignMap

Definition at line 66 of file align_group.hpp.

◆ TTaxIdMap

typedef map<objects::CSeq_id_Handle, TTaxId> CAlignGroup::TTaxIdMap

typedefs for caching of taxonomic information

Definition at line 69 of file align_group.hpp.

◆ TTaxIds

typedefs for dealing with separations by tax-id

Definition at line 65 of file align_group.hpp.

◆ TTaxInfoMap

typedef map<TTaxId, CConstRef<objects::COrg_ref> > CAlignGroup::TTaxInfoMap

Definition at line 70 of file align_group.hpp.

Member Enumeration Documentation

◆ ESeqIdFlags

Enumerator
fResolveToGi 

Definition at line 114 of file align_group.hpp.

◆ ESequenceFlags

Enumerator
fRefSeq 
fRefSeqPredicted 
fEST 
fWGS 
fHTGS 
fPatent 
fGB_EMBL_DDBJ 
fSequenceDefaults 

Definition at line 93 of file align_group.hpp.

Constructor & Destructor Documentation

◆ CAlignGroup() [1/2]

CAlignGroup::CAlignGroup ( )

Definition at line 46 of file align_group.cpp.

◆ ~CAlignGroup()

CAlignGroup::~CAlignGroup ( )

Definition at line 51 of file align_group.cpp.

◆ CAlignGroup() [2/2]

CAlignGroup::CAlignGroup ( const CAlignGroup )
private

forbidden!

Member Function Documentation

◆ GroupByLikeTaxIds()

void CAlignGroup::GroupByLikeTaxIds ( const TAlignList aligns,
TAnnotList align_groups,
const string annot_base_name,
objects::CScope &  scope 
)

Separate a set of alignments into groups that describe how the alignments relate taxonomically.

This version will group together all alignments that have more than one tax-id represented.

Definition at line 97 of file align_group.cpp.

References NON_CONST_ITERATE, NStr::NumericToString(), CRef< C, Locker >::Reset(), CSeq_annot_Base::SetData(), CSeq_annot_Base::SetName(), x_GetOrgRef(), and x_SeparateByTaxId().

Referenced by CGroupAlignmentsJob::x_CreateProjectItems().

◆ GroupBySeqIds()

void CAlignGroup::GroupBySeqIds ( const TAlignList aligns,
TAnnotList align_groups,
const string annot_base_name,
objects::CScope &  scope,
TSeqIdFlags  flags = 0 
)

◆ GroupBySequenceType()

void CAlignGroup::GroupBySequenceType ( const TAlignList aligns,
TAnnotList align_groups,
const string annot_base_name,
objects::CScope &  scope,
TSequenceFlags  flags = fSequenceDefaults 
)

◆ GroupByStrand()

void CAlignGroup::GroupByStrand ( const TAlignList aligns,
TAnnotList align_groups,
const string annot_base_name,
objects::CScope &  scope 
)

◆ GroupByTaxIds()

void CAlignGroup::GroupByTaxIds ( const TAlignList aligns,
TAnnotList align_groups,
const string annot_base_name,
objects::CScope &  scope 
)

Separate a set of alignments into groups that describe how the alignments relate taxonomically.

Definition at line 56 of file align_group.cpp.

References ITERATE, NON_CONST_ITERATE, NStr::NumericToString(), CSeq_annot_Base::SetData(), CSeq_annot_Base::SetName(), x_GetOrgRef(), and x_SeparateByTaxId().

Referenced by CGroupAlignmentsJob::x_CreateProjectItems().

◆ operator=()

CAlignGroup& CAlignGroup::operator= ( const CAlignGroup )
private

◆ x_GetOrgRef() [1/2]

CConstRef<objects::COrg_ref> CAlignGroup::x_GetOrgRef ( const objects::CSeq_id_Handle &  id,
objects::CScope &  scope 
)
private

◆ x_GetOrgRef() [2/2]

CConstRef< COrg_ref > CAlignGroup::x_GetOrgRef ( TTaxId  tax_id)
private

◆ x_GetTaxId()

TTaxId CAlignGroup::x_GetTaxId ( const objects::CSeq_id_Handle &  id,
objects::CScope &  scope 
)
private

◆ x_SeparateByTaxId()

void CAlignGroup::x_SeparateByTaxId ( const TAlignList alignments,
TTaxAlignMap tax_aligns,
objects::CScope &  scope 
)
private

Member Data Documentation

◆ m_TaxIds

TTaxIdMap CAlignGroup::m_TaxIds
private

Definition at line 138 of file align_group.hpp.

Referenced by x_GetTaxId().

◆ m_TaxInfo

TTaxInfoMap CAlignGroup::m_TaxInfo
private

Definition at line 139 of file align_group.hpp.

Referenced by x_GetOrgRef().

◆ m_Taxon1

unique_ptr<objects::CTaxon1> CAlignGroup::m_Taxon1
private

Definition at line 137 of file align_group.hpp.

Referenced by x_GetOrgRef(), and x_GetTaxId().


The documentation for this class was generated from the following files:
Modified on Sat Jul 20 11:08:08 2024 by modify_doxy.py rev. 669887