REAL*4 V(3),W(3),RM(3,3),A,B,ANGLE,COSA,SINA INTEGER I,J,K,I1,I2,I3 CHARACTER*15 RESI CHARACTER*40 FNAME,matname CHARACTER*1 AXIS character*80 astring 30 TYPE *,'ENTER FILE NAME OF RDI FILE TO ROTATE:' 35 read(5,40)FNAME IF (FNAME.EQ.'Q') GOTO 501 40 FORMAT (A40) OPEN(UNIT=2,FILE=FNAME,STATUS='OLD') TYPE *,'ENTER FILE NAME OF MATRIX BY WHICH TO ROTATE:' read(5,40)MATNAME OPEN(UNIT=4,FILE=MATNAME,STATUS='OLD') DO 41 I=1,3 41 READ(4,*)(RM(I,J),J=1,3) CLOSE(UNIT=4) TYPE *,'ENTER FILE NAME FOR OUTPUT:' read(5,40)FNAME OPEN(UNIT=3,FILE=FNAME,STATUS='NEW') DO 48 I=1,3 48 WRITE(6,*)(RM(I,J),J=1,3) 49 format (a80) read(2,49) astring write(3,*) astring read(2,49) astring write(6,*)'title from input file:',astring write(3,47) ((rm(i,j),j=1,3),i=1,3) 47 format(' rotated by matrix:',9f6.3) read(2,49) astring write(3,*) astring C 20.000 32.000 4.000 0.000 2 1 0 1.00 ALA 1 N 50 format (4f10.3,3I5,f8.2,A15) C50 format (4f10.3,3I5,f8.2,' ALA 1 N ') C50 format ('HETATM',I5,' N ALA A 1 ',3f8.3,2f6.2) 55 read(2,50,END=501) (v(i),i=1,3),a,I1,I2,I3,B,RESI do 90 i=1,3 w(i)=0 do 90 j=1,3 90 w(i)=w(i)+rm(i,j)*v(j) C write(3,50) i1,i2,(w(i),i=1,3),a,b WRITE(3,50) (W(i),i=1,3),a,I1,I2,I3,B,RESI GOTO 55 501 CONTINUE END