37 #ifndef OBJECTS_GENERAL_USER_OBJECT_HPP
38 #define OBJECTS_GENERAL_USER_OBJECT_HPP
67 EParseField parse = eParse_String);
69 EParseField parse = eParse_String);
93 const string& delim =
".",
96 const string& delim =
".",
104 const string& delim =
".",
108 const string& delim =
".",
113 bool HasField(
const string&
str,
114 const string& delim =
".",
135 eCategory_Unknown = -1,
141 eExperiment_Unknown = -1,
146 ECategory GetCategory(
void)
const;
149 EExperiment GetExperimentType(
void)
const;
162 eObjectType_Unknown = -1,
172 eObjectType_Unreviewed
175 EObjectType GetObjectType()
const;
176 void SetObjectType(EObjectType obj_type);
177 bool IsDBLink()
const {
return GetObjectType() == eObjectType_DBLink; }
179 bool IsOriginalId()
const {
return GetObjectType() == eObjectType_OriginalId; }
180 bool IsUnverified()
const {
return GetObjectType() == eObjectType_Unverified; }
182 bool IsCleanup()
const {
return GetObjectType() == eObjectType_Cleanup; }
184 bool IsFileTrack()
const {
return GetObjectType() == eObjectType_FileTrack; }
186 bool IsUnreviewed()
const {
return GetObjectType() == eObjectType_Unreviewed; }
190 void AddUnverifiedOrganism();
191 void RemoveUnverifiedOrganism();
193 void AddUnverifiedFeature();
194 void RemoveUnverifiedFeature();
196 void AddUnverifiedMisassembled();
197 void RemoveUnverifiedMisassembled();
199 void AddUnverifiedContaminant();
200 void RemoveUnverifiedContaminant();
203 bool IsUnreviewedUnannotated()
const;
204 void AddUnreviewedUnannotated();
205 void RemoveUnreviewedUnannotated();
207 void UpdateNcbiCleanup(
int version);
213 void SetFileTrackURL(
const string& url);
214 void SetFileTrackUploadId(
const string& upload_id);
220 eRefGeneTrackingStatus_Error = -1,
228 eRefGeneTrackingStatus_WGS
231 ERefGeneTrackingStatus GetRefGeneTrackingStatus()
const;
232 void ResetRefGeneTrackingStatus();
236 return (
val != eRefGeneTrackingStatus_NotSet &&
val != eRefGeneTrackingStatus_Error);
239 void SetRefGeneTrackingGenomicSource(
const string& genomic_source);
240 const string& GetRefGeneTrackingGenomicSource()
const;
241 void ResetRefGeneTrackingGenomicSource();
244 void SetRefGeneTrackingGenerated(
bool val =
true);
245 bool GetRefGeneTrackingGenerated()
const;
246 void ResetRefGeneTrackingGenerated();
249 void SetRefGeneTrackingCollaborator(
const string& collaborator);
250 const string& GetRefGeneTrackingCollaborator()
const;
251 void ResetRefGeneTrackingCollaborator();
256 void SetRefGeneTrackingCollaboratorURL(
const string& collaborator_url);
257 const string& GetRefGeneTrackingCollaboratorURL()
const;
258 void ResetRefGeneTrackingCollaboratorURL();
273 switch (GetErrCode()) {
274 case eUserFieldWithoutLabel:
return "User field without label";
275 case eBadUserFieldData:
return "Unexpected data type";
292 m_Accession(accession),
305 const string&
GetName()
const {
return m_Name; }
314 bool IsEmpty()
const {
return !(IsSetAccession() || IsSetComment() ||
315 IsSetName() || IsSetGI() ||
316 IsSetFrom() || IsSetTo()); }
339 void ResetRefGeneTrackingIdenticalTo();
343 void SetRefGeneTrackingAssembly(
const TRefGeneTrackingAccessions& acc_list);
344 TRefGeneTrackingAccessions GetRefGeneTrackingAssembly()
const;
345 void ResetRefGeneTrackingAssembly();
353 bool x_IsUnverifiedType(
const string&
val)
const;
354 bool x_IsUnverifiedType(
const string&
val,
const CUser_field& field)
const;
355 void x_AddUnverifiedType(
const string&
val);
356 void x_RemoveUnverifiedType(
const string&
val);
358 bool x_IsUnreviewedType(
const string&
val)
const;
359 bool x_IsUnreviewedType(
const string&
val,
const CUser_field& field)
const;
360 void x_AddUnreviewedType(
const string&
val);
361 void x_RemoveUnreviewedType(
const string&
val);
364 void x_SetRefGeneTrackingField(
const string& field_name,
const string&
value);
365 const string& x_GetRefGeneTrackingField(
const string& field_name)
const;
@ eBoth
Both preliminary and traceback stages.
CRefGeneTrackingAccession(const CRefGeneTrackingAccession &cpy)=delete
Prohibit copy constructor and assignment operator.
CRefGeneTrackingAccession & operator=(const CRefGeneTrackingAccession &value)=delete
bool IsSetComment() const
CRefGeneTrackingAccession(const string &accession, TGi gi=ZERO_GI, TSeqPos from=kInvalidSeqPos, TSeqPos to=kInvalidSeqPos, const string &comment=kEmptyStr, const string &acc_name=kEmptyStr)
const string & GetName() const
const string & GetComment() const
CRefGeneTrackingAccession()
~CRefGeneTrackingAccession()
const string & GetAccession() const
bool IsSetAccession() const
virtual const char * GetErrCodeString() const override
Get error code interpreted as text.
NCBI_EXCEPTION_DEFAULT(CRefGeneTrackingException, CException)
**** User-object ********************************************** * * a general object for a user defin...
@ eRefGeneTrackingStatus_INFERRED
@ eRefGeneTrackingStatus_VALIDATED
@ eRefGeneTrackingStatus_PREDICTED
@ eRefGeneTrackingStatus_NotSet
@ eRefGeneTrackingStatus_PROVISIONAL
@ eRefGeneTrackingStatus_PIPELINE
@ eRefGeneTrackingStatus_REVIEWED
bool IsRefGeneTracking() const
ECategory
enums for implicit typing of user objects
bool IsSetRefGeneTrackingIdenticalTo() const
bool IsSetRefGeneTrackingGenomicSource() const
@ eObjectType_RefGeneTracking
@ eObjectType_StructuredComment
@ eObjectType_AutodefOptions
@ eObjectType_ValidationSuppression
bool IsOriginalId() const
bool IsSetRefGeneTrackingCollaboratorURL() const
bool IsValidationSuppression() const
vector< CConstRef< CRefGeneTrackingAccession > > TRefGeneTrackingAccessions
bool IsAutodefOptions() const
bool IsSetRefGeneTrackingStatus() const
CUser_object_Base Tparent
CUser_object(const CUser_object &value)
Prohibit copy constructor and assignment operator.
ELabelContent
enum controlling what to return for a label this mirrors a request inside of feature::GetLabel()
EExperiment
sub-category experiment
bool IsUnverified() const
CUser_object(void)
constructor
bool IsSetRefGeneTrackingCollaborator() const
EParseField
how to interpret the value in the AddField() conversion functions below.
@ eParse_String
Add string even if all numbers.
bool IsUnreviewed() const
bool IsSetRefGeneTrackingAssembly() const
bool IsStructuredComment() const
CUser_object & operator=(const CUser_object &value)
static const char * str(char *buf, int n)
void SetField(objects::CUser_object &user, const string &field_name, const string &val)
unsigned int TSeqPos
Type for sequence locations and lengths.
const TSeqPos kInvalidSeqPos
Define special value for invalid sequence position.
EErrCode
Error types that an application can generate.
virtual const char * GetErrCodeString(void) const
Get error code interpreted as text.
string GetLabel(const CSeq_id &id)
int64_t Int8
8-byte (64-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
ECase
Which type of string comparison.
@ eCase
Case sensitive compare.
#define NCBI_GENERAL_EXPORT
static const char label[]
const string version
version string
const GenericPointer< typename T::ValueType > T2 value
bool IsUnverifiedMisassembled(const CBioseq &seq)
bool IsUnverifiedOrganism(const CBioseq &seq)
bool IsUnverifiedContaminant(const CBioseq &seq)
bool IsUnverifiedFeature(const CBioseq &seq)
static void SetRefGeneTrackingStatus(CRef< CSeq_entry > entry, string status)