55 ePartialPolicy_eNoChange = 0,
62 ePartialPolicy_eClearForGoodEnd };
65 eMergePolicy_NoChange = 0,
68 eMergePolicy_SingleInterval };
76 : m_PartialPolicy5(partial5),
77 m_PartialPolicy3(partial3),
97 bool Interpret5Policy(
const CSeq_feat& orig_feat,
CScope& scope,
bool& do_set_5_partial,
bool& do_clear_5_partial)
const;
98 bool Interpret3Policy(
const CSeq_feat& orig_feat,
CScope& scope,
bool& do_set_3_partial,
bool& do_clear_3_partial)
const;
103 static bool HasNulls(
const CSeq_loc& orig_loc);
113 static bool Is5AtEndOfSeq(
const CSeq_loc& loc,
CScope& scope,
bool& confident);
114 static bool Is3AtEndOfSeq(
const CSeq_loc& loc,
CScope& scope,
bool& confident);
129 bool adjust_gene,
bool retranslate_cds);
168 size_t start,
size_t stop,
EPartialPolicy GetPartial5Policy()
void SetPartial3Policy(EPartialPolicy policy)
EPartialPolicy m_PartialPolicy3
EPartialPolicy GetPartial3Policy()
void SetPartial5Policy(EPartialPolicy policy)
CLocationEditPolicy(EPartialPolicy partial5=ePartialPolicy_eNoChange, EPartialPolicy partial3=ePartialPolicy_eNoChange, bool extend_5=true, bool extend_3=true, EMergePolicy merge=eMergePolicy_NoChange)
EPartialPolicy m_PartialPolicy5
@ ePartialPolicy_eSetForFrame
@ ePartialPolicy_eSetAtEnd
@ ePartialPolicy_eSetForBadEnd
@ ePartialPolicy_eClearNotAtEnd
EMergePolicy m_MergePolicy
void SetExtend3(bool policy)
void SetMergePolicy(EMergePolicy policy)
EMergePolicy GetMergePolicy()
void SetExtend5(bool policy)
namespace ncbi::objects::
Include a standard set of the NCBI C++ Toolkit most basic headers.
unsigned int TSeqPos
Type for sequence locations and lengths.
#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_XOBJEDIT_EXPORT
bool CorrectIntervalOrder(CSeq_loc &loc)
Correct the order of consecutive intervals with the same Seq-id on the same strand.
@ eSplitLocOption_split_in_intron
@ eSplitLocOption_make_partial
@ eSplitLocOption_split_in_exon
void FeatureAdjustForInsert(CSeq_feat &feat, TSeqPos from, TSeqPos to, const CSeq_id *seqid)
bool ExtendPartialFeatureEnds(CBioseq_Handle bsh)
void ReverseComplementFeature(CSeq_feat &feat, CScope &scope)
string PrintSeqIntUseBestID(const CSeq_interval &seq_int, CScope &scope, bool range_only)
string PrintBestSeqId(const CSeq_id &sid, CScope &scope)
bool ApplyPolicyToFeature(const CLocationEditPolicy &policy, const CSeq_feat &orig_feat, CScope &scope, bool adjust_gene, bool retranslate_cds)
void FeatureAdjustForTrim(CSeq_feat &feat, TSeqPos from, TSeqPos to, const CSeq_id *seqid, bool &bCompleteCut, bool &bAdjusted)
bool IsExtendable(const CSeq_feat &cds, CScope &scope)
string PrintPntAndPntsUseBestID(const CSeq_loc &seq_loc, CScope &scope, bool range_only=false)
void SeqLocAdjustForInsert(CSeq_loc &loc, TSeqPos from, TSeqPos to, const CSeq_id *seqid)
string SeqLocPrintUseBestID(const CSeq_loc &seq_loc, CScope &scope, bool range_only=false)
void SplitLocationForGap(CSeq_loc &loc1, CSeq_loc &loc2, size_t start, size_t stop, const CSeq_id *seqid, unsigned int options=eSplitLocOption_make_partial|eSplitLocOption_split_in_exon)
void SeqLocAdjustForTrim(CSeq_loc &loc, TSeqPos from, TSeqPos to, const CSeq_id *seqid, bool &bCompleteCut, TSeqPos &trim5, bool &bAdjusted)
void ReverseComplementLocation(CSeq_loc &loc, CScope &scope)
CRef< CSeq_loc > SeqLocExtend(const CSeq_loc &loc, size_t pos, CScope *scope)