modified = (new_target !=
m_Target);
75 stringdescr =
"Remove ";
77descr +=
"publication ";
88 if(field.empty())
return function;
92 if(field ==
"author name list") {
93 function= CMacroFunction_RemovePubAuthors::GetFuncName() +
"();";
95 else if(field ==
"author middle initials") {
96 stringrt_var =
"obj";
99 function+= CMacroFunction_RemovePubAuthorMI::GetFuncName();
100 function+=
"("+ rt_var +
");";
101}
else if(field !=
"date") {
107 function+=
"("+ rt_var +
");";
112 stringrt_var =
"obj";
115 if(
function.
empty()) {
117 function+=
"(\""+ path +
"\");";
121 function+=
"("+ rt_var +
");";
126 boolfound_constraint =
false;
129 function+=
"("+ rt_var +
");";
133 function+=
"(\""+ path +
"\");";
144funcs.reserve(funcs.size() + pub_fncs.size() + 2);
145funcs.push_back(CMacroFunction_RemovePubAuthors::GetFuncName());
146funcs.push_back(CMacroFunction_RemovePubAuthorMI::GetFuncName());
147funcs.insert(funcs.end(), pub_fncs.begin(), pub_fncs.end());
150funcs.push_back(CMacroFunction_Resolve::GetFuncName());
165 boolmodified = (new_target !=
m_Target);
175 if(field.empty())
return function;
180 stringrt_var =
"obj";
183 if(
function.
empty()) {
185 function+=
"(\""+ path +
"\");";
189 function+=
"("+ rt_var +
");";
193 function= CMacroFunction_RemoveDescriptor::GetFuncName() +
"();";
218 x_LoadPanel(parent, CMacroFunction_RemoveModifier::GetFuncName(), args);
226 stringdescr =
"Remove ";
230descr +=
"location";
252 if(field_name ==
"dbxref") {
253 stringrt_var =
"obj";
255 if(
function.
empty()) {
257 function+=
"(\"org.db\");";
261 function+=
"("+ rt_var +
");";
265 stringrt_var =
"obj";
266 boolfound_constraint =
false;
269 autopos = field_name.find_last_of(
'-');
270 function+= CMacroFunction_RemoveSubfield::GetFuncName();
271 function+=
"("+ rt_var +
", \""+ field_name.substr(pos + 1) +
"\");";
274 if(path.find(
',') !=
NPOS) {
275vector<string> tokens;
280 stringrt_var =
"obj_bsrc";
283 function+= CMacroFunction_RemoveModifier::GetFuncName();
284 function+=
"("+ rt_var +
");";
288 function+=
"(\""+ path +
"\");";
298CMacroFunction_RemoveSubfield::GetFuncName(), CMacroFunction_RemoveModifier::GetFuncName() };
328 stringrt_var =
"obj";
331 function+=
"("+ rt_var +
");";
374 stringrt_var =
"obj";
377 if(
function.
empty()) {
379 function+=
"(\""+ path +
"\");";
383 function+=
"("+ rt_var +
");";
388 function+=
"(\""+ path +
"\");";
397 return{ CMacroFunction_Resolve::GetFuncName(),
399CMacroFunction_UpdatemRNAProduct::GetFuncName()
426 boolmodified = (new_target !=
m_Target);
447 stringrt_var =
"obj";
452 if(
function.
empty()) {
454 function+=
"(\""+ path +
"\");";
458 function+=
"("+ rt_var +
");";
461 else if(path.find(
',') !=
NPOS) {
462vector<string> tokens;
473 function+= CMacroFunction_RemoveSubfield::GetFuncName();
481 else if(path ==
"dbxref") {
483 if(!
function.
empty()) {
500 return{ CMacroFunction_Resolve::GetFuncName(),
502CMacroFunction_UpdatemRNAProduct::GetFuncName(),
503CMacroFunction_RemoveSubfield::GetFuncName()
534 boolmodified = (new_target !=
m_Target);
542 stringdescr =
"Remove";
566 function= CMacroFunction_RmvRelFeatQual::GetFuncName();
567 function+=
"(\"gene\", "+ gene_field +
");";
574 if(path.find(
',') !=
NPOS) {
575vector<string> tokens;
579 stringrt_var =
"obj";
583 function+=
"("+ rt_var +
");";
585 else if(path.find(
"::") !=
NPOS) {
586 function= CMacroFunction_RemoveRnaProduct::GetFuncName() +
"();";
590 function+=
"(\""+ path +
"\");";
600CMacroFunction_RemoveRnaProduct::GetFuncName(),
601CMacroFunction_RmvRelFeatQual::GetFuncName(),
602CMacroFunction_Resolve::GetFuncName() };
644 boolmodified = (
m_Target!= new_target);
661 stringnew_constraint = CMacroFunction_ChoiceType::GetFuncName();
662new_constraint +=
"() = \""+ path +
"\"";
663constraints.insert(constraints.begin(), make_pair(
"", new_constraint));
666 returnCMacroFunction_RemoveDescriptor::GetFuncName() +
"();";
671 return{ CMacroFunction_RemoveDescriptor::GetFuncName() };
683 x_LoadPanel(parent, CMacroFunction_RemoveFeature::GetFuncName(), args);
693 boolmodified = (
m_Target!= new_target);
702descr +=
" and the overlapping genes";
727 stringfunc = CMacroFunction_RemoveFeature::GetFuncName() +
"(";
757 stringdescr =
"Remove duplicate ";
761descr +=
" features";
764descr +=
" (check partials)";
767 if(descr.find(
"partials") !=
NPOS) {
770descr +=
" (case sensitive)";
773descr +=
" and remove protein products";
792 string function= CMacroFunction_RemoveDuplFeatures::GetFuncName();
800 return{ CMacroFunction_RemoveDuplFeatures::GetFuncName() };
823 boolmodified = (
m_Target!= new_target);
833descr =
"Remove all ";
836descr =
"Remove illegal ";
841descr +=
" and copy their values to note";
858 stringpath =
"dbxref", rt_var =
"obj";
859 string function= rt_var +
" = "+ CMacroFunction_Resolve::GetFuncName() +
"(\""+ path +
"\")";
860 function+=
" WHERE "+ CMacroFunction_IllegalDbXref::GetFuncName() +
"("+ rt_var +
")";
863TConstraints::iterator it = constraints.
begin();
864 while(it != constraints.end()) {
865 if(it->second.find(path) !=
NPOS) {
867 function+=
" AND "+ it->second;
868it = constraints.erase(it);
877 function+=
"("+ rt_var +
", \"comment\", \"eAppend\", \";\");\n";
887CMacroFunction_Resolve::GetFuncName(),
910 m_Panel->SetControlValues(
m_Args[0]->GetName(), fieldnames);
915 return "Remove organism name from "+
m_Args[0]->GetValue();
922 if(path.find(
',') !=
NPOS) {
923vector<string> tokens;
926 stringrt_var =
"obj";
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
const vector< string > & GetBsrcKeywords() const
vector< string > GetFieldNames(EMacroFieldType type) const
@ ePubFieldType_AuthorMiddleInitial
virtual vector< string > GetMainFunctions() const
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
CRemoveDbXrefTreeItemData()
virtual bool UpdateTarget()
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
CRemoveDescrTreeItemData()
virtual bool UpdateTarget()
virtual string GetMacroDescription() const
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
virtual string GetVariables()
CRemoveDuplFeatsTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
CRemoveFeatureTreeItemData()
virtual bool UpdateTarget()
virtual vector< string > GetFunctionNames() const
virtual string GetVariables()
virtual bool HasVariables() const
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetMacroDescription() const
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
virtual void x_AddParamPanel(wxWindow *parent)
CRmvBsrcQualTreeItemData()
virtual const vector< string > & GetKeywords() const
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual bool UpdateTarget()
CRmvFeatQualTreeItemData()
virtual string GetMacroDescription() const
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
virtual bool UpdateTarget()
virtual string GetFunction(TConstraints &constraints) const
CRmvMiscQualTreeItemData()
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
virtual string GetMacroDescription() const
CRmvOrgNameTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
virtual string GetFunction(TConstraints &constraints) const
CRmvProteinQualTreeItemData()
virtual vector< string > GetFunctionNames() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
CRmvQualTreeItemData(const string &description, EMacroFieldType type)
virtual bool UpdateTarget()
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
CRmvRNAQualTreeItemData()
virtual string GetMacroDescription() const
virtual bool UpdateTarget()
CRmvStrCommQualTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() 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 char * sm_Seqdesc
static const char * sm_BioSource
static CTempString GetFuncName()
bool IsStructVoucherPart(const string &field)
static const char * sm_DBLink
static CTempString GetFuncName()
static const char * sm_Pubdesc
static CTempString GetFuncName()
static const char * sm_UserObject
static const char * sm_StrComm
bool IsSatelliteSubfield(const string &field)
bool IsMobileElementTSubfield(const string &field)
static const char * sm_MolInfo
static CTempString GetFuncName()
#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 & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
const_iterator begin() const
Return an iterator to the string's starting position.
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)
string GetResolveFuncForDbXref(const string &path, const string &rt_var, TConstraints &constraints)
void OnIllegalDbXrefSelected(CArgumentList &list, CArgument &arg)
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)
CTempString UpdateTargetForMisc(const string &fieldname)
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)
string GetResolveFuncForApplyAuthors(CPubFieldType::EPubFieldType type, const string &rt_var, TConstraints &constraints)
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)
EMacroFieldType GetSourceTypeInSinglePanel(const CArgumentList &arg_list)
void OnRnaTypeChanged(CArgumentList &list, CArgument &arg)
void UpdateConstraintsForRnas(TConstraints &constraints, const CArgumentList &arg_list)
void UpdateConstraintsForMisc(TConstraints &constraints, const string &fieldname, const string &target)
void OnSelectFeature(CArgumentList &list, CArgument &arg)
string GetResolveFuncForPubQual(const string &field, string &rt_var, TConstraints &constraints)
void AppendUpdatemRNAFnc(bool update_mrna, string &function)
const TArgumentsVector & GetSetArgs()
const TArgumentsVector & GetRmvDbxrefArgs()
const string kRmvOverlapGene
const TArgumentsVector & GetOptionalArgs()
const TArgumentsVector & GetRmvDuplFeaturesArgs()
const string kCheckPartials
const TArgumentsVector & GetBsrcArgs()
const string kRemoveProteins
const string kStrCommField
constexpr bool empty(list< Ts... >) noexcept
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