File HARDY.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

100 REM HARDY -- PROGRAM ON THE HARDY-WEINBERG GENETICS PRINCIPLE  
110 REM COPYRIGHT 1973 - STATE UNIVERSITY OF NEW YORK
120 REM P=FREQUENCY OF T ALLELE (DOMINANT),
130 REM Q=FREQUENCY OF T1 ALLELE (RECESSIVE) 
140 REM S1=SAMPLE SIZE, R1=NUMBER RECESSIVE
150 REM DEVELOPED BY K. MOY, R. COOPERMAN, AND A. FRISHMAN
160 REM PROGRAMMED BY C. LOSIK, JANUARY 1972
170 REM LATEST REVISION: 11-28-73
180 REM LET Q=RND(1)
190 RANDOMIZE
200 PRINT "POPULATION GENETICS STUDY - THE HARDY-WEINBERG PRINCIPLE" 
205 LETN=6
210 PRINT
220 PRINT "DO YOU WISH INSTRUCTIONS (1=YES, 0=NO)";
230 INPUT B
240 IF B=0 THEN 390
250 IF B<>1 THEN 210
255 GOSUB 2010
260 PRINT  
270 PRINT"     THE HARDY-WEINBERG PRINCIPLE PROVIDES A SIMPLE WAY"
280 PRINT"TO CALCULATE THE PROPORTION OF ORGANISMS IN A POPULATION"
290 PRINT"THAT ARE HOMOZYGOUS DOMINANT, HETEROZYGOUS DOMINANT, OR"
300 PRINT"HOMOZYGOUS RECESSIVE WITH REGARD TO A SPECIFIC TRAIT.  ALL"
310 PRINT"WE NEED TO DETERMINE THESE PROPORTIONS ARE THE PROPORTION OF"
320 PRINT"ALLELES IN THE GENE POOL WHICH ARE DOMINANT FOR THIS TRAIT"
330 PRINT"(P) AND THE PROPORTION WHICH ARE RECESSIVE (Q)."
340 PRINT
350 PRINT"WE WILL GIVE YOU A POPULATION OF RATS TO WORK WITH.  SOME"
360 PRINT"HAVE SHORT HAIR, SOME HAVE LONG HAIR.  SHORT HAIR IS"
370 PRINT"DOMINANT, LONG HAIR RECESSIVE.  THERE ARE 1000 SPECIMENS."
380 GO TO 510
390 PRINT"DO YOU WISH TO COMPILE YOUR OWN INFORMATION ON A SPECIFIC"  
400 PRINT"TRAIT (1=YES, 0=NO)";
410 INPUT C
420 IF C=1 THEN 740
430 IF C<>0 THEN 390 
440 PRINT "DO YOU WANT: 1=THE ORIGINAL RAT POPULATION, OR"
450 PRINT "2=A NEW RAT POPULATION";
460 INPUT N
470 IF N=1 THEN 510
480 IF N<>2 THEN 440
490 LET N=RND(1)
500 GO TO 520
510 LET N=.19
520 PRINT "HOW MANY RATS DO YOU WANT TO SAMPLE";
530 INPUT S1
540 IF S1<>INT(S1) THEN 520
550 IF ABS(S1-501)>500 THEN 520
560 PRINT
570 IF S1>25 THEN 600
580 PRINT "RAT  PHENOTYPE"
590 PRINT "---  ---------"
600 LET R1=0
610 FOR I=1 TO S1
620 LET Q=RND(I)
630 IF Q<N THEN 670
640 IF S1>25 THEN 700
650 PRINT I;"  SHORT HAIR"
660 GO TO 700
670 LET R1=R1+1
680 IF S1>25 THEN 700
690 PRINT I;"  LONG HAIR"
700 NEXT I
710 PRINT "TOTAL NUMBER RECESSIVE =";R1
720 PRINT "TOTAL NUMBER DOMINANT =";S1-R1
730 GO TO 840
740 PRINT
750 PRINT "NUMBER OF ORGANISMS EXAMINED";
760 INPUT S1 
770 IF S1<1 THEN 750 
780 IF S1<>INT(S1) THEN 750
790 PRINT "NUMBER OF ORGANISMS SHOWING RECESSIVE TRAIT";
800 INPUT R1
810 IF R1<>INT(R1) THEN 790
820 IF R1<1 THEN 790
830 IF R1>S1 THEN 750
840 PRINT
850 PRINT"WHAT PROPORTION OF THOSE EXAMINED SHOWED THE RECESSIVE TRAIT"
852 PRINT"THIS IS Q*Q";
880 INPUT N
890 IF ABS(N-.5)<=.5 THEN900
891 PRINT"PLEASE INPUT THE PROPOPORTION IN THE FORM OF A"
892 PRINT"DECIMAL NUMBER BETWEEN 0.00 AND 1.00"
894 GOTO850
900 IF ABS(N-R1/S1)<.01 THEN 930
910 PRINT "PLEASE CHECK YOUR CALCULATIONS."
920 GO TO 850
930 LET Q=SQR(R1/S1)
940 LET P=1-Q
950 PRINT
960 PRINT
970 IF B=1 THEN 1270
971 PRINT
975 PRINT"------------------------------------------------------------"
976 PRINT
980 PRINT "TO DETERMINE THE VALUE OF P AND Q AND THE GENOTYPIC"
990 PRINT  "RATIOS, RECALL THAT:"
1000 PRINT
1010 PRINT "1.  P + Q = 1 SINCE THE PROPORTION OF ALLELES IN THE GENE"
1020 PRINT "    POOL WHICH ARE DOMINANT FOR A TRAIT PLUS THE"
1030 PRINT "    PROPORTION WHICH ARE RECESSIVE REPRESENT ALL ALLELES"
1040 PRINT "    IN THE GENE POOL,"
1050 PRINT
1060 PRINT "2.  P*P REPRESENTS THE PROPORTION OF THE POPULATION THAT"
1070 PRINT "    ARE HOMOZYGOUS DOMINANT,"
1080 PRINT
1090 PRINT "3.  2*P*Q REPRESENTS THE PROPORTION THAT ARE HETEROZYGOUS"
1100 PRINT "    DOMINANT,"
1110 PRINT
1120 PRINT "4.  Q*Q REPRESENTS THE PROPORTION OF THE POPULATION THAT"
1130 PRINT "    SHOW THE RECESSIVE TRAIT, I.E. THAT ARE HOMOZYGOUS"
1140 PRINT "    RECESSIVE,"
1180 PRINT
1190 PRINT "5.  P*P + 2*P*Q + Q*Q = 1 SINCE THE PROPORTION OF THE"
1200 PRINT "    POPULATION THAT ARE HOMOZYGOUS DOMINANT, PLUS THE"
1210 PRINT "    PROPORTION THAT ARE HETEROZYGOUS, PLUS THE"
1220 PRINT "    PROPORTION THAT ARE HOMOZYGOUS RECESSIVE REPRESENT"
1230 PRINT "    THE TOTAL POPULATION."
1240 PRINT
1241 PRINT"-----------------------------------------------------------"
1250 PRINT
1260 PRINT "IN THE ABOVE EXAMPLE, ";
1270 PRINT "Q =";Q
1280 PRINT
1290 PRINT "GENOTYPE"," ","PROPORTION","NUMBER"
1300 PRINT "--------"," ","----------","------"
1310 PRINT "HOMOZYGOUS DOMINANT",INT(100*P*P+.5)/100,
1313 LETZ9=INT(P*P*S1+.5)
1314 GOSUB 1400
1320 PRINT "HETEROZYGOUS DOMINANT",INT(200*P*Q+.5)/100,
1323 LETZ9=INT(2*P*Q*S1+.5)
1324 GOSUB 1400
1330 PRINT "HOMOZYGOUS RECESSIVE",INT(100*Q*Q+.5)/100,
1333 LETZ9=INT(Q*Q*S1+.5)
1334 GOSUB 1400
1340 PRINT
1350 PRINT
1360 PRINT "DO YOU WISH TO REPEAT THIS PROGRAM (1=YES, 0=NO)";
1370 INPUT B
1380 IF B=1 THEN 390
1390 IF B<>0 THEN 1360
1399 STOP
1400 IFZ9=0 THEN 1415
1405 PRINTTAB(44-INT(LOG(Z9+.005)/LOG(10)));Z9
1410 RETURN
1415 PRINTTAB(44);0
1420 RETURN
2000 STOP
2010 PRINT "THE OUTPUT THAT YOU HAVE REQUESTED IS LONGER THAN THE SCREEN"
2020 PRINT "CAN HANDLE.  BE SURE THAT THE AUTO-PRINT IS TURNED ON BEFORE"
2030 PRINT "CONTINUING.  TO CONTINUE, TYPE <CR>.";
2040 INPUT Q9
2050 RETURN
2060 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search