(
auto& it : args[
kFind].GetValue().get()) {
61 stringdescr =
" replace '"+ find_text +
"'";
63descr +=
" (case insensitive) ";
66descr +=
" (case sensitive) ";
68descr +=
" with '"+ args[
kRepl].GetValue() +
"'";
91 boolmodified = (new_target !=
m_Target);
100 stringdescr =
"Edit ";
102descr +=
"publication ";
105 returndescr + GetFindReplDescr(
m_ArgList);
116variables +=
"%false%";
119variables +=
"%true%";
129 if(field.empty())
return function;
133 stringrt_var =
"obj";
134 boolfound_constraint =
false;
137 autopos = field.find_last_of(
'-');
138 function+= CMacroFunction_EditSubfield::GetFuncName();
143 stringrt_var =
"obj";
146 if(
function.
empty()) {
148 function+=
"(\""+ path +
"\", ";
152 function+=
"("+ rt_var +
", ";
155 else if(path.find(
',') !=
NPOS) {
156vector<string> tokens;
161 stringrt_var =
"obj";
172 function+=
"("+ rt_var +
", ";
176 boolfound_constraint =
false;
179 if(found_constraint) {
180 function+=
"("+ rt_var +
", ";
183 function+=
"(\""+ rt_var +
".data.strs\", ";
201vector<string> funcs{ CMacroFunction_Resolve::GetFuncName(),
202CMacroFunction_EditSubfield::GetFuncName(),
207funcs.reserve(funcs.size() + pub_fncs.size());
208funcs.insert(funcs.end(), pub_fncs.begin(), pub_fncs.end());
224 x_LoadPanel(parent,
"EditStringProteinQual", args);
237descr +=
", copy original protein name to CDS note";
252 function= CMacroFunction_CopyNameToCDSNote::GetFuncName();
253 function+=
"();\n";
257 stringrt_var =
"obj";
260 if(res_function.empty()) {
262 function+=
"(\""+ path +
"\", ";
265 function+= res_function;
267 function+=
"("+ rt_var +
", ";
270 if(move_to_note || update_mrna) {
272new_constraint +=
"(\""+ path +
"\", "+
kFind+
", "+
kCaseSens+
")";
273constraints.emplace_back(
"\""+ path +
"\"", new_constraint);
278 function+=
"(\""+ path +
"\", ";
289 return{ CMacroFunction_Resolve::GetFuncName(),
290CMacroFunction_CopyNameToCDSNote::GetFuncName(),
292CMacroFunction_UpdatemRNAProduct::GetFuncName() };
306 x_LoadPanel(parent,
"EditStringQualFeature", args);
319 boolmodified = (new_target !=
m_Target);
342 stringrt_var =
"obj";
347new_constraint +=
"(\""+ path +
"\", "+
kFind+
", "+
kCaseSens+
")";
348constraints.emplace_back(
"\""+ path +
"\"", new_constraint);
351 if(
function.
empty()) {
353 function+=
"(\""+ path +
"\", ";
357 function+=
"("+ rt_var +
", ";
360 else if(path.find(
',') !=
NPOS) {
361vector<string> tokens;
365 stringrt_var =
"obj";
370 function+=
"("+ rt_var +
", ";
376 function+= CMacroFunction_EditSubfield::GetFuncName();
382 function+= CMacroFunction_EditSubfield::GetFuncName();
395 function+=
"(\""+ path +
"\", ";
405 return{ CMacroFunction_Resolve::GetFuncName(),
406CMacroFunction_EditSubfield::GetFuncName(),
408CMacroFunction_GeneQual::GetFuncName(),
409CMacroFunction_UpdatemRNAProduct::GetFuncName() };
439 boolmodified = (new_target !=
m_Target);
447 stringdescr =
"Edit";
473 function+=
"(\"gene\", "+ gene_field +
", ";
477 if(path.find(
',') !=
NPOS) {
478vector<string> tokens;
482 stringrt_var =
"obj";
490 function+=
"(\""+ path +
"\", ";
501CMacroFunction_Resolve::GetFuncName(),
516 x_LoadPanel(parent,
"EditStringStrCommQual", args);
528 returndescr + GetFindReplDescr(
m_ArgList);
534 stringrt_var =
"obj";
540 function+=
"(\""+ rt_var +
".label.str\", ";
543 function+=
"(\""+ rt_var +
".data.str\", ";
558 stringGetDescrForSeqType(
const string& apply_seq)
569descr =
" where sequence type is "+ descr;
583vector<EMacroFieldType>
types 592vector<string> fieldnames;
594 for(
auto& it :
types) {
597fieldnames.insert(fieldnames.begin(),
"Any");
598 m_Panel->SetControlValues(
m_Args[index]->GetName(), fieldnames);
600fieldnames[0] =
"No change";
601 m_Panel->SetControlValues(
m_Args[++index]->GetName(), fieldnames);
618 boolmodified = (new_target !=
m_Target);
633 if(!descr.empty()) {
642descr[0] =
toupper((
unsigned char)descr[0]);
648 if(
m_ArgList[to].GetValue() ==
"No change")
653 stringto_value =
m_ArgList[to].GetValue();
654 if(to_value ==
" ") {
655to_value =
"unknown/not-set";
657 if(!change_to.empty()) {
658change_to +=
" and ";
660 if(change_to.find(
"change") ==
NPOS) {
661change_to +=
"change ";
663change_to +=
"to "+ field +
" "+ to_value;
668 if(
m_ArgList[to].GetValue() ==
"No change")
673 if(
m_ArgList[from].GetValue() !=
"Any") {
674 stringfrom_value =
m_ArgList[from].GetValue();
675 if(from_value ==
" ") {
676from_value =
"unknown/not-set";
678 if(change_from.find(
"where") !=
NPOS) {
679change_from +=
" and ";
682change_from +=
" where ";
684change_from += field +
" is "+ from_value;
692 stringnew_constraint;
695new_constraint +=
"(\"inst.mol\", \"dna\")";
699new_constraint +=
"(\"inst.mol\", \"rna\")";
701 if(!new_constraint.empty()) {
702constraints.insert(constraints.begin(), { kEmptyStr, new_constraint });
711 if(!
function.
empty())
function.pop_back();
717 if(
m_ArgList[to].GetValue() ==
"No change")
725 if(
m_ArgList[from].GetValue() !=
"Any") {
730 if(field ==
"class") {
731 for(
auto& it : constraints) {
739constraints.insert(constraints.begin(), { kEmptyStr, new_constraint });
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetFunction(TConstraints &constraints) const
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
CEditFeatQualTreeItemData()
virtual bool UpdateTarget()
void x_GetDescrChangeTo(const string &field, const CTempString &from, const CTempString &to, string &change_to) const
CEditMolinfoFieldsTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
void x_GetDescrChangeFrom(const string &field, const CTempString &from, const CTempString &to, string &change_from) const
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
string x_GetFunctionFor(const string &field, const CTempString &from, const CTempString &to, TConstraints &constraints) const
virtual bool UpdateTarget()
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
CEditProteinQualTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetMacroDescription() const
virtual bool UpdateTarget()
CEditQualTreeItemData(const string &description, EMacroFieldType type)
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual string GetVariables()
CEditRNAQualTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual bool UpdateTarget()
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
CEditStrCommQualTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
virtual string GetFunction(TConstraints &constraints) const
EMacroFieldType m_FieldType
for actions such as appply/edit/etc.
vector< string > x_GetPubFunctions() const
static bool s_IsGeneQualifier(const string &field)
vector< string > GetFeatureTypes(bool for_removal=false, bool to_create=false, bool include_all=false) const
vector< string > GetRNATypes() const
string GetAsnPathToFieldName(const string &field, EMacroFieldType type, const string &target=kEmptyStr)
vector< string > GetncRNAClassTypes(bool include_any=true) const
static CMacroEditorContext & GetInstance()
vector< string > GetFeatQualifiers() const
string GetAsnMolinfoValue(const string &molinfo_field, const string &choice)
vector< string > GetFieldNames(EMacroFieldType type) const
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
void x_LoadPanel(wxWindow *parent, const string &panel_name, const TArgumentsVector &arguments)
unique_ptr< CMacroPanelLoader > m_Panel
constructed panel for specifying function arguments
vector< pair< string, string > > TConstraints
bool Empty(const CNcbiOstrstream &src)
static const struct type types[]
static const char * sm_Contain
static const char * sm_SeqAa
bool StringsAreEquivalent(const string &name1, const string &name2)
static const char * sm_Equal
static const char * sm_SeqNa
bool IsStructVoucherPart(const string &field)
static CTempString GetFuncName()
static CTempString GetFuncName()
bool IsSatelliteSubfield(const string &field)
bool IsMobileElementTSubfield(const string &field)
const char * kMobileElementTQual
static const char * sm_FunctionName
EditRelatedFeatureQual(feat_type, field_name, find_text, repl_text, location, case_sensitive,...
static const char * sm_Seq
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static string & ToLower(string &str)
Convert string to lower case â string& version.
vector< macro::SArgMetaData > TArgumentsVector
CTempString UpdateTargetForFeatures(const string &feature, const string &qualifier, bool for_removal=false)
string GetResolveFuncForDBLink(const string &field, string &rt_var, TConstraints &constraints, bool &found_constraint)
void OnStructCommFieldChanged(CArgumentList &list, CArgument &arg)
bool MultipleValuesAllowed(const string &field)
void UpdateConstraintsForFeatures(TConstraints &constraints, const string &feature)
string GetStructCommQualDescr(const CArgumentList &arg_list)
string GetResolveFuncForSVPart(const string &field, const string &rt_var, TConstraints &constraints, bool &found_constraint)
string GetResolveFuncForMultiValuedQual(const string &field, const string &rt_var, TConstraints &constraints, bool remove_constraint)
string GetResolveFuncForQual(const string &container, const string &field, const string &rt_var, TConstraints &constraints, bool remove_constraint=true)
Generates the definition of rt_var based on input "field".
string GetUpdatemRNADescription(const CArgument &arg)
void OnProteinNameSingle(CArgumentList &list, CArgument &arg)
CTempString UpdateTargetForMolinfo(const string &molinfo_type)
string GetResolveFuncForGeneQuals(const string &container, const string &field, const string &rt_var, TConstraints &constraints, bool remove_constraint=true)
CTempString UpdateTargetForRnas(const string &rna_type)
void WrapInQuotes(string &str)
string GetEditableFieldForPair(const string &field, const string &rt_var, bool is_feature)
string GetResolveFuncForStrCommQual(const string &field, const string &field_name, const string &rt_var, TConstraints &constraints)
void OnRnaTypeChanged(CArgumentList &list, CArgument &arg)
void UpdateConstraintsForRnas(TConstraints &constraints, const CArgumentList &arg_list)
void UpdateConstraintsForMisc(TConstraints &constraints, const string &fieldname, const string &target)
string GetResolveFuncForPubQual(const string &field, string &rt_var, TConstraints &constraints)
void AppendUpdatemRNAFnc(bool update_mrna, string &function)
const TArgumentsVector & GetOptionalArgs()
const TArgumentsVector & GetEditArgs()
const TArgumentsVector & GetEditMolinfoArgs()
const string kStrCommField
constexpr bool empty(list< Ts... >) noexcept
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4