readseq/Stdfiles

135 lines
3.7 KiB
Text
Raw Normal View History

2023-04-16 13:07:57 +08:00
/* Stdfiles
generate standard files to test readseq
*/
C
#include <stdio.h>
/* no sequence formats use chars > #126, ignore these */
main(void)
{
int c;
puts("> alphabet['!'..'~']");
for (c = '!'; c <= '~'; c++) putc(c,stdout);
putc('\n', stdout);
}
link -w -t MPST -c 'MPS ' c.o <20>
"{Libraries}"Interface.o "{Libraries}"ToolLibs.o <20>
"{Libraries}"Runtime.o "{CLibraries}"StdClib.o
link.out > alphabet.orig
C
#include <stdio.h>
main(void)
{
/* note: symbols "*" and "/" removed as terminators for various formats */
const char *aminos = "ABCDEFGHIKLMNPQRSTVWXYZ";
const char *primenuc = "ACGTU";
const char *allsymbols = "_.-?<>{}[]()!@#$%^&=+;:'|`~\"\\";
char *c, all[256];
int count;
strcpy(all, aminos);
strcat(all, primenuc);
strcat(all, allsymbols);
puts("> nucleic/amino test");
for (count=0; count<4; count++) {
for (c = all; *c!=0; c++) putc(*c, stdout);
putc('\n', stdout);
}
}
link -w -t MPST -c 'MPS ' c.o <20>
"{Libraries}"Interface.o "{Libraries}"ToolLibs.o <20>
"{Libraries}"Runtime.o "{CLibraries}"StdClib.o
link.out > nucleic.std
#--------------------------
#standards (ship w/ readseq)
#note: not all alphabet.orig chars are expected to be passed by
# readseq. Numbers are dropped.
readseq -p alphabet.orig > alphabet.std
readseq -p -C alphabet.std > upper.std
cat alphabet.orig
> alphabet['!'..'~']
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
cat alphabet.std
>alphabet['!'..'~'], 83 bases, 9429 checksum.
!"#$%&'()*+-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]
^_`abcdefghijklmnopqrstuvwxyz{|}~
cat upper.std
>alphabet['!'..'~'], 83 bases, 9429 checksum.
!"#$%&'()*+-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]
^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
cat nucleic.std
> nucleic/amino test
ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\
ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\
ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\
ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\
readseq -p nucleic.std
>nucleic/amino test, 228 bases, 5952 checksum.
ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;
:'|`~"\ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#
$%^&=+;:'|`~"\ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}
[]()!@#$%^&=+;:'|`~"\ABCDEFGHIKLMNPQRSTVWXYZACGTU_
.-?<>{}[]()!@#$%^&=+;:'|`~"\
#----------------------------------
#test for general read/write of all chars:
readseq -p alphabet.std -otest.alpha
diff test.alpha alphabet.std
#test for valid toupper, general read/write:
readseq -p -C alphabet.std -otest.upper
diff test.upper upper.std
#for vms, use "-C" to preserve case
# readseq -p "-C" alphabet.std -otest.upper
#test for multiple sequence file conversions
# leave out gcg, raw;
# test of long seq conversion ?
# test of mail-header seq conversion ?
#test for valid format conversions
readseq -v -p -f1 nucleic.std -otest.f1
readseq -v -p -f2 test.f1 -otest.f2
readseq -v -p -f3 test.f2 -otest.f3
readseq -v -p -f4 test.f3 -otest.f4
readseq -v -p -f5 test.f4 -otest.f5
readseq -v -p -f6 test.f5 -otest.f6
readseq -v -p -f7 test.f6 -otest.f7
readseq -v -p -f8 test.f7 -otest.f8
readseq -v -p -f1 test.f8 -otest.f1b
diff test.f1 test.f1b
compare test.f1 test.f1b
readseq -v -p -f13 test.f8 -otest.f13 # raw, drops name
readseq -v -p -f9 test.f8 -otest.f9 # zuker, little used
#readseq -v -p -f10 test.f9 -otest.f10 # olsen, input only (output=raw)
readseq -v -p -f11 test.f8 -otest.f11 # phylip 3.2, output only
readseq -v -p -f12 test.f8 -otest.f12 # phylip 3.3, output only
readseq -v -p -f14 test.f8 -otest.f14 # phylip 3.4, output only
#clean up
rm test.<2E>
#-----------------------------
# some general tests
readseq -h
readseq