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/biosource__tests_8cpp_source.html below:

NCBI C++ ToolKit: src/misc/discrepancy/biosource_tests.cpp Source File

57  bool

has_map =

false

;

58  bool

has_chromosome =

false

;

60  if

(it->IsSetSubtype()) {

65

has_chromosome =

true

;

70  if

(has_map && !has_chromosome) {

71

m_Objs[

"[n] source[s] on eukaryotic sequence[s] [has] map but not chromosome"

].Add(*

context

.SeqdescObjRef(*biosrc)).Fatal();

82  if

(biosrc->IsSetOrg() && biosrc->IsSetSubtype() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod() && biosrc->GetOrg().IsSetTaxname() &&

NStr::StartsWith

(biosrc->GetOrg().GetTaxname(),

"Influenza "

)) {

84  int

collection_year = 0;

85  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

87  string

s = it->GetSubname();

88  size_t

pos = s.rfind(

'/'

);

89  if

(pos == string::npos) {

93  while

(

isspace

(s.c_str()[pos])) {

107  for

(

const auto

& it : biosrc->GetSubtype()) {

121  if

(strain_year != collection_year) {

122

m_Objs[

"[n] influenza strain[s] conflict with collection date"

].Add(*

context

.BiosourceObjRef(*biosrc));

134  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetTaxname() &&

NStr::StartsWith

(biosrc->GetOrg().GetTaxname(),

"Influenza "

)) {

135  bool

found_strain =

false

;

136  bool

found_host =

false

;

137  bool

found_country =

false

;

138  bool

found_collection_date =

false

;

139  if

(biosrc->IsSetSubtype()) {

140  for

(

const auto

& it : biosrc->GetSubtype()) {

141  if

(it->IsSetSubtype()) {

142  switch

(it->GetSubtype()) {

144

found_country =

true

;

147

found_collection_date =

true

;

153  if

(biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

154  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

155  if

(it->IsSetSubtype()) {

156  switch

(it->GetSubtype()) {

158

found_strain =

true

;

168

m_Objs[

"[n] Influenza biosource[s] [does] not have strain"

].Add(*

context

.BiosourceObjRef(*biosrc));

171

m_Objs[

"[n] Influenza biosource[s] [does] not have host"

].Add(*

context

.BiosourceObjRef(*biosrc));

173  if

(!found_country) {

174

m_Objs[

"[n] Influenza biosource[s] [does] not have country"

].Add(*

context

.BiosourceObjRef(*biosrc));

176  if

(!found_collection_date) {

177

m_Objs[

"[n] Influenza biosource[s] [does] not have collection-date"

].Add(*

context

.BiosourceObjRef(*biosrc));

189  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetTaxname() &&

NStr::StartsWith

(biosrc->GetOrg().GetTaxname(),

"Influenza A virus "

) && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

191  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

198

m_Objs[

"[n] Influenza A virus biosource[s] [does] not have serotype"

].Add(*

context

.BiosourceObjRef(*biosrc));

210 DISCREPANCY_CASE

(INFLUENZA_SEROTYPE_FORMAT, BIOSRC,

eOncaller

,

"Influenza A virus serotype must match /^H[1-9]\\d*$|^N[1-9]\\d*$|^H[1-9]\\d*N[1-9]\\d*$|^mixed$/"

)

212

constexpr

ctll::fixed_string

subname_re =

"^H[1-9]\\d*$|^N[1-9]\\d*$|^H[1-9]\\d*N[1-9]\\d*$|^mixed$"

;

215  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetTaxname() &&

NStr::StartsWith

(biosrc->GetOrg().GetTaxname(),

"Influenza A virus "

)) {

216  if

(biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

217  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

219

std::string_view

subname

= it->GetSubname();

220  if

(!ctre::match<subname_re>(

subname

)) {

221

m_Objs[

"[n] Influenza A virus serotype[s] [has] incorrect format"

].Add(*

context

.BiosourceObjRef(*biosrc));

236  if

(biosrc->IsSetSubtype()) {

237  for

(

const auto

& it : biosrc->GetSubtype()) {

239

m_Objs[

"[n] bio-source[s] [has] uncultured note[s]"

].Add(*

context

.BiosourceObjRef(*biosrc)).Fatal();

255  if

(

context

.HasLineage(src ? &src->

GetSource

() :

nullptr

,

"Viruses"

)) {

257  bool

has_collection_date =

false

;

258  bool

has_country =

false

;

259  bool

has_specific_host =

false

;

260  if

(biosrc->IsSetSubtype()) {

261  for

(

const auto

& it : biosrc->GetSubtype()) {

262  if

(it->IsSetSubtype()) {

264

has_collection_date =

true

;

269  if

(has_collection_date && has_country) {

275  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

276  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

278

has_specific_host =

true

;

282  if

(!has_collection_date || !has_country || !has_specific_host) {

283  if

(!has_collection_date) {

284

m_Objs[

kMissingViralQualsTop

][

"[n] virus organism[s] [is] missing suggested qualifier collection date"

].Ext().Add(*

context

.BiosourceObjRef(*biosrc));

287

m_Objs[

kMissingViralQualsTop

][

"[n] virus organism[s] [is] missing suggested qualifier country"

].Ext().Add(*

context

.BiosourceObjRef(*biosrc));

289  if

(!has_specific_host) {

290

m_Objs[

kMissingViralQualsTop

][

"[n] virus organism[s] [is] missing suggested qualifier specific-host"

].Ext().Add(*

context

.BiosourceObjRef(*biosrc));

306  for

(

const auto

& m : mods) {

308  string cmp

= m->GetSubname().substr(5);

311  if

(pos != string::npos) {

312  cmp

=

cmp

.substr(0, pos);

330  for

(

const auto

& m : mods) {

332  string cmp

= m->GetSubname().substr(5);

335  if

(pos != string::npos) {

336  cmp

=

cmp

.substr(0, pos);

351  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

352  bool

report =

false

;

353  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

354  if

(m->IsSetSubtype() && m->IsSetSubname()) {

366

m_Objs[

"[n] biosource[s] [has] conflicting ATCC strain and culture collection values"

].Add(*

context

.BiosourceObjRef(*biosrc,

true

));

380  if

(m->IsSetSubtype() && m->IsSetSubname()) {

383

add.push_back(

"ATCC:"

+ m->GetSubname());

388  for

(

const string

& s : add) {

390

src.

SetOrg

().SetOrgname().SetMod().push_back(m);

422  bool

has_bad_isolate =

false

;

423  bool

is_metagenomic =

false

;

424  bool

is_env_sample =

false

;

425  if

(biosrc->IsSetSubtype()) {

426  for

(

const auto

& s : biosrc->GetSubtype()) {

427  if

(s->IsSetSubtype()) {

429

is_env_sample =

true

;

430  if

(is_metagenomic && is_env_sample) {

435

is_metagenomic =

true

;

436  if

(is_metagenomic && is_env_sample) {

444  string

nm = s->GetName();

448  size_t

spc = nm.find(

' '

);

449  if

(spc != std::string::npos) {

463  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

464  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

465  if

(m->IsSetSubtype()) {

473

has_bad_isolate =

true

;

478  if

(has_bad_isolate) {

479

m_Objs[

"[n] bacterial biosource[s] [has] isolate"

].Add(*

context

.BiosourceObjRef(*biosrc));

493  bool

is_metagenomic =

false

;

494  bool

is_env_sample =

false

;

495  if

(biosrc->IsSetSubtype()) {

496  for

(

const auto

& s : biosrc->GetSubtype()) {

497  if

(s->IsSetSubtype()) {

499

is_env_sample =

true

;

502

is_metagenomic =

true

;

507  if

(is_metagenomic && is_env_sample && biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

508  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

510

m_Objs[

"[n] organism[s] assembled from metagenome [has] strain"

].Add(*

context

.BiosourceObjRef(*biosrc));

527  bool

is_metagenomic =

false

;

528  bool

is_env_sample =

false

;

529  bool

has_isolate =

false

;

530  if

(biosrc->IsSetSubtype()) {

531  for

(

const auto

& s : biosrc->GetSubtype()) {

532  if

(s->IsSetSubtype()) {

534

is_env_sample =

true

;

537

is_metagenomic =

true

;

542  if

(!is_metagenomic || !is_env_sample) {

545  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

546  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

554

m_Objs[

"[n] organism[s] assembled from metagenome [is] missing isolate"

].Add(*

context

.BiosourceObjRef(*biosrc));

566  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

567  bool

report =

false

;

568  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

575

m_Objs[

"[n] organism[s] [has] comma or semicolon in strain or isolate"

].Add(*

context

.BiosourceObjRef(*biosrc));

587  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

589  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

592

m_Objs[

"[n] organism[s] [has] multiple culture-collection qualifiers"

].Add(*

context

.BiosourceObjRef(*biosrc));

610  if

(biosrc->IsSetSubtype()) {

611  bool

is_metagenomic =

false

;

612  bool

is_env_sample =

false

;

613  bool

is_single_cell_amplified =

false

;

614  for

(

const auto

& s : biosrc->GetSubtype()) {

615  if

(s->IsSetSubtype()) {

617

is_env_sample =

true

;

618  if

(is_metagenomic) {

623

is_metagenomic =

true

;

629  string

nm = s->GetName();

631

is_single_cell_amplified =

true

;

633  size_t

spc = nm.find(

' '

);

634  if

(spc != std::string::npos) {

638

is_single_cell_amplified =

true

;

648  if

(is_metagenomic && is_env_sample) {

651  if

(is_single_cell_amplified) {

655  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

657  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

667

m_Objs[

"[n] biosource[s] [is] missing required strain value"

].Add(*

context

.BiosourceObjRef(*biosrc));

679  while

(

i

<

a

.length() && j <

b

.length()) {

680  while

(

i

<

a

.length() && (

a

[

i

] ==

':'

||

a

[

i

] ==

' '

))

i

++;

681  while

(j <

b

.length() && (

b

[j] ==

':'

||

b

[j] ==

' '

)) j++;

682  if

(

i

==

a

.length()) {

683  return

j ==

b

.length();

685  if

(j ==

b

.length() ||

a

[

i

] !=

b

[j]) {

698  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

699

vector<const COrgMod*> OrgMods;

700  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

701

OrgMods.push_back(&*m);

704  bool

conflict =

false

;

705  for

(

size_t i

= 0;

i

< OrgMods.size();

i

++) {

707  for

(

size_t

j =

i

+ 1; j < OrgMods.size(); j++) {

723  if

(conflict && !

match

) {

724

m_Objs[

"[n] organism[s] [has] conflicting strain and culture-collection values"

].Add(*

context

.BiosourceObjRef(*biosrc));

736  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetTaxname()) {

737  const string

& s = biosrc->GetOrg().GetTaxname();

738  if

(s.length() > 4 && s.substr(s.length() - 4) ==

" sp."

&& s.substr(0, 11) !=

"uncultured "

) {

739

m_Objs[

"[n] biosource[s] [has] taxname[s] that end[S] with \' sp.\' but [does] not start with \'uncultured\'"

].Add(*

context

.BiosourceObjRef(*biosrc));

752  bool

strand_plus =

false

;

753  bool

strand_minus =

false

;

754  for

(

const auto

& feat :

context

.FeatTRNAs()) {

756

strand_minus =

true

;

761  if

(strand_plus && strand_minus) {

765  for

(

const auto

& feat :

context

.FeatTRNAs()) {

766

m_Objs[strand_plus ?

"[n] tRNA[s] on plus strand"

:

"[n] tRNA[s] on minus strand"

].Add(*

context

.SeqFeatObjRef(*feat));

801  bool

has_clone =

false

;

803  for

(

const auto

& subtype_it : biosource.

GetSubtype

()) {

804  if

(subtype_it->IsSetSubtype()) {

815  if

(needs_clone && !has_clone) {

817  bool

has_gel_band_isolate =

false

;

822

has_gel_band_isolate =

true

;

828  if

(has_gel_band_isolate) {

829

needs_clone =

false

;

832  return

(needs_clone && !has_clone);

840

m_Objs[

"[n] biosource[s] [is] missing required clone value"

].Add(*

context

.BiosourceObjRef(*biosrc));

851  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

852  for

(

const auto

&

om

: biosrc->GetOrg().GetOrgname().GetMod()) {

854  const string

strain =

om

->GetSubname();

855  if

(!strain.empty()) {

856

m_Objs[strain][biosrc->GetOrg().IsSetTaxname() ? biosrc->GetOrg().GetTaxname() :

""

].Add(*

context

.BiosourceObjRef(*biosrc));

868  static const string

root =

"[n] biosources have strain/taxname conflicts"

;

869  for

(

auto

& it: m_Objs.GetMap()) {

870  if

(it.second->GetMap().size() > 1) {

871  for

(

auto

& mm: it.second->GetMap()) {

872  for

(

auto

& obj : mm.second->GetObjects()) {

873  string label

=

"[n] biosources have strain [(]"

+ it.first +

"[)] but do not have the same taxnames"

;

874

rep[

"[n] biosources have strain/taxname conflicts"

][

label

].

Ext

().

Add

(*obj);

889  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

890  for

(

const auto

&

om

: biosrc->GetOrg().GetOrgname().GetMod()) {

892  const string

strain =

om

->GetSubname();

893  if

(!strain.empty()) {

894

m_Objs[strain][biosrc->GetOrg().IsSetTaxname() ? biosrc->GetOrg().GetTaxname() :

""

].Add(*

context

.BiosourceObjRef(*biosrc));

906  for

(

auto

& it: m_Objs.GetMap()) {

907  if

(it.second->GetMap().size() > 1) {

908  for

(

auto

& mm: it.second->GetMap()) {

909  for

(

auto

& obj: mm.second->GetObjects()) {

910  string label

=

"[n] biosources have specimen voucher [(]"

+ it.first +

"[)] but do not have the same taxnames"

;

911

rep[

"[n] biosources have specimen voucher/taxname conflicts"

][

label

].

Ext

().

Add

(*obj);

923 DISCREPANCY_CASE

(CULTURE_TAXNAME_MISMATCH, BIOSRC,

eOncaller

,

"Test BioSources with the same culture collection but different taxname"

)

926  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

927  for

(

const auto

&

om

: biosrc->GetOrg().GetOrgname().GetMod()) {

929  const string

strain =

om

->GetSubname();

930  if

(!strain.empty()) {

931

m_Objs[strain][biosrc->GetOrg().IsSetTaxname() ? biosrc->GetOrg().GetTaxname() :

""

].Add(*

context

.BiosourceObjRef(*biosrc));

943  for

(

auto

& it : m_Objs.GetMap()) {

944  if

(it.second->GetMap().size() > 1) {

945  for

(

auto

& mm : it.second->GetMap()) {

946  for

(

auto

& obj : mm.second->GetObjects()) {

947  string label

=

"[n] biosources have culture collection "

+ it.first +

" but do not have the same taxnames"

;

948

rep[

"[n] biosources have culture collection/taxname conflicts"

][

label

].

Ext

().

Add

(*obj);

963  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

964  for

(

const auto

&

om

: biosrc->GetOrg().GetOrgname().GetMod()) {

966  const string

strain =

om

->GetSubname();

967  if

(!strain.empty()) {

968

m_Objs[strain][biosrc->GetOrg().IsSetTaxname() ? biosrc->GetOrg().GetTaxname() :

""

].Add(*

context

.BiosourceObjRef(*biosrc));

981  for

(

auto

& it : m_Objs.GetMap()) {

982  if

(it.second->GetMap().size() > 1) {

983  for

(

auto

& mm : it.second->GetMap()) {

984  for

(

auto

& obj : mm.second->GetObjects()) {

985  string label

=

"[n] biosources have biomaterial "

+ it.first +

" but do not have the same taxnames"

;

986

rep[

"[n] biosources have biomaterial/taxname conflicts"

][

label

].

Ext

().

Add

(*obj);

1001  static const

vector<string> suspectable_products = {

1002  "18S ribosomal RNA"

,

1003  "5.8S ribosomal RNA"

,

1004  "25S ribosomal RNA"

,

1005  "28S ribosomal RNA"

,

1006  "internal transcribed spacer 1"

,

1007  "internal transcribed spacer 2" 1009  static const string msg

=

"[n] Bioseq[s] [has] suspect rRNA / ITS on organelle"

;

1018  if

(feat.IsSetData() && feat.GetData().IsRna()) {

1021  const string

& product =

rna

.GetRnaProductName();

1024  if

(!product.empty()) {

1025  for

(

const string

& pattern : suspectable_products) {

1027

m_Objs[

msg

].Add(*

context

.BioseqObjRef());

1032  if

(feat.IsSetComment()) {

1033  const string

& comment = feat.GetComment();

1036  if

(!comment.empty()) {

1037  for

(

const string

& pattern : suspectable_products) {

1039

m_Objs[

msg

].Add(*

context

.BioseqObjRef());

1066  int

first_val = (

first

.*is_set_fn)() ? (

first

.*get_fn)() : not_set,

1067

second_val = (second.*is_set_fn)() ? (second.*get_fn)() : not_set;

1069  return

first_val == second_val;

1074  const R

& first_val = (

first

.*is_set_fn)() ? (

first

.*get_fn)() : empty_val,

1075

& second_val = (second.*is_set_fn)() ? (second.*get_fn)() : empty_val;

1077  return

first_val == second_val;

1083  if

(

first

.size() != second.size()) {

1087  for

(CBioSource::TSubtype::const_iterator it_first =

first

.cbegin(), it_second = second.cbegin();

1088

it_first !=

first

.cend();

1089

++it_first, ++it_second) {

1109  if

(

first

.size() != second.size()) {

1113  for

(COrg_ref::TDb::const_iterator it_first =

first

.cbegin(), it_second = second.cbegin();

1114

it_first !=

first

.cend();

1115

++it_first, ++it_second) {

1117  if

(!(*it_first)->Equals(**it_second)) {

1127  bool

first_name_set =

first

.IsSetName(),

1130  if

(first_name_set != second_name_set || (first_name_set &&

first

.GetName().Which() != second.

GetName

().

Which

())) {

1131

diffs.push_back(

"orgname choices differ"

);

1135

diffs.push_back(

"genetic codes differ"

);

1140

diffs.push_back(

"mitochondrial genetic codes differ"

);

1145

diffs.push_back(

"attributes differ"

);

1149

diffs.push_back(

"lineages differ"

);

1153

diffs.push_back(

"divisions differ"

);

1156  bool

first_mod_set =

first

.IsSetMod(),

1157

second_mod_set = second.

IsSetMod

();

1159

COrgName::TMod::const_iterator it_first, it_second;

1160  if

(first_mod_set) {

1161

it_first =

first

.GetMod().cbegin();

1163  if

(second_mod_set) {

1164

it_second = second.

GetMod

().cbegin();

1166  if

(first_mod_set && second_mod_set) {

1167

COrgName::TMod::const_iterator end_first =

first

.GetMod().cend(),

1168

end_second = second.

GetMod

().cend();

1170  for

(; it_first != end_first && it_second != end_second; ++it_first, ++it_second) {

1172  const string

& qual = (*it_first)->IsSetSubtype() ?

COrgMod::ENUM_METHOD_NAME

(ESubtype)()->FindName((*it_first)->GetSubtype(),

true

) :

"Unknown source qualifier"

;

1175

diffs.push_back(

"missing "

+ qual +

" modifier"

);

1179

diffs.push_back(qual +

" modifier attrib values differ"

);

1183

diffs.push_back(

"different "

+ qual +

" values"

);

1187  if

(it_first == end_first) {

1188

first_mod_set =

false

;

1190  if

(it_second == end_second) {

1191

second_mod_set =

false

;

1195  if

(first_mod_set && !second_mod_set) {

1196  const string

& qual = (*it_first)->IsSetSubtype() ?

ENUM_METHOD_NAME

(

ESource_qual

)()->FindName((*it_first)->GetSubtype(),

true

) :

"Unknown source qualifier"

;

1197

diffs.push_back(

"missing "

+ qual +

" modifier"

);

1199  else if

(!first_mod_set && second_mod_set) {

1200  const string

& qual = (*it_second)->IsSetSubtype() ?

ENUM_METHOD_NAME

(

ESource_qual

)()->FindName((*it_second)->GetSubtype(),

true

) :

"Unknown source qualifier"

;

1201

diffs.push_back(

"missing "

+ qual +

" modifier"

);

1208

diffs.push_back(

"taxnames differ"

);

1212

diffs.push_back(

"common names differ"

);

1216

diffs.push_back(

"synonyms differ"

);

1219  bool

first_db_set = first_org.

IsSetDb

(),

1220

second_db_set = second_org.

IsSetDb

();

1222  if

(first_db_set != second_db_set || (first_db_set && !

IsSameDb

(first_org.

GetDb

(), second_org.

GetDb

()))) {

1223

diffs.push_back(

"dbxrefs differ"

);

1229  if

(first_orgname_set != second_orgname_set) {

1230

diffs.push_back(

"one Orgname is missing"

);

1232  else if

(first_orgname_set && second_orgname_set) {

1241

diffs.push_back(

"origins differ"

);

1245

diffs.push_back(

"focus differs"

);

1249

diffs.push_back(

"locations differ"

);

1257

diffs.push_back(

"subsource qualifiers differ"

);

1260  bool

first_org_set = first_biosrc.

IsSetOrg

(),

1261

second_org_set = second_biosrc.

IsSetOrg

();

1263  if

(first_org_set != second_org_set) {

1264

diffs.push_back(

"one OrgRef is missing"

);

1266  else if

(first_org_set && second_org_set) {

1275  if

(bioseq.

IsNa

()) {

1280  auto

& node = m_Objs[ss.str()];

1281

node.Add(*

context

.SeqdescObjRef(*biosrc));

1282

node.Add(*

context

.BioseqObjRef());

1290  auto

&

M

= m_Objs.GetMap();

1292  for

(

auto a

=

M

.cbegin();

a

!=

M

.cend(); ++

a

) {

1293

stringstream ss_a(

a

->first);

1297  for

(++

b

;

b

!=

M

.cend(); ++

b

) {

1298

stringstream ss_b(

b

->first);

1303  if

(!diffs.empty()) {

1304

subtype =

"[n/2] inconsistent contig source[s][(] ("

+

NStr::Join

(diffs,

", "

) +

")"

;

1308  if

(!subtype.empty()) {

1312  if

(!subtype.empty()) {

1314  size_t

subcat_index = 0;

1315  static size_t

MAX_NUM_LEN = 10;

1316  for

(

auto

& it :

M

) {

1318

subcat_num =

string

(MAX_NUM_LEN - subcat_num.size(),

'0'

) + subcat_num;

1319  string

subcat =

"[*"

+ subcat_num +

"*][n/2] contig[s] [has] identical sources that do not match another contig source"

;

1321

rep[subtype][subcat].

Ext

().

Add

(it.second->GetObjects());

1333  if

(biosrc->IsSetOrg()) {

1336

m_Objs[ss.str()].Add(*

context

.BiosourceObjRef(*biosrc));

1345  for

(

const auto

& db : org.

GetDb

()) {

1358  if

(first_set != second_set || (first_set &&

first

.GetTaxname() != second.

GetTaxname

())) {

1363  if

(first_db_tag ==

nullptr

|| second_db_tag ==

nullptr

) {

1366  return

!first_db_tag->

Equals

(*second_db_tag);

1380  if

(!m_Objs.empty()) {

1382

vector<CRef<COrg_ref>> org_refs;

1383  for

(

auto

& it : m_Objs.GetMap()) {

1385

stringstream ss(it.first);

1387

org_refs.push_back(oref);

1391  const auto

& replies = reply->GetReply();

1392  auto

rit = replies.cbegin();

1393  for

(

auto

& it : m_Objs.GetMap()) {

1395

stringstream ss(it.first);

1397  if

((*rit)->IsData() &&

OrgDiffers

(*oref, (*rit)->GetData().GetOrg())) {

1398

rep[

"[n] tax name[s] [does] not match taxonomy lookup"

].

Add

(it.second->GetObjects());

1413  if

(biosrc->IsSetOrg()) {

1416

m_Objs[ss.str()].Add(*

context

.BiosourceObjRef(*biosrc));

1424  if

(!m_Objs.empty()) {

1426

vector<CRef<COrg_ref>> org_refs;

1427  for

(

auto

& it : m_Objs.GetMap()) {

1429

stringstream ss(it.first);

1431

org_refs.push_back(oref);

1435  const auto

& replies = reply->GetReply();

1436  auto

rit = replies.cbegin();

1437  for

(

auto

& it : m_Objs.GetMap()) {

1438  if

(!(*rit)->IsData() || (*rit)->IsError()) {

1439

rep[

"[n] tax name[s] [is] missing in taxonomy lookup"

].

Add

(it.second->GetObjects());

1454  if

(biosrc->IsSetSubtype()) {

1456  bool

found =

false

;

1457  for

(

const auto

& subtype : biosrc->GetSubtype()) {

1458  if

(subtype->IsSetSubtype()) {

1473  if

(found && !skip) {

1474  if

(biosrc->IsSetOrg()) {

1475  if

(biosrc->GetOrg().IsSetTaxname()) {

1476  const string

& s = biosrc->GetOrg().GetTaxname();

1482  if

(biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

1483  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

1492

m_Objs[

"[n] biosource[s] [has] unnecessary environmental qualifier"

].Add(*

context

.BiosourceObjRef(*biosrc));

1505  if

(biosrc->IsSetSubtype()) {

1506  for

(

const auto

& subtype : biosrc->GetSubtype()) {

1508  const string

& s = subtype->GetName();

1509  if

(s.length() && s[s.length() - 1] ==

':'

) {

1510

m_Objs[

"[n] country source[s] end[S] with a colon."

].Add(*

context

.BiosourceObjRef(*biosrc,

true

));

1524  bool

fixed =

false

;

1525  for

(

const auto

& subtype : src.

GetSubtype

()) {

1529  while

(s.length() && s[s.length()-1] ==

':'

) {

1530

s.resize(s.length()-1);

1559  if

(biosrc->IsSetSubtype()) {

1560  for

(

const auto

& subtype : biosrc->GetSubtype()) {

1562  const string

& s = subtype->GetName();

1564  for

(

size_t i

= 0;

i

< s.length();

i

++) {

1565  if

(s[

i

] ==

':'

) {

1568

m_Objs[

"[n] country source[s] [has] more than 1 colon."

].Add(*

context

.BiosourceObjRef(*biosrc,

true

));

1585  bool

fixed =

false

;

1586  for

(

const auto

& subtype : src.

GetSubtype

()) {

1591  for

(

size_t i

= 0;

i

< s.length();

i

++) {

1592  if

(s[

i

] ==

':'

) {

1626  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetOrgname() && biosrc->GetOrg().GetOrgname().CanGetMod()) {

1627  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

1629

m_Objs[

"[n] organism[s] [has] \'human\' host qualifiers"

].Add(*

context

.BiosourceObjRef(*biosrc,

true

));

1642  bool

fixed =

false

;

1673  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetOrgname() && biosrc->GetOrg().GetOrgname().CanGetMod() && biosrc->GetOrg().CanGetTaxname() && biosrc->GetOrg().GetTaxname().length()) {

1675  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

1677  if

(

tax1

.empty()) {

1678

list<CTempString>

tmp

;

1680

list<CTempString>::const_iterator p =

tmp

.cbegin();

1681  if

(p !=

tmp

.cend()) {

1684  if

(p !=

tmp

.cend()) {

1690

list<CTempString>

tmp

;

1692

list<CTempString>::const_iterator p =

tmp

.cbegin();

1693  if

(p !=

tmp

.cend()) {

1696  if

(p !=

tmp

.cend()) {

1700  if

(aut1 !=

tax1

|| aut2 != tax2) {

1701

m_Objs[

"[n] biosource[s] [has] taxname/authority conflict"

].Add(*

context

.BiosourceObjRef(*biosrc));

1724  if

(it->CanGetSubtype() && it->GetSubtype() == qual) {

1725  return

it->GetSubname();

1737  const string

& taxname = biosrc->GetOrg().GetTaxname();

1742  if

(taxname[

n

] !=

' '

) {

1746  if

(

n

< taxname.length()) {

1748  string

s = taxname.substr(

n

, q.length());

1750

m_Objs[

"[n] trinomial source[s] lack[S] corresponding qualifier"

].Add(*

context

.BiosourceObjRef(*biosrc));

1767  bool

has_primer_note =

false

;

1768  if

(biosrc->CanGetSubtype()) {

1769  for

(

const auto

& it : biosrc->GetSubtype()) {

1771

has_primer_note =

true

;

1776  if

(!has_primer_note && biosrc->IsSetOrg() && biosrc->GetOrg().CanGetOrgname() && biosrc->GetOrg().GetOrgname().CanGetMod()) {

1777  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

1779

has_primer_note =

true

;

1784  if

(has_primer_note) {

1785

m_Objs[

"[n] biosource[s] [has] \'amplified with species-specific primers\' note but no environmental-sample qualifier."

].Add(*

context

.BiosourceObjRef(*biosrc,

true

));

1794  bool

change =

false

;

1801  const string orig

= s->GetName();

1802  NStr::ReplaceInPlace

(s->SetName(),

"[amplified with species-specific primers"

,

"amplified with species-specific primers"

);

1803  NStr::ReplaceInPlace

(s->SetName(),

"amplified with species-specific primers]"

,

"amplified with species-specific primers"

);

1822  return CRef<CAutofixReport>

(

new CAutofixReport

(

"AMPLIFIED_PRIMERS_NO_ENVIRONMENTAL_SAMPLE: Set environmental_sample, fixed amplified primers note for [n] source[s]"

, 1));

1835  if

(biosrc->CanGetPcr_primers() && biosrc->GetPcr_primers().CanGet()) {

1836  bool

report =

false

;

1837  for

(

const auto

& pr : biosrc->GetPcr_primers().Get()) {

1838  if

(pr->CanGetForward() != pr->CanGetReverse()) {

1842  if

(pr->CanGetForward()) {

1845

CPCRPrimerSet::Tdata::const_iterator fwd = fwdset.

Get

().cbegin();

1846

CPCRPrimerSet::Tdata::const_iterator rev = revset.

Get

().cbegin();

1847  while

(fwd != fwdset.

Get

().cend() && rev != revset.

Get

().cend()) {

1848  if

(((*fwd)->CanGetName() && !(*fwd)->GetName().Get().empty()) != ((*rev)->CanGetName() && !(*rev)->GetName().Get().empty()) || ((*fwd)->CanGetSeq() && !(*fwd)->GetSeq().Get().empty()) != ((*rev)->CanGetSeq() && !(*rev)->GetSeq().Get().empty())) {

1861

m_Objs[

"[n] biosource[s] [has] primer set[s] with missing values"

].Add(*

context

.BiosourceObjRef(*biosrc));

1872  size_t

count_a =

a

.size();

1873  size_t

count_b =

b

.size();

1874  if

(count_a != count_b) {

1877  for

(CPCRPrimerSet::Tdata::const_iterator it =

a

.cbegin(); it !=

a

.cend(); it++) {

1878

CPCRPrimerSet::Tdata::const_iterator jt =

b

.cbegin();

1879  for

(; jt !=

b

.cend(); jt++) {

1880  if

((*it)->CanGetName() == (*jt)->CanGetName() && (*it)->CanGetSeq() == (*jt)->CanGetSeq()

1881

&& (!(*it)->CanGetName() || (*it)->GetName().Get() == (*jt)->GetName().Get())

1882

&& (!(*it)->CanGetSeq() || (*it)->GetSeq().Get() == (*jt)->GetSeq().Get())) {

1886  if

(jt ==

b

.cend()) {

1896  return a

.CanGetForward() ==

b

.CanGetForward() &&

a

.CanGetReverse() ==

b

.CanGetReverse()

1897

&& (!

a

.CanGetForward() ||

EqualPrimerSets

(

a

.GetForward().Get(),

b

.GetForward().Get()))

1898

&& (!

a

.CanGetReverse() ||

EqualPrimerSets

(

a

.GetReverse().Get(),

b

.GetReverse().Get()));

1905  if

(biosrc->CanGetPcr_primers() && biosrc->GetPcr_primers().CanGet()) {

1908  for

(CPCRReactionSet::Tdata::const_iterator it =

data

.cbegin(); !

done

&& it !=

data

.cend(); it++) {

1909

CPCRReactionSet::Tdata::const_iterator jt = it;

1910  for

(jt++; !

done

&& jt !=

data

.cend(); jt++) {

1912

m_Objs[

"[n] BioSource[s] [has] duplicate primer pairs."

].Add(*

context

.BiosourceObjRef(*biosrc));

1928  if

(biosrc->CanGetSubtype()) {

1929  for

(

const auto

& it : biosrc->GetSubtype()) {

1931

m_Objs[

"[n] biosource[s] [has] metagenomic qualifier"

].Add(*

context

.BiosourceObjRef(*biosrc));

1945  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetOrgname() && biosrc->GetOrg().GetOrgname().CanGetMod() && biosrc->GetOrg().IsSetTaxname() && !biosrc->GetOrg().GetTaxname().empty()) {

1946  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

1948

m_Objs[

"[n] biosource[s] [has] metagenome_source qualifier"

].Add(*

context

.BiosourceObjRef(*biosrc));

1973 static const char

*

kDupSrc

=

"[n] source[s] [has] two or more qualifiers with the same value"

;

1977  "DUP_SRC_QUAL_DATA"

)

1981  string

collected_by;

1982  string

identified_by;

1983  if

(biosrc->CanGetSubtype()) {

1984  for

(

const auto

& it : biosrc->GetSubtype()) {

1985  if

(it->CanGetName()) {

1986  const string

& s = it->GetName();

1987  if

(it->CanGetSubtype()) {

2001  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetOrgname() && biosrc->GetOrg().GetOrgname().CanGetMod()) {

2002  for

(

const auto

& it : biosrc->GetOrg().GetOrgname().GetMod()) {

2003  if

(it->IsSetSubname()) {

2004  const string

& s = it->GetSubname();

2005  if

(it->CanGetSubtype()) {

2019  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetTaxname()) {

2020  const string

& s = biosrc->GetOrg().GetTaxname();

2022  Map

[s].push_back(

"organism"

);

2025  if

(biosrc->CanGetPcr_primers()) {

2026  for

(

const auto

& it : biosrc->GetPcr_primers().Get()) {

2027  if

(it->CanGetForward()) {

2028  for

(

const auto

& pr : it->GetForward().Get()) {

2029  if

(pr->CanGetName()) {

2030  Map

[pr->GetName()].push_back(

"fwd-primer-name"

);

2032  if

(pr->CanGetSeq()) {

2033  Map

[pr->GetSeq()].push_back(

"fwd-primer-seq"

);

2037  if

(it->CanGetReverse()) {

2038  for

(

const auto

& pr : it->GetReverse().Get()) {

2039  if

(pr->CanGetName()) {

2040  Map

[pr->GetName()].push_back(

"rev-primer-name"

);

2042  if

(pr->CanGetSeq()) {

2043  Map

[pr->GetSeq()].push_back(

"rev-primer-seq"

);

2050  for

(

const auto

& it :

Map

) {

2051  if

(it.second.size() > 1) {

2052  if

(it.second.size() == 2 && it.first == collected_by && collected_by == identified_by) {

2055  string

s =

"[n] biosource[s] [has] value\'"

;

2057

s +=

"\' for these qualifiers: "

;

2058  for

(

size_t i

= 0;

i

< it.second.size();

i

++) {

2062

s += it.second[

i

];

2080  if

(

context

.HasLineage(biosrc ? &biosrc->

GetSource

() :

nullptr

,

"Microsporidia"

)) {

2081  bool

has_unusual =

false

;

2083  if

(feat.IsSetComment() && feat.IsSetData() && feat.GetData().IsRna()) {

2087

has_unusual =

true

;

2094

m_Objs[

"[n] Bioseq[s] [has] unusual rRNA / ITS"

].Add(*

context

.BioseqObjRef());

2102 #define SARS_TAX_ID 2697049 2107  if

(biosrc->IsSetOrg() && biosrc->GetOrg().CanGetDb()) {

2109  for

(

const auto

& db : biosrc->GetOrg().GetDb()) {

2110  if

(db->CanGetTag() && db->GetTag().IsId() && db->GetTag().GetId() ==

SARS_TAX_ID

&& db->CanGetDb() && db->GetDb() ==

"taxon"

) {

2118  if

(biosrc->IsSetOrg() && biosrc->GetOrg().IsSetOrgname() && biosrc->GetOrg().GetOrgname().IsSetMod()) {

2119  for

(

const auto

& m : biosrc->GetOrg().GetOrgname().GetMod()) {

2121

isolate = m->GetSubname();

2126  if

(!isolate.length()) {

2127

isolate =

"no isolate"

;

2130  if

(good && isolate.find(

"SARS-CoV-2"

) != 0) {

2135

vector<string>

arr

;

2137  if

(

arr

.size() == 5) {

2145  string

date, date0, date1;

2146  if

(biosrc->IsSetSubtype()) {

2147  for

(

const auto

& it : biosrc->GetSubtype()) {

2149

date = it->GetName();

2154  if

(date.length() >= 4) {

2155

date0 = date.substr(0, 4);

2156

date1 = date.substr(date.length() - 4);

2158

good = year == date0 || year == date1;

2161

m_Objs[

"[n] SARS-CoV-2 biosource[s] [has] wrong isolate format"

][isolate].Add(*

context

.BiosourceObjRef(*biosrc));

User-defined methods of the data storage class.

static const CDbtag * GetTaxonTag(const COrg_ref &org)

list< string > TInconsistecyDescriptionList

static bool IsSameDb(const COrg_ref::TDb &first, const COrg_ref::TDb &second)

static bool IsMissingRequiredClone(const CBioSource &biosource)

static bool SetCultureCollectionFromStrain(CBioSource &src)

static bool IsSameSubtype(const CBioSource::TSubtype &first, const CBioSource::TSubtype &second)

static void GetOrgrefDifferences(const COrg_ref &first_org, const COrg_ref &second_org, TInconsistecyDescriptionList &diffs)

static bool MatchExceptSpaceColon(const string &a, const string &b)

const string kAmplifiedWithSpeciesSpecificPrimers

const string kMissingViralQualsTop

static bool SetEnvSampleFixAmplifiedPrimers(CBioSource &src)

static bool FindDuplicatePrimers(const CPCRReaction &a, const CPCRReaction &b)

static void GetBiosourceDifferences(const CBioSource &first_biosrc, const CBioSource &second_biosrc, TInconsistecyDescriptionList &diffs)

static bool ChangeCountryColonToComma(CBioSource &src)

bool HasStrainForATCCCultureCollection(const COrgName::TMod &mods, const string &culture_collection)

static bool EqualPrimerSets(const CPCRPrimerSet::Tdata &a, const CPCRPrimerSet::Tdata &b)

bool HasCultureCollectionForATCCStrain(const COrgName::TMod &mods, const string &strain)

static bool FixHumanHost(CBioSource &src)

static bool OrgDiffers(const COrg_ref &first, const COrg_ref &second)

static CRef< CTaxon3_reply > GetOrgRefs(vector< CRef< COrg_ref >> &orgs)

static const size_t srcqual_keywords_sz

static const char * kDupSrc

static string GetOrgModName(const COrgMod &qual)

static void GetOrgnameDifferences(const COrgName &first, const COrgName &second, TInconsistecyDescriptionList &diffs)

static string GetSubtypeName(const CSubSource &qual)

static string GetSrcQual(const CBioSource &bs, int qual)

bool HasAmplifiedWithSpeciesSpecificPrimerNote(const CBioSource &src)

static const pair< int, string > srcqual_keywords[]

static bool RemoveCountryColon(CBioSource &src)

bool HasSubtype(CSubSource::TSubtype subtype) const

bool(T::* TIsSetFn)() const

int(T::* TGetIntFn)() const

static bool IsEqualVal(const T &first, const T &second, TIsSetFn is_set_fn, TGetRFn get_fn, const R &empty_val)

const R &(T::* TGetRFn)() const

static bool IsEqualInt(const T &first, const T &second, TIsSetFn is_set_fn, TGetIntFn get_fn, int not_set)

static bool HasLineage(const CBioSource &biosrc, const string &def_lineage, const string &type)

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

static string GetSubtypeName(TSubtype stype, EVocabulary vocabulary=eVocabulary_raw)

bool IsSetOrgMod(void) const

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

virtual vector< CRef< CReportItem > > GetSubitems() const =0

static void Add(TReportObjectList &list, TReportObjectSet &hash, CReportObj &obj, bool unique=true)

CReportNode & Ext(bool b=true)

CRef< CReportItem > Export(CDiscrepancyCore &test, bool unique=true) const

namespace ncbi::objects::

static bool HasCultureNotes(const string &value)

static string GetSubtypeName(CSubSource::TSubtype stype, EVocabulary vocabulary=eVocabulary_raw)

static CRef< CDate > DateFromCollectionDate(const string &str) THROWS((CException))

virtual CRef< CTaxon3_reply > SendOrgRefList(const vector< CRef< COrg_ref > > &list, COrg_ref::fOrgref_parts result_parts=COrg_ref::eOrgref_default, fT3reply_parts t3result_parts=eT3reply_default)

static vector< string > arr

#define DISCREPANCY_AUTOFIX(name)

#define DISCREPANCY_CASE1(name, type, group, descr,...)

#define DISCREPANCY_CASE(name, type, group, descr)

#define DISCREPANCY_SUMMARIZE(name)

int GetSubtype(CFieldNamePanel *field_name_panel, string &ncRNA_class)

static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)

CRange< Position > Map(const CRange< Position > &target, const CRange< Position > &range)

constexpr size_t ArraySize(const Element(&)[Size])

#define MSerial_AsnBinary

#define ENUM_METHOD_NAME(EnumName)

virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const

Check if both objects contain the same values.

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define END_SCOPE(ns)

End the previously defined scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

#define BEGIN_SCOPE(ns)

Define a new scope.

static list< string > & SplitByPattern(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)

Variation of Split() with fSplit_ByPattern flag applied by default.

static string SizetToString(size_t value, TNumToStringFlags flags=0, int base=10)

Convert size_t to string.

static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)

Case-insensitive compare of a substring with another string.

static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to int.

static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)

Split a string using specified delimiters.

static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)

Find the pattern in the specified range of a string using a case insensitive search.

static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)

Check if a string is blank (has no text).

static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)

Truncate whitespace in a string (in-place)

static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)

Find the pattern in the string.

static string Join(const TContainer &arr, const CTempString &delim)

Join strings using the specified delimiter.

static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)

Check if a string starts with a specified prefix value.

static unsigned int StringToUInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to unsigned int.

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 bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)

Test for equality of a substring with another string.

static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)

Replace occurrences of a substring within a string.

@ fSplit_Tokenize

All delimiters are merged and trimmed, to get non-empty tokens only.

@ eNocase

Case insensitive compare.

static const char label[]

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.

const Tdata & Get(void) const

Get the member data.

bool IsSetOrg(void) const

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

list< CRef< CSubSource > > TSubtype

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.

const TAttrib & GetAttrib(void) const

Get the Attrib member data.

TSubtype GetSubtype(void) const

Get the Subtype member data.

bool IsSetGenome(void) const

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

bool IsSetSubtype(void) const

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

void SetOrg(TOrg &value)

Assign a value to Org data member.

void SetName(const TName &value)

Assign a value to Name data member.

const TName & GetName(void) const

Get the Name member data.

bool IsSetAttrib(void) const

attribution/source of this name Check if a value has been assigned to Attrib data member.

bool IsSetIs_focus(void) const

to distinguish biological focus Check if a value has been assigned to Is_focus data member.

list< CRef< CPCRReaction > > Tdata

bool IsSetName(void) const

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

TSubtype & SetSubtype(void)

Assign a value to Subtype data member.

list< CRef< CPCRPrimer > > Tdata

@ eSubtype_collection_date

DD-MMM-YYYY format.

@ eSubtype_collected_by

name of person who collected the sample

@ eSubtype_isolation_source

@ eSubtype_environmental_sample

@ eSubtype_identified_by

name of person who identified the sample

bool IsSetYear(void) const

full year (including 1900) Check if a value has been assigned to Year data member.

bool IsStd(void) const

Check if variant Std is selected.

TYear GetYear(void) const

Get the Year member data.

const TStd & GetStd(void) const

Get the variant data.

ESource_qual

Access to ESource_qual's attributes (values, names) as defined in spec.

const TMod & GetMod(void) const

Get the Mod member data.

bool CanGetMod(void) const

Check if it is safe to call GetMod method.

bool IsSetDb(void) const

ids in taxonomic or culture dbases Check if a value has been assigned to Db data member.

const TLineage & GetLineage(void) const

Get the Lineage member data.

TSubtype GetSubtype(void) const

Get the Subtype member data.

const TDiv & GetDiv(void) const

Get the Div member data.

const TAttrib & GetAttrib(void) const

Get the Attrib member data.

TMgcode GetMgcode(void) const

Get the Mgcode member data.

E_Choice Which(void) const

Which variant is currently selected.

TGcode GetGcode(void) const

Get the Gcode member data.

bool IsSetSubtype(void) const

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

const TSubname & GetSubname(void) const

Get the Subname member data.

bool IsSetCommon(void) const

common name Check if a value has been assigned to Common data member.

bool IsSetLineage(void) const

lineage with semicolon separators Check if a value has been assigned to Lineage data member.

vector< CRef< CDbtag > > TDb

const TName & GetName(void) const

Get the Name member data.

const TTaxname & GetTaxname(void) const

Get the Taxname member data.

bool IsSetMgcode(void) const

mitochondrial genetic code Check if a value has been assigned to Mgcode data member.

const TCommon & GetCommon(void) const

Get the Common member data.

const TDb & GetDb(void) const

Get the Db member data.

const TSyn & GetSyn(void) const

Get the Syn member data.

bool IsSetDiv(void) const

GenBank division code Check if a value has been assigned to Div data member.

bool IsSetMod(void) const

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

list< CRef< COrgMod > > TMod

bool IsSetAttrib(void) const

attribution of name Check if a value has been assigned to Attrib data member.

bool CanGetOrgname(void) const

Check if it is safe to call GetOrgname method.

bool IsSetOrgname(void) const

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

bool IsSetSubname(void) const

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

bool IsSetTaxname(void) const

preferred formal name Check if a value has been assigned to Taxname data member.

bool IsSetAttrib(void) const

attribution/source of name Check if a value has been assigned to Attrib data member.

bool IsSetGcode(void) const

genetic code (see CdRegion) Check if a value has been assigned to Gcode data member.

bool IsSetSyn(void) const

synonyms for taxname or common Check if a value has been assigned to Syn data member.

bool IsSetName(void) const

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

const TAttrib & GetAttrib(void) const

Get the Attrib member data.

const TOrgname & GetOrgname(void) const

Get the Orgname member data.

@ eSubtype_gb_acronym

used by taxonomy database

@ eSubtype_gb_synonym

used by taxonomy database

@ eSubtype_other

ASN5: old-name (254) will be added to next spec.

@ eSubtype_nat_host

natural host of this specimen

@ eSubtype_metagenome_source

@ eSubtype_specimen_voucher

@ eSubtype_gb_anamorph

used by taxonomy database

@ eSubtype_culture_collection

const TSource & GetSource(void) const

Get the variant data.

unsigned int

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

where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig

unique_ptr< CLocalTaxon > tax1

CBioSource * GetBioSourceFromContext(CDiscrepancyObject *obj, CDiscrepancyContext &context)

const CharType(& source)[N]

static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)

static SLJIT_INLINE sljit_ins st(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::CObjectManager > om

static CS_CONTEXT * context


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