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

NCBI C++ ToolKit: src/gui/packages/pkg_sequence_edit/unit_test/unit_test_sequpdate.cpp Source File

144

BOOST_REQUIRE(old_seh);

145

BOOST_REQUIRE(upd_seh);

152  if

(b_iter) old_bsh = *b_iter;

154  if

(b_it) upd_bsh = *b_it;

156

BOOST_REQUIRE(old_bsh);

157

BOOST_REQUIRE(upd_bsh);

181

BOOST_REQUIRE(old_seh);

182

BOOST_REQUIRE(upd_seh);

215

BOOST_REQUIRE(

cmd

);

220  if

(b_iter) new_bsh = *b_iter;

222

BOOST_REQUIRE(new_bsh);

242

BOOST_REQUIRE(

cmd

);

250

BOOST_CHECK_EQUAL(type_ok,

true

);

253

BOOST_CHECK_EQUAL(

count

, 2);

273

BOOST_REQUIRE(

cmd

);

281

BOOST_CHECK_EQUAL(type_ok,

true

);

284

BOOST_CHECK_EQUAL(

count

, 2);

303

BOOST_REQUIRE(

cmd

);

310

BOOST_CHECK_EQUAL(

count

, 0);

331

BOOST_REQUIRE(

cmd

);

341

BOOST_CHECK_EQUAL(type_ok,

true

);

345  bool

feat_ok =

false

;

348

feat_ok = (start == 0 && stop == 983) || (start == 568 && stop == 718);

351

feat_ok = (start == 199 && stop == 599);

354

feat_ok = (start == 249 && stop == 562) || (start == 587 && stop == 686);

357

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 25);

362

BOOST_CHECK_EQUAL(feat_ok,

true

);

365

BOOST_CHECK_EQUAL(

count

, 7);

371  string

old_fname(

"test_data/Pbseq.asn"

);

372  string

upd_fname(

"test_data/NC_014053.asn"

);

388

BOOST_REQUIRE(

cmd

);

393  if

(b_iter) new_bsh = *b_iter;

395

BOOST_REQUIRE(new_bsh);

409  const CSeq_id

* feat_id = feat->GetLocation().GetId();

410

BOOST_REQUIRE(feat_id);

411

BOOST_CHECK(feat_id->

Match

(*lcl_id));

420

BOOST_REQUIRE(anticodon_id);

421

BOOST_CHECK(anticodon_id->

Match

(*lcl_id));

423  bool

feat_ok(

false

);

426

feat_ok = (start == 0 && stop == 68) && (start_ac == 32 && stop_ac == 34);

429

feat_ok = (start == 69 && stop == 133) && (start_ac == 99 && stop_ac == 101);

432

feat_ok = (start == 199 && stop == 131) && (start_ac == 169 && stop_ac == 167);

435

feat_ok = (start == 1448 && stop == 1385) && (start_ac == 1418 && stop_ac == 1416);

438

feat_ok = (start == 5911 && stop == 5977) && (start_ac == 5942 && stop_ac == 5944);

441

feat_ok = (start == 8112 && stop == 8049) && (start_ac == 8082 && stop_ac == 8080);

444

feat_ok = (start == 14087 && stop == 14024) && (start_ac == 14058 && stop_ac == 14056);

449

BOOST_CHECK_EQUAL(feat_ok,

true

);

452

BOOST_CHECK_EQUAL(

count

, 16);

458  string

old_fname(

"test_data/Pbseq_withtRNA.asn"

);

459  string

upd_fname(

"test_data/NC_014053.asn"

);

477

BOOST_REQUIRE(

cmd

);

482  if

(b_iter) new_bsh = *b_iter;

484

BOOST_REQUIRE(new_bsh);

498  const CSeq_id

* feat_id = feat->GetLocation().GetId();

499

BOOST_REQUIRE(feat_id);

500

BOOST_CHECK(feat_id->

Match

(*lcl_id));

509

BOOST_REQUIRE(anticodon_id);

510

BOOST_CHECK(anticodon_id->

Match

(*lcl_id));

512  bool

feat_ok(

false

);

515

feat_ok = (start == 0 && stop == 68) && (start_ac == 32 && stop_ac == 34);

516

BOOST_CHECK(feat->IsSetComment());

519

feat_ok = (start == 69 && stop == 133) && (start_ac == 99 && stop_ac == 101);

520

BOOST_CHECK(feat->IsSetComment());

523

feat_ok = (start == 6313 && stop == 6250) && (start_ac == 6283 && stop_ac == 6281);

524

BOOST_CHECK(feat->IsSetComment());

527

feat_ok = (start == 14087 && stop == 14024) && (start_ac == 14058 && stop_ac == 14056);

528

BOOST_CHECK(feat->IsSetComment());

531

feat_ok = (start == 0 && stop == 68) && (start_ac == 32 && stop_ac == 34);

532

BOOST_CHECK(!feat->IsSetComment());

535

feat_ok = (start == 69 && stop == 133) && (start_ac == 99 && stop_ac == 101);

536

BOOST_CHECK(!feat->IsSetComment());

539

feat_ok = (start == 5977 && stop == 6042) && (start_ac == 6006 && stop_ac == 6008);

540

BOOST_CHECK(!feat->IsSetComment());

543

feat_ok = (start == 14087 && stop == 14024) && (start_ac == 14058 && stop_ac == 14056);

544

BOOST_CHECK(!feat->IsSetComment());

550

BOOST_CHECK_EQUAL(feat_ok,

true

);

553

BOOST_CHECK_EQUAL(

count

, 20);

561  string

old_fname(

"test_data/Pbseq_withtRNA.asn"

);

562  string

upd_fname(

"test_data/NC_014053.asn"

);

580

BOOST_REQUIRE(

cmd

);

585  if

(b_iter) new_bsh = *b_iter;

587

BOOST_REQUIRE(new_bsh);

601  const CSeq_id

* feat_id = feat->GetLocation().GetId();

602

BOOST_REQUIRE(feat_id);

603

BOOST_CHECK(feat_id->

Match

(*lcl_id));

612

BOOST_REQUIRE(anticodon_id);

613

BOOST_CHECK(anticodon_id->

Match

(*lcl_id));

615  bool

feat_ok(

false

);

618

feat_ok = (start == 0 && stop == 68) && (start_ac == 32 && stop_ac == 34);

619

BOOST_CHECK(feat->IsSetComment());

622

feat_ok = (start == 69 && stop == 133) && (start_ac == 99 && stop_ac == 101);

623

BOOST_CHECK(feat->IsSetComment());

626

feat_ok = (start == 6313 && stop == 6250) && (start_ac == 6283 && stop_ac == 6281);

627

BOOST_CHECK(feat->IsSetComment());

630

feat_ok = (start == 14087 && stop == 14024) && (start_ac == 14058 && stop_ac == 14056);

631

BOOST_CHECK(feat->IsSetComment());

634

feat_ok = (start == 199 && stop == 131) && (start_ac == 169 && stop_ac == 167);

635

BOOST_CHECK(!feat->IsSetComment());

638

feat_ok = (start == 8112 && stop == 8049) && (start_ac == 8082 && stop_ac == 8080);

639

BOOST_CHECK(!feat->IsSetComment());

642

feat_ok = (start == 12670 && stop == 12602) && (start_ac == 12640 && stop_ac == 12638);

643

BOOST_CHECK(!feat->IsSetComment());

649

BOOST_CHECK_EQUAL(feat_ok,

true

);

652

BOOST_CHECK_EQUAL(

count

, 16);

659  string

old_fname(

"test_data/Pbseq_withtRNA.asn"

);

660  string

upd_fname(

"test_data/NC_014053.asn"

);

678

BOOST_REQUIRE(

cmd

);

683  if

(b_iter) new_bsh = *b_iter;

685

BOOST_REQUIRE(new_bsh);

699  const CSeq_id

* feat_id = feat->GetLocation().GetId();

700

BOOST_REQUIRE(feat_id);

701

BOOST_CHECK(feat_id->

Match

(*lcl_id));

710

BOOST_REQUIRE(anticodon_id);

711

BOOST_CHECK(anticodon_id->

Match

(*lcl_id));

713  bool

feat_ok(

false

);

716

feat_ok = (start == 0 && stop == 68) && (start_ac == 32 && stop_ac == 34);

717

BOOST_CHECK(!feat->IsSetComment());

720

feat_ok = (start == 69 && stop == 133) && (start_ac == 99 && stop_ac == 101);

721

BOOST_CHECK(!feat->IsSetComment());

724

feat_ok = (start == 199 && stop == 131) && (start_ac == 169 && stop_ac == 167);

725

BOOST_CHECK(!feat->IsSetComment());

728

feat_ok = (start == 6313 && stop == 6250) && (start_ac == 6283 && stop_ac == 6281);

729

BOOST_CHECK(!feat->IsSetComment());

732

feat_ok = (start == 14087 && stop == 14024) && (start_ac == 14058 && stop_ac == 14056);

733

BOOST_CHECK(!feat->IsSetComment());

739

BOOST_CHECK_EQUAL(feat_ok,

true

);

742

BOOST_CHECK_EQUAL(

count

, 16);

749  string

old_fname(

"test_data/Pbseq_withtRNA.asn"

);

750  string

upd_fname(

"test_data/NC_014053.asn"

);

768

BOOST_REQUIRE(

cmd

);

773  if

(b_iter) new_bsh = *b_iter;

775

BOOST_REQUIRE(new_bsh);

789  const CSeq_id

* feat_id = feat->GetLocation().GetId();

790

BOOST_REQUIRE(feat_id);

791

BOOST_CHECK(feat_id->

Match

(*lcl_id));

800

BOOST_REQUIRE(anticodon_id);

801

BOOST_CHECK(anticodon_id->

Match

(*lcl_id));

803  bool

feat_ok(

false

);

806

feat_ok = (start == 0 && stop == 68) && (start_ac == 32 && stop_ac == 34);

807

BOOST_CHECK(feat->IsSetComment());

810

feat_ok = (start == 69 && stop == 133) && (start_ac == 99 && stop_ac == 101);

811

BOOST_CHECK(feat->IsSetComment());

814

feat_ok = (start == 199 && stop == 131) && (start_ac == 169 && stop_ac == 167);

815

BOOST_CHECK(!feat->IsSetComment());

818

feat_ok = (start == 6313 && stop == 6250) && (start_ac == 6283 && stop_ac == 6281);

819

BOOST_CHECK(feat->IsSetComment());

822

feat_ok = (start == 14087 && stop == 14024) && (start_ac == 14058 && stop_ac == 14056);

823

BOOST_CHECK(feat->IsSetComment());

824

BOOST_CHECK(feat->IsSetPartial());

830

BOOST_CHECK_EQUAL(feat_ok,

true

);

