: m_Converter (
NULL)
108wxWindowID
id,
constwxString& caption,
constwxPoint& pos,
constwxSize&
size,
longstyle, wxString
label)
109: m_TopSeqEntry(seh),
110m_Converter (converter),
111m_Workbench (workbench),
112m_StaticLabel(
label)
115 Create(parent,
id, caption, pos,
size, style);
123 bool CTblEditDlg::Create( wxWindow* parent, wxWindowID
id,
constwxString& caption,
constwxPoint& pos,
constwxSize&
size,
longstyle )
126SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
132GetSizer()->SetSizeHints(
this);
180wxBoxSizer* itemBoxSizer2 =
newwxBoxSizer(wxVERTICAL);
181itemCBulkCmdDlg1->SetSizer(itemBoxSizer2);
184itemBoxSizer2->Add(
m_GridHolder, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
195wxButton* itemButton7 =
newwxButton( itemCBulkCmdDlg1,
ID_CLEAR_TABLE,
_(
"Clear Table"), wxDefaultPosition, wxDefaultSize, 0 );
198wxBoxSizer* itemBoxSizer8 =
newwxBoxSizer(wxHORIZONTAL);
199itemBoxSizer2->Add(itemBoxSizer8, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
201wxButton* itemButton9 =
newwxButton( itemCBulkCmdDlg1, wxID_OK,
_(
"Accept"), wxDefaultPosition, wxDefaultSize, 0 );
202itemBoxSizer8->Add(itemButton9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
204wxButton* itemButton10 =
newwxButton( itemCBulkCmdDlg1, wxID_CANCEL,
_(
"Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
205itemBoxSizer8->Add(itemButton10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
210wxStaticText* staticPrompt =
newwxStaticText(itemCBulkCmdDlg1, wxID_STATIC,
m_StaticLabel, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
211 m_GridHolder->Add(staticPrompt,0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
225wxButton* problem_btn =
newwxButton( itemCBulkCmdDlg1,
ID_UPDATE_PROBLEMS,
_(
"Recheck Problems"), wxDefaultPosition, wxDefaultSize, 0 );
231 boolall_read_only =
true;
237all_read_only =
false;
243itemButton7->Show(
false);
333 for(
intj = 0; j < col->
GetData().GetString().
size(); j++) {
350 msg= column_name +
" differs for different sequences.";
382objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
383 for( ; b_iter ; ++b_iter ) {
384objects::CSeqdesc_CI desc_ci( *b_iter, objects::CSeqdesc::e_User);
386 if(desc_ci->GetUser().IsSetType()
387&& desc_ci->GetUser().GetType().IsStr()
390 cmd->AddCommand(*cmdDelDesc);
412 return "Unknown error";
436objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
437 for( ; b_iter ; ++b_iter ) {
438objects::CSeqdesc_CI desc_ci( *b_iter, objects::CSeqdesc::e_Comment);
441 cmd->AddCommand(*cmdDelDesc);
457 return "Unknown error";
469 return m_Label+
" differs for different sequences. This is unexpected.";
506 return "Unknown error";
517}
else if(any_missing) {
518 return "Chimera program information is not provided for all sequences";
520 return "Chimera program information is provided but is not consistent for all sequences";
557 while(
table->GetColumns().size() <=
n) {
559 table->SetColumns().push_back(col);
561 return table->SetColumns()[
n];
575 for(
size_t i= 0;
i< mol_strings.size();
i++) {
576col->
SetData().SetString().push_back(mol_strings[
i]);
581col->
SetData().SetString().push_back(
"linear");
583col->
SetData().SetString().push_back(
"circular");
608 return "Unknown error";
615vector<string> qual_names;
616qual_names.push_back(
"genome");
650 for(
size_t i= 0;
i<
strings.size();
i++) {
659 return "Unknown error";
671 return "Sequences contain a mixture of organelles. This is unusual.";
686 boolany_change =
false;
688 if(pos != string::npos) {
691before = note.substr(0, pos);
693 stringafter = note.substr(pos +
value.length());
694note = before + after;
703vector<string> qual_names;
705qual_names.push_back(
"fwd-primer-name");
706qual_names.push_back(
"fwd-primer-seq");
707qual_names.push_back(
"rev-primer-name");
708qual_names.push_back(
"rev-primer-seq");
714 for(
intj = 0; j < note_col->
GetData().GetString().
size(); j++) {
720note_col->
SetData().SetString()[j] =
"";
730vector<string> qual_names;
738 for(
intj = 0; j < new_note_col->
GetData().GetString().
size(); j++) {
739 stringorig_val =
"";
740 stringadd_val =
"";
741 if(j < orig_note_col->GetData().GetString().
size()) {
753new_note_col->
SetData().SetString()[j] = new_val + add_val;
766 return "fwd-primer-name";
768 return "rev-primer-name";
770 return "fwd-primer-seq";
772 return "rev-primer-seq";
781 return "Unknown error";
814 boolis_primertype =
false;
816is_primertype =
true;
819is_primertype =
true;
826 stringmixed_msg =
"";
829 intnum_universal = 0;
832 intnum_rows = values_table->GetNum_rows();
834 for(
size_t i= 0;
i< col->GetData().GetSize();
i++) {
835 boolhas_universal =
false;
838has_universal =
true;
848mixed_msg =
"Some sequences specify both universal and species-specific primers. This is unwanted.";
849}
else if(num_universal > 0 && num_species > 0) {
850 if(num_universal + num_species < num_rows) {
851mixed_msg =
"Primer type information is missing for some sequences.";
853mixed_msg =
"Sequences are a mixture of universal and species-specific primers.";
855}
else if(num_universal > 0 && num_universal < num_rows) {
856mixed_msg =
"Universal primers are specifed for some but not all sequences. This is unexpected.";
857}
else if(num_species > 0 && num_species < num_rows) {
858mixed_msg =
"Species-specific primers are specifed for some but not all sequences. This is unexpected.";
864mixed_msg = column_name +
" differs for different sequences.";
877 ITERATE(objects::CUser_object::TData, field_it, user.GetData()) {
878 if((*field_it)->IsSetLabel()
879&& (*field_it)->GetLabel().IsStr()
880&&
NStr::Equal((*field_it)->GetLabel().GetStr(),
"StructuredCommentPrefix")
881&& (*field_it)->IsSetData()
882&& (*field_it)->GetData().IsStr()) {
883prefix = (*field_it)->GetData().GetStr();
895id_col->SetHeader().SetField_id(objects::CSeqTable_column_info::eField_id_location_id);
897 table->SetColumns().push_back(id_col);
900objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
901 for( ; b_iter ; ++b_iter ) {
903 id->Assign (*(b_iter->GetSeqId()));
904id_col->SetData().SetId().push_back(
id);
906objects::CSeqdesc_CI it (*b_iter, objects::CSeqdesc::e_User);
908 if(it->GetUser().IsSetType()
909&& it->GetUser().GetType().IsStr()
912 ITERATE(objects::CUser_object::TData, field_it, it->GetUser().GetData()) {
913 if((*field_it)->IsSetLabel()
914&& (*field_it)->GetLabel().IsStr()
915&& !
NStr::EqualNocase((*field_it)->GetLabel().GetStr(),
"StructuredCommentPrefix")
916&& !
NStr::EqualNocase((*field_it)->GetLabel().GetStr(),
"StructuredCommentSuffix")
917&& (*field_it)->IsSetData()) {
918 stringexisting_val =
"";
919 if((*field_it)->GetData().IsStr()) {
920existing_val = (*field_it)->GetData().GetStr();
921}
else if((*field_it)->GetData().IsStrs()) {
922 for(vector<CStringUTF8>::const_iterator str_it = (*field_it)->GetData().GetStrs().begin();
923str_it != (*field_it)->GetData().GetStrs().end();
925existing_val +=
", "+ *str_it;
928existing_val = existing_val.substr(2);
964 constobjects::CSeq_table::TColumns &
columns= values_table->GetColumns();
965 size_tnum_cols =
columns.size();
967 for(
size_t row= 0;
row< values_table->GetNum_rows() && row < id_col->GetData().GetSize();
row++) {
968objects::CBioseq_Handle bsh = seh.GetBioseqHandle(*(id_col->GetData().GetId()[
row]));
971objects::CSeqdesc_CI desc_ci( bsh, objects::CSeqdesc::e_User);
973 while(desc_ci && !found) {
974 if(desc_ci->GetUser().IsSetType()
975&& desc_ci->GetUser().GetType().IsStr()
976&&
NStr::EqualNocase(desc_ci->GetUser().GetType().GetStr(),
"StructuredComment")
979new_desc->SetUser().Assign(desc_ci->GetUser());
985 boolany_change =
false;
988new_desc->SetUser().SetType().SetStr(
"StructuredComment");
989objects::CUser_field& field = new_desc->SetUser().SetField(
"StructuredCommentPrefix");
990field.SetLabel().SetStr(
"StructuredCommentPrefix");
994 for(
size_t i= 1;
i< num_cols;
i++) {
995 stringcol_name = values_table->GetColumns()[
i]->GetHeader().GetTitle();
997objects::CUser_field& field = new_desc->SetUser().SetField(col_name);
998 if(!field.IsSetLabel() || !field.GetLabel().IsStr() ||
NStr::IsBlank(field.GetLabel().GetStr())) {
999field.SetLabel().SetStr(col_name);
1001 stringnew_val = values_table->GetColumns()[
i]->GetData().GetString()[
row];
1002field.SetData().SetStr(new_val);
1008objects::CUser_field& field = new_desc->SetUser().SetField(
"StructuredCommentSuffix");
1011field.SetLabel().SetStr(
"StructuredCommentSuffix");
1012field.SetData().SetStr(suffix);
1018 cmd->AddCommand (*ecmd);
1020new_desc->SetUser().SetType().SetStr(
"StructuredComment");
1034objects::CBioseq_CI b_iter(seh, objects::CSeq_inst::eMol_na);
1035 for( ; b_iter ; ++b_iter ) {
1036objects::CSeqdesc_CI desc_ci( *b_iter, objects::CSeqdesc::e_User);
1038 if(desc_ci->GetUser().IsSetType()
1039&& desc_ci->GetUser().GetType().IsStr()
1040&&
NStr::EqualNocase(desc_ci->GetUser().GetType().GetStr(),
"StructuredComment")
1043 cmd->AddCommand(*cmdDelDesc);
1061 return "Unknown error";
1066(
constobjects::CSeq_feat& ftemplate,
1072 m_Reqs.assign(reqs.begin(), reqs.end());
1073 m_Opts.assign(opts.begin(), opts.end());
1080vector<string>& problems)
1082vector<string> add_values;
1083 for(
size_tj = 0; j < val_col->GetData().GetSize(); j++) {
1084add_values.push_back(val_col->GetData().GetString()[j]);
1086vector<string> add_problems = rule_col->
IsValid(add_values);
1093vector<string> problems;
1097 if(values_table->GetColumns()[
i]->IsSetData()
1098&& (values_table->GetColumns()[
i]->GetData().IsString())) {
1106problems_col->SetHeader().SetTitle(
kProblems);
1107problems_col->SetData().SetString();
1108 ITERATE(vector<string>, it, problems) {
1109problems_col->SetData().SetString().push_back(*it);
1111 returnproblems_col;
1118 intnum_rows_to_check = 0;
1119 if(
table->IsSetColumns() &&
table->GetColumns().size() > 0 &&
table->GetColumns().front()->IsSetData()) {
1120num_rows_to_check =
static_cast<int>(
table->GetColumns().front()->GetData().GetId().size());
1124objects::CBioseq_CI bi(seh, objects::CSeq_inst::eMol_na);
1126 boolneeded =
true;
1128 for(
int i= 0;
i< num_rows_to_check;
i++) {
1129 ITERATE(objects::CBioseq::TId, id_it, bi->GetCompleteBioseq()->GetId()) {
1130 if(
table->GetColumns()[0]->GetSeq_id(
i)->Compare(**id_it) == objects::CSeq_id::e_YES) {
1143 id->Assign(*(bi->GetSeqId()));
1144 f->SetLocation().SetInt().SetId().Assign(*
id);
1145 f->SetLocation().SetInt().SetFrom(0);
1146 f->SetLocation().SetInt().SetTo(bi->GetBioseqLength() - 1);
1155col.
Reset(
newobjects::CSeqTable_column());
1156col->SetHeader().SetTitle((*it)->GetLabel());
1157 for(
size_t i= 0;
i<
table->GetNum_rows();
i++) {
1158col->SetData().SetString().push_back(
"");
1160 table->SetColumns().push_back(col);
1175 booldo_something =
false;
1178 cmd->AddCommand(*delcmd);
1179do_something =
true;
1183 cmd->AddCommand(*addcmd);
1184do_something =
true;
1187 if(!do_something) {
1197 return "Unknown error";
1222 if(partial_start > 0) {
1224 for(
size_t i= 0;
i< tf_strings.size();
i++) {
1225col->
SetData().SetString().push_back(tf_strings[
i]);
1228 if(partial_stop > 0) {
1230 for(
size_t i= 0;
i< tf_strings.size();
i++) {
1231col->
SetData().SetString().push_back(tf_strings[
i]);
1241vector<string> fields;
1243fields.push_back(
"Assembly Method");
1244fields.push_back(
"Assembly Name");
1245fields.push_back(
"Sequencing Technology");
1246fields.push_back(
"Coverage");
1260vector<string> already_seen;
1263 if((*cit)->IsSetData() && !(*cit)->GetData().IsId()) {
1264 stringorig_name =
"";
1265 if((*cit)->IsSetHeader()
1266&& (*cit)->GetHeader().IsSetTitle()) {
1267orig_name = (*cit)->GetHeader().GetTitle();
1276(*cit)->SetHeader().SetTitle(new_name);
1278 ITERATE(vector<string>, sit, already_seen) {
1282+
" refer to the same field ("+ new_name +
"); ";
1286already_seen.push_back(new_name);
1307vector<string> format_ids;
1308format_ids.push_back(
"file_loader_table");
1309fileManager->LoadFormats(format_ids);
1312vector<CIRef<IOpenObjectsPanelClient> > loadManagers;
1316dlg.SetSize(710, 480);
1321 if(dlg.ShowModal() == wxID_OK) {
1323 if(!object_loader) {
1324wxMessageBox(
wxT(
"Failed to get object loader"),
wxT(
"Error"),
1325wxOK | wxICON_ERROR);
1341 const CObject& ptr = obj_it->GetObject();
1342 constobjects::CSeq_annot* annot =
dynamic_cast<constobjects::CSeq_annot*
>(&ptr);
1343 if(annot && annot->IsSeq_table()) {
1345input_table->Assign(annot->GetData().GetSeq_table());
1353wxOK | wxICON_ERROR,
this);
1359 if(!values_table) {
1366wxOK | wxICON_ERROR,
this);
1371wxMessageBox(
wxT(
"New table conflicts with existing values"),
wxT(
"Error"),
1372wxOK | wxICON_ERROR,
this);
1398values_table->Assign(*grid_table);
1412 if((*cit)->IsSetData() && !(*cit)->GetData().IsId()) {
1413 boolread_only =
false;
1414 if((*cit)->IsSetHeader()
1415&& (*cit)->GetHeader().IsSetTitle()
1421(*cit)->SetData().SetString().clear();
1441 table->SetColumns().push_back(problems);
bool GUI_AsyncExecUnit(IExecuteUnit &exec_unit, const wxString &msg)
bool Create(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE, const wxString &name=wxFrameNameStr)
virtual CRef< CCmdComposite > GetCommandFromValuesTable(CRef< objects::CSeq_table >, objects::CSeq_entry_Handle seh)
virtual CRef< CCmdComposite > ClearAllValues(objects::CSeq_entry_Handle seh)
vector< string > m_DBLinkFields
virtual string RemapColumnName(string column_name)
virtual CRef< objects::CSeq_table > GetValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)
virtual string GetErrorMessage(CRef< objects::CSeq_table > table)
virtual void SetRegistryPath(const string &path)
virtual vector< string > IsValid(const vector< string > &values)
CFeatureTableCommandConverter(const objects::CSeq_feat &ftemplate, const TFeatureSeqTableColumnList &reqs, const TFeatureSeqTableColumnList &opts)
virtual CRef< objects::CSeq_table > GetValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)
virtual CRef< objects::CSeq_table > GetChoices(CRef< objects::CSeq_table > values_table)
CRef< objects::CSeq_feat > m_Template
virtual CRef< CCmdComposite > ClearAllValues(objects::CSeq_entry_Handle seh)
virtual string RemapColumnName(string column_name)
TFeatureSeqTableColumnList m_Opts
virtual CRef< CCmdComposite > GetCommandFromValuesTable(CRef< objects::CSeq_table >, objects::CSeq_entry_Handle seh)
virtual CRef< objects::CSeqTable_column > MakeProblemsColumn(CRef< objects::CSeq_table > values_table)
TFeatureSeqTableColumnList m_Reqs
virtual string GetErrorMessage(CRef< objects::CSeq_table >)
virtual CRef< objects::CSeq_table > GetValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)
virtual CRef< CCmdComposite > ClearAllValues(objects::CSeq_entry_Handle seh)
virtual string RemapColumnName(string column_name)
CSourceRequirements::EWizardType m_WizardType
virtual CRef< objects::CSeq_table > GetChoices(CRef< objects::CSeq_table > values_table)
virtual string GetErrorMessage(CRef< objects::CSeq_table >)
virtual CRef< CCmdComposite > GetCommandFromValuesTable(CRef< objects::CSeq_table >, objects::CSeq_entry_Handle seh)
IObjectLoader * GetObjectLoader()
void SetManagers(vector< CIRef< IOpenObjectsPanelClient > > &managers)
virtual CRef< objects::CSeq_table > GetValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)
virtual string GetErrorMessage(CRef< objects::CSeq_table >)
virtual CRef< CCmdComposite > GetCommandFromValuesTable(CRef< objects::CSeq_table >, objects::CSeq_entry_Handle seh)
virtual CRef< CCmdComposite > ClearAllValues(objects::CSeq_entry_Handle seh)
virtual CRef< objects::CSeq_table > GetChoices(CRef< objects::CSeq_table > values_table)
virtual string RemapColumnName(string column_name)
string GetPrimerTypeColumnName()
virtual string CheckForMixedValues(CRef< objects::CSeq_table > values_table, string column_name="")
void MakeColumnReadOnly(int pos, bool val=true)
void UpdateColumnLabelHeight()
void SetValuesTable(CRef< objects::CSeq_table > table)
CRef< objects::CSeq_table > GetValuesTable()
@ eWizardType_microsatellite
virtual bool IsReadOnlyColumn(string column_name)
virtual CRef< objects::CSeq_table > GetValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)=0
virtual CRef< CCmdComposite > GetCommandFromValuesTable(CRef< objects::CSeq_table >, objects::CSeq_entry_Handle seh)=0
virtual string GetErrorMessage(CRef< objects::CSeq_table >)=0
virtual int GetCollapsible()
virtual CRef< objects::CSeq_table > GetChoices(CRef< objects::CSeq_table > values_table)
virtual string CheckForMixedValues(CRef< objects::CSeq_table > values_table, string column_name)
virtual string RemapColumnName(string column_name)=0
virtual CRef< CCmdComposite > GetCommand()
virtual string GetErrorMessage()
void CreateControls()
Creates the controls and sizers.
string x_FindBadImportColumns(CRef< objects::CSeq_table > table)
wxBoxSizer * m_TableControlsSizer
void OnExportTableClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_EXPORT_TABLE
CTblEditDlg()
Constructors.
void OnImportTableClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_IMPORT_TABLE
wxBoxSizer * m_GridHolder
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
~CTblEditDlg()
Destructor.
void OnUpdateProblems(wxCommandEvent &event)
static bool ShowToolTips()
Should we show tooltips?
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
void OnClearTableClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_CLEAR_TABLE
CSeqTableGridPanel * m_Grid
CTableCommandConverter * m_Converter
objects::CSeq_entry_Handle m_TopSeqEntry
void Init()
Initialises member variables.
bool Create(wxWindow *parent, wxWindowID id=10079, const wxString &caption=_("TblEditDlg"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
Creation.
virtual bool PreExecute()=0
virtual bool PostExecute()=0
vector< SObject > TObjects
IWorkbench is the central interface in the application framework.
vector< CRef< CFeatureSeqTableColumnBase > > TFeatureSeqTableColumnList
const string kPartialStart
const string kPartialStop
const char * kMoleculeType
const char * kSubSourceNote
const char * kSequenceIdColLabel
static const char *const strings[]
static const column_t columns[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
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 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.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for 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.
static const char label[]
const TColumns & GetColumns(void) const
Get the Columns member data.
bool IsSetTitle(void) const
user friendly column name, can be skipped Check if a value has been assigned to Title data member.
void SetHeader(THeader &value)
Assign a value to Header data member.
const TTitle & GetTitle(void) const
Get the Title member data.
bool IsString(void) const
Check if variant String is selected.
bool IsSetField_name(void) const
any column can be identified by ASN.1 text locator string with omitted object type.
vector< CRef< CSeqTable_column > > TColumns
const THeader & GetHeader(void) const
Get the Header member data.
const TField_name & GetField_name(void) const
Get the Field_name member data.
void SetData(TData &value)
Assign a value to Data data member.
bool IsSetHeader(void) const
column description or reference to previously defined info information about data Check if a value ha...
bool IsSetData(void) const
row data Check if a value has been assigned to Data data member.
TNum_rows GetNum_rows(void) const
Get the Num_rows member data.
const TString & GetString(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
CRef< CCmdComposite > ApplyCommentValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh, const string &label)
CRef< objects::CSeq_table > BuildCommentDescriptorValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh, const string &label)
vector< string > GetSrcGenomeOptions(CSourceRequirements::EWizardType wizard_type, CSourceRequirements::EWizardSrcType src_type)
vector< string > GetMoleculeTypeOptions(CSourceRequirements::EWizardType wizard_type)
CRef< objects::CSeq_table > BuildMolInfoValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh, CSourceRequirements::EWizardType wizard_type)
CRef< objects::CSeq_table > BuildChimeraValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh, const string &label, CSourceRequirements::EWizardSrcType src_type)
CRef< CCmdComposite > ApplyMolInfoValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh, bool add_confirmed=true)
CRef< CCmdComposite > ApplyDBLinkValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh)
CRef< CCmdComposite > ApplyChimeraValuesTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh, const string &label)
CRef< objects::CSeq_table > BuildDBLinkValuesTableFromSeqEntry(objects::CSeq_entry_Handle seh)
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
static const int kSkipColumns
CRef< CSeqTable_column > FindSeqTableColumnByName(CRef< objects::CSeq_table > values_table, string column_name)
void FillShortColumns(CRef< objects::CSeq_table > values_table)
void AddValueToTable(CRef< CSeq_table > table, string subtype_name, string value, size_t row, edit::EExistingText existing_text=edit::eExistingText_replace_old)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
CRef< CCmdComposite > ApplySrcTableToSeqEntry(CRef< objects::CSeq_table >values_table, objects::CSeq_entry_Handle seh)
bool IsFwdPrimerSeq(string name)
CRef< objects::CSeq_table > GetSeqTableForSrcQualFromSeqEntry(objects::CSeq_entry_Handle seh, vector< string > qual_names)
bool IsRevPrimerSeq(string name)
bool IsFwdPrimerName(string name)
bool IsRevPrimerName(string name)
#define row(bind, expected)
int CombineTables(CRef< objects::CSeq_table > dst, const objects::CSeq_table &src)
bool AreAnyColumnValuesMissing(CRef< objects::CSeqTable_column > col)
bool AreAllColumnValuesTheSame(CRef< objects::CSeqTable_column > col, string default_val="")
int AddFeatureToSeqTable(const objects::CSeq_feat &f, CRef< objects::CSeq_table > table)
bool SaveTableFile(wxWindow *parent, wxString &save_file_dir, wxString &save_file_name, CRef< objects::CSeq_table > values_table)
int CountTableColumnConflicts(CRef< objects::CSeq_table > dst, const objects::CSeq_table &src)
CRef< CCmdComposite > AddFeatureSeqTableToSeqEntry(CRef< objects::CSeq_table > table, objects::CSeq_entry_Handle entry, objects::CSeqFeatData::ESubtype subtype, const TFeatureSeqTableColumnList &reqs, const TFeatureSeqTableColumnList &opts)
CRef< CCmdComposite > RemoveMatchingFeaturesWithoutLocalIntFeatureIdsFromSeqEntry(objects::CSeq_entry_Handle entry, const objects::CSeq_feat &feat, const TFeatureSeqTableColumnList &reqs)
void AddProblemsColumnToFeatureSeqTable(CRef< objects::CSeq_table > table, const TFeatureSeqTableColumnList &reqs, const TFeatureSeqTableColumnList &opts)
CRef< CFeatureSeqTableColumnBase > GetColumnRuleForFeatureSeqTable(CRef< objects::CSeqTable_column > col, const TFeatureSeqTableColumnList &reqs, const TFeatureSeqTableColumnList &opts)
void RemoveProblemsColumn(CRef< objects::CSeq_table > values_table)
vector< string > GetTrueFalseList()
void FixTableAfterImport(CRef< objects::CSeq_table > input_table)
string FindBadRows(CRef< objects::CSeq_table > src, CRef< objects::CSeq_table > dst, objects::CSeq_entry_Handle seh)
CRef< objects::CSeq_table > GetFeaturesFromSeqEntry(objects::CSeq_entry_Handle entry, const objects::CSeq_feat &feat, const TFeatureSeqTableColumnList &reqs)
void MergeStringVectors(vector< string > &problems, vector< string > add)
static const string kPrimerType
static string s_GetPrefixForStructuredComment(const objects::CUser_object &user)
static const string kUniversalPrimersLabel
USING_SCOPE(ncbi::objects)
static void AddProblemsToColumn(CRef< objects::CSeqTable_column > val_col, CRef< CFeatureSeqTableColumnBase > rule_col, vector< string > &problems)
static const string kUniversalPrimers
static const string kSpeciesSpecificPrimersLabel
static int s_FindColumn(CRef< CSeq_table > table, const string &name)
static bool s_RemoveValueFromNote(string ¬e, string value)
static void x_SetAllTableStringValues(CRef< CSeq_table > table, const string &val)
static const string kSpeciesSpecificPrimers
vector< string > GetAssemblyDataFields()
CRef< CSeqTable_column > s_GetNthColumn(CRef< CSeq_table > table, int n)
#define ID_UPDATE_PROBLEMS
wxString ToWxString(const string &s)
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