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)
75 call gen_rand_conf(jeden,*10)
79 dihang_in(1,j,1,m)=theta(j+1)
80 dihang_in(2,j,1,m)=phi(j+2)
81 dihang_in(3,j,1,m)=alph(j)
82 dihang_in(4,j,1,m)=omeg(j)
84 dihang_in(2,nres-1,1,m)=0.0d0
86 10 write (iout,*) 'Failed to generate conformation #',m+1,
90 print *,'Make_RanVar!!!!! m=',m,' itrial=',itrial
94 ccccccccccccccccccccccccccccccccccccccccccccccccc
95 ccccccccccccccccccccccccccccccccccccccccccccccccc
96 subroutine make_ranvar_reg(n,idum)
97 implicit real*8 (a-h,o-z)
99 include 'COMMON.IOUNITS'
100 include 'COMMON.CHAIN'
102 include 'COMMON.BANK'
105 print *,'HOHOHOHO Make_RanVar_reg!!!!!'
107 do while(m.lt.n .and. itrial.le.10000)
110 call gen_rand_conf(jeden,*10)
114 dihang_in(1,j,1,m)=theta(j+1)
115 dihang_in(2,j,1,m)=phi(j+2)
116 dihang_in(3,j,1,m)=alph(j)
117 dihang_in(4,j,1,m)=omeg(j)
119 dihang_in(1,j,1,m)=90.0*deg2rad
120 dihang_in(2,j,1,m)=50.0*deg2rad
123 dihang_in(2,nres-1,1,m)=0.0d0
125 10 write (iout,*) 'Failed to generate conformation #',m+1,
129 print *,'Make_RanVar!!!!! m=',m,' itrial=',itrial
133 ccccccccccccccccccccccccccccccccccccccccccccccccc
134 ccccccccccccccccccccccccccccccccccccccccccccccccc
135 subroutine from_pdb(n,idum)
136 c This subroutine stores the UNRES int variables generated from
137 c subroutine readpdb into the 1st conformation of in dihang_in.
138 c Subsequent n-1 conformations of dihang_in have identical values
139 c of theta and phi as the 1st conformation but random values for
141 c The array cref (also generated from subroutine readpdb) is stored
142 c to crefjlee to be used for rmsd calculation in CSA, if necessary.
143 implicit real*8 (a-h,o-z)
145 include 'COMMON.IOUNITS'
146 include 'COMMON.CHAIN'
148 include 'COMMON.BANK'
153 dihang_in(1,j,1,m)=theta(j+1)
154 dihang_in(2,j,1,m)=phi(j+2)
155 dihang_in(3,j,1,m)=alph(j)
156 dihang_in(4,j,1,m)=omeg(j)
158 dihang_in(2,nres-1,1,k)=0.0d0
162 dihang_in(1,k,1,m)=dihang_in(1,k,1,1)
163 dihang_in(2,k,1,m)=dihang_in(2,k,1,1)
164 if(dabs(dihang_in(3,k,1,1)).gt.1.d-6) then
165 dihang_in(3,k,1,m)=90.d0*ran1(idum)+90.d0
166 dihang_in(3,k,1,m)=dihang_in(3,k,1,m)*deg2rad
168 if(dabs(dihang_in(4,k,1,1)).gt.1.d-6) then
169 dihang_in(4,k,1,m)=360.d0*ran1(idum)-180.d0
170 dihang_in(4,k,1,m)=dihang_in(4,k,1,m)*deg2rad
175 c Store cref to crefjlee (they are in COMMON.CHAIN).
178 crefjlee(kk,k)=cref(kk,k)
182 open(icsa_native_int,file=csa_native_int,status="old")
184 write(icsa_native_int,*) m,e
185 write(icsa_native_int,200)
186 & (dihang_in(1,k,1,m)*rad2deg,k=2,nres-1)
187 write(icsa_native_int,200)
188 & (dihang_in(2,k,1,m)*rad2deg,k=2,nres-2)
189 write(icsa_native_int,200)
190 & (dihang_in(3,k,1,m)*rad2deg,k=2,nres-1)
191 write(icsa_native_int,200)
192 & (dihang_in(4,k,1,m)*rad2deg,k=2,nres-1)
196 write(icsa_native_int,200) (crefjlee(i,k),i=1,3)
198 close(icsa_native_int)
204 ccccccccccccccccccccccccccccccccccccccccccccccccc
205 ccccccccccccccccccccccccccccccccccccccccccccccccc
206 subroutine from_int(n,mm,idum)
207 implicit real*8 (a-h,o-z)
209 include 'COMMON.IOUNITS'
210 include 'COMMON.CHAIN'
212 include 'COMMON.INTERACT'
213 include 'COMMON.BANK'
215 include 'COMMON.CONTACTS'
217 include 'COMMON.CONTACTS.MOMENT'
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