536
static void ReportDiffs (
552
sprintf (cmmd, "%s -o %s -n %s -d reports", ffdiff, path1, path2);
555
sprintf (cmmd, "rm %s; rm %s", path1, path2);
558
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path1, path1, path1);
561
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path2, path2, path2);
564
sprintf (cmmd, "diff %s.suc %s.suc > %s", path1, path2, path3);
567
sprintf (cmmd, "cat %s", path3);
568
fpo = popen (cmmd, "r");
570
while ((ct = fread (buf, 1, sizeof (buf), fpo)) > 0) {
571
fwrite (buf, 1, ct, fp);
577
sprintf (cmmd, "rm %s.suc; rm %s.suc", path1, path2);
532
582
static void CompareFlatFiles (
580
630
SaveAsn2gnbk (sep, path1, format, SEQUIN_MODE, style, flags, locks, custom);
581
631
SaveAsn2gnbk (sep, path2, format, RELEASE_MODE, style, flags, locks, custom);
584
sprintf (cmmd, "%s -o %s -n %s -d reports", ffdiff, path1, path2);
587
sprintf (cmmd, "rm %s; rm %s", path1, path2);
590
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path1, path1, path1);
593
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path2, path2, path2);
596
sprintf (cmmd, "diff %s.suc %s.suc > %s", path1, path2, path3);
599
sprintf (cmmd, "cat %s", path3);
600
fpo = popen (cmmd, "r");
602
while ((ct = fread (buf, 1, sizeof (buf), fpo)) > 0) {
603
fwrite (buf, 1, ct, fp);
609
sprintf (cmmd, "rm %s.suc; rm %s.suc", path1, path2);
633
ReportDiffs (path1, path2, path3, fp, ffdiff, useFfdiff);
613
635
} else if (batch == 3) {
637
#ifdef ASN2GNBK_SUPPRESS_UNPUB_AFFIL
638
VisitPubdescsInSep (sep, NULL, FreeUnpubAffil);
615
641
SaveAsn2gnbk (sep, path1, format, mode, style, flags, locks, custom);
617
aip = AsnIoOpen (path3, "w");
618
if (aip == NULL) return;
620
SeqEntryAsnWrite (sep, aip, NULL);
623
fsep = FindNthBioseq (sep, 1);
624
if (fsep == NULL || fsep->choice != 1) return;
625
bsp = (BioseqPtr) fsep->data.ptrvalue;
626
if (bsp == NULL) return;
627
SeqIdWrite (bsp->id, buf, PRINTID_FASTA_LONG, sizeof (buf));
629
arguments [0] = '\0';
630
sprintf (arguments, "-format %s -mode %s -style %s -view %s",
631
fffmt [(int) format], ffmod [(int) mode], ffstl [(int) style], ffvew [(int) format]);
633
sprintf (cmmd, "%s %s -i %s -o %s", asn2flat, arguments, path3, path2);
637
sprintf (cmmd, "%s -o %s -n %s -d reports", ffdiff, path1, path2);
640
sprintf (cmmd, "rm %s; rm %s", path1, path2);
643
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path1, path1, path1);
646
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path2, path2, path2);
649
sprintf (cmmd, "diff %s.suc %s.suc > %s", path1, path2, path3);
652
sprintf (cmmd, "cat %s", path3);
653
fpo = popen (cmmd, "r");
655
while ((ct = fread (buf, 1, sizeof (buf), fpo)) > 0) {
656
fwrite (buf, 1, ct, fp);
662
sprintf (cmmd, "rm %s.suc; rm %s.suc", path1, path2);
642
SeriousSeqEntryCleanupBulk (sep);
643
SaveAsn2gnbk (sep, path2, format, mode, style, flags, locks, custom);
645
ReportDiffs (path1, path2, path3, fp, ffdiff, useFfdiff);
666
647
} else if (batch == 4) {
691
672
sprintf (cmmd, "%s %s -i %s -o %s", asn2flat, arguments, path3, path2);
695
sprintf (cmmd, "%s -o %s -n %s -d reports", ffdiff, path1, path2);
698
sprintf (cmmd, "rm %s; rm %s", path1, path2);
701
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path1, path1, path1);
704
sprintf (cmmd, "sort %s | uniq -c > %s.suc; rm %s", path2, path2, path2);
707
sprintf (cmmd, "diff %s.suc %s.suc > %s", path1, path2, path3);
710
sprintf (cmmd, "cat %s", path3);
711
fpo = popen (cmmd, "r");
713
while ((ct = fread (buf, 1, sizeof (buf), fpo)) > 0) {
714
fwrite (buf, 1, ct, fp);
720
sprintf (cmmd, "rm %s.suc; rm %s.suc", path1, path2);
675
ReportDiffs (path1, path2, path3, fp, ffdiff, useFfdiff);
724
677
} else if (batch == 5) {
679
SaveAsn2gnbk (sep, path1, format, mode, style, flags, locks, custom);
681
aip = AsnIoOpen (path3, "w");
682
if (aip == NULL) return;
684
SeqEntryAsnWrite (sep, aip, NULL);
687
fsep = FindNthBioseq (sep, 1);
688
if (fsep == NULL || fsep->choice != 1) return;
689
bsp = (BioseqPtr) fsep->data.ptrvalue;
690
if (bsp == NULL) return;
691
SeqIdWrite (bsp->id, buf, PRINTID_FASTA_LONG, sizeof (buf));
693
arguments [0] = '\0';
694
sprintf (arguments, "-format %s -mode %s -style %s -view %s",
695
fffmt [(int) format], ffmod [(int) mode], ffstl [(int) style], ffvew [(int) format]);
697
sprintf (cmmd, "%s %s -i %s -o %s", asn2flat, arguments, path3, path2);
700
ReportDiffs (path1, path2, path3, fp, ffdiff, useFfdiff);
702
} else if (batch == 6) {
726
704
aip = AsnIoOpen (path3, "w");
727
705
if (aip == NULL) return;
1368
1364
FALSE, 'h', ARG_INT, 0.0, 0, NULL},
1369
1365
{"Custom Flags (4 HideFeats, 1792 HideRefs, 8192 HideSources, 262144 HideTranslation)", "0", NULL, NULL,
1370
1366
FALSE, 'u', ARG_INT, 0.0, 0, NULL},
1371
{"ASN.1 Type (a Any, e Seq-entry, b Bioseq, s Bioseq-set, m Seq-submit, t Batch Bioseq-set, u Batch Seq-submit)", "a", NULL, NULL,
1368
" Single Record: a Any, e Seq-entry, b Bioseq, s Bioseq-set, m Seq-submit\n"
1369
" Release File: t Batch Bioseq-set, u Batch Seq-submit\n", "a", NULL, NULL,
1372
1370
TRUE, 'a', ARG_STRING, 0.0, 0, NULL},
1373
{"Batch (1 Report, 2 Sequin/Release, 3 asn2gb/asn2flat, 4 asn2flat BSEC/nocleanup, 5 oldasn2gb/newasn2gb)", "0", "0", "5",
1373
" 2 Sequin/Release\n"
1374
" 3 asn2gb SSEC/nocleanup\n"
1375
" 4 asn2flat BSEC/nocleanup\n"
1376
" 5 asn2gb/asn2flat\n"
1377
" 6 oldasn2gb/newasn2gb)", "0", "0", "5",
1374
1378
FALSE, 't', ARG_INT, 0.0, 0, NULL},
1375
1379
{"Input File is Binary", "F", NULL, NULL,
1376
1380
TRUE, 'b', ARG_BOOLEAN, 0.0, 0, NULL},