->AddPage(panel,
wxT(
"Protein Name and Description"));
178 m_Window->AddPage(panel,
wxT(
"Protein Properties"));
187feat.
SetData().SetImp().SetKey(
"regulatory");
188 boolhas_class =
false;
190 if((*it)->IsSetQual() &&
NStr::EqualNocase((*it)->GetQual(),
"regulatory_class")) {
191(*it)->SetVal(regulatory_class);
198q->
SetQual(
"regulatory_class");
199q->
SetVal(regulatory_class);
215 returnedited_seq_feat;
228 "CEditObjectSeq_feat::CreateWindow - Window already created!");
230wxTopLevelWindow* gui_widget =
dynamic_cast<wxTopLevelWindow*
>(parent);
235 m_Window=
newwxTreebook( parent,
ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize, wxBK_DEFAULT );
241 stringsub_type = seq_feat_data.
GetKey();
242 if(sub_type.find(
"RNA") == sub_type.length()-3)
248 if(seq_feat_data.
IsGene()) {
260gui_widget->SetTitle(
_(
"Gene"));
263help_client->
SetHelpUrl(
_(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual10/#gene"));
265 else if(seq_feat_data.
IsRna()) {
272gui_widget->SetTitle(
_(
"RNA"));
276help_client->
SetHelpUrl(
_(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual10/#rrna"));
278help_client->
SetHelpUrl(
_(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual10/#trna"));
280help_client->
SetHelpUrl(
_(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual10/#ncrna"));
301prot_feat = &edited_protein->
SetData().SetProt();
303 boolhas_xref =
false;
306 if((*it)->IsSetData() && (*it)->GetData().IsProt()) {
307prot_feat = &((*it)->SetData().SetProt());
315xref->SetData().SetProt();
316edited_seq_feat.
SetXref().push_back(xref);
317prot_feat = &(xref->SetData().SetProt());
321 m_Window->AddPage(panel,
wxT(
"Coding Region"));
329 m_Window->AddPage(panel,
wxT(
"Translation Exceptions"));
335gui_widget->SetTitle(
_(
"CDS"));
337help_client->
SetHelpUrl(
_(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual10/#cds"));
338}
else if(seq_feat_data.
IsPub()) {
346gui_widget->SetTitle(
_(
"Pub feature"));
349 else if(seq_feat_data.
IsImp()) {
351 m_Window->AddPage(panel,
wxT(
"Import Feature"));
358gui_widget->SetTitle(wxString(seq_feat_data.
GetImp().
GetKey()));
360gui_widget->SetTitle(
_(
"Imp Feature"));
365help_client->
SetHelpUrl(
_(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual10/#misc-feature"));
369 else if(seq_feat_data.
IsProt()) {
371 m_Window->AddPage(panel,
wxT(
"Protein Name and Description"));
373 m_Window->AddPage(panel,
wxT(
"Enzyme Commission Numbers"));
379gui_widget->SetTitle(
_(
"Protein"));
381 else if(seq_feat_data.
IsBiosrc()) {
386 m_Window->AddSubPage(panel,
wxT(
"Genetic Code"));
401gui_widget->SetTitle(
_(
"BioSource"));
403 else if(seq_feat_data.
IsRegion()) {
410gui_widget->SetTitle(
_(
"Region"));
412 else if(seq_feat_data.
IsBond()) {
419gui_widget->SetTitle(
_(
"Bond"));
421 else if(seq_feat_data.
IsSite()) {
428gui_widget->SetTitle(
_(
"Site"));
433 m_Window->AddPage(sec_panel,
wxT(
"Secondary Structure"));
435gui_widget->SetTitle(
_(
"Secondary Structure"));
444gui_widget->SetTitle(
_(
"Comment"));
461 m_Window->AddPage (panel,
wxT(
"GenBank Qualifiers"));
463 if(seq_feat_data.
IsRna()) {
465 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
482 m_Window->AddSubPage (panel,
wxT(
"Feature Identifiers"));
489 m_Window->AddSubPage (panel,
wxT(
"Experiments"));
492 m_Window->AddSubPage (panel,
wxT(
"Inferences"));
495 m_Window->AddSubPage (panel,
wxT(
"Citations"));
496 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
497 m_Window->GetPage(
i)->TransferDataToWindow();
525 if(gene_start_pos == cds_start_pos) {
540 if(gene_stop_pos == cds_stop_pos) {
554bsh =
m_Scope->GetBioseqHandle(loc);
566bsh =
m_Scope->GetBioseqHandle(new_loc);
571 boolorigin_start =
false;
572 boolorigin_stop =
false;
580origin_start =
true;
581 else if(stop == length - 1)
589intervals.
insert(make_pair(start, stop));
591 if(origin_start && origin_stop && !intervals.
empty())
594 TSeqPosint_stop = intervals.rbegin()->second;
595 if(int_stop > length)
600before_origin->
SetInt().SetFrom(int_start);
601before_origin->
SetInt().SetTo(length - 1);
602before_origin->
SetInt().SetId().Assign(*new_loc.
GetId());
604after_origin->
SetInt().SetFrom(0);
605after_origin->
SetInt().SetTo(int_stop);
606after_origin->
SetInt().SetId().Assign(*new_loc.
GetId());
607adjusted_gene->
SetLocation().SetMix().Set().clear();
608adjusted_gene->
SetLocation().SetMix().Set().push_back(before_origin);
609adjusted_gene->
SetLocation().SetMix().Set().push_back(after_origin);
614adjusted_gene->
SetLocation().SetInt().SetFrom(int_start);
615adjusted_gene->
SetLocation().SetInt().SetTo(int_stop);
622 for(
CSeq_loc_CIloc_iter(new_loc); loc_iter; ++loc_iter)
624 if(loc_iter.IsSetStrand())
625strands.
insert(loc_iter.GetStrand());
629 if(strands.
size() > 1)
645 boolupdate_gene_span =
true;
648 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
650 if(cdsProductPanel) {
655 if(!update_gene_span && updated_gene->
Equals(old_gene))
663adjusted_gene->
Assign(*updated_gene);
680 for(
CSeq_loc_CIloc_iter(new_loc); loc_iter; ++loc_iter)
682 if(loc_iter.IsSetStrand())
683strands.
insert(loc_iter.GetStrand());
686idhs.
insert(loc_iter.GetSeq_id_Handle());
688 if(strands.
size() > 1 || idhs.
size() > 1)
699adjusted_gene->
SetLocation().SetInt().SetId().Assign(*
id);
712 if(!adjusted_gene->
Equals(old_gene)) {
728 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
747 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
757edited_seq_feat.
SetData().SetImp().SetKey(
"misc_feature");
767 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
782 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
796 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
812 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
817 if(inferencePanel) {
828 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
830 if(experimentsPanel)
833 if(experimentsPanel) {
843 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
848 if(citationsPanel) {
857 boolhas_xref =
false;
863 if((*it)->IsSetId() && (*it)->GetId().IsLocal() && (*it)->GetId().GetLocal().IsId()) {
890 boolupdate_mrna_span =
false;
891 boolupdate_mrna_product =
false;
896 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
897 if(!cdsProteinPanel) {
900 if(!cdsProductPanel) {
907 if(cdsProteinPanel && cdsProductPanel && locPanel) {
911 if(cdsProteinPanel) {
914 if(cdsProductPanel) {
921 if(update_mrna_product || update_mrna_span) {
927new_mrna->
Assign(*mrna);
928 boolany_change =
false;
930 if(update_mrna_product) {
932 stringnew_prot_product =
"";
940 stringorig_mrna_product =
"";
944 if(!
NStr::Equal(new_prot_product, orig_mrna_product)
947new_mrna->
SetData().SetRna().SetExt().SetName(new_prot_product);
952 if(update_mrna_span) {
986 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
988 if(transl_except_panel)
991 if(transl_except_panel) {
1000 boolany_actions =
false;
1003 const CSeq_feat* orig_protein =
nullptr;
1009 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1017cds.
SetData().SetImp().SetKey(
"misc_feature");
1023any_actions =
true;
1030any_actions =
true;
1039 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1051 if(product_seq && !ShouldCreateNewProductSeq) {
1055edited_product->
Assign(*product_seq);
1066any_actions =
true;
1076edited_protein.
SetLocation().SetInt().SetId().Assign(*(edited_product->
GetId().front()));
1077edited_protein.
SetLocation().SetInt().SetFrom(0);
1081 cleanup.BasicCleanup(edited_protein);
1086any_actions =
true;
1089 boolcds_change =
false;
1093any_actions =
true;
1110 boolfound_existing =
false;
1113 if((*it)->IsSetData() && (*it)->GetData().IsProt()) {
1114(*it)->SetData().SetProt().Assign(edited_protein.
GetData().
GetProt());
1115found_existing =
true;
1120 if(!found_existing) {
1122prot_xref->SetData().SetProt().Assign(edited_protein.
GetData().
GetProt());
1123cds.
SetXref().push_back(prot_xref);
1125any_actions =
true;
1127}
else if(ShouldCreateNewProductSeq) {
1139bsh =
m_Scope->GetBioseqHandle(loc_iter.GetSeq_id());
1146 if(!new_product->
IsSetId() || new_product->
GetId().empty()) {
1155new_product->
SetId().push_back(product_id);
1158product_id = new_product->
SetId().front();
1167prot_entry->
SetSeq(*new_product);
1175 prot->Assign(*orig_protein);
1176 prot->SetLocation().Assign(*keep_loc);
1177 if(partial5 || partial3) {
1178 prot->SetPartial(
true);
1182 if((*it)->IsSetData() && (*it)->GetData().IsProt()) {
1183 prot->SetData().SetProt().Assign((*it)->GetData().GetProt());
1188 if(cds.
GetXref().empty()) {
1205any_actions =
true;
1228 for(CSeq_feat::TQual::iterator qual = edited_feat.
SetQual().begin(); qual != edited_feat.
SetQual().end(); ++qual)
1230 if((*qual)->IsSetQual() && !(*qual)->GetQual().empty() && (*qual)->IsSetVal() && !(*qual)->GetVal().empty())
1244 if(!mandatory.
empty())
1247 for(
autoq : mandatory)
1252 msg<<
"This feature is missing mandatory qualifier";
1260 msg<<
". Would you like to continue?";
1261 intanswer = wxMessageBox(
msg,
ToWxString(
"Warning"), wxYES_NO | wxICON_QUESTION);
1262 if(answer != wxYES)
1284 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1285 if(!
m_Window->GetPage(
i)->TransferDataFromWindow()) {
1300fh =
m_Scope->GetSeq_featHandle(seq_feat);
1310 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1319edited_seq_feat.
SetData().SetPub(*pub);
1324 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1334 boolis_biosrc =
false;
1336 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1338 if(biosource_panel)
1341 if(biosource_panel) {
1347 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1358 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1378 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1386 stringregion = regionPanel->
GetRegion();
1390edited_seq_feat.
SetData().SetImp().SetKey(
"misc_feature");
1393 if(!region.empty())
1401edited_seq_feat.
SetData().SetRegion(region);
1406 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1415edited_seq_feat.
SetData().SetBond(bond);
1419 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1433 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1435 if(secondary_struc_panel)
1439 if(secondary_struc_panel) {
1442edited_seq_feat.
SetData().SetPsec_str(struc);
1446 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1448 if(generic_props_panel)
1452 boolmodify_pseudo =
false;
1453 stringpseudo_choice;
1455modify_pseudo =
true;
1460 if(edited_seq_feat.
IsSetQual() && edited_seq_feat.
GetQual().empty()) {
1465 cleanup.BasicCleanup(edited_seq_feat);
1477 for(
size_t i= 0;
i<
m_Window->GetPageCount(); ++
i) {
1479 if(addedGenePanel) {
1503}
else if(new_gene) {
1509bsh =
m_SEH.GetScope().GetBioseqHandle(loc_iter.GetSeq_id());
1522 if(handle_product) {
1544unique_ptr<CObjectOStream>
1546*
out<< edited_seq_feat;
1561wxPanel* panel_parent =
dynamic_cast<wxPanel*
>(
m_Window->GetParent());
1571 boolenable_import =
false;
1572 boolenable_export =
false;
User-defined methods of the data storage class.
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
User-defined methods of the data storage class.
bool AdjustProteinFeaturePartialsToMatchCDS(CSeq_feat &new_prot, const CSeq_feat &cds)
AdjustProteinFeaturePartialsToMatchCDS A function to change an existing MolInfo to match a coding reg...
CRef< objects::CSeq_id > GetNewProtId(objects::CBioseq_Handle bsh, int &offset, string &id_label, bool general_only)
bool IsGeneralIdProtPresent(objects::CSeq_entry_Handle tse)
CRef< CGenetic_code > GetGeneticCodeForBioseq(CBioseq_Handle bh)
GetGeneticCodeForBioseq A function to construct the appropriate CGenetic_code object to use when cons...
void PopulateBioSource(objects::CBioSource &source)
TSeqPos GetLength(void) const
CSeqFeatData::EBond GetBond()
void SetExceptions(objects::CCdregion &cds)
bool ShouldUpdatemRNAProduct()
virtual bool TransferDataFromWindow()
void SetProduct(objects::CSeq_feat &feat)
bool ShouldUpdatemRNALocation()
bool ShouldCreateNewProductSeq()
void SetProtein(objects::CBioseq &bioseq)
bool ShouldUpdateGeneLocation()
void SetProductId(const string &val)
CRef< objects::CSeq_id > GetProductId()
void SetCitations(objects::CSeq_feat &seq_feat)
void AddCommand(IEditCommand &command)
void PopulateDbxrefs(objects::CSeq_feat &seq_feat)
CRef< CCmdComposite > x_HandleCdsProduct(const objects::CSeq_feat &old_cds, objects::CSeq_feat &cds)
void x_SetGbQuals(objects::CSeq_feat &edited_feat)
void x_AdjustCircularGene(CRef< objects::CSeq_feat > adjusted_gene, const objects::CSeq_loc &new_loc)
void x_SetCitations(objects::CSeq_feat &edited_feat)
void x_SetTranslExcept(objects::CSeq_feat &cds)
void x_SetInferences(objects::CSeq_feat &edited_feat)
virtual IEditCommand * GetEditCommand()
After placing the window in the Edit Object Dialog ShowModal() method of the dialog is called.
objects::CSeq_feat & x_GetSeqFeatCopy()
void x_ConvertCommentToMiscFeat(objects::CSeq_feat &edited_seq_feat)
void x_AdjustLocation(objects::CSeq_feat &edited_feat)
void x_AddCodingRegionProteinNamePanel(objects::CProt_ref &prot)
CRef< CSerialObject > m_EditedFeature
bool x_IsCircular(const objects::CSeq_loc &loc)
void x_SetIdentifiers(objects::CSeq_feat &edited_feat)
virtual wxWindow * CreateWindow(wxWindow *parent)
creates a child (not top level) windows that can contain whatever controls/subwindows etc.
objects::CSeq_entry_Handle m_SEH
void x_SetExperiments(objects::CSeq_feat &edited_feat)
CRef< objects::CScope > m_Scope
CIRef< IEditCommand > m_EditAction
void x_AddCodingRegionProteinPanels(objects::CProt_ref &prot, objects::CSeq_feat *edited_protein)
CIRef< IEditCommand > x_AdjustGene(const objects::CSeq_feat &old_gene, const objects::CSeq_loc &old_loc, const objects::CSeq_loc &new_loc, CRef< objects::CSeq_feat > updated_gene)
CRef< CSerialObject > m_EditedProtein
void x_SetCrossRefs(objects::CSeq_feat &edited_feat)
void OnPageChange(wxBookCtrlEvent &event)
wxWindow * CreateWindowImpl(wxWindow *parent, objects::CSeq_feat &edited_seq_feat)
CIRef< IEditCommand > x_UpdatemRNA(const objects::CSeq_feat &cds)
void PopulateGBQuals(objects::CSeq_feat &seq_feat)
CConstRef< objects::CSeq_feat > GetGeneToEdit()
void SetModifyPseudo(bool modify_pseudo, const string &pseudo_choice)
CRef< objects::CSeq_feat > GetNewGene()
CRef< objects::CSeq_feat > GetUpdatedGene()
void PopulateGBQuals(objects::CSeq_feat &seq_feat)
static bool PanelNeeded(objects::CSeq_feat &seq_feat)
@Gb_qual.hpp User-defined methods of the data storage class.
bool PseudoSelectionChanged() const
void PopulateIdentifiers(objects::CSeq_feat &seq_feat)
virtual bool IsImportEnabled(void)
virtual bool IsExportEnabled(void)
virtual void EnableImport(bool enable)=0
virtual void EnableExport(bool enable)=0
void PopulateImpFeat(objects::CSeq_feat &seq_feat)
void PopulateGBQuals(objects::CSeq_feat &seq_feat)
void PopulateLocAndGC(objects::CBioSource &source)
CRef< objects::CSeq_loc > GetSeq_loc() const
bool ShouldUpdatemRNALocation()
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
Base class for all object manager exceptions.
CRef< objects::CPubdesc > GetPubdesc() const
void SetGBQualPanel(CGBQualPanel *gbqual_panel)
bool GetConvertToMiscFeat(void)
void SetSecondaryStructure(objects::CSeqFeatData::EPsec_str struc)
objects::CSeqFeatData::EPsec_str GetSecondaryStructure()
static const string & GetRegulatoryClass(ESubtype subtype)
ESubtype GetSubtype(void) const
string GetKey(EVocabulary vocab=eVocabulary_full) const
const TQualifiers & GetMandatoryQualifiers(void) const
Get the list of all mandatory qualifiers for the feature.
void SetCdregion(TCdregion &v)
static EQualifier GetQualifierType(CTempString qual)
convert qual string to enumerated value
static CTempString GetQualifierAsString(EQualifier qual)
Convert a qualifier from an enumerated value to a string representation or empty if not found.
static bool IsRegulatory(ESubtype subtype)
namespace ncbi::objects::
Seq-loc iterator class â iterates all intervals from a seq-loc in the correct order.
Base class for all serializable objects.
CSeqFeatData::ESite GetSite()
void TransferToOrgRef(objects::COrg_ref &org)
void TransferFromOrgRef(const objects::COrg_ref &org)
CSeq_feat_Handle GetFeatureWithId(CSeqFeatData::E_Choice type, TFeatureIdInt id) const
Interface (functor) for object editing.
virtual void SetHelpUrl(const wxString &url)=0
constexpr const_iterator begin() const noexcept
constexpr const_iterator end() const noexcept
iterator_bool insert(const value_type &val)
const_iterator begin() const
void SetMolinfoForProtein(CRef< objects::CSeq_entry > protein, bool partial5, bool partial3)
CRef< objects::CSeq_feat > AddEmptyProteinFeatureToProtein(CRef< objects::CSeq_entry > protein, bool partial5, bool partial3)
void RemapOtherProtFeats(const objects::CSeq_feat &old_cds, objects::CSeq_feat &cds, objects::CBioseq_Handle bh, CRef< CCmdComposite > composite, bool &any_actions)
bool s_ShouldSetFeaturePartial(const CSeq_loc &loc, CRef< CScope > scope)
bool s_ShouldSetGenePartialStart(const CSeq_loc &gene_loc, const CSeq_loc &cds_loc)
const char * kTransSplicing
void ConvertRegulatoryFeature(CSeq_feat &feat)
CConstRef< CSeq_feat > s_GetmRNAForCDS(const CSeq_feat &cds, const CSeq_feat &orig_cds, CScope &scope)
static const CBioseq * GetCDSProductSeq(const CSeq_feat *feat, CScope &scope)
bool s_ShouldSetGenePartialStop(const CSeq_loc &gene_loc, const CSeq_loc &cds_loc)
static const CSeq_feat * GetFeatureProtein(const CSeq_feat *feat, CScope &scope)
std::ofstream out("events_result.xml")
main entry point for tests
static void cleanup(void)
static const char location[]
unsigned int TSeqPos
Type for sequence locations and lengths.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const string & GetMsg(void) const
Get message string.
objects::CSeq_feat_Handle GetSeqFeatHandleForBadLocFeature(const objects::CSeq_feat &feat, objects::CScope &scope)
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
virtual const CTypeInfo * GetThisTypeInfo(void) const =0
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
@ eSerial_AsnText
ASN.1 text.
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
@ eFasta
Tagged ID in NCBI's traditional FASTA style.
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
static CObjectOStream * Open(ESerialDataFormat format, CNcbiOstream &outStream, bool deleteOutStream)
Create serial object writer and attach it to an output stream.
CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
int SeqLocPartialCheck(const CSeq_loc &loc, CScope *scope)
sequence::ECompare Compare(const CSeq_loc &loc1, const CSeq_loc &loc2, CScope *scope)
Returns the sequence::ECompare containment relationship between CSeq_locs.
@ eSeqlocPartial_Internal
@ eSeqlocPartial_Nointernal
@ fCompareOverlapping
Check if seq-locs are overlapping.
@ eOverlap_CheckIntRev
1st is a subset of 2nd with matching boundaries
@ eContains
First CSeq_loc contains second.
@ eSame
CSeq_locs contain each other.
@ eContained
First CSeq_loc contained by second.
@ eNoOverlap
CSeq_locs do not overlap or abut.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
const CTSE_Handle & GetTSE_Handle(void) const
Get CTSE_Handle of containing TSE.
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
virtual CConstRef< CSeq_feat > GetSeq_feat(void) const
TSeqPos GetBioseqLength(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
TInst_Topology GetInst_Topology(void) const
bool IsSetInst_Topology(void) const
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
const CSeq_loc & GetLocation(void) const
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
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 string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
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 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.
TObjectPtr Create(CObjectMemoryPool *memoryPool=0) const
Create object of this type on heap (can be deleted by operator delete)
static const char label[]
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
const TName & GetName(void) const
Get the Name member data.
bool IsSetName(void) const
protein name Check if a value has been assigned to Name data member.
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
bool IsGen(void) const
Check if variant Gen is selected.
const TGen & GetGen(void) const
Get the variant data.
const TName & GetName(void) const
Get the variant data.
bool IsSetClass(void) const
for ncRNAs, the class of non-coding RNA: examples: antisense_RNA, guide_RNA, snRNA Check if a value h...
const TExt & GetExt(void) const
Get the Ext member data.
bool IsName(void) const
Check if variant Name is selected.
const TClass & GetClass(void) const
Get the Class member data.
TXref & SetXref(void)
Assign a value to Xref data member.
void SetQual(const TQual &value)
Assign a value to Qual data member.
const TKey & GetKey(void) const
Get the Key member data.
bool IsSetComment(void) const
Check if a value has been assigned to Comment data member.
void ResetPartial(void)
Reset Partial data member.
EPsec_str
protein secondary structure
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
bool IsSetQual(void) const
qualifiers Check if a value has been assigned to Qual data member.
TPsec_str GetPsec_str(void) const
Get the variant data.
bool IsBond(void) const
Check if variant Bond is selected.
bool IsProt(void) const
Check if variant Prot is selected.
void SetLocation(TLocation &value)
Assign a value to Location data member.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
bool IsImp(void) const
Check if variant Imp is selected.
void SetComment(const TComment &value)
Assign a value to Comment data member.
void SetPartial(TPartial value)
Assign a value to Partial data member.
const TQual & GetQual(void) const
Get the Qual member data.
bool IsSetKey(void) const
Check if a value has been assigned to Key data member.
bool IsSetXref(void) const
cite other relevant features Check if a value has been assigned to Xref data member.
const TLocation & GetLocation(void) const
Get the Location member data.
void SetExcept(TExcept value)
Assign a value to Except data member.
bool IsGene(void) const
Check if variant Gene is selected.
const TData & GetData(void) const
Get the Data member data.
const TExcept_text & GetExcept_text(void) const
Get the Except_text member data.
bool IsPub(void) const
Check if variant Pub is selected.
void ResetData(void)
Reset Data data member.
bool IsSetExcept_text(void) const
explain if except=TRUE Check if a value has been assigned to Except_text data member.
bool IsPsec_str(void) const
Check if variant Psec_str is selected.
void SetData(TData &value)
Assign a value to Data data member.
const TProduct & GetProduct(void) const
Get the Product member data.
const TComment & GetComment(void) const
Get the Comment member data.
void SetVal(const TVal &value)
Assign a value to Val data member.
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
void SetExcept_text(const TExcept_text &value)
Assign a value to Except_text data member.
const TProt & GetProt(void) const
Get the variant data.
bool IsSite(void) const
Check if variant Site is selected.
const TXref & GetXref(void) const
Get the Xref member data.
vector< CRef< CSeqFeatXref > > TXref
void ResetProduct(void)
Reset Product data member.
vector< CRef< CGb_qual > > TQual
bool IsComment(void) const
Check if variant Comment is selected.
void ResetXref(void)
Reset Xref data member.
const TRna & GetRna(void) const
Get the variant data.
TQual & SetQual(void)
Assign a value to Qual data member.
bool IsSetProduct(void) const
product of process Check if a value has been assigned to Product data member.
bool IsRna(void) const
Check if variant Rna is selected.
bool IsRegion(void) const
Check if variant Region is selected.
void ResetQual(void)
Reset Qual data member.
const TImp & GetImp(void) const
Get the variant data.
bool IsSetLocation(void) const
feature made from Check if a value has been assigned to Location data member.
TSeq & SetSeq(void)
Select the variant.
TRepr GetRepr(void) const
Get the Repr member data.
TId & SetId(void)
Assign a value to Id data member.
const TInst & GetInst(void) const
Get the Inst member data.
bool IsSetRepr(void) const
Check if a value has been assigned to Repr data member.
const TId & GetId(void) const
Get the Id member data.
bool IsSetInst(void) const
the sequence data Check if a value has been assigned to Inst data member.
bool IsSetId(void) const
equivalent identifiers Check if a value has been assigned to Id data member.
void TestForNonAsciiText(wxWindow *win)
#define FOR_EACH_SEQFEATXREF_ON_SEQFEAT(Itr, Var)
FOR_EACH_SEQFEATXREF_ON_SEQFEAT EDIT_EACH_SEQFEATXREF_ON_SEQFEAT.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
CRef< CCmdComposite > GetSynchronizeProductMolInfoCommand(objects::CScope &scope, const objects::CSeq_feat &cds)
CRef< CCmdComposite > CreateOrAdjustProteinFeature(objects::CBioseq_Handle product, objects::CSeq_feat &cds, bool &cds_change)
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