character*24 model_ki_dist, model_ki_angle
character*500 controlcard
integer ki, i, j, k, l, ii_in_use(maxdim),i_tmp,idomain_tmp,
- & ik,ll,ii,kk,iistart,lim_xx
+ & ik,ll,ii,kk,iistart,iishift,lim_xx
double precision distal
logical lprn /.true./
integer ilen
external ilen
- logical liiflag,lfirst
- integer i01,i10
+ logical liiflag
c
c
double precision rescore_tmp,x12,y12,z12,rescore2_tmp
if (waga_dist.ne.0.0d0) then
ii=0
liiflag=.true.
- lfirst=.true.
do i=nnt,nct-2
do j=i+2,nct
ii=ii+1
- if (ii_in_use(ii).eq.0.and.liiflag.or.
- & ii_in_use(ii).eq.1.and.liiflag.and.ii.eq.lim_odl) then
+ if (ii_in_use(ii).eq.0.and.liiflag) then
liiflag=.false.
- i10=ii
- if (lfirst) then
- lfirst=.false.
- iistart=ii
- else
- if(i10.eq.lim_odl) i10=i10+1
- do ki=0,i10-i01-1
- ires_homo(iistart+ki)=ires_homo(ki+i01)
- jres_homo(iistart+ki)=jres_homo(ki+i01)
- ii_in_use(iistart+ki)=ii_in_use(ki+i01)
- do k=1,constr_homology
- odl(k,iistart+ki)=odl(k,ki+i01)
- sigma_odl(k,iistart+ki)=sigma_odl(k,ki+i01)
- l_homo(k,iistart+ki)=l_homo(k,ki+i01)
- enddo
- enddo
- iistart=iistart+i10-i01
- endif
+ iistart=ii
endif
- if (ii_in_use(ii).ne.0.and..not.liiflag) then
- i01=ii
+ if (ii_in_use(ii).ne.0.and..not.liiflag.or.
+ & .not.liiflag.and.ii.eq.lim_odl) then
+ if (ii.eq.lim_odl) then
+ iishift=ii-iistart+1
+ else
+ iishift=ii-iistart
+ endif
liiflag=.true.
+ do ki=iistart,lim_odl-iishift
+ ires_homo(ki)=ires_homo(ki+iishift)
+ jres_homo(ki)=jres_homo(ki+iishift)
+ ii_in_use(ki)=ii_in_use(ki+iishift)
+ do k=1,constr_homology
+ odl(k,ki)=odl(k,ki+iishift)
+ sigma_odl(k,ki)=sigma_odl(k,ki+iishift)
+ l_homo(k,ki)=l_homo(k,ki+iishift)
+ enddo
+ enddo
+ ii=ii-iishift
+ lim_odl=lim_odl-iishift
endif
enddo
enddo
- lim_odl=iistart-1
endif
return