NCBI C++ ToolKit
|
Search Toolkit Book for variation::CVariationUtil::CVariantPropertiesIndex
Given a seq-loc, compute CVariantProperties::TGene_location from annotation. More...
Public Types | |
typedef pair< int, CVariantProperties::TGene_location > | TGeneIDAndProp |
typedef vector< TGeneIDAndProp > | TGeneIDAndPropVector |
typedef pair< CRef< CSeq_loc >, CRef< CSeq_loc > > | TLocsPair |
Public Member Functions | |
CVariantPropertiesIndex (CScope &scope) | |
void | GetLocationProperties (const CSeq_loc &loc, TGeneIDAndPropVector &v) |
void | Clear () |
Static Public Member Functions | |
static TLocsPair | s_GetStartAndStopCodonsLocs (const CSeq_loc &cds_loc) |
static TLocsPair | s_GetUTRLocs (const CSeq_loc &cds_loc, const CSeq_loc &parent_loc) |
static TLocsPair | s_GetNeighborhoodLocs (const CSeq_loc &gene_loc, TSeqPos max_pos) |
static TLocsPair | s_GetIntronsAndSpliceSiteLocs (const CSeq_loc &rna_loc) |
static int | s_GetGeneID (const CMappedFeat &mf, feature::CFeatTree &ft) |
static int | s_GetGeneIdForProduct (CBioseq_Handle bsh) |
Private Types | |
typedef CRangeMap< TGeneIDAndPropVector, TSeqPos > | TRangeMap |
typedef map< CSeq_id_Handle, TRangeMap > | TIdRangeMap |
Private Member Functions | |
void | x_Index (const CSeq_id_Handle &idh) |
void | x_Add (const CSeq_loc &loc, int gene_id, CVariantProperties::TGene_location prop) |
Private Attributes | |
CRef< CScope > | m_scope |
TIdRangeMap | m_loc2prop |
Given a seq-loc, compute CVariantProperties::TGene_location from annotation.
Precompute for the whole sequence and keep the cache to avoid objmgr annotation lookups on every call.
Definition at line 452 of file variation_util2.hpp.
typedef pair<int, CVariantProperties::TGene_location> variation::CVariationUtil::CVariantPropertiesIndex::TGeneIDAndProp |
Definition at line 455 of file variation_util2.hpp.
typedef vector<TGeneIDAndProp> variation::CVariationUtil::CVariantPropertiesIndex::TGeneIDAndPropVector |
Definition at line 456 of file variation_util2.hpp.
|
private |
Definition at line 481 of file variation_util2.hpp.
typedef pair<CRef<CSeq_loc>, CRef<CSeq_loc> > variation::CVariationUtil::CVariantPropertiesIndex::TLocsPair |
Definition at line 468 of file variation_util2.hpp.
|
private |
Definition at line 480 of file variation_util2.hpp.
|
inline |
Definition at line 458 of file variation_util2.hpp.
|
inline |
Definition at line 463 of file variation_util2.hpp.
References map_checker< Container >::clear(), and m_loc2prop.
Referenced by variation::CVariationUtil::ClearCache().
void variation::CVariationUtil::CVariantPropertiesIndex::GetLocationProperties | ( | const CSeq_loc & | loc, |
CVariantPropertiesIndex::TGeneIDAndPropVector & | v | ||
) |
Definition at line 3389 of file variation_util2.cpp.
References CSeq_loc::Assign(), CSeq_id_Handle::AsString(), CRangeMapBase< Traits >::begin(), variation::ChangeIdsInPlace(), eGetId_Canonical, map_checker< Container >::end(), map_checker< Container >::find(), ITERATE, m_loc2prop, m_scope, NCBI_RETHROW_SAME, CRangeMapIterator< Traits >::Valid(), and x_Index().
Referenced by variation::CVariationUtil::SetPlacementProperties().
|
static |
Definition at line 3850 of file variation_util2.cpp.
References CSeq_feat_Handle::GetData(), CDbtag_Base::GetDb(), CGene_ref_Base::GetDb(), CSeq_feat_Handle::GetDbxref(), CSeqFeatData_Base::GetGene(), CObject_id_Base::GetId(), CDbtag_Base::GetTag(), CSeqFeatData_Base::IsGene(), CGene_ref_Base::IsSetDb(), CSeq_feat_Handle::IsSetDbxref(), and ITERATE.
|
static |
Definition at line 3567 of file variation_util2.cpp.
References CSeqFeatData_Base::e_Cdregion, CSeqFeatData_Base::e_Gene, CSeqFeatData_Base::e_Rna, CSeq_inst_Base::eMol_aa, CSeq_loc::GetId(), CBioseq_Handle::GetInst_Mol(), GetNucleotideParent(), CMappedFeat::GetProduct(), CBioseq_Handle::GetScope(), CBioseq_Handle::GetSeqId(), SAnnotSelector::IncludeFeatType(), IsSameBioseq(), CSeq_feat_Handle::IsSetProduct(), CFeat_CI::Rewind(), SAnnotSelector::SetAdaptiveDepth(), and SAnnotSelector::SetResolveTSE().
|
static |
Definition at line 3972 of file variation_util2.cpp.
References CSeq_loc::Assign(), Begin(), CSeq_loc::fMerge_SingleRange, CSeq_loc::fSortAndMerge_All, CSeq_interval::GetLength(), NULL, Seq_loc_Merge(), Seq_loc_Subtract(), CSeq_interval_Base::SetFrom(), and CSeq_interval_Base::SetTo().
Referenced by variation::CVariationUtil::s_FindLocationProperties().
|
static |
Definition at line 3938 of file variation_util2.cpp.
References CSeq_loc::fMerge_SingleRange, CSeq_loc::GetStrand(), IsReverse(), NULL, Seq_loc_Merge(), and swap().
Referenced by variation::CVariationUtil::s_FindLocationProperties().
|
static |
Definition at line 3894 of file variation_util2.cpp.
References eExtreme_Biological, CSeq_loc::fMerge_SingleRange, CSeq_loc::GetStrand(), CSeq_loc::IsPartialStart(), CSeq_loc::IsPartialStop(), IsReverse(), CSeq_loc::IsTruncatedStart(), CSeq_loc::IsTruncatedStop(), NULL, Seq_loc_Merge(), and swap().
Referenced by variation::CVariationUtil::s_FindLocationProperties().
|
static |
Definition at line 3918 of file variation_util2.cpp.
References CSeq_loc::Assign(), CSeq_loc::fMerge_SingleRange, CSeq_loc::fSortAndMerge_All, CRange_Base::GetFrom(), CSeq_loc::GetStrand(), CRange_Base::GetTo(), CSeq_loc::GetTotalRange(), IsReverse(), NULL, Seq_loc_Merge(), Seq_loc_Subtract(), CSeq_loc::SetInt(), and swap().
Referenced by variation::CVariationUtil::s_FindLocationProperties().
|
private |
Definition at line 3440 of file variation_util2.cpp.
References MSerial_AsnText, NCBI_RETHROW_SAME, and NcbiCerr.
|
private |
Definition at line 3597 of file variation_util2.cpp.
References CSeq_loc::Assign(), CSeqFeatData_Base::e_Cdregion, CSeqFeatData_Base::e_Gene, CSeq_loc_Base::e_Mix, CSeq_loc_Base::e_Null, CSeqFeatData_Base::e_Rna, CSeq_loc_CI::eEmpty_Skip, CVariantProperties_Base::eGene_location_acceptor, CVariantProperties_Base::eGene_location_conserved_noncoding, CVariantProperties_Base::eGene_location_donor, CVariantProperties_Base::eGene_location_in_gene, CVariantProperties_Base::eGene_location_in_start_codon, CVariantProperties_Base::eGene_location_in_stop_codon, CVariantProperties_Base::eGene_location_intergenic, CVariantProperties_Base::eGene_location_intron, CVariantProperties_Base::eGene_location_near_gene_3, CVariantProperties_Base::eGene_location_near_gene_5, CVariantProperties_Base::eGene_location_utr_3, CVariantProperties_Base::eGene_location_utr_5, CSeq_inst_Base::eMol_aa, CSeq_inst_Base::eMol_dna, CSeq_inst_Base::eMol_rna, set< Key, Compare >::empty(), eNa_strand_plus, set< Key, Compare >::end(), CSeq_loc_CI::eOrder_Biological, CSeqFeatData::eSubtype_mRNA, set< Key, Compare >::find(), CSeq_loc::fMerge_SingleRange, CSeq_loc::fSortAndMerge_All, CScope::GetBioseqHandle(), CBioseq_Handle::GetBioseqMolType(), CSeq_feat_Handle::GetData(), variation::GetFocusLocusIDs(), CSeq_loc::GetId(), CBioseq_Handle::GetInst_Length(), CMappedFeat::GetLocation(), CBioseq_Handle::GetRangeSeq_loc(), CSeq_loc::GetStrand(), CSeqFeatData::GetSubtype(), i, SAnnotSelector::IncludeFeatType(), CSeqFeatData_Base::IsCdregion(), CSeqFeatData_Base::IsGene(), CSeqFeatData_Base::IsRna(), variation::CVariationUtil::m_scope, NULL, CSeq_loc::ResetStrand(), CFeat_CI::Rewind(), Seq_loc_Add(), Seq_loc_Merge(), Seq_loc_Subtract(), SAnnotSelector::SetAdaptiveDepth(), CSeq_loc::SetMix(), and SAnnotSelector::SetResolveAll().
Referenced by GetLocationProperties().
|
private |
Definition at line 484 of file variation_util2.hpp.
Referenced by Clear(), and GetLocationProperties().
Definition at line 483 of file variation_util2.hpp.
Referenced by GetLocationProperties().