NCBI C++ ToolKit
loc_gcode_panel.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: loc_gcode_panel.cpp 36957 2016-11-16 21:57:46Z asztalos $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Vasuki Palanigobu
27  */
28 
29 // For compilers that support precompilation, includes "wx/wx.h".
30 #include "wx/wxprec.h"
31 
32 #ifdef __BORLANDC__
33 #pragma hdrstop
34 #endif
35 
36 #ifndef WX_PRECOMP
37 #include "wx/wx.h"
38 #endif
39 
40 ////@begin includes
41 ////@end includes
42 
43 #include <ncbi_pch.hpp>
49 
50 #include "loc_gcode_panel.hpp"
51 
54 
55 ////@begin XPM images
56 ////@end XPM images
57 
58 
59 /*
60  * CLocAndGCodePanel type definition
61  */
62 
63 IMPLEMENT_DYNAMIC_CLASS( CLocAndGCodePanel, wxPanel )
64 
65 
66 /*
67  * CLocAndGCodePanel event table definition
68  */
69 
70 BEGIN_EVENT_TABLE( CLocAndGCodePanel, wxPanel )
71 
72 ////@begin CLocAndGCodePanel event table entries
73 ////@end CLocAndGCodePanel event table entries
74 
76 
77 
78 /*
79  * CLocAndGCodePanel constructors
80  */
82 
84 {
85  Init();
86 }
87 
88 CLocAndGCodePanel::CLocAndGCodePanel( wxWindow* parent, objects::CBioSource& source, wxWindowID id, const wxPoint& pos, const wxSize& size, long style):
89  m_Source(source)
90 {
91  //m_Source = new CBioSource();
92  //m_Source->Assign(source);
93  Init();
94  Create(parent, id, pos, size, style);
95 }
96 
97 
98 /*
99  * GeneticCodesPanel creator
100  */
101 
102 bool CLocAndGCodePanel::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
103 {
104 ////@begin CLocAndGCodePanel creation
105  wxPanel::Create( parent, id, pos, size, style );
106 
107  CreateControls();
108  if (GetSizer())
109  {
110  GetSizer()->SetSizeHints(this);
111  }
112  Centre();
113 ////@end CLocAndGCodePanel creation
114  return true;
115 }
116 
117 
118 /*
119  * CLocAndGCodePanel destructor
120  */
121 
123 {
124 ////@begin CLocAndGCodePanel destruction
125 ////@end CLocAndGCodePanel destruction
126 }
127 
128 
129 /*
130  * Member initialisation
131  */
132 
134 {
135 ////@begin CLocAndGCodePanel member initialisation
136  m_LocCtrl = NULL;
137  m_OriginCtrl = NULL;
142 ////@end CLocAndGCodePanel member initialisation
145  {
146  m_CodeToName[(*it)->GetId()] = (*it)->GetName();
147  m_NameToCode[(*it)->GetName()] = (*it)->GetId();
148  }
149 }
150 
151 
152 /*
153  * Control creation for GeneticCodesPanel
154  */
155 
157 {
158 ////@begin CLocAndGCodePanel content construction
159  CLocAndGCodePanel* itemPanel1 = this;
160 
161  wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
162  itemPanel1->SetSizer(itemBoxSizer2);
163 
164  wxStaticBox* itemStaticBoxSizer3Static = new wxStaticBox(itemPanel1, wxID_ANY, _("Location and Origin"));
165  wxStaticBoxSizer* itemStaticBoxSizer3 = new wxStaticBoxSizer(itemStaticBoxSizer3Static, wxHORIZONTAL);
166  itemBoxSizer2->Add(itemStaticBoxSizer3, 0, wxALIGN_LEFT|wxALL, 5);
167 
168  wxFlexGridSizer* itemFlexGridSizer4 = new wxFlexGridSizer(0, 2, 0, 0);
169  itemStaticBoxSizer3->Add(itemFlexGridSizer4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
170 
171  wxStaticText* itemStaticText5 = new wxStaticText( itemPanel1, wxID_STATIC, _("Location of sequence"), wxDefaultPosition, wxDefaultSize, 0 );
172  itemFlexGridSizer4->Add(itemStaticText5, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
173 
174  wxArrayString m_LocCtrlStrings;
175  m_LocCtrlStrings.Add(_("mitochondrion"));
176  m_LocCtrlStrings.Add(_("chloroplast"));
177  m_LocCtrlStrings.Add(wxEmptyString);
178  m_LocCtrlStrings.Add(_("apicoplast"));
179  m_LocCtrlStrings.Add(_("chloroplast"));
180  m_LocCtrlStrings.Add(_("chromatophore"));
181  m_LocCtrlStrings.Add(_("chromoplast"));
182  m_LocCtrlStrings.Add(_("chromosome"));
183  m_LocCtrlStrings.Add(_("cyanelle"));
184  m_LocCtrlStrings.Add(_("endogenous-virus"));
185  m_LocCtrlStrings.Add(_("extrachromosomal"));
186  m_LocCtrlStrings.Add(_("genomic"));
187  m_LocCtrlStrings.Add(_("hydrogenosome"));
188  m_LocCtrlStrings.Add(_("kinetoplast"));
189  m_LocCtrlStrings.Add(_("leucoplast"));
190  m_LocCtrlStrings.Add(_("macronuclear"));
191  m_LocCtrlStrings.Add(_("mitochondrion"));
192  m_LocCtrlStrings.Add(_("nucleomorph"));
193  m_LocCtrlStrings.Add(_("plasmid"));
194  m_LocCtrlStrings.Add(_("plastid"));
195  m_LocCtrlStrings.Add(_("proplastid"));
196  m_LocCtrlStrings.Add(_("proviral"));
197  m_LocCtrl = new wxComboBox( itemPanel1, ID_COMBOBOX5, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_LocCtrlStrings, wxCB_DROPDOWN );
198  itemFlexGridSizer4->Add(m_LocCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
199 
200  wxStaticText* itemStaticText7 = new wxStaticText( itemPanel1, wxID_STATIC, _("Origin of Sequence"), wxDefaultPosition, wxDefaultSize, 0 );
201  itemFlexGridSizer4->Add(itemStaticText7, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
202 
203  wxArrayString m_OriginCtrlStrings;
204  m_OriginCtrlStrings.Add(wxEmptyString);
205  m_OriginCtrlStrings.Add(_("Natural"));
206  m_OriginCtrlStrings.Add(_("Natural mutant"));
207  m_OriginCtrlStrings.Add(_("Mutant"));
208  m_OriginCtrlStrings.Add(_("Artificial"));
209  m_OriginCtrlStrings.Add(_("Synthetic"));
210  m_OriginCtrlStrings.Add(_("Other"));
211  m_OriginCtrl = new wxComboBox( itemPanel1, ID_COMBOBOX6, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_OriginCtrlStrings, wxCB_DROPDOWN );
212  itemFlexGridSizer4->Add(m_OriginCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
213 
214  wxStaticBox* itemStaticBoxSizer9Static = new wxStaticBox(itemPanel1, wxID_ANY, _("Genetic codes"));
215  wxStaticBoxSizer* itemStaticBoxSizer9 = new wxStaticBoxSizer(itemStaticBoxSizer9Static, wxHORIZONTAL);
216  itemBoxSizer2->Add(itemStaticBoxSizer9, 0, wxALIGN_LEFT|wxALL, 5);
217 
218  wxFlexGridSizer* itemFlexGridSizer10 = new wxFlexGridSizer(0, 2, 0, 0);
219  itemStaticBoxSizer9->Add(itemFlexGridSizer10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
220 
221  wxStaticText* itemStaticText11 = new wxStaticText( itemPanel1, wxID_STATIC, _("Nuclear"), wxDefaultPosition, wxDefaultSize, 0 );
222  itemFlexGridSizer10->Add(itemStaticText11, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
223 
224  wxArrayString m_NuclearCodeCtrlStrings;
225  m_NuclearCodeCtrlStrings.Add(wxString(m_CodeToName[1]));
226  m_NuclearCodeCtrlStrings.Add(wxString(m_CodeToName[6]));
227  m_NuclearCodeCtrlStrings.Add(wxString(m_CodeToName[10]));
228  m_NuclearCodeCtrlStrings.Add(wxString(m_CodeToName[12]));
229  m_NuclearCodeCtrlStrings.Add(wxString(m_CodeToName[15]));
230 
231  m_NuclearCodeCtrl = new wxComboBox( itemPanel1, ID_COMBOBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_NuclearCodeCtrlStrings, wxCB_DROPDOWN );
232  itemFlexGridSizer10->Add(m_NuclearCodeCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
233 
234  wxStaticText* itemStaticText13 = new wxStaticText( itemPanel1, wxID_STATIC, _("Mitochondrial"), wxDefaultPosition, wxDefaultSize, 0 );
235  itemFlexGridSizer10->Add(itemStaticText13, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
236 
237  wxArrayString m_MitoCodeCtrlStrings;
238  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[2]));
239  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[3]));
240  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[4]));
241  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[5]));
242  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[9]));
243  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[13]));
244  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[14]));
245  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[16]));
246  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[21]));
247  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[22]));
248  m_MitoCodeCtrlStrings.Add(wxString(m_CodeToName[23]));
249 
250  m_MitoCodeCtrl = new wxComboBox( itemPanel1, ID_COMBOBOX1, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_MitoCodeCtrlStrings, wxCB_DROPDOWN );
251  itemFlexGridSizer10->Add(m_MitoCodeCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
252 
253  wxStaticText* itemStaticText15 = new wxStaticText( itemPanel1, wxID_STATIC, _("Plastid"), wxDefaultPosition, wxDefaultSize, 0 );
254  itemFlexGridSizer10->Add(itemStaticText15, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
255 
256  wxArrayString m_PlastidCodeCtrlStrings;
257  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[1]));
258  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[2]));
259  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[3]));
260  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[4]));
261  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[5]));
262  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[6]));
263  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[9]));
264  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[10]));
265  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[12]));
266  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[13]));
267  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[14]));
268  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[15]));
269  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[16]));
270  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[21]));
271  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[22]));
272  m_PlastidCodeCtrlStrings.Add(wxString(m_CodeToName[23]));
273 
274  m_PlastidCodeCtrl = new wxComboBox( itemPanel1, ID_COMBOBOX2, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_PlastidCodeCtrlStrings, wxCB_DROPDOWN );
275  itemFlexGridSizer10->Add(m_PlastidCodeCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
276 
277  m_BioFocusCtrl = new wxCheckBox( itemPanel1, ID_CHECKBOX1, _("Biological focus (if multiple source features)"), wxDefaultPosition, wxDefaultSize, 0 );
278  m_BioFocusCtrl->SetValue(false);
279  itemBoxSizer2->Add(m_BioFocusCtrl, 0, wxALIGN_LEFT|wxALL, 5);
280 
281 ////@end CLocAndGCodePanel content construction
282 }
283 
285 {
286  if (!wxPanel::TransferDataToWindow())
287  return false;
288  m_LocCtrl->SetValue(ToWxString(x_GetLocation()));
289  m_OriginCtrl->SetValue(ToWxString(x_GetOrigin()));
293  if (m_Source.IsSetIs_focus()) {
294  m_BioFocusCtrl->SetValue(true);
295  } else {
296  m_BioFocusCtrl->SetValue(false);
297  }
298 
299  return true;
300 }
301 
303 {
304  if (!wxPanel::TransferDataFromWindow())
305  return false;
306  x_SetLocation();
307  x_SetOrigin();
311  if (m_BioFocusCtrl->GetValue()) {
312  m_Source.SetIs_focus();
313  } else {
314  m_Source.ResetIs_focus();
315  }
316  return true;
317 }
318 
320 {
321  if (m_PlastidCodeCtrl->IsTextEmpty()) {
322  m_Source.SetOrg().SetOrgname().ResetPgcode();
323  return;
324  }
325 
326  string pgcode = ToStdString(m_PlastidCodeCtrl->GetValue());
327  if (m_NameToCode.find(pgcode) != m_NameToCode.end())
328  m_Source.SetOrg().SetOrgname().SetPgcode(m_NameToCode[pgcode]);
329 }
330 
332 {
333  if (m_MitoCodeCtrl->IsTextEmpty()) {
334  m_Source.SetOrg().SetOrgname().ResetMgcode();
335  return;
336  }
337 
338  string mgcode = ToStdString(m_MitoCodeCtrl->GetValue());
339  if (m_NameToCode.find(mgcode) != m_NameToCode.end())
340  m_Source.SetOrg().SetOrgname().SetMgcode(m_NameToCode[mgcode]);
341 }
342 
344 {
345  if (m_NuclearCodeCtrl->IsTextEmpty()) {
346  m_Source.SetOrg().SetOrgname().ResetGcode();
347  return;
348  }
349 
350  string gcode = ToStdString(m_NuclearCodeCtrl->GetValue());
351  if (m_NameToCode.find(gcode) != m_NameToCode.end())
352  m_Source.SetOrg().SetOrgname().SetGcode(m_NameToCode[gcode]);
353 }
354 
355 
357 {
358  string origin = ToStdString(m_OriginCtrl->GetValue());
359  if (NStr::Equal(origin, "Natural")) {
361  } else if (NStr::Equal(origin, "Natural mutant")) {
363  } else if (NStr::Equal(origin, "Mutant")) {
365  } else if (NStr::Equal(origin, "Artificial")) {
367  } else if (NStr::Equal(origin, "Synthetic")) {
369  } else if (NStr::Equal(origin, "Other")) {
371  } else {
373  }
374 }
375 
377 {
378  string location = ToStdString(m_LocCtrl->GetValue());
379  NStr::ReplaceInPlace(location, "-", "_");
381  m_Source.SetGenome(genome);
382 }
383 
385 {
386  if (m_Source.IsSetOrg() && m_Source.GetOrg().IsSetOrgname()
387  && m_Source.GetOrg().GetOrgname().IsSetPgcode())
388  {
389  int code = m_Source.GetOrg().GetOrgname().GetPgcode();
391  return m_CodeToName[code];
392  }
393  return kEmptyStr;
394 }
395 
397 {
398  if (m_Source.IsSetOrg() && m_Source.GetOrg().IsSetOrgname()
399  && m_Source.GetOrg().GetOrgname().IsSetMgcode())
400  {
401  int code = m_Source.GetOrg().GetOrgname().GetMgcode();
403  return m_CodeToName[code];
404  }
405  return kEmptyStr;
406 }
407 
409 {
410  if (m_Source.IsSetOrg() && m_Source.GetOrg().IsSetOrgname()
411  && m_Source.GetOrg().GetOrgname().IsSetGcode())
412  {
413  int code = m_Source.GetOrg().GetOrgname().GetGcode();
415  return m_CodeToName[code];
416  }
417  return kEmptyStr;
418 }
419 
421 {
422  if ( ! m_Source.IsSetOrigin() ) {
423  return "";
424  }
425 
426  switch(m_Source.GetOrigin())
427  {
429  return "Natural";
431  return "Natural mutant";
433  return "Mutant";
435  return "Artificial";
437  return "Synthetic";
439  return "Other";
440  default:
441  return "";
442  }
443 }
444 
446 {
447  if ( ! m_Source.IsSetGenome() || m_Source.GetGenome() == CBioSource::eGenome_unknown) {
448  return "";
449  }
450  if (m_Source.GetGenome() == CBioSource::eGenome_extrachrom) {
451  return "extrachromosomal";
452  }
453  string rval = CBioSource::GetOrganelleByGenome(m_Source.GetGenome());
454  NStr::ReplaceInPlace(rval, "_", "-");
455  NStr::ReplaceInPlace(rval, "plastid:", "");
456  return rval;
457 }
458 
460 {
461  if (m_Source.IsSetIs_focus()) {
462  source.SetIs_focus();
463  } else {
464  source.ResetIs_focus();
465  }
466 
467  source.SetGenome(m_Source.GetGenome());
468  source.SetOrigin(m_Source.GetOrigin());
469  if (m_Source.IsSetOrg() && m_Source.GetOrg().IsSetOrgname()) {
470  if (m_Source.GetOrg().GetOrgname().IsSetGcode()) {
471  source.SetOrg().SetOrgname().SetGcode(m_Source.GetOrg().GetOrgname().GetGcode());
472  }
473  if (m_Source.GetOrg().GetOrgname().IsSetMgcode()) {
474  source.SetOrg().SetOrgname().SetMgcode(m_Source.GetOrg().GetOrgname().GetMgcode());
475  }
476  if (m_Source.GetOrg().GetOrgname().IsSetPgcode()) {
477  source.SetOrg().SetOrgname().SetPgcode(m_Source.GetOrg().GetOrgname().GetPgcode());
478  }
479  }
480 }
481 
483 {
484  m_NuclearCodeCtrl->SetValue(wxEmptyString);
485  m_MitoCodeCtrl->SetValue(wxEmptyString);
486  m_PlastidCodeCtrl->SetValue(wxEmptyString);
487 }
488 
489 /*
490  * Should we show tooltips?
491  */
492 
494 {
495  return true;
496 }
497 
498 /*
499  * Get bitmap resources
500  */
501 
502 wxBitmap CLocAndGCodePanel::GetBitmapResource( const wxString& name )
503 {
504  // Bitmap retrieval
505 ////@begin CLocAndGCodePanel bitmap retrieval
506  wxUnusedVar(name);
507  return wxNullBitmap;
508 ////@end CLocAndGCodePanel bitmap retrieval
509 }
510 
511 /*
512  * Get icon resources
513  */
514 
515 wxIcon CLocAndGCodePanel::GetIconResource( const wxString& name )
516 {
517  // Icon retrieval
518 ////@begin CLocAndGCodePanel icon retrieval
519  wxUnusedVar(name);
520  return wxNullIcon;
521 ////@end CLocAndGCodePanel icon retrieval
522 }
523 
#define static
static string GetOrganelleByGenome(unsigned int genome)
Definition: BioSource.cpp:216
static CBioSource::EGenome GetGenomeByOrganelle(const string &organelle, NStr::ECase use_case=NStr::eCase, bool starts_with=false)
Definition: BioSource.cpp:168
static const CGenetic_code_table & GetCodeTable(void)
virtual bool TransferDataToWindow()
wxComboBox * m_LocCtrl
wxComboBox * m_NuclearCodeCtrl
wxComboBox * m_PlastidCodeCtrl
CLocAndGCodePanel()
Constructors.
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
map< int, string > m_CodeToName
void Init()
Initialises member variables.
void OnChangedTaxname(void)
void PopulateLocAndGC(objects::CBioSource &source)
wxComboBox * m_MitoCodeCtrl
wxCheckBox * m_BioFocusCtrl
bool Create(wxWindow *parent, wxWindowID id=ID_GENETICCODESPANEL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
Creation.
static bool ShowToolTips()
Should we show tooltips?
~CLocAndGCodePanel()
Destructor.
objects::CBioSource & m_Source
void CreateControls()
Creates the controls and sizers.
wxComboBox * m_OriginCtrl
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
string x_GetMitochondrialCode()
virtual bool TransferDataFromWindow()
map< string, int > m_NameToCode
const_iterator end() const
Definition: map.hpp:152
const_iterator find(const key_type &key) const
Definition: map.hpp:153
#define _(proto)
Definition: ct_nlmzip_i.h:78
static void Init(void)
Definition: cursor6.c:76
static const char location[]
Definition: config.c:97
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
Definition: ncbimisc.hpp:815
#define NULL
Definition: ncbistd.hpp:225
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define kEmptyStr
Definition: ncbistr.hpp:123
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.
Definition: ncbistr.hpp:5384
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.
Definition: ncbistr.cpp:3405
@ eNocase
Case insensitive compare.
Definition: ncbistr.hpp:1206
EGenome
biological context
Definition: BioSource_.hpp:97
@ eOrigin_synthetic
purely synthetic
Definition: BioSource_.hpp:134
@ eOrigin_mut
artificially mutagenized
Definition: BioSource_.hpp:132
@ eOrigin_artificial
artificially engineered
Definition: BioSource_.hpp:133
@ eOrigin_natmut
naturally occurring mutant
Definition: BioSource_.hpp:131
@ eOrigin_natural
normal biological entity
Definition: BioSource_.hpp:130
list< CRef< CGenetic_code > > Tdata
const Tdata & Get(void) const
Get the member data.
END_EVENT_TABLE()
USING_SCOPE(objects)
static CBioSource dummy
const struct ncbi::grid::netcache::search::fields::SIZE size
const CharType(& source)[N]
Definition: pointer.h:1149
static const GLdouble origin[]
static static static wxID_ANY
Definition: inftrees.h:24
wxString ToWxString(const string &s)
Definition: wx_utils.hpp:173
string ToStdString(const wxString &s)
Definition: wx_utils.hpp:161
Modified on Tue Apr 23 07:38:09 2024 by modify_doxy.py rev. 669887