41 #include <wx/checkbox.h>
84 wxWindowID
id,
const wxPoint& pos,
const wxSize&
size,
long style )
86 m_WizardType (wizard_type),
102 CBulkCmdPanel::Create( parent,
id, pos,
size, style );
107 GetSizer()->SetSizeHints(
this);
140 "16S-23S ribosomal RNA intergenic spacer",
148 "small subunit ribosomal RNA",
149 "large subunit ribosomal RNA"
157 "small subunit ribosomal RNA",
158 "internal transcribed spacer 1",
159 "5.8S ribosomal RNA",
160 "internal transcribed spacer 2",
163 "large subunit ribosomal RNA"
178 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
179 itemCBulkCmdPanel1->SetSizer(itemBoxSizer2);
181 wxStaticBox* itemStaticBoxSizer3Static =
new wxStaticBox(itemCBulkCmdPanel1,
wxID_ANY,
_(
"RNA Name"));
182 m_RNANameSizer =
new wxStaticBoxSizer(itemStaticBoxSizer3Static, wxVERTICAL);
183 itemBoxSizer2->Add(
m_RNANameSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
240 box =
new wxCheckBox ( itemCBulkCmdPanel1,
wxID_ANY,
_(
"Something else"));
243 btn =
new wxRadioButton ( itemCBulkCmdPanel1,
wxID_ANY,
_(
"Something else"));
249 m_OtherLabel =
new wxTextCtrl( itemCBulkCmdPanel1,
wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1), 0 );
299 &&
NStr::Equal(rna_name.substr(5),
" subunit ribosomal RNA")) {
302 string::iterator cp = rna_name.begin();
307 while (cp != rna_name.end() &&
isdigit (*cp)) {
311 if (
NStr::Equal(rna_name.substr(pos),
"S ribosomal RNA")) {
327 string::iterator cp = rna_name.begin();
332 while (cp != rna_name.end() &&
isdigit (*cp)) {
343 while (cp != rna_name.end() &&
isdigit (*cp)) {
347 if (
NStr::Equal(rna_name.substr(pos),
"S ribosomal RNA intergenic spacer")) {
360 string rna_name =
"";
363 vector<string> labels;
365 while (pos < itemList.size()) {
366 wxCheckBox* c_btn =
dynamic_cast<wxCheckBox*
>(itemList[pos]->GetWindow());
368 if (c_btn->GetValue()) {
373 labels.push_back(
label);
378 if (labels.size() == 1) {
379 rna_name = labels[0];
380 }
else if (labels.size() == 2) {
381 rna_name =
"contains " + labels[0] +
" and " + labels[1];
382 }
else if (labels.size() > 2) {
383 rna_name =
"contains ";
384 for (
size_t i = 0;
i < labels.size() - 1;
i++) {
385 rna_name += labels[
i] +
", ";
387 rna_name +=
"and " + labels[labels.size() - 1];
395 string rna_name =
"";
398 while (pos < itemList.size()) {
399 wxRadioButton* r_btn =
dynamic_cast<wxRadioButton*
>(itemList[pos]->GetWindow());
401 if (r_btn->GetValue()) {
418 string rna_name =
"";
435 objects::CBioseq_CI b_iter(
m_TopSeqEntry, objects::CSeq_inst::eMol_na);
436 for ( ; b_iter ; ++b_iter ) {
439 new_feat->SetData().SetRna().SetType(objects::CRNA_ref::eType_rRNA);
440 new_feat->SetData().SetRna().SetExt().SetName(rna_name);
442 new_feat->SetData().SetRna().SetType(objects::CRNA_ref::eType_other);
444 new_feat->SetData().SetRna().SetExt().SetGen().SetProduct(rna_name);
446 new_feat->SetComment(rna_name);
451 new_feat_id->Assign(*(b_iter->GetCompleteBioseq()->GetId().front()));
452 new_feat->SetLocation().SetInt().SetId(*new_feat_id);
453 new_feat->SetLocation().SetInt().SetFrom(0);
454 new_feat->SetLocation().SetInt().SetTo(b_iter->GetBioseqLength() - 1);
457 objects::CSeq_entry_Handle seh = b_iter->GetSeq_entry_Handle();
467 return "You must specify the name for the RNA feature to be created.";
477 while (pos < itemList.size() && !enable) {
478 wxRadioButton* r_btn =
dynamic_cast<wxRadioButton*
>(itemList[pos]->GetWindow());
484 wxCheckBox* c_btn =
dynamic_cast<wxCheckBox*
>(itemList[pos]->GetWindow());
@ eExtreme_Biological
5' and 3'
User-defined methods of the data storage class.
EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX, CAdjustFeaturesForGaps::OnKnownUnknownSelected) EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX1
objects::CSeq_entry_Handle m_TopSeqEntry
string x_GetSingleElementName()
string x_GetMultiElementName()
~CRNANamePanel()
Destructor.
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
virtual CRef< CCmdComposite > GetCommand()
virtual string GetErrorMessage()
static bool ShowToolTips()
Should we show tooltips?
void CreateControls()
Creates the controls and sizers.
CSourceRequirements::EWizardSrcType m_SrcType
bool Create(wxWindow *parent, wxWindowID id=10034, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
Creation.
void OnRNATypeSelected(wxCommandEvent &event)
wxStaticBoxSizer * m_RNANameSizer
void Init()
Initialises member variables.
CRNANamePanel()
Constructors.
wxTextCtrl * m_OtherLabel
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
@ eWizardSrcType_cultured_fungus
@ eWizardSrcType_bacteria_or_archaea
@ eWizardSrcType_uncultured_fungus
@ eWizardSrcType_vouchered_fungus
#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 bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
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 const char label[]
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::SIZE size
const int s_NumRNAOrganelle
static bool s_IsrRNA(string rna_name)
static bool s_IsRNASpacer(string rna_name)
const int s_NumRNABacteriaArchaea
static string s_RNABacteriaArchaea[]
static string s_RNAOrganelle[]
static string s_RNAFungal[]
bool AlreadyHasFeature(objects::CBioseq_Handle bh, string key, string comment)
wxString ToWxString(const string &s)
string ToStdString(const wxString &s)