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

Go to the SVN repository for this file.

1 #ifndef _GUI_PACKAGES_UPDATE_SEQ_PARAMS_HPP_
2 #define _GUI_PACKAGES_UPDATE_SEQ_PARAMS_HPP_
3 /* $Id: update_seq_params.hpp 37873 2017-02-24 22:12:47Z asztalos $
4  * ===========================================================================
5  *
6  * PUBLIC DOMAIN NOTICE
7  * National Center for Biotechnology Information
8  *
9  * This software/database is a "United States Government Work" under the
10  * terms of the United States Copyright Act. It was written as part of
11  * the author's official duties as a United States Government employee and
12  * thus cannot be copyrighted. This software/database is freely available
13  * to the public for use. The National Library of Medicine and the U.S.
14  * Government have not placed any restriction on its use or reproduction.
15  *
16  * Although all reasonable efforts have been taken to ensure the accuracy
17  * and reliability of the software and data, the NLM and the U.S.
18  * Government do not and cannot warrant the performance or results that
19  * may be obtained by using this software or data. The NLM and the U.S.
20  * Government disclaim all warranties, express or implied, including
21  * warranties of performance, merchantability or fitness for any particular
22  * purpose.
23  *
24  * Please cite the author in any work or product based on this material.
25  *
26  * ===========================================================================
27  *
28  * Authors: Andrea Asztalos
29  * Structure holding information about how to perform the sequence update
30  */
31 
32 #include <corelib/ncbistd.hpp>
34 #include <gui/gui_export.h>
35 
36 
38 
39 /// Stores parameters regarding the type of sequence update, on how to handle existing features and
40 /// on how to handle imported features
41 ///
43 {
44 public:
46  eSeqUpdateNoChange = 0, /// do not change the old sequence
47  eSeqUpdateReplace, /// replace old sequence with update sequence
48  eSeqUpdatePatch, /// patch old sequence with update in the aligned region
49  eSeqUpdateExtend5, /// extend the 5' end of old sequence with the update
50  eSeqUpdateExtend3, /// extend the 3' end of old sequence with the update
51  CountSeqUpdateType
52  };
53 
55  eFeatRemoveNone = 0,
59  CountFeatRemoveType
60  };
61 
63  eFeatUpdateAllExceptDups = 0,
67  CountFeatUpdateType
68  };
69 
71  eProtUpdate = (1 << 0), ///< retranslate coding regions and update the proteins
72  eProtUpdateTruncate = (1 << 1), ///< truncate retranslated proteins at stops
73  eProtUpdateExtend5 = (1 << 2), ///< extend retranslated proteins without starts
74  eProtUpdateExtend3 = (1 << 3), ///< extend retranslated proteins without stops
75  CountUpdateProteinType
76  };
77  typedef int TProtUpdFlags; ///< bitwise OR of "EProteinUpdateType"
78 
82 
83  /// Flag to indicate that features from the update sequence will be imported
85  /// Defines the imported feature subtype
86  objects::CSeqFeatData::ESubtype m_FeatImportType;
89  /// flag to update protein IDs, default is to update (false) - relevant only to imported protein IDs
91  /// flag to attach a citation with the current date (false)
93 
94  SUpdateSeqParams(ESequenceUpdateType seq_update = eSeqUpdateNoChange, bool ignore_align = false)
95  : m_SeqUpdateOption(seq_update),
96  m_FeatRemoveOption(eFeatRemoveNone),
97  m_IgnoreAlignment(ignore_align),
98  m_ImportFeatures(false),
99  m_FeatImportType(objects::CSeqFeatData::eSubtype_any),
100  m_FeatImportOption(eFeatUpdateAll),
101  m_UpdateProteins(0),
102  m_KeepProteinId(false),
103  m_AddCitSub(false) {}
104 
105  bool AreUpdateParamsValid(void);
106 };
107 
108 
110 
111 #endif
112  // _GUI_PACKAGES_UPDATE_SEQ_PARAMS_HPP_
#define false
Definition: bool.h:36
Stores parameters regarding the type of sequence update, on how to handle existing features and on ho...
EFeatUpdateType m_FeatImportOption
SUpdateSeqParams(ESequenceUpdateType seq_update=eSeqUpdateNoChange, bool ignore_align=false)
ESequenceUpdateType m_SeqUpdateOption
TProtUpdFlags m_UpdateProteins
int TProtUpdFlags
bitwise OR of "EProteinUpdateType"
objects::CSeqFeatData::ESubtype m_FeatImportType
Defines the imported feature subtype.
bool m_AddCitSub
flag to attach a citation with the current date (false)
EFeatRemoveType m_FeatRemoveOption
bool m_ImportFeatures
Flag to indicate that features from the update sequence will be imported.
bool m_KeepProteinId
flag to update protein IDs, default is to update (false) - relevant only to imported protein IDs
@ eSeqUpdateReplace
do not change the old sequence
@ eSeqUpdateExtend3
extend the 5' end of old sequence with the update
@ eSeqUpdatePatch
replace old sequence with update sequence
@ eSeqUpdateExtend5
patch old sequence with update in the aligned region
Include a standard set of the NCBI C++ Toolkit most basic headers.
#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 NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT
Definition: gui_export.h:515
Defines to provide correct exporting from DLLs in Windows.
Modified on Fri Feb 23 11:46:48 2024 by modify_doxy.py rev. 669887