integer i,j,iii,ibeg,ishift,ishift1,ity,ires,ires_old
double precision dcj
integer rescode,kkk,lll,icha,cou,kupa,iprzes
- logical lsecondary
+ logical lsecondary,sccalc
integer iterter(maxres)
double precision efree_temp
iii=0
ibeg=1
ishift1=0
+ sccalc=.false.
+ ires=0
do
read (ipdbin,'(a80)',end=10) card
-! write (iout,'(a)') card
+c write (iout,'(a)') card
if (card(:5).eq.'HELIX') then
nhfrag=nhfrag+1
lsecondary=.true.
iterter(ires_old)=1
ishift1=ishift1+1
ibeg=2
-! write (iout,*) "Chain ended",ires,ishift,ires_old
+ write (iout,*) "Chain ended",ires,ishift,ires_old
if (unres_pdb) then
do j=1,3
dc(j,ires)=sccor(j,iii)
call sccenter(ires,iii,sccor)
endif
iii=0
+ sccalc=.true.
endif
! Read free energy
if (index(card,"FREE ENERGY").gt.0) read(card(35:),*) efree_temp
! Fish out the ATOM cards.
if (index(card(1:4),'ATOM').gt.0) then
+ sccalc=.false.
read (card(12:16),*) atom
c write (2,'(a)') card
! write (iout,*) "! ",atom," !",ires
call sccenter(ires_old,iii,sccor)
endif
iii=0
+ sccalc=.true.
endif
! Start new residue.
if (res.eq.'Cl-' .or. res.eq.'Na+') then
! Start a new chain
ishift=-ires_old+ires-1 !!!!!
ishift1=ishift1-1 !!!!!
-! write (iout,*) "New chain started",ires,ishift,ishift1,"!"
+ write (iout,*) "New chain started",ires,ishift,ishift1,"!"
ires=ires-ishift+ishift1
ires_old=ires
ibeg=0
endif !itype.eq.ntyp1
enddo
C Calculate the CM of the last side chain.
- call sccenter(ires,iii,sccor)
+ if (.not. sccalc) call sccenter(ires,iii,sccor)
nsup=nres
nstart_sup=1
if (itype(nres).ne.10) then