122 bool has_null =
false;
123 int num_intervals = 0;
130 for (
CSeq_loc_CI sl_ci(seq_loc); sl_ci; ++ sl_ci) {
134 else if (!sl_ci.IsEmpty()) num_intervals ++;
139 if (num_intervals == 1) {
144 if (num_intervals > 1 && !has_null) {
149 if (num_intervals > 1 && has_null) {
205 if (feat_bioseq.
Empty()) {
208 else if (feat_bioseq->
IsAa()) {
209 if (feat_to.
Empty()) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
TSeqPos GetLength(void) const
bool x_DoesBioseqMatchSequenceType(CConstRef< CBioseq > bioseq, const ESeqtype_constraint &seq_type) const
bool x_DoesLocationMatchTypeConstraint(const CSeq_loc &seq_loc) const
~CLocation_constraint(void)
bool Match(const CSeq_feat &feat, CConstRef< CSeq_feat > feat_to, CConstRef< CBioseq > feat_bioseq) const
bool x_DoesLocationMatchPartialnessConstraint(const CSeq_loc &loc) const
bool x_DoesLocationMatchDistanceConstraint(CConstRef< CBioseq > bioseq_hl, const CSeq_loc &loc) const
bool x_DoesStrandMatchConstraint(const CSeq_loc &loc) const
namespace ncbi::objects::
Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.
unsigned int TSeqPos
Type for sequence locations and lengths.
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
ENa_strand GetStrand(void) const
Get the location's strand.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
bool IsSetStrand(EIsSetStrand flag=eIsSetStrand_Any) const
Check if strand is set for any/all part(s) of the seq-loc depending on the flag.
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
bool Empty(void) const THROWS_NONE
Check if CConstRef is empty – not pointing to any object which means having a null value.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
bool IsSetLocation_type(void) const
Check if a value has been assigned to Location_type data member.
TStrand GetStrand(void) const
Get the Strand member data.
bool IsSetEnd3(void) const
Check if a value has been assigned to End3 data member.
bool IsSetPartial3(void) const
Check if a value has been assigned to Partial3 data member.
TPartial3 GetPartial3(void) const
Get the Partial3 member data.
ESeqtype_constraint
Access to ESeqtype_constraint's attributes (values, names) as defined in spec.
const TEnd5 & GetEnd5(void) const
Get the End5 member data.
TLocation_type GetLocation_type(void) const
Get the Location_type member data.
bool IsSetSeq_type(void) const
Check if a value has been assigned to Seq_type data member.
TSeq_type GetSeq_type(void) const
Get the Seq_type member data.
bool CanGetEnd5(void) const
Check if it is safe to call GetEnd5 method.
bool IsSetEnd5(void) const
Check if a value has been assigned to End5 data member.
TPartial5 GetPartial5(void) const
Get the Partial5 member data.
bool CanGetEnd3(void) const
Check if it is safe to call GetEnd3 method.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
const TEnd3 & GetEnd3(void) const
Get the End3 member data.
bool IsSetPartial5(void) const
Check if a value has been assigned to Partial5 data member.
@ eStrand_constraint_plus
@ eStrand_constraint_minus
@ eSeqtype_constraint_any
@ eSeqtype_constraint_prot
@ eSeqtype_constraint_nuc
@ ePartial_constraint_complete
@ ePartial_constraint_partial
@ ePartial_constraint_either
@ eLocation_type_constraint_ordered
@ eLocation_type_constraint_joined
@ eLocation_type_constraint_any
@ eLocation_type_constraint_single_interval
@ e_not_set
No variant selected.
const TLocation & GetLocation(void) const
Get the Location member data.
E_Choice Which(void) const
Which variant is currently selected.
@ e_not_set
No variant selected.