deltas.front()->GetSeq().GetLiteral().GetSeq_data().GetIupacna().Get();
142 "Placements expected inside first child object. " 143 "Not correcting allele.");
148|| !
variation.GetData().GetSet().IsSetVariations())
170 if(isFullyShifted) {
190 stringref_at_location;
205asserted_ref = delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set();
207delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(ref_at_location);
211vp.
SetSeq().SetSeq_data().SetIupacna().Set(ref_at_location);
220 if(isFullyShifted) {
234annot.
SetData().SetFtable()) {
265 if(isFullyShifted) {
278 if(isFullyShifted) {
317asserted_ref = delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set();
318delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(ref_at_location);
324 if(asserted_ref.empty()
329 if(asserted_ref.empty()) {
338 LOG_POST(
Trace<<
"Fix allele : from "<< asserted_ref <<
" to "<< ref_at_location
341 if(asserted_ref == ref_at_location)
344 booladd_asserted_ref =
true;
369 stringallele = delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set();
370 if(asserted_ref == allele) {
371add_asserted_ref =
false;
374 if(ref_at_location == allele) {
375delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(asserted_ref);
379add_asserted_ref =
false;
388 LOG_POST(
Trace<<
"Add asserted ref: "<< add_asserted_ref);
389 if(add_asserted_ref) {
391inst->SetType(asserted_allele_type);
399 data->SetIupacna().Set(asserted_ref);
403item->SetSeq().SetLiteral().Assign(*
literal);
404inst->SetDelta().push_back(item);
407 leaf->SetData().SetInstance().Assign(*inst);
408vr.
SetData().SetSet().SetVariations().push_back(
leaf);
416 stringref_at_location;
425 if(ref_at_location.empty())
427 for(
unsigned int i=0;
i<ref_at_location.size();
i++)
428 if(ref_at_location[
i] !=
'A'&& ref_at_location[
i] !=
'C'&& ref_at_location[
i] !=
'G'&& ref_at_location[
i] !=
'T')
431 returnref_at_location;
444loc.GetLabel(&loc_label);
449 returnref_at_location;
457 if(asserted_ref == ref_at_location)
461 booladd_asserted_ref =
true;
486 stringallele = delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set();
487 if(asserted_ref == allele) {
488add_asserted_ref =
false;
491 if(ref_at_location == allele) {
492delta_item.
SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(asserted_ref);
496add_asserted_ref =
false;
504 if(add_asserted_ref)
507inst->SetType(asserted_allele_type);
516 data->SetIupacna().Set(asserted_ref);
520item->SetSeq().SetLiteral().Assign(*
literal);
521inst->SetDelta().push_back(item);
524 leaf->SetData().SetInstance().Assign(*inst);
525 variation.SetData().SetSet().SetVariations().push_back(
leaf);
534asserted_ref.clear();
535ref_at_location.clear();
563feat = feat_to_shift;
568 if(ref_at_location.empty())
573 boolfound_allele_from_identity =
false;
581found_allele_from_identity =
true;
594 if(found_allele_from_identity) {
596 return(asserted_ref.empty() ||
597asserted_ref == ref_at_location);
599 else if(asserted_ref.empty()) {
603 return(asserted_ref == ref_at_location);
617 boolidentity_present =
false;
628identity_present =
true;
641 if(
types.empty()) {
642 if(identity_present)
647 if(
types.size() == 1)
648 return*
types.begin();
660 boolidentity_present =
false;
661set<CVariation_inst::TType>
types;
677identity_present =
true;
684 if(
types.empty()) {
685 if(identity_present)
689 if(
types.size() == 1)
690 return*
types.begin();
767 ITERATE(vector<string>, alt_it, alts) {
770 if(crus.
size() != 1)
772 return*crus.
begin();
782 ITERATE(vector<string>, alt_it, alts) {
785 if(crus.
size() != 1)
787 return*crus.
begin();
792 const string& candidate,
const string& target)
794 if(target.length() % candidate.length() != 0)
798 size_tfactor = target.length() / candidate.length();
799 stringtest_candidate;
800 for(
intjj=0; jj<factor ; jj++) {
801test_candidate += candidate;
804 if(test_candidate == target)
812 for(vector<string>::size_type ii=1; ii <=
str.length() / 2 ; ++ii) {
814 if(
str.length() % ii != 0 )
continue;
815 stringcandidate =
str.substr(0,ii);
829uo->
SetType().SetStr(
"Reference Allele Change");
830var.
SetExt().push_back(uo);
832uo->
AddField(
"Reference Changed",
true);
838uo->
SetType().SetStr(
"Reference Allele Change");
839feat.
SetExts().push_back(uo);
841uo->
AddField(
"Reference Changed",
true);
859 LOG_POST(
Trace<<
"Try to get from cache for accession: "<< accession );
862 if( !seqvec_ref || seqvec_ref->
empty() )
864 LOG_POST(
Trace<<
"Acc was empty or null: "<< accession );
866 LOG_POST(
Trace<<
"Got BioseqHandle, now get SeqVecRef: "<< accession );
872 LOG_POST(
Trace<<
"Return the seqvec ref for : "<< accession );
887 returnseqvec.
size();
901 std::rotate(v.rbegin(), v.rbegin() + 1, v.rend());
908 ERR_POST(
Error<<
"Provided variation object has placement. " 909 "Placements expected inside first child object. Not shifting.");
914|| !
variation.GetData().GetSet().IsSetVariations())
948CSeq_loc& loc = vp.
SetLoc();
961ResetFullyShifted(
variation, loc, sep,
type, deletion_size);
968x_ConvertIntervalToPoint(loc,
976 if(loc.IsSetStrand())
977strand = loc.GetStrand();
983 stringcommon_repeat_unit_allele =
986 ERR_POST(
Trace<<
"Common Repeat Unit: "<< common_repeat_unit_allele);
990 if( common_repeat_unit_allele ==
kEmptyStr)
995 introtation_counter=0;
997 if(!ProcessShift(common_repeat_unit_allele, sep,
1003 ERR_POST(
Trace<<
"This particular allele shifted to the left: "<<
1004rotation_counter <<
" and the common repeat unit is now: "<<
1005common_repeat_unit_allele);
1008 const intallele_size = 0;
1018 caseCVariation::TData::C_Data::e_Instance:
1025 for(
intii=0; ii<rotation_counter; ++ii) {
1029inst.
SetDelta().front()->SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(allele);
1032 ERR_POST(
Trace<<
"instance does not contain a iupacna in its first delta's literal");
1038 caseCVariation::TData::C_Data::e_Set:
1049 for(
intii=0; ii<rotation_counter; ++ii) {
1053inst.
SetDelta().front()->SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(allele);
1056 ERR_POST(
Trace<<
"instance does not contain a iupacna in its first delta's literal");
1073 ERR_POST(
Error<<
"Malformed deletion Variation Ref with more than 2 'alleles'");
1093ref_literal =
Ref(&delta_item.
SetSeq().SetLiteral());
1100 introtation_counter = 0;
1101 const boolfound = ProcessShift(ref_allele,
1103*seqvec, rotation_counter,
type);
1109ref_literal->
SetSeq_data().SetIupacna().Set(ref_allele);
1114 static_cast<TSeqPos>(ref_allele.size()));
1132annot.
SetData().SetFtable()) {
1133x_Shift(**feat_it, scope);
1172vector<string> alts;
1175ResetFullyShifted(feat, featloc, sep,
type, deletion_size);
1182&& featloc.IsInt()) {
1184x_ConvertIntervalToPoint(featloc,
1198seqvec = PrefetchSequence(scope,seq_id,strand);
1208 stringcommon_repeat_unit_allele =
1214 if( common_repeat_unit_allele ==
kEmptyStr)
1221 introtation_counter=0;
1222 if(!ProcessShift(common_repeat_unit_allele, sep,
1226 ERR_POST(
Trace<<
"This particular allele shifted to the left: "<<
1227rotation_counter <<
" and the common repeat unit is now: "<<
1228common_repeat_unit_allele);
1231 const intallele_size = 0;
1247 for(
intii=0; ii<rotation_counter; ++ii) {
1249 LOG_POST(
Trace<<
"Rotate allele : "<< ii <<
" : "<< allele);
1252inst.
SetDelta().front()->SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(allele);
1255 ERR_POST(
Trace<<
"instance does not contain a iupacna in its first delta's literal");
1272 for(
intii=0; ii<rotation_counter; ++ii) {
1274 LOG_POST(
Trace<<
"Rotate allele : "<< ii <<
" : "<< allele);
1277inst.
SetDelta().front()->SetSeq().SetLiteral().SetSeq_data().SetIupacna().Set(allele);
1280 ERR_POST(
Trace<<
"instance does not contain a iupacna in its first delta's literal");
1296 ERR_POST(
Error<<
"Malformed deletion Variation Ref with more than 2 'alleles'");
1316ref_literal =
Ref(&delta_item.
SetSeq().SetLiteral());
1323 introtation_counter = 0;
1324 const boolfound = ProcessShift(ref_allele,
1325sep, *seqvec, rotation_counter,
type);
1331ref_literal->
SetSeq_data().SetIupacna().Set(ref_allele);
1334ModifyLocation(featloc, sep,
1354 const CSeq_id&seq_id = *loc.GetId();
1362 if(loc.IsSetStrand())
1363strand = loc.GetStrand();
1367 introtation_counter=0;
1368 boolisShifted =
false;
1371 stringtmp_allele = allele;
1372isShifted = ProcessShift(tmp_allele,
1374*seqvec, rotation_counter,
type);
1380isShifted = ProcessShift(compact,
1382*seqvec, rotation_counter,
type);
1393 if(loc.GetInt().IsSetStrand())
1394pnt->
SetStrand( loc.GetInt().GetStrand() );
1395pnt->
SetId().Assign(loc.GetInt().GetId());
1396loc.SetPnt().Assign(*pnt);
1402 intpos_left,
intpos_right)
1405interval->
SetFrom(pos_left);
1406interval->
SetTo(pos_right);
1407 if(loc.GetPnt().IsSetStrand())
1408interval->
SetStrand( loc.GetPnt().GetStrand() );
1409interval->
SetId().Assign(loc.GetPnt().GetId());
1410loc.SetInt().Assign(*interval);
1415 const string& field_text)
1418uo->
SetType().SetStr(
"Variation Normalization");
1419var.
SetExt().push_back(uo);
1426 const string& field_text)
1429uo->
SetType().SetStr(
"Variation Normalization");
1430feat.
SetExts().push_back(uo);
1456 string& common_repeat_unit_allele,
1459 int& rotation_counter,
1462 if(common_repeat_unit_allele.empty())
1468 stringfive_prime_last_nt;
1470five_prime_last_nt =
GetSeq(sep.
left-1,1,seqvec);
1473<< five_prime_last_nt <<
" to the back of compact: "<< common_repeat_unit_allele);
1475 booldid_rotate =
false;
1476 while( !five_prime_last_nt.empty()
1477&& (*common_repeat_unit_allele.rbegin() == *five_prime_last_nt.begin()) ) {
1480*common_repeat_unit_allele.rbegin() <<
" off ("<<
1481*five_prime_last_nt.begin() <<
" @ left pos: "<<
1482sep.
left-1 <<
")");
1486 Rotate(common_repeat_unit_allele);
1490 ERR_POST(
Trace<<
"Rotation info: "<< rotation_counter <<
" : "<< common_repeat_unit_allele);
1498five_prime_last_nt =
GetSeq(sep.
left-1,1,seqvec);
1501*common_repeat_unit_allele.rbegin() <<
" and "<<
1502*five_prime_last_nt.begin() <<
" match? Taken from position n-1: "<<
1508<<
" and allele: "<< common_repeat_unit_allele);
1516 int& rotation_counter,
1521 if(compact_allele.empty())
1526 stringthree_prime_first_nt;
1529three_prime_first_nt =
GetSeq(sep.
left,1,seqvec);
1532three_prime_first_nt =
GetSeq(sep.
right+1,1,seqvec);
1540<< sep.
right<<
" nt "<< three_prime_first_nt <<
1541 " to the front of compact: "<< *compact_allele.begin());
1543 booldid_rotate =
false;
1544 while( !three_prime_first_nt.empty()
1545&& (*compact_allele.begin() == *three_prime_first_nt.begin()) ) {
1547*compact_allele.begin() <<
" "<<
1548*three_prime_first_nt.begin() <<
" @ right pos: "<<
1559three_prime_first_nt =
GetSeq(sep.
left,1,seqvec);
1562three_prime_first_nt =
GetSeq(sep.
right+1,1,seqvec);
1567<<
" and right position: "<< sep.
right<<
" and allele: "<< compact_allele);
1578loc.SetInt().SetFrom(sep.
left);
1579loc.SetInt().SetTo(sep.
right);
1588loc.SetPnt().SetPoint(sep.
left);
1597loc.SetInt().SetFrom(sep.
left);
1598loc.SetInt().SetTo(sep.
right);
1607loc.SetPnt().SetPoint(sep.
right);
1617loc.SetPnt().SetPoint(sep.
left);
1625loc.SetInt().SetFrom(sep.
left);
1626loc.SetInt().SetTo(sep.
right);
1645loc.SetInt().SetFrom(sep.
left-1);
1646loc.SetInt().SetTo(sep.
left);
1651 if(deletion_size == 1)
1654loc.SetPnt().SetPoint(sep.
left);
1664loc.SetInt().SetFrom(sep.
left);
1665loc.SetInt().SetTo(sep.
left+deletion_size-1);
1747|| uo->
GetType().
GetStr() !=
"Variation Normalization")
1756 const TSeqPos& deletion_size)
1762sep.
right= sep.
left+ deletion_size -1;
1766 type, deletion_size);
1770 if(var.
GetExt().size() == 0)
1778 const TSeqPos& deletion_size)
1786sep.
right= sep.
left+ deletion_size -1;
1790 type, deletion_size);
1794 if(feat.
GetExts().size() == 0)
1804 stringcommon_repeat_unit_allele_tmp = common_repeat_unit_allele;
1808common_repeat_unit_allele, sep_tmp,
1809seqvec,rotation_counter,
type);
1814 intignored_counter=0;
1816common_repeat_unit_allele_tmp, sep,
1817seqvec,ignored_counter,
type);
1822 returnfound_left | found_right;
1830 stringorig_common_repeat_unit_allele = common_repeat_unit_allele;
1832common_repeat_unit_allele,sep,
1833seqvec,rotation_counter,
type);
1838sep.
left= orig_pos_left;
1839common_repeat_unit_allele = orig_common_repeat_unit_allele;
1892annot.
SetData().SetFtable()) {
1912vinst_identity->SetType(
type);
1915vinst_identity->SetDelta().push_back(
delta);
1922 literal->SetSeq_data(*seq_data);
1926vref_identity->SetData().SetInstance(*vinst_identity);
1928 returnvref_identity;
1938 const CSeq_id* seq_id = loc.GetId();
1941 if(loc.IsSetStrand()) {
1942strand = loc.GetStrand();
1949vector<string> alts;
1952 stringinserted_seq = alts.front() + ref_seq;
1955= feat.
SetData().SetVariation().SetData().SetSet().SetVariations();
1958variation_list.clear();
1963 if(ref_seq.length() == 1) {
1970loc.SetInt().SetTo() = loc.SetInt().SetTo() - 1;
1978 const CSeq_id* seq_id = loc.GetId();
1981 if(loc.IsSetStrand()) {
1982strand = loc.GetStrand();
1989vector<string> alts;
1992 stringinserted_seq = ref_seq.substr(ref.length());
1995= feat.
SetData().SetVariation().SetData().SetSet().SetVariations();
1997variation_list.clear();
2047 switch(target_ctxt) {
2058 switch(target_ctxt) {
2069 switch(target_ctxt) {
User-defined methods of the data storage class.
@ eExtreme_Positional
numerical value
User-defined methods of the data storage class.
static CRef< CSeqVector > PrefetchSequence(CScope &scope, const CSeq_id &seq_id, ENa_strand strand)
static TSeqPos GetSeqSize(CSeqVector &seqvec)
static CCache< string, CRef< CSeqVector > > m_cache
static string GetSeq(int pos, int length, CSeqVector &seqvec)
namespace ncbi::objects::
CConstRef< CUser_field > GetFieldRef(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
CUser_object & AddField(const string &label, const string &value, EParseField parse=eParse_String)
add a data field to the user object that holds a given value
static void Rotate(string &v)
static void ModifyLocation(CSeq_loc &loc, SEndPosition &sep, const CVariation_inst::TType type, const TSeqPos &deletion_size)
static void ConvertExpandedDeletionToDelIns(CSeq_feat &feat, CScope &scope)
static void ConvertExpandedInsertionToDelIns(CSeq_feat &feat, CScope &scope)
static bool ProcessShift(string &allele, SEndPosition &sep, CSeqVector &seqvec, int &rotation_counter, const CVariation_inst::TType type)
static void ModifyLocation(CSeq_loc &loc, SEndPosition &sep, const CVariation_inst::TType type, const TSeqPos &deletion_size)
static void Rotate(string &v)
static bool ProcessShift(string &allele, SEndPosition &sep, CSeqVector &seqvec, int &rotation_counter, const CVariation_inst::TType type)
static void Rotate(string &v)
static void ModifyLocation(CSeq_loc &loc, SEndPosition &sep, const CVariation_inst::TType type, const TSeqPos &deletion_size)
static bool ProcessShift(string &allele, SEndPosition &sep, CSeqVector &seqvec, int &rotation_counter, const CVariation_inst::TType type)
static void Rotate(string &v)
static bool ProcessShift(string &allele, SEndPosition &sep, CSeqVector &seqvec, int &rotation_counter, const CVariation_inst::TType type)
static void ModifyLocation(CSeq_loc &loc, SEndPosition &sep, const CVariation_inst::TType type, const TSeqPos &deletion_size)
static void RotateRight(string &v)
static bool x_IsShiftable(const CSeq_loc &loc, const string &allele, CScope &scope, CVariation_inst::TType type)
This method determine if a SeqLoc, and associated allele, are shiftable.
static void RotateLeft(string &v)
static void x_Shift(CVariation &var, CScope &scope)
static void x_SetShiftFlag(CVariation &var, const string &field_text)
static void ResetFullyShifted(CVariation &var, CSeq_loc &loc, SEndPosition &sep, const CVariation_inst::TType type, const TSeqPos &deletion_size)
static void x_ConvertIntervalToPoint(CSeq_loc &loc, int pos)
Convert Interval SeqLoc into a Point.
static void x_ConvertPointToInterval(CSeq_loc &loc, int pos_left, int pos_right)
Convert a Point SeqLoc into an Interval.
static void AlterToHGVSVar(CVariation &var, CScope &scope)
static bool IsShiftable(const CSeq_loc &loc, const string &allele, CScope &scope, CVariation_inst::TType type)
static void NormalizeVariation(CVariation &var, ETargetContext target_ctxt, CScope &scope)
static bool isFullyShifted(const CVariation &var)
static void AlterToDelIns(CVariation &var, CScope &scope)
static void AlterToVCFVar(CVariation &var, CScope &scope)
static void AlterToVarLoc(CVariation &var, CScope &scope)
static bool x_isBaseRepeatingUnit(const string &candidate, const string &target)
static bool x_SetReference(CVariation_ref &var, const string &ref_at_location)
static CVariation_inst::TType GetVariationType(const CVariation_ref &vr)
static void x_AddRefAlleleFixFlag(CVariation &var)
static string x_GetRefAlleleFromVP(CVariantPlacement &vp, CScope &scope, TSeqPos length)
static bool IsReferenceCorrect(const CSeq_feat &feat, string &asserted_ref, string &ref_at_location, CScope &scope)
static const unsigned int MAX_LEN
static string RepeatedSubstring(const string &str)
static string x_GetAlleleFromLoc(const CSeq_loc &loc, CScope &scope)
static string GetCommonRepeatUnit(const CVariation_ref &vr)
static void GetVariationRefAlt(const CVariation_ref &vr, string &ref, vector< string > &alt)
static void CorrectRefAllele(CVariation &var, CScope &scope)
static bool x_FixAlleles(CVariation &variation, string asserted_ref, string ref_at_location)
static bool IsIntronicVariation(const CVariation_inst &inst)
iterator_bool insert(const value_type &val)
const_iterator begin() const
static const char * str(char *buf, int n)
static const struct type types[]
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
TValueType Get(const TKeyType &key, TGetFlags get_flags=0, EGetResult *result=NULL)
Get an object from the cache by its key.
TOrder Add(const TKeyType &key, const TValueType &value, TWeight weight=1, TAddFlags add_flags=0, EAddResult *result=NULL)
Add new element to the cache or replace the existing value.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
#define NCBI_USER_THROW_FMT(message)
Throw a "user exception" with message processed as output to ostream.
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
#define NCBI_RETHROW_SAME(prev_exception, message)
Generic macro to re-throw the same exception.
void Trace(CExceptionArgs_Base &args)
string ReportAll(TDiagPostFlags flags=eDPF_Exception) const
Report all exceptions.
const TPrim & Get(void) const
C * SerialClone(const C &src)
Create on heap a clone of the source object.
#define MSerial_AsnText
I/O stream manipulators â.
const string AsFastaString(void) const
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
ENa_strand GetStrand(void) const
Get the location's strand.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
bool IsSetStrand(EIsSetStrand flag=eIsSetStrand_Any) const
Check if strand is set for any/all part(s) of the seq-loc depending on the flag.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
TSeqPos GetStop(ESeqLocExtremes ext) const
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
CSeqVector GetSeqVector(EVectorCoding coding, ENa_strand strand=eNa_strand_plus) const
Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.
@ eCoding_Iupac
Set coding to printable coding (Iupacna or Iupacaa)
void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const
Fill the buffer string with the sequence data for the interval [start, stop).
const_iterator begin(void) const
const_iterator end(void) const
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
bool NotEmpty(void) const THROWS_NONE
Check if CConstRef is not empty â pointing to an object and has a non-null value.
CTempString literal(const char(&str)[Size])
Templatized initialization from a string literal.
bool IsStr(void) const
Check if variant Str is selected.
const TData & GetData(void) const
Get the Data member data.
const TStr & GetStr(void) const
Get the variant data.
void SetType(TType &value)
Assign a value to Type data member.
const TType & GetType(void) const
Get the Type member data.
bool IsBool(void) const
Check if variant Bool is selected.
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
const TExts & GetExts(void) const
Get the Exts member data.
void SetLocation(TLocation &value)
Assign a value to Location data member.
TExts & SetExts(void)
Assign a value to Exts data member.
const TLocation & GetLocation(void) const
Get the Location member data.
void ResetExts(void)
Reset Exts data member.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
bool IsSetExts(void) const
set of extensions; will replace 'ext' field Check if a value has been assigned to Exts data member.
bool IsVariation(void) const
Check if variant Variation is selected.
const TVariation & GetVariation(void) const
Get the variant data.
bool IsSetLocation(void) const
feature made from Check if a value has been assigned to Location data member.
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
void SetId(TId &value)
Assign a value to Id data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
void SetFrom(TFrom value)
Assign a value to From data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
void SetData(TData &value)
Assign a value to Data data member.
void SetSeq_data(TSeq_data &value)
Assign a value to Seq_data data member.
const TIupacna & GetIupacna(void) const
Get the variant data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
TIupacna & SetIupacna(void)
Select the variant.
list< CRef< CSeq_feat > > TFtable
bool IsFtable(void) const
Check if variant Ftable is selected.
const TData & GetData(void) const
Get the Data member data.
bool IsSetSeq_data(void) const
may have the data Check if a value has been assigned to Seq_data data member.
bool IsIupacna(void) const
Check if variant Iupacna is selected.
const TSeq_data & GetSeq_data(void) const
Get the Seq_data member data.
list< CRef< CVariation > > TVariations
TExt & SetExt(void)
Assign a value to Ext data member.
bool IsSetPlacements(void) const
where this beast is seen note that this is a set of locations, and there are no restrictions to the c...
void SetData(TData &value)
Assign a value to Data data member.
bool IsInstance(void) const
Check if variant Instance is selected.
const TExt & GetExt(void) const
Get the Ext member data.
const TSet & GetSet(void) const
Get the variant data.
const TInstance & GetInstance(void) const
Get the variant data.
bool IsSetVariations(void) const
Check if a value has been assigned to Variations data member.
const TVariations & GetVariations(void) const
Get the Variations member data.
TStop_offset GetStop_offset(void) const
Get the Stop_offset member data.
void SetSeq(TSeq &value)
Assign a value to Seq data member.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
const TPlacements & GetPlacements(void) const
Get the Placements member data.
list< CRef< CUser_object > > TExt
TPlacements & SetPlacements(void)
Assign a value to Placements data member.
const TData & GetData(void) const
Get the Data member data.
bool IsSetExt(void) const
Additional undescribed extensions Check if a value has been assigned to Ext data member.
bool IsSetStop_offset(void) const
Check if a value has been assigned to Stop_offset data member.
E_Choice Which(void) const
Which variant is currently selected.
bool IsSetStart_offset(void) const
location refinements, describing offsets into introns from product coordinates.
const TLoc & GetLoc(void) const
Get the Loc member data.
bool IsSet(void) const
Check if variant Set is selected.
void SetLoc(TLoc &value)
Assign a value to Loc data member.
TStart_offset GetStart_offset(void) const
Get the Start_offset member data.
void ResetExt(void)
Reset Ext data member.
@ e_Instance
actual sequence-edit at feat.location
TType GetType(void) const
Get the Type member data.
const TInstance & GetInstance(void) const
Get the variant data.
TAction GetAction(void) const
Get the Action member data.
list< CRef< CVariation_ref > > TVariations
E_Choice Which(void) const
Which variant is currently selected.
const TSet & GetSet(void) const
Get the variant data.
bool IsSetDelta(void) const
Sequence that replaces the location, in biological order.
bool IsSetSeq(void) const
Check if a value has been assigned to Seq data member.
bool IsSetAction(void) const
Check if a value has been assigned to Action data member.
void SetObservation(TObservation value)
Assign a value to Observation data member.
const TDelta & GetDelta(void) const
Get the Delta member data.
void SetData(TData &value)
Assign a value to Data data member.
const TData & GetData(void) const
Get the Data member data.
const TSeq & GetSeq(void) const
Get the Seq member data.
bool IsInstance(void) const
Check if variant Instance is selected.
const TLiteral & GetLiteral(void) const
Get the variant data.
bool IsSet(void) const
Check if variant Set is selected.
void SetSeq(TSeq &value)
Assign a value to Seq data member.
list< CRef< CDelta_item > > TDelta
bool IsLiteral(void) const
Check if variant Literal is selected.
bool IsSetVariations(void) const
Check if a value has been assigned to Variations data member.
TDelta & SetDelta(void)
Assign a value to Delta data member.
const TVariations & GetVariations(void) const
Get the Variations member data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
@ eType_snv
delta=[morph of length 1] NOTE: this is snV not snP; the latter requires frequency-based validation t...
@ eType_inv
delta=[del, ins.seq= RevComp(variation-location)]
@ eType_mnp
delta=[morph of length >1]
@ eType_microsatellite
delta=[del, ins.seq= repeat-unit with fuzzy multiplier] variation-location is the microsat expansion ...
@ eType_delins
delta=[del, ins]
@ eType_identity
delta=[]
@ e_Instance
actual sequence-edit at feat.location
@ eAction_offset
go downstream by distance specified by multiplier (upstream if < 0), in genomic context.
@ eData_set_type_package
set represents a package of observations at a given location, generally containing asserted + referen...
@ eObservation_variant
inst represent the observed variant at a given position
@ eObservation_asserted
inst represents the asserted base at a position
@ eObservation_reference
inst represents the reference base at the position
constexpr auto rotate(list< Ts... >) -> decltype((list<>{}+...+rotate_item< Ts >{}))
Int4 delta(size_t dimension_, const Int4 *score_)
A struct to keep track of the start and stop of the range.
static bool s_ContainsOffset(const CVariation_inst &inst)
bool isVarNormType(const CRef< CUser_object > &uo)
static bool s_ContainsSeqDataIupacna(const CDelta_item &delta_item)
static void s_GetAltRefFromInst(const CVariation_inst &inst, string &ref, vector< string > &alt)
static string s_GetFirstSeqDataIupacna(const CVariation_inst_Base::TDelta &deltas)
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