NCBI C++ ToolKit
|
Search Toolkit Book for variation_ref::CVariationUtil
#include <misc/hgvs/variation_util.hpp>
Classes | |
struct | SFlankLocs |
Calculate upstream (first) and downstream(second) flanks for loc. More... | |
Public Types | |
enum | ETestStatus { eFail , ePass , eNotApplicable } |
enum | ESOTerm { eSO_2KB_upstream_variant =1636 , eSO_500B_downstream_variant =1634 , eSO_splice_donor_variant =1575 , eSO_splice_acceptor_variant =1574 , eSO_intron_variant =1627 , eSO_5_prime_UTR_variant =1623 , eSO_3_prime_UTR_variant =1624 , eSO_coding_sequence_variant =1580 , eSO_nc_transcript_variant =1619 , eSO_synonymous_codon =1588 , eSO_non_synonymous_codon =1583 , eSO_stop_gained =1587 , eSO_stop_lost =1578 , eSO_frameshift_variant =1589 } |
Supported SO-terms. More... | |
typedef vector< ESOTerm > | TSOTerms |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
CVariationUtil (CScope &scope) | |
ETestStatus | CheckExonBoundary (const CSeq_feat &variation_feat, const CSeq_align &aln) |
bool | SetReferenceSequence (CVariation_ref &vr, const CSeq_loc &location) |
CRef< CSeq_feat > | Remap (const CSeq_feat &variation_feat, const CSeq_align &aln) |
CRef< CSeq_feat > | ProtToPrecursor (const CSeq_feat &prot_variation_feat) |
Convert protein-variation (single-AA missense/nonsense) to nuc-variation on the parent. More... | |
CRef< CSeq_feat > | PrecursorToProt (const CSeq_feat &prot_variation_feat) |
Convert to nuc-variation on the parent to protein-variation (single-AA missense/nonsense) Only a subset of sequence edits is supported (mismatch, ins, del, indel) The location must fall within annotated CDS. More... | |
void | FlipStrand (CSeq_feat &variation_feat) |
todo: implement when decide on representation in the schema More... | |
SFlankLocs | CreateFlankLocs (const CSeq_loc &loc, TSeqPos len) |
void | ChangeToDelins (CVariation_ref &v) |
void | AdjustDelinsToInterval (CVariation_ref &delins_variation, const CSeq_loc &int_loc) |
void | SetVariantProperties (CVariantProperties &prop, const CSeq_loc &orig_loc) |
Set location-specific variant-properties. More... | |
void | SetVariantProperties (CVariation_ref &vr) |
Recursively iterate sub-variations: calculate location and variant properties for inst-type variations unless their observation-type is asserted or reference. More... | |
void | AsSOTerms (const CVariantProperties &p, TSOTerms &terms) |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Static Public Member Functions | |
static void | s_FactorOutLocsInPlace (CVariation_ref &v) |
static void | s_PropagateLocsInPlace (CVariation_ref &v) |
Propagate parent variation location to the members of set, unles they have their own location set. More... | |
static string | AsString (ESOTerm term) |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
Private Member Functions | |
void | x_SetVariantProperties (CVariantProperties &p, const CVariation_inst &vi, const CSeq_loc &loc) |
void | x_SetVariantPropertiesForIntronic (CVariantProperties &p, int offset, const CSeq_loc &loc, CBioseq_Handle &bsh) |
void | x_ProtToPrecursor (CVariation_ref &v) |
CRef< CSeq_literal > | x_GetLiteralAtLoc (const CSeq_loc &loc) |
void | s_CalcPrecursorVariationCodon (const string &codon_from, const string &prot_to, vector< string > &codons_to) |
Static Private Member Functions | |
static void | s_Remap (CVariation_ref &vr, CSeq_loc_Mapper &mapper, const CSeq_loc &parent_variation_loc) |
static CRef< CSeq_literal > | s_CatLiterals (const CSeq_literal &a, const CSeq_literal &b) |
static void | s_UntranslateProt (const string &prot_str, vector< string > &codons) |
static size_t | s_CountMatches (const string &a, const string &b) |
static string | s_CollapseAmbiguities (const vector< string > &seqs) |
static void | s_ResolveIntronicOffsets (CVariation_ref &v, const CSeq_loc &parent_variation_loc) |
static void | s_AddIntronicOffsets (CVariation_ref &v, const CSpliced_seg &ss, const CSeq_loc &parent_variation_loc) |
Private Attributes | |
CRef< CScope > | m_scope |
Static Private Attributes | |
static const int | m_variant_properties_schema_version = 1 |
Additional Inherited Members | |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Definition at line 62 of file variation_util.hpp.
typedef vector<ESOTerm> variation_ref::CVariationUtil::TSOTerms |
Definition at line 180 of file variation_util.hpp.
Supported SO-terms.
Definition at line 160 of file variation_util.hpp.
Enumerator | |
---|---|
eFail | |
ePass | |
eNotApplicable |
Definition at line 69 of file variation_util.hpp.
|
inline |
Definition at line 65 of file variation_util.hpp.
void variation_ref::CVariationUtil::AdjustDelinsToInterval | ( | CVariation_ref & | v, |
const CSeq_loc & | loc | ||
) |
Extend or truncate delins to specified location. truncate or attach suffixes/prefixes to seq-literals as necessary).
Precondition: variation must be a normalized delins (via x_ChangeToDelins)
Extend or truncate delins to specified location. truncate or attach suffixes/prefixes to seq-literals as necessary).
Precondition: -variation must be a normalized delins (via x_ChangeToDelins) -loc must be a superset of variation's location.
Definition at line 923 of file variation_util.cpp.
References delta(), eExtreme_Positional, eNa_strand_minus, CVariation_inst_Base::eType_delins, CSeq_loc::fMerge_SingleRange, CSeq_loc::fSortAndMerge_All, CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), GetLength(), CVariation_ref::GetLocation(), GetStart(), GetStop(), GetStrand(), CVariation_ref_Base::C_Data::IsInstance(), CSeq_loc_Base::IsInt(), CVariation_ref_Base::C_Data::IsSet(), NCBI_THROW, NON_CONST_ITERATE, NULL, s_CatLiterals(), Seq_loc_Merge(), Seq_loc_Subtract(), CVariation_ref_Base::SetData(), CVariation_inst_Base::SetDelta(), CSeq_loc::SetInt(), CVariation_ref::SetLocation(), CVariation_inst_Base::SetType(), CSeq_loc::Subtract(), swap(), CSeq_loc_Base::Which(), and x_GetLiteralAtLoc().
Referenced by PrecursorToProt().
void variation_ref::CVariationUtil::AsSOTerms | ( | const CVariantProperties & | p, |
TSOTerms & | terms | ||
) |
Definition at line 1242 of file variation_util.cpp.
References CVariantProperties_Base::eEffect_frameshift, CVariantProperties_Base::eEffect_missense, CVariantProperties_Base::eEffect_nonsense, CVariantProperties_Base::eEffect_stop_gain, CVariantProperties_Base::eEffect_stop_loss, CVariantProperties_Base::eEffect_synonymous, CVariantProperties_Base::eGene_location_acceptor, CVariantProperties_Base::eGene_location_conserved_noncoding, CVariantProperties_Base::eGene_location_donor, 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, eSO_2KB_upstream_variant, eSO_3_prime_UTR_variant, eSO_500B_downstream_variant, eSO_5_prime_UTR_variant, eSO_frameshift_variant, eSO_intron_variant, eSO_nc_transcript_variant, eSO_non_synonymous_codon, eSO_splice_acceptor_variant, eSO_splice_donor_variant, eSO_stop_gained, eSO_stop_lost, eSO_synonymous_codon, CVariantProperties_Base::GetEffect(), and CVariantProperties_Base::GetGene_location().
Definition at line 1286 of file variation_util.cpp.
References eSO_2KB_upstream_variant, eSO_3_prime_UTR_variant, eSO_500B_downstream_variant, eSO_5_prime_UTR_variant, eSO_coding_sequence_variant, eSO_frameshift_variant, eSO_intron_variant, eSO_nc_transcript_variant, eSO_non_synonymous_codon, eSO_splice_acceptor_variant, eSO_splice_donor_variant, eSO_stop_gained, eSO_stop_lost, and eSO_synonymous_codon.
void variation_ref::CVariationUtil::ChangeToDelins | ( | CVariation_ref & | v | ) |
Convert any inst variation to delins form, if possible; throw if not. Precondition: location must be set.
Convert any simple nucleotide variation to delins form, if possible; throw if not. Precondition: location must be set.
Definition at line 839 of file variation_util.cpp.
References CDelta_item_Base::eAction_del_at, CDelta_item_Base::eAction_ins_before, CDelta_item_Base::eAction_morph, CInt_fuzz_Base::eLim_unk, CVariation_inst_Base::eType_delins, CDelta_item_Base::GetAction(), CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), CDelta_item_Base::C_Seq::GetLiteral(), CDelta_item_Base::C_Seq::GetLoc(), CVariation_ref::GetLocation(), CDelta_item_Base::GetMultiplier(), CDelta_item_Base::GetSeq(), i, CVariation_ref_Base::C_Data::IsInstance(), CDelta_item_Base::C_Seq::IsLoc(), CVariation_ref_Base::C_Data::IsSet(), CDelta_item_Base::IsSetAction(), CDelta_item_Base::IsSetMultiplier(), CDelta_item_Base::IsSetMultiplier_fuzz(), CDelta_item_Base::C_Seq::IsThis(), literal(), NCBI_THROW, NON_CONST_ITERATE, CDelta_item_Base::ResetAction(), CDelta_item_Base::ResetMultiplier(), s_CatLiterals(), s_PropagateLocsInPlace(), CVariation_ref_Base::SetData(), CVariation_inst_Base::SetDelta(), CDelta_item_Base::SetMultiplier_fuzz(), CDelta_item_Base::SetSeq(), CVariation_inst_Base::SetType(), CTempString::size(), and x_GetLiteralAtLoc().
Referenced by PrecursorToProt().
CVariationUtil::ETestStatus variation_ref::CVariationUtil::CheckExonBoundary | ( | const CSeq_feat & | variation_feat, |
const CSeq_align & | aln | ||
) |
If variation-feat is not intronic, or alignment is not spliced-seg -> eNotApplicable Else if variation is intronic but location is not at exon boundary -> eFail Else -> ePass
if variation-feat is not intronic, or alignment is not spliced-seg -> eNotApplicable else if variation is intronic but location is not at exon boundary -> eFail else -> ePass
Definition at line 157 of file variation_util.cpp.
References CSerialObject::Assign(), Begin(), CDelta_item_Base::eAction_offset, eExtreme_Biological, eFail, set< Key, Compare >::end(), eNotApplicable, ePass, CSerialObject::Equals(), set< Key, Compare >::find(), CDelta_item_Base::GetAction(), CProt_pos_Base::GetAmin(), CSeq_feat_Base::GetData(), CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), CSpliced_seg_Base::GetExons(), CSeq_loc::GetId(), CVariation_ref_Base::C_Data::GetInstance(), CSeq_feat_Base::GetLocation(), CVariation_ref::GetLocation(), CProduct_pos_Base::GetNucpos(), CSpliced_exon_Base::GetProduct_end(), CSpliced_exon_Base::GetProduct_start(), CProduct_pos_Base::GetProtpos(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeq_id(), CSeq_align_Base::C_Segs::GetSpliced(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CSeqFeatData_Base::GetVariation(), set< Key, Compare >::insert(), CVariation_ref_Base::C_Data::IsInstance(), CProduct_pos_Base::IsNucpos(), CDelta_item_Base::IsSetAction(), CVariation_ref::IsSetLocation(), CSeq_align_Base::C_Segs::IsSpliced(), CSeqFeatData_Base::IsVariation(), ITERATE, s_PropagateLocsInPlace(), and CVariation_ref::SetLocation().
CVariationUtil::SFlankLocs variation_ref::CVariationUtil::CreateFlankLocs | ( | const CSeq_loc & | loc, |
TSeqPos | len | ||
) |
Definition at line 528 of file variation_util.cpp.
References CSeq_loc::Assign(), variation_ref::CVariationUtil::SFlankLocs::downstream, eExtreme_Positional, eNa_strand_minus, first(), CScope::GetBioseqHandle(), GetId(), CBioseq_Handle::GetInst_Length(), GetStart(), GetStop(), GetStrand(), len, m_scope, max(), min(), NULL, CRef< C, Locker >::Reset(), CSeq_loc::SetInt(), CSeq_loc::SetNull(), and variation_ref::CVariationUtil::SFlankLocs::upstream.
Referenced by PrecursorToProt(), and SetVariantProperties().
void variation_ref::CVariationUtil::FlipStrand | ( | CSeq_feat & | variation_feat | ) |
todo: implement when decide on representation in the schema
CRef< CSeq_feat > variation_ref::CVariationUtil::PrecursorToProt | ( | const CSeq_feat & | prot_variation_feat | ) |
Convert to nuc-variation on the parent to protein-variation (single-AA missense/nonsense) Only a subset of sequence edits is supported (mismatch, ins, del, indel) The location must fall within annotated CDS.
Definition at line 975 of file variation_util.cpp.
References CUser_object::AddField(), AdjustDelinsToInterval(), ChangeToDelins(), CreateFlankLocs(), delta(), variation_ref::CVariationUtil::SFlankLocs::downstream, CSeqFeatData_Base::e_Cdregion, CBioseq_Handle::eCoding_Iupac, CVariantProperties_Base::eEffect_frameshift, CVariantProperties_Base::eEffect_missense, CVariantProperties_Base::eEffect_stop_gain, CVariantProperties_Base::eEffect_stop_loss, CVariantProperties_Base::eEffect_synonymous, CSeq_loc_Mapper_Base::eLocationToProduct, CSeq_loc_Mapper_Base::eProductToLocation, CVariation_inst_Base::eType_del, CVariation_inst_Base::eType_prot_missense, CVariation_inst_Base::eType_prot_nonsense, CVariation_inst_Base::eType_prot_other, CVariation_inst_Base::eType_prot_silent, NStr::Find(), CSeqTranslator::fIs5PrimePartial, CSeq_loc::fSortAndMerge_All, CSeq_feat_Base::GetData(), CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), CVariation_ref_Base::C_Data::GetInstance(), GetLength(), CSeq_feat_Base::GetLocation(), CSeqFeatData_Base::GetVariation(), i, CVariation_ref_Base::C_Data::IsInstance(), CSeqFeatData_Base::IsVariation(), literal(), m_scope, m_variant_properties_schema_version, CSeq_loc_Mapper_Base::Map(), MSerial_AsnText, NCBI_THROW, NcbiCerr, NPOS, NULL, NStr::ReplaceInPlace(), CRef< C, Locker >::Reset(), Seq_loc_Add(), CSeq_feat_Base::SetData(), CSeq_loc::SetId(), CSeq_feat_Base::SetLocation(), CUser_object_Base::SetType(), and CSeqTranslator::Translate().
Referenced by x_SetVariantProperties().
CRef< CSeq_feat > variation_ref::CVariationUtil::ProtToPrecursor | ( | const CSeq_feat & | prot_variation_feat | ) |
Convert protein-variation (single-AA missense/nonsense) to nuc-variation on the parent.
Definition at line 776 of file variation_util.cpp.
References CSerialObject::Assign(), CSeq_feat_Base::GetData(), CSeq_feat_Base::GetLocation(), CVariation_ref::GetLocation(), CSeqFeatData_Base::GetVariation(), CSeqFeatData_Base::IsVariation(), NCBI_THROW, CVariation_ref::ResetLocation(), s_FactorOutLocsInPlace(), s_PropagateLocsInPlace(), CSeq_feat_Base::SetData(), CSeq_feat_Base::SetLocation(), CVariation_ref::SetLocation(), and x_ProtToPrecursor().
CRef< CSeq_feat > variation_ref::CVariationUtil::Remap | ( | const CSeq_feat & | variation_feat, |
const CSeq_align & | aln | ||
) |
Create remapped copy of the variation feat via given alignment The seq-locs that are in scope for remapping: feat.location, variation-ref.location and the recursive counterparts, Variation-inst.delta.seq.loc where the id of the loc is also represented in the location of the parent variation-ref.
Definition at line 458 of file variation_util.cpp.
References CSeq_id::AsFastaString(), CSerialObject::Assign(), CSerialObject::Equals(), eUnknown, CSeq_feat_Base::GetData(), CSpliced_seg_Base::GetGenomic_id(), CSeq_loc::GetId(), CSeq_feat_Base::GetLocation(), CVariation_ref::GetLocation(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeq_id(), CSeq_align_Base::C_Segs::GetSpliced(), i, IsSameBioseq(), CSeq_align_Base::C_Segs::IsSpliced(), CSeqFeatData_Base::IsVariation(), m_scope, NCBI_THROW, s_AddIntronicOffsets(), s_FactorOutLocsInPlace(), s_PropagateLocsInPlace(), s_Remap(), s_ResolveIntronicOffsets(), CSeq_feat_Base::SetData(), CVariation_ref::SetExt_locs(), CSeq_feat_Base::SetLocation(), and CVariation_ref::SetLocation().
|
staticprivate |
If start|stop don't fall into an exon, adjust start|stop to the closest exon boundary and add offset to inst. This is to be applied before remapping a genomic variation to transcript coordinates
Definition at line 322 of file variation_util.cpp.
References abs, delta(), CDelta_item_Base::eAction_offset, eExtreme_Positional, eNa_strand_minus, CSerialObject::Equals(), CSeq_loc::fMerge_SingleRange, CVariation_ref_Base::GetData(), CSpliced_seg_Base::GetExons(), CSpliced_exon_Base::GetGenomic_end(), CSpliced_seg_Base::GetGenomic_id(), CSpliced_exon_Base::GetGenomic_start(), CSeq_loc::GetId(), CVariation_ref::GetLocation(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CSeq_loc::GetStrand(), CVariation_ref_Base::C_Data::IsInstance(), CVariation_ref_Base::C_Data::IsSet(), CVariation_ref::IsSetLocation(), ITERATE, NCBI_THROW, NON_CONST_ITERATE, NULL, offset, Seq_loc_Merge(), CVariation_ref_Base::SetData(), CSeq_loc::SetInt(), and CVariation_ref::SetLocation().
Referenced by Remap().
|
private |
Definition at line 610 of file variation_util.cpp.
References ITERATE, s_CountMatches(), and s_UntranslateProt().
Referenced by x_ProtToPrecursor().
|
staticprivate |
Definition at line 811 of file variation_util.cpp.
References a, CSeqportUtil::Append(), CSerialObject::Assign(), b, CInt_fuzz_Base::eLim_unk, CSeq_literal_Base::SetFuzz(), CSeq_literal_Base::SetLength(), and CSeq_literal_Base::SetSeq_data().
Referenced by AdjustDelinsToInterval(), and ChangeToDelins().
|
staticprivate |
Definition at line 640 of file variation_util.cpp.
References eUnknown, i, ITERATE, and NCBI_THROW.
Referenced by x_ProtToPrecursor().
|
staticprivate |
Definition at line 599 of file variation_util.cpp.
References a, b, i, and min().
Referenced by s_CalcPrecursorVariationCodon().
|
static |
Set location of variation-sets as union of the children sub-variation locs. If all children have the same location, their locations are reset (recorded only at the parent variation level)
Definition at line 225 of file variation_util.cpp.
References CSeq_loc::Add(), CSeq_loc_Base::e_Mix, CSerialObject::Equals(), CSeq_loc::fSortAndMerge_All, CVariation_ref_Base::GetData(), CVariation_ref::GetLocation(), CVariation_ref_Base::C_Data::IsSet(), CVariation_ref::IsSetLocation(), CSeq_loc::Merge(), NON_CONST_ITERATE, NULL, CVariation_ref::ResetLocation(), CVariation_ref_Base::SetData(), and CVariation_ref::SetLocation().
Referenced by ProtToPrecursor(), Remap(), SetVariantProperties(), and variation_ref::CHgvsParser::x_root().
|
static |
Propagate parent variation location to the members of set, unles they have their own location set.
(opposite of factor-out)
Definition at line 252 of file variation_util.cpp.
References CVariation_ref_Base::GetData(), CVariation_ref::GetLocation(), CVariation_ref_Base::C_Data::IsSet(), CVariation_ref::IsSetLocation(), NON_CONST_ITERATE, CVariation_ref_Base::SetData(), and CVariation_ref::SetLocation().
Referenced by ChangeToDelins(), CheckExonBoundary(), ProtToPrecursor(), Remap(), and SetVariantProperties().
|
staticprivate |
Definition at line 428 of file variation_util.cpp.
References CSeq_loc::fSortAndMerge_All, CVariation_ref_Base::GetData(), CDelta_item_Base::C_Seq::GetLoc(), CVariation_ref::GetLocation(), CDelta_item_Base::GetSeq(), variation_ref::IsFirstSubsetOfSecond(), CVariation_ref_Base::C_Data::IsInstance(), CDelta_item_Base::C_Seq::IsLoc(), CVariation_ref_Base::C_Data::IsSet(), CVariation_ref::IsSetLocation(), CDelta_item_Base::IsSetSeq(), CSeq_loc_Mapper_Base::Map(), NON_CONST_ITERATE, NULL, Seq_loc_Merge(), CVariation_ref_Base::SetData(), CVariation_ref::SetLocation(), and CDelta_item_Base::SetSeq().
Referenced by Remap().
|
staticprivate |
Apply offsets to the variation's location (variation must be inst) E.g. the original variation could be a transcript location with offsets specifying intronic location. After original transcript lociation is remapped, the offsets are to be applied to the remapped location to get absolute offset-free genomic location.
Definition at line 267 of file variation_util.cpp.
References CDelta_item_Base::eAction_offset, eNa_strand_minus, CSeq_loc::fMerge_SingleRange, CDelta_item_Base::GetAction(), CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), CVariation_ref_Base::C_Data::GetInstance(), CSeq_literal_Base::GetLength(), CDelta_item_Base::C_Seq::GetLiteral(), CVariation_ref::GetLocation(), CDelta_item_Base::GetMultiplier(), CDelta_item_Base::GetSeq(), CSeq_loc::GetStrand(), CVariation_ref_Base::C_Data::IsInstance(), CSeq_loc_Base::IsPnt(), CVariation_ref_Base::C_Data::IsSet(), CDelta_item_Base::IsSetAction(), CVariation_ref::IsSetLocation(), CDelta_item_Base::IsSetMultiplier(), NON_CONST_ITERATE, NULL, offset, Seq_loc_Merge(), CVariation_ref_Base::SetData(), CSeq_loc::SetInt(), and CVariation_ref::SetLocation().
Referenced by Remap().
|
staticprivate |
Definition at line 571 of file variation_util.cpp.
References codons, eUnknown, CSeqTranslator::fIs5PrimePartial, NCBI_THROW, prot, NStr::ReplaceInPlace(), and CSeqTranslator::Translate().
Referenced by s_CalcPrecursorVariationCodon().
bool variation_ref::CVariationUtil::SetReferenceSequence | ( | CVariation_ref & | vr, |
const CSeq_loc & | location | ||
) |
Given a variation-ref, find set(s) of type package, and add or overwrite a member variation of type inst/observation=reference iff there are no intronic members for the package.
Definition at line 1170 of file variation_util.cpp.
References CDelta_item_Base::eAction_offset, CVariation_ref_Base::C_Data::C_Set::eData_set_type_package, CVariation_inst_Base::eObservation_reference, CVariation_inst_Base::eType_identity, CDelta_item_Base::GetAction(), CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), CVariation_ref_Base::C_Data::GetInstance(), CVariation_ref::GetLocation(), CVariation_inst_Base::GetObservation(), CVariation_ref_Base::C_Data::GetSet(), CVariation_ref_Base::C_Data::C_Set::GetType(), CVariation_ref_Base::C_Data::IsInstance(), CVariation_ref_Base::C_Data::IsSet(), CDelta_item_Base::IsSetAction(), CVariation_ref::IsSetLocation(), CVariation_inst_Base::IsSetObservation(), ITERATE, literal(), NCBI_THROW, NON_CONST_ITERATE, CRef< C, Locker >::Reset(), CVariation_ref_Base::SetData(), and x_GetLiteralAtLoc().
void variation_ref::CVariationUtil::SetVariantProperties | ( | CVariantProperties & | prop, |
const CSeq_loc & | orig_loc | ||
) |
Set location-specific variant-properties.
Calculate location-specific categories.
Definition at line 1322 of file variation_util.cpp.
References CSeq_loc::Assign(), Compare(), CreateFlankLocs(), variation_ref::CVariationUtil::SFlankLocs::downstream, CSeqFeatData_Base::e_Cdregion, CSeqFeatData_Base::e_Gene, CSeqFeatData_Base::e_Rna, eExtreme_Biological, eExtreme_Positional, 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_rna, eNa_strand_both, eNa_strand_minus, eNa_strand_plus, eNoOverlap, CSeqFeatData::eSubtype_mRNA, CSeq_loc::fMerge_SingleRange, GetBestCdsForMrna(), CScope::GetBioseqHandle(), CBioseq_Handle::GetBioseqMolType(), CVariantProperties_Base::GetGene_location(), CSeq_feat_Base::GetLocation(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), GetStrand(), SAnnotSelector::IncludeFeatType(), CVariantProperties_Base::IsSetGene_location(), CVariantProperties_Base::IsSetVersion(), m_scope, m_variant_properties_schema_version, NULL, CConstRef< C, Locker >::Reset(), CVariantProperties_Base::ResetGene_location(), Seq_loc_Add(), CVariantProperties_Base::SetGene_location(), SAnnotSelector::SetIgnoreStrand(), SAnnotSelector::SetOverlapTotalRange(), CSeq_loc::SetStrand(), CVariantProperties_Base::SetVersion(), and variation_ref::CVariationUtil::SFlankLocs::upstream.
Referenced by SetVariantProperties().
void variation_ref::CVariationUtil::SetVariantProperties | ( | CVariation_ref & | vr | ) |
Recursively iterate sub-variations: calculate location and variant properties for inst-type variations unless their observation-type is asserted or reference.
Calculate location properties on factored locations.
Precondition: root location must be set.
Definition at line 1602 of file variation_util.cpp.
References Begin(), CVariation_inst_Base::eObservation_variant, CVariation_ref_Base::GetData(), CVariation_ref::GetLocation(), CVariation_inst_Base::GetObservation(), CVariation_ref_Base::C_Data::IsInstance(), CVariation_ref::IsSetLocation(), CVariation_inst_Base::IsSetObservation(), s_FactorOutLocsInPlace(), s_PropagateLocsInPlace(), CVariation_ref_Base::SetData(), CVariation_ref_Base::SetVariant_prop(), SetVariantProperties(), and x_SetVariantProperties().
|
private |
Definition at line 796 of file variation_util.cpp.
References CSeqVector::begin(), CBioseq_Handle::eCoding_Iupac, CSeqVector::end(), CSeqVector::GetSeqData(), CSeqVector::IsNucleotide(), CSeqVector::IsProtein(), literal(), and m_scope.
Referenced by AdjustDelinsToInterval(), ChangeToDelins(), and SetReferenceSequence().
|
private |
Definition at line 676 of file variation_util.cpp.
References CSerialObject::Assign(), CSeqVector::begin(), CSeqportUtil::Convert(), delta(), CSeqFeatData_Base::e_Cdregion, CSeq_data_Base::e_Iupacaa, CDelta_item_Base::eAction_morph, CBioseq_Handle::eCoding_Iupac, eNa_strand_minus, CSeqVector::end(), CSeq_loc_Mapper_Base::eProductToLocation, CVariation_inst_Base::eType_mnp, CVariation_inst_Base::eType_snv, eUnknown, CSeq_loc::fSortAndMerge_All, CVariation_ref_Base::GetData(), CVariation_inst_Base::GetDelta(), CVariation_ref_Base::C_Data::GetInstance(), CSeq_data_Base::GetIupacaa(), GetLength(), CVariation_ref::GetLocation(), CVariation_inst_Base::GetObservation(), CSeqVector::GetSeqData(), CSeq_loc::GetStrand(), CVariation_ref_Base::C_Data::IsInstance(), CSeq_loc_Base::IsInt(), CVariation_ref_Base::C_Data::IsSet(), CVariation_inst_Base::IsSetObservation(), m_scope, CSeq_loc_Mapper_Base::Map(), NCBI_THROW, NON_CONST_ITERATE, NULL, CRef< C, Locker >::Reset(), s_CalcPrecursorVariationCodon(), s_CollapseAmbiguities(), Seq_loc_Merge(), CVariation_ref_Base::SetData(), CVariation_inst_Base::SetDelta(), CSeq_loc::SetInt(), CVariation_inst_Base::SetObservation(), CVariation_inst_Base::SetType(), and v2.
Referenced by ProtToPrecursor().
|
private |
Definition at line 1556 of file variation_util.cpp.
References CDelta_item_Base::eAction_offset, CSeq_inst_Base::eMol_rna, CDelta_item_Base::GetAction(), CScope::GetBioseqHandle(), CBioseq_Handle::GetBioseqMolType(), CSeq_feat_Base::GetData(), CVariation_inst_Base::GetDelta(), CVariantProperties_Base::GetEffect(), CSeq_literal_Base::GetLength(), CDelta_item_Base::C_Seq::GetLiteral(), CDelta_item_Base::GetSeq(), CVariation_ref_Base::GetVariant_prop(), CSeqFeatData_Base::GetVariation(), CBioseq_Handle::IsAa(), CDelta_item_Base::C_Seq::IsLiteral(), CDelta_item_Base::IsSetAction(), CVariantProperties_Base::IsSetEffect(), CVariantProperties_Base::IsSetVersion(), m_scope, m_variant_properties_schema_version, PrecursorToProt(), CSeq_feat_Base::SetData(), CVariantProperties_Base::SetEffect(), CSeq_feat_Base::SetLocation(), CVariantProperties_Base::SetVersion(), and x_SetVariantPropertiesForIntronic().
Referenced by SetVariantProperties().
|
private |
Definition at line 1518 of file variation_util.cpp.
References eExtreme_Positional, CVariantProperties_Base::eGene_location_acceptor, CVariantProperties_Base::eGene_location_donor, 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::GetGene_location(), CBioseq_Handle::GetInst_Length(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CVariantProperties_Base::IsSetGene_location(), offset, CVariantProperties_Base::ResetGene_location(), and CVariantProperties_Base::SetGene_location().
Referenced by x_SetVariantProperties().
Definition at line 226 of file variation_util.hpp.
Referenced by CreateFlankLocs(), PrecursorToProt(), Remap(), SetVariantProperties(), x_GetLiteralAtLoc(), x_ProtToPrecursor(), and x_SetVariantProperties().
Definition at line 227 of file variation_util.hpp.
Referenced by PrecursorToProt(), SetVariantProperties(), and x_SetVariantProperties().