139 arg_desc->AddFlag(
"debug_mode",
140 "Debugging mode writes errors seen for each test" );
148 if (args[
"debug_mode"]) {
159 entry->
SetSeq().
SetInst().SetSeq_data().SetIupacna().Set(
"AATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAA");
163 id->SetLocal().SetStr (
"good");
178 if (entry->
IsSeq()) {
180 }
else if (entry->
IsSet()) {
192 if (entry->
IsSeq()) {
196 if ((*it)->IsTitle()) {
197 (*it)->SetTitle(defline);
205 }
else if (entry->
IsSet()) {
217 size_t num_found = 0;
219 if ((*it)->IsSetLabel() && (*it)->GetLabel().IsStr() &&
222 if (!(*it)->IsSetData()) {
223 BOOST_CHECK_EQUAL(
"Data for " + field_name +
"should be set",
"Data not set");
226 if ((*it)->GetData().IsBool()) {
227 BOOST_CHECK_EQUAL((*it)->GetData().GetBool(),
true);
237 size_t num_found = 0;
239 if ((*it)->IsSetLabel() && (*it)->GetLabel().IsStr() &&
242 if (!(*it)->IsSetData()) {
243 BOOST_CHECK_EQUAL(
"Data for " + field_name +
"should be set",
"Data not set");
246 if ((*it)->GetData().IsStr()) {
247 BOOST_CHECK_EQUAL((*it)->GetData().GetStr(),
value);
257 size_t num_found = 0;
259 if ((*it)->IsSetLabel() && (*it)->GetLabel().IsStr() &&
262 if (!(*it)->IsSetData()) {
263 BOOST_CHECK_EQUAL(
"Data for " + field_name +
"should be set",
"Data not set");
266 if ((*it)->GetData().IsInt()) {
267 BOOST_CHECK_EQUAL((*it)->GetData().GetInt(),
value);
278 size_t expected_num_fields = 7;
280 expected_num_fields++;
283 expected_num_fields--;
286 expected_num_fields++;
289 expected_num_fields++;
292 expected_num_fields ++;
295 expected_num_fields++;
298 expected_num_fields++;
301 expected_num_fields++;
304 expected_num_fields++;
307 expected_num_fields++;
310 expected_num_fields++;
313 expected_num_fields++;
316 expected_num_fields++;
319 expected_num_fields++;
322 expected_num_fields++;
325 expected_num_fields++;
329 BOOST_CHECK_EQUAL(user.
GetData().size(), expected_num_fields);
330 BOOST_CHECK_EQUAL(
HasBoolField(user,
"LeaveParenthetical"), 1);
331 BOOST_CHECK_EQUAL(
HasBoolField(user,
"SpecifyNuclearProduct"), 1);
336 BOOST_CHECK_EQUAL(
HasBoolField(user,
"AllowModAtEndOfTaxname"), 1);
339 BOOST_CHECK_EQUAL(
HasBoolField(user,
"DoNotApplyToSp"), 1);
342 BOOST_CHECK_EQUAL(
HasBoolField(user,
"UseFakePromoters"), 1);
345 BOOST_CHECK_EQUAL(
HasBoolField(user,
"KeepIntrons"), 1);
355 BOOST_CHECK_EQUAL(
HasStringField(user,
"HIVRule",
"WantBoth"), 1);
359 BOOST_CHECK_EQUAL(
HasIntField(user,
"MaxMods", -99), 1);
360 if (user.
GetData().size() != expected_num_fields) {
363 if (!(*it)->IsSetLabel() || !(*it)->GetLabel().IsStr()) {
364 BOOST_CHECK_EQUAL(
"Label should be set",
"label not set for " +
NStr::IntToString(field_num));
366 printf(
"%s\n", (*it)->GetLabel().GetStr().c_str());
378 for ( ; seq_iter; ++seq_iter ) {
384 string orig_defline =
"";
392 BOOST_CHECK_EQUAL(orig_defline, new_defline);
397 mod_combo->InitOptions(opts);
402 BOOST_CHECK_EQUAL(orig_defline, new_defline);
415 BOOST_CHECK(user_optsA->
Equals(*user_optsB));
421 string orig_defline =
"";
427 BOOST_CHECK_EQUAL(orig_defline, new_defline);
432 vector<CSubSource::ESubtype> subsrcs,
433 vector<COrgMod::ESubtype> orgmods,
434 bool init_with_descrs =
false)
443 if (init_with_descrs) {
447 sources.emplace_back(&desc_it->GetSource());
459 mod_combo->SetUseModifierLabels(
true);
460 ITERATE(vector<CSubSource::ESubtype>, it, subsrcs) {
461 mod_combo->AddSubsource(*it,
true);
463 ITERATE(vector<COrgMod::ESubtype>, it, orgmods) {
464 mod_combo->AddOrgMod(*it,
true);
474 bool use_best =
false,
477 bool init_with_descrs =
false)
486 if (init_with_descrs) {
490 sources.emplace_back(&desc_it->GetSource());
514 bool use_best =
false,
518 bool init_with_descrs =
true;
531 sources.emplace_back(&desc_it->GetSource());
547 if (init_with_descrs) {
551 sources.emplace_back(&desc_it->GetSource());
577 }
else if (entry->
IsSet()) {
593 if (entry->
IsSeq()) {
602 }
else if (entry->
IsSet()) {
617 id->Assign(*(nuc_entry->
GetSeq().
GetId().front()));
624 annot->
SetData().SetFtable().push_back(feat);
634 pseq->
SetInst().SetSeq_data().SetIupacaa().Set(
"MPRKTEIN");
639 pseq->
SetId().push_back(pid);
643 pseq->
SetDescr().Set().push_back(mpdesc);
649 feat->
SetData().SetProt().SetName().push_back(protein_name);
650 feat->
SetLocation().SetInt().SetId().SetLocal().SetStr(
id);
663 cds->
SetProduct().SetWhole().SetLocal().SetStr(prot_id);
664 cds->
SetLocation().SetInt().SetId().SetLocal().SetStr(nuc_id);
674 gene->
SetData().SetGene().SetLocus(locus);
675 if (!allele.empty()) {
676 gene->
SetData().SetGene().SetAllele(allele);
678 gene->
SetLocation().SetInt().SetId().SetLocal().SetStr(nuc_id);
694 nseq->
SetInst().SetSeq_data().SetIupacna().Set(
"ATGCCCAGAAAAACAGAGATAAACTAAGGGATGCCCAGAAAAACAGAGATAAACTAAGGG");
698 id->SetLocal().SetStr (
"nuc");
699 nseq->
SetId().push_back(
id);
703 nseq->
SetDescr().Set().push_back(mdesc);
708 if (!locus.empty()) {
713 set->SetSeq_set().push_back(nentry);
718 set->SetSeq_set().push_back(pentry);
738 AddTitle(entry,
"Homo sapiens sequence.");
752 AddTitle(entry,
"Alcanivorax sp. HA03 plasmid sequence.");
765 AddTitle(entry,
"Alcanivorax sp. HA03 plasmid chlorocatechol 1,2-dioxygenase gene, complete cds.");
778 feat->
SetData().SetImp().SetKey(
"repeat_region");
780 feat->
SetQual().push_back(qual);
783 AddTitle(entry,
"Clathrina aurea microsatellite sequence.");
798 feat->
SetData().SetImp().SetKey(
"misc_feature");
799 feat->
SetComment(
"contains 5S ribosomal RNA and nontranscribed spacer");
802 AddTitle(entry,
"Clathrina aurea 5S ribosomal RNA gene region.");
813 feat->
SetData().SetImp().SetKey(
"misc_feature");
814 feat->
SetComment(
"contains DNA lyase (Apn2) gene, Apn2-Mat1 intergenic spacer, and mating type protein (Mat1) gene");
819 AddTitle(entry,
"Clathrina aurea DNA lyase (Apn2) gene, partial sequence; Apn2-Mat1 intergenic spacer, complete sequence; and mating type protein (Mat1) gene, partial sequence.");
830 feat->
SetData().SetImp().SetKey(
"misc_feature");
831 feat->
SetComment(
"amplified with primers designed for 16S ribosomal RNA");
834 AddTitle(entry,
"Clathrina aurea sequence.");
849 string defline =
"Pinus cembra AcesapD07 fake protein name gene, complete cds.";
859 defline =
"Pinus cembra AcesapD12 fake protein name gene, complete cds.";
869 defline =
"Pinus cembra AcesapD33 fake protein name gene, complete cds.";
875 set->SetSet().SetSeq_set().push_back(seq1);
876 set->SetSet().SetSeq_set().push_back(seq2);
877 set->SetSet().SetSeq_set().push_back(seq3);
878 defline =
"Pinus cembra fake protein name gene, complete cds.";
891 string defline =
"Bembidion mendocinum fake protein name gene, complete cds.";
900 defline =
"Bembidion orregoi fake protein name gene, complete cds.";
905 set->SetSet().SetSeq_set().push_back(seq1);
906 set->SetSet().SetSeq_set().push_back(seq2);
907 defline =
"Chilioperyphus fake protein name gene, complete cds.";
920 feat1->
SetData().SetRna().SetExt().SetName(
"5.8S ribosomal RNA");
926 feat2->
SetData().SetRna().SetExt().SetName(
"internal transcribed spacer 2");
933 feat3->
SetData().SetRna().SetExt().SetName(
"28S ribosomal RNA");
939 AddTitle(entry,
"Fusarium incarnatum 5.8S ribosomal RNA gene, partial sequence; internal transcribed spacer 2, complete sequence; and 28S ribosomal RNA gene, partial sequence.");
954 string defline =
"Influenza A virus (A/USA/RVD1_H1/2011(H1N1)) hemagglutinin (HA) gene, complete cds.";
959 gene->
SetData().SetGene().SetLocus(
"HA");
975 ncrna->
SetData().SetRna().SetExt().SetGen().SetProduct(
"RmaA");
976 ncrna->
SetData().SetRna().SetExt().SetGen().SetClass(
"antisense_RNA");
978 string defline =
"Erwinia amylovora RmaA antisense RNA, complete sequence.";
1016 exon->
SetQual().push_back(qual);
1029 string defline =
"Sebaea microphylla fake protein name gene, exon 1 and partial cds.";
1035 defline =
"Sebaea microphylla fake protein name gene, exons 1 and 2 and partial cds.";
1041 defline =
"Sebaea microphylla fake protein name gene, exons 1 through 3 and partial cds.";
1053 misc->
SetComment(
"contains internal transcribed spacer 1, 5.8S ribosomal RNA, and internal transcribed spacer 2");
1054 AddTitle(seq,
"Sebaea microphylla internal transcribed spacer 1, 5.8S ribosomal RNA gene, and internal transcribed spacer 2, complete sequence.");
1061 AddTitle(seq,
"Sebaea microphylla internal transcribed spacer 1, partial sequence; 5.8S ribosomal RNA gene, complete sequence; and internal transcribed spacer 2, partial sequence.");
1065 misc->
SetComment(
"contains 18S ribosomal RNA, internal transcribed spacer 1, 5.8S ribosomal RNA, and internal transcribed spacer 2");
1066 AddTitle(seq,
"Sebaea microphylla 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1 and 5.8S ribosomal RNA gene, complete sequence; and internal transcribed spacer 2, partial sequence.");
1077 AddTitle(seq,
"Sebaea microphylla D-loop, complete sequence.");
1089 AddTitle(seq,
"Uncultured archaeon D-loop, complete sequence.");
1101 rna->ResetComment();
1102 AddTitle(seq,
"Cypripedium japonicum gene, complete sequence.");
1113 gene->
SetData().SetGene().SetLocus(
"fr9A");
1114 AddTitle(seq,
"Burkholderia sp. FERM BP-3421 fr9A gene, complete sequence.");
1119 gene_cluster->
SetComment(
"spliceostatin/FR901464 biosynthetic gene cluster");
1121 AddTitle(seq,
"Burkholderia sp. FERM BP-3421 spliceostatin/FR901464 biosynthetic gene cluster, complete sequence.");
1133 gene->
SetData().SetGene().SetLocus(
"matK");
1137 prot->SetData().SetProt().SetName().front() =
"maturase K";
1140 intron->
SetLocation().SetInt().SetTo(
nuc->GetSeq().GetLength() - 1);
1145 gene2->
SetData().SetGene().SetLocus(
"trnK");
1146 gene2->
SetData().SetGene().SetDesc(
"tRNA-Lys");
1149 AddTitle(
nuc,
"Sebaea microphylla tRNA-Lys (trnK) gene, partial sequence; and maturase K (matK) gene, complete cds.");
1162 gene1->
SetData().SetGene().SetLocus(
"M1");
1165 cds2->
SetData().SetCdregion();
1168 cds2->
SetLocation().SetInt().SetTo(
nuc->GetSeq().GetInst().GetLength() - 1);
1170 gene2->
SetData().SetGene().SetLocus(
"M2");
1176 pentry->
SetSeq().
SetInst().SetSeq_data().SetIupacaa().Set(
"MPRKTEIN");
1183 cds2->
SetProduct().SetWhole().SetLocal().SetStr(
"prot2");
1185 AddTitle(
nuc,
"Sebaea microphylla M2 and fake protein name (M1) genes, complete cds.");
1198 gene1->
SetData().SetGene().SetLocus(
"M1");
1202 integron->
SetData().SetImp().SetKey(
"mobile_element");
1204 q->
SetQual(
"mobile_element_type");
1205 q->
SetVal(
"integron:class I");
1206 integron->
SetQual().push_back(q);
1208 integron->
SetLocation().SetInt().SetTo(
nuc->GetSeq().GetLength() - 1);
1210 AddTitle(
nuc,
"Sebaea microphylla class I integron fake protein name (M1) gene, complete cds.");
1222 gene1->
SetData().SetGene().SetLocus(
"gltB");
1223 gene1->
SetData().SetGene().SetAllele(
"16");
1226 AddTitle(
nuc,
"Sebaea microphylla fake protein name (gltB) gene, gltB-16 allele, complete cds.");
1236 misc->
SetComment(
"contains tRNA-Pro and control region");
1239 AddTitle(seq,
"Sebaea microphylla tRNA-Pro gene and control region, partial sequence.");
1250 promoter->
SetData().SetImp().SetKey(
"regulatory");
1252 q->
SetQual(
"regulatory_class");
1254 promoter->
SetQual().push_back(q);
1255 AddTitle(seq,
"Sebaea microphylla promoter region.");
1260 gene->
SetData().SetGene().SetLocus(
"chs");
1263 AddTitle(seq,
"Sebaea microphylla chs gene, promoter region.");
1275 misc1->
SetComment(
"contains 18S ribosomal RNA and internal transcribed spacer 1");
1282 rna->SetData().SetRna().SetExt().SetName(
"5.8S ribosomal RNA");
1283 rna->SetLocation().SetInt().SetFrom(16);
1284 rna->SetLocation().SetInt().SetTo(19);
1288 misc2->
SetComment(
"contains internal transcribed spacer 2 and 28S ribosomal RNA");
1293 AddTitle(seq,
"Sebaea microphylla 18S ribosomal RNA gene, partial \
1294 sequence; internal transcribed spacer 1, 5.8S ribosomal RNA gene, and \
1295 internal transcribed spacer 2, complete sequence; and 28S ribosomal RNA \
1296 gene, partial sequence.");
1306 misc1->
SetComment(
"contains tRNA-Thr, tRNA-Pro, and control region");
1312 AddTitle(seq,
"Sebaea microphylla tRNA-Thr gene, partial sequence; \
1313 tRNA-Pro gene, complete sequence; and control region, partial sequence.");
1324 misc1->
SetComment(
"nonfunctional xyz due to argle");
1331 AddTitle(seq,
"Sebaea microphylla nonfunctional xyz gene, partial sequence.");
1335 AddTitle(seq,
"Sebaea microphylla nonfunctional xyz gene, partial sequence.");
1339 AddTitle(seq,
"Sebaea microphylla nonfunctional xyz due to argle genomic sequence.");
1345 AddTitle(seq,
"Sebaea microphylla xyz-like gene, partial sequence.");
1354 prot->SetSeq().SetAnnot().front()->SetData().SetFtable().front()->SetData().SetProt().SetName().front() = name;
1362 new_prot->
Assign(*prev_prot);
1376 new_cds->
Assign(*prev_cds);
1377 new_cds->
SetProduct().SetWhole().Assign(*new_id);
1380 np->
SetSet().
SetAnnot().front()->SetData().SetFtable().push_back(new_cds);
1403 AddTitle(
nuc,
"Sebaea microphylla RNA-dependent RNA polymerase gene, partial cds; and Coat protein and Movement protein genes, complete cds.");
1412 cds3->
SetLocation().SetMix().Set().back()->SetInt().SetTo(old_end + 2);
1414 AddTitle(
nuc,
"Sebaea microphylla protein gene, complete cds, alternatively spliced; and RNA-dependent RNA polymerase gene, partial cds.");
1441 cds3->
SetLocation().SetMix().Set().back()->SetInt().SetTo(old_end + 2);
1445 AddTitle(
nuc,
"Sebaea microphylla Movement protein and Coat protein genes, complete cds; and RNA-dependent RNA polymerase gene, partial cds.");
1457 misc1->
SetData().SetRna().SetExt().SetName(
"28S ribosomal RNA");
1463 AddTitle(seq,
"Sebaea microphylla isolate JU6 clone 1 28S ribosomal RNA gene, partial sequence.");
1465 vector<CSubSource::ESubtype> subsrcs;
1466 vector<COrgMod::ESubtype> orgmods;
1481 misc1->
SetData().SetImp().SetKey(
"regulatory");
1483 q->
SetQual(
"regulatory_class");
1485 misc1->
SetQual().push_back(q);
1487 AddTitle(
nuc,
"Sebaea microphylla fake protein name gene, promoter region and complete cds.");
1536 AddTitle(
nuc,
"Sebaea microphylla culture ATCC:12345 fake protein name gene, complete cds.");
1538 vector<CSubSource::ESubtype> subsrcs;
1539 vector<COrgMod::ESubtype> orgmods;
1554 intron->
SetData().SetImp().SetKey(
"intron");
1561 gene->
SetData().SetGene().SetLocus(
"GAPDH");
1567 AddTitle(
nuc,
"Sebaea microphylla fake protein name (GAPDH) gene, intron 2 and partial cds.");
1618 gene->
SetData().SetGene().SetLocus(
"G");
1622 AddTitle(
nuc,
"Sebaea microphylla fake protein name (G) gene, partial cds; and G-L intergenic spacer, partial sequence.");
1639 misc1->
SetComment(
"atpB-rbcL intergenic spacer region");
1641 AddTitle(seq,
"Sebaea microphylla atpB-rbcL intergenic spacer region, complete sequence.");
1653 AddTitle(seq,
"Trichoderma sp. FPZSP372 sequence.");
1655 vector<CSubSource::ESubtype> subsrcs;
1656 vector<COrgMod::ESubtype> orgmods;
1663 AddTitle(seq,
"Trichoderma sp. FPZSP372 isolate FPZSP37 sequence.");
1679 mod_combo->SetUseModifierLabels(
true);
1680 mod_combo->SetAllowModAtEndOfTaxname(
true);
1681 mod_combo->SetExcludeSpOrgs(
false);
1682 ITERATE(vector<CSubSource::ESubtype>, it, subsrcs) {
1683 mod_combo->AddSubsource(*it,
true);
1685 ITERATE(vector<COrgMod::ESubtype>, it, orgmods) {
1686 mod_combo->AddOrgMod(*it,
true);
1702 mod_combo->SetUseModifierLabels(
true);
1703 mod_combo->SetAllowModAtEndOfTaxname(
true);
1704 mod_combo->SetExcludeSpOrgs(
false);
1705 ITERATE(vector<CSubSource::ESubtype>, it, subsrcs) {
1706 mod_combo->AddSubsource(*it,
true);
1708 ITERATE(vector<COrgMod::ESubtype>, it, orgmods) {
1709 mod_combo->AddOrgMod(*it,
true);
1742 AddTitle(
nuc,
"Alcanivorax sp. HA03 uORF gene, complete cds.");
1749 misc->
SetData().SetImp().SetKey(
"repeat_region");
1752 AddTitle(
nuc,
"Alcanivorax sp. HA03 satellite x sequence.");
1776 AddTitle(
nuc,
"Alcanivorax sp. HA03 uORF gene, complete cds; and satellite x sequence.");
1806 mob_el->
SetData().SetImp().SetKey(
"mobile_element");
1808 mob_el->
SetQual().push_back(met);
1809 AddTitle(entry,
"Sebaea microphylla SINE x, complete sequence.");
1816 misc->
SetData().SetImp().SetKey(
"repeat_region");
1823 AddTitle(entry,
"Sebaea microphylla satellite y sequence.");
1848 AddTitle(entry,
"Sebaea microphylla satellite y sequence; and SINE x, complete sequence.");
1852 met->
SetVal(
"transposon:z");
1854 AddTitle(entry,
"Sebaea microphylla satellite y sequence; and transposon z, complete sequence.");
1872 AddTitle(entry,
"Sebaea microphylla satellite y sequence; and SINE x, complete sequence.");
1880 met->
SetVal(
"transposon:z");
1882 AddTitle(entry,
"Sebaea microphylla satellite y sequence; and transposon z, complete sequence.");
1894 gene->
SetData().SetGene().SetLocus_tag(
"CBU_0065");
1899 AddTitle(
nuc,
"Coxiella burnetii rhodanese-related sulfurtransferase (CBU_0065) gene, partial cds.");
1911 gene->
SetData().SetGene().SetLocus_tag(
"CBU_0067");
1920 pentry->
SetSeq().
SetAnnot().front()->SetData().SetFtable().front()->SetData().SetProt().SetName().front() =
"hypothetical protein";
1922 gene2->
SetData().SetGene().SetLocus_tag(
"CBU_0068");
1926 AddTitle(
nuc,
"Coxiella burnetii hypothetical protein (CBU_0067) and hypothetical protein (CBU_0068) genes, complete cds.");
1949 AddTitle(
nuc,
"Coxiella burnetii hypothetical protein genes, complete cds.");
1983 pentry->
SetSeq().
SetAnnot().front()->SetData().SetFtable().front()->SetData().SetProt().SetName().front() =
"hypothetical protein";
1985 AddTitle(
nuc,
"Coxiella burnetii hypothetical protein genes, complete cds.");
1995 pentry2->
SetSeq().
SetAnnot().front()->SetData().SetFtable().front()->SetData().SetProt().SetName().front() =
"fake protein";
1997 AddTitle(
nuc,
"Coxiella burnetii hypothetical protein, fake protein, and hypothetical protein genes, complete cds.");
2016 exon->
SetData().SetImp().SetKey(
"exon");
2020 exon->
SetQual().push_back(exon_number);
2023 intron->
SetData().SetImp().SetKey(
"intron");
2025 intron->
SetLocation().SetInt().SetTo(
nuc->GetSeq().GetLength() - 1);
2027 intron->
SetQual().push_back(intron_number);
2031 gene->
SetData().SetGene().SetLocus(
"BRM");
2032 gene->
SetLocation().SetInt().SetTo(
nuc->GetSeq().GetLength() - 1);
2034 AddTitle(
nuc,
"Anas castanea isolate DPIWECT127 brahma protein (BRM) gene, exon 15, intron 15, and partial cds.");
2049 mod_combo->SetUseModifierLabels(
true);
2063 mod_combo->SetUseModifierLabels(
true);
2106 miscrna->
SetData().SetRna().SetRnaProductName(
"trans-spliced leader sequence SL", remainder);
2108 AddTitle(entry,
"Sebaea microphylla trans-spliced leader sequence SL gene, complete sequence.");
2121 BOOST_CHECK_EQUAL(
HasStringField(*user,
"Targeted Locus Name",
"consensus string"), 1);
2137 misc->
SetComment(
"contains tRNA-Pro gene, control region, tRNA-Phe gene, and 12S ribosomal RNA gene");
2140 AddTitle(entry,
"Sebaea microphylla tRNA-Pro gene, partial sequence; control region and tRNA-Phe gene, complete sequence; and 12S ribosomal RNA gene, partial sequence; mitochondrial.");
2152 misc->
SetComment(
"contains 12S ribosomal RNA gene, tRNA-Val (trnV) gene, and 16S ribosomal RNA gene");
2155 AddTitle(entry,
"Sebaea microphylla 12S ribosomal RNA gene, partial sequence; tRNA-Val (trnV) gene, complete sequence; and 16S ribosomal RNA gene, partial sequence; mitochondrial.");
2168 prot1->
SetData().SetProt().SetName().front() =
"hypothetical protein";
2170 cds2->
SetData().SetCdregion();
2173 cds2->
SetLocation().SetInt().SetTo(
nuc->GetSeq().GetInst().GetLength() - 1);
2178 pentry->
SetSeq().
SetInst().SetSeq_data().SetIupacaa().Set(
"MPRKTEIN");
2185 cds2->
SetProduct().SetWhole().SetLocal().SetStr(
"prot2");
2187 prot2->
SetData().SetProt().SetName().front() =
"hypothetical protein";
2189 AddTitle(
nuc,
"Sebaea microphylla hypothetical protein genes, complete cds.");
2196 void MakeRegulatoryFeatureTest(
const string& regulatory_class,
const string& defline_interval,
bool use_fake_promoters,
bool keep_regulatory)
2202 feat->
SetData().SetImp().SetKey(
"regulatory");
2206 AddTitle(
nuc,
"Sebaea microphylla fake protein name gene, " + defline_interval);
2217 if (use_fake_promoters) {
2220 if (keep_regulatory) {
2233 if (use_fake_promoters) {
2236 if (keep_regulatory) {
2284 BOOST_CHECK_EQUAL(
HasStringField(*user,
"NuclearCopyFlag",
"mitochondrion"), 1);
2294 misc->
SetData().SetImp().SetKey(
"repeat_region");
2297 AddTitle(entry,
"Sebaea microphylla LTR repeat region.");
2308 AddTitle(entry,
"Sebaea microphylla minicircle b sequence.");
2311 AddTitle(entry,
"Sebaea microphylla a minicircle b sequence.");
2313 vector<CSubSource::ESubtype> subsrcs;
2315 vector<COrgMod::ESubtype> orgmods;
2361 m->
SetData().SetImp().SetKey(
"misc_recomb");
2362 m->
SetComment(
"GCC2-ALK translocation breakpoint junction; microhomology");
2365 AddTitle(entry,
"Sebaea microphylla sequence.");
2370 TestForRecomb(entry,
"Sebaea microphylla GCC2-ALK translocation breakpoint junction genomic sequence.");
2374 TestForRecomb(entry,
"Sebaea microphylla mitotic_recombination genomic sequence.");
2382 AddTitle(entry,
"Sebaea microphylla special flower.");
2417 m->
SetComment(
"contains 16S-23S ribosomal RNA intergenic spacer, tRNA-Ile(trnI), and tRNA-Ala(trnA)");
2418 AddTitle(entry,
"Sebaea microphylla 16S-23S ribosomal RNA intergenic spacer, tRNA-Ile (trnI) and tRNA-Ala (trnA) genes, complete sequence.");
2468 string defline =
"Sebaea microphylla gene locus gene, complete sequence.";
2484 mod_combo->SetUseModifierLabels(
true);
2486 defline =
"Sebaea microphylla gene locus gene, 5' UTR and 3' UTR.";
2500 mod_combo->SetUseModifierLabels(
true);
2517 string defline =
"Sebaea microphylla fake protein name gene, partial cds.";
2528 defline =
"Sebaea microphylla fake protein name gene, exon 1 and partial cds.";
2535 defline =
"Sebaea microphylla fake protein name gene, complete cds.";
2548 prot->SetData().SetProt().SetName().front() =
"LIA2 macronuclear isoform";
2550 string defline =
"Sebaea microphylla LIA2 macronuclear isoform gene, complete cds.";
2556 prot->SetData().SetProt().SetName().front() =
"LIA2 apicoplast protein";
2557 defline =
"Sebaea microphylla LIA2 apicoplast protein gene, complete cds; nuclear gene for apicoplast product.";
2570 string defline =
"Influenza A virus (A/USA/RVD1_H1/2011(H1N1)) segment 4 hemagglutinin (HA) gene, complete cds.";
2575 gene->
SetData().SetGene().SetLocus(
"HA");
2587 vector<string> notes = {
"a",
"b",
"c" };
2588 vector<string>::iterator nit = notes.begin();
2590 AddTitle(*it,
"Sebaea microphylla sequence.");
2595 AddTitle(entry,
"Sebaea microphylla sequence.");
2612 nit = notes.begin();
2632 vector<string> notes = {
"a",
"b",
"c" };
2633 vector<string>::iterator nit = notes.begin();
2635 AddTitle(*it,
"Sebaea microphylla sequence.");
2640 AddTitle(entry,
"Sebaea microphylla sequence.");
2652 nit = notes.begin();
2673 f->SetLabel().SetStr(
label);
2674 f->SetData().SetStr(
val);
2683 obj->
SetType().SetStr(
"StructuredComment");
2684 obj->
SetData().push_back(
MkField(
"StructuredCommentPrefix",
"##HumanSTR-START##"));
2687 obj->
SetData().push_back(
MkField(
"Bracketed repeat",
"[AATG]7"));
2693 var->
SetData().SetImp().SetKey(
"variation");
2695 dbtag->
SetDb(
"dbSNP");
2696 dbtag->
SetTag().SetStr(
"rs115644759");
2699 string defline =
"Sebaea microphylla microsatellite TPOX 7 [AATG]7 rs115644759 sequence.";
2713 intron->
SetData().SetImp().SetKey(
"intron");
2716 string defline =
"Sebaea microphylla intron.";
2735 gene->
SetData().SetGene().SetDesc(
"cullin 1");
2740 string defline =
"Sebaea microphylla cullin 1 pseudogene, partial sequence.";
2748 void CheckInfluenzaDefline(
const string& taxname,
const string& strain,
const string& serotype,
const string& clone,
const string& segment,
const string& defline)
2783 CheckInfluenzaDefline(
"Influenza A virus",
"x",
"y",
"c",
"",
"Influenza A virus (x(y)) clone c sequence.");
2784 CheckInfluenzaDefline(
"Influenza B virus",
"x",
"y",
"c",
"",
"Influenza B virus (x) clone c sequence.");
2785 CheckInfluenzaDefline(
"Influenza A virus",
"x",
"y",
"",
"1",
"Influenza A virus (x(y)) segment 1 sequence.");
2786 CheckInfluenzaDefline(
"Influenza B virus",
"x",
"y",
"",
"1",
"Influenza B virus (x) segment 1 sequence.");
2787 CheckInfluenzaDefline(
"Influenza A virus",
"x",
"y",
"c",
"1",
"Influenza A virus (x(y)) clone c segment 1 sequence.");
2788 CheckInfluenzaDefline(
"Influenza B virus",
"x",
"y",
"c",
"1",
"Influenza B virus (x) clone c segment 1 sequence.");
2790 CheckInfluenzaDefline(
"Influenza A virus (x(y))",
"x",
"y",
"c",
"1",
"Influenza A virus (x(y)) clone c segment 1 sequence.");
2791 CheckInfluenzaDefline(
"Influenza C virus (x)",
"x",
"y",
"c",
"1",
"Influenza C virus (x) clone c segment 1 sequence.");
2802 prot->SetData().SetProt().SetName().front() =
"maturase K";
2806 gene1->
SetData().SetGene().SetLocus(
"matK");
2814 gene2->
SetData().SetGene().SetLocus(
"trnK");
2815 gene2->
SetData().SetGene().SetDesc(
"tRNA-Lys");
2819 intron->
SetData().SetImp().SetKey(
"intron");
2824 AddTitle(entry,
"Amomum chryseum tRNA-Lys (trnK) gene, intron; and maturase K (matK) gene, complete cds; chloroplast.");
2869 feat1->
SetData().SetRna().SetExt().SetName(
"internal transcribed spacer region");
2876 AddTitle(entry,
"Fusarium incarnatum internal transcribed spacer region, partial sequence.");
2887 feat1->
SetComment(
"similar to beta-tubulin");
2889 AddTitle(entry,
"Fusarium incarnatum beta-tubulin-like gene, complete sequence.");
2897 rrna1->
SetData().SetRna().SetExt().SetName(
"foo");
2898 AddTitle(entry,
"Fusarium incarnatum foo gene, complete sequence.");
2909 p->
SetData().SetProt().SetName().clear();
2910 p->
SetData().SetProt().SetName().push_back(
"RdRp");
2919 if (cds_is_partial) {
2924 gene->
SetData().SetGene().SetLocus(
"ORF1");
2928 pfeat->
SetData().SetProt().SetName().clear();
2929 pfeat->
SetData().SetProt().SetName().push_back(
"nonstructural polyprotein");
2932 if (has_sig_peptide) {
2936 if (cds_is_partial) {
2937 if (has_sig_peptide) {
2938 AddTitle(
nuc,
"Sebaea microphylla nonstructural polyprotein (ORF1) gene, partial cds.");
2940 AddTitle(
nuc,
"Sebaea microphylla nonstructural polyprotein, RdRp region, (ORF1) gene, partial cds.");
2943 AddTitle(
nuc,
"Sebaea microphylla nonstructural polyprotein (ORF1) gene, complete cds.");
2963 feat1->
SetComment(
"contains promoter and 5' UTR");
2965 AddTitle(entry,
"Sebaea microphylla promoter region and 5' UTR, genomic sequence.");
2976 promoter->
SetData().SetImp().SetKey(
"regulatory");
2980 rbs->
SetData().SetImp().SetKey(
"regulatory");
2985 gene->
SetData().SetGene().SetLocus(
"msa");
2986 gene->
SetData().SetGene().SetDesc(
"mannose-specific adhesin");
3033 CheckRegulatoryFeatures(
"Sebaea microphylla mannose-specific adhesin (msa) gene, promoter region.",
false,
false);
3034 CheckRegulatoryFeatures(
"Sebaea microphylla mannose-specific adhesin (msa) gene, promoter region.",
true,
false);
3035 CheckRegulatoryFeatures(
"Sebaea microphylla mannose-specific adhesin (msa) gene, promoter region and ribosome_binding_site.",
true,
true);
3046 AddTitle(entry,
"Influenza A virus (A/Florida/57/2019) segment 5 sequence.");
3060 pfeat->
SetData().SetProt().SetName().front() =
"proannomuricatin G";
3062 mrna->
SetData().SetRna().SetExt().SetName(
"proannomuricatin G");
3065 gene->
SetData().SetGene().SetLocus(
"PamG");
3069 AddTitle(
nuc,
"Sebaea microphylla proannomuricatin G (PamG) gene, partial cds.");
3079 mat_peptide->
SetData().SetProt().SetName().push_back(
"annomuricatin G");
3086 AddTitle(entry,
"Sebaea microphylla proannomuricatin G, annomuricatin G region, (PamG) gene, partial cds.");
3094 reg->
SetData().SetImp().SetKey(
"regulatory");
3106 reg->
SetData().SetImp().SetKey(
"repeat_region");
3123 if (init_with_descrs) {
3127 sources.emplace_back(&desc_it->GetSource());
3150 AddTitle(entry,
"Sebaea microphylla LTR repeat region.");
3170 AddTitle(entry,
"Sebaea microphylla, complete sequence.");
3174 AddTitle(entry,
"Sebaea microphylla, complete genome.");
3178 AddTitle(entry,
"Sebaea microphylla, partial sequence.");
3182 AddTitle(entry,
"Sebaea microphylla, partial genome.");
3186 AddTitle(entry,
"Sebaea microphylla, whole genome shotgun sequence.");
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.
static string GetOrgModLabel(COrgMod::ESubtype st)
static bool IsUsableInDefline(CSubSource::ESubtype subtype)
static bool IsModifierInString(const string &find_this, const string &find_in, bool ignore_at_end)
void InitOptions(CAutoDefOptions &options) const
bool GetKeepuORFs() const
void SetNuclearCopyFlag(CBioSource::EGenome val)
bool GetKeepRegulatoryFeatures() const
string GetTargetedLocusName() const
bool GetKeepExons() const
@ eWholeGenomeShotgunSequence
CRef< CUser_object > MakeUserObject() const
bool GetDoNotApplyToSp() const
void InitFromUserObject(const CUser_object &obj)
bool AreAnyFeaturesSuppressed() const
const TOrgMods & GetOrgMods() const
bool GetKeepIntrons() const
string GetCustomFeatureClause() const
TFeatureListType GetFeatureListType() const
bool GetKeep3UTRs() const
TMiscFeatRule GetMiscFeatRule() const
bool GetKeep5UTRs() const
bool GetAllowModAtEndOfTaxname() const
void SetUseLabels(bool val=true)
bool GetKeepRepeatRegion() const
bool GetKeepMiscRecomb() const
void SetTargetedLocusName(const string &tls)
bool GetUseFakePromoters() const
bool GetKeepMobileElements() const
const TSubSources & GetSubSources() const
bool GetUseLabels() const
string GetDocsumDefLine(CSeq_entry_Handle se)
void SetKeepIntrons(bool keep)
void SetUseFakePromoters(bool use_fake)
vector< CConstRef< objects::CBioSource > > TSources
void SetKeep5UTRs(bool keep)
void SetKeepExons(bool keep)
void SetKeepOptionalMobileElements(bool keep)
void SetKeepRegulatoryFeatures(bool keep)
void SetKeepMiscRecomb(bool keep)
void SetOptionsObject(const CUser_object &user)
void SetCustomFeatureClause(const string &custom_feature_clause)
void SetKeepRepeatRegion(bool keep)
void AddDescriptors(const TSources &sources)
void AddSources(CSeq_entry_Handle se)
CRef< CUser_object > GetOptionsObject() const
void SetKeep3UTRs(bool keep)
void SetOptions(const CAutoDefModifierCombo &mod_combo)
void SetFeatureListType(CAutoDefOptions::EFeatureListType feature_list_type)
string GetOneDefLine(CAutoDefModifierCombo *mod_combo, const CBioseq_Handle &bh, CRef< feature::CFeatTree > featTree=null)
CRef< CAutoDefModifierCombo > FindBestModifierCombo()
void SetKeepuORFs(bool keep)
void SetMiscFeatRule(CAutoDefOptions::EMiscFeatRule misc_feat_rule)
void SuppressFeature(const objects::CFeatListItem &feat)
bool NeedsDocsumTitle() const
TSeqPos GetLength(void) const
@Gb_qual.hpp User-defined methods of the data storage class.
static CNcbiApplication * Instance(void)
Singleton method.
@ eSubtype_mat_peptide_aa
namespace ncbi::objects::
@ eObjectType_AutodefOptions
EObjectType GetObjectType() const
unsigned int TSeqPos
Type for sequence locations and lengths.
virtual const CArgs & GetArgs(void) const
Get parsed command line arguments.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CSeq_entry_Handle AddTopLevelSeqEntry(CSeq_entry &top_entry, TPriority pri=kPriority_Default, EExist action=eExist_Default)
Add seq_entry, default priority is higher than for defaults or loaders Add object to the score with p...
void RemoveTopLevelSeqEntry(const CTSE_Handle &entry)
Revoke TSE previously added using AddTopLevelSeqEntry() or AddBioseq().
CConstRef< CBioseq_set > GetCompleteBioseq_set(void) const
Return the complete bioseq-set object.
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
#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 int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
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 EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static const char label[]
void SetGenome(TGenome value)
Assign a value to Genome data member.
void SetOrg(TOrg &value)
Assign a value to Org data member.
TSubtype & SetSubtype(void)
Assign a value to Subtype data member.
@ eSubtype_collected_by
name of person who collected the sample
void SetTag(TTag &value)
Assign a value to Tag data member.
TData & SetData(void)
Assign a value to Data data member.
const TStr & GetStr(void) const
Get the variant data.
TStr & SetStr(void)
Select the variant.
const TData & GetData(void) const
Get the Data member data.
void SetType(TType &value)
Assign a value to Type data member.
void SetDb(const TDb &value)
Assign a value to Db data member.
vector< CRef< CUser_field > > TData
@ eSubtype_other
ASN5: old-name (254) will be added to next spec.
@ eSubtype_culture_collection
EProcessed
processing status
@ eProcessed_signal_peptide
@ eType_ncRNA
non-coding RNA; subsumes snRNA, scRNA, snoRNA
TXref & SetXref(void)
Assign a value to Xref data member.
void SetQual(const TQual &value)
Assign a value to Qual data member.
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.
const TLocation & GetLocation(void) const
Get the Location member data.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
void ResetComment(void)
Reset Comment data member.
void SetVal(const TVal &value)
Assign a value to Val data member.
TQual & SetQual(void)
Assign a value to Qual data member.
bool IsSetLocation(void) const
feature made from Check if a value has been assigned to Location data member.
E_Choice Which(void) const
Which variant is currently selected.
const Tdata & Get(void) const
Get the member data.
TLocal & SetLocal(void)
Select the variant.
const TLocal & GetLocal(void) const
Get the variant data.
TTo GetTo(void) const
Get the To member data.
const TInt & GetInt(void) const
Get the variant data.
const TMix & GetMix(void) const
Get the variant data.
@ e_not_set
No variant selected.
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 IsSet(void) const
Check if variant Set is selected.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
void ResetDescr(void)
Reset Descr data member.
void SetDescr(TDescr &value)
Assign a value to Descr data member.
list< CRef< CSeq_entry > > TSeq_set
TSeq & SetSeq(void)
Select the variant.
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
@ eClass_pop_set
population study
@ eClass_nuc_prot
nuc acid and coded proteins
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.
TTitle & SetTitle(void)
Select the variant.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
const TTitle & GetTitle(void) const
Get the variant data.
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.
void SetInst(TInst &value)
Assign a value to Inst data member.
TSource & SetSource(void)
Select the variant.
bool IsSetDescr(void) const
descriptors Check if a value has been assigned to Descr data member.
void SetBiomol(TBiomol value)
Assign a value to Biomol data member.
void SetDescr(TDescr &value)
Assign a value to Descr data member.
TUser & SetUser(void)
Select the variant.
TMolinfo & SetMolinfo(void)
Select the variant.
@ eRepr_raw
continuous sequence
@ eBiomol_cRNA
viral RNA genome copy intermediate
@ eBiomol_transcribed_RNA
transcribed RNA other than existing classes
@ e_Title
a title for this sequence
@ e_Source
source of materials, includes Org-ref
@ eMol_na
just a nucleic acid
constexpr bool empty(list< Ts... >) noexcept
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
double f(double x_, const double &y_)
static const char * expected[]
static const char * suffix[]
static const char * prefix[]
Utility stuff for more convenient using of Boost.Test library.
void AddProtFeat(CRef< CSeq_entry > prot, CProt_ref::EProcessed proc)
void AddExon(CRef< CSeq_entry > seq, const string &number, TSeqPos start)
CRef< CSeq_entry > FindNucInSeqEntry(CRef< CSeq_entry > entry)
static void CheckDeflineMatchesWithDescr(CRef< CSeq_entry > entry, bool use_best=false, CAutoDefOptions::EFeatureListType list_type=CAutoDefOptions::eListAllFeatures, CAutoDefOptions::EMiscFeatRule misc_feat_rule=CAutoDefOptions::eNoncodingProductFeat)
BOOST_AUTO_TEST_CASE(Test_SimpleAutodef)
CRef< CSeq_feat > MakeRptRegion(const string &rpt_type, TSeqPos start_pos, CRef< CSeq_entry > entry)
static CRef< CSeq_feat > MakeGeneForNucProtSet(const string &nuc_id, const string &locus, const string &allele=kEmptyStr)
NCBITEST_INIT_CMDLINE(arg_desc)
void TestOneOrganelleSequenceDefline(CBioSource::TGenome genome, const string &defline)
void MakeRegulatoryFeatureTest(const string ®ulatory_class, const string &defline_interval, bool use_fake_promoters, bool keep_regulatory)
size_t HasIntField(const CUser_object &user, const string &field_name, int value)
CRef< CSeq_feat > MakeRegulatoryFeature(const string ®_class, const string &comment, TSeqPos start_pos, CRef< CSeq_entry > entry)
void CheckAutoDefOptions(const CUser_object &user, CAutoDefOptions &opts)
static CRef< CSeq_entry > BuildSequence()
void s_SetProteinName(CRef< CSeq_entry > prot, const string &name)
CRef< CUser_field > MkField(const string &label, const string &val)
void TestRepeatRegion(CRef< CSeq_entry > entry, bool init_with_descrs=false)
void CheckRegulatoryFeatures(const string &expected_title, bool keep_promoters, bool keep_regulatory)
static void CheckDeflineMatches(CSeq_entry_Handle seh, CAutoDefWithTaxonomy &autodef, CRef< CAutoDefModifierCombo > mod_combo)
void TestMatPeptideListing(bool cds_is_partial, bool has_sig_peptide)
static CAutoDef::TSources s_GatherSources(const CSeq_entry &entry)
CRef< CSeq_feat > s_AddCDS(CRef< CSeq_entry > np, const string &name, TSeqPos from, TSeqPos to)
static void AddFeat(CRef< CSeq_feat > feat, CRef< CSeq_entry > entry)
void CheckInfluenzaDefline(const string &taxname, const string &strain, const string &serotype, const string &clone, const string &segment, const string &defline)
static CRef< CSeq_entry > BuildNucProtSet(const string &protein_name, const string &locus=kEmptyStr, const string &allele=kEmptyStr)
size_t HasStringField(const CUser_object &user, const string &field_name, const string &value)
static CRef< CSeq_feat > MakeCDSForNucProtSet(string nuc_id, string prot_id)
size_t HasBoolField(const CUser_object &user, const string &field_name)
static CRef< CSeqdesc > AddSource(CRef< CSeq_entry > entry, string taxname)
const char * sc_TestEntryCollidingLocusTags
static void AddTitle(CRef< CSeq_entry > entry, string defline)
void TestForRecomb(CRef< CSeq_entry > entry, const string &expected)
static CRef< CSeq_entry > MakeProteinForNucProtSet(string id, string protein_name)
CRef< objects::CSeq_feat > MakeGeneForFeature(CRef< objects::CSeq_feat > feat)
void SetTaxon(objects::CBioSource &src, size_t taxon)
void SetSubSource(objects::CBioSource &src, objects::CSubSource::TSubtype subtype, string val)
CRef< objects::CSeq_feat > AddGoodImpFeat(CRef< objects::CSeq_entry > entry, string key)
void SetGenome(CRef< objects::CSeq_entry > entry, objects::CBioSource::TGenome genome)
void SetDiv(CRef< objects::CSeq_entry > entry, string div)
CRef< objects::CSeq_entry > MakeProteinForGoodNucProtSet(string id)
CRef< objects::CSeq_feat > GetCDSFromGoodNucProtSet(CRef< objects::CSeq_entry > entry)
CRef< CSeq_feat > BuildGoodFeat()
void SetTaxname(CRef< objects::CSeq_entry > entry, string taxname)
CRef< objects::CSeq_entry > BuildGoodSeq(void)
CRef< objects::CSeq_feat > AddMiscFeature(CRef< objects::CSeq_entry > entry)
CRef< objects::CSeq_entry > BuildGoodEcoSet()
void ChangeId(CRef< objects::CSeq_annot > annot, CRef< objects::CSeq_id > id)
CRef< objects::CSeq_feat > GetProtFeatFromGoodNucProtSet(CRef< objects::CSeq_entry > entry)
CRef< objects::CSeq_entry > GetProteinSequenceFromGoodNucProtSet(CRef< objects::CSeq_entry > entry)
void SetBiomol(CRef< objects::CSeq_entry > entry, objects::CMolInfo::TBiomol biomol)
CRef< objects::CSeq_entry > BuildGoodNucProtSet(void)
CRef< objects::CSeq_feat > MakemRNAForCDS(CRef< objects::CSeq_feat > feat)
void SetOrgMod(objects::CBioSource &src, objects::COrgMod::TSubtype subtype, string val)
CRef< objects::CSeq_entry > GetNucleotideSequenceFromGoodNucProtSet(CRef< objects::CSeq_entry > entry)
CRef< objects::CSeq_loc > MakeMixLoc(CRef< objects::CSeq_id > id)
void SetNucProtSetProductName(CRef< objects::CSeq_entry > entry, string new_name)
CRef< objects::CSeq_feat > MakeCDSForGoodNucProtSet(const string &nuc_id, const string &prot_id)