1 #ifndef GUI_OBJUTILS___ADJUST_CONSENSUS_SPLICESITE__HPP
2 #define GUI_OBJUTILS___ADJUST_CONSENSUS_SPLICESITE__HPP
61 static bool s_IsBioseqGood_Strict(
const objects::CBioseq_Handle& bsh);
62 static bool s_IsBioseqGood_Relaxed(
const objects::CBioseq_Handle& bsh);
63 static bool s_IsBioseqGood_AdjustEnds(
const objects::CBioseq_Handle& bsh);
64 static bool s_IsAdjustedSpliceSitePairOK(
const string& seqdata,
TSeqPos intron_start,
TSeqPos intron_stop);
66 bool AdjustCDS(objects::CSeq_feat& cds);
67 bool AdjustmRNAToMatchCDS(
const objects::CSeq_feat& edit_cds, objects::CSeq_feat& mrna);
68 CRef<CCmdComposite> AdjustmRNAandExonFeatures(
const objects::CSeq_feat& new_cds,
const objects::CSeq_feat& orig_cds);
71 bool AdjustCDSEnds(objects::CSeq_feat& cds);
72 bool AdjustmRNAToMatchCDSEnds(
const objects::CSeq_feat& edit_cds, objects::CSeq_feat& mrna);
73 CRef<CCmdComposite> AdjustmRNAandExonEnds(
const objects::CSeq_feat& new_cds,
const objects::CSeq_feat& orig_cds);
76 typedef vector<TSeqRange>
TLocs;
78 void x_InitRanges(
const objects::CSeq_feat& cds);
79 void x_UpdateMixLocations(
const objects::CSeq_loc& orig_loc, objects::CSeq_loc::TLocations& locs);
80 void x_UpdateInterval(objects::CSeq_interval& interval);
81 void x_UpdateIntervals(objects::CSeq_loc::TIntervals& locs);
89 bool x_HasProteinChanged(
const objects::CSeq_feat& cds,
const string& orig_prot_seq);
90 bool x_HasProteinChangedAt5End(objects::CSeq_feat& cds,
const string& orig_prot_seq);
91 bool x_HasProteinChangedAt3End(objects::CSeq_feat& cds,
const string& orig_prot_seq);
92 bool x_AlsoAdjustmRNA(objects::CSeq_feat& mrna,
const objects::CSeq_loc& loc);
93 void x_UpdateExonFeatures(
CCmdComposite*
cmd,
const objects::CSeq_feat& orig_cds,
const objects::CSeq_feat& new_cds);
95 bool x_AdjustCDS5End(objects::CSeq_feat& cds,
const string& orig_prot_seq);
96 bool x_AdjustCDS3End(objects::CSeq_feat& cds,
const string& orig_prot_seq);
112 bool m_ProtChanged{
false };
static CRef< CScope > m_Scope
void SetScope(objects::CScope &scope)
vector< TSeqRange > TLocs
CAdjustForConsensusSpliceSite(objects::CScope &scope)
objects::ENa_strand m_Strand
CRef< objects::CScope > m_Scope
namespace ncbi::objects::
unsigned int TSeqPos
Type for sequence locations and lengths.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_GUIOBJUTILS_EXPORT
ENa_strand
strand of nucleic acid
Defines to provide correct exporting from DLLs in Windows.
range(_Ty, _Ty) -> range< _Ty >
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.