dbtag->
SetTag().SetId(
id);
97src.SetOrg().SetDb().push_back(dbtag);
104COrg_ref::TDb::iterator it = src.
SetOrg().SetDb().begin();
105 while(it != src.
SetOrg().SetDb().end()) {
107&& (
id== 0 || ((*it)->IsSetTag() && (*it)->GetTag().IsId() && (*it)->GetTag().GetId() ==
id))) {
108it = src.
SetOrg().SetDb().erase(it);
132entry->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set(
"AATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAA");
136 id->SetLocal().SetStr (
"good");
165 if(entry->
IsSeq()) {
167}
else if(entry->
IsSet()) {
173 if(entry->
IsSeq()) {
175}
else if(entry->
IsSet()) {
186odesc->
SetSource().
SetOrg().SetOrgname().SetLineage(
"some lineage");
193 if(entry->
IsSeq()) {
195}
else if(entry->
IsSet()) {
205dbtag->
SetTag().SetStr(
id);
206src.
SetOrg().SetDb().push_back(dbtag);
215 if(entry->
IsSeq()) {
217 if((*it)->IsSource()) {
221}
else if(entry->
IsSet()) {
223 if((*it)->IsSource()) {
236 if(entry->
IsSeq()) {
238 if((*it)->IsSource()) {
242}
else if(entry->
IsSet()) {
244 if((*it)->IsSource()) {
259dbtag->
SetTag().SetId(
id);
271dbtag->
SetTag().SetStr(
id);
282 if(entry->
IsSeq()) {
284 if((*it)->IsSource()) {
288}
else if(entry->
IsSet()) {
290 if((*it)->IsSource()) {
304CSeq_feat::TDbxref::iterator it = feat->
SetDbxref().begin();
305 while(it != feat->
SetDbxref().end()) {
307&& (
id== 0 || ((*it)->IsSetTag() && (*it)->GetTag().IsId() && (*it)->GetTag().GetId() ==
id))) {
322 if(entry->
IsSeq()) {
324 if((*it)->IsSource()) {
325 SetTaxon((*it)->SetSource(), taxon);
328}
else if(entry->
IsSet()) {
330 if((*it)->IsSource()) {
331 SetTaxon((*it)->SetSource(), taxon);
340 if(!entry || !annot) {
343 if(entry->
IsSeq()) {
345}
else if(entry->
IsSet()) {
357 if(entry->
IsSeq()) {
366}
else if(entry->
IsSet()) {
376annot->
SetData().SetFtable().push_back(feat);
383feat->
SetData().SetProt().SetName().push_back(
"fake protein name");
395feat->
SetData().SetBiosrc().SetOrg().SetTaxname(
"Trichechus manatus");
397feat->
SetData().SetBiosrc().SetOrg().SetOrgname().SetLineage(
"some lineage");
398feat->
SetLocation().SetInt().SetId().SetLocal().SetStr(
"good");
402annot->
SetData().SetFtable().push_back(feat);
411feat->
SetLocation().SetInt().SetId().Assign(*
id);
414feat->
SetData().SetImp().SetKey(
"misc_feature");
422feat->
SetLocation().SetInt().SetId().SetLocal().SetStr(
"good");
425feat->
SetData().SetImp().SetKey(
"misc_feature");
433 if(entry->
IsSeq()) {
435}
else if(entry->
IsSet()) {
447feat->
SetComment(
"misc_feature needs a comment");
464 if(entry->
IsSeq()) {
466 if((*it)->IsSource()) {
468(*it)->SetSource().SetOrg().ResetTaxname();
470(*it)->SetSource().SetOrg().SetTaxname(taxname);
474}
else if(entry->
IsSet()) {
476 if((*it)->IsSource()) {
478(*it)->SetSource().SetOrg().ResetTaxname();
480(*it)->SetSource().SetOrg().SetTaxname(taxname);
506 SetTaxname(entry,
"Drosophila melanogaster");
516 if(entry->
IsSeq()) {
518 if((*it)->IsSource()) {
520(*it)->SetSource().SetOrg().ResetCommon();
522(*it)->SetSource().SetOrg().SetCommon(common);
526}
else if(entry->
IsSet()) {
528 if((*it)->IsSource()) {
530(*it)->SetSource().SetOrg().ResetCommon();
532(*it)->SetSource().SetOrg().SetCommon(common);
545 if(entry->
IsSeq()) {
547 if((*it)->IsSource()) {
549(*it)->SetSource().SetOrg().SetOrgname().ResetLineage();
551(*it)->SetSource().SetOrg().SetOrgname().SetLineage(lineage);
555}
else if(entry->
IsSet()) {
557 if((*it)->IsSource()) {
559(*it)->SetSource().SetOrg().SetOrgname().ResetLineage();
561(*it)->SetSource().SetOrg().SetOrgname().SetLineage(lineage);
574 if(entry->
IsSeq()) {
576 if((*it)->IsSource()) {
578(*it)->SetSource().SetOrg().SetOrgname().ResetDiv();
580(*it)->SetSource().SetOrg().SetOrgname().SetDiv(div);
584}
else if(entry->
IsSet()) {
586 if((*it)->IsSource()) {
588(*it)->SetSource().SetOrg().SetOrgname().ResetDiv();
590(*it)->SetSource().SetOrg().SetOrgname().SetDiv(div);
603 if(entry->
IsSeq()) {
605 if((*it)->IsSource()) {
606(*it)->SetSource().SetOrigin(
origin);
609}
else if(entry->
IsSet()) {
611 if((*it)->IsSource()) {
612(*it)->SetSource().SetOrigin(
origin);
624 if(entry->
IsSeq()) {
626 if((*it)->IsSource()) {
627(*it)->SetSource().SetOrg().SetOrgname().SetGcode(gcode);
630}
else if(entry->
IsSet()) {
632 if((*it)->IsSource()) {
633(*it)->SetSource().SetOrg().SetOrgname().SetGcode(gcode);
645 if(entry->
IsSeq()) {
647 if((*it)->IsSource()) {
648(*it)->SetSource().SetOrg().SetOrgname().SetMgcode(mgcode);
651}
else if(entry->
IsSet()) {
653 if((*it)->IsSource()) {
654(*it)->SetSource().SetOrg().SetOrgname().SetMgcode(mgcode);
666 if(entry->
IsSeq()) {
668 if((*it)->IsSource()) {
669(*it)->SetSource().SetOrg().SetOrgname().SetPgcode(pgcode);
672}
else if(entry->
IsSet()) {
674 if((*it)->IsSource()) {
675(*it)->SetSource().SetOrg().SetOrgname().SetPgcode(pgcode);
687 if(entry->
IsSeq()) {
689 if((*it)->IsSource()) {
690(*it)->SetSource().SetOrg().ResetOrgname();
693}
else if(entry->
IsSet()) {
695 if((*it)->IsSource()) {
696(*it)->SetSource().SetOrg().ResetOrgname();
708 if(entry->
IsSeq()) {
710 if((*it)->IsSource()) {
711(*it)->SetSource().SetIs_focus();
714}
else if(entry->
IsSet()) {
716 if((*it)->IsSource()) {
717(*it)->SetSource().SetIs_focus();
729 if(entry->
IsSeq()) {
731 if((*it)->IsSource()) {
732(*it)->SetSource().ResetIs_focus();
735}
else if(entry->
IsSet()) {
737 if((*it)->IsSource()) {
738(*it)->SetSource().ResetIs_focus();
750 if(entry->
IsSeq()) {
752 if((*it)->IsSource()) {
753(*it)->SetSource().SetGenome(genome);
756}
else if(entry->
IsSet()) {
758 if((*it)->IsSource()) {
759(*it)->SetSource().SetGenome(genome);
770CBioSource::TSubtype::iterator it = src.
SetSubtype().begin();
772 if((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype) {
794 if(entry->
IsSeq()) {
796 if((*it)->IsSource()) {
800}
else if(entry->
IsSet()) {
802 if((*it)->IsSource()) {
814CBioSource::TSubtype::iterator it = src.
SetSubtype().begin();
835 if(entry->
IsSeq()) {
837 if((*it)->IsSource()) {
841}
else if(entry->
IsSet()) {
843 if((*it)->IsSource()) {
857CBioSource::TSubtype::iterator it = src.
SetSubtype().begin();
874 if(entry->
IsSeq()) {
876 if((*it)->IsSource()) {
880}
else if(entry->
IsSet()) {
882 if((*it)->IsSource()) {
894COrgName::TMod::iterator it = src.
SetOrg().SetOrgname().SetMod().begin();
895 while(it != src.
SetOrg().SetOrgname().SetMod().end()) {
896 if((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype) {
897it = src.
SetOrg().SetOrgname().SetMod().erase(it);
905src.
SetOrg().SetOrgname().SetMod().push_back(sub);
915 if(entry->
IsSeq()) {
917 if((*it)->IsSource()) {
921}
else if(entry->
IsSet()) {
923 if((*it)->IsSource()) {
934author->
SetName().SetName().SetLast(
"Darwin");
935author->
SetName().SetName().SetFirst(
"Charles");
936author->
SetName().SetName().SetMiddle(
"R");
946art_title->SetName(
"article title");
949journal_title->SetName(
"journal_title");
950pub->
SetArticle().
SetFrom().SetJournal().SetTitle().Set().push_back(journal_title);
952iso_jta->SetIso_jta(
"abbr");
953pub->
SetArticle().
SetFrom().SetJournal().SetTitle().Set().push_back(iso_jta);
957pub->
SetArticle().
SetFrom().SetJournal().SetImp().SetDate().SetStd().SetYear(2009);
971 if(serial_number > -1) {
983pub->
SetSub().
SetAuthors().SetAffil().SetStd().SetAffil(
"A Major University");
993 if(seq.
SetInst().IsSetSeq_data()) {
995seq.
SetInst().SetSeq_data().SetIupacna().Set().clear();
996 for(
int i= 0;
i< 100;
i++) {
997seq.
SetInst().SetSeq_data().SetIupacna().Set().append(
998 "AAAAATTTTTGGGGGCCCCCTTTTTAAAAATTTTTGGGGGCCCCCTTTTTAAAAATTTTTGGGGGCCCCCTTTTTAAAAATTTTTGGGGGCCCCCTTTTT");
1000seq.
SetInst().SetLength(10000);
1002seq.
SetInst().SetSeq_data().SetIupacaa().Set().clear();
1003 for(
int i= 0;
i< 100;
i++) {
1004seq.
SetInst().SetSeq_data().SetIupacaa().Set().append(
1005 "MPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSLMPRKTEINSL");
1007seq.
SetInst().SetLength(10000);
1015 boolfound =
false;
1018 if((*it)->IsMolinfo()) {
1019(*it)->SetMolinfo().SetBiomol(biomol);
1033 boolfound =
false;
1036 if((*it)->IsMolinfo()) {
1037(*it)->SetMolinfo().SetTech(tech);
1051 if(entry->
IsSeq()) {
1052 boolfound =
false;
1054 if((*it)->IsMolinfo()) {
1055(*it)->SetMolinfo().SetCompleteness (completeness);
1078entry->
SetSeq().
SetInst().SetSeq_data().SetIupacaa().Set(
"PRKTEIN");
1081 if((*it)->IsMolinfo()) {
1098pseq->
SetInst().SetSeq_data().SetIupacaa().Set(
"MPRKTEIN");
1099pseq->
SetInst().SetLength(8);
1103pseq->
SetId().push_back(pid);
1108pseq->
SetDescr().Set().push_back(mpdesc);
1114feat->
SetData().SetProt().SetName().push_back(
"fake protein name");
1115feat->
SetLocation().SetInt().SetId().SetLocal().SetStr(
id);
1127cds->
SetData().SetCdregion();
1128cds->
SetProduct().SetWhole().SetLocal().SetStr(prot_id);
1129cds->
SetLocation().SetInt().SetId().SetLocal().SetStr(nuc_id);
1145nseq->
SetInst().SetSeq_data().SetIupacna().Set(
"ATGCCCAGAAAAACAGAGATAAACTAAGGGATGCCCAGAAAAACAGAGATAAACTAAGGG");
1146nseq->
SetInst().SetLength(60);
1149 id->SetLocal().SetStr (
"nuc");
1150nseq->
SetId().push_back(
id);
1154nseq->
SetDescr().Set().push_back(mdesc);
1159 set->SetSeq_set().push_back(nentry);
1164 set->SetSeq_set().push_back(pentry);
1186 if(entry->
IsSeq()) {
1189}
else if(entry->
IsSet()) {
1193 if(
prot&& prot_seq) {
1194 prot->SetLocation().SetInt().SetTo(prot_seq->
SetSeq().
SetInst().SetLength() - 1);
1207 if(entry->
IsSeq()) {
1210}
else if(entry->
IsSet()) {
1215 if(
prot->SetData().SetProt().SetName().size() > 0) {
1216 prot->SetData().SetProt().SetName().pop_front();
1218 prot->SetData().SetProt().SetName().push_front(new_name);
1225 returnentry->
SetSet().
SetAnnot().front()->SetData().SetFtable().front();
1244 returnpentry->
SetSeq().
SetAnnot().front()->SetData().SetFtable().front();
1261 prot->SetPartial(partial5 || partial3);
1266 if(partial5 && partial3) {
1268}
else if(partial5) {
1270}
else if(partial3) {
1294pseq->
SetSeq().
SetId().front()->Assign(*
id);
1297pfeat->
SetLocation().SetInt().SetId().Assign(*
id);
1300cds->
SetProduct().SetWhole().Assign(*
id);
1307nseq->
SetSeq().
SetId().front()->Assign(*
id);
1311cds->
SetLocation().SetInt().SetId().Assign(*
id);
1313cds->
SetLocation().SetMix().Set().front()->SetInt().SetId().Assign(*
id);
1314cds->
SetLocation().SetMix().Set().back()->SetInt().SetId().Assign(*
id);
1326nuc_seq->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set(
"ATGCCCAGAAAAACAGAGATAAACAAAGGGATGCCCAGAAAAACAGAGATAAACAAAGGG");
1328prot_seq->
SetSeq().
SetInst().SetSeq_data().SetIupacaa().Set(
"MPRKTEINKGMPRKTEINKG");
1332 prot->SetLocation().SetInt().SetTo(19);
1334 prot->SetPartial(
true);
1340 if(annot && annot->
IsFtable()) {
1341CSeq_annot::C_Data::TFtable::iterator it = annot->
SetData().SetFtable().begin();
1342 while(it != annot->
SetData().SetFtable().end()) {
1343(*it)->SetLocation().SetInt().SetId().Assign(*
id);
1352 if(annot && annot->
IsFtable()) {
1353CSeq_annot::C_Data::TFtable::iterator it = annot->
SetData().SetFtable().begin();
1354 while(it != annot->
SetData().SetFtable().end()) {
1355 if((*it)->IsSetProduct()) {
1356(*it)->SetProduct().SetWhole().Assign(*
id);
1366 if(!np_set || !np_set->
IsSet()) {
1372nuc_entry->
SetSeq().
SetId().front()->Assign(*
id);
1388 if(!np_set || !np_set->
IsSet()) {
1395prot_entry->
SetSeq().
SetId().front()->Assign(*
id);
1409 id->SetOther().SetAccession(
"NC_123456");
1416 if(entry->
IsSeq()) {
1417entry->
SetSeq().
SetId().front()->Assign(*
id);
1419CBioseq::TAnnot::iterator annot_it = entry->
SetSeq().
SetAnnot().begin();
1421 if((*annot_it)->IsFtable()) {
1422CSeq_annot::C_Data::TFtable::iterator it = (*annot_it)->SetData().SetFtable().begin();
1423 while(it != (*annot_it)->SetData().SetFtable().end()) {
1424(*it)->SetLocation().SetId(*
id);
1437 if(annot && annot->
IsFtable()) {
1438CSeq_annot::C_Data::TFtable::iterator it = annot->
SetData().SetFtable().begin();
1439 while(it != annot->
SetData().SetFtable().end()) {
1440(*it)->SetLocation().SetInt().SetId().SetLocal().SetStr().append(suffix);
1441 if((*it)->IsSetProduct()) {
1442(*it)->SetProduct().SetWhole().SetLocal().SetStr().append(suffix);
1452 if(entry->
IsSeq()) {
1453entry->
SetSeq().
SetId().front()->SetLocal().SetStr().append(suffix);
1455CBioseq::TAnnot::iterator annot_it = entry->
SetSeq().
SetAnnot().begin();
1461}
else if(entry->
IsSet()) {
1462CBioseq_set::TSeq_set::iterator it = entry->
SetSet().
SetSeq_set().begin();
1468CBioseq_set::TAnnot::iterator annot_it = entry->
SetSet().
SetAnnot().begin();
1482 nuc->SetSeq().SetInst().SetSeq_data().SetIupacna().Set(
"ATGCCCAGAAAAACAGAGATAAACTAA");
1483 nuc->SetSeq().SetInst().SetLength(27);
1510contig->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set(
"ATGCCCAGAAAAACAGAGATAAACTAAGGGATGCCCAGAAAAACAGAGATAAACTAAGGG");
1522cds->
SetLocation().SetInt().SetId().SetLocal().SetStr(
"good");
1525mrna->
SetProduct().SetWhole().Assign(*nuc_id);
1568 stringnew_seq =
"";
1569string::iterator sit = seq.end();
1570 while(sit != seq.begin()) {
1572 stringnew_ch =
"";
1583new_seq.append(new_ch);
1586bioseq.
SetInst().SetSeq_data().SetIupacna().Set(new_seq);
1590 TSeqPosnew_from =
len- (*feat_it)->GetLocation().GetInt().GetTo() - 1;
1591 TSeqPosnew_to =
len- (*feat_it)->GetLocation().GetInt().GetFrom() - 1;
1592(*feat_it)->SetLocation().SetInt().SetFrom(new_from);
1593(*feat_it)->SetLocation().SetInt().SetTo(new_to);
1594 if((*feat_it)->GetLocation().GetInt().IsSetStrand()
1607 if(loc.
IsInt()) {
1610loc.
SetInt().SetFrom(new_from);
1611loc.
SetInt().SetTo(new_to);
1618}
else if(loc.
IsMix()) {
1628 if(entry->
IsSeq()) {
1630}
else if(entry->
IsSet()) {
1651gap_seg->SetLiteral().SetSeq_data().SetGap();
1652gap_seg->SetLiteral().SetLength(10);
1653entry->
SetSeq().
SetInst().SetExt().SetDelta().Set().push_back(gap_seg);
1663CDelta_ext::Tdata::iterator seg_it = entry->
SetSeq().
SetInst().SetExt().SetDelta().Set().begin();
1664 while(seg_it != entry->
SetSeq().
SetInst().SetExt().SetDelta().Set().end()) {
1665 if((*seg_it)->IsLiteral()
1666&& (!(*seg_it)->GetLiteral().IsSetSeq_data()
1667|| (*seg_it)->GetLiteral().GetSeq_data().IsGap())) {
1669 len-= (*seg_it)->GetLiteral().GetLength();
1670seg_it = entry->
SetSeq().
SetInst().SetExt().SetDelta().Set().erase(seg_it);
1682 size_tadd_len = seq.length();
1685gap_seg->SetLiteral().SetSeq_data().SetGap();
1686gap_seg->SetLiteral().SetLength(10);
1687entry->
SetSeq().
SetInst().SetExt().SetDelta().Set().push_back(gap_seg);
1689entry->
SetSeq().
SetInst().SetLength(orig_len + 10 + add_len);
1698part->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set(
"AATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAA");
1717loc1->
SetWhole().SetLocal().SetStr(
"part1");
1719loc2->
SetWhole().SetLocal().SetStr(
"part2");
1721loc3->
SetWhole().SetLocal().SetStr(
"part3");
1723seg_seq->
SetSeq().
SetInst().SetExt().SetSeg().Set().push_back(loc1);
1724seg_seq->
SetSeq().
SetInst().SetExt().SetSeg().Set().push_back(loc2);
1725seg_seq->
SetSeq().
SetInst().SetExt().SetSeg().Set().push_back(loc3);
1729 id->SetLocal().SetStr (
"master");
1753odesc->
SetSource().
SetOrg().SetOrgname().SetLineage(
"some lineage");
1755taxon_id->
SetDb(
"taxon");
1756taxon_id->
SetTag().SetId(592768);
1762segset->
SetDescr().Set().push_back(odesc);
1783desc->
SetTitle(
"popset title");
1800 id->Assign(*(s->GetSeq().GetId().front()));
1801align->
SetSegs().SetDenseg().SetIds().push_back(
id);
1803 const string&
orig= s->SetSeq().SetInst().SetSeq_data().SetIupacna().Set();
1804 size_torig_len = s->GetSeq().GetInst().GetLength();
1806 for(
auto i= (
size_t)0;
i<
offset;
i++) {
1809s->SetSeq().SetInst().SetSeq_data().SetIupacna().Set(add +
orig);
1810s->SetSeq().SetInst().SetLength(orig_len +
offset);
1812align->
SetSegs().SetDenseg().SetStarts().push_back(
offset);
1815align->
SetSegs().SetDenseg().SetNumseg(1);
1816align->
SetSegs().SetDenseg().SetLens().push_back(entry->
GetSet().
GetSeq_set().front()->GetSeq().GetInst().GetLength());
1817align->
SetSegs().SetDenseg().SetDim(3);
1820annot->
SetData().SetAlign().push_back(align);
1832 for(
auto i= 0;
i< num_pieces;
i++) {
1835}
else if(denseg.
GetStrands().size() < num_pieces) {
1836 for(
auto i= denseg.
GetStrands().size();
i< num_pieces;
i++) {
1866align->
SetSegs().SetDenseg().SetIds().push_back(id1);
1867align->
SetSegs().SetDenseg().SetIds().push_back(id2);
1868align->
SetSegs().SetDenseg().SetDim(2);
1869align->
SetSegs().SetDenseg().SetStarts().push_back(0);
1870align->
SetSegs().SetDenseg().SetStarts().push_back(0);
1871align->
SetSegs().SetDenseg().SetNumseg(1);
1872align->
SetSegs().SetDenseg().SetLens().push_back(812);
1881graph->
SetLoc().SetInt().SetFrom(0);
1882graph->
SetLoc().SetInt().SetTo(10);
1883graph->
SetLoc().SetInt().SetId().SetLocal().SetStr(
id);
1886annot->
SetData().SetGraph().push_back(graph);
1895 if((*dit)->Which() == desc_choice) {
1905feat->
SetLocation().SetInt().SetId().Assign(*
id);
1910feat->
SetData().SetRna().SetExt().SetTRNA().SetAa().SetIupacaa(
'N');
1911feat->
SetData().SetRna().SetExt().SetTRNA().SetAnticodon().SetInt().SetId().Assign(*
id);
1912feat->
SetData().SetRna().SetExt().SetTRNA().SetAnticodon().SetInt().SetFrom(11);
1913feat->
SetData().SetRna().SetExt().SetTRNA().SetAnticodon().SetInt().SetTo(13);
1922trna->
SetData().SetRna().SetExt().SetTRNA().SetAnticodon().SetInt().SetFrom(8);
1923trna->
SetData().SetRna().SetExt().SetTRNA().SetAnticodon().SetInt().SetTo(10);
1924trna->
SetData().SetRna().SetExt().SetTRNA().SetAa().SetIupacaa(
'F');
1932loc1->
SetInt().SetFrom(0);
1933loc1->
SetInt().SetTo(15);
1934loc1->
SetInt().SetId().Assign(*
id);
1936loc2->
SetInt().SetFrom(46);
1937loc2->
SetInt().SetTo(56);
1938loc2->
SetInt().SetId().Assign(*
id);
1940mixloc->
SetMix().Set().push_back(loc1);
1941mixloc->
SetMix().Set().push_back(loc2);
1949intron->
SetData().SetImp().SetKey(
"intron");
1952intron->
SetLocation().SetInt().SetId().Assign(*
id);
1959seq.
SetInst().SetSeq_data().SetIupacna().Set()[16] =
'G';
1960seq.
SetInst().SetSeq_data().SetIupacna().Set()[17] =
'T';
1961seq.
SetInst().SetSeq_data().SetIupacna().Set()[44] =
'A';
1962seq.
SetInst().SetSeq_data().SetIupacna().Set()[45] =
'G';
1969gene->
SetData().SetGene().SetLocus(
"gene locus");
1986imp_feat->
SetData().SetImp().SetKey(
key);
1990entry->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set()[0] =
'G';
1991entry->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set()[1] =
'T';
1992entry->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set()[9] =
'A';
1993entry->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set()[10] =
'G';
2003imp_feat->
SetLocation().SetPnt().SetId().SetLocal().SetStr(
"good");
2015 structSFileRememberer
2017 voidoperator()(
const CDirEntry& dir_entry ) {
2018m_filesFound.push_back(
CFile(dir_entry));
2021vector<CFile> m_filesFound;
2027 template<
typenamePair>
2030 typenamePair::first_type operator()(
constPair & a_pair )
const 2032 returna_pair.first;
2039 CDirdirWithTestCases,
2045 if( ! pTestRunner ) {
2048 if( ! dirWithTestCases.
Exists() ) {
2049pTestRunner->
OnError(
"Top-level test-cases dir not found: "+ dirWithTestCases.
GetPath() );
2052 if( ! dirWithTestCases.
IsDir() ) {
2053pTestRunner->
OnError(
"Top-level test-cases dir is actually not a dir: "+ dirWithTestCases.
GetPath() );
2057 constvector<string> kEmptyVectorOfStrings;
2059SFileRememberer fileRememberer;
2062kEmptyVectorOfStrings,
2063kEmptyVectorOfStrings,
2072TMapTestNameToItsFiles mapTestNameToItsFiles;
2074 ITERATE( vector<CFile>, file_it, fileRememberer.m_filesFound ) {
2075 const stringsFileName = file_it->GetName();
2094 if( sTestName.empty() || sSuffix.empty() ) {
2095pTestRunner->
OnError(
"Bad file name: "+ file_it->GetPath());
2099 if( setOfIgnoredSuffixes.
find(sSuffix) != setOfIgnoredSuffixes.
end() ) {
2105 const boolbWasInserted =
2106mapTestNameToItsFiles[sTestName].insert(make_pair(sSuffix, *file_it)).second;
2107 if( ! bWasInserted ) {
2109 "File with same name appears multiple times in different dirs: "+
2110file_it->GetPath() );
2116 ERASE_ITERATE(TMapTestNameToItsFiles, test_it, mapTestNameToItsFiles) {
2117 const string& sTestName = test_it->first;
2124inserter(setOfAllSuffixes, setOfAllSuffixes.
begin()),
2125SFirstOfPair<ITestRunner::TMapSuffixToFile::value_type>() );
2129set_difference( setOfAllSuffixes.
begin(), setOfAllSuffixes.
end(),
2130setOfRequiredSuffixes.
begin(), setOfRequiredSuffixes.
end(),
2131inserter(setOfNonRequiredSuffixes, setOfNonRequiredSuffixes.
begin() ) );
2136 const size_tszNumOfSuffixes = setOfAllSuffixes.
size();
2137 const size_tszNumOfNonRequiredSuffixes = setOfNonRequiredSuffixes.
size();
2138 if( (szNumOfSuffixes - szNumOfNonRequiredSuffixes) != setOfRequiredSuffixes.
size() )
2140pTestRunner->
OnError(
"Skipping this test because it's missing some files: "+ sTestName);
2141mapTestNameToItsFiles.erase(test_it);
2146 if( ! includes( setOfOptionalSuffixes.
begin(), setOfOptionalSuffixes.
end(),
2147setOfNonRequiredSuffixes.
begin(), setOfNonRequiredSuffixes.
end() ) )
2149pTestRunner->
OnError(
"Skipping this test because it has unexpected suffix(es): "+ sTestName);
2150mapTestNameToItsFiles.erase(test_it);
2156 if( mapTestNameToItsFiles.empty() ) {
2157pTestRunner->
OnError(
"There are no tests to run");
2162 ITERATE(TMapTestNameToItsFiles, test_it, mapTestNameToItsFiles) {
2163 const string& sTestName = test_it->first;
2167cerr <<
"Running test: "<< sTestName << endl;
2168pTestRunner->
RunTest(sTestName, mapSuffixToFile);
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.
User-defined methods of the data storage class.
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
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.
void transform(Container &c, UnaryFunction *op)
TSeqPos GetLength(void) const
@OrgMod.hpp User-defined methods of the data storage class.
bool IsFtable(void) const
void SetDescr(CSeq_descr &value)
list< CRef< CSeq_annot > > TAnnot
namespace ncbi::objects::
void AddQualifier(const string &qual_name, const string &qual_val)
Add a qualifier to this feature.
virtual void RunTest(const string &sTestNAme, const TMapSuffixToFile &mapSuffixToFile)=0
This function is called for each test.
virtual void OnError(const string &sErrorText)=0
This is called when an error occurs, and if ITestRunner is using boost it should indicate that using,...
const_iterator begin() const
const_iterator end() const
const_iterator begin() const
const_iterator find(const key_type &key) const
const_iterator end() const
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ENTREZ_ID_CONST(id)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ERASE_ITERATE(Type, Var, Cont)
Non-constant version with ability to erase current element, if container permits.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define NCBI_USER_THROW_FMT(message)
Throw a "user exception" with message processed as output to ostream.
static string CreateAbsolutePath(const string &path, ERelativeToWhat rtw=eRelativeToCwd)
Get an absolute path from some, possibly relative, path.
void FindFilesInDir(const CDir &dir, const vector< string > &masks, const vector< string > &masks_subdir, TFindFunc &find_func, TFindFiles flags=fFF_Default)
Find files in the specified directory.
virtual bool Exists(void) const
Check if directory "dirname" exists.
bool IsDir(EFollowLinks follow=eFollowLinks) const
Check whether a directory entry is a directory.
static char GetPathSeparator(void)
Get path separator symbol specific for the current platform.
const string & GetPath(void) const
Get entry path.
@ fFF_Recursive
descend into sub-dirs
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
const TPrim & Get(void) const
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
ENa_strand GetStrand(void) const
Get the location's strand.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
static CRef< CBioseq > TranslateToProtein(const CSeq_feat &cds, CScope &scope)
#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 bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
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 bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)
Split a string into two pieces using the specified delimiters.
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.
void SetTitle(TTitle &value)
Assign a value to Title data member.
void SetDate(TDate &value)
Assign a value to Date data member.
void SetName(TName &value)
Assign a value to Name data member.
void SetFrom(TFrom &value)
Assign a value to From data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void SetSerial_number(TSerial_number value)
Assign a value to Serial_number data member.
void SetDate(TDate &value)
Assign a value to Date data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void SetTitle(const TTitle &value)
Assign a value to Title data member.
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
void SetSubtype(TSubtype value)
Assign a value to Subtype data member.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
const TOrg & GetOrg(void) const
Get the Org member data.
void SetOrg(TOrg &value)
Assign a value to Org data member.
void SetName(const TName &value)
Assign a value to Name data member.
TSubtype & SetSubtype(void)
Assign a value to Subtype data member.
void SetTag(TTag &value)
Assign a value to Tag data member.
TStr & SetStr(void)
Select the variant.
void SetDb(const TDb &value)
Assign a value to Db data member.
bool IsSetDb(void) const
ids in taxonomic or culture dbases Check if a value has been assigned to Db data member.
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
TPmid & SetPmid(void)
Select the variant.
TSub & SetSub(void)
Select the variant.
TGen & SetGen(void)
Select the variant.
TArticle & SetArticle(void)
Select the variant.
bool IsSetStrands(void) const
Check if a value has been assigned to Strands data member.
const TStarts & GetStarts(void) const
Get the Starts member data.
void SetSegs(TSegs &value)
Assign a value to Segs data member.
const TLens & GetLens(void) const
Get the Lens member data.
void SetDim(TDim value)
Assign a value to Dim data member.
void SetType(TType value)
Assign a value to Type data member.
TDim GetDim(void) const
Get the Dim member data.
TStarts & SetStarts(void)
Assign a value to Starts data member.
TStrands & SetStrands(void)
Assign a value to Strands data member.
TNumseg GetNumseg(void) const
Get the Numseg member data.
const TStrands & GetStrands(void) const
Get the Strands member data.
TDbxref & SetDbxref(void)
Assign a value to Dbxref data member.
void SetLocation(TLocation &value)
Assign a value to Location data member.
void SetComment(const TComment &value)
Assign a value to Comment data member.
void SetPartial(TPartial value)
Assign a value to Partial data member.
void SetProduct(TProduct &value)
Assign a value to Product data member.
bool IsSetPartial(void) const
incomplete in some way? Check if a value has been assigned to Partial data member.
const TLocation & GetLocation(void) const
Get the Location member data.
void SetData(TData &value)
Assign a value to Data data member.
TPartial GetPartial(void) const
Get the Partial member data.
bool IsSetDbxref(void) const
support for xref to other databases Check if a value has been assigned to Dbxref data member.
bool IsMix(void) const
Check if variant Mix is selected.
void SetAccession(const TAccession &value)
Assign a value to Accession data member.
TFrom GetFrom(void) const
Get the From member data.
list< CRef< CSeq_loc > > Tdata
TLocal & SetLocal(void)
Select the variant.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
TStrand GetStrand(void) const
Get the Strand member data.
TTo GetTo(void) const
Get the To member data.
TGenbank & SetGenbank(void)
Select the variant.
bool IsInt(void) const
Check if variant Int is selected.
const TInt & GetInt(void) const
Get the variant data.
void SetVersion(TVersion value)
Assign a value to Version data member.
void SetLoc(TLoc &value)
Assign a value to Loc data member.
const TSeq & GetSeq(void) const
Get the variant data.
bool IsSetClass(void) const
Check if a value has been assigned to Class data member.
TSet & SetSet(void)
Select the variant.
TClass GetClass(void) const
Get the Class member data.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
const TSet & GetSet(void) const
Get the variant data.
bool IsSeq(void) const
Check if variant Seq is selected.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
bool IsSetSeq_set(void) const
Check if a value has been assigned to Seq_set data member.
bool IsSet(void) const
Check if variant Set is selected.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
void SetClass(TClass value)
Assign a value to Class data member.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
void SetDescr(TDescr &value)
Assign a value to Descr data member.
TSeq & SetSeq(void)
Select the variant.
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
@ eClass_parts
parts for 2 or 3
@ eClass_eco_set
ecological sample study
@ eClass_nuc_prot
nuc acid and coded proteins
@ eClass_gen_prod_set
genomic products, chrom+mRNA+protein
@ eClass_segset
segmented sequence + parts
void SetCompleteness(TCompleteness value)
Assign a value to Completeness data member.
void SetData(TData &value)
Assign a value to Data data member.
list< CRef< CSeqdesc > > Tdata
TId & SetId(void)
Assign a value to Id data member.
bool IsSetSeq_data(void) const
the sequence Check if a value has been assigned to Seq_data data member.
void SetPub(TPub &value)
Assign a value to Pub data member.
const TInst & GetInst(void) const
Get the Inst member data.
TTitle & SetTitle(void)
Select the variant.
TPub & SetPub(void)
Select the variant.
bool IsIupacaa(void) const
Check if variant Iupacaa is selected.
const TIupacna & GetIupacna(void) const
Get the variant data.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
const TId & GetId(void) const
Get the Id member data.
bool IsSetInst(void) const
the sequence data Check if a value has been assigned to Inst data member.
TLength GetLength(void) const
Get the Length member data.
void SetInst(TInst &value)
Assign a value to Inst data member.
TSource & SetSource(void)
Select the variant.
E_Choice
Choice variants.
void SetBiomol(TBiomol value)
Assign a value to Biomol data member.
void SetDescr(TDescr &value)
Assign a value to Descr 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.
bool IsIupacna(void) const
Check if variant Iupacna is selected.
TMolinfo & SetMolinfo(void)
Select the variant.
@ eRepr_seg
segmented sequence
@ eRepr_delta
sequence made by changes (delta) to others
@ eRepr_raw
continuous sequence
@ eCompleteness_complete
complete biological entity
@ eCompleteness_no_left
missing 5' or NH3 end
@ eCompleteness_no_right
missing 3' or COOH end
@ eCompleteness_no_ends
missing both ends
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
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::KEY key
static const GLdouble origin[]
#define EDIT_EACH_SEQFEAT_ON_SEQANNOT(Itr, Var)
#define EDIT_EACH_SEQANNOT_ON_BIOSEQ(Itr, Var)
#define ERASE_DESCRIPTOR_ON_SEQENTRY
#define EDIT_EACH_DESCRIPTOR_ON_SEQENTRY
#define EDIT_EACH_SEQANNOT_ON_SEQSET(Itr, Var)
CRef< CSeq_feat > GetCDSFromGenProdSet(CRef< CSeq_entry > entry)
CRef< CSeq_annot > BuildGoodGraphAnnot(string id)
CRef< CSeq_entry > BuildGoodEcoSet()
CRef< CSeq_feat > AddMiscFeature(CRef< CSeq_entry > entry, size_t right_end)
CRef< CSeq_loc > MakeMixLoc(CRef< CSeq_id > id)
void MakeSeqLong(CBioseq &seq)
CRef< CSeq_feat > GetProtFeatFromGoodNucProtSet(CRef< CSeq_entry > entry)
void RemoveDescriptorType(CRef< CSeq_entry > entry, CSeqdesc::E_Choice desc_choice)
CRef< CSeq_entry > GetGenomicFromGenProdSet(CRef< CSeq_entry > entry)
CRef< CSeq_entry > BuildSegSetPart(string id_str)
CRef< CSeq_entry > BuildGoodDeltaSeq()
void RemoveDeltaSeqGaps(CRef< CSeq_entry > entry)
void SetCompleteness(CRef< CSeq_entry > entry, CMolInfo::TCompleteness completeness)
void SetSpliceForMixLoc(CBioseq &seq)
CRef< CPub > BuildGoodCitSubPub()
CRef< CSeq_feat > AddGoodImpFeat(CRef< CSeq_entry > entry, string key)
void ChangeProtId(CRef< CSeq_entry > np_set, CRef< CSeq_id > id)
void SetLineage(CRef< CSeq_entry > entry, string lineage)
void SetNucProtSetPartials(CRef< CSeq_entry > entry, bool partial5, bool partial3)
void SetSynthetic_construct(CRef< CSeq_entry > entry)
void ResetOrgname(CRef< CSeq_entry > entry)
void AdjustProtFeatForNucProtSet(CRef< CSeq_entry > entry)
void SetDiv(CRef< CSeq_entry > entry, string div)
CRef< CSeq_feat > GetmRNAFromGenProdSet(CRef< CSeq_entry > entry)
CRef< CSeq_feat > BuildGoodFeat()
void ReverseAlignmentStrand(CDense_seg &denseg, size_t pos, size_t seq_len)
CRef< CSeq_entry > BuildGoodSeq()
CRef< CSeq_feat > MakemRNAForCDS(CRef< CSeq_feat > feat)
CRef< CSeq_annot > AddFeat(CRef< CSeq_feat > feat, CRef< CSeq_entry > entry)
void SetBiomol(CRef< CSeq_entry > entry, CMolInfo::TBiomol biomol)
void SetDrosophila_melanogaster(CRef< CSeq_entry > entry)
CRef< CSeq_entry > BuildGoodProtSeq()
CRef< CSeq_feat > MakeCDSForGoodNucProtSet(const string &nuc_id, const string &prot_id)
void ChangeProductId(CRef< CSeq_annot > annot, CRef< CSeq_id > id)
void AddToDeltaSeq(CRef< CSeq_entry > entry, string seq)
CRef< CSeq_id > BuildRefSeqId()
void SetGenome(CRef< CSeq_entry > entry, CBioSource::TGenome genome)
void SetChromosome(CBioSource &src, string chromosome)
void SetOrgMod(CBioSource &src, COrgMod::TSubtype subtype, string val)
CRef< CSeq_feat > MakeMiscFeature(CRef< CSeq_id > id, size_t right_end, size_t left_end)
CRef< CSeq_feat > GetCDSFromGoodNucProtSet(CRef< CSeq_entry > entry)
void ChangeNucProtSetNucId(CRef< CSeq_entry > entry, CRef< CSeq_id > id)
void ChangeId(CRef< CSeq_annot > annot, CRef< CSeq_id > id)
void SetTaxname(CRef< CSeq_entry > entry, string taxname)
CRef< CSeq_feat > BuildGoodtRNA(CRef< CSeq_id > id)
void SetFocus(CRef< CSeq_entry > entry)
CRef< CSeq_feat > MakeGeneForFeature(CRef< CSeq_feat > feat)
void MakeNucProtSet3Partial(CRef< CSeq_entry > entry)
CRef< CSeq_entry > BuildGoodNucProtSet()
void TraverseAndRunTestCases(ITestRunner *pTestRunner, CDir dirWithTestCases, const set< string > &setOfRequiredSuffixes, const set< string > &setOfOptionalSuffixes, const set< string > &setOfIgnoredSuffixes, TTraverseAndRunTestCasesFlags fFlags)
This is for running data-driven test cases below the given top-level test directory.
void SetMGcode(CRef< CSeq_entry > entry, COrgName::TGcode mgcode)
CRef< CSeq_feat > BuildtRNA(CRef< CSeq_id > id)
void SetNucProtSetProductName(CRef< CSeq_entry > entry, string new_name)
void RevComp(CBioseq &bioseq)
CRef< CSeq_entry > BuildGenProdSetNucProtSet(CRef< CSeq_id > nuc_id, CRef< CSeq_id > prot_id)
void SetDbxref(CBioSource &src, string db, CObject_id::TId id)
void ChangeNucId(CRef< CSeq_entry > np_set, CRef< CSeq_id > id)
void SetSebaea_microphylla(CRef< CSeq_entry > entry)
void RemoveDbxref(CBioSource &src, string db, CObject_id::TId id)
void SetTaxon(CBioSource &src, size_t taxon)
void RetranslateCdsForNucProtSet(CRef< CSeq_entry > entry, CScope &scope)
CRef< CSeq_entry > MakeProteinForGoodNucProtSet(string id)
CRef< CSeq_id > IdFromEntry(CRef< CSeq_entry > entry)
void AddFeatAnnotToSeqEntry(CRef< CSeq_annot > annot, CRef< CSeq_entry > entry)
CRef< CSeq_feat > AddProtFeat(CRef< CSeq_entry > entry)
void SetGcode(CRef< CSeq_entry > entry, COrgName::TGcode gcode)
CRef< CAuthor > BuildGoodAuthor()
void ChangeNucProtSetProteinId(CRef< CSeq_entry > entry, CRef< CSeq_id > id)
CRef< CSeq_entry > GetNucleotideSequenceFromGoodNucProtSet(CRef< CSeq_entry > entry)
CRef< CSeq_feat > AddGoodSourceFeature(CRef< CSeq_entry > entry)
void SetProteinPartial(CRef< CSeq_entry > pentry, bool partial5, bool partial3)
CRef< CSeq_align > BuildGoodAlign()
CRef< CSeqdesc > BuildGoodPubSeqdesc()
CRef< CSeq_entry > GetNucProtSetFromGenProdSet(CRef< CSeq_entry > entry)
void SetTech(CRef< CSeq_entry > entry, CMolInfo::TTech tech)
void AddGoodSource(CRef< CSeq_entry > entry)
CRef< CSeq_entry > BuildGoodGenProdSet()
void SetOrigin(CRef< CSeq_entry > entry, CBioSource::TOrigin origin)
CRef< CSeq_entry > GetProteinSequenceFromGoodNucProtSet(CRef< CSeq_entry > entry)
void SetSubSource(CBioSource &src, CSubSource::TSubtype subtype, string val)
void SetCommon(CRef< CSeq_entry > entry, string common)
CRef< CSeq_feat > MakeIntronForMixLoc(CRef< CSeq_id > id)
CRef< CSeq_entry > BuildGoodSegSet()
void SetTransgenic(CBioSource &src, bool do_set)
void AddGoodPub(CRef< CSeq_entry > entry)
void ClearFocus(CRef< CSeq_entry > entry)
void SetPGcode(CRef< CSeq_entry > entry, COrgName::TGcode pgcode)
CRef< CSeq_entry > BuildGoodEcoSetWithAlign(size_t front_insert)
CRef< CPub > BuildGoodCitGenPub(CRef< CAuthor > author, int serial_number)
CRef< CPub > BuildGoodArticlePub()
@ fTraverseAndRunTestCasesFlags_DoNOTIgnoreREADMEFiles
Overrides default behavior (which is to disregard files whose prefix is "README")
int TTraverseAndRunTestCasesFlags
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