2 implicit real*8 (a-h,o-z)
4 include 'COMMON.IOUNITS'
6 include 'COMMON.INTERACT'
9 ccccccccccccccccccccccccc
11 ccccccccccccccccccccccccc
15 ccccccccccccccccccccccccccccccccccccccccc
16 ! Groups the THETAs and the GAMMAs
30 ccccccccccccccccccccccccccccccccccccccccc
32 ! Groups the ALPHAs and the BETAs
35 if(itype(j).ne.10) then
49 write(iout,*) "# of groups: ",ntotgr
51 write(iout,41) i,ngroup(i),((igroup(k,j,i),k=1,3),j=1,ngroup(i))
56 41 format(2i3,3x,6(3i3,2x))
60 ccccccccccccccccccccccccccccccccccccccccccccccccc
61 ccccccccccccccccccccccccccccccccccccccccccccccccc
62 subroutine make_ranvar(n,m,idum)
63 implicit real*8 (a-h,o-z)
65 include 'COMMON.IOUNITS'
66 include 'COMMON.CHAIN'
70 print *,'HOHOHOHO Make_RanVar!!!!!',n,m
72 do while(m.lt.n .and. itrial.le.10000)
76 call gen_rand_conf(jeden,nrestmp,*10)
80 dihang_in(1,j,1,m)=theta(j+1)
81 dihang_in(2,j,1,m)=phi(j+2)
82 dihang_in(3,j,1,m)=alph(j)
83 dihang_in(4,j,1,m)=omeg(j)
85 dihang_in(2,nres-1,1,m)=0.0d0
87 10 write (iout,*) 'Failed to generate conformation #',m+1,
91 print *,'Make_RanVar!!!!! m=',m,' itrial=',itrial
95 ccccccccccccccccccccccccccccccccccccccccccccccccc
96 ccccccccccccccccccccccccccccccccccccccccccccccccc
97 subroutine make_ranvar_reg(n,idum)
98 implicit real*8 (a-h,o-z)
100 include 'COMMON.IOUNITS'
101 include 'COMMON.CHAIN'
103 include 'COMMON.BANK'
106 print *,'HOHOHOHO Make_RanVar!!!!!'
108 do while(m.lt.n .and. itrial.le.10000)
112 call gen_rand_conf(jeden,nrestmp,*10)
116 dihang_in(1,j,1,m)=theta(j+1)
117 dihang_in(2,j,1,m)=phi(j+2)
118 dihang_in(3,j,1,m)=alph(j)
119 dihang_in(4,j,1,m)=omeg(j)
121 dihang_in(1,j,1,m)=90.0*deg2rad
122 dihang_in(2,j,1,m)=50.0*deg2rad
125 dihang_in(2,nres-1,1,m)=0.0d0
127 10 write (iout,*) 'Failed to generate conformation #',m+1,
131 print *,'Make_RanVar!!!!! m=',m,' itrial=',itrial
135 ccccccccccccccccccccccccccccccccccccccccccccccccc
136 ccccccccccccccccccccccccccccccccccccccccccccccccc
137 subroutine from_pdb(n,idum)
138 c This subroutine stores the UNRES int variables generated from
139 c subroutine readpdb into the 1st conformation of in dihang_in.
140 c Subsequent n-1 conformations of dihang_in have identical values
141 c of theta and phi as the 1st conformation but random values for
143 c The array cref (also generated from subroutine readpdb) is stored
144 c to crefjlee to be used for rmsd calculation in CSA, if necessary.
145 implicit real*8 (a-h,o-z)
147 include 'COMMON.IOUNITS'
148 include 'COMMON.CHAIN'
150 include 'COMMON.BANK'
155 dihang_in(1,j,1,m)=theta(j+1)
156 dihang_in(2,j,1,m)=phi(j+2)
157 dihang_in(3,j,1,m)=alph(j)
158 dihang_in(4,j,1,m)=omeg(j)
160 dihang_in(2,nres-1,1,k)=0.0d0
164 dihang_in(1,k,1,m)=dihang_in(1,k,1,1)
165 dihang_in(2,k,1,m)=dihang_in(2,k,1,1)
166 if(dabs(dihang_in(3,k,1,1)).gt.1.d-6) then
167 dihang_in(3,k,1,m)=90.d0*ran1(idum)+90.d0
168 dihang_in(3,k,1,m)=dihang_in(3,k,1,m)*deg2rad
170 if(dabs(dihang_in(4,k,1,1)).gt.1.d-6) then
171 dihang_in(4,k,1,m)=360.d0*ran1(idum)-180.d0
172 dihang_in(4,k,1,m)=dihang_in(4,k,1,m)*deg2rad
177 c Store cref to crefjlee (they are in COMMON.CHAIN).
181 crefjlee(kk,k)=cref(kk,k,kkk)
185 open(icsa_native_int,file=csa_native_int,status="old")
187 write(icsa_native_int,*) m,e
188 write(icsa_native_int,200)
189 & (dihang_in(1,k,1,m)*rad2deg,k=2,nres-1)
190 write(icsa_native_int,200)
191 & (dihang_in(2,k,1,m)*rad2deg,k=2,nres-2)
192 write(icsa_native_int,200)
193 & (dihang_in(3,k,1,m)*rad2deg,k=2,nres-1)
194 write(icsa_native_int,200)
195 & (dihang_in(4,k,1,m)*rad2deg,k=2,nres-1)
199 write(icsa_native_int,200) (crefjlee(i,k),i=1,3)
201 close(icsa_native_int)
207 ccccccccccccccccccccccccccccccccccccccccccccccccc
208 ccccccccccccccccccccccccccccccccccccccccccccccccc
209 subroutine from_int(n,mm,idum)
210 implicit real*8 (a-h,o-z)
212 include 'COMMON.IOUNITS'
213 include 'COMMON.CHAIN'
215 include 'COMMON.INTERACT'
216 include 'COMMON.BANK'
218 include 'COMMON.CONTACTS'
222 double precision energia(0:n_ene)
224 open(icsa_native_int,file=csa_native_int,status="old")
225 read (icsa_native_int,*)
226 call read_angles(icsa_native_int,*10)
228 10 write (iout,'(2a)') "CHUJ NASTAPIL - error in ",
229 & csa_native_int(:ilen(csa_native_int))
233 dihang_in(1,j,1,1)=theta(j+1)
234 dihang_in(2,j,1,1)=phi(j+2)
235 dihang_in(3,j,1,1)=alph(j)
236 dihang_in(4,j,1,1)=omeg(j)
238 dihang_in(2,nres-1,1,1)=0.0d0
240 c read(icsa_native_int,*) ind,e
241 c read(icsa_native_int,200) (dihang_in(1,k,1,1),k=2,nres-1)
242 c read(icsa_native_int,200) (dihang_in(2,k,1,1),k=2,nres-2)
243 c read(icsa_native_int,200) (dihang_in(3,k,1,1),k=2,nres-1)
244 c read(icsa_native_int,200) (dihang_in(4,k,1,1),k=2,nres-1)
245 c dihang_in(2,nres-1,1,1)=0.d0
252 c dihang_in(1,k,1,m)=dihang_in(1,k,1,1)
253 c dihang_in(2,k,1,m)=dihang_in(2,k,1,1)
254 c if(abs(dihang_in(3,k,1,1)).gt.1.d-3) then
255 c dihang_in(3,k,1,m)=90.d0*ran1(idum)+90.d0
257 c if(abs(dihang_in(4,k,1,1)).gt.1.d-3) then
258 c dihang_in(4,k,1,m)=360.d0*ran1(idum)-180.d0
266 DO WHILE (FAIL .AND. ICOUNT_FAIL .LE. MAXCOUNT_FAIL)
269 if (itype(i).ne.10) then
270 cd print *,'i=',i,' itype=',itype(i),' theta=',theta(i+1)
273 do while (fail .and. ii .le. maxsi)
274 call gen_side(itype(i),theta(i+1),alph(i),omeg(i),fail)
280 call etotal(energia(0))
281 fail = (energia(0).ge.1.0d20)
282 icount_fail=icount_fail+1
286 if (icount_fail.gt.maxcount_fail) then
288 & 'Failed to generate non-overlaping near-native conf.',
293 dihang_in(1,j,1,m)=theta(j+1)
294 dihang_in(2,j,1,m)=phi(j+2)
295 dihang_in(3,j,1,m)=alph(j)
296 dihang_in(4,j,1,m)=omeg(j)
298 dihang_in(2,nres-1,1,m)=0.0d0
302 c write(icsa_native_int,*) m,e
303 c write(icsa_native_int,200) (dihang_in(1,k,1,m),k=2,nres-1)
304 c write(icsa_native_int,200) (dihang_in(2,k,1,m),k=2,nres-2)
305 c write(icsa_native_int,200) (dihang_in(3,k,1,m),k=2,nres-1)
306 c write(icsa_native_int,200) (dihang_in(4,k,1,m),k=2,nres-1)
308 c close(icsa_native_int)
313 c dihang_in(i,j,1,m)=dihang_in(i,j,1,m)*deg2rad
318 call dihang_to_c(dihang_in(1,1,1,1))
320 c Store c to cref (they are in COMMON.CHAIN).
323 crefjlee(kk,k)=c(kk,k)
327 call contact(.true.,ncont_ref,icont_ref,co)
330 c write(icsa_native_int,200) (crefjlee(i,k),i=1,3)
332 close(icsa_native_int)
338 ccccccccccccccccccccccccccccccccccccccccccccccccc
339 ccccccccccccccccccccccccccccccccccccccccccccccccc
340 subroutine dihang_to_c(aarray)
341 implicit real*8 (a-h,o-z)
344 include 'COMMON.BANK'
345 include 'COMMON.CHAIN'
349 dimension aarray(mxang,maxres,mxch)
352 c phi(i)=dihang_in(1,i-2,1,1)
355 theta(i+1)=aarray(1,i,1)
356 phi(i+2)=aarray(2,i,1)
357 alph(i)=aarray(3,i,1)
358 omeg(i)=aarray(4,i,1)
365 ccccccccccccccccccccccccccccccccccccccccccccccccc
366 ccccccccccccccccccccccccccccccccccccccccccccccccc