# 500 IF PRTFLG=1 THEN OPEN +quot;LPT1:+quot; FOR OUTPUT AS #2 505 IF PRTFLG=2 THEN INPUT +q

```

500 IF PRTFLG=1 THEN OPEN "LPT1:" FOR OUTPUT AS #2
505 IF PRTFLG=2 THEN INPUT "Enter the file which is to recieve the output: ",A\$:OPEN DISK\$+A\$ FOR OUTPUT AS #2:PRINT
510 CODON\$="TTT,TTC,TTA,TTG,TCT,TCC,TCA,TCG,TAT,TAC,TAA,TAG,TGT,TGC,TGA,TGG,CTT,CTC,CTA,CTG,CCT,CCC,CCA,CCG,CAT,CAC,CAA,CAG,CGT,CGC,CGA,CGG,"
515 CODON\$=CODON\$+"ATT,ATC,ATA,ATG,ACT,ACC,ACA,ACG,AAT,AAC,AAA,AAG,AGT,AGC,AGA,AGG,GTT,GTC,GTA,GTG,GCT,GCC,GCA,GCG,GAT,GAC,GAA,GAG,GGT,GGC,GGA,GGG"
520 AACID\$="PhePheLeuLeuSerSerSerSerTyrTyr *  * CysCys * TrpLeuLeuLeuLeuProProProProHisHisGlnGlnArgArgArgArgIleIleIleMetThrThrThrThrAsnAsnLysLysSerSerArgArgValValValValAlaAlaAlaAlaAspAspGluGluGlyGlyGlyGly"
525 INPUT "Enter then number of exons in your sequence: ",EX
530 FOR I=1 TO EX
535 PRINT:PRINT USING "Enter the first and last base in exon number##";I;
540 INPUT ": ",FIRST(I),LAST(I)
545 NEXT I
550 ZERO=FIRST(1)-1:SPLIT=0:X=1:FIRST(EX+1)=LENGTH+1:BASE=-ZERO:F=1:F1=1:CLS
555 PRINT TITLE\$:PRINT:PRINT:IF PRTFLG THEN PRINT #2,TITLE\$:PRINT #2,STRING\$(2,10)
560 FOR I=1 TO LENGTH
565 IF I MOD 50=0 THEN FLAG=0:GOSUB 615
570 B\$=B\$+MID\$(SEQ\$((I-1)\250+1),(I-1) MOD 250+1,1)
575 IF I=FIRST(X)-1 THEN B\$=B\$+";":GOTO 595
580 IF I=FIRST(X) THEN IF (I-FIRST(X)+1+SPLIT) MOD 3 = 0 THEN B\$=B\$+","
595 NEXT I
600 GOSUB 615:IF F>1 THEN GOSUB 710
605 IF B\$<>"" GOTO 600
610 CLOSE:RETURN
615 S=INSTR(F,B\$,";")
620 C=INSTR(F,B\$,",")
625 IF S=0 OR (C>0 AND C72 GOTO 710
640 IF BASE>=0 THEN BASE=BASE+P
645 IF S=0 GOTO 680
650 IF P<4 THEN PRINT STRING\$(P+2," ");:IF PRTFLG THEN PRINT #2,STRING\$(P+2," ");:GOTO 700 ELSE GOTO 700
655 IF BASE<0 THEN PRINT STR\$(BASE)+STRING\$(P+2-LEN(STR\$(BASE))," ");
660 IF PRTFLG THEN IF BASE<0 THEN PRINT #2,STR\$(BASE)+STRING\$(P+2-LEN(STR\$(BASE))," ");
665 IF BASE>0 THEN PRINT STRING\$(P-4," ");:PRINT USING "####";BASE;:PRINT "  ";
670 IF PRTFLG THEN IF BASE>0 THEN PRINT #2,STRING\$(P-4," ");:PRINT #2,USING "####";BASE;:PRINT #2,"  ";
675 GOTO 700
680 IF P<3 THEN PRINT STRING\$(P+1," ");:IF PRTFLG THEN PRINT #2,STRING\$(P+1," ");:GOTO 700 ELSE GOTO 700
685 IF BASE MOD 5<>0 THEN PRINT "    ";:IF PRTFLG THEN PRINT #2,"    ";
690 IF BASE MOD 5=0 THEN IF BASE<1000 THEN PRINT USING "### ";BASE; ELSE PRINT USING "####";BASE;
695 IF PRTFLG THEN IF BASE MOD 5=0 THEN IF BASE<1000 THEN PRINT #2,USING "### ";BASE; ELSE PRINT #2,USING "####";BASE;
700 IF BASE <0 THEN BASE=BASE+P
705 F=S+C+1:GOTO 615
710 PRINT :IF PRTFLG THEN PRINT #2,""
715 FOR J=1 TO F-2
720 C\$=MID\$(B\$,J,1)
725 IF C\$=";" THEN PRINT "  "; ELSE IF C\$="," THEN PRINT " "; ELSE PRINT C\$;
730 IF PRTFLG THEN IF C\$=";" THEN PRINT #2,"  "; ELSE IF C\$="," THEN PRINT #2," "; ELSE PRINT #2,C\$;
735 NEXT
740 PRINT:IF PRTFLG THEN PRINT #2,""
745 F1=1:FL=0
750 C=INSTR(F1,B\$,",")
755 IF C=0 OR C>F-1 GOTO 785 ELSE FL=1
760 S=INSTR(F1,B\$,";")
765 IF S>0 AND S
```

E-Mail Fredric L. Rice / The Skeptic Tank