A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/add_8cpp_source.html below:

NCBI C++ ToolKit: src/objtools/flatfile/add.cpp Source File

80 #define THIS_FILE "add.cpp" 152  for

(

char

c :

str

) {

162  for

(

i

= 0;

i

<

str

.length(); ++

i

) {

163  if

(

str

[

i

] !=

'\n'

)

166  for

(

size_t

k =

i

+ 1; k <

str

.length() &&

isspace

(

str

[k]); ++k)

170  str

.erase(

i

+ 1, j);

174  while

(!

str

.empty()) {

175  char

c =

str

.back();

176  if

(c ==

' '

|| c ==

';'

|| c ==

','

|| c ==

'\"'

|| c ==

'\t'

)

188  bool

no_create =

true

;

189  bool

no_update =

true

;

191  for

(

const auto

& desc : descrs) {

192  if

(desc->IsCreate_date())

194  else if

(desc->IsUpdate_date())

197  if

(no_create ==

false

&& no_update ==

false

)

204  return

(no_create || no_update);

218  for

(

const auto

& desc : bioseq.

GetDescr

().

Get

()) {

223  for

(

const auto

& annot : bioseq.

GetAnnot

()) {

224  if

(! annot->IsFtable())

227  for

(

const auto

& feat : annot->GetData().GetFtable()) {

228  if

(feat->IsSetData() && feat->GetData().IsPub())

232  for

(

const auto

& feat : annot->GetData().GetFtable()) {

233  if

(! feat->IsSetData() || ! feat->GetData().IsImp())

236  const CImp_feat

& imp = feat->GetData().GetImp();

237  if

(imp.

GetKey

() ==

"Site-ref"

) {

269  auto

temp = chain.cbegin();

270  for

(; temp != chain.cend(); ++temp) {

271  const auto

& dblk = *temp;

272  if

(dblk.mType !=

type

)

277  const auto

& subblocks = dblk.GetSubBlocks();

278  for

(

const auto

& dbp : subblocks)

283  auto

dbp = subblocks.cbegin();

287  if

(temp == chain.cend())

298  string

temp = ibp->

acnum

;

299  if

(accver && ibp->

vernum

> 0) {

301

temp += to_string(ibp->

vernum

);

319  const string

& gapType(gfp.

gap_type

);

320  if

(gapType ==

"unknown"

|| gapType ==

"within scaffold"

|| gapType ==

"repeat within scaffold"

) {

335

CDelta_ext::Tdata::iterator

delta

= deltas.begin();

340  if

(! (*delta)->IsLiteral())

344  if

(

literal

.GetLength() !=

static_cast<Uint4>

(gfp->to - gfp->from + 1)) {

346  "The lengths of the CONTIG/CO line gaps disagrees with the lengths of assembly_gap features. First assembly_gap with a mismatch is at \"{}..{}\"."

,

357  if

(*drop || (

delta

== deltas.end() && gfp == gf.end()))

360  if

(

delta

== deltas.end() && gfp != gf.end()) {

362  "The number of the assembly_gap features exceeds the number of CONTIG/CO line gaps. First extra assembly_gap is at \"{}..{}\"."

,

365

}

else if

(

delta

!= deltas.end() && gfp == gf.end()) {

367  if

((*delta)->IsLiteral())

371  if

(

delta

== deltas.end())

392  if

(sequence.empty() || sequence.size() != bioseq.

GetLength

())

396  for

(

auto

tgfp = gf.begin(); tgfp != gf.end(); ++tgfp) {

397  auto const

nxt =

next

(tgfp);

398  if

(nxt != gf.end()) {

399

p = sequence.c_str() + tgfp->to;

400  for

(

i

= tgfp->to + 1; i < nxt->from; p++,

i

++)

403  if

(

i

== nxt->from && nxt->from > tgfp->to + 1) {

405  "A run of all-N sequence exists between the gap features located at \"{}..{}\" and \"{}..{}\"."

,

406

tgfp->from, tgfp->to, nxt->from, nxt->to);

407

tgfp->rightNs =

true

;

410

nextfrom = nxt->from;

414  if

(tgfp->leftNs ==

false

&& tgfp->from - prevto > 10) {

415  for

(p = sequence.c_str() + tgfp->from - 11,

i

= 0;

i

< 10; p++,

i

++)

420  "A run of N's greater or equal than 10 abuts the gap feature at \"{}..{}\" : possible problem with the boundaries of the gap."

,

421

tgfp->from, tgfp->to);

425  if

(tgfp->rightNs ==

false

&& nextfrom - tgfp->to > 10) {

426  for

(p = sequence.c_str() + tgfp->to,

i

= 0;

i

< 10; p++,

i

++)

431  "A run of N's greater or equal than 10 abuts the gap feature at \"{}..{}\" : possible problem with the boundaries of the gap."

,

432

tgfp->from, tgfp->to);

436  for

(

i

= tgfp->from - 1, p = sequence.c_str() +

i

; i < tgfp->to; p++,

i

++)

441  "The sequence data associated with the gap feature at \"{}..{}\" contains basepairs other than N."

,

442

tgfp->from, tgfp->to);

459  if

(tgfp->from - prevto - 1 > 0) {

460  len

= tgfp->from - prevto - 1;

461  delta

->SetLiteral().SetLength(

len

);

462  delta

->SetLiteral().SetSeq_data().SetIupacna().Set() = sequence.substr(prevto,

len

);

464

deltas.push_back(

delta

);

469  len

= tgfp->to - tgfp->from + 1;

470  delta

->SetLiteral().SetLength(

len

);

471  if

(tgfp->estimated_length == -100) {

472  delta

->SetLiteral().SetFuzz().SetLim();

473

}

else if

(tgfp->estimated_length !=

len

) {

474  delta

->SetLiteral().SetFuzz().SetRange().SetMin(tgfp->estimated_length);

475  delta

->SetLiteral().SetFuzz().SetRange().SetMax(

len

);

478  if

(tgfp->assembly_gap)

481

deltas.push_back(

delta

);

486  if

(tgfp == gf.end()) {

491  delta

->SetLiteral().SetLength(

len

);

492  delta

->SetLiteral().SetSeq_data().SetIupacna().Set() = sequence.substr(prevto,

len

);

494

deltas.push_back(

delta

);

500  if

(! deltas.empty()) {

501

bioseq.

SetInst

().SetExt().SetDelta().Set().swap(deltas);

503

bioseq.

SetInst

().ResetSeq_data();

522  if

(sequence.empty() || sequence.size() != bioseq.

GetLength

())

525

vector<Char>

buf

(sequence.begin(), sequence.end());

532  for

(q = p; *p !=

'\0'

;) {

538  for

(

r

= p, p++,

i

= 1; *p ==

'N'

;

i

++)

551

j = (

Int4

)(

r

- q);

553  delta

->SetLiteral().SetLength(j);

554  delta

->SetLiteral().SetSeq_data().SetIupacna().Set(

string

(q,

r

));

556

deltas.push_back(

delta

);

563  delta

->SetLiteral().SetLength(

i

);

565  delta

->SetLiteral().SetFuzz().SetLim();

568

deltas.push_back(

delta

);

576  delta

->SetLiteral().SetLength(j);

577  delta

->SetLiteral().SetSeq_data().SetIupacna().Set(

string

(q, p));

579

deltas.push_back(

delta

);

582  if

(deltas.size() > 1) {

583

bioseq.

SetInst

().SetExt().SetDelta().Set().swap(deltas);

585

bioseq.

SetInst

().ResetSeq_data();

590  "or more N's to indicate gaps between component contigs. " 591  "This could be an error, or perhaps sequencing is finished " 592  "and this record should not be Phase 1."

);

598  "for one contig, and hence gaps are not expected. But " 599  "this record does have one (ore more) gaps, hence it " 600  "may require review."

);

603  "of at least 20 N's. They could indicate gaps, " 604  "but have not been treated that way because " 605  "they are below the minimum of 100 N's."

);

623  if

(extra_accs.empty())

626  if

(extra_accs.size() != 2)

629

CGB_block::TExtra_accessions::const_iterator it = extra_accs.begin();

634

acc1 = ppacc1.data();

635

acc2 = ppacc2.data();

637  if

(! acc1 && ! acc2)

639  if

(! acc1 || ! acc2)

673  for

(p = master; *p !=

'\0'

&& (*p < '0' || *p >

'9'

);)

682  for

(q = range; *q !=

'\0'

&& (*q < '0' || *q >

'9'

);)

691  bool

ret = (master == range);

707

ext.GetDelta().IsSet()) {

708  const auto

&

delta

= ext.GetDelta().Get();

709  return

any_of(begin(

delta

),

711

[](

CRef<CDelta_seq>

pDeltaSeq) {

return

(pDeltaSeq && pDeltaSeq->IsLoc()); });

719  const auto

idType =

id

.Which();

734  const auto

primaryType = primary.

Which

();

737  const bool

primaryIsGi = primaryIsAccession ?

false

: (primaryType ==

CSeq_id::e_Gi

);

739

unique_ptr<string> pPrimaryAccessionString;

741  for

(

const auto

& pDeltaSeq : delta_ext.

Get

()) {

742  if

(pDeltaSeq && pDeltaSeq->IsLoc()) {

743  auto

pId = pDeltaSeq->GetLoc().GetId();

744  const auto

& deltaIdType = pId->Which();

745  if

(deltaIdType == primaryType) {

746  if

(pId->GetSeqIdString() == primaryString) {

752  auto

deltaAccessionHandle = scope.

GetAccVer

(deltaHandle);

753  if

(! deltaAccessionHandle) {

757  if

(deltaAccessionHandle.GetSeqId()->GetSeqIdString() ==

762  if

(! pPrimaryAccessionString) {

764  auto

primaryAccessionHandle = scope.

GetAccVer

(primaryGiHandle);

765  if

(! primaryAccessionHandle) {

768

pPrimaryAccessionString =

769

make_unique<string>(primaryAccessionHandle.GetSeqId()->GetSeqIdString());

772  if

(*pPrimaryAccessionString == pId->GetSeqIdString()) {

785  auto

it = find_if(begin(accession),

787

[](

char

c) {

return

! (

isalpha

(c) || c ==

'_'

); });

789  _ASSERT

(it != accession.end());

790  return int

(distance(accession.begin(), it));

816

string_view primaryAccession(acc);

821

vector<string> candidatesAccs;

822

vector<CRef<CSeq_id>> candidatesIds;

823

vector<CSeq_id_Handle> candidatesIdhs;

825

list<CRef<CSeq_id>> replaces;

827  for

(

const auto

& accessionString : hist) {

828  if

(accessionString.empty())

842  if

(pri_acc == 0 || pri_acc == 2) {

847  if

(prefixLength <= 0) {

851  if

((accessionString.length() <= prefixLength ||

852

!

NStr::EqualNocase

(accessionString, 0, prefixLength, primaryAccession.substr(0, prefixLength)) ||

853

!

isdigit

(accessionString[prefixLength])) &&

861

candidatesAccs.push_back(accessionString);

862

candidatesIds.push_back(

id

);

867  for

(

size_t i

= 0;

i

< candidatesIdhs.size(); ++

i

) {

868  auto

& accessionString = candidatesAccs[

i

];

869  auto id

= candidatesIds[

i

];

870  auto

idChoice =

id

->Which();

871  auto

secondaryBsh = secondaryBshs[

i

];

872  bool

IsConOrScaffold =

false

;

877  "Failed to determine division code for secondary accession \"{}\". Entry dropped."

,

882  if

(! IsConOrScaffold && pricon && idChoice == acctype) {

886  if

(IsConOrScaffold && ! pricon) {

891

replaces.push_back(

id

);

896

replaces.push_back(

id

);

900  if

(! replaces.empty()) {

901  auto

& hist_replaces_ids = bioseq.

SetInst

().SetHist().SetReplaces().SetIds();

902

hist_replaces_ids.splice(hist_replaces_ids.end(), replaces);

911  if

(! s1 || ! s2 || !

StringEqu

(s1, s2))

919  bool

deldiv =

false

;

921  for

(TKeywordList::iterator

key

= kwds.begin();

key

!= kwds.end();) {

922  bool

delnode =

false

;

923  bool

errpost =

false

;

924  if

(*

key

==

"HTGS_PHASE0"

) {

925  if

(ibp->

htg

!= 0 && ibp->

htg

!= 5) {

927  if

(ibp->

htg

== 1 || ibp->

htg

== 2 || ibp->

htg

== 3)

934

}

else if

(*

key

==

"HTGS_PHASE1"

) {

935  if

(ibp->

htg

!= 0 && ibp->

htg

!= 5) {

937  if

(ibp->

htg

== 2 || ibp->

htg

== 3 || ibp->

htg

== 4)

944

}

else if

(*

key

==

"HTGS_PHASE2"

) {

945  if

(ibp->

htg

!= 0 && ibp->

htg

!= 5) {

947  if

(ibp->

htg

== 1 || ibp->

htg

== 3 || ibp->

htg

== 4)

954

}

else if

(*

key

==

"HTGS_PHASE3"

) {

955  if

(ibp->

htg

!= 0 && ibp->

htg

!= 5) {

957  if

(ibp->

htg

== 1 || ibp->

htg

== 2 || ibp->

htg

== 4)

964

}

else if

(*

key

==

"HTG"

) {

965  if

(ibp->

htg

== 0) {

990

forward_list<FTATpaSpan> ftsp;

992  if

(ftbp.empty() || length < 1)

995

ftsp.emplace_front(ftbp.front().from1, ftbp.front().to1);

996  auto

tftsp = ftsp.begin();

997  for

(

auto

tftbp = ftbp.begin(); tftbp != ftbp.end(); ++tftbp) {

998  Int4

i1 = tftbp->to1 - tftbp->from1;

999  Int4

i2 = tftbp->to2 - tftbp->from2;

1000  Int4

j = (i2 > i1) ? (i2 - i1) : (i1 - i2);

1003  if

(i1 < 3000 && j * 10 > i1) {

1006  "Span \"{}..{}\" of this TPA record differs from the span \"{}..{}\" of the contributing primary sequence or trace record by more than 10 percent."

,

1007

tftbp->from1, tftbp->to1, tftbp->from2, tftbp->to2);

1010  "Span \"{}..{}\" of this TSA record differs from the span \"{}..{}\" of the contributing primary sequence or trace record by more than 10 percent."

,

1011

tftbp->from1, tftbp->to1, tftbp->from2, tftbp->to2);

1014  if

(i1 >= 3000 && j > 300) {

1017  "Span \"{}..{}\" of this TPA record differs from span \"{}..{}\" of the contributing primary sequence or trace record by more than 300 basepairs."

,

1018

tftbp->from1, tftbp->to1, tftbp->from2, tftbp->to2);

1021  "Span \"{}..{}\" of this TSA record differs from span \"{}..{}\" of the contributing primary sequence or trace record by more than 300 basepairs."

,

1022

tftbp->from1, tftbp->to1, tftbp->from2, tftbp->to2);

1025  if

(tftbp->from1 <= tftsp->to + 1) {

1026  if

(tftbp->to1 > tftsp->to)

1027

tftsp->to = tftbp->to1;

1031

tftsp = ftsp.emplace_after(tftsp, tftbp->from1, tftbp->to1);

1034  if

(ftsp.front().from - 1 > 50) {

1036  FtaErrPost

(

SEV_ERROR

,

ERR_TPA_IncompleteCoverage

,

"This TPA record contains a sequence region \"1..{}\" greater than 50 basepairs long that is not accounted for by a contributing primary sequence or trace record."

, ftsp.front().from - 1);

1038  FtaErrPost

(

SEV_ERROR

,

ERR_TSA_IncompleteCoverage

,

"This TSA record contains a sequence region \"1..{}\" greater than 50 basepairs long that is not accounted for by a contributing primary sequence or trace record."

, ftsp.front().from - 1);

1041  for

(

auto

it = ftsp.begin(); it != ftsp.end();) {

1042  auto

it_next =

next

(it);

1043  if

(it_next != ftsp.end() && it_next->from - it->to - 1 > 50) {

1045  FtaErrPost

(

SEV_ERROR

,

ERR_TPA_IncompleteCoverage

,

"This TPA record contains a sequence region \"{}..{}\" greater than 50 basepairs long that is not accounted for by a contributing primary sequence or trace record."

, it->to + 1, it_next->from - 1);

1047  FtaErrPost

(

SEV_ERROR

,

ERR_TSA_IncompleteCoverage

,

"This TSA record contains a sequence region \"{}..{}\" greater than 50 basepairs long that is not accounted for by a contributing primary sequence or trace record."

, it->to + 1, it_next->from - 1);

1048

}

else if

(it_next == ftsp.end() && length - it->to > 50) {

1050  FtaErrPost

(

SEV_ERROR

,

ERR_TPA_IncompleteCoverage

,

"This TPA record contains a sequence region \"{}..{}\" greater than 50 basepairs long that is not accounted for by a contributing primary sequence or trace record."

, it->to + 1, length);

1052  FtaErrPost

(

SEV_ERROR

,

ERR_TSA_IncompleteCoverage

,

"This TSA record contains a sequence region \"{}..{}\" greater than 50 basepairs long that is not accounted for by a contributing primary sequence or trace record."

, it->to + 1, length);

1128  const char

* bad_accession;

1141  for

(p =

offset

; *p !=

'\0'

; p++)

1148  buf

.append(

"\n"

);

1157

ftbp.emplace_front(0, 0);

1160

bad_interval =

false

;

1161

bad_accession =

nullptr

;

1167  for

(p += col_data; *p ==

' '

;)

1169  for

(

r

= p; *p >=

'0'

&& *p <=

'9'

;)

1172

bad_interval =

true

;

1179  for

(

r

= p; *p >=

'0'

&& *p <=

'9'

;)

1181  if

(*p !=

' '

&& *p !=

'\n'

&& *p !=

'\0'

) {

1182

bad_interval =

true

;

1190

bad_interval =

true

;

1194  auto

ft = ftbp.begin();

1196  auto

it_next =

next

(ft);

1197  if

(it_next == ftbp.end() || (it_next->from1 > from1) ||

1198

(it_next->from1 == from1 && it_next->to1 > to1))

1201  auto

tftbp = ftbp.emplace_after(ft, from1, to1);

1205  for

(

r

= p; *p !=

'\0'

&& *p !=

' '

&& *p !=

'\n'

;)

1213  for

(

t

=

r

; *

t

>=

'0'

&& *

t

<=

'9'

;)

1217

bad_accession = tftbp->accession;

1224  for

(

r

= tftbp->accession + 2; *

r

==

'0'

;)

1227

bad_accession = tftbp->accession;

1230  while

(*

r

>=

'0'

&& *

r

<=

'9'

)

1233

bad_accession = tftbp->accession;

1241

bad_accession = tftbp->accession;

1254  for

(

r

= p; *p >=

'0'

&& *p <=

'9'

;)

1257

bad_interval =

true

;

1263  for

(

r

= p; *p >=

'0'

&& *p <=

'9'

;)

1265  if

(*p !=

' '

&& *p !=

'\n'

&& *p !=

'\0'

) {

1266

bad_interval =

true

;

1273  if

(tftbp->from2 >= tftbp->to2) {

1274

bad_interval =

true

;

1283  for

(p++; *p ==

' '

;)

1294  if

(bad_line || bad_interval || bad_accession) {

1300

}

else if

(bad_accession) {

1321  if

(! assembly.empty())

1329  for

(

auto

it = ftbp.begin(); it != ftbp.end(); ++it) {

1330  Int4

len1 = it->to1 - it->from1 + 1;

1331  Int4

len2 = it->to2 - it->from2 + 1;

1340

seg.SetNumseg((len1 == len2) ? 1 : 2);

1342

seg.SetStarts().push_back(it->from1 - 1);

1343

seg.SetStarts().push_back(it->from2 - 1);

1347

seg.SetStarts().push_back(-1);

1348

seg.SetStarts().push_back(it->from2 - 1 + len1);

1350

seg.SetStarts().push_back(it->from1 - 1 + len2);

1351

seg.SetStarts().push_back(-1);

1356

seg.SetLens().push_back(len1);

1357  else if

(len1 < len2) {

1358

seg.SetLens().push_back(len1);

1359

seg.SetLens().push_back(len2 - len1);

1361

seg.SetLens().push_back(len2);

1362

seg.SetLens().push_back(len1 - len2);

1366

seg.SetStrands().push_back(it->strand);

1370

seg.SetStrands().push_back(it->strand);

1374

text_id->SetAccession(acnum);

1377

text_id->SetVersion(vernum);

1382

seg.SetIds().push_back(

id

);

1388  for

(

r

= it->accession + 2; *

r

==

'0'

;)

1393  tag

.SetTag().SetStr(

r

);

1396

seg.SetIds().push_back(gen_id);

1399

otext_id->SetAccession(it->accession);

1401  if

(it->version > 0)

1402

otext_id->SetVersion(it->version);

1405  SetTextId

(it->sicho, *aux_id, *otext_id);

1409

seg.SetIds().push_back(aux_id);

1411

align_set.

Set

().push_back(align);

1414

assembly.push_back(root_align);

1423  if

(! where || ! what || *where ==

'\0'

|| *what ==

'\0'

)

1427  char

* res =

nullptr

;

1428  for

(

char

* p = where; *p !=

'\0'

; p++)

1448

interval.

SetId

().Assign(seq_id);

1456  bool

bad_format =

false

;

1458  auto

is_digit = [](

char

c) {

return '0'

<= c && c <=

'9'

; };

1460  if

(name.empty() || name.size() < 7)

1462  else if

(name[0] !=

'G'

|| name[1] !=

'C'

|| (name[2] !=

'F'

&& name[2] !=

'A'

) ||

1463

name[3] !=

'_'

|| ! is_digit(name[4]))

1466  auto

p = name.begin() + 5;

1467  auto

e = name.end();

1468  while

(p < e && is_digit(*p))

1470  if

(! (p < e && *p ==

'.'

)) {

1474  if

(! (p < e && is_digit(*p)))

1477  if

(! std::all_of(p, e, is_digit))

1490  bool

bad_format =

false

;

1492  auto

is_digit = [](

char

c) {

return '0'

<= c && c <=

'9'

; };

1494  if

(name.size() < 6)

1496  else if

(name[0] !=

'P'

|| name[1] !=

'R'

|| name[2] !=

'J'

||

1497

(name[3] !=

'E'

&& name[3] !=

'N'

&& name[3] !=

'D'

) ||

1498

name[4] <

'A'

|| name[4] >

'Z'

|| ! is_digit(name[5]))

1501  if

(! std::all_of(name.begin() + 6, name.end(), is_digit))

1512

(name[3] !=

'N'

|| name[4] !=

'A'

)) ||

1514

(name[3] !=

'N'

|| name[4] !=

'A'

)))

1523  if

(

str

.empty()) {

1529  for

(

char

& c :

str

) {

1530  if

(c ==

';'

|| c ==

','

|| c ==

'\t'

)

1541

forward_list<string> res;

1542  auto

tail = res.before_begin();

1544  for

(

auto

p =

str

.begin(); p !=

str

.end();) {

1545  while

(p !=

str

.end() && *p ==

' '

)

1548  if

(p ==

str

.end())

1552  while

(p !=

str

.end() && *p !=

' '

)

1555

string_view name(q, p);

1557  if

(! std::all_of(name.begin(), name.end(), [](

char

c) { return

'0'

<= c && c <=

'9'

; })) {

1565

tail = res.insert_after(tail,

string

(name));

1582  bool

newstyle =

false

;

1585

name =

"GenomeProject:"

sv;

1589

name =

"Project:"

sv;

1593  size_t len

= name.size();

1595  auto n

=

str

.find(ch);

1596  if

(

n

!= string_view::npos)

1599  if

(!

str

.starts_with(name)) {

1610  str

.remove_prefix(

len

);

1620  for

(

auto

& descr : descrs) {

1621  if

(! descr->IsUser() || ! descr->GetUser().IsSetData())

1624

user_obj_ptr = &(descr->SetUser());

1628

obj_id = &(user_obj_ptr->

SetType

());

1630  if

(obj_id && obj_id->

IsStr

() && obj_id->

GetStr

() ==

"DBLink"

) {

1639  for

(

const auto

& tvnp : vnp)

1647  id

.SetStr(

"DBLink"

);

1651

user_field->

SetLabel

().SetStr(

"BioProject"

);

1654  for

(

const auto

& tvnp : vnp)

1655

user_field->

SetData

().SetStrs().push_back(tvnp);

1657

user_obj_ptr->

SetData

().push_back(user_field);

1665  id

.SetStr(

"GenomeProjectsDB"

);

1667  for

(

const auto

& tvnp : vnp) {

1670

user_field->

SetLabel

().SetStr(

"ProjectID"

);

1672

user_obj_ptr->

SetData

().push_back(user_field);

1675

user_field->

SetLabel

().SetStr(

"ParentID"

);

1676

user_field->

SetData

().SetInt(0);

1677

user_obj_ptr->

SetData

().push_back(user_field);

1683

descr->

SetUser

(*user_obj_ptr);

1684

descrs.push_back(descr);

1691  if

(

id

.

size

() > 3 &&

1692

(

id

[0] ==

'E'

||

id

[0] ==

'S'

||

id

[0] ==

'D'

) &&

id

[1] ==

'R'

&&

1693

(

id

[2] ==

'A'

||

id

[2] ==

'P'

||

id

[2] ==

'R'

||

id

[2] ==

'S'

||

1694  id

[2] ==

'X'

||

id

[2] ==

'Z'

)) {

1695  if

(std::all_of(

id

.begin() + 3,

id

.end(), [](

char

c) {

return '0'

<= c && c <=

'9'

; }))

1709  if

(

id

.

size

() > 5 &&

id

[0] ==

'S'

&&

id

[1] ==

'A'

&&

1710  id

[2] ==

'M'

&& (

id

[3] ==

'N'

||

id

[3] ==

'E'

||

id

[3] ==

'D'

)) {

1711  auto

p =

id

.begin() + 4;

1712  if

(*p ==

'A'

|| *p ==

'G'

)

1714  if

(std::all_of(p,

id

.end(), [](

char

c) {

return '0'

<= c && c <=

'9'

; }))

1733  if

(

str

.empty()) {

1738  for

(

char

& c :

str

)

1739  if

(c ==

';'

|| c ==

'\t'

)

1742

forward_list<string> res;

1743  auto

tvnp = res.before_begin();

1744  auto

tagvnp = res.end();

1750

bioproject =

false

;

1752  auto

nl =

str

.begin();

1753  for

(

auto

p =

str

.begin(); p !=

str

.end(); got_nl =

false

) {

1754  while

(p !=

str

.end() && (*p ==

' '

|| *p ==

'\n'

|| *p ==

':'

|| *p ==

','

)) {

1763  auto t

= std::find(p,

str

.end(),

':'

);

1764  if

(

t

!=

str

.end()) {

1768  if

((

tag

.find(

','

) == string::npos) && (

tag

.find(

'\n'

) == string::npos)) {

1771  if

(! (

tag

==

"Project:"

) &&

1772

! (

tag

==

"Assembly:"

) &&

1773

! (

tag

==

"BioSample:"

) &&

1774

! (

tag

==

"BioProject:"

) &&

1775

! (

tag

==

"Sequence Read Archive:"

) &&

1776

! (

tag

==

"Trace Assembly Archive:"

)) {

1781

bioproject = (

tag

==

"BioProject:"

);

1782

sra = (

tag

==

"Sequence Read Archive:"

);

1783

biosample = (

tag

==

"BioSample:"

);

1784

assembly = (

tag

==

"Assembly:"

);

1786  if

(! res.empty() && tvnp->find(

':'

) != string::npos) {

1791  for

(

auto

uvnp = res.cbegin(); uvnp != res.cend(); ++uvnp)

1792  if

(*uvnp ==

tag

) {

1797

tvnp = res.insert_after(tvnp, std::move(

tag

));

1805  while

(p !=

str

.end() && *p !=

','

&& *p !=

'\n'

&& *p !=

':'

)

1807  if

(p !=

str

.end() && *p ==

':'

) {

1808  while

(p !=

str

.end() && *p !=

'\n'

)

1819  if

(tagvnp != res.end() && ! tagvnp->empty()) {

1821  for

(

auto

uvnp =

next

(tagvnp); uvnp != res.end(); ++uvnp) {

1822  if

(! uvnp->empty() && *uvnp == name) {

1843

tvnp = res.insert_after(tvnp, std::move(name));

1846  if

(! res.empty() && tvnp->find(

':'

) != string::npos) {

1869  for

(

auto

tvnp = vnp.begin(); tvnp != vnp.end(); ++tvnp) {

1870  if

(tvnp->find(

':'

) != string::npos) {

1874  if

(*tvnp ==

"Project:"

) {

1878  id

.SetStr(

"GenomeProjectsDB"

);

1883  if

(user_obj.

Empty

())

1886  const char

*

str

= tvnp->c_str();

1887  if

(!

str

|| *

str

==

'\0'

)

1891  while

(*

str

>=

'0'

&& *

str

<=

'9'

)

1893  if

(*

str

!=

'\0'

) {

1900

user_field->

SetLabel

().SetStr(

"ProjectID"

);

1902

user_obj->

SetData

().push_back(user_field);

1905

user_field->

SetLabel

().SetStr(

"ParentID"

);

1906

user_field->

SetData

().SetInt(0);

1908

user_obj->

SetData

().push_back(user_field);

1918

descrs.push_back(descr);

1922

user_field.

Reset

();

1925  for

(

auto

tvnp = vnp.begin(); tvnp != vnp.end(); ++tvnp) {

1926  if

(tvnp->find(

':'

) != string::npos) {

1927  if

(*tvnp ==

"Project:"

) {

1934  if

(user_obj.

Empty

()) {

1936

user_obj->

SetType

().SetStr(

"DBLink"

);

1940  for

(

auto

uvnp =

next

(tvnp); uvnp != vnp.end(); ++uvnp, ++

i

)

1941  if

(uvnp->find(

':'

) != string::npos)

1948

user_field->

SetLabel

().SetStr(lstr);

1950

user_field->

SetData

().SetStrs();

1952

user_obj->

SetData

().push_back(user_field);

1953

}

else if

(! inpr && user_obj.

NotEmpty

()) {

1954

user_field->

SetData

().SetStrs().push_back(*tvnp);

1963

descrs.push_back(descr);

1976  bool

finished =

true

;

1979  if

(!

delta

->IsLoc())

1986  const CSeq_id

*

id

=

nullptr

;

2002  const CTextseq_id

* text_id =

id

->GetTextseq_Id();

2016  if

(good && finished)

2030  if

(

id

.IsLocal()) {

2034  if

(name.empty() &&

id

.IsGeneral()) {

2036  if

(

tag

.GetDb() ==

"SeqLit"

||

tag

.GetDb() ==

"UnkSeqLit"

)

2040  if

(!

id

.IsGenbank() && !

id

.IsEmbl() && !

id

.IsPir() &&

2041

!

id

.IsSwissprot() && !

id

.IsOther() && !

id

.IsDdbj() && !

id

.IsPrf() &&

2042

!

id

.IsTpg() && !

id

.IsTpe() && !

id

.IsTpd()) {

2052  const CTextseq_id

* text_id =

id

.GetTextseq_Id();

2069

slip->

wgsacc

= accession;

2070

}

else if

(

i

== 7) {

2074

slip->

wgsacc

= accession;

2080  if

(

type

!=

id

.Which()) {

2082

new_text_id->Assign(*text_id);

2086  id

.SetGeneral().SetDb(

"FlyBase"

);

2087  id

.SetGeneral().SetTag().SetStr(accession);

2090  id

.SetPatent(*pat_id);

2102  if

(

id

.IsGenbank()) {

2107

}

else if

(

id

.IsEmbl()) {

2112

}

else if

(

id

.IsPir()) {

2117

}

else if

(

id

.IsSwissprot()) {

2122

}

else if

(

id

.IsOther()) {

2127

}

else if

(

id

.IsDdbj()) {

2132

}

else if

(

id

.IsPrf()) {

2137

}

else if

(

id

.IsTpg()) {

2142

}

else if

(

id

.IsTpe()) {

2147

}

else if

(

id

.IsTpd()) {

2158  for

(

auto

& loc : locs) {

2159  if

(loc->IsEmpty()) {

2161

}

else if

(loc->IsWhole()) {

2163

}

else if

(loc->IsInt()) {

2165

}

else if

(loc->IsPnt()) {

2167  if

(iscon && ! loc->GetPnt().IsSetFuzz()) {

2168  int

point = loc->GetPnt().GetPoint();

2171

interval->

SetTo

(point);

2173  if

(loc->GetPnt().IsSetStrand())

2174

interval->

SetStrand

(loc->GetPnt().GetStrand());

2176

interval->

SetId

(loc->SetPnt().SetId());

2177

loc->SetInt(*interval);

2179

}

else if

(loc->IsPacked_int()) {

2180  for

(

auto

& interval : loc->SetPacked_int().Set()) {

2183

}

else if

(loc->IsPacked_pnt()) {

2185

}

else if

(loc->IsMix()) {

2187

}

else if

(loc->IsEquiv()) {

2197  const Char

* p =

nullptr

;

2216  if

((tpa > 0 && non_tpa > 0) || tpa > 1 || non_tpa > 1 ||

2220  if

(tpa > 0 && non_tpa > 0) {

2228  if

(tpa > 1 || non_tpa > 1) {

2231

p =

"Entry skipped."

;

2263

msga[4] = msgb[4] = 0;

2270  if

(

i

== 3 ||

i

== 7) {

2296  return

(sli.

total

);

2309  for

(p =

buf

.data(); *p !=

'\0'

; p++) {

2313  for

(p++; *p ==

' '

|| *p ==

'~'

; p++)

2318

forward_list<string> res;

2319  auto

vnp = res.before_begin();

2320  for

(start =

buf

.data();;) {

2332

vnp = res.insert_after(vnp, s);

2342  string

s(start,

r

);

2347

vnp = res.insert_after(vnp, s);

2360  if

(

tag

.empty() || scomment.empty())

2370  id

.SetStr(

"StructuredComment"

);

2373

field->

SetLabel

().SetStr(

"StructuredCommentPrefix"

);

2376

field->

SetData

().SetStr() +=

"-START##"

;

2378

obj->

SetData

().push_back(field);

2380  for

(

const auto

& tvnp : vnp) {

2384  auto

q = tvnp.find(

"::"

);

2385  if

(q == string::npos)

2388  if

(q > 0 && tvnp[q - 1] ==

' '

)

2392  while

(q < tvnp.size() && (tvnp[q] ==

' '

|| tvnp[q] ==

':'

))

2395  if

(q == tvnp.size())

2399

field->

SetLabel

().SetStr(tvnp.substr(0, qq));

2400

field->

SetData

().SetStr(tvnp.substr(q));

2402

obj->

SetData

().push_back(field);

2405  if

(obj->

GetData

().size() < 2) {

2411

field->

SetLabel

().SetStr(

"StructuredCommentSuffix"

);

2413

field->

SetData

().SetStr() +=

"-END##"

;

2415

obj->

SetData

().push_back(field);

2425

forward_list<string> tagvnp;

2432  if

(!

str

|| *

str

==

'\0'

)

2440  if

(*q ==

'~'

|| (*q ==

'#'

&& q >

str

&& *--q ==

'#'

) || q ==

str

)

2442  if

(q[0] !=

'#'

|| q[1] !=

'#'

) {

2457  size_t i

=

tag

.size();

2473  if

(tagvnp.empty()) {

2474

tagvnp.push_front(

tag

);

2476  for

(

auto

vnp = tagvnp.begin(); vnp != tagvnp.end(); ++vnp) {

2477  if

(vnp->substr(2) ==

tag

.substr(2)) {

2478  if

(vnp->front() !=

' '

) {

2480

vnp->front() =

' '

;

2484  if

(

next

(vnp) == tagvnp.end()) {

2485

tagvnp.insert_after(vnp,

tag

);

2491  if

(

tag

==

"##Metadata"

) {

2495

string_view scomment(p, q);

2496  if

(scomment.find(

"::"

) == string_view::npos) {

2503  if

(cur.

Empty

()) {

2508

objs.push_back(cur);

2530  while

(fgets(

buf

, 1023, fd)) {

2531  if

(

buf

[0] ==

'>'

&& ret[0] !=

'\0'

)

2542  if

(seq_entry.

IsSeq

()) {

2545

}

else if

(seq_entry.

IsSet

()) {

2553  for

(TSeqdescList::iterator descr = descrs->begin(); descr != descrs->end();) {

2554  if

(! (*descr)->IsUser()) {

2566

descr = descrs->erase(descr);

2575  bool

got_comment =

false

;

2576  bool

got_dblink =

false

;

2578  for

(

const auto

& descr : bioseq.

GetDescr

().

Get

()) {

2579  if

(! descr->IsUser())

2586  const string

& user_type_str = user_obj.

GetType

().

GetStr

();

2588  if

(user_type_str ==

"StructuredComment"

)

2589

got_comment =

true

;

2590  else if

(user_type_str ==

"GenomeProjectsDB"

)

2592  else if

(user_type_str ==

"DBLink"

) {

2593  for

(

const auto

& field : user_obj.

GetData

()) {

2594  if

(! field->IsSetLabel() || ! field->GetLabel().IsStr() ||

2595

field->GetLabel().GetStr() !=

"BioProject"

)

2623  for

(

auto

& descr : bioseq.

SetDescr

().Set()) {

2624  if

(descr->IsMolinfo()) {

2625

mol_info = &descr->SetMolinfo();

2637

bioseq.

SetDescr

().Set().push_back(descr);

2647  FtaErrPost

(

SEV_INFO

,

ERR_SEQUENCE_HasManyComponents

,

"An OnlyNearFeatures FeatureFetchPolicy User-object has been added to this record because it is constructed from {} components, which exceeds the threshold of 999 for User-object creation."

, num);

2654

field->

SetLabel

().SetStr(

"Policy"

);

2655

field->

SetData

().SetStr(

"OnlyNearFeatures"

);

2659

bsp.

SetDescr

().Set().push_back(descr);

2665  for

(

size_t i

=

str

.find(

"{ECO:"

);

i

!= string::npos;

i

=

str

.find(

"{ECO:"

,

i

)) {

2666  size_t

j =

str

.find(

'}'

,

i

);

2667  if

(j == string::npos)

2670  if

(

i

> 0 &&

str

[

i

- 1] ==

' '

)

2672  if

(

i

> 0 && j <

str

.size()) {

2673  if

((

str

[

i

- 1] ==

'.'

&&

str

[j] ==

'.'

) ||

2674

(

str

[

i

- 1] ==

';'

&&

str

[j] ==

';'

)) {

2678  str

.erase(

i

, j -

i

);

2691  for

(

const auto

& field : uop->

GetData

()) {

2692  if

(! field->IsSetData() || ! field->GetData().IsStrs() || ! field->IsSetNum() || field->GetNum() < 1 ||

2693

! field->IsSetLabel() || ! field->GetLabel().IsStr() || field->GetLabel().GetStr() !=

"Sequence Read Archive"

)

2697  if

(

str

.size() > 2 &&

2698

(

str

[0] ==

'D'

||

str

[0] ==

'E'

||

str

[0] ==

'S'

) &&

str

[1] ==

'R'

&&

2699

(

str

[2] ==

'R'

||

str

[2] ==

'X'

||

str

[2] ==

'Z'

)) {

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.

static bool s_IsConOrScaffold(CBioseq_Handle bsh)

void AssemblyGapsToDelta(CBioseq &bioseq, TGapFeatsList &gf, bool *drop)

static bool fta_validate_bioproject(string_view name, Parser::ESource source)

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)

static bool fta_ranges_to_hist(const CGB_block::TExtra_accessions &extra_accs)

static int sGetPrefixLength(string_view accession)

bool fta_parse_tpa_tsa_block(CBioseq &bioseq, char *offset, char *acnum, Int2 vernum, size_t len, Int2 col_data, bool tpa)

bool g_DoesNotReferencePrimary(const CDelta_ext &delta_ext, const CSeq_id &primary, CScope &scope)

Int4 fta_fix_seq_loc_id(TSeqLocList &locs, ParserPtr pp, string_view location, string_view name, bool iscon)

static forward_list< string > fta_tokenize_project(string str, Parser::ESource source, bool newstyle)

string GetQSFromFile(FILE *fd, const Indexblk *ibp)

CRef< CSeq_loc > fta_get_seqloc_int_whole(const CSeq_id &seq_id, size_t len)

static void CreateSeqGap(CSeq_literal &seq_lit, GapFeats &gfp)

bool fta_strings_same(const char *s1, const char *s2)

static void fta_check_tpa_tsa_coverage(const FTATpaBlockList &ftbp, Int4 length, bool tpa)

bool check_cds(const DataBlk &entry, Parser::EFormat format)

static bool s_IsAccession(const CSeq_id &id)

bool fta_if_valid_sra(string_view id, bool dblink)

static void fta_validate_assembly(string_view name)

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)

static forward_list< string > fta_tokenize_dblink(string str, Parser::ESource source)

static void fta_do_fix_seq_loc_id(TSeqLocList &locs, IndexblkPtr ibp, string_view location, string_view name, SeqLocIdsPtr slip, bool iscon, Parser::ESource source)

void GapsToDelta(CBioseq &bioseq, TGapFeatsList &gf, bool *drop)

char * StringRStr(char *where, const char *what)

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)

bool fta_number_is_huge(const Char *s)

void err_install(const Indexblk *ibp, bool accver)

static void fta_fix_seq_id(CSeq_loc &loc, CSeq_id &id, IndexblkPtr ibp, string_view location, string_view name, SeqLocIdsPtr slip, bool iscon, Parser::ESource source)

string tata_save(string_view t)

bool no_date(Parser::EFormat format, const TSeqdescList &descrs)

static CRef< CUser_object > fta_build_structured_comment(string_view tag, string_view scomment)

bool fta_if_valid_biosample(string_view id, bool dblink)

static forward_list< string > fta_vnp_structured_comment(string buf)

void fta_parse_structured_comment(char *str, bool &bad, TUserObjVector &objs)

forward_list< FTATpaBlock > FTATpaBlockList

void StripECO(string &str)

CRef< CPatent_seq_id > MakeUsptoPatSeqId(const char *acc)

void ShrinkSpaces(char *line)

TSeqPos GetLength(void) const

@Imp_feat.hpp User-defined methods of the data storage class.

Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.

#define ParFlat_COL_DATA_EMBL

#define ERR_REFERENCE_Illegalreference

#define ERR_LOCATION_TpaAndNonTpa

#define ERR_TPA_SpanLengthDiff

#define ERR_COMMENT_SameStructuredCommentTags

#define ERR_TSA_SpanLengthDiff

#define ERR_TPA_InvalidPrimarySeqId

#define ERR_TSA_SpanDiffOver300bp

#define ERR_ENTRY_TLSLacksBioProjectLink

#define ERR_FORMAT_InvalidBioProjectAcc

#define ERR_TPA_IncompleteCoverage

#define ERR_DBLINK_InvalidIdentifier

#define ERR_SEQUENCE_HasManyComponents

#define ERR_LOCATION_CrossDatabaseFeatLoc

#define ERR_COMMENT_StructuredCommentLacksDelim

#define ERR_TPA_InvalidPrimarySpan

#define ERR_ENTRY_TSALacksStructuredComment

#define ERR_FORMAT_WrongBioProjectPrefix

#define ERR_LOCATION_SeqIdProblem

#define ERR_SEQUENCE_MultipleWGSProjects

#define ERR_TSA_IncompleteCoverage

#define ERR_ACCESSION_CannotGetDivForSecondary

#define ERR_ENTRY_TSALacksBioProjectLink

#define ERR_TPA_SpanDiffOver300bp

#define ERR_FORMAT_ContigVersusAssemblyGapMissmatch

#define ERR_TSA_InvalidPrimaryBlock

#define ERR_TSA_InvalidPrimarySpan

#define ERR_FEATURE_AllNsBetweenGaps

#define ERR_FEATURE_InvalidGapSequence

#define ERR_FORMAT_IncorrectDBLINK

#define ERR_FEATURE_NsAbutGap

#define ERR_ENTRY_TLSLacksStructuredComment

#define ERR_LOCATION_ContigAndScaffold

#define ERR_ACCESSION_WGSPrefixMismatch

#define ERR_DBLINK_DuplicateIdentifierRemoved

#define ERR_SEQUENCE_HTGPossibleShortGap

#define ERR_TPA_InvalidPrimaryBlock

#define ERR_SEQUENCE_HTGPhaseZeroHasGap

#define ERR_COMMENT_InvalidStructuredComment

#define ERR_KEYWORD_MultipleHTGPhases

#define ERR_SEQUENCE_HTGWithoutGaps

#define ERR_TSA_InvalidPrimarySeqId

forward_list< GapFeats > TGapFeatsList

std::list< std::string > TKeywordList

forward_list< GapFeats >::iterator GapFeatsPtr

std::list< CRef< objects::CSeqdesc > > TSeqdescList

std::vector< CRef< objects::CUser_object > > TUserObjVector

int fta_atoi(string_view sv)

bool StringEquNI(const char *s1, const char *s2, size_t n)

bool StringEquN(const char *s1, const char *s2, size_t n)

bool StringEqu(const char *s1, const char *s2)

void StringNCpy(char *d, const char *s, size_t n)

size_t StringLen(const char *s)

char * StringRChr(char *s, const char c)

void FtaInstallPrefix(int prefix, string_view name, string_view location)

#define FtaErrPost(sev, level,...)

static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)

static const char * str(char *buf, int n)

static const char location[]

unsigned int TSeqPos

Type for sequence locations and lengths.

static EAccessionInfo IdentifyAccession(const CTempString &accession, TParseFlags flags=fParse_AnyRaw)

Deduces information from a bare accession a la WHICH_db_accession; may report false negatives on prop...

string GetSeqIdString(bool with_version=false) const

Return seqid string with optional version for text seqid type.

static E_Choice GetAccType(EAccessionInfo info)

static CSeq_id_Handle GetHandle(const CSeq_id &id)

Normal way of getting a handle, works for any seq-id.

CConstRef< CSeq_loc > GetRangeAsSeq_loc(void) const

Get seq-loc for the current iterator position.

const CSeq_id & GetSeq_id(void) const

Get seq_id of the current location.

void GetLabel(string *label) const

Appends a label suitable for display (e.g., error messages) label must point to an existing string ob...

CSeq_id_Handle GetAccVer(const CSeq_id_Handle &idh, TGetFlags flags=0)

Get accession.version Seq-id Returns null CSeq_id_Handle if the sequence is not found or if it doesn'...

TBioseqHandles GetBioseqHandles(const TIds &ids)

Get bioseq handles for all ids.

const TInst_Ext & GetInst_Ext(void) const

bool IsSetInst_Ext(void) const

bool IsSetInst_Repr(void) const

TInst_Repr GetInst_Repr(void) const

TObjectType * GetNCPointer(void) const THROWS_NONE

Get pointer,.

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.

uint32_t Uint4

4-byte (32-bit) unsigned integer

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

NCBI_NS_STD::string::size_type SIZE_TYPE

CTempString literal(const char(&str)[Size])

Templatized initialization from a string literal.

static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)

Case-insensitive equality of a substring with another string.

static const char label[]

list< string > TExtra_accessions

bool IsSetData(void) const

the object itself Check if a value has been assigned to Data data member.

bool IsStr(void) const

Check if variant Str is selected.

bool IsSetType(void) const

type of object within class Check if a value has been assigned to Type data member.

TData & SetData(void)

Assign a value to Data data member.

void SetNum(TNum value)

Assign a value to Num data member.

const TStr & GetStr(void) const

Get the variant data.

void SetLabel(TLabel &value)

Assign a value to Label data member.

const TData & GetData(void) const

Get the Data member data.

void SetType(TType &value)

Assign a value to Type data member.

void SetData(TData &value)

Assign a value to Data data member.

const TType & GetType(void) const

Get the Type member data.

Tdata & Set(void)

Assign a value to data member.

void SetSegs(TSegs &value)

Assign a value to Segs data member.

void SetDim(TDim value)

Assign a value to Dim data member.

void SetType(TType value)

Assign a value to Type data member.

@ eType_partial

mapping pieces together

const TKey & GetKey(void) const

Get the Key member data.

void SetTo(TTo value)

Assign a value to To data member.

bool IsGenbank(void) const

Check if variant Genbank is selected.

TGeneral & SetGeneral(void)

Select the variant.

bool IsSetAccession(void) const

Check if a value has been assigned to Accession data member.

bool IsTpg(void) const

Check if variant Tpg is selected.

bool IsEmpty(void) const

Check if variant Empty is selected.

ENa_strand

strand of nucleic acid

bool IsPacked_pnt(void) const

Check if variant Packed_pnt is selected.

bool IsTpd(void) const

Check if variant Tpd is selected.

bool IsOther(void) const

Check if variant Other is selected.

void SetId(TId &value)

Assign a value to Id data member.

bool IsEmbl(void) const

Check if variant Embl is selected.

E_Choice Which(void) const

Which variant is currently selected.

void SetFrom(TFrom value)

Assign a value to From data member.

TGi GetGi(void) const

Get the variant data.

E_Choice

Choice variants.

bool IsWhole(void) const

Check if variant Whole is selected.

bool IsInt(void) const

Check if variant Int is selected.

void SetStrand(TStrand value)

Assign a value to Strand data member.

bool IsTpe(void) const

Check if variant Tpe is selected.

bool IsPnt(void) const

Check if variant Pnt is selected.

const TAccession & GetAccession(void) const

Get the Accession member data.

bool IsDdbj(void) const

Check if variant Ddbj is selected.

@ e_General

for other databases

@ e_Gi

GenInfo Integrated Database.

@ e_Named_annot_track

Internal named annotation tracking ID.

@ e_not_set

No variant selected.

@ e_Tpg

Third Party Annot/Seq Genbank.

const TSeq & GetSeq(void) const

Get the variant data.

TSet & SetSet(void)

Select the variant.

const TSet & GetSet(void) const

Get the variant data.

bool IsSeq(void) const

Check if variant Seq is selected.

bool IsSetDescr(void) const

Check if a value has been assigned to Descr data member.

bool IsSet(void) const

Check if variant Set is selected.

void SetDescr(TDescr &value)

Assign a value to Descr data member.

TSeq & SetSeq(void)

Select the variant.

void SetCompleteness(TCompleteness value)

Assign a value to Completeness data member.

TRepr GetRepr(void) const

Get the Repr member data.

list< CRef< CSeq_align > > TAssembly

bool IsSetSeq_data(void) const

the sequence Check if a value has been assigned to Seq_data data member.

const TInst & GetInst(void) const

Get the Inst member data.

void SetSeq_data(TSeq_data &value)

Assign a value to Seq_data data member.

TTopology GetTopology(void) const

Get the Topology member data.

const TIupacna & GetIupacna(void) const

Get the variant data.

const TAnnot & GetAnnot(void) const

Get the Annot member data.

bool IsSetExt(void) const

extensions for special types Check if a value has been assigned to Ext data member.

const Tdata & Get(void) const

Get the member data.

void SetType(TType value)

Assign a value to Type data member.

bool IsDelta(void) const

Check if variant Delta is selected.

void SetInst(TInst &value)

Assign a value to Inst data member.

const TExt & GetExt(void) const

Get the Ext member data.

bool IsSetDescr(void) const

descriptors Check if a value has been assigned to Descr data member.

void SetDescr(TDescr &value)

Assign a value to Descr data member.

const TDelta & GetDelta(void) const

Get the variant data.

TUser & SetUser(void)

Select the variant.

const Tdata & Get(void) const

Get the member data.

list< CRef< CDelta_seq > > Tdata

TLinkage_evidence & SetLinkage_evidence(void)

Assign a value to Linkage_evidence data member.

void SetLinkage(TLinkage value)

Assign a value to Linkage data member.

const TSeq_data & GetSeq_data(void) const

Get the Seq_data member data.

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.

@ eRepr_delta

sequence made by changes (delta) to others

@ eCompleteness_complete

complete biological entity

@ eTech_htgs_2

ordered High Throughput sequence contig

@ eTech_htgs_3

finished High Throughput sequence

@ eTech_htgs_1

unordered High Throughput sequence contig

@ eTech_wgs

whole genome shotgun sequencing

@ eTech_htgs_0

single genomic reads for coordination

unsigned int

A callback function used to compare two keys in a database.

int fta_if_wgs_acc(string_view accession)

bool isSupportedAccession(CSeq_id::E_Choice type)

Int4 IsNewAccessFormat(const Char *acnum)

CSeq_id::E_Choice GetNucAccOwner(string_view acc)

The blob sat and sat key Both must be positive integers</td > n< td > Non empty string The interpretation of the blob id depends on a processor Cassandra n processor expects the following format

const struct ncbi::grid::netcache::search::fields::SIZE size

const struct ncbi::grid::netcache::search::fields::KEY key

const CharType(& source)[N]

static const BitmapCharRec ch1

static const BitmapCharRec ch2

std::list< SeqLoc > TSeqLocList

Int4 delta(size_t dimension_, const Int4 *score_)

double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)

static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

FTATpaBlock(Int4 f, Int4 t)

FTATpaSpan(Int4 f, Int4 t)

objects::CLinkage_evidence::TLinkage_evidence asn_linkage_evidence

objects::CSeq_gap::TType asn_gap_type

vector< IndexblkPtr > entrylist

bool allow_crossdb_featloc

char * SrchTheChar(string_view sv, Char letter)

bool SetTextId(Uint1 seqtype, CSeq_id &seqId, CTextseq_id &textId)

TDataBlkList & TrackNodes(const DataBlk &entry)

char * SrchTheStr(string_view sv, string_view leadstr)

void fta_StringCpy(char *dst, const char *src)

void UnwrapAccessionRange(const CGB_block::TExtra_accessions &extra_accs, CGB_block::TExtra_accessions &hist)


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