}
else if(condiv && ibp->
is_contig==
false&& ibp->
origin==
false) {
129 boolallow_crossdb_featloc;
137 for(q = p,
r= p; *q !=
'\0'; q++)
138 if(*q !=
'\n'&& *q !=
'\t'&& *q !=
' ')
142 for(q = p; *q !=
'\0'; q++)
143 if((q[0] ==
','&& q[1] ==
',') || (q[0] ==
'('&& q[1] ==
',') ||
144(q[0] ==
','&& q[1] ==
')'))
172 if(loc->
IsMix()) {
188unique_ptr<string> topstr;
189unique_ptr<string> strandstr;
192 for(
const auto& xip : ibp->
xip) {
239 boolpat_ref =
false;
240 boolest_kwd =
false;
241 boolsts_kwd =
false;
242 boolgss_kwd =
false;
243 boolhtc_kwd =
false;
244 boolfli_kwd =
false;
245 boolwgs_kwd =
false;
246 booltpa_kwd =
false;
247 booltsa_kwd =
false;
248 booltls_kwd =
false;
249 boolenv_kwd =
false;
250 boolmga_kwd =
false;
269 if(p && p >
str&& p[1] ==
'\0'&& *(p - 1) ==
'.')
272gbb->SetSource(
str);
278gbb->SetKeywords().swap(ibp->
keywords);
299 for(
const string&
key: gbb->GetKeywords()) {
300 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);
313 stringdiv_str(bptr, bptr + 3);
314gbb->SetDiv(div_str);
317gbb->SetDiv(
"UNA");
321 const char* p_div = gbb->GetDiv().c_str();
342 if(!
HasHtg(gbb->GetKeywords())) {
377 if(ibp->
is_mga==
false) {
382}
else if(ibp->
is_mga) {
392}
else if(ibp->
is_tpa) {
397 if(ibp->
is_tsa==
false) {
402}
else if(ibp->
is_tsa) {
407 if(ibp->
is_tls==
false) {
412}
else if(ibp->
is_tls) {
417 if(
i== 2 && ibp->
htg> 0 && env_kwd)
418 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.");
419 else if(
i!= 2 || env_kwd ==
false||
420(est_kwd ==
false&& gss_kwd ==
false&& wgs_kwd ==
false)) {
421 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.");
429wgs_kwd ==
false&& tpa_kwd ==
false&& env_kwd ==
false) {
441 if(! est_kwd && kw->find(
"EST") != string::npos) {
444 if(! sts_kwd && kw->find(
"STS") != string::npos) {
452 stringp_div = gbb->GetDiv();
454 check_div(ibp->
is_pat, pat_ref, est_kwd, sts_kwd, gss_kwd, if_cds, p_div, &tech, ibp->
bases, pp->
source, drop);
470}
else if(gbb->GetDiv() ==
"CON") {
482gbb->GetDiv() !=
"EST") {
492 boolis_htc_div = gbb->GetDiv() ==
"HTC",
493has_htc =
HasHtc(gbb->GetKeywords());
495 if(is_htc_div && ! has_htc) {
500 if(! is_htc_div && has_htc) {
509 if(*
str==
'm'|| *
str==
'r')
530 if(! gbb->GetDiv().empty()) {
531 if(gbb->GetDiv() ==
"EST") {
535}
else if(gbb->GetDiv() ==
"STS") {
539}
else if(gbb->GetDiv() ==
"GSS") {
543}
else if(gbb->GetDiv() ==
"HTC") {
547}
else if(gbb->GetDiv() ==
"SYN"&& bio_src && bio_src->
IsSetOrigin() &&
576 for(
const auto& subtype : bio_src->
GetSubtype()) {
586 if(gbb->IsSetDiv() &&
634 GetFlatBiomol(mol_info->SetBiomol(), mol_info->GetTech(), molstr, pp, entry, org_ref);
636mol_info->ResetBiomol();
647unique_ptr<string> organism;
648unique_ptr<string> taxonomy;
652 for(
const auto& xip : xil) {
666p = organism->c_str();
668 while(*p !=
' '&& *p !=
'\0')
679 for(q--; *q ==
' '|| *q ==
'\t'; q--)
682 if(*q !=
' '&& *q !=
'\t')
704bioseq.
SetDescr().Set().push_back(descr);
713 for(p =
offset; *p ==
'\n'|| *p ==
' ';)
725 for(p++; *p ==
' ';)
734 for(p += 2, q = p; *q ==
' ';)
740 for(p =
offset; *p ==
' ';)
744 for(p =
offset; *p !=
'\0';)
749 if(*p ==
' '|| *p ==
'\t'|| *p ==
';'|| *p ==
','||
750*p ==
'.'|| *p ==
'~') {
790 for(
auto& descr : bioseq.
SetDescr().Set()) {
791 if(descr->IsSource()) {
792bio_src = &(descr->SetSource());
794org_ref = &bio_src->
SetOrg();
809 for(p =
str; *p ==
' ';)
815 if(! p || p[1] !=
'\0') {
830bioseq.
SetDescr().Set().push_back(descr);
833title.starts_with(
"TPA:"sv)) {
839 if(! ibp->
is_tsa&& title.starts_with(
"TSA:"sv)) {
845 if(! ibp->
is_tls&& title.starts_with(
"TLS:"sv)) {
853(title.empty() || ! title.starts_with(
"TPA:"sv))) {
860(title.empty() || ! title.starts_with(
"TSA:"))) {
867(title.empty() || ! title.starts_with(
"TLS:"sv))) {
878 for(
auto& dbp : dbl) {
882descr->
SetPub(*pubdesc);
883bioseq.
SetDescr().Set().push_back(descr);
889 for(
auto& dbp : dbl) {
893descr->
SetPub(*pubdesc);
894bioseq.
SetDescr().Set().push_back(descr);
911 if(! dr_ena.empty() || ! dr_biosample.empty())
914 if(mol_info->IsSetBiomol() || mol_info->IsSetTech()) {
917bioseq.
SetDescr().Set().push_back(descr);
921 if(embl.
Empty()) {
925}
else if(gbb.
Empty()) {
936 if(embl->GetExtra_acc().empty())
937embl->ResetExtra_acc();
946 if(! gbdiv.empty()) {
954bioseq.
SetDescr().Set().push_back(descr);
963 "TPA:{} record lacks the mandatory comment line. Entry dropped.",
964(ibp->
inferential==
false) ?
"experimental":
"inferential");
985 if(pp->
taxserver== 1 && gbb->IsSetDiv())
990bioseq.
SetDescr().Set().push_back(descr);
1008 for(
auto& user_obj : user_objs) {
1011bioseq.
SetDescr().Set().push_back(descr);
1016 for(q =
offset, p = q; *p !=
'\0';) {
1017 if(*p ==
';'&& (p[1] ==
' '|| p[1] ==
'~'))
1019 if(*p ==
'~'|| *p ==
' ') {
1021 for(p++; *p ==
' '|| *p ==
'~';)
1032bioseq.
SetDescr().Set().push_back(descr);
1071bioseq.
SetDescr().Set().push_back(descr);
1082bioseq.
SetDescr().Set().push_back(descr);
1097 if(! ibp || ! entry)
1137 if(
StringEqu(ibp->division,
"TSA")) {
1138 if(ibp->tsa_allowed ==
false)
1140ibp->is_tsa =
true;
1157ebp->seq_entry->SetSeq(*bioseq);
1159unique_ptr<DataBlk> dbp(
new DataBlk());
1160dbp->SetEntryData(ebp);
1161dbp->mBuf.ptr = entry;
1208 if(! ibp->gaps.empty())
1210 else if(ibp->htg == 4 || ibp->htg == 1 || ibp->htg == 2 ||
1213}
else if(! ibp->gaps.empty())
1238 if(!
QscoreToSeqAnnot(dbp->mpQscore, *bioseq, ibp->acnum, ibp->vernum,
false,
true)) {
1253dbp->mpQscore.clear();
1262}
else if(ibp->is_wgs) {
1277gene_refs.
valid=
false;
1283 if(ebp->seq_entry.Empty()) {
1293seq_entries.push_back(ebp->seq_entry);
1294ebp->seq_entry.Reset();
1306 boolseq_long{
false};
1309 if(ibp->htg == 1 || ibp->htg == 2 || ibp->htg == 4) {
1356 result= seq_entries.front();
1373 "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.
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)
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)
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 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 StripSerialNumbers(TEntryList &seq_entries)
void fta_fix_orgref_div(const CBioseq::TAnnot &annots, COrg_ref *org_ref, CGB_block &gbb)
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)
bool XMLCheckCDS(const char *entry, const TXmlIndexList &xil)
void EntryCheckDivCode(TEntryList &seq_entries, ParserPtr pp)
void XMLDefVsHTGKeywords(CMolInfo::TTech tech, const char *entry, const TXmlIndexList &xil, bool cancelled)
bool GetSeqData(ParserPtr pp, const DataBlk &entry, CBioseq &bioseq, Int4 nodetype, unsigned char *seqconv, Uint1 seq_data_type)
bool fta_EntryCheckGBBlock(TEntryList &seq_entries)
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)
list< string > TStringList
void ProcessCitations(TEntryList &seq_entries)
CDate::ECompare Compare(const CDate_std &date) const
Indicate how *this relates to another date.
void SetToTime(const CTime &time, CDate::EPrecision prec=CDate::ePrecision_second)
@ eCompare_after
*this comes second.
static bool IsNa(EMol mol)
CRef< objects::CSeq_entry > xGetEntry() override
void PostTotals() override
struct DataBlk::@1166 mBuf
void fta_build_ena_user_object(list< CRef< CSeqdesc >> &descrs, TStringList &dr_ena, TStringList &dr_biosample, CRef< CUser_object > &dbuop)
CRef< CEMBL_block > XMLGetEMBLBlock(ParserPtr pp, const char *entry, CMolInfo &mol_info, string &gbdiv, CBioSource *bio_src, TStringList &dr_ena, TStringList &dr_biosample)
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_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)
unique_ptr< string > XMLFindTagValue(const char *entry, const TXmlIndexList &xil, Int4 tag)
#define INSDSEQ_DEFINITION
#define INSDSEQ_STRANDEDNESS
TDataBlkList XMLBuildRefDataBlk(char *entry, const TXmlIndexList &xil, int type)
unique_ptr< string > XMLGetTagValue(const char *entry, const XmlIndex &xip)
char * XMLLoadEntry(ParserPtr pp, bool err)
unique_ptr< string > XMLConcatSubTags(const char *entry, const TXmlIndexList &xil, Int4 tag, Char sep)
#define INSDSEQ_CREATE_DATE
void XMLGetKeywords(const char *entry, const TXmlIndexList &xil, TKeywordList &keywords)
#define INSDSEQ_UPDATE_DATE
DataBlk::TList TDataBlkList
forward_list< XmlIndex > TXmlIndexList
std::vector< CRef< objects::CUser_object > > TUserObjVector
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)
size_t StringLen(const char *s)
void MemCpy(void *p, const void *q, size_t sz)
char * StringRChr(char *s, const char c)
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)
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.
void ResetDataAndHistory(void)
Clear all information in the scope except added data loaders.
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
#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
TStd & SetStd(void)
Select the variant.
const TDiv & GetDiv(void) const
Get the Div member data.
void SetCommon(const TCommon &value)
Assign a value to Common data member.
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 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.
@ 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.
TRepr GetRepr(void) const
Get the Repr member data.
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.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
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.
TEmbl & SetEmbl(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.
TCreate_date & SetCreate_date(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
@ eTech_htgs_2
ordered High Throughput sequence contig
@ 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.
Int4 IsNewAccessFormat(const Char *acnum)
Int2 XMLCheckTPG(string_view str)
Int2 CheckDIV(const char *str)
Int2 XMLCheckSTRAND(string_view 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 msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
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)
bool HasHtc(const TKeywordList &keywords)
bool fta_tls_keywords_check(const TKeywordList &kwds, Parser::ESource source)
void RemoveHtgPhase(TKeywordList &keywords)
void fta_remove_tsa_keywords(TKeywordList &kwds, Parser::ESource source)
void fta_remove_tpa_keywords(TKeywordList &kwds)
void fta_remove_keywords(CMolInfo::TTech tech, TKeywordList &kwds)
void fta_remove_tls_keywords(TKeywordList &kwds, Parser::ESource source)
void fta_StringCpy(char *dst, const char *src)
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)
static CRef< CMolInfo > XMLGetMolInfo(ParserPtr pp, const DataBlk &entry, COrg_ref *org_ref)
bool XMLGetInst(ParserPtr pp, const DataBlk &dbp, unsigned char *dnaconv, CBioseq &bioseq)
static void XMLGetDescr(ParserPtr pp, const DataBlk &entry, CBioseq &bioseq)
static CRef< CGB_block > XMLGetGBBlock(ParserPtr pp, const char *entry, CMolInfo &mol_info, CBioSource *bio_src)
static void XMLCheckContigEverywhere(IndexblkPtr ibp, Parser::ESource source)
static void XMLFakeBioSources(const TXmlIndexList &xil, const char *entry, CBioseq &bioseq, Parser::ESource source)
static void XMLGetDivision(const char *entry, IndexblkPtr ibp)
static bool XMLGetInstContig(const TXmlIndexList &xil, const DataBlk &dbp, CBioseq &bioseq, ParserPtr pp)
static void XMLGetDescrComment(char *offset)
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