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 RESTORE:DIM SEQ(5000),USED(64)
515 INPUT "ENTER THE NUMBER OF EXONS: ",EX
520 FOR I=1 TO EX
525 PRINT
530 PRINT "ENTER THE NUMBERS OF THE FIRST AND LAST BASES IN EXON ";I
535 INPUT;FIRST(I), LAST(I)
540 NEXT I
545 L=0:PRINT:PRINT:PRINT "Reassigning your sequence. Please wait."
550 FOR J=1 TO EX
555 FOR I=FIRST(J) TO LAST(J)
560 L=L+1
565 SEQ(L)=ASC(MID$(SEQ$((I-1)\250+1),(I-1) MOD 250+1,1))
570 NEXT
575 NEXT
580 DATA Ala,4,52,53,54,55,71,Arg,6,28,29,30,31,46,47,156,Asn,2,40,41,114,Asp,2,56,57,115
585 DATA Cys,2,12,13,103,Gln,2,26,27,128,Glu,2,58,59,129,Gly,4,60,61,62,63,57,His,2,24,25,137,Ile,3,32,33,34,113
590 DATA Leu,6,2,3,16,17,18,19,113,Lys,2,42,43,128,Met,1,35,131,Phe,2,0,1,147,Pro,4,20,21,22,23,97
595 DATA Ser,6,4,5,6,7,44,45,87,Thr,4,36,37,38,39,101,Trp,1,15,186,Tyr,2,8,9,163,Val,4,48,49,50,51,99
600 DATA END,3,10,11,14,0
605 CODE$="TTTTTCTTATTGTCTTCCTCATCGTATTACTAATAGTGTTGCTGATGGCTTCTCCTACTGCCTCCCCCACCGCATCACCAACAGCGTCGCCGACGGATTATCATAATGACTACCACAACGAATAACAAAAAGAGTAGCAGAAGGGTTGTCGTAGTGGCTGCCGCAGCGGATGACGAAGAGGGTGGCGGAGGG"
610 TOTAL = 0:SUMAL=0:SUMAG=0:MW=0
615 FOR J=1 TO L STEP 3
620 CODON=0
625 FOR K=0 TO 2
630 IF SEQ(J+K)=84 THEN GOTO 655
635 IF SEQ(J+K)=67 THEN CODON=CODON+4^(2-K):GOTO 655
640 IF SEQ(J+K)=65 THEN CODON=CODON+2*4^(2-K):GOTO 655
645 IF SEQ(J+K)=71 THEN CODON=CODON+3*4^(2-K):GOTO 655
650 CODON=-65
655 NEXT K
660 IF CODON<0 THEN PRINT "INVALID CODON AT BASE";J:GOTO 670
665 TOTAL=TOTAL+1:USED(CODON)=USED(CODON)+1
670 NEXT J
675 TOTAL=TOTAL-1
680 CLS:IF PRTFLG THEN PRINT #2,TITLE$:PRINT #2,""
685 FOR I=1 TO 21
690 SUM=0:SUMP=0
695 READ A$:READ N:PRINT A$;" ";:IF PRTFLG THEN PRINT #2,A$;" ";
700 FOR J=1 TO N
705 IF J=5 THEN PRINT:PRINT " ";:IF PRTFLG THEN PRINT #2,"":PRINT #2," ";
710 READ CODON:PRINT " (";MID$(CODE$,3*CODON+1,3);")";:IF PRTFLG THEN PRINT #2," (";MID$(CODE$,3*CODON+1,3);")";
715 PRINT USING " ## ";USED(CODON);:IF PRTFLG THEN PRINT #2,USING " ## ";USED(CODON);
720 SUM=SUM+USED(CODON):SUMP=SUMP+100*USED(CODON)/TOTAL
725 IF I=2 OR I=12 THEN SUMAL=SUMAL+USED(CODON)
730 IF I=4 OR I=7 THEN SUMAG=SUMAG+USED(CODON)
735 NEXT J
740 READ RW:MW=MW+SUM*RW
745 PRINT TAB(55):PRINT A$;:PRINT USING " ### ##.##";SUM;SUMP;:IF PRTFLG THEN PRINT #2,TAB(55):PRINT #2,A$;:PRINT #2,USING " ### ##.##";SUM;SUMP;
750 IF I<21 GOTO 765
755 IF SCRFLG GOTO 765 ELSE BEEP
760 A$=INKEY$:IF A$="" GOTO 760
765 PRINT:IF PRTFLG THEN PRINT #2,""
770 NEXT I
775 PRINT:PRINT:PRINT "Molecular Weight =";MW+18:IF PRTFLG THEN PRINT #2,"":PRINT #2,"":PRINT #2,"molecular weight =";MW+18
780 PRINT "Number of amino acids =";TOTAL:IF PRTFLG THEN PRINT #2,"number of amino acids =";TOTAL
785 PRINT "Arg + Lys =";SUMAL:IF PRTFLG THEN PRINT #2,"Arg + Lys =";SUMAL
790 PRINT "Asp + Glu =";SUMAG:IF PRTFLG THEN PRINT #2,"Asp + Glu =";SUMAG
795 ERASE SEQ,USED:CLOSE:RETURN
1000 END
Return to The Skeptic Tank's main Index page.
The views and opinions stated within this web page are those of the
author or authors which wrote them and may not reflect the views and
opinions of the ISP or account user which hosts the web page. The
opinions may or may not be those of the Chairman of The Skeptic Tank.