(entry.
mBuf.
ptr+ div_shift);
120}
else if(condiv && ibp->
is_contig==
false&& ibp->
origin==
false) {
137 boolallow_crossdb_featloc;
142 if(! dbp || ! dbp->
mBuf.
ptr)
150 for(q = p,
r= p; *q !=
'\0'; q++)
151 if(*q !=
'\n'&& *q !=
'\t'&& *q !=
' ')
155 for(q = p; *q !=
'\0'; q++)
156 if((q[0] ==
','&& q[1] ==
',') || (q[0] ==
'('&& q[1] ==
',') ||
157(q[0] ==
','&& q[1] ==
')'))
185 if(loc->
IsMix()) {
212 char* bptr = entry.
mBuf.
ptr;
251 while(!
str.empty()) {
252 charc =
str.back();
253 if(c ==
' '|| c ==
'\t'|| c ==
'\n'|| c ==
'.'|| c ==
';')
285 boolpat_ref =
false;
286 boolest_kwd =
false;
287 boolsts_kwd =
false;
288 boolgss_kwd =
false;
289 boolhtc_kwd =
false;
290 boolfli_kwd =
false;
291 boolwgs_kwd =
false;
292 booltpa_kwd =
false;
293 booltsa_kwd =
false;
294 booltls_kwd =
false;
295 boolenv_kwd =
false;
296 boolmga_kwd =
false;
310 if(!
str.empty()) {
311 if(
str.back() ==
'.') {
312 if(
str.size() >= 2 && *(
str.end() - 2) ==
'.')
316gbb->SetSource(std::move(
str));
320gbb->SetKeywords().swap(ibp->
keywords);
341 for(
const string&
key: gbb->GetKeywords()) {
342 fta_keywords_check(
key, &est_kwd, &sts_kwd, &gss_kwd, &htc_kwd, &fli_kwd, &wgs_kwd, &tpa_kwd, &env_kwd, &mga_kwd, &tsa_kwd, &tls_kwd);
352ptr =
SrchTheChar(string_view(bptr, eptr),
'\n');
362gbb->SetOrigin(
string(bptr, eptr));
375 stringdiv_str(bptr, bptr + 3);
376gbb->SetDiv(div_str);
379gbb->SetDiv(
"UNA");
383 const char* p_div = gbb->GetDiv().c_str();
404 if(!
HasHtg(gbb->GetKeywords())) {
439 if(ibp->
is_mga==
false) {
444}
else if(ibp->
is_mga) {
453}
else if(ibp->
is_tpa) {
458 if(ibp->
is_tsa==
false) {
463}
else if(ibp->
is_tsa) {
468 if(ibp->
is_tls==
false) {
473}
else if(ibp->
is_tls) {
478 if(
i== 2 && ibp->
htg> 0 && env_kwd)
479 FtaErrPost(
SEV_WARNING,
ERR_KEYWORD_HTGPlusENV,
"This HTG record also has the ENV keyword, which is an unusual combination. Confirmation that isolation and cloning steps actually occured might be appropriate.");
480 else if((
i== 2 && wgs_kwd && tpa_kwd) ||
481(
i== 2 && tsa_kwd && tpa_kwd) ||
483env_kwd && tpa_kwd)) {
484}
else if(
i!= 2 || env_kwd ==
false||
485(est_kwd ==
false&& gss_kwd ==
false&& wgs_kwd ==
false)) {
487ibp->
is_tsa==
false|| env_kwd ==
false) {
489(env_kwd ==
false&& tpa_kwd ==
false)) {
490 FtaErrPost(
SEV_REJECT,
ERR_KEYWORD_ConflictingKeywords,
"This record contains more than one of the special keywords used to indicate that a sequence is an HTG, EST, GSS, STS, HTC, WGS, ENV, FLI_CDNA, TPA, CAGE, TSA or TLS sequence.");
501wgs_kwd ==
false&& tpa_kwd ==
false&& env_kwd ==
false) {
515 if(! est_kwd && kw.find(
"EST") != string::npos) {
518 if(! sts_kwd && kw.find(
"STS") != string::npos) {
528p_div = gbb->GetDiv();
530 check_div(ibp->
is_pat, pat_ref, est_kwd, sts_kwd, gss_kwd, if_cds, p_div, &tech, ibp->
bases, pp->
source, drop);
545}
else if(gbb->GetDiv() ==
"CON") {
556gbb->IsSetDiv() && gbb->GetDiv() !=
"EST") {
564 boolis_htc_div = gbb->IsSetDiv() && gbb->GetDiv() ==
"HTC",
565has_htc =
HasHtc(gbb->GetKeywords());
567 if(is_htc_div && ! has_htc) {
572 if(! is_htc_div && has_htc) {
580 if(*p ==
'm'|| *p ==
'r')
584 else if(
StringEquN(p,
"transcribed ", 12))
598 if(gbb->IsSetDiv()) {
599 if(gbb->GetDiv() ==
"EST") {
604}
else if(gbb->GetDiv() ==
"STS") {
609}
else if(gbb->GetDiv() ==
"GSS") {
614}
else if(gbb->GetDiv() ==
"HTC") {
619}
else if(gbb->GetDiv() ==
"SYN"&& bio_src && bio_src->
IsSetOrigin() &&
648 for(
const auto& subtype : bio_src->
GetSubtype()) {
659 if(!
mod->IsSetSubtype())
676}
else if(gbb->IsSetDiv() &&
686ret.
Reset(gbb.Release());
703 char* molstr =
nullptr;
735mol_info->SetTechexp(
"cage");
738 GetFlatBiomol(mol_info->SetBiomol(), mol_info->GetTech(), molstr, pp, entry, org_ref);
740mol_info->ResetBiomol();
770 while(*bptr !=
' '&& *bptr !=
'\0')
772 while(*bptr ==
' ')
802taxname.append(bptr, ptr);
814org_ref.
SetOrgname().SetLineage(std::move(s));
819bioseq.
SetDescr().Set().push_back(descr);
832res =
StringSave(string_view(line, p - line));
836 for(q = res, p = res; *p !=
'\0'; p++)
850 for(p = q; *p !=
'\0'&& *p !=
'\n'&& *p !=
';';)
854cur_field->
SetLabel().SetStr(
"accession");
858field_set->
SetData().SetFields().push_back(cur_field);
862 for(q = p; *p >=
'0'&& *p <=
'9';)
868cur_field->
SetLabel().SetStr(
"gi");
870field_set->
SetData().SetFields().push_back(cur_field);
875root_field->
SetData().SetFields().push_back(cur_field);
883user_obj.
SetData().push_back(root_field);
904 for(q = line; *q ==
' '|| *q ==
'\n';)
906 for(
r= res; *q !=
'\0';) {
911 while(*q ==
' '|| *q ==
'\n')
931user_obj.
SetData().push_back(field);
948user_obj->
SetType().SetStr(
"RefGeneTracking");
954 for(p += 12; *p ==
' ';)
956 for(
r= p; *p !=
'\0'&& *p !=
'\n'&& *p !=
' ';)
958 if(*p ==
'\0'|| p ==
r)
978 if(seq_entry.
IsSeq())
1004 id.SetStr(
"CAGE-Tag-List");
1008field->
SetLabel().SetStr(
"CAGE_tag_total");
1010user_obj->
SetData().push_back(field);
1014field->
SetLabel().SetStr(
"CAGE_accession_first");
1016user_obj->
SetData().push_back(field);
1020field->
SetLabel().SetStr(
"CAGE_accession_last");
1022user_obj->
SetData().push_back(field);
1029descrs.push_back(descr);
1051 for(
auto& descr : bioseq.
SetDescr().Set()) {
1052 if(descr->IsSource()) {
1053bio_src = &(descr->SetSource());
1055org_ref = &bio_src->
SetOrg();
1071 if(!
str.empty() &&
str.front() ==
' ') {
1073 for(
charc :
str) {
1086bioseq.
SetDescr().Set().push_back(descr);
1089title.starts_with(
"TPA:"sv)) {
1094 if(! ibp->
is_tsa&& title.starts_with(
"TSA:"sv)) {
1099 if(! ibp->
is_tls&& title.starts_with(
"TLS:"sv)) {
1120(title.empty() || (! title.starts_with(
"TPA:"sv) &&
1121! title.starts_with(
"TPA_exp:"sv) &&
1122! title.starts_with(
"TPA_inf:"sv) &&
1123! title.starts_with(
"TPA_asm:"sv) &&
1124! title.starts_with(
"TPA_reasm:"sv)))) {
1130(title.empty() || ! title.starts_with(
"TSA:"sv))) {
1135 if(ibp->
is_tls&& (title.empty() || ! title.starts_with(
"TLS:"sv))) {
1146 for(
auto& ref_blk : chain) {
1153descr->
SetPub(*pubdesc);
1154bioseq.
SetDescr().Set().push_back(descr);
1158 for(
auto& ref_blk : chain) {
1165descr->
SetPub(*pubdesc);
1166bioseq.
SetDescr().Set().push_back(descr);
1178mol_info->ResetTech();
1180mol_info->SetTech(tech);
1183 if(mol_info->IsSetBiomol() || mol_info->IsSetTech()) {
1186bioseq.
SetDescr().Set().push_back(descr);
1189 if(gbbp.
Empty()) {
1194 if(pp->
taxserver== 1 && gbbp->IsSetDiv())
1205bioseq.
SetDescr().Set().push_back(descr);
1213 "TPA:{} record lacks the mandatory comment line. Entry dropped.",
1214(ibp->
inferential==
false) ?
"experimental":
"inferential");
1231 if(mol_info.
NotEmpty() && mol_info->IsSetTech() &&
1254 for(
auto& user_obj : user_objs) {
1257bioseq.
SetDescr().Set().push_back(descr);
1261 for(q =
str, p = q; *p !=
'\0';) {
1262 if(*p ==
';'&& (p[1] ==
' '|| p[1] ==
'~'))
1264 if(*p ==
'~'|| *p ==
' ') {
1266 for(p++; *p ==
' '|| *p ==
'~';)
1274 if(
str[0] != 0) {
1277bioseq.
SetDescr().Set().push_back(descr);
1294}
else if(ibp->
lc.
date> 0) {
1298date->
SetStd(*std_date);
1305bioseq.
SetDescr().Set().push_back(descr);
1313division[3] =
'\0';
1318 StringCpy(division, locusText.substr(64, 3).c_str());
1329 boolseq_long =
false;
1349 char* ptr = pEntry->mBuf.ptr;
1350 char* eptr = ptr + pEntry->mBuf.len;
1357 if(ppCurrentEntry->lc.div > -1) {
1434 if(! ibp->
gaps.empty())
1436 else if(ibp->
htg== 4 || ibp->
htg== 1 || ibp->
htg== 2 ||
1439}
else if(! ibp->
gaps.empty())
1476pEntry->mpQscore.clear();
1480 id->SetPatent(*ibp->
psip);
1481bioseq->
SetId().push_back(
id);
1496}
else if(ibp->
is_wgs) {
1523seq_entries.push_back(ebp->
seq_entry);
1537 if(ibp->
htg== 1 || ibp->
htg== 2 || ibp->
htg== 4) {
1547 for(
autopSeqEntry : seq_entries) {
1590pResult = seq_entries.front();
1595seq_entries.clear();
1605 "COMPLETED : SUCCEEDED = {} (including: LONG ones = {}); SKIPPED = {}.",
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.
void AssemblyGapsToDelta(CBioseq &bioseq, TGapFeatsList &gf, bool *drop)
bool no_reference(const CBioseq &bioseq)
void SeqToDelta(CBioseq &bioseq, Int2 tech)
CMolInfo::TTech fta_check_con_for_wgs(CBioseq &bioseq)
bool fta_check_htg_kwds(TKeywordList &kwds, IndexblkPtr ibp, CMolInfo &mol_info)
void fta_set_molinfo_completeness(CBioseq &bioseq, const Indexblk *ibp)
void fta_add_hist(ParserPtr pp, CBioseq &bioseq, CGB_block::TExtra_accessions &extra_accs, Parser::ESource source, CSeq_id::E_Choice acctype, bool pricon, const char *acc)
bool fta_parse_tpa_tsa_block(CBioseq &bioseq, char *offset, char *acnum, Int2 vernum, size_t len, Int2 col_data, bool tpa)
Int4 fta_fix_seq_loc_id(TSeqLocList &locs, ParserPtr pp, string_view location, string_view name, bool iscon)
string GetQSFromFile(FILE *fd, const Indexblk *ibp)
bool check_cds(const DataBlk &entry, Parser::EFormat format)
void fta_create_far_fetch_policy_user_object(CBioseq &bsp, Int4 num)
void fta_tsa_tls_comment_dblink_check(const CBioseq &bioseq, bool is_tsa)
void fta_remove_cleanup_user_object(CSeq_entry &seq_entry)
bool fta_dblink_has_sra(const CRef< CUser_object > &uop)
void GapsToDelta(CBioseq &bioseq, TGapFeatsList &gf, bool *drop)
void fta_get_project_user_object(TSeqdescList &descrs, const char *offset, Parser::EFormat format, bool *drop, Parser::ESource source)
void fta_get_dblink_user_object(TSeqdescList &descrs, char *offset, size_t len, Parser::ESource source, bool *drop, CRef< CUser_object > &dbuop)
void err_install(const Indexblk *ibp, bool accver)
bool no_date(Parser::EFormat format, const TSeqdescList &descrs)
void fta_parse_structured_comment(char *str, bool &bad, TUserObjVector &objs)
void GetGenBankSubBlock(const DataBlk &entry, size_t bases)
void StripSerialNumbers(TEntryList &seq_entries)
char * GetGenBankBlock(TDataBlkList &chain, char *ptr, Int2 *retkw, char *eptr)
void AddNIDSeqId(CBioseq &bioseq, const DataBlk &entry, Int2 type, Int2 coldata, Parser::ESource source)
void fta_fix_orgref_div(const CBioseq::TAnnot &annots, COrg_ref *org_ref, CGB_block &gbb)
void DefVsHTGKeywords(CMolInfo::TTech tech, const DataBlk &entry, Int2 what, Int2 ori, bool cancelled)
unsigned char *const GetDNAConvTable()
void fta_sort_seqfeat_cit(TEntryList &seq_entries)
void PackEntries(TEntryList &seq_entries)
void fta_set_strandedness(TEntryList &seq_entries)
void CheckHTGDivision(const char *div, CMolInfo::TTech tech)
char * GetDescrComment(char *offset, size_t len, Uint2 col_data, bool is_htg, bool is_pat)
void GetSequenceOfKeywords(const DataBlk &entry, int type, Uint2 col_data, TKeywordList &keywords)
void EntryCheckDivCode(TEntryList &seq_entries, ParserPtr pp)
bool GetSeqData(ParserPtr pp, const DataBlk &entry, CBioseq &bioseq, Int4 nodetype, unsigned char *seqconv, Uint1 seq_data_type)
bool fta_EntryCheckGBBlock(TEntryList &seq_entries)
char * SrchNodeSubType(const DataBlk &entry, Int2 type, Int2 subtype, size_t *len)
unsigned char *const GetProtConvTable()
void fta_sort_descr(TEntryList &seq_entries)
void GetExtraAccession(IndexblkPtr ibp, bool allow_uwsec, Parser::ESource source, TAccessionList &accessions)
bool check_div(bool pat_acc, bool pat_ref, bool est_kwd, bool sts_kwd, bool gss_kwd, bool if_cds, string &div, CMolInfo::TTech *tech, size_t bases, Parser::ESource source, bool &drop)
CRef< CBioseq > CreateEntryBioseq(ParserPtr pp)
void ProcessCitations(TEntryList &seq_entries)
void SetToTime(const CTime &time, EPrecision prec=ePrecision_second)
void PostTotals() override
CRef< objects::CSeq_entry > xGetEntry() override
static bool IsNa(EMol mol)
CUser_field & SetString(const char *value)
EntryBlk * GetEntryData() const
struct DataBlk::@1166 mBuf
DataBlk * LoadEntry(ParserPtr pp, size_t offset, size_t len)
void g_InstantiateMissingProteins(CSeq_entry_Handle entryHandle)
void FinalCleanup(TEntryList &seq_entries)
#define ERR_SEQUENCE_BadData
#define ERR_TPA_TpaSpansMissing
#define ERR_ENTRY_LongSequence
#define ERR_FORMAT_MissingContigFeature
#define ERR_KEYWORD_ShouldNotBeTPA
#define ERR_DIVISION_BadTSADivcode
#define ERR_FORMAT_MissingSequenceData
#define ERR_DIVISION_InvalidHTCKeyword
#define ERR_KEYWORD_IllegalForCON
#define ERR_DIVISION_MissingHTGKeywords
#define ERR_QSCORE_FailedToParse
#define ERR_ENTRY_LongHTGSSequence
#define ERR_KEYWORD_MissingTSA
#define ERR_DIVISION_BadTPADivcode
#define ERR_TPA_TpaCommentMissing
#define ERR_REFERENCE_No_references
#define ERR_KEYWORD_ShouldNotBeTLS
#define ERR_ENTRY_GBBlock_not_Empty
#define ERR_KEYWORD_HTGPlusENV
#define ERR_DEFINITION_MissingTPA
#define ERR_ENTRY_Skipped
#define ERR_DEFINITION_MissingTLS
#define ERR_KEYWORD_ESTSubstring
#define ERR_KEYWORD_ConflictingKeywords
#define ERR_DIVISION_ConDivLacksContig
#define ERR_LOCATION_ContigHasNull
#define ERR_KEYWORD_ENV_NoMatchingQualifier
#define ERR_KEYWORD_ShouldNotBeTSA
#define ERR_KEYWORD_STSSubstring
#define ERR_DIVISION_UnknownDivCode
#define ERR_KEYWORD_MissingTLS
#define ERR_DEFINITION_ShouldNotBeTSA
#define ERR_DIVISION_MissingHTCKeyword
#define ERR_DIVISION_MappedtoCON
#define ERR_DIVISION_MappedtoEST
#define ERR_FORMAT_ContigWithSequenceData
#define ERR_KEYWORD_NoGeneExpressionKeywords
#define ERR_DEFINITION_MissingTSA
#define ERR_DEFINITION_ShouldNotBeTPA
#define ERR_FORMAT_MissingEnd
#define ERR_KEYWORD_MissingTPA
#define ERR_ENTRY_ParsingComplete
#define ERR_ORGANISM_NoOrganism
#define ERR_DATE_IllegalDate
#define ERR_DIVISION_HTCWrongMolType
#define ERR_KEYWORD_ShouldNotBeCAGE
#define ERR_DEFINITION_ShouldNotBeTLS
#define ERR_TSA_UnexpectedPrimaryAccession
list< CRef< objects::CSeq_entry > > TEntryList
bool QscoreToSeqAnnot(const string &qscore, CBioseq &bioseq, char *acc, Int2 ver, bool check_minmax, bool allow_na)
std::list< CRef< objects::CSeqdesc > > TSeqdescList
std::vector< CRef< objects::CUser_object > > TUserObjVector
int fta_atoi(string_view sv)
bool fta_StartsWith(const char *s1, string_view s2)
bool StringEquN(const char *s1, const char *s2, size_t n)
bool StringEqu(const char *s1, const char *s2)
void StringCpy(char *d, const char *s)
void StringNCpy(char *d, const char *s, size_t n)
size_t StringLen(const char *s)
void MemCpy(void *p, const void *q, size_t sz)
char * StringNew(size_t sz)
void FtaDeletePrefix(int prefix)
#define FtaErrPost(sev, level,...)
void fta_find_pub_explore(ParserPtr pp, TEntryList &seq_entries)
static const char * str(char *buf, int n)
bool GetGenBankInstContig(const DataBlk &entry, CBioseq &bsp, ParserPtr pp)
static CRef< CGB_block > GetGBBlock(ParserPtr pp, const DataBlk &entry, CMolInfo &mol_info, CBioSource *bio_src)
static string GetGenBankLineage(string_view sv)
static void fta_get_str_user_field(char *line, const Char *tag, CUser_object &user_obj)
static CRef< CMolInfo > GetGenBankMolInfo(ParserPtr pp, const DataBlk &entry, const COrg_ref *org_ref)
static void FakeGenBankBioSources(const DataBlk &entry, CBioseq &bioseq)
static void CheckContigEverywhere(IndexblkPtr ibp, Parser::ESource source)
static void fta_get_user_object(CSeq_entry &seq_entry, const DataBlk &entry)
static void GenBankGetDivision(char *division, Int4 div, const DataBlk &entry)
static void fta_get_user_field(char *line, const Char *tag, CUser_object &user_obj)
static void fta_get_mga_user_object(TSeqdescList &descrs, char *offset, size_t len)
static char * GBDivOffset(const DataBlk &entry, Int4 div_shift)
static bool GetGenBankInst(ParserPtr pp, const DataBlk &entry, unsigned char *dnaconv)
static void xGenBankGetDivision(char *division, Int4 div, const string &locusText)
static void GetGenBankDescr(ParserPtr pp, const DataBlk &entry, CBioseq &bioseq)
void DealWithGenes(CRef< CSeq_entry > &pEntry, ParserPtr pp)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
void ResetDataAndHistory(void)
Clear all information in the scope except added data loaders.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty â pointing to an object and has a non-null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty â not pointing to any object, which means having a null value.
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
char Char
Alias for char.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
@ eNocase
Case insensitive compare.
@ eCurrent
Use current time. See also CCurrentTime.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
TGenome GetGenome(void) const
Get the Genome member data.
TOrigin GetOrigin(void) const
Get the Origin member data.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
const TOrg & GetOrg(void) const
Get the Org member data.
bool IsSetOrigin(void) const
Check if a value has been assigned to Origin data member.
void SetOrg(TOrg &value)
Assign a value to Org data member.
@ eSubtype_environmental_sample
@ eOrigin_synthetic
purely synthetic
bool IsSetData(void) const
the object itself Check if a value has been assigned to Data data member.
TStd & SetStd(void)
Select the variant.
TData & SetData(void)
Assign a value to Data data member.
void SetNum(TNum value)
Assign a value to Num data member.
void SetLabel(TLabel &value)
Assign a value to Label data member.
void SetType(TType &value)
Assign a value to Type data member.
void SetData(TData &value)
Assign a value to Data data member.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
const TMod & GetMod(void) const
Get the Mod member data.
const TDiv & GetDiv(void) const
Get the Div member data.
const TTaxname & GetTaxname(void) const
Get the Taxname member data.
bool IsSetDiv(void) const
GenBank division code Check if a value has been assigned to Div data member.
void SetTaxname(const TTaxname &value)
Assign a value to Taxname data member.
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
void SetOrgname(TOrgname &value)
Assign a value to Orgname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
@ eSubtype_metagenome_source
@ eSeq_code_type_iupacaa
IUPAC 1 letter amino acid code.
@ eSeq_code_type_iupacna
IUPAC 1 letter nuc acid code.
bool IsMix(void) const
Check if variant Mix is selected.
const TMix & GetMix(void) const
Get the variant data.
TSet & SetSet(void)
Select the variant.
bool IsSeq(void) const
Check if variant Seq is selected.
void SetDescr(TDescr &value)
Assign a value to Descr data member.
TSeq & SetSeq(void)
Select the variant.
TRepr GetRepr(void) const
Get the Repr member data.
TId & SetId(void)
Assign a value to Id data member.
const TInst & GetInst(void) const
Get the Inst member data.
TTitle & SetTitle(void)
Select the variant.
TPub & SetPub(void)
Select the variant.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
TGenbank & SetGenbank(void)
Select the variant.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
const TId & GetId(void) const
Get the Id member data.
TTech GetTech(void) const
Get the Tech member data.
const Tdata & Get(void) const
Get the member data.
TComment & SetComment(void)
Select the variant.
void SetInst(TInst &value)
Assign a value to Inst data member.
void ResetTech(void)
Reset Tech data member.
TSource & SetSource(void)
Select the variant.
void SetTopology(TTopology value)
Assign a value to Topology data member.
ETopology
topology of molecule
void SetDescr(TDescr &value)
Assign a value to Descr data member.
bool IsSetTech(void) const
Check if a value has been assigned to Tech data member.
TUser & SetUser(void)
Select the variant.
void SetRepr(TRepr value)
Assign a value to Repr data member.
EStrand
strandedness in living organism
void SetStrand(TStrand value)
Assign a value to Strand data member.
void SetTech(TTech value)
Assign a value to Tech data member.
const TDescr & GetDescr(void) const
Get the Descr member data.
TMolinfo & SetMolinfo(void)
Select the variant.
TUpdate_date & SetUpdate_date(void)
Select the variant.
@ eRepr_delta
sequence made by changes (delta) to others
@ eRepr_raw
continuous sequence
@ eRepr_virtual
no seq data
@ eTech_htgs_2
ordered High Throughput sequence contig
@ eTech_other
use Source.techexp
@ eTech_htc
high throughput cDNA
@ eTech_targeted
targeted locus sets/studies
@ eTech_sts
Sequence Tagged Site.
@ eTech_htgs_3
finished High Throughput sequence
@ eTech_htgs_1
unordered High Throughput sequence contig
@ eTech_tsa
transcriptome shotgun assembly
@ eTech_wgs
whole genome shotgun sequencing
@ eTech_survey
one-pass genomic sequence
@ eTech_htgs_0
single genomic reads for coordination
@ eTech_fli_cdna
full length insert cDNA
@ eTech_est
Expressed Sequence Tag.
int CheckTPG(const string &str)
int CheckSTRAND(const string &str)
Int4 IsNewAccessFormat(const Char *acnum)
Int2 CheckDIV(const char *str)
CRef< CDate_std > GetUpdateDate(string_view str, Parser::ESource source)
void GetFlatBiomol(CMolInfo::TBiomol &biomol, CMolInfo::TTech tech, char *molstr, ParserPtr pp, const DataBlk &entry, const COrg_ref *org_ref)
void LoadFeat(ParserPtr pp, const DataBlk &entry, CBioseq &bioseq)
const struct ncbi::grid::netcache::search::fields::KEY key
const CharType(& source)[N]
std::list< SeqLoc > TSeqLocList
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
CRef< CPubdesc > DescrRefs(ParserPtr pp, DataBlk &dbp, Uint2 col_data)
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
CRef< objects::CSeq_entry > seq_entry
CRef< objects::CPatent_seq_id > psip
char *(* ff_get_qscore_pp)(const char *accession, Int2 v, Parser *pp)
vector< IndexblkPtr > entrylist
bool allow_crossdb_featloc
char *(* ff_get_qscore)(const char *accession, Int2 v)
bool GetGenomeInfo(CBioSource &bsp, string_view bptr)
void MaybeCutGbblockSource(TEntryList &seq_entries)
bool HasHtg(const TKeywordList &keywords)
char * SrchTheChar(string_view sv, Char letter)
bool HasHtc(const TKeywordList &keywords)
bool fta_tls_keywords_check(const TKeywordList &kwds, Parser::ESource source)
void RemoveHtgPhase(TKeywordList &keywords)
string GetBlkDataReplaceNewLine(string_view instr, Uint2 indent)
void fta_remove_tsa_keywords(TKeywordList &kwds, Parser::ESource source)
void fta_remove_tpa_keywords(TKeywordList &kwds)
bool SrchNodeType(const DataBlk &entry, Int4 type, size_t *plen, char **pptr)
TDataBlkList & TrackNodes(const DataBlk &entry)
void fta_remove_keywords(CMolInfo::TTech tech, TKeywordList &kwds)
void fta_remove_tls_keywords(TKeywordList &kwds, Parser::ESource source)
DataBlk * TrackNodeType(const DataBlk &entry, Int2 type)
void fta_remove_mag_keywords(TKeywordList &kwds)
void fta_keywords_check(string_view str, bool *estk, bool *stsk, bool *gssk, bool *htck, bool *flik, bool *wgsk, bool *tpak, bool *envk, bool *mgak, bool *tsak, bool *tlsk)
bool IsCancelled(const TKeywordList &keywords)
bool fta_tsa_keywords_check(const TKeywordList &kwds, Parser::ESource source)
void fta_remove_env_keywords(TKeywordList &kwds)
bool fta_tpa_keywords_check(const TKeywordList &kwds)
bool fta_check_mga_keywords(CMolInfo &mol_info, const TKeywordList &kwds)
CRef< CSeq_loc > xgbparseint_ver(string_view raw_intervals, bool &keep_rawPt, int &numErrors, const TSeqIdList &seq_ids, bool accver)
void XGappedSeqLocsToDeltaSeqs(const TSeqLocList &locs, TDeltaList &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