character*130 line character*80 line2(14) character*40 flname,FILENAME,outname,imagefile,rflfile character*2 number character*10 base LOGICAL EFLG real*4 crysx,crysy,crysz,cella,cellc,beamx,beamy,oscstrt WRITE(6,*)'PROGRAM TO SUMMARIZE PROTEIN LOG FILE (SCALE/MEAN).' C WRITE(6,*)' MAKES A TABLE W 1 LINE FOR EACH ITERATION' C WRITE(6,*)' GIVING VALUES OF PARAMETERS AND OPTIMIZED VARIABLES' C WRITE(6,*)' TABLE IS WRITTEN TO FILE DENZO.PRM' C WRITE(6,*)' 920708' WRITE(6,*) 5 write(6,*)' Enter name of PROTEIN log file:' read(5,11) flname 11 format(a40) INQUIRE(FILE=flname, NAME=FILENAME,EXIST=EFLG) IF (.NOT.EFLG) GOTO 5 open(unit=2,file=flname,status='old',readonly,recl=132) c write(6,*)' Enter name for output file:' c read(5,11) outname open(unit=9,file='SCLMN.RSL',status='new',CARRIAGECONTROL='LIST') write(9,*)'Protein log file:',FILENAME write(6,*)'Protein log file:',FILENAME C write(9,17) C write(6,17) 17 format(' x-err y-err p-err crysx crysy crysz cella ', $ 'cellb beamx beamy rados angos xfx xfy xfxy', $ ' skew yscale') 30 read(2,31,END=900) line 31 format(a132) C write(6,*)line c write(6,*)line(:14) if (line(:13).EQ.'Limitation of') THEN c WRITE(6,*)'*****************************************************' c WRITE(9,*)'*****************************************************' write(6,*)line(:79) write(9,*)line(:79) GOTO 30 ENDIF if (line(:15).EQ.'Measurements of') THEN c WRITE(6,*)'*****************************************************' c WRITE(9,*)'*****************************************************' c write(6,*)line(17:96) c write(9,*)line(17:96) GOTO 30 ENDIF if (line(:21).EQ.'F(obs) of reflections') THEN c WRITE(6,*)'*****************************************************' c WRITE(9,*)'*****************************************************' write(6,*)line(:79) write(9,*)line(:79) GOTO 30 ENDIF if (line(11:14).EQ.'RR1=') THEN c WRITE(6,*)'*****************************************************' c WRITE(9,*)'*****************************************************' write(6,*)line(:79) write(9,*)line(:79) GOTO 30 ENDIF if (line(:14).EQ.'SCALE-AND TEMP') THEN c WRITE(6,*)'*****************************************************' c WRITE(9,*)'*****************************************************' write(6,*)line(:79) write(9,*)line(:79) 32 READ(2,31) LINE IF (LINE(:8).NE.'BEFORE/A') GOTO 32 write(6,*)line(:79) write(9,*)line(:79) READ(2,31) LINE write(6,*)line(:79) write(9,*)line(:79) GOTO 30 ENDIF C WRITE(6,*) LINE(31:42) if (line(31:42).EQ.'Reflection s') THEN write(6,*)line(:79) write(9,*)line(:79) DO 34 I=2,14 34 READ(2,84) LINE2(i) 84 format(a80) write(6,*)line2(6)(35:70)//line2(12) (12:46) write(9,*)line2(6)(35:70)//line2(12) (12:46) write(6,*)line2(7)(35:70)//line2(13) (12:46) write(9,*)line2(7)(35:70)//line2(13) (12:46) WRITE(6,*)' ' WRITE(9,*)' ' GOTO 30 ENDIF IF (LINE(:12).EQ.'Completeness') THEN write(6,*)line(:79) write(9,*)line(:79) DO 90 I=1,20 READ(2,31) LINE IF (LINE(:5).EQ.'CHECK') THEN DO 88 J=1,4 88 READ(2,31) LINE ENDIF write(6,*)line(:79) 90 write(9,*)line(:79) GOTO 30 ENDIF GOTO 30 900 close (unit=2) close (unit=9) end