51 for (; b_iter; ++b_iter)
59 if (!taxname.empty() && !id_str.empty())
60 taxname_to_ids[taxname].
insert(id_str);
64 for (; b_iter2; ++b_iter2)
72 if (!taxname.empty() && taxname_to_ids.
find(taxname) != taxname_to_ids.
end() && taxname_to_ids[taxname].
size() > 1)
84 vector<string> id_vec;
85 pair<string,string>
range;
86 pair<long,long> range_num;
92 id_vec.push_back(*
id);
100 if (!
range.first.empty())
102 if (num_id == range_num.second+1)
105 range_num.second = num_id;
109 if ( !
range.second.empty())
111 if (range_num.second > range_num.first+1)
112 id_vec.push_back(
range.first+
"-"+
range.second);
115 id_vec.push_back(
range.first);
116 id_vec.push_back(
range.second);
122 id_vec.push_back(
range.first);
126 range.second.clear();
127 range_num.first = num_id;
128 range_num.second = num_id;
131 if (!
range.first.empty())
133 if ( !
range.second.empty())
135 if (range_num.second > range_num.first+1)
136 id_vec.push_back(
range.first+
"-"+
range.second);
139 id_vec.push_back(
range.first);
140 id_vec.push_back(
range.second);
146 id_vec.push_back(
range.first);
158 string new_comment =
"GenBank Accession Numbers "+id_list+
" represent sequences from the "+id_size+
" segments of "+taxname;
184 if ((*it)->IsSource()) {
191 if ((*it)->IsSource()) {
const string & GetTaxname(void) const
bool IsSetTaxname(void) const
void AddCommand(IEditCommand &command)
Undo/Redo interface for editing operations.
virtual void Execute(IEditCommand *command, wxWindow *window=0)=0
const_iterator end() const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator begin() const
const_iterator end() const
parent_type::const_iterator const_iterator
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
@ fLabel_GeneralDbIsContent
For type general, use the database name as the tag and the (text or numeric) key as the content.
@ eContent
Untagged human-readable accession or the like.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
@ eGetId_Best
return the "best" gi (uses FindBestScore(), with CSeq_id::CalculateScore() as the score function
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
const CSeqFeatData & GetData(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
bool HasParentEntry(void) const
Check if current seq-entry has a parent.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static unsigned long StringToULong(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to unsigned long.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
@ fConvErr_NoThrow
Do not throw an exception on error.
@ fAllowLeadingSymbols
Ignore leading non-numeric characters.
static const char label[]
const TBiosrc & GetBiosrc(void) const
Get the variant data.
const TSet & GetSet(void) const
Get the variant data.
bool IsSet(void) const
Check if variant Set is selected.
TComment & SetComment(void)
Select the variant.
@ eMol_na
just a nucleic acid
range(_Ty, _Ty) -> range< _Ty >
#define FOR_EACH_SEQENTRY_ON_SEQSET(Itr, Var)
FOR_EACH_SEQENTRY_ON_SEQSET EDIT_EACH_SEQENTRY_ON_SEQSET.
#define FOR_EACH_SEQDESC_ON_SEQSET(Itr, Var)
FOR_EACH_SEQDESC_ON_SEQSET EDIT_EACH_SEQDESC_ON_SEQSET.
#define FOR_EACH_SEQDESC_ON_SEQENTRY(Itr, Var)
FOR_EACH_SEQDESC_ON_SEQENTRY EDIT_EACH_SEQDESC_ON_SEQENTRY.