48 #define THIS_FILE "block.cpp"
65 for (; gfp; gfp = tgfp) {
76 int MAX_HEAD_RECURSION(100);
84 for (
int i = 0; p &&
i < MAX_HEAD_RECURSION; ++
i) {
134 for (; xip; xip = xipnext) {
188 for (; qssp; qssp = tqssp) {
231 while (fgets(
buf, 1023, pp->
qsfd)) {
250 tqssp->
version = q ? atoi(q) : 0;
254 tqssp->
next =
nullptr;
269 vector<QSStructPtr> qsspp(count);
271 for (j = 0; j < count && tqssp; j++, tqssp = tqssp->
next)
277 for (j = 0, count--; j < count; j++)
278 if (
StringEqu(qsspp[j]->accession, qsspp[j + 1]->accession))
279 if (pp->
accver ==
false ||
280 qsspp[j]->version == qsspp[j + 1]->version)
295 vector<IndexblkPtr> ibpp(pp->
indx);
296 for (j = 0; j < pp->
indx && ibnp; j++, ibnp = ibnp->
next)
302 for (ret =
true, j = 0, k = 0; j < count; j++) {
307 for (; k < pp->
indx; k++) {
308 l =
StringCmp(qsspp[j]->accession, ibpp[k]->acnum);
315 m = qsspp[j]->version - ibpp[k]->vernum;
322 ibpp[k]->qsoffset = qsspp[j]->offset;
323 ibpp[k]->qslength = qsspp[j]->length;
static bool QSNoSequenceRecordErr(bool accver, QSStructPtr qssp)
static bool QSCmp(const QSStruct *qs1, const QSStruct *qs2)
static void QSStructFree(QSStructPtr qssp)
void XMLIndexFree(XmlIndexPtr xip)
void GapFeatsFree(GapFeatsPtr gfp)
void xFreeEntry(DataBlkPtr entry)
static bool AccsCmp(const Indexblk *ibp1, const Indexblk *ibp2)
void FreeIndexblk(IndexblkPtr ibp)
bool QSIndex(ParserPtr pp, IndBlkNextPtr ibnp)
#define ParFlat_ENTRYNODE
int StringCmp(const char *s1, const char *s2)
char * StringSave(const char *s)
bool StringEqu(const char *s1, const char *s2)
size_t StringLen(const char *s)
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.
#define ERR_QSCORE_NoSequenceRecord
#define ERR_QSCORE_NoScoreDataFound
#define ERR_QSCORE_RedundantScores
if(yy_accept[yy_current_state])
constexpr auto sort(_Init &&init)
void FreeTokenblk(TokenBlkPtr tbp)