NCBI C++ ToolKit
featedit_util.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: featedit_util.hpp 39649 2017-10-24 15:22:12Z 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: Colleen Bollin
27  */
28 #ifndef _FEATEDIT_UTIL_H_
29 #define _FEATEDIT_UTIL_H_
30 
31 #include <corelib/ncbistd.hpp>
39 #include <objmgr/scope.hpp>
42 
45 
47 
48 
49 const string kStartColLabel = "Start";
50 const string kStopColLabel = "Stop";
51 const string kFeatureID = "FeatureID";
52 const string kPartialStart = "5' Partial";
53 const string kPartialStop = "3' Partial";
54 const string kProblems = "Problems";
55 
56 static const string kSatelliteTypes[] = {"satellite", "microsatellite", "minisatellite" };
57 static const int kNumSatelliteTypes = sizeof (kSatelliteTypes) / sizeof (string);
58 
59 
61 {
62 public:
64  : m_Subtype(objects::CSeqFeatData::eSubtype_any),
66  m_Scope(NULL)
67  { }
68  // default is to do no command. Subclasses will almost always override this
69  virtual bool AddToFeature(objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text ) { return false; }
70  virtual void ClearInFeature(objects::CSeq_feat & in_out_feat ) { }
71  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat ) { return ""; }
72  virtual string GetLabel() const { return ""; }
73  virtual bool RelaxedMatch(const objects::CSeq_feat & f1, const objects::CSeq_feat &f2) const { return true; };
74  virtual vector<string> IsValid(const vector<string>& values) { vector<string> x; return x; };
75  virtual vector<CConstRef<CObject> > GetObjects(objects::CBioseq_Handle bsh);
76  virtual vector<CRef<objects::edit::CApplyObject> > GetApplyObjects(objects::CBioseq_Handle bsh);
77  void SetSubtype(objects::CSeqFeatData::ESubtype subtype) { m_Subtype = subtype; };
78  objects::CSeqFeatData::ESubtype GetSubtype() { return m_Subtype; };
79  void SetMajorType(objects::CSeqFeatData::E_Choice major_type) { m_MajorType = major_type; };
80  objects::CSeqFeatData::E_Choice GetMajorType() { return m_MajorType; };
81  virtual vector <string> GetVals(const objects::CSeq_feat& feat) {vector <string> x; return x;};
82  virtual vector<CRef<objects::edit::CApplyObject> > GetRelatedGeneApplyObjects(objects::CBioseq_Handle bsh);
83  void SetScope(CRef<CScope> scope) { m_Scope = scope; };
84  virtual bool AllowMultipleValues() { return false; };
85 
86 protected:
87  objects::CSeqFeatData::ESubtype m_Subtype;
88  objects::CSeqFeatData::E_Choice m_MajorType;
90 };
91 
92 
93 typedef vector< CRef<CFeatureSeqTableColumnBase> > TFeatureSeqTableColumnList;
94 
96 {
97 public:
98  static CRef<CFeatureSeqTableColumnBase> Create(const string &sTitle,
99  objects::CSeqFeatData::ESubtype subtype = objects::CSeqFeatData::eSubtype_any);
100 };
101 
103 {
104 public:
105  virtual bool AddToFeature(
106  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
107  virtual void ClearInFeature(
108  objects::CSeq_feat & in_out_feat );
109  virtual string GetFromFeat(
110  const objects::CSeq_feat & in_out_feat ) ;
111  virtual string GetLabel() const { return kPartialStart; }
112 };
113 
114 
116 {
117 public:
118  virtual bool AddToFeature(
119  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
120  virtual void ClearInFeature(
121  objects::CSeq_feat & in_out_feat );
122  virtual string GetFromFeat(
123  const objects::CSeq_feat & in_out_feat ) ;
124  virtual string GetLabel() const { return kPartialStop; }
125 };
126 
127 
129 {
130 public:
131  virtual bool AddToFeature(
132  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
133  virtual void ClearInFeature(
134  objects::CSeq_feat & in_out_feat );
135  virtual string GetFromFeat(
136  const objects::CSeq_feat & in_out_feat ) ;
137  virtual string GetLabel() const { return "Comment"; }
138 };
139 
140 
142 {
143 public:
144  virtual bool AddToFeature(
145  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
146  virtual void ClearInFeature(
147  objects::CSeq_feat & in_out_feat );
148  virtual string GetFromFeat(
149  const objects::CSeq_feat & in_out_feat ) ;
150  virtual string GetLabel() const { return "Exception"; }
151 };
152 
153 
155 {
156 public:
157  CGbQualColumn(string qual) { m_QualName = qual; };
158  virtual bool AddToFeature(
159  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
160  virtual void ClearInFeature(
161  objects::CSeq_feat & in_out_feat );
162  virtual string GetFromFeat(
163  const objects::CSeq_feat & in_out_feat );
164  virtual string GetLabel() const { return m_QualName; }
165 
166 protected:
167  string m_QualName;
168 };
169 
170 
172 {
173 public:
174  CRptUnitRangeColumn(const vector<size_t> lens);
175  virtual vector<string> IsValid(const vector<string>& values);
176  virtual string GetLabel() const { return "rpt_unit_range\nExample: 1..10"; }
177 protected:
178  vector<size_t> m_Lens;
179 };
180 
181 
183 {
184 public:
186 
187  virtual vector<string> IsValid(const vector<string>& values);
188 };
189 
191 {
192 public:
193  CSatelliteColumn(const string& satellite_field);
194  virtual bool AddToFeature(objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text);
195  virtual void ClearInFeature(objects::CSeq_feat & in_out_feat);
196  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat);
197  virtual string GetLabel() const { return kEmptyStr; }
198 private:
199  string x_AddSatellitePrefix(const string& value, objects::edit::EExistingText existing_text) const;
200  bool x_AddSatelliteType(objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text);
201  bool x_AddSatelliteName(objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text);
202  void x_ClearSatelliteSubFields(objects::CSeq_feat & in_out_feat) const;
203 
204  string x_GetSatelliteType(const string& field) const;
205  string x_GetSatelliteName(const string& field) const;
206 
207  enum EFieldType {
208  eSatellite, // satellite-type:satellite-name
209  eSatelliteType, // satellite-type = one of {satellite, microsatellite, minisatellite}
210  eSatelliteName // satellite-name
211  };
213 };
214 
215 
217 {
218 public:
219  CSatelliteTypeNameColumn(string satellite_type, bool need_unique = false)
220  : m_SatelliteType(satellite_type), m_RequireUniqueness(need_unique) {};
221  virtual bool AddToFeature(objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
222  virtual void ClearInFeature(objects::CSeq_feat & in_out_feat );
223  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
224  virtual string GetLabel() const { return m_SatelliteType + " name"; }
225  virtual bool RelaxedMatch(const objects::CSeq_feat & f1, const objects::CSeq_feat &f2) const;
227  virtual vector<string> IsValid(const vector<string>& values);
228 protected:
231  bool x_IsQualAMatch(const CGb_qual& qual) const;
232 };
233 
234 
236 {
237 public:
238  CProductColumn() : CGbQualColumn("product") {};
239  virtual bool AddToFeature(
240  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
241  virtual void ClearInFeature(
242  objects::CSeq_feat & in_out_feat );
243  virtual string GetFromFeat(
244  const objects::CSeq_feat & in_out_feat );
245  virtual string GetLabel() const { return "product"; }
246  virtual vector<CRef<objects::edit::CApplyObject> > GetApplyObjects(objects::CBioseq_Handle bsh);
247 
248 };
249 
250 
252 {
253 public:
254  CCodonStartColumn() : CGbQualColumn("codon_start") {};
255  virtual bool AddToFeature(
256  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
257  virtual void ClearInFeature(
258  objects::CSeq_feat & in_out_feat );
259  virtual string GetFromFeat(
260  const objects::CSeq_feat & in_out_feat );
261  virtual string GetLabel() const { return "codon_start"; }
262  virtual vector<CRef<objects::edit::CApplyObject> > GetApplyObjects(objects::CBioseq_Handle bsh);
263 };
264 
265 
267 {
268 public:
269  CGeneticCodeColumn() : CGbQualColumn("transl_table") {}
270  virtual bool AddToFeature(
271  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text);
272  virtual void ClearInFeature(
273  objects::CSeq_feat & in_out_feat);
274  virtual string GetFromFeat(
275  const objects::CSeq_feat & in_out_feat);
276  virtual string GetLabel() const { return "transl_table"; }
277 };
278 
279 
281 {
282 public:
283  CDescriptionColumn() : CGbQualColumn("description") {};
284  virtual bool AddToFeature(
285  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
286  virtual void ClearInFeature(
287  objects::CSeq_feat & in_out_feat );
288  virtual string GetFromFeat(
289  const objects::CSeq_feat & in_out_feat );
290  virtual string GetLabel() const { return "description"; }
291 };
292 
293 
295 {
296 public:
297  CGeneRefColumn(string qual);
298  virtual bool AddToFeature(
299  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
300  virtual void ClearInFeature(
301  objects::CSeq_feat & in_out_feat );
302  virtual string GetFromFeat(
303  const objects::CSeq_feat & in_out_feat );
304  virtual vector<CRef<objects::edit::CApplyObject> > GetApplyObjects(objects::CBioseq_Handle bsh);
305  static bool IsGeneRefField(string qual);
306 
307 private:
308  enum EFieldType {
315  };
316 
318 
319  static EFieldType x_GetFieldTypeFromString(string qual);
320 };
321 
322 
324 {
325 public:
326  CProtRefColumn(string qual);
327  virtual bool AddToFeature(
328  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
329  virtual void ClearInFeature(
330  objects::CSeq_feat & in_out_feat );
331  virtual string GetFromFeat(
332  const objects::CSeq_feat & in_out_feat );
333  static bool IsProtRefField(string qual);
334 
335 private:
336  enum EFieldType {
341  };
342 
344 
345  static EFieldType x_GetFieldTypeFromString(string qual);
346 };
347 
349 {
350 public:
351  CNcrnaClassColumn() : CGbQualColumn("ncRNA_class") {};
352  virtual bool AddToFeature(
353  objects::CSeq_feat & in_out_feat, const string & newValue, objects::edit::EExistingText existing_text );
354  virtual void ClearInFeature(
355  objects::CSeq_feat & in_out_feat );
356  virtual string GetFromFeat(
357  const objects::CSeq_feat & in_out_feat );
358 };
359 
361 {
362 public:
363  CDbXrefColumn() : CGbQualColumn("db_xref") {};
364  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
365  virtual void ClearInFeature( objects::CSeq_feat & in_out_feat );
366 };
367 
369 {
370 public:
371  CEvidenceColumn() : CGbQualColumn("evidence") {};
372  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
373 };
374 
376 {
377 public:
378  CRegionColumn() : CGbQualColumn("region") {};
379  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
380 };
381 
383 {
384 public:
385  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
386 };
387 
389 {
390 public:
391  CCodonsRecColumn() : CGbQualColumn("codons_recognized") {};
392  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
393 };
394 
396 {
397 public:
398  CAntiCodonColumn() : CGbQualColumn("anticodon") {};
399  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
400 };
401 
403 {
404 public:
405  CTagPeptideColumn() : CGbQualColumn("tag_peptide") {};
406  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
407 };
408 
410 {
411 public:
412  CCitationColumn() : CGbQualColumn("citation") {};
413  virtual string GetFromFeat(const objects::CSeq_feat & in_out_feat );
414 };
415 
416 
418 {
419 public:
420  CInferenceColumn() : CGbQualColumn("inference") {};
421  virtual bool AllowMultipleValues() { return true; };
422 };
423 
424 
425 int FindHighestFeatureId(const objects::CSeq_entry_Handle& entry);
426 CRef<objects::CSeq_table> BuildFeatureSeqTableFromSeqEntry(objects::CSeq_entry_Handle entry, const SAnnotSelector& sel);
427 void AddColumnsToFeatureTable(const vector<string> & fields, CRef<objects::CSeq_table> table, objects::CSeq_entry_Handle entry);
429 
430 CRef<objects::CSeq_loc> NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT CreateFeatLocation(const objects::CBioseq_Handle& bsh, int from, int to, bool ispartial5, bool ispartial3);
431 CRef<objects::CSeq_feat> NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT AddRibosomalRNA(const objects::CBioseq_Handle& bsh, string name, int from, int to, bool ispartial5, bool ispartial3);
432 CRef<CCmdComposite> NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT AddNamedrRna(objects::CSeq_entry_Handle entry, string rna_name, bool ispartial5, bool ispartial3);
433 CRef<objects::CSeq_feat> NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT AddMiscRNA(const objects::CBioseq_Handle& bsh, string name, int from, int to, bool ispartial5, bool ispartial3);
434 
437 
438 void SetRnaProductName( objects::CRNA_ref & rna, const string& product, string& remainder, objects::edit::EExistingText existing_text );
439 
441 
442 #endif
443  // _FEATEDIT_UTIL_H_
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetLabel() const
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
static CRef< CFeatureSeqTableColumnBase > Create(const string &sTitle, objects::CSeqFeatData::ESubtype subtype=objects::CSeqFeatData::eSubtype_any)
virtual vector< CConstRef< CObject > > GetObjects(objects::CBioseq_Handle bsh)
virtual vector< string > GetVals(const objects::CSeq_feat &feat)
objects::CSeqFeatData::ESubtype m_Subtype
virtual bool AllowMultipleValues()
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
void SetMajorType(objects::CSeqFeatData::E_Choice major_type)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
objects::CSeqFeatData::E_Choice GetMajorType()
virtual vector< CRef< objects::edit::CApplyObject > > GetRelatedGeneApplyObjects(objects::CBioseq_Handle bsh)
void SetScope(CRef< CScope > scope)
objects::CSeqFeatData::E_Choice m_MajorType
void SetSubtype(objects::CSeqFeatData::ESubtype subtype)
virtual vector< string > IsValid(const vector< string > &values)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
objects::CSeqFeatData::ESubtype GetSubtype()
virtual bool RelaxedMatch(const objects::CSeq_feat &f1, const objects::CSeq_feat &f2) const
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
CGbQualColumn(string qual)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetLabel() const
@Gb_qual.hpp User-defined methods of the data storage class.
Definition: Gb_qual.hpp:61
static bool IsGeneRefField(string qual)
static EFieldType x_GetFieldTypeFromString(string qual)
CGeneRefColumn(string qual)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
EFieldType m_FieldType
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
virtual bool AllowMultipleValues()
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
CObject –.
Definition: ncbiobj.hpp:180
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetLabel() const
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual string GetLabel() const
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
static EFieldType x_GetFieldTypeFromString(string qual)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
static bool IsProtRefField(string qual)
CProtRefColumn(string qual)
EFieldType m_FieldType
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetLabel() const
CRptUnitRangeColumn(const vector< size_t > lens)
vector< size_t > m_Lens
virtual vector< string > IsValid(const vector< string > &values)
virtual vector< string > IsValid(const vector< string > &values)
string x_GetSatelliteName(const string &field) const
string x_AddSatellitePrefix(const string &value, objects::edit::EExistingText existing_text) const
bool x_AddSatelliteName(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
bool x_AddSatelliteType(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
CSatelliteColumn(const string &satellite_field)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
void x_ClearSatelliteSubFields(objects::CSeq_feat &in_out_feat) const
string x_GetSatelliteType(const string &field) const
bool x_IsQualAMatch(const CGb_qual &qual) const
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetLabel() const
virtual bool RelaxedMatch(const objects::CSeq_feat &f1, const objects::CSeq_feat &f2) const
virtual vector< string > IsValid(const vector< string > &values)
CSatelliteTypeNameColumn(string satellite_type, bool need_unique=false)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
void SetUniqueness(bool val)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
Include a standard set of the NCBI C++ Toolkit most basic headers.
CRef< CCmdComposite > ApplyFeatureSeqTableToSeqEntry(CRef< objects::CSeq_table > table, objects::CSeq_entry_Handle entry)
int FindHighestFeatureId(const objects::CSeq_entry_Handle &entry)
const string kProblems
vector< CRef< CFeatureSeqTableColumnBase > > TFeatureSeqTableColumnList
const string kFeatureID
CRef< objects::CSeq_feat > AddRibosomalRNA(const objects::CBioseq_Handle &bsh, string name, int from, int to, bool ispartial5, bool ispartial3)
static const int kNumSatelliteTypes
void SetRnaProductName(objects::CRNA_ref &rna, const string &product, string &remainder, objects::edit::EExistingText existing_text)
CRef< CCmdComposite > CreateControlRegion(objects::CSeq_entry_Handle entry)
const string kPartialStart
static const string kSatelliteTypes[]
void AddColumnsToFeatureTable(const vector< string > &fields, CRef< objects::CSeq_table > table, objects::CSeq_entry_Handle entry)
CRef< CCmdComposite > AddNamedrRna(objects::CSeq_entry_Handle entry, string rna_name, bool ispartial5, bool ispartial3)
CRef< CCmdComposite > CreateMicrosatellite(objects::CSeq_entry_Handle entry)
CRef< objects::CSeq_table > BuildFeatureSeqTableFromSeqEntry(objects::CSeq_entry_Handle entry, const SAnnotSelector &sel)
const string kPartialStop
CRef< objects::CSeq_feat > AddMiscRNA(const objects::CBioseq_Handle &bsh, string name, int from, int to, bool ispartial5, bool ispartial3)
CRef< objects::CSeq_loc > CreateFeatLocation(const objects::CBioseq_Handle &bsh, int from, int to, bool ispartial5, bool ispartial3)
const string kStopColLabel
const string kStartColLabel
#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
#define NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT
Definition: gui_export.h:515
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
@ e_not_set
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
EExistingText
SAnnotSelector –.
Modified on Fri Sep 20 14:58:15 2024 by modify_doxy.py rev. 669887