Go to PhD Thesis You're here! mscreview.gif (2656 bytes) Under Construction! Go to Scientific Work Go to Site Map

References

Glutathione S-Transferase as a Biological Marker of Aquatic Contamination
Research Thesis in Applied Toxicology
Tomas James Rees, Portsmouth University, UK
In Collaboration with the Water Research Centre, Henley
© August 1993

Return to the Index Page   |     Visitor number: .

 

The following programs were written for the Beckman du-65 spectrophotometer

 

 1. A program to provide an absorbance spectrum between 250 nm and 500 nm.

000: Strt
001: ABS
002: 500.00
003: ENTR
004: 250.00
005: ENTR
006: 1.0000
007: CALL SSP
008: 5.0000
009: ENTR
010: 0.0000
011: CALL SSL
012: CALL SCLB
013: CALL SBKG
014: lbl LOOP
015: MSG cINS
016: MSG ERT
017: MSG SAMP
018: MSG LE
019: R/S
020: CALL SCAN
021: GOTO SUB
022: rtn

2. A program to provide a reading at a single absorbance every 10 seconds for 18 readings, and plot the recorded values graphically. The program as listed here provides for readings every 10 seconds at 340 nm.

000: Strt 040: CALL STOR
001: ABS 041: prt
002: 340.00 042: XCHG
003: LMDA 043: 1.0000
004: CALB 044: +
005: 13.000 045: STO 001
006: CALL BLNK 046: dec 000
007: MSG cTIM 047: GOTO A
008: MSG E SE 048: CALL CRLF
009: MSG C 049: 180.00
010: CALL COUT 050: ENTR
011: 11.000 051: 10.000
012: CALL BLNK 052: CALL SETX
013: MSG cABS 053: 3.0000
014: MSG AT 054: ENTR
015: MSG 340 055: 0.0000
016: prt 056: CALL SETY
017: MSG cADD 057: 18.000
018: MSG ENZ 058: STO 000
019: MSG YME 059: CALL NPTS
020: MSG =R.S 060: CALL ENDP
021: MSG = 061: 1.0000
022: R/S 062: lbl C
023: 18.000 063: ENTR
024: STO 000 064: CALL LOAD
025: 1.0000 065: CALL DOT
026: STO 001 066: XCHG
027: lbl A 067: 1.0000
028: CALL ONT 068: +
029: lbl B 069: dec 000
030: CALL GETT 070: GOTO C
031: 10.000 071: rtn
032: x<=y
033: GOTO B
034: RCL 001
035: 10.000
036: *
037: CALL POUT
038: RCL 001
039: READ

 

3. A program to read absorbance at 30 and 90 seconds after addition of cytosolic extract, and calculate the difference as dABS/min. This program was discarded for the final study (Study 6) in favour of program 4.

000: Strt 041: STO 003
001: ABS 042: RCL 001
002: 340.00 043: prt
003: LMDA 044: MSG cINC
004: CALB 045: MSG REAS
005: 15.000 046: MSG E PE
006: CALL BLNK 047: MSG R MI
007: MSG cABS 048: MSG N
008: CALL COUT 049: CALL POUT
009: 15.000 050: RCL 003
010: CALL BLNK 051: RCL 002
011: MSG cTIM 052: -
012: MSG E SE 053: prt
013: MSG C 054: rtn
014: prt
015: MSG cADD
016: MSG ENZ
017: MSG YME
018: R/S
019: 30.000
020: STO 000
021: 90.000
022: STO 001
023: CALL ONT
024: lbl A
025: CALL GETT
026: RCL 000
027: x<=y
028: GOTO A
029: READ
030: CALL POUT
031: STO 002
032: RCL 000
033: prt
034: lbl B
035: CALL GETT
036: RCL 001
037: x<=y
038: GOTO B
039: READ
040: CALL POUT

4. This program was written as a replacement for No. 3. It reads the absorbance every 2 seconds between 20 and 80 seconds after addition of extract, and performs a linear regression to give the dABS/min. It was felt that this would be less susceptible to random fluctuations in readings.

