dwa16,rjunk,akl,v0ij,rri,epsij,rrij,sigeps,sigt1sq,&
sigt2sq,sigii1,sigii2,ratsig1,ratsig2,rsum_max,r_augm,&
res1,epsijlip,epspeptube,epssctube,sigmapeptube, &
- sigmasctube
- integer :: ichir1,ichir2,ijunk
+ sigmasctube,krad2,ract
+ integer :: ichir1,ichir2,ijunk,irdiff
character*3 string
-
+ character*80 temp1,mychar
! real(kind=8),dimension(maxterm,-maxtor:maxtor,-maxtor:maxtor,2) :: v1_el,v2_el !(maxterm,-maxtor:maxtor,-maxtor:maxtor,2)
!el allocate(v1_el(maxterm,-maxtor:maxtor,-maxtor:maxtor,2))
!el allocate(v2_el(maxterm,-maxtor:maxtor,-maxtor:maxtor,2))
msc(:,:)=0.0d0
isc(:,:)=0.0d0
- allocate(msc(ntyp+1,5)) !(ntyp+1)
- allocate(isc(ntyp+1,5)) !(ntyp+1)
- allocate(restok(ntyp+1,5)) !(ntyp+1)
+ allocate(msc(-ntyp-1:ntyp+1,5)) !(ntyp+1)
+ allocate(isc(-ntyp-1:ntyp+1,5)) !(ntyp+1)
+ allocate(restok(-ntyp-1:ntyp+1,5)) !(ntyp+1)
read (ibond,*) junk,vbldp0,vbldpDUM,akp,rjunk,mp(1),ip(1),pstok(1)
do i=1,ntyp_molec(1)
dsc_inv(i)=1.0D0/dsc(i)
endif
enddo
+! ip(1)=0.0001d0
+! isc(:,1)=0.0001d0
#endif
read (ibond_nucl,*) vbldp0_nucl,akp_nucl,mp(2),ip(2),pstok(2)
do i=1,ntyp_molec(2)
- if (.not.allocated(ichargecat)) allocate (ichargecat(ntyp_molec(5)))
+ if (.not.allocated(ichargecat)) &
+ allocate (ichargecat(-ntyp_molec(5):ntyp_molec(5)))
+ ichargecat(:)=0
if (oldion.eq.1) then
do i=1,ntyp_molec(5)
read(iion,*) msc(i,5),restok(i,5),ichargecat(i)
print *,msc(i,5),restok(i,5)
enddo
- ip(5)=0.2
+! ip(5)=0.2
! isc(5)=0.2
read (iion,*) ncatprotparm
allocate(catprm(ncatprotparm,4))
print *,liptranene(i)
enddo
close(iliptranpar)
+! water parmaters entalphy
+ allocate(awaterenta(0:400))
+ allocate(bwaterenta(0:400))
+ allocate(cwaterenta(0:400))
+ allocate(dwaterenta(0:400))
+ allocate(awaterentro(0:400))
+ allocate(bwaterentro(0:400))
+ allocate(cwaterentro(0:400))
+ allocate(dwaterentro(0:400))
+
+ read(iwaterwater,*) mychar
+ read(iwaterwater,*) ract,awaterenta(0),bwaterenta(0),&
+ cwaterenta(0),dwaterenta(0)
+ do i=1,398
+ read(iwaterwater,*) ract,awaterenta(i),bwaterenta(i),&
+ cwaterenta(i),dwaterenta(i)
+ irdiff=int((ract-2.06d0)*50.0d0)+1
+ if (i.ne.irdiff) print *,"WARTINING",i,ract, irdiff
+ enddo
+! water parmaters entrophy
+ read(iwaterwater,*) mychar
+ read(iwaterwater,*) ract,awaterentro(0),bwaterentro(0),&
+ cwaterentro(0),dwaterentro(0)
+ do i=1,398
+ read(iwaterwater,*) ract,awaterentro(i),bwaterentro(i),&
+ cwaterentro(i),dwaterentro(i)
+ irdiff=int((ract-2.06d0)*50.0d0)+1
+ if (i.ne.irdiff) print *,"WARTINING",i,ract, irdiff
+ enddo
+
#ifdef CRYST_THETA
!
enddo
endif
enddo
+#ifdef SC_END
+ allocate(nterm_scend(2,ntyp))
+ allocate(arotam_end(0:6,2,ntyp))
+ nterm_scend=0
+ arotam_end=0.0d0
+ read (irotam_end,*) ijunk
+!c write (iout,*) "ijunk",ijunk
+ do i=1,ntyp
+ if (i.eq.10) cycle
+ do j=1,2
+ read (irotam_end,'(a)')
+ read (irotam_end,*) nterm_scend(j,i)
+!c write (iout,*) "i",i," j",j," nterm",nterm_scend(j,i)
+ do k=0,nterm_scend(j,i)
+ read (irotam_end,*) ijunk,arotam_end(k,j,i)
+!c write (iout,*) "k",k," arotam",arotam_end(k,j,i)
+ enddo
+ enddo
+ enddo
+!c lprint=.true.
+ if (lprint) then
+ write (iout,'(a)') &
+ "Parameters of the local potentials of sidechain ends"
+ do i=1,ntyp
+ write (iout,'(5x,9x,2hp-,a3,6x,9x,a3,2h-p)')&
+ restyp(i,1),restyp(i,1)
+ do j=0,max0(nterm_scend(1,i),nterm_scend(2,i))
+ write (iout,'(i5,2f20.10)') &
+ j,arotam_end(j,1,i),arotam_end(j,2,i)
+ enddo
+ enddo
+ endif
+!c lprint=.false.
+#endif
+
!---------reading nucleic acid parameters for rotamers-------------------
allocate(sc_parmin_nucl(9,ntyp_molec(2))) !(maxsccoef,ntyp)
do i=1,ntyp_molec(2)
allocate(ddnewtor(3,2,-nloctyp:nloctyp))
allocate(e0newtor(3,-nloctyp:nloctyp))
allocate(eenewtor(2,2,2,-nloctyp:nloctyp))
-
+ bnew1=0.0d0
+ bnew2=0.0d0
+ ccnew=0.0d0
+ ddnew=0.0d0
+ e0new=0.0d0
+ eenew=0.0d0
+ bnew1tor=0.0d0
+ bnew2tor=0.0d0
+ ccnewtor=0.0d0
+ ddnewtor=0.0d0
+ e0newtor=0.0d0
+ eenewtor=0.0d0
read (ifourier,*,end=115,err=115) (itype2loc(i),i=1,ntyp)
read (ifourier,*,end=115,err=115) (iloctyp(i),i=0,nloctyp-1)
itype2loc(ntyp1)=nloctyp
si=-1.0d0
do k=1,nterm_sccor(i,j)
+ print *,"test",i,j,k,l
read (isccor,*,end=119,err=119) kk,v1sccor(k,l,i,j),&
v2sccor(k,l,i,j)
v0ijsccor=v0ijsccor+si*v1sccor(k,l,i,j)
print *,eps(i,j),sigma(i,j),"SIGMAP",i,j,sigmap1(i,j),sigmap2(j,i), wqdip(1,i,j)
END DO
END DO
+ do i=1,ntyp
+ read (isidep,*,end=117,err=117)(epslip(i,j),j=i,ntyp)
+ enddo
do i=1,ntyp
do j=1,i
IF ((LaTeX).and.(i.gt.24)) then
sigiso2(i,j)=sigiso2(j,i)
! print *,"ATU",sigma(j,i),sigma(i,j),i,j
nstate(i,j) = nstate(j,i)
- dtail(1,i,j) = dtail(1,j,i)
- dtail(2,i,j) = dtail(2,j,i)
+ dtail(1,i,j) = dtail(2,j,i)
+ dtail(2,i,j) = dtail(1,j,i)
DO k = 1, 4
alphasur(k,i,j) = alphasur(k,j,i)
wstate(k,i,j) = wstate(k,j,i)
allocate(alphapol_scbase(ntyp_molec(1),ntyp_molec(2)))
allocate(epsintab_scbase(ntyp_molec(1),ntyp_molec(2)))
-
+ write (iout,*) "ESCBASEPARM"
do i=1,ntyp_molec(1)
- do j=1,ntyp_molec(2)-1 ! without U then we will take T for U
- write (*,*) "Im in ", i, " ", j
+ do j=1,ntyp_molec(2) ! without U then we will take T for U
+! write (*,*) "Im in ", i, " ", j
read(isidep_scbase,*) &
eps_scbase(i,j),sigma_scbase(i,j),chi_scbase(i,j,1),&
chi_scbase(i,j,2),chipp_scbase(i,j,1),chipp_scbase(i,j,2)
- write(*,*) "eps",eps_scbase(i,j)
+! write(*,*) "eps",eps_scbase(i,j)
read(isidep_scbase,*) &
(alphasur_scbase(k,i,j),k=1,4),sigmap1_scbase(i,j),sigmap2_scbase(i,j), &
chis_scbase(i,j,1),chis_scbase(i,j,2)
read(isidep_scbase,*) &
alphapol_scbase(i,j), &
epsintab_scbase(i,j)
+ if (chi_scbase(i,j,2).gt.0.9) chi_scbase(i,j,2)=0.9
+ if (chi_scbase(i,j,1).gt.0.9) chi_scbase(i,j,1)=0.9
+ if (chipp_scbase(i,j,2).gt.0.9) chipp_scbase(i,j,2)=0.9
+ if (chipp_scbase(i,j,1).gt.0.9) chipp_scbase(i,j,1)=0.9
+ if (chi_scbase(i,j,2).lt.-0.9) chi_scbase(i,j,2)=-0.9
+ if (chi_scbase(i,j,1).lt.-0.9) chi_scbase(i,j,1)=-0.9
+ if (chipp_scbase(i,j,2).lt.-0.9) chipp_scbase(i,j,2)=-0.9
+ if (chipp_scbase(i,j,1).lt.-0.9) chipp_scbase(i,j,1)=-0.9
+ write(iout,*) &
+ eps_scbase(i,j),sigma_scbase(i,j),chi_scbase(i,j,1),&
+ chi_scbase(i,j,2),chipp_scbase(i,j,1),chipp_scbase(i,j,2)
+ write(*,*) "eps",eps_scbase(i,j)
+ write(iout,*) &
+ (alphasur_scbase(k,i,j),k=1,4),sigmap1_scbase(i,j),sigmap2_scbase(i,j), &
+ chis_scbase(i,j,1),chis_scbase(i,j,2)
+ write(iout,*) &
+ dhead_scbasei(i,j), &
+ dhead_scbasej(i,j), &
+ rborn_scbasei(i,j),rborn_scbasej(i,j)
+ write(iout,*) &
+ (wdipdip_scbase(k,i,j),k=1,3), &
+ (wqdip_scbase(k,i,j),k=1,2)
+ write(iout,*) &
+ alphapol_scbase(i,j), &
+ epsintab_scbase(i,j)
+
END DO
+ j=4
+ write(iout,*) &
+ eps_scbase(i,j),sigma_scbase(i,j),chi_scbase(i,j,1),&
+ chi_scbase(i,j,2),chipp_scbase(i,j,1),chipp_scbase(i,j,2)
+ write(*,*) "eps",eps_scbase(i,j)
+ write(iout,*) &
+ (alphasur_scbase(k,i,j),k=1,4),sigmap1_scbase(i,j),sigmap2_scbase(i,j), &
+ chis_scbase(i,j,1),chis_scbase(i,j,2)
+ write(iout,*) &
+ dhead_scbasei(i,j), &
+ dhead_scbasej(i,j), &
+ rborn_scbasei(i,j),rborn_scbasej(i,j)
+ write(iout,*) &
+ (wdipdip_scbase(k,i,j),k=1,3), &
+ (wqdip_scbase(k,i,j),k=1,2)
+ write(iout,*) &
+ alphapol_scbase(i,j), &
+ epsintab_scbase(i,j)
+
END DO
allocate(aa_scbase(ntyp_molec(1),ntyp_molec(2)))
allocate(bb_scbase(ntyp_molec(1),ntyp_molec(2)))
allocate(chis_pepbase(ntyp_molec(2),2))
allocate(wdipdip_pepbase(3,ntyp_molec(2)))
+ write (iout,*) "EPEPBASEPARM"
- do j=1,ntyp_molec(2)-1 ! without U then we will take T for U
+ do j=1,ntyp_molec(2) ! without U then we will take T for U
write (*,*) "Im in ", i, " ", j
read(isidep_pepbase,*) &
eps_pepbase(j),sigma_pepbase(j),chi_pepbase(j,1),&
chi_pepbase(j,2),chipp_pepbase(j,1),chipp_pepbase(j,2)
+ if (chi_pepbase(j,2).gt.0.9) chi_pepbase(j,2)=0.9
+ if (chi_pepbase(j,1).gt.0.9) chi_pepbase(j,1)=0.9
+ if (chipp_pepbase(j,2).gt.0.9) chipp_pepbase(j,2)=0.9
+ if (chipp_pepbase(j,1).gt.0.9) chipp_pepbase(j,1)=0.9
+ if (chi_pepbase(j,2).lt.-0.9) chi_pepbase(j,2)=-0.9
+ if (chi_pepbase(j,1).lt.-0.9) chi_pepbase(j,1)=-0.9
+ if (chipp_pepbase(j,2).lt.-0.9) chipp_pepbase(j,2)=-0.9
+ if (chipp_pepbase(j,1).lt.-0.9) chipp_pepbase(j,1)=-0.9
+
write(*,*) "eps",eps_pepbase(j)
read(isidep_pepbase,*) &
(alphasur_pepbase(k,j),k=1,4),sigmap1_pepbase(j),sigmap2_pepbase(j), &
chis_pepbase(j,1),chis_pepbase(j,2)
read(isidep_pepbase,*) &
(wdipdip_pepbase(k,j),k=1,3)
+ write(iout,*) eps_pepbase(j),sigma_pepbase(j),chi_pepbase(j,1),&
+ chi_pepbase(j,2),chipp_pepbase(j,1),chipp_pepbase(j,2)
+ write(iout,*) &
+ (alphasur_pepbase(k,j),k=1,4),sigmap1_pepbase(j),sigmap2_pepbase(j), &
+ chis_pepbase(j,1),chis_pepbase(j,2)
+ write(iout,*) &
+ (wdipdip_pepbase(k,j),k=1,3)
+
END DO
+ j=4
+ write(iout,*) eps_pepbase(j),sigma_pepbase(j),chi_pepbase(j,1),&
+ chi_pepbase(j,2),chipp_pepbase(j,1),chipp_pepbase(j,2)
+ write(iout,*) &
+ (alphasur_pepbase(k,j),k=1,4),sigmap1_pepbase(j),sigmap2_pepbase(j), &
+ chis_pepbase(j,1),chis_pepbase(j,2)
+ write(iout,*) &
+ (wdipdip_pepbase(k,j),k=1,3)
+
allocate(aa_pepbase(ntyp_molec(2)))
allocate(bb_pepbase(ntyp_molec(2)))
read(isidep_scpho,*) &
epsintab_scpho(j),alphapol_scpho(j),rborn_scphoi(j),rborn_scphoj(j), &
alphi_scpho(j)
+ if (chi_scpho(j,2).gt.0.9) chi_scpho(j,2)=0.9
+ if (chi_scpho(j,1).gt.0.9) chi_scpho(j,1)=0.9
+ if (chipp_scpho(j,2).gt.0.9) chipp_scpho(j,2)=0.9
+ if (chipp_scpho(j,1).gt.0.9) chipp_scpho(j,1)=0.9
+ if (chi_scpho(j,2).lt.-0.9) chi_scpho(j,2)=-0.9
+ if (chi_scpho(j,1).lt.-0.9) chi_scpho(j,1)=-0.9
+ if (chipp_scpho(j,2).lt.-0.9) chipp_scpho(j,2)=-0.9
+ if (chipp_scpho(j,1).lt.-0.9) chipp_scpho(j,1)=-0.9
+
END DO
allocate(aa_scpho(ntyp_molec(1)))
! v1ss=0.0d0
! v2ss=0.0d0
! v3ss=0.0d0
+! MARTINI PARAMETER
+ allocate(ichargelipid(ntyp_molec(4)))
+ allocate(lip_angle_force(ntyp_molec(4),ntyp_molec(4),ntyp_molec(4)))
+ allocate(lip_angle_angle(ntyp_molec(4),ntyp_molec(4),ntyp_molec(4)))
+ allocate(lip_bond(ntyp_molec(4),ntyp_molec(4)))
+ allocate(lip_eps(ntyp_molec(4),ntyp_molec(4)))
+ allocate(lip_sig(ntyp_molec(4),ntyp_molec(4)))
+ kjtokcal=0.2390057361
+ krad=57.295779513
+ !HERE THE MASS of MARTINI
+ write(*,*) "before MARTINI PARAM"
+ do i=1,ntyp_molec(4)
+ msc(i,4)=72.0d0
+ mp(4)=0.0d0
+ isc(i,4)=0.d0
+ enddo
+ ip(4)=0.0
+ msc(ntyp_molec(4)+1,4)=0.1d0
+ !relative dielectric constant = 15 for implicit screening
+ k_coulomb_lip=332.0d0/15.0d0
+ !kbond = 1250 kJ/(mol*nm*2)
+ kbondlip=1250.0d0*kjtokcal/100.0d0
+ krad2=krad**2.0
+ lip_angle_force=0.0d0
+ if (DRY_MARTINI.gt.0) then
+ lip_angle_force(3,12,12)=35.0*kjtokcal!*krad2
+ lip_angle_force(3,12,18)=35.0*kjtokcal!*krad2
+ lip_angle_force(3,18,16)=35.0*kjtokcal!*krad2
+ lip_angle_force(12,18,16)=35.0*kjtokcal!*krad2
+ lip_angle_force(18,16,18)=45.0*kjtokcal!*krad2
+ lip_angle_force(16,18,18)=35.0*kjtokcal!*krad2
+ lip_angle_force(12,18,18)=35.0*kjtokcal!*krad2
+ lip_angle_force(18,18,18)=35.0*kjtokcal!*krad2
+ else
+ lip_angle_force(3,12,12)=25.0*kjtokcal!*krad2
+ lip_angle_force(3,12,18)=25.0*kjtokcal!*krad2
+ lip_angle_force(3,18,16)=25.0*kjtokcal!*krad2
+ lip_angle_force(12,18,16)=25.0*kjtokcal!*krad2
+ lip_angle_force(18,16,18)=45.0*kjtokcal!*krad2
+ lip_angle_force(16,18,18)=25.0*kjtokcal!*krad2
+ lip_angle_force(12,18,18)=25.0*kjtokcal!*krad2
+ lip_angle_force(18,18,18)=25.0*kjtokcal!*krad2
+ endif
+ lip_angle_angle=0.0d0
+ lip_angle_angle(3,12,12)=120.0/krad
+ lip_angle_angle(3,12,18)=180.0/krad
+ lip_angle_angle(3,18,16)=180.0/krad
+ lip_angle_angle(12,18,16)=180.0/krad
+ lip_angle_angle(18,16,18)=120.0/krad
+ lip_angle_angle(16,18,18)=180.0/krad
+ lip_angle_angle(12,18,18)=180.0/krad
+ lip_angle_angle(18,18,18)=180.0/krad
+ read(ilipbond,*) temp1
+ do i=1,18
+ read(ilipbond,*) temp1, lip_bond(i,1), &
+ lip_bond(i,2),lip_bond(i,3),lip_bond(i,4),lip_bond(i,5), &
+ lip_bond(i,6),lip_bond(i,7),lip_bond(i,8),lip_bond(i,9), &
+ lip_bond(i,10),lip_bond(i,11),lip_bond(i,12),lip_bond(i,13), &
+ lip_bond(i,14),lip_bond(i,15),lip_bond(i,16),lip_bond(i,17), &
+ lip_bond(i,18)
+ do j=1,18
+ lip_bond(i,j)=lip_bond(i,j)*10
+ enddo
+ enddo
+
+ read(ilipnonbond,*) (ichargelipid(i),i=1,ntyp_molec(4))
+ read(ilipnonbond,*) temp1
+ do i=1,18
+ read(ilipnonbond,*) temp1, lip_eps(i,1), &
+ lip_eps(i,2),lip_eps(i,3),lip_eps(i,4),lip_eps(i,5), &
+ lip_eps(i,6),lip_eps(i,7),lip_eps(i,8),lip_eps(i,9), &
+ lip_eps(i,10),lip_eps(i,11),lip_eps(i,12),lip_eps(i,13), &
+ lip_eps(i,14),lip_eps(i,15),lip_eps(i,16),lip_eps(i,17), &
+ lip_eps(i,18)
+! write(*,*) i, lip_eps(i,18)
+ do j=1,18
+ lip_eps(i,j)=lip_eps(i,j)*kjtokcal
+ enddo
+ enddo
+ read(ilipnonbond,*) temp1
+ do i=1,18
+ read(ilipnonbond,*) temp1,lip_sig(i,1), &
+ lip_sig(i,2),lip_sig(i,3),lip_sig(i,4),lip_sig(i,5), &
+ lip_sig(i,6),lip_sig(i,7),lip_sig(i,8),lip_sig(i,9), &
+ lip_sig(i,10),lip_sig(i,11),lip_sig(i,12),lip_sig(i,13), &
+ lip_sig(i,14),lip_sig(i,15),lip_sig(i,16),lip_sig(i,17), &
+ lip_sig(i,18)
+ do j=1,18
+ lip_sig(i,j)=lip_sig(i,j)*10.0
+ enddo
+ enddo
+ write(*,*) "after MARTINI PARAM"
! Ions by Aga
- allocate(alphapolcat(ntyp,ntyp),epsheadcat(ntyp,ntyp),sig0headcat(ntyp,ntyp))
- allocate(sigiso1cat(ntyp,ntyp),rborn1cat(ntyp,ntyp),rborn2cat(ntyp,ntyp),sigmap1cat(ntyp,ntyp))
- allocate(sigmap2cat(ntyp,ntyp),sigiso2cat(ntyp,ntyp))
- allocate(chis1cat(ntyp,ntyp),chis2cat(ntyp,ntyp),wquadcat(ntyp,ntyp),chipp1cat(ntyp,ntyp),chipp2cat(ntyp,ntyp))
- allocate(epsintabcat(ntyp,ntyp))
- allocate(dtailcat(2,ntyp,ntyp))
- allocate(alphasurcat(4,ntyp,ntyp),alphisocat(4,ntyp,ntyp))
- allocate(wqdipcat(2,ntyp,ntyp))
- allocate(wstatecat(4,ntyp,ntyp))
- allocate(dheadcat(2,2,ntyp,ntyp))
- allocate(nstatecat(ntyp,ntyp))
- allocate(debaykapcat(ntyp,ntyp))
-
- if (.not.allocated(epscat)) allocate (epscat(0:ntyp1,0:ntyp1))
- if (.not.allocated(sigmacat)) allocate(sigmacat(0:ntyp1,0:ntyp1))
+ allocate(alphapolcat(ntyp,-1:ntyp_molec(5)),epsheadcat(ntyp,-1:ntyp_molec(5)),sig0headcat(ntyp,-1:ntyp_molec(5)))
+ allocate(alphapolcat2(ntyp,-1:ntyp_molec(5)))
+ allocate(sigiso1cat(ntyp,-1:ntyp_molec(5)),rborn1cat(ntyp,-1:ntyp_molec(5)),rborn2cat(ntyp,-1:ntyp_molec(5)),sigmap1cat(ntyp,-1:ntyp_molec(5)))
+ allocate(sigmap2cat(ntyp,-1:ntyp_molec(5)),sigiso2cat(ntyp,-1:ntyp_molec(5)))
+ allocate(chis1cat(ntyp,-1:ntyp_molec(5)),chis2cat(ntyp,-1:ntyp_molec(5)),wquadcat(ntyp,-1:ntyp_molec(5)),chipp1cat(ntyp,-1:ntyp_molec(5)),chipp2cat(ntyp,-1:ntyp_molec(5)))
+ allocate(epsintabcat(ntyp,-1:ntyp_molec(5)))
+ allocate(dtailcat(2,ntyp,-1:ntyp_molec(5)))
+ allocate(alphasurcat(4,ntyp,-1:ntyp_molec(5)),alphisocat(4,ntyp,-1:ntyp_molec(5)))
+ allocate(wqdipcat(2,ntyp,-1:ntyp_molec(5)))
+ allocate(wstatecat(4,ntyp,-1:ntyp_molec(5)))
+ allocate(dheadcat(2,2,ntyp,-1:ntyp_molec(5)))
+ allocate(nstatecat(ntyp,-1:ntyp_molec(5)))
+ allocate(debaykapcat(ntyp,-1:ntyp_molec(5)))
+
+ if (.not.allocated(epscat)) allocate (epscat(0:ntyp1,-1:ntyp1))
+ if (.not.allocated(sigmacat)) allocate(sigmacat(0:ntyp1,-1:ntyp1))
! if (.not.allocated(chicat)) allocate(chicat(ntyp1,ntyp1)) !(ntyp,ntyp)
- if (.not.allocated(chi1cat)) allocate(chi1cat(ntyp1,ntyp1)) !(ntyp,ntyp)
- if (.not.allocated(chi2cat)) allocate(chi2cat(ntyp1,ntyp1)) !(ntyp,ntyp)
+ if (.not.allocated(chi1cat)) allocate(chi1cat(ntyp1,-1:ntyp1)) !(ntyp,ntyp)
+ if (.not.allocated(chi2cat)) allocate(chi2cat(ntyp1,-1:ntyp1)) !(ntyp,ntyp)
+
+ if (.not.allocated(ichargecat))&
+ allocate (ichargecat(-ntyp_molec(5):ntyp_molec(5)))
+ write(*,*) "before ions",oldion
+ ichargecat(:)=0
- if (.not.allocated(ichargecat)) allocate (ichargecat(ntyp_molec(5)))
! i to SC, j to jon, isideocat - nazwa pliku z ktorego czytam parametry
if (oldion.eq.0) then
if (.not.allocated(icharge)) then ! this mean you are oprating in old sc-sc mode
else
read(iion,*) ijunk
endif
-
- do i=1,ntyp_molec(5)
+ print *,ntyp_molec(5)
+ do i=-ntyp_molec(5),ntyp_molec(5)
read(iion,*) msc(i,5),restok(i,5),ichargecat(i)
print *,msc(i,5),restok(i,5)
enddo
- ip(5)=0.2
+ ! ip(5)=0.2
+ ! mp(5)=0.2
+ pstok(5)=3.0
!DIR$ NOUNROLL
- do j=1,ntyp_molec(5)
+ do j=-1,ntyp_molec(5)-1 ! this is without Zn will be modified for ALL tranistion metals
+ if (j.eq.0) cycle
do i=1,ntyp
! do j=1,ntyp_molec(5)
! write (*,*) "Im in ALAB", i, " ", j
read(iion,*) &
epscat(i,j),sigmacat(i,j), &
! chicat(i,j),chicat(j,i),chippcat(i,j),chippcat(j,i), &
- chi1cat(i,j),chi2cat(i,j),chipp1cat(i,j),chipp2cat(i,j), &
+ chi1cat(i,j),chi2cat(i,j),chipp1cat(i,j),chipp2cat(i,j), & !6
- (alphasurcat(k,i,j),k=1,4),sigmap1cat(i,j),sigmap2cat(i,j),&
+ (alphasurcat(k,i,j),k=1,4),sigmap1cat(i,j),sigmap2cat(i,j),&!12
! chiscat(i,j),chiscat(j,i), &
chis1cat(i,j),chis2cat(i,j), &
- nstatecat(i,j),(wstatecat(k,i,j),k=1,4), & !5 w tej lini - 1 integer pierwszy
- dheadcat(1,1,i,j),dheadcat(1,2,i,j),dheadcat(2,1,i,j),dheadcat(2,2,i,j),&
+ nstatecat(i,j),(wstatecat(k,i,j),k=1,4), & !19 !5 w tej lini - 1 integer pierwszy
+ dheadcat(1,1,i,j),dheadcat(1,2,i,j),dheadcat(2,1,i,j),dheadcat(2,2,i,j),&!23
dtailcat(1,i,j),dtailcat(2,i,j), &
- epsheadcat(i,j),sig0headcat(i,j), &
+ epsheadcat(i,j),sig0headcat(i,j), &!27
!wdipcat = w1 , w2
! rborncat(i,j),rborncat(j,i),&
rborn1cat(i,j),rborn2cat(i,j),&
- (wqdipcat(k,i,j),k=1,2), &
- alphapolcat(i,j),alphapolcat(j,i), &
+ (wqdipcat(k,i,j),k=1,2), &!31
+ alphapolcat(i,j),alphapolcat2(j,i), &!33
(alphisocat(k,i,j),k=1,4),sigiso1cat(i,j),sigiso2cat(i,j),epsintabcat(i,j),debaykapcat(i,j)
+
+ if (chi1cat(i,j).gt.0.9) write (*,*) "WTF ANISO", i,j, chi1cat(i,j)
! print *,eps(i,j),sigma(i,j),"SIGMAP",i,j,sigmap1(i,j),sigmap2(j,i)
! if (i.eq.1) then
! write (iout,*) 'i= ', i, ' j= ', j
END DO
END DO
- allocate(aa_aq_cat(-ntyp:ntyp,ntyp),bb_aq_cat(-ntyp:ntyp,ntyp))
+ allocate(aa_aq_cat(-ntyp:ntyp,-1:ntyp_molec(5)),&
+ bb_aq_cat(-ntyp:ntyp,-1:ntyp_molec(5)))
do i=1,ntyp
- do j=1,ntyp_molec(5)
+ do j=-1,ntyp_molec(5)
+ if (j.eq.0) cycle
epsij=epscat(i,j)
rrij=sigmacat(i,j)
rrij=rrij**expon
enddo
do i=1,ntyp
- do j=1,ntyp_molec(5)
+ do j=1,ntyp_molec(5)-1
if (i.eq.10) then
write (iout,*) 'i= ', i, ' j= ', j
write (iout,*) 'epsi0= ', epscat(i,j)
write (iout,*) 'sigma0= ', sigmacat(i,j)
write (iout,*) 'chi1= ', chi1cat(i,j)
write (iout,*) 'chi1= ', chi2cat(i,j)
- write (iout,*) 'chip1= ', chipp1cat(1,j)
- write (iout,*) 'chip2= ', chipp2cat(1,j)
- write (iout,*) 'alphasur1= ', alphasurcat(1,1,j)
- write (iout,*) 'alphasur2= ', alphasurcat(2,1,j)
- write (iout,*) 'alphasur3= ', alphasurcat(3,1,j)
- write (iout,*) 'alphasur4= ', alphasurcat(4,1,j)
- write (iout,*) 'sig1= ', sigmap1cat(1,j)
- write (iout,*) 'sig2= ', sigmap2cat(1,j)
- write (iout,*) 'chis1= ', chis1cat(1,j)
- write (iout,*) 'chis1= ', chis2cat(1,j)
- write (iout,*) 'nstatecat(i,j)= ', nstatecat(1,j)
- write (iout,*) 'wstatecat(k,i,j),k=1= ',wstatecat(1,1,j)
- write (iout,*) 'dhead= ', dheadcat(1,1,1,j)
- write (iout,*) 'dhead2= ', dheadcat(1,2,1,j)
+ write (iout,*) 'chip1= ', chipp1cat(i,j)
+ write (iout,*) 'chip2= ', chipp2cat(i,j)
+ write (iout,*) 'alphasur1= ', alphasurcat(1,i,j)
+ write (iout,*) 'alphasur2= ', alphasurcat(2,i,j)
+ write (iout,*) 'alphasur3= ', alphasurcat(3,i,j)
+ write (iout,*) 'alphasur4= ', alphasurcat(4,i,j)
+ write (iout,*) 'sig1= ', sigmap1cat(i,j)
+ write (iout,*) 'sig2= ', sigmap2cat(i,j)
+ write (iout,*) 'chis1= ', chis1cat(i,j)
+ write (iout,*) 'chis1= ', chis2cat(i,j)
+ write (iout,*) 'nstatecat(i,j)= ', nstatecat(i,j)
+ write (iout,*) 'wstatecat(k,i,j),k=1= ',wstatecat(1,i,j)
+ write (iout,*) 'dhead= ', dheadcat(1,1,i,j)
+ write (iout,*) 'dhead2= ', dheadcat(1,2,i,j)
write (iout,*) 'a1= ', rborn1cat(i,j)
write (iout,*) 'a2= ', rborn2cat(i,j)
- write (iout,*) 'epsin= ', epsintabcat(1,j), epsintabcat(j,1)
- write (iout,*) 'alphapol1= ', alphapolcat(1,j)
- write (iout,*) 'alphapol2= ', alphapolcat(j,1)
+ write (iout,*) 'epsin= ', epsintabcat(i,j), epsintabcat(j,i)
+ write (iout,*) 'alphapol1= ', alphapolcat(i,j)
+ write (iout,*) 'alphapol2= ', alphapolcat2(i,j)
write (iout,*) 'w1= ', wqdipcat(1,i,j)
write (iout,*) 'w2= ', wqdipcat(2,i,j)
- write (iout,*) 'debaykapcat(i,j)= ', debaykapcat(1,j)
+ write (iout,*) 'debaykapcat(i,j)= ', debaykapcat(i,j)
endif
If ((i.eq.1).and.(j.eq.27)) then
enddo
endif
-
-
+! read number of Zn2+
+! here two denotes the Zn2+ and Cu2+
+ write(iout,*) "before TRANPARM"
+ allocate(aomicattr(0:3,2))
+ allocate(athetacattran(0:6,5,2))
+ allocate(agamacattran(3,5,2))
+ allocate(acatshiftdsc(5,2))
+ allocate(bcatshiftdsc(5,2))
+ allocate(demorsecat(5,2))
+ allocate(alphamorsecat(5,2))
+ allocate(x0catleft(5,2))
+ allocate(x0catright(5,2))
+ allocate(x0cattrans(5,2))
+ allocate(ntrantyp(2))
+ do i=1,1 ! currently only Zn2+
+
+ read(iiontran,*) ntrantyp(i)
+!ntrantyp=4
+!| ao0 ao1 ao2 ao3
+!ASP| a1 a2 a3 aa0 aa1 aa2 aa3 aa4 aa5 aa6 ad bd De alpha x0 -1 -.5
+!CYS| a1 a2 a3 aa0 aa1 aa2 aa3 aa4 aa5 aa6 ad bd De alpha x0left x0right x0transi
+!GLU| a1 a2 a3 aa0 aa1 aa2 aa3 aa4 aa5 aa6 ad bd De alpha x0 -1 -0.5
+!HIS| a1 a2 a3 aa0 aa1 aa2 aa3 aa4 aa5 aa6 ad bd De alpha x0 -1 -.5
+ read(iiontran,*) (aomicattr(j,i),j=0,3)
+ do j=1,ntrantyp(i)
+ read (iiontran,*,err=123,end=123) (agamacattran(k,j,i),k=1,3),&
+ (athetacattran(k,j,i),k=0,6),acatshiftdsc(j,i),bcatshiftdsc(j,i),&
+ demorsecat(j,i),alphamorsecat(j,i),x0catleft(j,i),x0catright(j,i),&
+ x0cattrans(j,i)
+ enddo
+ enddo
if(me.eq.king) then
write (iout,'(/a)') "Disulfide bridge parameters:"
write (iout,'(a,f10.2)') 'S-S bridge energy: ',ebr
write (iout,'(3(a,f10.2))') 'v1ss:',v1ss,' v2ss:',v2ss,&
' v3ss:',v3ss
endif
+
+!------------MARTINI-PROTEIN-parameters-------------------------
+ allocate(alphapolmart(ntyp,ntyp),epsheadmart(ntyp,ntyp_molec(4)),sig0headmart(ntyp,ntyp_molec(4)))
+ allocate(alphapolmart2(ntyp,ntyp))
+ allocate(sigiso1mart(ntyp,ntyp_molec(4)),rborn1mart(ntyp,ntyp_molec(4)),rborn2mart(ntyp,ntyp_molec(4)),sigmap1mart(ntyp,ntyp_molec(4)))
+ allocate(sigmap2mart(ntyp,ntyp_molec(4)),sigiso2mart(ntyp,ntyp_molec(4)))
+ allocate(chis1mart(ntyp,ntyp_molec(4)),chis2mart(ntyp,ntyp_molec(4)),wquadmart(ntyp,ntyp_molec(4)),chipp1mart(ntyp,ntyp_molec(4)),chipp2mart(ntyp,ntyp_molec(4)))
+ allocate(epsintabmart(ntyp,ntyp_molec(4)))
+ allocate(dtailmart(2,ntyp,ntyp_molec(4)))
+ allocate(alphasurmart(4,ntyp,ntyp_molec(4)),alphisomart(4,ntyp,ntyp_molec(4)))
+ allocate(wqdipmart(2,ntyp,ntyp_molec(4)))
+ allocate(wstatemart(4,ntyp,ntyp_molec(4)))
+ allocate(dheadmart(2,2,ntyp,ntyp_molec(4)))
+ allocate(nstatemart(ntyp,ntyp_molec(4)))
+ allocate(debaykapmart(ntyp,ntyp_molec(4)))
+
+ if (.not.allocated(epsmart)) allocate (epsmart(0:ntyp1,ntyp1))
+ if (.not.allocated(sigmamart)) allocate(sigmamart(0:ntyp1,ntyp1))
+! if (.not.allocated(chimart)) allomarte(chimart(ntyp1,ntyp1)) !(ntyp,ntyp)
+ if (.not.allocated(chi1mart)) allocate(chi1mart(ntyp1,ntyp1)) !(ntyp,ntyp)
+ if (.not.allocated(chi2mart)) allocate(chi2mart(ntyp1,ntyp1)) !(ntyp,ntyp)
+
+!DIR$ NOUNROLL
+ do i=1,ntyp-3 ! there are phosporylated missing
+ do j=1,ntyp_molec(4) ! this is without Zn will be modified for ALL tranistion metals
+! do j=1,ntyp_molec(5)
+ print *,"lipmart",i,j
+! write (*,*) "Im in ALAB", i, " ", j
+ read(imartprot,*) &
+ epsmart(i,j),sigmamart(i,j), &
+! chimart(i,j),chimart(j,i),chippmart(i,j),chippmart(j,i), &
+ chi1mart(i,j),chi2mart(i,j),chipp1mart(i,j),chipp2mart(i,j), & !6
+
+ (alphasurmart(k,i,j),k=1,4),sigmap1mart(i,j),sigmap2mart(i,j),&!12
+! chismart(i,j),chismart(j,i), &
+ chis1mart(i,j),chis2mart(i,j), &
+
+ nstatemart(i,j),(wstatemart(k,i,j),k=1,4), & !19 !5 w tej lini - 1 integer pierwszy
+ dheadmart(1,1,i,j),dheadmart(1,2,i,j),dheadmart(2,1,i,j),dheadmart(2,2,i,j),&!23
+ dtailmart(1,i,j),dtailmart(2,i,j), &
+ epsheadmart(i,j),sig0headmart(i,j), &!27
+!wdipmart = w1 , w2
+! rbornmart(i,j),rbornmart(j,i),&
+ rborn1mart(i,j),rborn2mart(i,j),&
+ (wqdipmart(k,i,j),k=1,2), &!31
+ alphapolmart(i,j),alphapolmart2(j,i), &!33
+ (alphisomart(k,i,j),k=1,4),sigiso1mart(i,j),sigiso2mart(i,j),epsintabmart(i,j),debaykapmart(i,j)
+ enddo
+ enddo
+ allocate(aa_aq_mart(-ntyp:ntyp,ntyp_molec(4)),&
+ bb_aq_mart(-ntyp:ntyp,ntyp_molec(4)))
+ do i=1,ntyp-3 ! still no phophorylated residues
+ do j=1,ntyp_molec(4)
+ if (j.eq.0) cycle
+ epsij=epsmart(i,j)
+ rrij=sigmamart(i,j)
+ rrij=rrij**expon
+ sigeps=dsign(1.0D0,epsij)
+ epsij=dabs(epsij)
+ aa_aq_mart(i,j)=epsij*rrij*rrij
+ bb_aq_mart(i,j)=-sigeps*epsij*rrij
+ enddo
+ enddo
+
+
+
+
+
+
+
+
+
+
+
if (shield_mode.gt.0) then
pi=4.0D0*datan(1.0D0)
!C VSolvSphere the volume of solving sphere
119 write (iout,*) "Error reading SCCOR parameters"
go to 999
121 write (iout,*) "Error in Czybyshev parameters"
+ go to 999
+ 123 write(iout,*) "Error in transition metal parameters"
999 continue
#ifdef MPI
call MPI_Finalize(Ierror)
character(len=3) :: seq,res,res2
character(len=5) :: atom
character(len=80) :: card
- real(kind=8),dimension(3,20) :: sccor
+ real(kind=8),dimension(3,40) :: sccor
integer :: kkk,lll,icha,kupa,molecule,counter,seqalingbegin !rescode,
integer :: isugar,molecprev,firstion
character*1 :: sugar
itype(ires_old,molecule)=ntyp1_molec(molecule)
itype(ires_old-1,molecule)=ntyp1_molec(molecule)
nres_molec(molecule)=nres_molec(molecule)+2
+! if (molecule.eq.4) ires=ires+2
ibeg=2
! write (iout,*) "Chain ended",ires,ishift,ires_old
if (unres_pdb) then
! iii=0
endif
iii=0
+ else if (card(:3).eq.'BRA') then
+ molecule=4
+ ires=ires+1
+ ires_old=ires+1
+ itype(ires,molecule)=ntyp1_molec(molecule)-1
+ nres_molec(molecule)=nres_molec(molecule)+1
+
endif
! Read free energy
if (index(card,"FREE ENERGY").gt.0) read(card(35:),*) efree_temp
read (card(12:16),*) atom
! write (iout,*) "! ",atom," !",ires
! if (atom.eq.'CA' .or. atom.eq.'CH3') then
+ if (card(14:16).eq.'LIP') then
+! reading lipid
+ if (ibeg.eq.1) then
+ molecule=4
+ ires=ires+1
+ nres_molec(molecule)=nres_molec(molecule)+1
+ itype(ires,molecule)=ntyp1_molec(molecule)
+ ibeg=0
+ endif
+ if (ibeg.eq.2) then
+ ibeg=0
+ ires=ires+2
+ endif
+
+ molecule=4
+ nres_molec(molecule)=nres_molec(molecule)+1
+ read (card(18:20),'(a3)') res
+ ires=ires+1
+ read(card(31:54),'(3f8.3)') (c(j,ires),j=1,3)
+ if (UNRES_PDB) then!
+ itype(ires,molecule)=rescode(ires,res,0,molecule)
+ else
+ itype(ires,molecule)=rescode_lip(res,ires)
+ endif
+ else
read (card(23:26),*) ires
read (card(18:20),'(a3)') res
! write (iout,*) "ires",ires,ires-ishift+ishift1,
read(card(31:54),'(3f8.3)') (sccor(j,iii),j=1,3)
endif
endif
+ endif !LIP
! print *,"IONS",ions,card(1:6)
else if ((ions).and.(card(1:6).eq.'HETATM')) then
if (firstion.eq.0) then
endif ! unres_pdb
endif !firstion
read (card(12:16),*) atom
-! print *,"HETATOM", atom
+ print *,"HETATOM", atom(1:2)
read (card(18:20),'(a3)') res
+ if (atom(3:3).eq.'H') cycle
if ((atom(1:2).eq.'NA').or.(atom(1:2).eq.'CL').or.&
(atom(1:2).eq.'CA').or.(atom(1:2).eq.'MG') &
- .or.(atom(1:2).eq.'K ')) &
- then
+ .or.(atom(1:2).eq.'K ').or.(atom(1:2).eq.'ZN').or.&
+ (atom(1:2).eq.'O ')) then
ires=ires+1
+ print *,"I have water"
if (molecule.ne.5) molecprev=molecule
molecule=5
nres_molec(molecule)=nres_molec(molecule)+1
print *,"HERE",nres_molec(molecule)
- res=res(2:3)//' '
+ if (res.ne.'WAT') res=res(2:3)//' '
itype(ires,molecule)=rescode(ires,res,0,molecule)
read(card(31:54),'(3f8.3)') (c(j,ires),j=1,3)
endif! NA
! print *,"molecule",molecule
if ((itype(nres,1).ne.10)) then
nres=nres+1
+ nsup=nsup+1
if (molecule.eq.5) molecule=molecprev
itype(nres,molecule)=ntyp1_molec(molecule)
nres_molec(molecule)=nres_molec(molecule)+1
! enddo
! else
do j=1,3
- dcj=(c(j,nres-2)-c(j,nres-3))/2.0
- c(j,nres)=c(j,nres-1)+dcj
+ dcj=(c(j,nres-nres_molec(5)-2)-c(j,nres-nres_molec(5)-3))/2.0
+ c(j,nres)=c(j,nres-nres_molec(5)-1)+dcj
c(j,2*nres)=c(j,nres)
enddo
! endif
do j=1,3
c_temporary(j,seqalingbegin)=c(j,i)
c_temporary(j,seqalingbegin+nres)=c(j,i+nres)
-
enddo
itype_temporary(seqalingbegin,k)=itype(i,k)
print *,i,k,itype(i,k),itype_temporary(seqalingbegin,k),seqalingbegin
do i=1,2*nres
do j=1,3
c(j,i)=c_temporary(j,i)
+ if (i.gt.nres) then
+ if ((molnum(i-nres).eq.4)) c(j,i)=0.0d0
+ endif
enddo
enddo
do k=1,5
molnum(1)=5
itype(1,5)=itype(2,5)
itype(1,1)=0
- do i=2,nres
+ do j=1,3
+ c(j,1)=c(j,2)
+ enddo
+ do i=2,nres-1
itype(i,5)=itype(i+1,5)
+ do j=1,3
+ c(j,i)=c(j,i+1)
+ enddo
enddo
itype(nres,5)=0
nres=nres-1
cou=1
write (iout,*) "symetr", symetr
do i=1,nres
- lll=lll+1
+ lll=lll+1
! write (iout,*) "spraw lancuchy",(c(j,i),j=1,3)
- if (i.gt.1) then
- if ((itype(i-1,1).eq.ntyp1).and.(i.gt.2)) then
- chain_length=lll-1
- kkk=kkk+1
+! if (i.gt.1) then
+! if ((itype(i-1,1).eq.ntyp1).and.(i.gt.2)) then
+! chain_length=lll-1
+! kkk=kkk+1
! write (iout,*) "spraw lancuchy",(c(j,i),j=1,3)
- lll=1
- endif
- endif
+! lll=1
+! endif
+! endif
do j=1,3
cref(j,i,cou)=c(j,i)
cref(j,i+nres,cou)=c(j,i+nres)
endif
enddo
enddo
- write (iout,*) chain_length
- if (chain_length.eq.0) chain_length=nres
- do j=1,3
- chain_rep(j,chain_length,symetr)=chain_rep(j,chain_length,1)
- chain_rep(j,chain_length+nres,symetr) &
- =chain_rep(j,chain_length+nres,1)
- enddo
! diagnostic
! write (iout,*) "spraw lancuchy",chain_length,symetr
! do i=1,4
dc(j,0)=c(j,1)
enddo
- if (symetr.gt.1) then
- call permut(symetr)
- nperm=1
- do i=1,symetr
- nperm=nperm*i
- enddo
- do i=1,nperm
- write(iout,*) (tabperm(i,kkk),kkk=1,4)
- enddo
- do i=1,nperm
- cou=0
- do kkk=1,symetr
- icha=tabperm(i,kkk)
- write (iout,*) i,icha
- do lll=1,chain_length
- cou=cou+1
- if (cou.le.nres) then
- do j=1,3
- kupa=mod(lll,chain_length)
- iprzes=(kkk-1)*chain_length+lll
- if (kupa.eq.0) kupa=chain_length
- write (iout,*) "kupa", kupa
- cref(j,iprzes,i)=chain_rep(j,kupa,icha)
- cref(j,iprzes+nres,i)=chain_rep(j,kupa+nres,icha)
- enddo
- endif
- enddo
- enddo
- enddo
- endif
+! if (symetr.gt.1) then
+! call permut(symetr)
+! nperm=1
+! do i=1,symetr
+! nperm=nperm*i
+! enddo
+! do i=1,nperm
+! write(iout,*) (tabperm(i,kkk),kkk=1,4)
+! enddo
+! do i=1,nperm
+! cou=0
+! do kkk=1,symetr
+! icha=tabperm(i,kkk)
+! write (iout,*) i,icha
+! do lll=1,chain_length
+! cou=cou+1
+! if (cou.le.nres) then
+! do j=1,3
+! kupa=mod(lll,chain_length)
+! iprzes=(kkk-1)*chain_length+lll
+! if (kupa.eq.0) kupa=chain_length
+! write (iout,*) "kupa", kupa
+! cref(j,iprzes,i)=chain_rep(j,kupa,icha)
+! cref(j,iprzes+nres,i)=chain_rep(j,kupa+nres,icha)
+! enddo
+! endif
+! enddo
+! enddo
+! enddo
+! endif
!-koniec robienia kopii
! diag
do kkk=1,nperm
with_theta_constr = index(controlcard,"WITH_THETA_CONSTR").gt.0
protein=index(controlcard,"PROTEIN").gt.0
ions=index(controlcard,"IONS").gt.0
+ fodson=index(controlcard,"FODSON").gt.0
call readi(controlcard,'OLDION',oldion,1)
nucleic=index(controlcard,"NUCLEIC").gt.0
write (iout,*) "with_theta_constr ",with_theta_constr
call reada(controlcard,"YTUBE",tubecenter(2),0.0d0)
call reada(controlcard,"ZTUBE",tubecenter(3),0.0d0)
call reada(controlcard,"RTUBE",tubeR0,0.0d0)
+ call reada(controlcard,"VNANO",velnanoconst,0.0d0)
call reada(controlcard,"TUBETOP",bordtubetop,boxzsize)
call reada(controlcard,"TUBEBOT",bordtubebot,0.0d0)
call reada(controlcard,"TUBEBUF",tubebufthick,1.0d0)
! CUTOFFF ON ELECTROSTATICS
call reada(controlcard,"R_CUT_ELE",r_cut_ele,25.0d0)
call reada(controlcard,"LAMBDA_ELE",rlamb_ele,0.3d0)
- write(iout,*) "R_CUT_ELE=",r_cut_ele
-! Lipidic parameters
+
+ write(iout,*) "R_CUT_ELE=",r_cut_ele,rlamb_ele
+ call reada(controlcard,"R_CUT_MART",r_cut_mart,15.0d0)
+ call reada(controlcard,"LAMBDA_MART",rlamb_mart,0.3d0)
+ call reada(controlcard,"R_CUT_ANG",r_cut_ang,4.2d0)
+
+ call reada(controlcard,"DELTA",graddelta,1.0d-5)
+! Lipidec parameters
call reada(controlcard,"LIPTHICK",lipthick,0.0d0)
call reada(controlcard,"LIPAQBUF",lipbufthick,0.0d0)
if (lipthick.gt.0.0d0) then
!
! Read MD settings
!
- use control_data, only: r_cut,rlamb,out1file
+ use control_data, only: r_cut,rlamb,out1file,r_cut_mart,rlamb_mart
use energy_data
use geometry_data, only: pi
use MPI_data
call readi(controlcard,"NSTEP",n_timestep,1000000)
call readi(controlcard,"NTWE",ntwe,100)
call readi(controlcard,"NTWX",ntwx,1000)
+ call readi(controlcard,"NFOD",nfodstep,100)
call reada(controlcard,"DT",d_time,1.0d-1)
call reada(controlcard,"DVMAX",dvmax,2.0d1)
call reada(controlcard,"DAMAX",damax,1.0d1)
print_compon = index(controlcard,"PRINT_COMPON").gt.0
rattle = index(controlcard,"RATTLE").gt.0
preminim=(index(controlcard,'PREMINIM').gt.0)
+ forceminim=(index(controlcard,'FORCEMINIM').gt.0)
write (iout,*) "PREMINIM ",preminim
dccart=(index(controlcard,'CART').gt.0)
if (preminim) call read_minim
enddo
if(me.eq.king.or..not.out1file)then
+ do j=1,5
write (iout,'(/2a/)') &
"Radii of site types and friction coefficients and std's of",&
" stochastic forces of fully exposed sites"
- write (iout,'(a5,f5.2,2f10.5)')'p',pstok,gamp(1),stdfp*dsqrt(gamp(1))
+ write (iout,'(a5,f5.2,2f10.5)')'p',pstok,gamp(j),stdfp*dsqrt(gamp(j))
+
do i=1,ntyp
- write (iout,'(a5,f5.2,2f10.5)') restyp(i,1),restok(i,1),&
- gamsc(i,1),stdfsc(i,1)*dsqrt(gamsc(i,1))
+ write (iout,'(a5,f5.2,2f10.5)') restyp(i,j),restok(i,j),&
+ gamsc(i,j),stdfsc(i,j)*dsqrt(gamsc(i,j))
enddo
+ enddo
endif
else if (tbf) then
if(me.eq.king.or..not.out1file)then
! print *,"Processor",myrank," opened file ITHEP"
call getenv_loc('ROTPAR',rotname)
open (irotam,file=rotname,status='old',action='read')
+#ifdef SC_END
+ call getenv_loc('ROTPAR_END',rotname_end)
+ open (irotam_end,file=rotname_end,status='old',action='read')
+#endif
! print *,"Processor",myrank," opened file IROTAM"
call getenv_loc('TORPAR',torname)
open (itorp,file=torname,status='old',action='read')
open (itube,file=tubename,status='old',action='read')
call getenv_loc('IONPAR',ionname)
open (iion,file=ionname,status='old',action='read')
-
+ call getenv_loc('IONPAR_TRAN',iontranname)
+ open (iiontran,file=iontranname,status='old',action='read')
! print *,"Processor",myrank," opened file ISIDEP"
! print *,"Processor",myrank," opened parameter files"
#elif (defined G77)
open (ithep,file=thetname,status='old')
call getenv_loc('ROTPAR',rotname)
open (irotam,file=rotname,status='old')
+#ifdef SC_END
+ call getenv_loc('ROTPAR_END',rotname_end)
+ open (irotam_end,file=rotname_end,status='old')
+#endif
call getenv_loc('TORPAR',torname)
open (itorp,file=torname,status='old')
call getenv_loc('TORDPAR',tordname)
open (iion,file=ionname,status='old')
call getenv_loc('IONPAR_NUCL',ionnuclname)
open (iionnucl,file=ionnuclname,status='old')
+ call getenv_loc('IONPAR_TRAN',iontranname)
+ open (iiontran,file=iontranname,status='old')
+ call getenv_loc('WATWAT',iwaterwatername)
+ open (iwaterwater,file=iwaterwatername,status='old')
+ call getenv_loc('WATPROT',iwaterscname)
+ open (iwatersc,file=iwaterscname,status='old')
+
#else
open(1,file=pref_orig(:ilen(pref_orig))//'.inp',status='old',&
readonly)
open (ithep,file=thetname,status='old',action='read')
call getenv_loc('ROTPAR',rotname)
open (irotam,file=rotname,status='old',action='read')
+#ifdef SC_END
+ call getenv_loc('ROTPAR_END',rotname_end)
+ open (irotam_end,file=rotname_end,status='old',action='read')
+#endif
call getenv_loc('TORPAR',torname)
open (itorp,file=torname,status='old',action='read')
call getenv_loc('TORDPAR',tordname)
call getenv_loc('LIPTRANPAR',liptranname)
open (iliptranpar,file=liptranname,status='old',action='read')
+ call getenv_loc('LIPBOND',lipbondname)
+ open (ilipbond,file=lipbondname,status='old',action='read')
+ call getenv_loc('LIPNONBOND',lipnonbondname)
+ open (ilipnonbond,file=lipnonbondname,status='old',action='read')
+ call getenv_loc('LIPPROT',lipprotname)
+ open (imartprot,file=lipprotname,status='old',action='read')
+
call getenv_loc('TUBEPAR',tubename)
open (itube,file=tubename,status='old',action='read')
call getenv_loc('IONPAR',ionname)
open (iion,file=ionname,status='old',action='read')
call getenv_loc('IONPAR_NUCL',ionnuclname)
open (iionnucl,file=ionnuclname,status='old',action='read')
+ call getenv_loc('IONPAR_TRAN',iontranname)
+ open (iiontran,file=iontranname,status='old',action='read')
+ call getenv_loc('WATWAT',iwaterwatername)
+ open (iwaterwater,file=iwaterwatername,status='old',action='read')
+ call getenv_loc('WATPROT',iwaterscname)
+ open (iwatersc,file=iwaterscname,status='old',action='read')
#ifndef CRYST_SC
call getenv_loc('ROTPARPDB',rotname_pdb)
return
end subroutine write_stat_thread
!-----------------------------------------------------------------------------
+#endif
subroutine readpdb_template(k)
! Read the PDB file for read_constr_homology with read2sigma
! and convert the peptide geometry into virtual-chain geometry.
character*3 seq,res
character*5 atom
character*80 card
- real(kind=8), dimension (3,20) :: sccor
+ real(kind=8), dimension (3,40) :: sccor
! integer rescode
integer, dimension (:), allocatable :: iterter
if(.not.allocated(iterter))allocate(iterter(nres))
ires_old=ires+2
itype(ires_old-1,1)=ntyp1
iterter(ires_old-1)=1
+#if defined(WHAM_RUN) || defined(CLUSTER)
+ if (ires_old.lt.nres) then
+#endif
itype(ires_old,1)=ntyp1
iterter(ires_old)=1
+#if defined(WHAM_RUN) || defined(CLUSTER)
+ endif
+#endif
ibeg=2
! write (iout,*) "Chain ended",ires,ishift,ires_old
if (unres_pdb) then
! Calculate dummy residue coordinates inside the "chain" of a multichain
! system
nres=ires
+ write(2,*) "tutaj",ires,nres
do i=2,nres-1
! write (iout,*) i,itype(i),itype(i+1)
if (itype(i,1).eq.ntyp1.and.iterter(i).eq.1) then
return
end subroutine readpdb_template
!-----------------------------------------------------------------------------
-#endif
+!#endif
!-----------------------------------------------------------------------------
end module io_config