833

BOOST_CHECK_EQUAL(

count

, 16);

840  string

old_fname(

"test_data/Pbseq_withGenes.asn"

);

841  string

upd_fname(

"test_data/NC_014053_genes.asn"

);

859

BOOST_REQUIRE(

cmd

);

871  string

old_fname(

"test_data/Pbseq_withGenes.asn"

);

872  string

upd_fname(

"test_data/NC_014053.asn"

);

890

BOOST_REQUIRE(

cmd

);

902  string

old_fname(

"test_data/Pbseq_withGenes.asn"

);

903  string

upd_fname(

"test_data/NC_014053.asn"

);

922

BOOST_REQUIRE(

cmd

);

934  string

old_fname(

"test_data/duplicateCDS.asn"

);

935  string

upd_fname(

"test_data/NC_024274_cds.asn"

);

953

BOOST_REQUIRE(

cmd

);

965  string

old_fname(

"test_data/duplicateCDS.asn"

);

966  string

upd_fname(

"test_data/NC_024274_cds.asn"

);

985

BOOST_REQUIRE(

cmd

);

998  string

old_fname(

"test_data/duplicateCDS.asn"

);

999  string

upd_fname(

"test_data/NC_024274_cds.asn"

);

1017

BOOST_REQUIRE(

cmd

);

1029  string

old_fname(

"test_data/duplicateCDS.asn"

);

1030  string

upd_fname(

"test_data/NC_024274_cds.asn"

);

1048

BOOST_REQUIRE(

cmd

);

1060  string

old_fname(

"test_data/duplicateCDS.asn"

);

1061  string

upd_fname(

"test_data/NC_024274_cds.asn"

);

1079

BOOST_REQUIRE(

cmd

);

1141

BOOST_REQUIRE(

cmd

);

1150

BOOST_CHECK_EQUAL(type_ok,

true

);

1154  bool

feat_ok =

false

;

1158

feat_ok = (start == 568 && stop == 718);

1161

feat_ok = (start == 587 && stop == 686);

1164

feat_ok = (start == 0 && stop == 25);

1169

BOOST_CHECK_EQUAL(feat_ok,

true

);

1172

BOOST_CHECK_EQUAL(

count

, 3);

1178  string

old_fname(

"test_data/shortSeq.asn"

);

1179  string

upd_fname(

"test_data/update_shortSeq.asn"

);

1192

BOOST_REQUIRE(

cmd

);

1203

BOOST_CHECK_EQUAL(type_ok,

true

);

1207  bool

feat_ok =

false

;

1210

feat_ok = (start == 0 && stop == 127);

1213

feat_ok = (start == 0 && stop == 29);

1216

feat_ok = (start == 29 && stop == 127);

1219

feat_ok = (start == 0 && stop == 49);

1224

BOOST_CHECK_EQUAL(feat_ok,

true

);

1227

BOOST_CHECK_EQUAL(

count

, 4);

1245

BOOST_REQUIRE(

cmd

);

1250  if

(b_iter) new_bsh = *b_iter;

1252

BOOST_REQUIRE(new_bsh);

1265

BOOST_CHECK_EQUAL(updseq, newseq);

1275

BOOST_CHECK_EQUAL(type_ok,

true

);

1279  bool

feat_ok =

false

;

1283

feat_ok = (start == 0 && stop == 131);

1286

feat_ok = (start == 0 && stop == 31);

1289

feat_ok = (start == 0 && stop == 0);

1292

feat_ok = (start == 0 && stop == 69);

1297

BOOST_CHECK_EQUAL(feat_ok,

true

);

1300

BOOST_CHECK_EQUAL(

count

, 4);

1306  string

old_fname(

"test_data/OneSeqWithoutFeature.asn"

);

1307  string

upd_fname(

"test_data/update_OneSeq.asn"

);

1319

BOOST_REQUIRE(

cmd

);

1324  if

(b_iter) new_bsh = *b_iter;

1326

BOOST_REQUIRE(new_bsh);

1328

vector<string>

check