000: Strt 041: Rv
001: ABS 042: 30.000
002: 340.00 043: *
003: LMDA 044: MSG RATE
004: CALB 045: MSG =
005: clrE 046: prt
006: 0.0000 047: MSG c
007: STO 000 048: prt
008: 60.000 049: CALL CRLF
009: STO 001 050: rtn
010: MSG cADD
011: MSG ENZ
012: MSG YME
013: R/S
014: CALL ONT
015: lbl A
016: CALL GETT
017: 20.000
018: x<=y
019: GOTO A
020: lbl B
021: CALL ONT
022: READ
023: RCL 000
024: E+
025: 1.0000
026: +
027: STO 000
028: lbl C
029: CALL GETT
030: 2.0000
031: x<=y
032: GOTO C
033: dec 001
034: GOTO B
035: lr
036: Rv
037: Rv
038: MSG R =
039: prt
040: Rv

 

5. This program was used to provide repeated measurements at a single wavelength (365 nm), for use with the GSH assay.

000: Strt
001: ABS
002: 365.00
003: LMDA
004: CALB
005: 1.0000
006: STO 001
007: lbl AA
008: MSG INSE
009: MSG RT S
010: MSG AMPL
011: MSG E
012: R/S
013: MSG c
014: MSG ASSA
015: MSG Y
016: RCL 001
017: CALL COUT
018: MSG c
019: READ
020: prt
021: RCL 001
022: 1.0000
023: +
024: STO 001
025: GOTO AA
026: rtn

6. This program was used to produce randomised block designs. It was written for the Atari 1040STFM in Hisoft Power Basic.

WINDOW fullw
CLS
MOUSE-1
DEFINT A-Z
RANDOMIZE timer
OPTION BASE 0

INPUT "Number of treatments: ";num_treats
INPUT "Number of blocks: ";num_blocks

DIM treat_name$(num_treats)
DIM block_name$(num_blocks)
PRINT : PRINT "What are the treatment names?"
CALL name_samples (num_treats, treat_name$())
PRINT : PRINT "What are the block names?"
CALL name_samples (num_blocks, block_name$())
PRINT

total_samples = num_treats * num_blocks
DIM treat_select$(total_samples)
DIM block_select$(total_samples)
DIM sample_number(total_samples)
DIM selected_flag(num_treats, num_blocks)

num_selected = 0
WHILE num_selected < total_samples
DO
treat = RND*num_treats+0.5
block = RND*num_blocks+0.5
LOOP UNTIL selected_flag(treat, block)=0
treat_select$(num_selected+1)=treat_name$(treat)+", "
block_select$(num_selected+1)=block_name$(block)
selected_flag(treat, block)=1
INCR num_selected
PRINT "*";
WEND
PRINT

FOR count = 1 TO total_samples
LPRINT count, treat_select$(count);block_select$(count)
NEXT count
PRINT

'Sort samples according to treatment and block

FOR count = 1 to total_samples
sample_number(count) = count
NEXT count

DO
not_sorted_flag = 0
FOR count = 1 TO total_samples-1
IF block_select$(count) > block_select$(count+1) THEN
SWAP block_select$(count), block_select$(count+1)
SWAP treat_select$(count), treat_select$(count+1)
SWAP sample_number(count), sample_number(count+1)
not_sorted_flag = 1
END IF
NEXT count
LOOP UNTIL not_sorted_flag = 0

DO
not_sorted_flag = 0
FOR count = 1 TO total_samples-1
IF treat_select$(count) > treat_select$(count+1) THEN
SWAP block_select$(count), block_select$(count+1)
SWAP treat_select$(count), treat_select$(count+1)
SWAP sample_number(count), sample_number(count+1)
not_sorted_flag = 1
END IF
NEXT count
LOOP UNTIL not_sorted_flag = 0

FOR count = 1 to total_samples
LPRINT treat_select$(count); block_select$(count),,
LPRINT sample_number(count)
NEXT count

STOP

SUB name_samples (number, name$())
FOR count = 1 TO number
PRINT "Name ";count;": ";
INPUT name$(count)
NEXT count
END SUB