135 lines
3.7 KiB
Text
135 lines
3.7 KiB
Text
|
/* 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
|