subroutine readpdb(nameofpdb,numberofatoms,kindofatom, & resnum,coord,CAatomnumber) use defs; implicit none character(len=*),intent(in) :: nameofpdb integer(i4b),intent(in) :: numberofatoms character(len=4),dimension(:,:),intent(out) :: kindofatom integer(i4b),dimension(:),intent(out) :: resnum real(dp),dimension(:,:),intent(out) :: coord ! in angstroms integer(i4b), dimension(:), intent(out) :: CAatomnumber integer(i4b) :: i,ii character(len=4) cipher open(4,file=nameofpdb,status='old') do i = 1,numberofatoms ! read(4,'(a4,2x,i5,1x,a4,1x,a4,1x,i4,4x,3(f8.3))',end=2) & ! old read(4,'(a4,2x,i5,1x,a4,a4,1x,i5,4x,3(f8.3))',end=2) & cipher,ii,kindofatom(:,i),resnum(i),coord(:,i) end do 2 continue close(4) do i = 1,numberofatoms if(kindofatom(1,i)==' CA ') then CAatomnumber(resnum(i)) = i end if end do end subroutine readpdb