PROGRAM ptntopdb c Reformat PTN file into PDB file CHARACTER*2 id CHARACTER*3 res CHARACTER*4 label CHARACTER*60 filnam REAL mat(3,3), x(3), xo(3) DATA mat/ 0.97374, 0., 0.22767, 1 0., 1., 0., 2 -.35511, 0., 0.93483/ !Cryst => Native (23) system WRITE (6, 1000) 'Enter PTN file name:' 1000 FORMAT (a) READ (5, 1000) filnam OPEN (unit=1, form='FORMATTED', status='OLD', readonly, 1 file=filnam) WRITE (6, 1000) 'Enter PDB file name:' READ (5, 1000) filnam OPEN (unit=2, form='FORMATTED', status='NEW', file=filnam, 1 carriagecontrol='LIST') num = 0 DO WHILE (.TRUE.) 1 READ (1, 1001, end=9) id, res, nres, label, x, b, wt 1001 FORMAT (a2, 1x, a3, 2x, i3, a4, 5f10.5) IF (id(2:2) .NE. '1') GOTO 1 c IF (label .NE. 'CA ' .AND. label .NE. 'FE ') GOTO 1 IF (res .EQ. 'WAT') GOTO 1 num = num + 1 DO i = 1,3 xo(i) = 0. DO j = 1,3 xo(i) = xo(i) + mat(i,j)*x(j) endDO endDO WRITE (2, 1002) num, label, res, id(1:1), nres, xo, wt, b 1002 FORMAT ('ATOM', i7, 2x, a4, a3, 1x, a1, i4, 4x, 3f8.3, 2f6.2) endDO 9 CLOSE (unit=1) CLOSE (unit=2) end