1 #ifndef SNP_UTIL___SNP_UTILS__HPP
2 #define SNP_UTIL___SNP_UTILS__HPP
226 static string ClinSigAsString(
const CVariation_ref& var, ELetterCase LetterCase = eLetterCase_Mixed);
236 static string ClinSigAsString(TClinSigID ClinSigID, ELetterCase LetterCase = eLetterCase_Mixed);
245 #define SNP_VAR_EXT_CLASS "SNPData"
246 #define SNP_VAR_EXT_BITFIELD "Bitfield"
299 eSNPPropName_ResourceLinkURL
311 static void VariantPropAsStrings(list<string>& ResList,
const CVariantProperties& prop, ESNPPropTypes ePropType);
321 template <
class TVariation>
static void GetDeltas(list<string>& Alleles,
const TVariation* pVariation);
324 template <
class TPVariation>
static bool x_CommonConvertFeat(TPVariation pVariation,
const CSeq_feat& SrcFeat);
331 if(!pVariation || !pVariation->CanGetData())
333 const typename TVariation::TData& Data(pVariation->GetData());
336 const typename TVariation::TData::TSet& Set(Data.GetSet());
337 if(Set.CanGetVariations()) {
338 ITERATE(
typename TVariation::TData::TSet::TVariations, iVariations, Set.GetVariations()) {
339 GetDeltas(Alleles, iVariations->GetPointer());
343 if(Data.IsInstance()) {
345 VarInst(Data.GetInstance());
346 if(VarInst.CanGetDelta()) {
348 if((*iDelta)->CanGetSeq()) {
350 switch(DeltaSeq.
Which()) {
363 Alleles.push_back(sAllele);
397 vector<string> alleles;
418 string sAllelesTogether(
NStr::Join(alleles,
"/"));
447 pVariation->SetDescription(
"SNP data");
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.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
namespace ncbi::objects::
CSnpBitfield is a facade for representing any version of the SNP bitfield.
EVariationClass GetVariationClass() const
void SetDeletionInsertion(const string &sequence, ESeqType seq_type)
Make this variant an insertion.
void SetSNV(const CSeq_data &nucleotide, CRef< CDelta_item > offset=null)
void SetMNP(const CSeq_data &nucleotide, TSeqPos length, CRef< CDelta_item > offset=null)
set of functions for dealing with SNP represented as variation objects
static void GetDeltas(list< string > &Alleles, const TVariation *pVariation)
add alleles to a list of strings from deltas in variation data
static bool x_CommonConvertFeat(TPVariation pVariation, const CSeq_feat &SrcFeat)
static const string sResourceLink_RsID
ESNPPropTypes
enums to control getting a string list representation of various CVariantProperties
@ eSNPPropName_GeneLocation
prop.gene-location
@ eSNPPropName_ResourceLink
prop.resource-link
@ eSNPPropName_QualityCheck
prop.quality-check
@ eSNPPropName_Mapping
prop.mapping
@ eSNPPropName_FreqValidation
prop.frequence-based-validation
@ eSNPPropName_Effect
prop.effect
static void DecodeBitfield(CVariantProperties &prop, const CSnpBitfield &bf)
convert SNP bitfield data to respective fields in CVariantProperties
static TRsid GetRsid(const CMappedFeat &mapped_feat)
Return rsid of SNP.
ELetterCase
controls the case of strings returned from ClinSigAsString()
@ eLetterCase_ForceLower
always use lower case only
CPhenotype::EClinical_significance EClinSigID
static CConstRef< CDbtag > GetTag(const CSeq_feat &SrcFeat)
find a SNP tag in the feature returns NULL if no such tag (sm_dbTag_dbSNP)
vector< string > TAlleles
list of alleles belonging to particular SNP a deletion is represented by a "-"
static bool IsSnp(const CMappedFeat &mapped_feat)
Determine if feature is a SNP.
static void GetAlleles(const CMappedFeat &mapped_feat, TAlleles &Alleles)
Return list of alleles encoded in qual.
static CSnpBitfield GetBitfield(const CMappedFeat &)
Return bitfield information stored in the feature.
static const string sm_dbTag_dbSNP
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
const TPrim & Get(void) const
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
#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 string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
#define NCBI_SNPUTIL_EXPORT
const TIupacaa & GetIupacaa(void) const
Get the variant data.
bool IsIupacaa(void) const
Check if variant Iupacaa is selected.
const TIupacna & GetIupacna(void) const
Get the variant data.
bool CanGetSeq_data(void) const
Check if it is safe to call GetSeq_data method.
bool IsIupacna(void) const
Check if variant Iupacna is selected.
const TSeq_data & GetSeq_data(void) const
Get the Seq_data member data.
const TInstance & GetInstance(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
void SetData(TData &value)
Assign a value to Data data member.
const TData & GetData(void) const
Get the Data member data.
bool IsInstance(void) const
Check if variant Instance is selected.
const TLiteral & GetLiteral(void) const
Get the variant data.
EClinical_significance
does this variant have known clinical significance?
@ e_This
same location as variation-ref itself
AutoArray< int > TDelta
container for mass deltas
Defines: CTimeFormat - storage class for time format.