{

1329  "Seq-id ::= local str \"Seq1\"\n"

,

1330  "Seq-id ::= general {\n" 1332  " tag str \"3456/Seq1\"\n" 1334  "Seq-id ::= general {\n" 1338  "Seq-id ::= genbank {\n" 1339  " accession \"AA123456\"\n" 1352  string

old_fname(

"test_data/KR002586.asn"

);

1353  string

upd_fname(

"test_data/KR002586_update.asn"

);

1366

BOOST_REQUIRE(

cmd

);

1371  if

(b_iter) new_bsh = *b_iter;

1373

BOOST_REQUIRE(new_bsh);

1381

BOOST_CHECK_EQUAL(type_ok,

true

);

1385  bool

feat_ok =

false

;

1389

feat_ok = (start == 0 && stop == 1079);

1392

feat_ok = (start == 0 && stop == 394);

1397

BOOST_CHECK_EQUAL(feat_ok,

true

);

1400

BOOST_CHECK_EQUAL(

count

, 2);

1406  string

old_fname(

"test_data/seq_withinSet.asn"

);

1407  string

upd_fname(

"test_data/update_seqWithinSet1.asn"

);

1412  for

(

CBioseq_CI

b_iter(old_seh); b_iter; ++b_iter) {

1413  if

(b_iter->GetBioseqLength() == 1430) {

1414

oldSeh = b_iter->GetSeq_entry_Handle();

1431

BOOST_REQUIRE(

cmd

);

1436  if

(bseq_it && ++bseq_it) {

1451

BOOST_REQUIRE(new_bsh);

1466

BOOST_CHECK_EQUAL(type_ok,

true

);

1470  bool

feat_ok =

false

;

1474

feat_ok = ((start == 0 && stop == 1378) && feat->IsSetPartial()) ||

1475

((start == 0 && stop == 1386) && !feat->IsSetPartial());

1478

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

1479  "Seq-loc ::= mix {\n" 1484  " id local str \"Seq23\"\n" 1490  " id local str \"Seq23\"\n" 1496

feat_ok = !feat->IsSetPartial() && ((start == 0 && stop == 94)

1497

|| (start == 271 && stop == 1148)

1498

|| (start == 647 && stop == 1378));

1501

feat_ok = feat->IsSetPartial()

1503

&& (start == 745 && stop == 171);

1506

feat_ok = !feat->IsSetPartial() && (start == 0 && stop == 94);

1509

feat_ok = !feat->IsSetPartial() && (start == 0 && stop == 31);

1512

feat_ok = feat->IsSetPartial()

1514

&& (start == 1378 && stop == 1358);

1517

feat_ok = feat->IsSetPartial()

1519

&& (start == 1368 && stop == 1374);

1522

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

1523  "Seq-loc ::= mix {\n" 1528  " id local str \"Seq23\"\n" 1534  " id local str \"Seq23\"\n" 1542

BOOST_CHECK_EQUAL(feat_ok,

true

);

1545

BOOST_CHECK_EQUAL(

count

, 12);

1551  if

((*desc_it)->IsPub()) {

1553  if

((*pub_it)->IsSub()) {

1554  const CCit_sub

& sub = (*pub_it)->GetSub();

1558

BOOST_CHECK_EQUAL(sub.

GetDescr

(),

string

(

"Sequence update by submitter"

));

1568  string

old_fname(

"test_data/seq_withinSet.asn"

);

1569  string

upd_fname(

"test_data/update_seqWithinSet2.asn"

);

1574  for

(

CBioseq_CI

b_iter(old_seh); b_iter; ++b_iter) {

1575  if

(b_iter->GetBioseqLength() == 1430) {

1576

oldSeh = b_iter->GetSeq_entry_Handle();

1592

BOOST_REQUIRE(

cmd

);

1597  if

(bseq_it && ++bseq_it) {

1612

BOOST_REQUIRE(new_bsh);

1629

BOOST_CHECK_EQUAL(type_ok,

true

);

1633  bool

feat_ok =

false

;

1637

feat_ok = ((start == 0 && stop == 1562) && feat->IsSetPartial()) ||

1638

((start == 133 && stop == 1562) && feat->IsSetPartial());

1641

feat_ok = !feat->IsSetPartial() && ((start == 133 && stop == 232)

1642

|| (start == 432 && stop == 1332)

1643

|| (start == 832 && stop == 1562));

1646

feat_ok = !feat->IsSetPartial() && start == 0 && stop == 132;

1649

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

1650  "Seq-loc ::= mix {\n" 1655  " id local str \"Seq23\"\n" 1661  " id local str \"Seq23\"\n" 1667

feat_ok = feat->IsSetPartial()

1669

&& (start == 932 && stop == 332);

1672

feat_ok = !feat->IsSetPartial() && (start == 133 && stop == 232);

1675

feat_ok = !feat->IsSetPartial() && (start == 0 && stop == 31);

1678

feat_ok = feat->IsSetPartial()

1680

&& (start == 1562 && stop == 1542);

1683

feat_ok = feat->IsSetPartial()

1685

&& (start == 1552 && stop == 1558);

1688

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

1689  "Seq-loc ::= mix {\n" 1694  " id local str \"Seq23\"\n" 1700  " id local str \"Seq23\"\n" 1708

BOOST_CHECK_EQUAL(feat_ok,

true

);

1711

BOOST_CHECK_EQUAL(

count

, 13);

1716  string

old_fname(

"test_data/retranslateCDS_1.asn"

);

1717  string

upd_fname(

"test_data/replace_retranslateCDS_1.asn"

);

1733

BOOST_REQUIRE(

cmd

);

1738  if

(b_iter) new_bsh = *b_iter;

1740

BOOST_REQUIRE(new_bsh);

1745  if

(p_iter) psh = *p_iter;

1753

BOOST_CHECK_EQUAL(id_label,

"lcl|12HNVN567_prot_72"

);

1756

BOOST_CHECK(descrs.

Get

().size() == 3);

1762  string

prseq(

"CDVKVXXXKFQWDRTMXKCQLSTMHTWNXASGINSIAAKWQSCRRRDNDQIXKSHRQCQN\ 1763 HNSATXXFCRNQLYQTIRXXKNKXDSRTRTSILYNRRNXRKYKESILXXXXNKMXXSFXTGSWKTKRALXXXXYNLSTTL\ 1764 RRRSRNXNTSFXLXRGIFLLQYNTTVXXYCLHKQYKRGRVXWHYHTSMPDKTNYKHVAKSRKSNVCSSHQ\ 1765 WKHXVXIKYYRNTIDKRWWYXXLXXXYLR"

);

1766

BOOST_CHECK_EQUAL(newpr, prseq);

1769

BOOST_REQUIRE(prot_feat);

1773

BOOST_CHECK(feat_ok);

1780  string

old_fname(

"test_data/retranslateCDS_1.asn"

);

1781  string

upd_fname(

"test_data/replace_retranslateCDS_1.asn"

);

1797

BOOST_REQUIRE(

cmd

);

1802  if

(b_iter) new_bsh = *b_iter;

1804

BOOST_REQUIRE(new_bsh);

1809  if

(p_iter) psh = *p_iter;

1818

BOOST_CHECK_EQUAL(id_label,

"lcl|12HNVN567_prot_72"

);

1820

BOOST_CHECK(descrs.

Get

().size() == 3);

1826  string

prseq(

"CDVKVXXXKFQWDRTMXKCQLSTMHTWNXASGINSIAAKWQSCRRRDNDQIXKSHRQCQN\ 1827 HNSATXXFCRNQLYQTIRXXKNKXDSRTRTSILYNRRNXRKYKESILXXXXNKMXXSFXTGSWKTKRALXXXXYNLSTTL\ 1828 RRRSRNXNTSFXLXRGIFLLQYNTTVXXYCLHKQYKRGRVXWHYHTSMPDKTNYKHVAKSRKSNVCSSHQ\ 1829 WKHXVXIKYYRNTIDKRWWYXXLXXXYLR"

);

1830

BOOST_CHECK_EQUAL(newpr, prseq);

1833

BOOST_REQUIRE(prot_feat);

1837

BOOST_CHECK(feat_ok);

1842  string

old_fname(

"test_data/seq_withinSet.asn"

);

1843  string

upd_fname(

"test_data/update_seqWithinSet1.asn"

);

1848  for

(

CBioseq_CI

b_iter(old_seh); b_iter; ++b_iter) {

1849  if

(b_iter->GetBioseqLength() == 1430) {

1850

oldSeh = b_iter->GetSeq_entry_Handle();

1864

BOOST_REQUIRE(

cmd

);

1869  if

(bseq_it && ++bseq_it) {

1884

BOOST_REQUIRE(new_bsh);

1900

BOOST_CHECK_EQUAL(type_ok,

true

);

1904  bool

feat_ok =

false

;

1908

feat_ok = ((start == 0 && stop == 1359) && feat->IsSetPartial());

1911

feat_ok = !feat->IsSetPartial() && ((start == 0 && stop == 98)

1912

|| (start == 275 && stop == 1152)

1913

|| (start == 651 && stop == 1359));

1916

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

1917  "Seq-loc ::= mix {\n" 1922  " id local str \"Seq23\"\n" 1928  " id local str \"Seq23\"\n" 1934

feat_ok = feat->IsSetPartial()

1936

&& (start == 749 && stop == 175);

1939

feat_ok = !feat->IsSetPartial() && (start == 0 && stop == 98);

1942

feat_ok = !feat->IsSetPartial() && (start == 0 && stop == 31);

1945

feat_ok = feat->IsSetPartial()

1947

&& (start == 1359 && stop == 1359);

1950

feat_ok = feat->IsSetPartial()

1952

&& (start == 1359 && stop == 1359);

1955

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

1956  "Seq-loc ::= mix {\n" 1961  " id local str \"Seq23\"\n" 1967  " id local str \"Seq23\"\n" 1975

BOOST_CHECK_EQUAL(feat_ok,

true

);

1978

BOOST_CHECK_EQUAL(

count

, 11);

1983  string

old_fname(

"test_data/seq_withinSet.asn"

);

1984  string

upd_fname(

"test_data/update_seqWithinSet_Feats.asn"

);

1989  for

(

CBioseq_CI

b_iter(old_seh); b_iter; ++b_iter) {

1990  if

(b_iter->GetBioseqLength() == 1430) {

1991

oldSeh = b_iter->GetSeq_entry_Handle();

2008

BOOST_REQUIRE(

cmd

);

2013  if

(bseq_it && ++bseq_it) {

2028

BOOST_REQUIRE(new_bsh);

2037

BOOST_CHECK_EQUAL(type_ok,

true

);

2041  bool

feat_ok =

false

;

2045

feat_ok = (start == 4 && stop == 1359);

2048

feat_ok = (!feat->IsSetPartial() && (start == 803 && stop == 303))

2049

|| (feat->IsSetPartial() && (start == 1313 && stop == 1359))

2050

|| (!feat->IsSetPartial() && (start == 1359 && stop == 1343));

2053

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

2054  "Seq-loc ::= packed-int {\n" 2059  " id local str \"Seq23\"\n" 2065  " id local str \"Seq23\"\n" 2073

BOOST_CHECK_EQUAL(feat_ok,

true

);

2076

BOOST_CHECK_EQUAL(

count

, 5);

2096

BOOST_REQUIRE(

cmd

);

2101  if

(b_iter) new_bsh = *b_iter;

2103

BOOST_REQUIRE(new_bsh);

2115

BOOST_CHECK_EQUAL(type_ok,

true

);

2119  bool

feat_ok =

false

;

2123

feat_ok = (start == 0 && stop == 131);

2126

feat_ok = (start == 0 && stop == 31);

2129

feat_ok = (start == 0 && stop == 0) || (start == 19 && stop == 99);

2132

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 25);

2137

BOOST_CHECK_EQUAL(feat_ok,

true

);

2140

BOOST_CHECK_EQUAL(

count

, 7);

2146  string

old_fname(

"test_data/Old_Bourbon.asn"

);

2147  string

upd_fname(

"test_data/Update_Bourbon.asn"

);

2160

BOOST_REQUIRE(

cmd

);

2165  if

(b_iter) new_bsh = *b_iter;

2167

BOOST_REQUIRE(new_bsh);

2173

BOOST_CHECK(cds_it);

2188

BOOST_REQUIRE(prot_ids.size() == 2);

2190

vector<string>

check

{

2191  "Seq-id ::= genbank {\n" 2192  " accession \"AJP32538\",\n" 2195  "Seq-id ::= gi 761229279\n" 2208

vector<string>

check

{

2221  if

((*pub_it)->IsSub()) {

2222  const CCit_sub

& sub = (*pub_it)->GetSub();

2226

BOOST_CHECK_EQUAL(sub.

GetDescr

(),

string

(

"Sequence update by submitter"

));

2236  string

old_fname(

"test_data/Old_Bourbon_woSub.asn"

);

2237  string

upd_fname(

"test_data/Update_Bourbon.asn"

);

2250

BOOST_REQUIRE(

cmd

);

2255  if

(b_iter) new_bsh = *b_iter;

2257

BOOST_REQUIRE(new_bsh);

2261

BOOST_CHECK_EQUAL(updater.

GetCitSubMessage

(),

string

(

"There is no earlier Cit-sub template"

));

2267  string

old_fname(

"test_data/replace_woalign.asn"

);

2268  string

upd_fname(

"test_data/replace_woalign_update.asn"

);

2274

BOOST_REQUIRE(old_seh);

2280

BOOST_REQUIRE(

ok

);

2286

BOOST_CHECK(updates.

size

() == 3);

2287

BOOST_CHECK(identicals.

empty

());

2288

BOOST_CHECK(noUpdates.empty());

2294  for

(

auto

& it : updates) {

2304

BOOST_CHECK(b_iter->GetBioseqLength() == 709);

2306

BOOST_REQUIRE(feat);

2312

BOOST_CHECK(start == 0 && stop == 230);

2315

BOOST_CHECK(start == 0 && stop == 708);

2318

BOOST_CHECK(start == 0 && stop == 911);

2337

BOOST_REQUIRE(

cmd

);

2342  if

(b_iter) new_bsh = *b_iter;

2344

BOOST_REQUIRE(new_bsh);

2352  string

patchseq(

"TGCAGTCGAGCGGCAGCACGGGGAGCTTGCTCCCTGGTGGCGAGCGGCGGACGGGTGAGTAATGTAGGAA\ 2353 TCTGCCCGGTAGTGGGGGATAACGTGGGGAAACCCACGCTAATACCGCATACGTCCTACGGGAGAAAGCG\ 2354 GAGGATCTTCGGACTTCGCGCTATCGGATGAGCCTATGTCGGATTAGCTAGTTGGTAAGGTAACGGCTTA\ 2355 CCAAGGCGACGATCCGTAGCTGGTCTGAGAGGATGATCAGCCACACTGGGACTGAGACACGGCCCAGACT\ 2356 CCTACGGGAGGCAGCAGTGGGGAATATTGGACAATGGGCGAAAGCCTTGATCCAGCCATGCCGCGTGTGT\ 2357 GAAGAAGGCTTTCGGGTTGTAAAGCACTTTCAGCGAGGAAGAAAGCCTGGTGGTTAAAGCACCGGCTAAC\ 2358 TCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCGAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCG\ 2359 TAGGTGGCTTGGCACGCCGGTTGTGAAAGCCCCGGGCTCAACCTGGGAACGGCATCCGGAACGGCCAGGC\ 2360 TAGAGTGCAGGAGAGGAAGGTAGAATTCCCGGTGTAGCGGTGAAATGCGTAGAGATCGGGCCCCCCCCCC\ 2361 CCCCCCCCCCTGACACTGAGGTGCGAAAGCATGGGTAGCAAACAGGATTAGATACCCTGGTAGTCCACGC\ 2362 CGTAAACGATGTCGACTAGCCGTTGGGACCTTTAAGGACTTAGTGGCGCAGTTAACGCGATAAGTCGACC\ 2363 GCCTGGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCA\ 2364 TGTGGTTTAATTCGATGCAACGCGAAGAACCTTACCTACCCTTGACATCCTGCGAATTTGGTAGAGATAC\ 2365 CTTAGTGCCTTCGGGAGCGCAGTGACAGGTGCTGCATGGCTGTCGTCAGCTCGCGC"

);

2366

BOOST_CHECK_EQUAL(patchseq, newseq);

2376

BOOST_CHECK_EQUAL(type_ok,

true

);

2380  bool

feat_ok =

false

;

2384

feat_ok = (start == 0 && stop == 964);

2387

feat_ok = (start == 199 && stop == 599);

2390

feat_ok = (start == 249 && stop == 562);

2393

feat_ok = (start == 0 && stop == 69);

2398

BOOST_CHECK_EQUAL(feat_ok,

true

);

2401

BOOST_CHECK_EQUAL(

count

, 4);

2420

BOOST_REQUIRE(

cmd

);

2425  if

(b_iter) new_bsh = *b_iter;

2427

BOOST_REQUIRE(new_bsh);

2438

BOOST_CHECK_EQUAL(type_ok,

true

);

2442  bool

feat_ok =

false

;

2446

feat_ok = (start == 0 && stop == 964) || (start == 568 && stop == 699);

2449

feat_ok = (start == 199 && stop == 599);

2452

feat_ok = (start == 587 && stop == 667) || (start == 249 && stop == 562);

2455

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 25);

2460

BOOST_CHECK_EQUAL(feat_ok,

true

);

2463

BOOST_CHECK_EQUAL(

count

, 7);

2483

BOOST_REQUIRE(

cmd

);

2488  if

(b_iter) new_bsh = *b_iter;

2490

BOOST_REQUIRE(new_bsh);

2502

BOOST_CHECK_EQUAL(type_ok,

true

);

2506  bool

feat_ok =

false

;

2511

feat_ok = (start == 0 && stop == 131)

2515

feat_ok = (start == 0 && stop == 31);

2518

feat_ok = (start == 0 && stop == 0) || (start == 19 && stop == 99);

2521

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 25);

2526

BOOST_CHECK_EQUAL(feat_ok,

true

);

2529

BOOST_CHECK_EQUAL(

count

, 6);

2551  bool

ignore_alignment(

true

);

2558

BOOST_REQUIRE(

cmd

);

2563  if

(b_iter) new_bsh = *b_iter;

2565

BOOST_REQUIRE(new_bsh);

2572

BOOST_CHECK_EQUAL(newseq, extendseq + origseq);

2583

BOOST_CHECK_EQUAL(type_ok,

true

);

2587  bool

feat_ok =

false

;

2591

feat_ok = (start == 95 && stop == 1078);

2594

feat_ok = (start == 294 && stop == 694);

2597

feat_ok = (start == 344 && stop == 657);

2600

feat_ok = (start == 0 && stop == 69);

2605

BOOST_CHECK_EQUAL(feat_ok,

true

);

2608

BOOST_CHECK_EQUAL(

count

, 4);

2619  bool

ignore_alignment(

true

);

2628

BOOST_REQUIRE(

cmd

);

2633  if

(b_iter) new_bsh = *b_iter;

2635

BOOST_REQUIRE(new_bsh);

2647

BOOST_CHECK_EQUAL(type_ok,

true

);

2651  bool

feat_ok =

false

;

2655

feat_ok = (start == 95 && stop == 1078) || (start == 54 && stop == 2);

2658

feat_ok = (start == 294 && stop == 694);

2661

feat_ok = (start == 70 && stop == 89);

2664

feat_ok = (start == 344 && stop == 657) || (start == 54 && stop == 2);

2667

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 16);

2672

BOOST_CHECK_EQUAL(feat_ok,

true

);

2675

BOOST_CHECK_EQUAL(

count

, 8);

2686  bool

ignore_alignment(

true

);

2695

BOOST_REQUIRE(

cmd

);

2700  if

(b_iter) new_bsh = *b_iter;

2702

BOOST_REQUIRE(new_bsh);

2714

BOOST_CHECK_EQUAL(type_ok,

true

);

2718  bool

feat_ok =

false

;

2722

feat_ok = (start == 92 && stop == 1075) || (start == 2 && stop == 54);

2725

feat_ok = (start == 291 && stop == 691);

2728

feat_ok = (start == 67 && stop == 86);

2731

feat_ok = (start == 341 && stop == 654) || (start == 2 && stop == 54);

2734

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 16);

2739

BOOST_CHECK_EQUAL(feat_ok,

true

);

2742

BOOST_CHECK_EQUAL(

count

, 8);

2753  bool

ignore_alignment(

false

);

2761

BOOST_REQUIRE(

cmd

);

2766  if

(b_iter) new_bsh = *b_iter;

2768

BOOST_REQUIRE(new_bsh);

2776  string

extend5seq(

"GGGGGGGGGGCCCCGGAAAAAAAAAGGGGGGGGGGGCGCACGTTTTTTCACACAGGGGTGCAGTCGAGCG\ 2777 GCAGCACGGGGAGCTTGCTCCCTGGTGGCGAGCGGCGGACGGGTGAGTAATGTAGGAATCTGCCCGGTAG\ 2778 TGGGGGATAACGTGGGGAAACCCACGCTAATACCGCATACGTCCTACGGGAGAAAGCGGAGGATCTTCGG\ 2779 ACTTCGCGCTATCGGATGAGCCTATGTCGGATTAGCTAGTTGGTAAGGTAACGGCTTACCAAGGCGACGA\ 2780 TCCGTAGCTGGTCTGAGAGGATGATCAGCCACACTGGGACTGAGACACGGCCCAGACTCCTACGGGAGGC\ 2781 AGCAGTGGGGAATATTGGACAATGGGCGAAAGCCTTGATCCAGCCATGCCGCGTGTGTGAAGAAGGCTTT\ 2782 CGGGTTGTAAAGCACTTTCAGCGAGGAAGAAAGCCTGGTGGTTAAAGCACCGGCTAACTCCGTGCCAGCA\ 2783 GCCGCGGTAATACGGAGGGTGCGAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCGTAGGTGGCTTGG\ 2784 CACGCCGGTTGTGAAAGCCCCGGGCTCAACCTGGGAACGGCATCCGGAACGGCCAGGCTAGAGTGCAGGA\ 2785 GAGGAAGGTAGAATTCCCGGTGTAGCGGTGAAATGCGTAGAGATCGGGAGGAATACCAGTGGCGAAGGCG\ 2786 GCCTTCTGGCCTGACACTGACACTGAGGTGCGAAAGCGTGGGTAGCAAACAGGATTAGATACCCTGGTAG\ 2787 TCCACGCCGTAAACGATGTCGACTAGCCGTTGGGACCTTTAAGGACTTAGTGGCGCAGTTAACGCGATAA\ 2788 GTCGACCGCCTGGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGG\ 2789 TGGAGCATGTGGTTTAATTCGATGCAACGCGAAGAACCTTACCTACCCTTGACATCCTGCGAATTTGGTA\ 2790 GAGATACCTTAGTGCCTTCGGGAGCGCAGTGACAGGTGCTGCATGGCTGTCGTCAGCTCGCGC"

);

2791

BOOST_CHECK_EQUAL(extend5seq, newseq);

2801

BOOST_CHECK_EQUAL(type_ok,

true

);

2805  bool

feat_ok =

false

;

2809

feat_ok = (start == 58 && stop == 1041);

2812

feat_ok = (start == 257 && stop == 657);

2815

feat_ok = (start == 307 && stop == 620);

2818

feat_ok = (start == 0 && stop == 69);

2823

BOOST_CHECK_EQUAL(feat_ok,

true

);

2826

BOOST_CHECK_EQUAL(

count

, 4);

2837  bool

ignore_alignment(

false

);

2846

BOOST_REQUIRE(

cmd

);

2851  if

(b_iter) new_bsh = *b_iter;

2853

BOOST_REQUIRE(new_bsh);

2864

BOOST_CHECK_EQUAL(type_ok,

true

);

2868  bool

feat_ok =

false

;

2872

feat_ok = (start == 58 && stop == 1041) || (start == 54 && stop == 2);

2875

feat_ok = (start == 257 && stop == 657);

2878

feat_ok = (start == 70 && stop == 89);

2881

feat_ok = (start == 307 && stop == 620) || (start == 54 && stop == 2);

2884

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 16);

2889

BOOST_CHECK_EQUAL(feat_ok,

true

);

2892

BOOST_CHECK_EQUAL(

count

, 8);

2903  bool

ignore_alignment(

false

);

2913

BOOST_REQUIRE(

cmd

);

2918  if

(b_iter) new_bsh = *b_iter;

2920

BOOST_REQUIRE(new_bsh);

2933

BOOST_CHECK_EQUAL(type_ok,

true

);

2937  bool

feat_ok =

false

;

2941

feat_ok = (start == 58 && stop == 1038) || (start == 2 && stop == 54);

2944

feat_ok = (start == 254 && stop == 654);

2947

feat_ok = (start == 67 && stop == 86);

2950

feat_ok = (start == 304 && stop == 617) || (start == 2 && stop == 54);

2953

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 16);

2958

BOOST_CHECK_EQUAL(feat_ok,

true

);

2961

BOOST_CHECK_EQUAL(

count

, 8);

2966  string

old_fname(

"test_data/seq_for_5extend.asn"

);

2967  string

upd_fname(

"test_data/update_5extend.asn"

);

2974  bool

ignore_alignment(

false

);

2984

BOOST_REQUIRE(

cmd

);

2989  if

(b_iter) new_bsh = *b_iter;

2991

BOOST_REQUIRE(new_bsh);

3003

BOOST_CHECK_EQUAL(type_ok,

true

);

3007  bool

feat_ok =

false

;

3011

feat_ok = (start == 39 && stop == 64) || (start == 58 && stop == 1041);

3014

feat_ok = (start == 60 && stop == 77)

3015

|| (start == 1037 && stop == 60)

3016

|| (start == 82 && stop == 107);

3019

feat_ok = (start == 70 && stop == 89);

3022

feat_ok = (start == 307 && stop == 620) || (start == 54 && stop == 2);

3025

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 17);

3030

BOOST_CHECK_EQUAL(feat_ok,

true

);

3033

BOOST_CHECK_EQUAL(

count

, 10);

3055  bool

ignore_alignment(

true

);

3061

BOOST_REQUIRE(

cmd

);

3066  if

(b_iter) new_bsh = *b_iter;

3068

BOOST_REQUIRE(new_bsh);

3075

BOOST_CHECK_EQUAL(newseq, origseq + extendseq);

3085

BOOST_CHECK_EQUAL(type_ok,

true

);

3089  bool

feat_ok =

false

;

3093

feat_ok = (start == 0 && stop == 983);

3096

feat_ok = (start == 199 && stop == 599);

3099

feat_ok = (start == 249 && stop == 562);

3102

feat_ok = (start == 0 && stop == 69);

3107

BOOST_CHECK_EQUAL(feat_ok,

true

);

3110

BOOST_CHECK_EQUAL(

count

, 4);

3121  bool

ignore_alignment(

true

);

3131

BOOST_REQUIRE(

cmd

);

3136  if

(b_iter) new_bsh = *b_iter;

3138

BOOST_REQUIRE(new_bsh);

3151

BOOST_CHECK_EQUAL(type_ok,

true

);

3155  bool

feat_ok =

false

;

3159

feat_ok = (start == 0 && stop == 983) || (start == 989 && stop == 1074);

3162

feat_ok = (start == 199 && stop == 599);

3165

feat_ok = (start == 1104 && stop == 1124);

3168

feat_ok = (start == 249 && stop == 562) || (start == 1029 && stop == 1104);

3171

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 24);

3176

BOOST_CHECK_EQUAL(feat_ok,

true

);

3179

BOOST_CHECK_EQUAL(

count

, 8);

3190  bool

ignore_alignment(

false

);

3196

BOOST_REQUIRE(

cmd

);

3201  if

(b_iter) new_bsh = *b_iter;

3203

BOOST_REQUIRE(new_bsh);

3211  string

extend3seq(

"TGCAGTCGAGCGGCAGCACGGGGAGCTTGCTCCCTGGTGGCGAGCGGCGGACGGGTGAGTAATGTAGGAA\ 3212 TCTGCCCGGTAGTGGGGGATAACGTGGGGAAACCCACGCTAATACCGCATACGTCCTACGGGAGAAAGCG\ 3213 GAGGATCTTCGGACTTCGCGCTATCGGATGAGCCTATGTCGGATTAGCTAGTTGGTAAGGTAACGGCTTA\ 3214 CCAAGGCGACGATCCGTAGCTGGTCTGAGAGGATGATCAGCCACACTGGGACTGAGACACGGCCCAGACT\ 3215 CCTACGGGAGGCAGCAGTGGGGAATATTGGACAATGGGCGAAAGCCTTGATCCAGCCATGCCGCGTGTGT\ 3216 GAAGAAGGCTTTCGGGTTGTAAAGCACTTTCAGCGAGGAAGAAAGCCTGGTGGTTAAAGCACCGGCTAAC\ 3217 TCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCGAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCG\ 3218 TAGGTGGCTTGGCACGCCGGTTGTGAAAGCCCCGGGCTCAACCTGGGAACGGCATCCGGAACGGCCAGGC\ 3219 TAGAGTGCAGGAGAGGAAGGTAGAATTCCCGGTGTAGCGGTGAAATGCGTAGAGATCGGGAGGAATACCA\ 3220 GTGGCGAAGGCGGCCTTCTGGCCTGACACTGACACTGAGGTGCGAAAGCGTGGGTAGCAAACAGGATTAG\ 3221 ATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTAGCCGTTGGGACCTTTAAGGACTTAGTGGCGCAG\ 3222 TTAACGCGATAAGTCGACCGCCTGGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGC\ 3223 CCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAACGCGAAGAACCTTACCTACCCTTGACATCCT\ 3224 GCGAATTTGGTAGAGATACCTTAGTGCCTTCGGGAGCGCAGTGACAGGTGCTGCATGGCTGTCGTCAGCT\ 3225 CGCGCGGGAGAAAGGGGTTTTTTTTTTTATATTATACCCCACCCCTCTCTCCCGGGGGGAGATTAGCCAC\ 3226 AGGGGTTTTTTTTTTTATATTATACCCCCCGGGGGGAGATTAGCC"

);

3227

BOOST_CHECK_EQUAL(extend3seq, newseq);

3237

BOOST_CHECK_EQUAL(type_ok,

true

);

3241  bool

feat_ok =

false

;

3245

feat_ok = (start == 0 && stop == 983);

3248

feat_ok = (start == 199 && stop == 599);

3251

feat_ok = (start == 249 && stop == 562);

3254

feat_ok = (start == 0 && stop == 69);

3259

BOOST_CHECK_EQUAL(feat_ok,

true

);

3262

BOOST_CHECK_EQUAL(

count

, 4);

3274  bool

ignore_alignment(

false

);

3284

BOOST_REQUIRE(

cmd

);

3289  if

(b_iter) new_bsh = *b_iter;

3291

BOOST_REQUIRE(new_bsh);

3302

BOOST_CHECK_EQUAL(type_ok,

true

);

3306  bool

feat_ok =

false

;

3310

feat_ok = (start == 0 && stop == 983) || (start == 904 && stop == 989);

3313

feat_ok = (start == 199 && stop == 599);

3316

feat_ok = (start == 1019 && stop == 1039);

3319

feat_ok = (start == 249 && stop == 562) || (start == 944 && stop == 1019);

3322

feat_ok = (start == 0 && stop == 69) || (start == 0 && stop == 24);

3327

BOOST_CHECK_EQUAL(feat_ok,

true

);

3330

BOOST_CHECK_EQUAL(

count

, 8);

3335  string

old_fname(

"test_data/seq_for_3extend.asn"

);

3336  string

upd_fname(

"test_data/update_3extend.asn"

);

3343  bool

ignore_alignment(

false

);

3353

BOOST_REQUIRE(

cmd

);

3358  if

(b_iter) new_bsh = *b_iter;

3360

BOOST_REQUIRE(new_bsh);

3372

BOOST_CHECK_EQUAL(type_ok,

true

);

3376  bool

feat_ok =

false

;

3380

feat_ok = (start == 0 && stop == 983) || (start == 904 && stop == 944);

3383

feat_ok = (start == 979 && stop == 2)

3384

|| (start == 2 && stop == 19)

3385

|| (start == 849 && stop == 909);

3388

feat_ok = (start == 959 && stop == 999);

3391

feat_ok = (start == 899 && stop == 953) || (start == 1019 && stop == 1055);

3394

feat_ok = (start == 0 && stop == 11) || (start == 0 && stop == 16);

3399

BOOST_CHECK_EQUAL(feat_ok,

true

);

3402

BOOST_CHECK_EQUAL(

count

, 10);

3407  string

old_fname(

"test_data/retranslateCDS.asn"

);

3408  string

upd_fname(

"test_data/patch_retranslateCDS.asn"

);

3423

BOOST_REQUIRE(

cmd

);

3428  if

(b_iter) new_bsh = *b_iter;

3430

BOOST_REQUIRE(new_bsh);

3437

BOOST_CHECK_EQUAL(type_ok,

true

);

3441  bool

feat_ok =

false

;

3446

vector<TSeqRange> sublocs;

3447  for

(

CSeq_loc_CI

loc_iter(feat->GetLocation()); loc_iter; ++loc_iter) {

3448

sublocs.push_back(loc_iter.GetRange());

3451

vector<TSeqRange> explocs;

3458

feat_ok = (sublocs == explocs);

3465  string

protein(

"MGQVFLLLPVLLVSCFLSQGAAMENQRLFNIAVNRVQHLHLMAQKMFNDFEVTLLPDERRQLNKIFLLDF\ 3466 CNSDSIVSPPHIYIVLDRHVFKEREFKDRXSTSTRLRRVQSXSCSTSLTVXLNPGSTLARPXPSPTASXS\ 3467 ETPTRSLRSSATSKWASTCSSRGARMAYXAWMTMTLSSCPPTGTTTRTWGATETSGGTTSCWPASRRTCT\ 3468 RSRPTXPSPSAGSHWRPTALC"

);

3469

BOOST_CHECK_EQUAL(new_prot, protein);

3473

feat_ok = (start == 0 && stop == 230);

3478

BOOST_CHECK_EQUAL(feat_ok,

true

);

3481

BOOST_CHECK_EQUAL(

count

, 2);

3487  string

old_fname(

"test_data/OldSeq_CDS_mRNA.asn"

);

3488  string

upd_fname(

"test_data/UpdSeq_NoAlign.asn"

);

3503

BOOST_REQUIRE(

cmd

);

3508  if

(b_iter) new_bsh = *b_iter;

3510

BOOST_REQUIRE(new_bsh);

3520

BOOST_CHECK_EQUAL(type_ok,

true

);

3524  bool

feat_ok =

false

;

3528

feat_ok = (start == 0 && stop == 983);

3531

feat_ok = (start == 199 && stop == 599);

3534

feat_ok = (start == 249 && stop == 562);

3537

feat_ok = (start == 0 && stop == 69);

3542

BOOST_CHECK_EQUAL(feat_ok,

true

);

3545

BOOST_CHECK_EQUAL(

count

, 4);

3550  string

old_fname(

"test_data/OldSeq_CDS_mRNA.asn"

);

3551  string

upd_fname(

"test_data/UpdSeq_NoAlign.asn"

);

3566

BOOST_REQUIRE(

cmd

);

3571  if

(b_iter) new_bsh = *b_iter;

3573

BOOST_REQUIRE(new_bsh);

3583

BOOST_CHECK_EQUAL(type_ok,

true

);

3587  bool

feat_ok =

false

;

3591

feat_ok = (start == 1055 && stop == 2038);

3594

feat_ok = (start == 1254 && stop == 1654);

3597

feat_ok = (start == 1304 && stop == 1617);

3600

feat_ok = (start == 0 && stop == 69);

3605

BOOST_CHECK_EQUAL(feat_ok,

true

);

3608

BOOST_CHECK_EQUAL(

count

, 4);

3613  string

old_fname(

"test_data/GB_5422.asn"

);

3614  string

upd_fname(

"test_data/UpdSeq_NoAlign.asn"

);

3629

BOOST_REQUIRE(

cmd

);

3634  if

(b_iter) new_bsh = *b_iter;

3636

BOOST_REQUIRE(new_bsh);

3640

BOOST_CHECK(feat_it);

3651  string

old_fname(

"test_data/negstrand2.asn"

);

3652  string

upd_fname(

"test_data/negstrand2_upd.asn"

);

3666

BOOST_REQUIRE(

cmd

);

3674

BOOST_CHECK_EQUAL(type_ok,

true

);

3678

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3679  "Seq-loc ::= int {\n" 3683  " id local str \"AE10_1\",\n" 3688

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3689  "Seq-loc ::= int {\n" 3693  " id local str \"AE10_1\"\n" 3697

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3698  "Seq-loc ::= int {\n" 3702  " id local str \"AE10_1\",\n" 3714  string

old_fname(

"test_data/negstrand3.asn"

);

3715  string

upd_fname(

"test_data/negstrand3_upd.asn"

);

3729

BOOST_REQUIRE(

cmd

);

3737

BOOST_CHECK_EQUAL(type_ok,

true

);

3742

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3743  "Seq-loc ::= mix {\n" 3748  " id local str \"Nay14\",\n" 3749  " fuzz-from lim lt\n" 3755  " id local str \"Nay14\"\n" 3761  " id local str \"Nay14\"\n" 3767  " id local str \"Nay14\",\n" 3781  string

old_fname(

"test_data/negstrand.asn"

);

3782  string

upd_fname(

"test_data/negstrand_upd.asn"

);

3794

BOOST_REQUIRE(

cmd

);

3799  if

(b_iter) new_bsh = *b_iter;

3801

BOOST_REQUIRE(new_bsh);

3812

BOOST_CHECK_EQUAL(updseq, newseq);

3819

BOOST_CHECK_EQUAL(type_ok,

true

);

3823

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3824  "Seq-loc ::= int {\n" 3828  " id local str \"AE10_1_1\",\n" 3833  if

(

NStr::EqualNocase

(feat->GetComment(),

"before the alignment (1..>11)"

)) {

3834

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3835  "Seq-loc ::= int {\n" 3839  " id local str \"AE10_1_1\",\n" 3840  " fuzz-from lim lt\n" 3843  else if

(

NStr::EqualNocase

(feat->GetComment(),

"partially inside the alignment (<5..23)"

)) {

3844

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3845  "Seq-loc ::= int {\n" 3849  " id local str \"AE10_1_1\",\n" 3853  else if

(

NStr::EqualNocase

(feat->GetComment(),

"negative strand (<6..>50)"

)) {

3854

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3855  "Seq-loc ::= int {\n" 3859  " id local str \"AE10_1_1\",\n" 3860  " fuzz-from lim lt,\n" 3865

BOOST_CHECK_EQUAL(

MakeAsn

(feat->GetLocation()),

3866  "Seq-loc ::= int {\n" 3870  " id local str \"AE10_1_1\",\n" 3871  " fuzz-from lim lt\n" 3883  string

old_fname(

"test_data/deltaseq.asn"

);

3884  string

upd_fname(

"test_data/update_rawseq.asn"

);

3896

BOOST_REQUIRE(

cmd

);

3901  if

(b_iter) new_bsh = *b_iter;

3903

BOOST_REQUIRE(new_bsh);

3914

BOOST_CHECK_EQUAL(updseq, newseq);

3927  string

old_fname(

"test_data/delta_farpointers.asn"

);

3935  if

(b_iter) old_bsh = *b_iter;

3942

BOOST_REQUIRE(upd_bsh);

3956

BOOST_REQUIRE(

cmd

);

3961  if

(bseq_it) new_bsh = *bseq_it;

3963  short

count_genes = 0;

3964  for

(

CFeat_CI

feat_it(new_bsh); feat_it; ++feat_it) {

3968

BOOST_CHECK_EQUAL(count_genes, 185);

3974  string

old_fname(

"test_data/protein_seqs1.asn"

);

3975  string

upd_fname(

"test_data/protein_seqs1_update.fa"

);

3982

BOOST_REQUIRE(old_seh);

3989

BOOST_REQUIRE(

ok

);

3995

BOOST_CHECK(updates.

size

() == 4);

3996

BOOST_CHECK(identicals.

empty

());

3997

BOOST_CHECK(noUpdates.size() == 1);

4003  for

(

auto

& it : updates) {

4014

new_svec.

GetSeqData

(0, b_iter->GetBioseqLength(), prot_seq);

4015

BOOST_CHECK(prot_seq.front() ==

'M'

);

4021  string

old_fname(

"test_data/mat_peptide.asn"

);

4022  string

upd_fname(

"test_data/mat_pepshort_upd.fa"

);

4029

BOOST_REQUIRE(old_seh);

4036

BOOST_REQUIRE(

ok

);

4042

BOOST_CHECK(updates.

size

() == 1);

4043

BOOST_CHECK(identicals.

empty

());

4044

BOOST_CHECK(noUpdates.empty());

4050  for

(

auto

& it : updates) {

4059

BOOST_CHECK(b_iter);

4063

BOOST_CHECK(prot_seq.front() ==

'M'

);

4067  const CProt_ref

& prot_ref = it->GetOriginalFeature().GetData().GetProt();

4070

BOOST_CHECK_EQUAL(

MakeAsn

(it->GetLocation()),

4071  "Seq-loc ::= int {\n" 4074  " id local str \"Seq4_prot_6\"\n" 4078  if

(prot_ref.

GetName

().front() ==

"HA1"

) {

4079

BOOST_CHECK_EQUAL(

MakeAsn

(it->GetLocation()),

4080  "Seq-loc ::= int {\n" 4083  " id local str \"Seq4_prot_6\"\n" 4087

BOOST_CHECK_EQUAL(

MakeAsn

(it->GetLocation()),

4088  "Seq-loc ::= int {\n" 4091  " id local str \"Seq4_prot_6\"\n" 4097

BOOST_CHECK_EQUAL(

MakeAsn

(it->GetLocation()),

4098  "Seq-loc ::= int {\n" 4101  " id local str \"Seq4_prot_6\"\n" 4117

BOOST_REQUIRE(b_iter);

4120  string

extend(

"aaallaagggggzzzztttttccccec"

);

4125

BOOST_CHECK(inst_ext5->

GetLength

() == 80);

4131

BOOST_CHECK_EQUAL(extended5,

string

(

"AAAAAGGGGGTTTTTCCCCCAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAA"

));

4136

BOOST_CHECK_EQUAL(extended3,

string

(

"AATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAATTGGCCAAAAAAAGGGGGTTTTTCCCCC"

));

4141  string

extend(

"PPPPP"

);

4145

BOOST_CHECK(!inst_ext5);

4146

BOOST_CHECK(!inst_ext3);

4158

newloc->

SetInt

().SetFrom(30);

4159

newloc->

SetInt

().SetTo(59);

4160

newloc->

SetInt

().SetId().Assign(*seq_id);

4164

BOOST_REQUIRE(extend.size() == 20);

4168  "Seq-loc ::= packed-int {\n" 4172  " id local str \"good\"\n" 4177  " id local str \"good\"\n" 4186  "Seq-loc ::= packed-int {\n" 4191  " id local str \"good\"\n" 4197  " id local str \"good\"\n" 4214  "Seq-loc ::= packed-int {\n" 4219  " id local str \"good\"\n" 4225  " id local str \"good\"\n" 4230  "Seq-loc ::= int {\n" 4234  " id local str \"good\"\n" 4242  string

old_fname(

"test_data/collideID.asn"

);

4243  string

upd_fname(

"test_data/collideID_update.asn"

);

4248

BOOST_REQUIRE(old_seh);

4256

BOOST_REQUIRE(upd_seh);

4262  string

old_fname(

"test_data/GB_5422.asn"

);

4267

BOOST_REQUIRE(old_seh);

4271  if

(b_iter) old_bsh = *b_iter;

4279

BOOST_REQUIRE(upd_seh);

4283  if

(bupd_iter) upd_bsh = *bupd_iter;

4289  " name \"Alignment generated between two identical sequences\"\n" 4299  " local str \"KT250608_update\",\n" 4301  " accession \"KT250608\"\n" 4320  string

old_fname(

"test_data/goodalign.asn"

);

4321  string

upd_fname(

"test_data/update_goodalign.asn"

);

4331

BOOST_CHECK(align->GetAlignLength() == 228);

4336  string

old_fname(

"test_data/GB_8669.asn"

);

4337  string

upd_fname(

"test_data/update_GB_8669.asn"

);

4347

BOOST_CHECK(align->GetAlignLength() == 53333);

4353 Seq-entry ::= set { \ 4359  taxname \"Salinicola sp. SOil-1\" , \ 4365  local str \"Untitled_Seq_#1\" , \ 4367  accession \"KM986631\" } } , \ 4375  seq-data iupacna \"\ 4376 TGCAGTCGAGCGGCAGCACGGGGAGCTTGCTCCCTGGTGGCGAGCGGCGGACGGGTGAGTAATGTAGGAA\ 4377 TCTGCCCGGTAGTGGGGGATAACGTGGGGAAACCCACGCTAATACCGCATACGTCCTACGGGAGAAAGCG\ 4378 GAGGATCTTCGGACTTCGCGCTATCGGATGAGCCTATGTCGGATTAGCTAGTTGGTAAGGTAACGGCTTA\ 4379 CCAAGGCGACGATCCGTAGCTGGTCTGAGAGGATGATCAGCCACACTGGGACTGAGACACGGCCCAGACT\ 4380 CCTACGGGAGGCAGCAGTGGGGAATATTGGACAATGGGCGAAAGCCTTGATCCAGCCATGCCGCGTGTGT\ 4381 GAAGAAGGCTTTCGGGTTGTAAAGCACTTTCAGCGAGGAAGAAAGCCTGGTGGTTAAAGCACCGGCTAAC\ 4382 TCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCGAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCG\ 4383 TAGGTGGCTTGGCACGCCGGTTGTGAAAGCCCCGGGCTCAACCTGGGAACGGCATCCGGAACGGCCAGGC\ 4384 TAGAGTGCAGGAGAGGAAGGTAGAATTCCCGGTGTAGCGGTGAAATGCGTAGAGATCGGGAGGAATACCA\ 4385 GTGGCGAAGGCGGCCTTCTGGCCTGACACTGACACTGAGGTGCGAAAGCGTGGGTAGCAAACAGGATTAG\ 4386 ATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTAGCCGTTGGGACCTTTAAGGACTTAGTGGCGCAG\ 4387 TTAACGCGATAAGTCGACCGCCTGGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGC\ 4388 CCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAACGCGAAGAACCTTACCTACCCTTGACATCCT\ 4389 GCGAATTTGGTAGAGATACCTTAGTGCCTTCGGGAGCGCAGTGACAGGTGCTGCATGGCTGTCGTCAGCT\ 4397  gene{ locus \"16S rDNA\" } , \ 4398  comment \"partial sequence\", \ 4404  id local str \"Untitled_Seq_#1\" } } , \ 4410  name \"new mRNA\" } , \ 4411  comment \"mRNA comment\" , \ 4420  accession \"KM986631\" } } , \ 4427  accession \"KM986631\" } } } } } } } } , \ 4429  id { local str \"KM986631_1\" } , \ 4433  completeness partial } } , \ 4439  ncbieaa \"HTGTETRPRLLREAAVGNIGQWAKALIQPCRVCEEGFRVVKHFQRGRKPGGTPVVKAPGSTWERHPERPG\" } , \ 4447  name { \"new protein\" } } , \ 4453  id local str \"KM986631_1\" } } } } } } } , \ 4465  whole local str \"KM986631_1\" , \ 4474  accession \"KM986631\" } } , \ 4481  accession \"KM986631\" } } } } } } } } \ 4485 Seq-entry ::= seq { \ 4487  local str \"Seq_01\" } , \ 4492  seq-data iupacna \"\ 4493 TGCAGTCGAGCGGCAGCACGGGGAGCTTGCTCCCTGGTGGCGAGCGGCGGACGGGTGAGTAATGTAGGAA\ 4494 TCTGCCCGGTAGTGGGGGATAACGTGGGGAAACCCACGCTAATACCGCATACGTCCTACGGGAGAAAGCG\ 4495 GAGGATCTTCGGACTTCGCGCTATCGGATGAGCCTATGTCGGATTAGCTAGTTGGTAAGGTAACGGCTTA\ 4496 CCAAGGCGACGATCCGTAGCTGGTCTGAGAGGATGATCAGCCACACTGGGACTGAGACACGGCCCAGACT\ 4497 CCTACGGGAGGCAGCAGTGGGGAATATTGGACAATGGGCGAAAGCCTTGATCCAGCCATGCCGCGTGTGT\ 4498 GAAGAAGGCTTTCGGGTTGTAAAGCACTTTCAGCGAGGAAGAAAGCCTGGTGGTTAAAGCACCGGCTAAC\ 4499 TCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCGAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCG\ 4500 TAGGTGGCTTGGCACGCCGGTTGTGAAAGCCCCGGGCTCAACCTGGGAACGGCATCCGGAACGGCCAGGC\ 4501 TAGAGTGCAGGAGAGGAAGGTAGAATTCCCGGTGTAGCGGTGAAATGCGTAGAGATCGGGAGGAATACCA\ 4502 GTGGCGAAGGCGGCCTTCTGGCCTGACACTGACACTGAGGTGCGAAAGCGTGGGTAGCAAACAGGATTAG\ 4503 ATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTAGCCGTTGGGACCTTTAAGGACTTAGTGGCGCAG\ 4504 TTAACGCGATAAGTCGACCGCCTGGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGC\ 4505 CCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAACGCGAAGAACCTTACCTACCCTTGACATCCT\ 4506 GCGAATTTGGTAGAGATACCTTAGTGCCTTCGGGAGCGCAGTGACAGGTGCTGCATGGCTGTCGTCAGCT\ 4511 Seq-entry ::= seq { \ 4513  local str \"Seq_02\" } , \ 4518  seq-data iupacna \"\ 4519 GAGGCACGGGGAGCTTGCTCCCTGGTGGCGAGCGGCGGACGGGTGAGTAATGTAGGAA\ 4520 TCTGCCCGGTAGTGGGGGATAACGTGGGGAAACCCACGCTAATACCGCATACGTCCTACGGGAGAAAGCG\ 4521 GAGGATCTTCGGACTTCGCGCTATCGGATGAGCCTATGTCGGATTAGCTAGTTGGTAAGGTAACGGCTTA\ 4522 CCAAGGCGACGATCCGTAGCTGGTCTGAGAGGATGATCAGCCACACTGGGACTGAGACACGGCCCAGACT\ 4523 CCTACGGGAGGCAGCAGTGGGGAATATTGGACAATGGGCGAAAGCCTTGATCCAGCCATGCCGCGTGTGT\ 4524 GAAGAAGGCTTTCGGGTTGTAAAGCACTTTCAGCGAGGAAGAAAGCCTGGTGGTTAATACCCATCAGGAA\ 4525 GGACATCACTCGCAGAAGAAGCACCGGCTAACTCCGTGCCAGCAGCCGCGGTAATACGGAGGGTGCGAGC\ 4526 GTTAATCGGAATTACTGGGCGTAAAGCGCGCGTAGGTGGCTTGGCACGCCGGTTGTGAAAGCCCCGGGCT\ 4527 CAACCTGGGAACGGCATCCGGAACGGCCAGGCTAGAGTGCAGGAGAGGAAGGTAGAATTCCCGGTGTAGC\ 4528 GGTGAAATGCGTAGAGATCGGGAGGAATACCAGTGGCGAAGGCGGCCTTCTGGCCTGACACTGACACTGA\ 4529 GGTGCGAAAGCGTGGGTAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCGACTAG\ 4530 CCGTTGGGACCTTTAAGGACTTAGTGGCGCAGTTAACGCGATAAGTCGACCGCCTGGGGGAGTACGGCCG\ 4531 CAAGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCA\ 4532 ACGCGAAGAACCTTACCTACCCTTGACATCCTGCGAATTTGGTAGAGATACCTTAGTGCCTTCGGGAGCG\ 4533 CAGTGACAGGTGCTGCATGGCTGTCGTCAGCTCGTGTTGTGAAATGTTGGGTTAAGTCCCGTAACGAGCG\ 4534 CAACCCTTTGTCCTTATTTGCCAGCACGTAATGGTGGGAACTCTAAGGAGACTGCCGGTGACAAACCGGA\ 4535 GGAAGGTGGGGACGACGTCGGCCCTTACGGGTAGGGCTACACACGTGCTACAATGGCCGG\ 4536 TACAAAGGGTTGCGAGACCGCGAGGTGGAGCGAATCCCAGAAAGCCGGCCTCAGTCCGGATCGGAGTCTG\ 4537 CAACTCGACTCCGTGAAGTCGGAAAGTAATCGTGAATCAGAATGTCACGGTGAATACGTTCCCGG\ 4538 GCCTTGTACACACCGCCCGTCACACCATGGGAGTGGACTGCACCAGAAGTGGTTAGC\" } \ 4542 Seq-entry ::= set { \ 4546  id { local str \"Seq_02\" } , \ 4551  seq-data iupacna \"AGGAGAGGAAGGTAGAATTCCCGGTGTAGCGGTGAAATGCGTAGAGATCGGGCCCCCCCCCCCCCCCCCC\ 4552 CCTGACACTGAGGTGCGAAAGCATGGGTAGCAAACAGGATTAGATACCCTGGTAGTCCACGC\" } , \ 4559  gene{ locus \"new gene locus\" } , \ 4565  id local str \"seq_02\" } } } } } } , \ 4567  id{ local str \"seq_02_1\" } , \ 4569  title \"new protein name, partial\", \ 4572  tech concept-trans, \ 4573  completeness no-left } } , \ 4578  seq-data ncbieaa \"PGVAVKCVEIGPPPPPPPDTEVRKHG\" } , \ 4586  name { \"new protein name\" } , \ 4587  desc \"new protein descr\" } , \ 4593  id local str \"seq_02_1\" , \ 4594  fuzz-from lim lt } } } } } } } , \ 4605  product whole local str \"seq_02_1\" , \ 4611  id local str \"seq_02\" , \ 4612  fuzz-from lim lt } } } } } } \ 4616 Seq-entry ::= set { \ 4620  id { local str \"Seq_extend5\" } , \ 4625  seq-data iupacna \"\ 4626 GGGGGGGGGGCCCCGGAAAAAAAAAGGGGGGGGGGGCGCACGTTTTTTCACACAGGGGTGCAGTCGAGCGGCAGCACGGGGAGCTTGCTCCCTGG\" } , \ 4634  locus \"import gene locusA\" }, \ 4641  id local str \"Seq_extend5\", \ 4643  fuzz-to lim gt } } , \ 4647  key \"misc_feature\" } , \ 4653  id local str \"Seq_extend5\" } , \ 4660  val \"feat_product\" } } } } } } }, \ 4662  id { local str \"Seq_extend5_1\" } , \ 4664  title \"import gene locusA gene product\", \ 4667  tech concept-trans } } , \ 4672  seq-data ncbieaa \"MCEKTCAPPPFFFPGPPP\" } , \ 4680  name{ \"GR_protein name\" } } , \ 4685  id local str \"Seq_extend5_1\" } } } } } } } , \ 4695  whole local str \"Seq_extend5_1\", \ 4701  id local str \"Seq_extend5\" } } } } } } \ 4705 Seq-entry ::= set { \ 4709  id { local str \"Seq_extend5\" } , \ 4714  seq-data iupacna \"\ 4715 GGGGGGGGGGCCCCGGAAAAAAAAAGGGGGGGGGGGCGCACGTTTTTTCACACAGGGGTGCAGTCGGGCAGCACGGGGAGCTTGCTCCCTGG\" } , \ 4723  locus \"import gene locusA\" }, \ 4730  id local str \"Seq_extend5\", \ 4732  fuzz-to lim gt } } , \ 4736  key \"misc_feature\" } , \ 4742  id local str \"Seq_extend5\" } , \ 4749  val \"feat_product\" } } } } } } }, \ 4751  id { local str \"Seq_extend5_1\" } , \ 4753  title \"import gene locusA gene product\", \ 4756  tech concept-trans } } , \ 4761  seq-data ncbieaa \"-GGPGKKKGGGAHVFSH\" } , \ 4769  name{ \"GR_protein name\" } } , \ 4774  id local str \"Seq_extend5_1\" } } } } } } } , \ 4784  whole local str \"Seq_extend5_1\", \ 4790  id local str \"Seq_extend5\" } } } } } } \ 4794 Seq-entry ::= set { \ 4798  id { local str \"Seq_extend3\" } , \ 4803  seq-data iupacna \"\ 4804 TTGACATCCTGCGAATTTGGTAGAGATACCTTAGTGCCTTCGGGAGCGCAGTGACAGGTGCTGCATGGCTGTCGT\ 4805 CAGCTCGCGCGGGAGAAAGGGGTTTTTTTTTTTATATTATACCCCACCCCTCTCTCCCGGGGGGAGATTAGCCAC\ 4806 AGGGGTTTTTTTTTTTATATTATACCCCCCGGGGGGAGATTAGCC\" } , \ 4814  locus \"import extend3 gene locus\" ,\ 4815  allele \"dominant\" } ,\ 4821  id local str \"Seq_extend3\" } }, \ 4825  key \"misc_feature\" }, \ 4832  id local str \"Seq_extend3\" }, \ 4836  id local str \"Seq_extend3\" } }, \ 4843  val \"ext3 misc_feat product\" } } } } } } }, \ 4846  local str \"Seq_extend3_1\" }, \ 4848  title \"new test protein ext3\", \ 4851  tech concept-trans } }, \ 4856  seq-data ncbieaa \"AQ*QVLHGCRQLAREKGVFFFILYP\" }, \ 4864  name{ \"new test protein ext3\" } }, \ 4869  id local str \"Seq_extend3_1\" } } } } } } }, \ 4879  product whole local str \"Seq_extend3_1\", \ 4885  id local str \"Seq_extend3\" } } } } } } \

@ eExtreme_Positional

numerical value

@ eExtreme_Biological

5' and 3'

bool IsGeneralIdProtPresent(objects::CSeq_entry_Handle tse)

const CSeq_id * GetFirstId() const

const CSeq_id * GetLocalId() const

Find a local ID if present.

void AddCommand(IEditCommand &command)

virtual void Execute()

Do the editing action.

void SetToTime(const CTime &time, EPrecision prec=ePrecision_second)

Base class for reading FASTA sequences.

static string GetLoaderNameFromArgs(CReader *reader=0)

static TRegisterLoaderInfo RegisterInObjectManager(CObjectManager &om, CReader *reader=0, CObjectManager::EIsDefault is_default=CObjectManager::eDefault, CObjectManager::TPriority priority=CObjectManager::kPriority_NotSet)

CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:

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

static SIZE_TYPE Convert(const CTempString &src, TCoding src_coding, TSeqPos pos, TSeqPos length, string &dst, TCoding dst_coding)

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

namespace ncbi::objects::

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

Class responsible for executing the sequence update for one old-update sequence pair.

static CRef< objects::CSeq_feat > s_OffsetFeature(const objects::CSeq_feat &feat, const TSeqPos offset, const objects::CSeq_id *newId=NULL)

Offsets the location of the feature.

static CRef< objects::CSeq_inst > s_ExtendOneEndOfSequence(const objects::CBioseq_Handle &bsh, const string &extension, SUpdateSeqParams::ESequenceUpdateType update_type)

Extends the 5' or 3' end of a NA sequence (no alignment is necessary).

bool IsUpdateSequenceRaw() const

static string s_GetValidExtension(const string &extension)

bool IsOldSequenceOK() const

const string & GetCitSubMessage() const

CRef< CCmdComposite > Update(bool create_general_only)

Main function responsible to update the old sequence with the update sequence.

const TSeqIDHVector & GetSeqsWithoutUpdates() const

const TIDToUpdInputMap & GetNonIdenticalUpdates() const

vector< objects::CSeq_id_Handle > TSeqIDHVector

bool PrepareMultipleSequenceInputsForUnitTest()

bool SetOldEntryAndScope(const objects::CSeq_entry_Handle &tse)

const TIDToUpdInputMap & GetIdenticalUpdates() const

bool SetUpdateEntry(CRef< objects::CSeq_entry > update)

Sets up the old and the update sequences, and generates the alignment between them.

bool IsReadyForUpdate(void) const

bool SetOldBioseqAndScope(IWorkbench *workbench, const objects::CSeq_entry_Handle &tse)

bool SetUpdateBioseq(const objects::CBioseq_Handle &bsh)

void CalculateAlignmentForUnitTest(void)

Calculates the alignment between the old and the update sequence, sets m_Align member.

CConstRef< objects::CSeq_align > GetAlignment(void) const

static void s_FixCollidingIDs_Entry(objects::CSeq_entry &entry, const objects::CBioseq::TId &seq_ids)

When the old and the update sequences have the same ID, the ID of the update sequence is modified.

bool HaveIdenticalResidues(void) const

static CRef< objects::CSeq_annot > s_Align2IdenticalSeq(const objects::CBioseq_Handle &subject, const objects::CBioseq_Handle &query)

const objects::CBioseq_Handle & GetUpdateBioseq(void) const

const objects::CBioseq_Handle & GetOldBioseq(void) const

Stores parameters regarding the type of sequence update, on how to handle existing features and on ho...

@ eFeatUpdateAllExceptDups

@ eFeatUpdateAllReplaceDups

@ eFeatUpdateAllMergeDups

EFeatUpdateType m_FeatImportOption

TProtUpdFlags m_UpdateProteins

objects::CSeqFeatData::ESubtype m_FeatImportType

Defines the imported feature subtype.

bool m_AddCitSub

flag to attach a citation with the current date (false)

EFeatRemoveType m_FeatRemoveOption

bool m_ImportFeatures

Flag to indicate that features from the update sequence will be imported.

bool m_KeepProteinId

flag to update protein IDs, default is to update (false) - relevant only to imported protein IDs

@ eProtUpdate

retranslate coding regions and update the proteins

@ eSeqUpdateReplace

do not change the old sequence

@ eSeqUpdateExtend3

extend the 5' end of old sequence with the update

@ eSeqUpdatePatch

replace old sequence with update sequence

@ eSeqUpdateExtend5

patch old sequence with update in the aligned region

Operators to edit gaps in sequences.

static SQLCHAR output[256]

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

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

#define LOG_POST(message)

This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...

void Error(CExceptionArgs_Base &args)

const string & GetMsg(void) const

Get message string.

string ReportAll(TDiagPostFlags flags=eDPF_Exception) const

Report all exceptions.

const TPrim & Get(void) const

#define MSerial_AsnText

I/O stream manipulators –.

@ eSerial_AsnText

ASN.1 text.

CRef< CSeq_entry > ReadSet(int max_seqs=kMax_Int, ILineErrorListener *pMessageListener=nullptr)

Read multiple sequences (by default, as many as are available.)

long TFlags

binary OR of EFlags

@ fHyphensIgnoreAndWarn

When a hyphen is encountered in seq data, ignore it but warn.

@ fUniqueIDs

Forbid duplicate IDs.

@ fAddMods

Parse defline mods and add to SeqEntry.

@ fNoSplit

Don't split out ambiguous sequence regions.

void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const

Append a label for this Seq-id to the supplied string.

bool Match(const CSeq_id &sid2) const

Match() - TRUE if SeqIds are equivalent.

bool IsPartialStart(ESeqLocExtremes ext) const

check start or stop of location for e_Lim fuzz

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 CObjectIStream * Open(ESerialDataFormat format, CNcbiIstream &inStream, bool deleteInStream)

Create serial object reader and attach it to an input stream.

void AddDataLoader(const string &loader_name, TPriority pri=kPriority_Default)

Add data loader by name.

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...

CBioseq_Handle GetBioseqHandle(const CSeq_id &id)

Get bioseq handle by seq-id.

void AddDefaults(TPriority pri=kPriority_Default)

Add default data loaders from object manager.

CConstRef< CBioseq > GetCompleteBioseq(void) const

Get the complete bioseq.

TClass GetClass(void) const

CBioseq_set_Handle GetParentBioseq_set(void) const

Return a handle for the parent Bioseq-set, or null handle.

TSeqPos GetBioseqLength(void) const

CSeq_entry_Handle GetSeq_entry_Handle(void) const

Get parent Seq-entry handle.

TInst_Mol GetInst_Mol(void) const

TInst_Strand GetInst_Strand(void) const

TInst_Topology GetInst_Topology(void) const

CSeq_entry_Handle GetTopLevelEntry(void) const

Get top level Seq-entry handle.

CSeq_entry_Handle GetParentEntry(void) const

Return a handle for the parent seq-entry of the bioseq.

bool IsSetClass(void) const

CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const

Complete and get const reference to the seq-entry.

TInst_Repr GetInst_Repr(void) const

CScope & GetScope(void) const

Get scope this handle belongs to.

CConstRef< CSeq_feat > GetOriginalSeq_feat(void) const

CSeq_entry_Handle GetTopLevelEntry(void) const

Get top level Seq-entry handle.

CSeqVector GetSeqVector(EVectorCoding coding, ENa_strand strand=eNa_strand_plus) const

Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.

const TInst & GetInst(void) const

@ eCoding_Iupac

Set coding to printable coding (Iupacna or Iupacaa)

const CSeq_loc & GetLocation(void) const

void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const

Fill the buffer string with the sequence data for the interval [start, stop).

TObjectType & GetObject(void)

Get object.

IO_PREFIX::ifstream CNcbiIfstream

Portable alias for ifstream.

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

Case-insensitive equality of a substring with another string.

CTime CurrentTime(CTime::ETimeZone tz=CTime::eLocal, CTime::ETimeZonePrecision tzp=CTime::eTZPrecisionDefault)

const TDescr & GetDescr(void) const

Get the Descr member data.

const TDate & GetDate(void) const

Get the Date member data.

bool IsSetDescr(void) const

description of changes for public view Check if a value has been assigned to Descr data member.

bool IsSetDate(void) const

replaces imp, will become required Check if a value has been assigned to Date data member.

const TName & GetName(void) const

Get the Name member data.

TProcessed GetProcessed(void) const

Get the Processed member data.

bool IsSetProcessed(void) const

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

@ eProcessed_signal_peptide

TTRNA & SetTRNA(void)

Select the variant.

const TAnticodon & GetAnticodon(void) const

Get the Anticodon member data.

void SetAnticodon(TAnticodon &value)

Assign a value to Anticodon data member.

const TExt & GetExt(void) const

Get the Ext member data.

const TTRNA & GetTRNA(void) const

Get the variant data.

void SetLocation(TLocation &value)

Assign a value to Location 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.

const TProduct & GetProduct(void) const

Get the Product member data.

const TRna & GetRna(void) const

Get the variant data.

const TSeq & GetSeq(void) const

Get the variant data.

TSeq & SetSeq(void)

Select the variant.

@ eClass_nuc_prot

nuc acid and coded proteins

const TId & GetId(void) const

Get the Id member data.

bool IsNcbi4na(void) const

Check if variant Ncbi4na is selected.

bool IsSetExt(void) const

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

const Tdata & Get(void) const

Get the member data.

TLength GetLength(void) const

Get the Length member data.

list< CRef< CSeq_id > > TId

TMol GetMol(void) const

Get the Mol member data.

void SetInst(TInst &value)

Assign a value to Inst data member.

const TNcbi2na & GetNcbi2na(void) const

Get the variant data.

const TPub & GetPub(void) const

Get the Pub member data.

const TSeq_data & GetSeq_data(void) const

Get the Seq_data member data.

const TDescr & GetDescr(void) const

Get the Descr member data.

@ eRepr_raw

continuous sequence

@ e_Pub

a reference to the publication

@ eTopology_tandem

some part of tandem repeat

@ eMol_na

just a nucleic acid

@ eStrand_ds

double strand

Defines the CNcbiApplication and CAppException classes for creating NCBI applications.

std::istream & in(std::istream &in_, double &x_)

Utility macros and typedefs for exploring NCBI objects from pub.asn.

#define FOR_EACH_PUB_ON_PUBDESC(Itr, Var)

FOR_EACH_PUB_ON_PUBDESC EDIT_EACH_PUB_ON_PUBDESC.

#define FOR_EACH_SEQDESC_ON_BIOSEQ(Itr, Var)

FOR_EACH_SEQDESC_ON_BIOSEQ EDIT_EACH_SEQDESC_ON_BIOSEQ.

#define VISIT_ALL_SEQFEATS_WITHIN_SEQENTRY(Itr, Var)

VISIT_ALL_SEQFEATS_WITHIN_SEQENTRY.

Utility stuff for more convenient using of Boost.Test library.

CRef< CSeq_entry > ReadEntryFromFile(const string &fname)

const char * sc_UpdSequence_Replace

const char * sc_UpdSequence_Patch

CRef< CSeq_entry > ReadEntry(const char *seq)

string MakeAsn(const T &object)

const char * sc_MainSequence

void SetupForUpdate(const CSeq_entry_Handle &old_seh, const CSeq_entry_Handle &upd_seh, CUpdateSeq_Input &sequpd_in, bool identical_res=false)

BOOST_AUTO_TEST_CASE(Test_SameSequence)

const char * sc_UpdSequence_Extend5_AlignWithGap

CRef< CScope > BuildScope(void)

CRef< CSeq_entry > ReadFastaSeqsFromFile(const string &fname)

void ReadFromFile(const string &old_seq, const string &upd_seq, CSeq_entry_Handle &old_seh, CSeq_entry_Handle &upd_seh)

void ReadBioSeqs(const char *old_seq, const char *upd_seq, CSeq_entry_Handle &old_seh, CSeq_entry_Handle &upd_seh)

const char * sc_UpdSequence_Extend3

const char * sc_UpdSequence_Same

const char * sc_UpdSequence_Extend5

CRef< objects::CSeq_feat > MakeMiscFeature(CRef< objects::CSeq_id > id, size_t right_end=10, size_t left_end=0)

CRef< objects::CSeq_entry > BuildGoodSeq(void)


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