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 integer*4 spots,rej integer*4 tot(13)/4815,4586,4541,4478,4484,4442,4446,9401, . 13942,18420,22904,27346,31792/ 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 CFile A 12 USER1:[BERRY.PROT]BC56.PRT;1 25 read(2,31,END=900) line if (line(:6).NE.'File A') goto 25 write(6,*)line(:79) write(9,*)line(:79) 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 decode(80,23,line) res1,res2 23 format(29x,f7.2,3x,f7.2) c WRITE(6,*)'*****************************************************' c WRITE(9,*)'*****************************************************' c write(6,*)line(:79) c write(9,*)line(:79) cLimitation of resolution from 28.0 to 4.5 A.U. wavelength 1.080 A.U. cLimitation of resolution from 70.00 to 2.50 A.U. wavelength 1.08000 A.U. c12345678901234567890123456789012345678901234567890123456789012345678901234567890 c 111111111122222222223333333333444444444455555555556666666666 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,*)'*****************************************************' c write(6,*)line(:79) c 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 ishell=ishell+1 c write(6,*)line(:79) c write(9,*)line(:79) DO 34 I=2,14 34 READ(2,84) LINE2(i) 84 format(a80) decode(80,43,line2(7)) spots,rej 43 format(31x,i10,i9) decode(80,44,line2(12)) rmer0 decode(80,44,line2(13)) rmer1 44 format(11x,f6.2) c write(6,46) tot(ishell),spots,rmer0,spots-rej,rmer1 c write(9,46) tot(ishell),spots,rmer0,spots-rej,rmer1 46 format (i10,i10,f10.2,'% ',i10,f10.2,'% ') write(6,47) res1,res2, spots, 100*float(spots)/tot(ishell), . rmer0,spots-rej,100*float(spots-rej)/tot(ishell),rmer1 write(9,47) res1,res2, spots, 100*float(spots)/tot(ishell), . rmer0,spots-rej,100*float(spots-rej)/tot(ishell),rmer1 47 format(f5.1,'-',f5.1,i10,2(f9.1,'% '),i10,2(f9.1,'% ')) c c write(6,*)line2(6)(35:70)//line2(12) (12:46) c write(9,*)line2(6)(35:70)//line2(12) (12:46) c write(6,*)line2(7)(35:70)//line2(13) (12:46) c write(9,*)line2(7)(35:70)//line2(13) (12:46) c WRITE(6,*)' ' c WRITE(9,*)' ' GOTO 30 c Reflection statistics for derivative NATI c ========================================== c Number of measurements and reflections c c TOTAL REJECTED PERCENTAGE c 69780 2411 3.46 % c 28274 68 0.24 % c R-factors of the mean values of scaled intensities clinear: sum(|I-|)/sum() quadratic: sqrt(sum(|I-|**2)/sum(**2)) average and sigma of ratio (|I-|)/ c c 12.10 % (before rejection) 19.39 % 0.311 1.030 62407 measurements c 10.43 % (after rejection) 10.05 % 0.238 0.239 59925 measurements ENDIF IF (LINE(:12).EQ.'Completeness') THEN ishell=0 write(6,*)line(:79) write(9,*)line(:79) DO 90 I=1,19 READ(2,31) LINE IF (LINE(:5).EQ.'CHECK') THEN DO 88 J=1,4 88 READ(2,31) LINE ENDIF c write(6,*)line(:79) c write(9,*)line(:79) 90 continue GOTO 30 ENDIF GOTO 30 900 close (unit=2) close (unit=9) end