,
81 "bad - wrong text id",
82 "complex - comment too big",
83 "complex - comment index overflow",
84 "complex - location is not point",
85 "complex - location is not gi",
86 "complex - location gi is bad",
87 "complex - location strand is bad",
88 "complex - id count is too large",
89 "complex - id count is not one",
90 "complex - allele length is too big",
91 "complex - allele index overflow",
92 "complex - allele count is too large",
93 "complex - weight has bad value",
94 "complex - weight count is not one",
95 "complex - bad format of dbSnpQAdata",
96 "complex - no place for dbSnpQAdata",
97 "complex - dbSnpQAdata index overflow" 172 size_talleles_count = 0;
173 boolqual_allele =
false;
174 boolqual_replace =
false;
175 boolweight_qual =
false;
176 boolweight_ext =
false;
182 const string& qual_id = gb_qual.
GetQual();
183 const string& qual_val = gb_qual.
GetVal();
185qual_replace =
true;
193 if( qual_val ==
kVal_1) {
204 catch( exception& ) {
225 if( qual_replace && qual_allele ) {
228 if( qual_replace ) {
235 boolhave_snp_id =
false;
240 const CDbtag& dbtag = **it;
245 switch(
tag.Which() ) {
253 catch( exception& ) {
262 if( !have_snp_id ) {
284 const string& ext_id_str = ext_id.
GetStr();
320 if( snp_data.empty() ) {
335 if( !user_data.
IsStr() ) {
353 switch( user_data.
Which() ) {
382 switch( loc.
Which() ) {
406 id= &point.
GetId();
430 id= &interval.
GetId();
485dbxref[0].Reset(
new CDbtag);
486 CDbtag& dbtag = *dbxref[0];
498 if( !ref || !ref->ReferencedOnlyOnce() ) {
519 size_talleles_count = 0;
527 const string& qual_str =
530 size_tqual_index = 0;
531 for(
size_t i= 0;
i< alleles_count; ++
i) {
534 if( qual_index < qual.size() ) {
548 if( qual_index < qual.size() ) {
564qual.resize(qual_index);
572CSeq_feat::TExt::TData::iterator it =
data.begin();
573 if( it ==
data.end() ) {
593CSeq_feat::TExt::TData::iterator it =
data.begin();
596 if( it ==
data.end() ) {
611 if( it ==
data.end() ) {
660 if( position_delta == 0 ) {
688interval.
SetFrom(to_position-position_delta);
689interval.
SetTo(to_position);
713 if( position_delta == 0 ) {
737interval.
SetFrom(to_position-position_delta);
738interval.
SetTo(to_position);
796 const string& allele = annot.
x_GetAllele(allele_index);
797 if( !allele.empty() ) {
798 str<<
'='<< allele;
815: m_Seq_annot(&annot)
821: m_Seq_id(
info.m_Seq_id),
822m_SNP_Set(
info.m_SNP_Set),
823m_Comments(
info.m_Comments),
824m_Alleles(
info.m_Alleles),
825m_QualityCodesStr(
info.m_QualityCodesStr),
826m_QualityCodesOs(
info.m_QualityCodesOs),
827m_Extra(
info.m_Extra),
828m_Seq_annot(
info.m_Seq_annot)
906: m_Strings(ss.m_Strings)
940 if( it !=
m_Indices->end() && it->first == s ) {
944 if( index <= max_index ) {
953: m_ElementSize(ss.m_ElementSize), m_Strings(ss.m_Strings)
983 size_t size= os.size();
1004 if( it !=
m_Indices->end() && it->first == s ) {
1008 if( pos > max_index*
size) {
1011 size_tindex = pos/
size;
1022 size_tpos = index*
size;
1041 for(
const char* c =
"-NACGT"; *c; ++c ) {
1044 for(
const char* c1 =
"ACGT"; *c1; ++c1 ) {
1046 for(
const char* c2 =
"ACGT"; *c2; ++c2 ) {
@Gb_qual.hpp User-defined methods of the data storage class.
@Imp_feat.hpp User-defined methods of the data storage class.
size_t GetIndex(const TOctetString &s, size_t max_index)
vector< char > TOctetString
unique_ptr< TIndices > m_Indices
void GetString(size_t index, TOctetString &) const
void SetTotalString(size_t element_size, TOctetString &s)
CIndexedOctetStrings(void)
size_t GetIndex(const string &s, size_t max_index)
unique_ptr< TIndices > m_Indices
void Resize(size_t new_size)
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
static bool Assign(string &s, const string &src)
const CSeq_entry_Info & GetParentSeq_entry_Info(void) const
void x_ParentDetach(CSeq_annot_Info &parent)
void x_DropAnnotObjects(CTSE_Info &tse)
SSNP_Info::TAlleleIndex x_GetAlleleIndex(const string &allele)
void OffsetGi(TIntId gi_offset)
SSNP_Info::TQualityCodesIndex x_GetQualityCodesIndex(const string &str)
const CSeq_id & GetSeq_id(void) const
void x_DoUpdate(TNeedUpdateFlags flags)
const CSeq_entry_Info & GetParentSeq_entry_Info(void) const
CIndexedStrings m_Alleles
void SetSeq_id(const CSeq_id &id)
const string & x_GetExtra(SSNP_Info::TExtraIndex index) const
const CSeq_annot_Info & GetParentSeq_annot_Info(void) const
SSNP_Info::TExtraIndex x_GetExtraIndex(const string &str)
CIndexedStrings m_Comments
void x_UpdateAnnotIndexContents(CTSE_Info &tse)
CRef< CSeq_annot > m_Seq_annot
void x_ParentAttach(CSeq_annot_Info &parent)
void x_FinishParsing(void)
SSNP_Info::TCommentIndex x_GetCommentIndex(const string &comment)
CIndexedStrings m_QualityCodesStr
const string & x_GetComment(SSNP_Info::TCommentIndex index) const
bool x_CheckId(const CSeq_id &id)
CSeq_annot_SNP_Info(void)
~CSeq_annot_SNP_Info(void)
const string & x_GetAllele(SSNP_Info::TAlleleIndex index) const
void x_GetQualityCodesOs(SSNP_Info::TQualityCodesIndex index, TOctetString &os) const
const string & x_GetQualityCodesStr(SSNP_Info::TQualityCodesIndex index) const
CIndexedOctetStrings m_QualityCodesOs
void x_UnmapAnnotObjects(CTSE_Info &tse)
namespace ncbi::objects::
void x_SetDirtyAnnotIndex(void)
virtual void x_DoUpdate(TNeedUpdateFlags flags)
void x_BaseParentAttach(CTSE_Info_Object &parent)
void x_BaseParentDetach(CTSE_Info_Object &parent)
const CTSE_Info_Object & GetBaseParent_Info(void) const
virtual void x_UpdateAnnotIndexContents(CTSE_Info &tse)
void x_UnmapSNP_Table(const CAnnotName &name, const CSeq_id_Handle &key, const CSeq_annot_SNP_Info &snp_info)
bool x_MapSNP_Table(const CAnnotName &name, const CSeq_id_Handle &key, const CSeq_annot_SNP_Info &snp_info)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
container_type::iterator iterator
container_type::value_type value_type
static const char * str(char *buf, int n)
#define GI_FROM(T, value)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
C * SerialClone(const C &src)
Create on heap a clone of the source object.
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
ENa_strand GetStrand(void) const
Get the location's strand.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
void Reset(void)
Reset reference object.
bool ReferencedOnlyOnce(void) const THROWS_NONE
Check if object is referenced only once.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
const TStr & GetStr(void) const
Get the variant data.
E_Choice
Choice variants.
bool IsLim(void) const
Check if variant Lim is selected.
const TTag & GetTag(void) const
Get the Tag member data.
void SetTag(TTag &value)
Assign a value to Tag data member.
const TData & GetData(void) const
Get the Data member data.
const TDb & GetDb(void) const
Get the Db member data.
E_Choice Which(void) const
Which variant is currently selected.
TLim GetLim(void) const
Get the variant data.
bool IsStr(void) const
Check if variant Str is selected.
TData & SetData(void)
Assign a value to Data data member.
const TStr & GetStr(void) const
Get the variant data.
bool IsSetNum(void) const
required for strs, ints, reals, oss Check if a value has been assigned to Num data member.
void SetLabel(TLabel &value)
Assign a value to Label data member.
TInt GetInt(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
void SetType(TType &value)
Assign a value to Type data member.
void SetData(TData &value)
Assign a value to Data data member.
const TLabel & GetLabel(void) const
Get the Label member data.
const TType & GetType(void) const
Get the Type member data.
void SetDb(const TDb &value)
Assign a value to Db data member.
vector< CRef< CUser_field > > TData
const TOs & GetOs(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
@ e_not_set
No variant selected.
@ eLim_tr
space to right of position
bool IsSetTitle(void) const
for user defined label Check if a value has been assigned to Title data member.
const TVal & GetVal(void) const
Get the Val member data.
void SetQual(const TQual &value)
Assign a value to Qual data member.
const TKey & GetKey(void) const
Get the Key member data.
bool IsSetLoc(void) const
original location string Check if a value has been assigned to Loc data member.
bool IsSetComment(void) const
Check if a value has been assigned to Comment data member.
vector< CRef< CDbtag > > TDbxref
TDbxref & SetDbxref(void)
Assign a value to Dbxref data member.
bool IsSetQual(void) const
qualifiers Check if a value has been assigned to Qual data member.
bool IsSetExt(void) const
user defined structure extension Check if a value has been assigned to Ext data member.
void SetLocation(TLocation &value)
Assign a value to Location data member.
void SetComment(const TComment &value)
Assign a value to Comment data member.
bool IsSetDescr(void) const
text description Check if a value has been assigned to Descr data member.
const TQual & GetQual(void) const
Get the Qual member data.
bool IsSetPartial(void) const
incomplete in some way? Check if a value has been assigned to Partial 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 SetExt(TExt &value)
Assign a value to Ext data member.
const TData & GetData(void) const
Get the Data member data.
bool IsSetExcept(void) const
something funny about this? Check if a value has been assigned to Except data member.
bool IsSetExcept_text(void) const
explain if except=TRUE Check if a value has been assigned to Except_text data member.
const TDbxref & GetDbxref(void) const
Get the Dbxref member data.
void SetData(TData &value)
Assign a value to Data data member.
bool IsSetExp_ev(void) const
Check if a value has been assigned to Exp_ev data member.
void ResetComment(void)
Reset Comment data member.
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
bool IsSetPseudo(void) const
annotated on pseudogene? Check if a value has been assigned to Pseudo data member.
const TComment & GetComment(void) const
Get the Comment member data.
void ResetExt(void)
Reset Ext data member.
void SetVal(const TVal &value)
Assign a value to Val data member.
bool IsSetCit(void) const
citations for this feature Check if a value has been assigned to Cit data member.
vector< CRef< CGb_qual > > TQual
const TQual & GetQual(void) const
Get the Qual member data.
bool IsSetDbxref(void) const
support for xref to other databases Check if a value has been assigned to Dbxref data member.
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.
const TExt & GetExt(void) const
Get the Ext member data.
void SetTo(TTo value)
Assign a value to To data member.
void SetPoint(TPoint value)
Assign a value to Point data member.
void SetId(TId &value)
Assign a value to Id data member.
ENa_strand
strand of nucleic acid
const TId & GetId(void) const
Get the Id member data.
const TPnt & GetPnt(void) const
Get the variant data.
TPoint GetPoint(void) const
Get the Point member data.
void SetId(TId &value)
Assign a value to Id data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
TFrom GetFrom(void) const
Get the From member data.
void SetFuzz(TFuzz &value)
Assign a value to Fuzz data member.
bool IsSetFuzz(void) const
Check if a value has been assigned to Fuzz data member.
const TFuzz & GetFuzz(void) const
Get the Fuzz member data.
void ResetFuzz(void)
Reset Fuzz data member.
E_Choice Which(void) const
Which variant is currently selected.
const TId & GetId(void) const
Get the Id member data.
void SetFrom(TFrom value)
Assign a value to From data member.
TGi GetGi(void) const
Get the variant data.
TGi & SetGi(void)
Select the variant.
void ResetStrand(void)
Reset Strand data member.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
bool IsSetFuzz_to(void) const
Check if a value has been assigned to Fuzz_to data member.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
TStrand GetStrand(void) const
Get the Strand member data.
bool IsGi(void) const
Check if variant Gi is selected.
TTo GetTo(void) const
Get the To member data.
const TInt & GetInt(void) const
Get the variant data.
bool IsSetFuzz_from(void) const
Check if a value has been assigned to Fuzz_from data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
void ResetStrand(void)
Reset Strand data member.
unsigned int
A callback function used to compare two keys in a database.
constexpr auto sort(_Init &&init)
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
Int4 delta(size_t dimension_, const Int4 *score_)
static const char * kId_Extra
static const char * kId_variation
static const char * kId_replace
static const size_t kMax_AlleleLength
static const char * kId_allele
static const char * kId_weight
C * sx_GetUnreferenced(CRef< C > &ref)
static const char * kId_dbSnpSynonymyData
static const size_t kMax_CommentLength
static const char * kVal_1
static const char * kId_dbSnpQAdata
static const char * kId_QualityCodes
static const char * kId_dbSNP
static const char *const s_SNP_Type_Label[eSNP_Type_last]
void x_UpdateSeq_featData(CSeq_feat &feat, const CSeq_annot_SNP_Info &annot_info) const
ESNP_Type ParseSeq_feat(const CSeq_feat &feat, CSeq_annot_SNP_Info &annot_info)
CRef< CSeq_feat > CreateSeq_feat(const CSeq_annot_SNP_Info &annot_info) const
string GetLabel(const CSeq_annot_SNP_Info &info) const
void x_UpdateSeq_feat(CSeq_feat &feat, const CSeq_annot_SNP_Info &annot_info) const
CUser_field::TData::E_Choice GetQualityCodesWhich(void) const
TAlleleIndex m_AllelesIndices[kMax_AllelesCount]
TQualityCodesIndex m_QualityCodesIndex
void UpdateSeq_feat(CRef< CSeq_feat > &seq_feat, const CSeq_annot_SNP_Info &annot_info) const
@ eSNP_Complex_LocationGiIsBad
@ eSNP_Complex_LocationIsNotPoint
@ eSNP_Complex_IdCountIsNotOne
@ eSNP_Complex_CommentIndexOverflow
@ eSNP_Bad_WrongMemberSet
@ eSNP_Complex_AlleleCountTooLarge
@ eSNP_Complex_WeightBadValue
@ eSNP_Complex_QAdataIndexOverflow
@ eSNP_Complex_WeightCountIsNotOne
@ eSNP_Complex_LocationStrandIsBad
@ eSNP_Complex_AlleleTooBig
@ eSNP_Complex_NoPlaceForQAdata
@ eSNP_Complex_IdCountTooLarge
@ eSNP_Complex_AlleleIndexOverflow
@ eSNP_Complex_CommentTooBig
TPositionDelta m_PositionDelta
CRef< CSeq_feat > x_CreateSeq_feat(void) const
bool MinusStrand(void) const
size_t GetAllelesCount(void) const
bool PlusStrand(void) const
TCommentIndex m_CommentIndex
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