! integer :: rescode
! double precision x(maxvar)
character(len=256) :: pdbfile
- character(len=480) :: weightcard
+ character(len=800) :: weightcard
character(len=80) :: weightcard_t!,ucase
! integer,dimension(:),allocatable :: itype_pdb !(maxres)
! common /pizda/ itype_pdb
call reada(weightcard,'WTURN6',wturn6,1.0D0)
call reada(weightcard,'WSCCOR',wsccor,1.0D0)
call reada(weightcard,'WSTRAIN',wstrain,1.0D0)
+ call reada(weightcard,'WVDWPP_NUCL',wvdwpp_nucl,1.0D0)
+ call reada(weightcard,'WELPP',welpp,1.0d0)
+ call reada(weightcard,'WVDWPSB',wvdwpsb,1.0d0)
+ call reada(weightcard,'WELPSB',welpsb,1.0D0)
+ call reada(weightcard,'WVDWSB',wvdwsb,1.0d0)
+ call reada(weightcard,'WELSB',welsb,1.0D0)
+ call reada(weightcard,'WBOND_NUCL',wbond_nucl,1.0D0)
+ call reada(weightcard,'WANG_NUCL',wang_nucl,1.0D0)
+ call reada(weightcard,'WSBLOC',wsbloc,1.0D0)
+ call reada(weightcard,'WTOR_NUCL',wtor_nucl,1.0D0)
+ call reada(weightcard,'WTORD_NUCL',wtor_d_nucl,1.0D0)
+ call reada(weightcard,'WCORR_NUCL',wcorr_nucl,1.0D0)
+ call reada(weightcard,'WCORR3_NUCL',wcorr3_nucl,1.0D0)
call reada(weightcard,'WBOND',wbond,1.0D0)
call reada(weightcard,'WTOR',wtor,1.0D0)
call reada(weightcard,'WTORD',wtor_d,1.0D0)
call reada(weightcard,'CUTOFF',cutoff_corr,7.0d0)
call reada(weightcard,'DELT_CORR',delt_corr,0.5d0)
call reada(weightcard,'TEMP0',temp0,300.0d0)
+ call reada(weightcard,'WSCBASE',wscbase,1.0D0)
if (index(weightcard,'SOFT').gt.0) ipot=6
call reada(weightcard,'WBOND_NUCL',wbond_nucl,1.0D0)
+ call reada(weightcard,'WCATCAT',wcatcat,0.0d0)
+ call reada(weightcard,'WCATPROT',wcatprot,0.0d0)
+ call reada(weightcard,'WPEPBASE',wpepbase,1.0d0)
+ call reada(weightcard,'WSCPHO',wscpho,1.0d0)
+ call reada(weightcard,'WPEPPHO',wpeppho,1.0d0)
+
! 12/1/95 Added weight for the multi-body term WCORR
call reada(weightcard,'WCORRH',wcorr,1.0D0)
if (wcorr4.gt.0.0d0) wcorr=wcorr4
if (indpdb.eq.0) then
nres_molec(:)=0
allocate(sequence(maxres,5))
-
- if (protein) then
+! itype(:,:)=0
+ if (protein) then
! Read sequence if not taken from the pdb file.
molec=1
read (inp,*) nres_molec(molec)
else
read (inp,'(20(1x,a3))') (sequence(i,molec),i=1,nres_molec(molec))
endif
+! read(inp,*) weightcard_t
+! print *,"po seq" weightcard_t
! Convert sequence to numeric code
do i=1,nres_molec(molec)
itype(i,1)=rescode(i,sequence(i,molec),iscode,molec)
enddo
endif
+! read(inp,*) weightcard_t
+! print *,"po seq", weightcard_t
+
if (nucleic) then
! Read sequence if not taken from the pdb file.
molec=2
! Assign initial virtual bond lengths
!elwrite(iout,*) "test_alloc"
+ if(.not.allocated(molnum)) then
+ allocate(molnum(nres))
+ itmp=0
+ do i=1,5
+ do j=1,nres_molec(i)
+ itmp=itmp+1
+ molnum(itmp)=i
+ enddo
+ enddo
+! print *,nres_molec(i)
+ endif
if(.not.allocated(vbld)) allocate(vbld(2*nres))
!elwrite(iout,*) "test_alloc"
if(.not.allocated(vbld_inv)) allocate(vbld_inv(2*nres))
enddo
if(me.eq.king.or..not.out1file)then
write (iout,*) "ITEL"
+ print *,nres,"nres"
do i=1,nres-1
write (iout,*) i,itype(i,1),itel(i)
enddo
endif
call read_bridge
!--------------------------------
+ print *,"tu dochodze"
! znamy nres oraz nss można zaalokowac potrzebne tablice
call alloc_geo_arrays
call alloc_ener_arrays
#endif
nct=nres
print *,'NNT=',NNT,' NCT=',NCT
- if (itype(1,1).eq.ntyp1) nnt=2
- if (itype(nres,1).eq.ntyp1) nct=nct-1
+ if (itype(1,molnum(1)).eq.ntyp1_molec(molnum(1))) nnt=2
+ if (itype(nres,molnum(nres)).eq.ntyp1_molec(molnum(nres))) nct=nct-1
if (pdbref) then
if(me.eq.king.or..not.out1file) &
write (iout,'(a,i3)') 'nsup=',nsup