Gentoo Archives: gentoo-commits

From: "Justin Lecher (jlec)" <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sci-chemistry/cns/files: 1.2.1-aria.patch
Date: Sat, 06 Feb 2010 21:49:45
Message-Id: E1NdsX5-0002ph-8J@stork.gentoo.org
1 jlec 10/02/06 21:49:39
2
3 Added: 1.2.1-aria.patch
4 Log:
5 Added aria support per 220905
6 (Portage version: 2.2_rc62/cvs/Linux x86_64)
7
8 Revision Changes Path
9 1.1 sci-chemistry/cns/files/1.2.1-aria.patch
10
11 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-chemistry/cns/files/1.2.1-aria.patch?rev=1.1&view=markup
12 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-chemistry/cns/files/1.2.1-aria.patch?rev=1.1&content-type=text/plain
13
14 Index: 1.2.1-aria.patch
15 ===================================================================
16 diff -arNu aria2.2/cns/src/cns.f aria2.2.new/cns/src/cns.f
17 --- aria2.2/cns/src/cns.f 2007-08-22 17:25:51.000000000 +0200
18 +++ aria2.2.new/cns/src/cns.f 2009-06-14 15:28:39.907685273 +0200
19 @@ -12,7 +12,7 @@
20 C + J.Kuszewski, M.Nilges, N.S.Pannu, R.J.Read, +
21 C + L.M.Rice, T.Simonson, G.L.Warren +
22 C +===============================================================+
23 -C + Copyright 1997-2007 Yale University +
24 +C + Copyright 1997-2008 Yale University +
25 C +===============================================================+
26 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
27 C
28 @@ -470,6 +470,7 @@
29 INTEGER HNLEN, TMP, PTRSZ, STLEN
30 CHARACTER*(1) CNSPTMP
31 CHARACTER*(4) ST
32 +!$ integer omp_get_max_threads
33 C
34 C write header
35 WRITE(6,'(10X,A)')
36 @@ -511,7 +512,7 @@
37 &' J.Kuszewski, M.Nilges, N.S.Pannu, R.J.Read,',
38 &' L.M.Rice, T.Simonson, G.L.Warren.'
39 WRITE(6,'(10X,A)')
40 - &' Copyright (c) 1997-2007 Yale University'
41 + &' Copyright (c) 1997-2008 Yale University'
42 WRITE(6,'(10X,A)')
43 &'============================================================'
44 C
45 @@ -526,6 +527,9 @@
46 WRITE(6,'(10X,7A)')
47 & ' Running on machine: ',HOSTNM(1:HNLEN),
48 & ' (',SYSNM(1:TMP),',',ST(1:STLEN),'-bit)'
49 +!$ write(6,'(31x,a,i3,a)') 'with',omp_get_max_threads(),
50 +!$ & ' threads'
51 +!$C (to change use setenv OMP_NUM_THREADS x)
52 C
53 CALL GETNAM(USERNM,12,TMP)
54 WRITE(6,'(10X,2A)')
55 diff -arNu aria2.2/cns/src/energy.f aria2.2.new/cns/src/energy.f
56 --- aria2.2/cns/src/energy.f 2006-12-18 16:26:49.000000000 +0100
57 +++ aria2.2.new/cns/src/energy.f 2009-06-14 14:47:57.421262637 +0200
58 @@ -23,7 +23,8 @@
59 INTEGER I, NDIM, N
60 DOUBLE PRECISION TOTAL
61 DOUBLE COMPLEX DCVAL
62 - DOUBLE COMPLEX EDUMMY
63 +CCC modifcation ATB 4/27/08
64 + DOUBLE PRECISION EDUMMY
65 C parameters
66 DOUBLE PRECISION ZERO, ONE
67 PARAMETER (ZERO=0.0D0, ONE=1.0D0)
68 diff -arNu aria2.2/cns/src/noe.f aria2.2.new/cns/src/noe.f
69 --- aria2.2/cns/src/noe.f 2007-08-22 17:25:51.000000000 +0200
70 +++ aria2.2.new/cns/src/noe.f 2009-06-14 15:03:30.001587922 +0200
71 @@ -36,8 +36,8 @@
72 INTEGER ISLCT(*), JSLCT(*)
73 C local
74 INTEGER I, II, NISLCT, NJSLCT, ICL1, ICL2, NN, ITEMP, IEMODE
75 - CHARACTER*4 CLASS, CLASS2, STEMP, SRESET
76 - DOUBLE PRECISION SCALE, RTEMP, NOEDST, THRESH
77 + CHARACTER*4 CLASS, CLASS2, STEMP, SRESET, DENMODE
78 + DOUBLE PRECISION SCALE, RTEMP, NOEDST, THRESH, GAMMA, KAPPA
79 LOGICAL MATCH
80 C parameter
81 DOUBLE PRECISION ZERO, ONE, SIX
82 @@ -140,7 +140,7 @@
83 & NPEAKI,HEAP(HPNPID),HEAP(HPNSPC),
84 & HEAP(HPNPP1),HEAP(HPNPP2),HEAP(HPNHP1),HEAP(HPNHP2),
85 & HEAP(HPNVOL),HEAP(HPCDIS),HEAP(HPCVOL),NATOM,ISLCT,NISLCT,
86 - & JSLCT,NJSLCT,X,Y,Z)
87 + & JSLCT,NJSLCT,X,Y,Z,HEAP(HPDENINIT))
88 C===================================================================
89 ELSE IF (WD(1:4).EQ.'? ') THEN
90 WRITE(6,'(A,I6,A,I6,A,/,A,F8.3,A,I6)')
91 @@ -167,7 +167,8 @@
92 C
93 C get the class name:
94 CALL NEXTA4('class-name=',CLASS)
95 - CALL NEXTF('AVERaging=',RTEMP)
96 +CCC modification ATB 4/27/08
97 + CALL NEXTF('AVEXponent=',RTEMP)
98 DO I=1,NOECCN
99 CALL EQSTWC(NOECNM(I),4,CLASS,4,1,1,MATCH)
100 IF (MATCH) THEN
101 @@ -179,7 +180,8 @@
102 C
103 C get the class name:
104 CALL NEXTA4('class-name=',CLASS)
105 - CALL NEXTF('AVERaging=',RTEMP)
106 +CCC modification ATB 4/27/08
107 + CALL NEXTF('OREXponent=',RTEMP)
108 DO I=1,NOECCN
109 CALL EQSTWC(NOECNM(I),4,CLASS,4,1,1,MATCH)
110 IF (MATCH) THEN
111 @@ -585,6 +587,38 @@
112 IF (NOEICV.GT.0) CALL NOEPRI(THRESH,1)
113 END IF
114 C====================================================================
115 +CCC modification ATB 5/02/08
116 + ELSE IF (WD(1:4).EQ.'OUTD') THEN
117 + CALL NOEOUT(0)
118 + IF (NOEICV.GT.0) CALL NOEOUT(1)
119 +C====================================================================
120 +CCC modification ATB 4/25/08
121 + ELSE IF (WD(1:3).EQ.'DEN') THEN
122 + CALL NEXTWD('DEN>')
123 + IF (WD(1:4).NE.'INIT'.AND.WD(1:4).NE.'UPDA') THEN
124 + WRITE(6,'(A)') ' %NOE-ERR: DEN expects INIT or UPDAte'
125 + ELSE
126 + DENMODE=WD(1:4)
127 + GAMMA=0.0D0
128 + KAPPA=0.0D0
129 + IF (DENMODE.EQ.'UPDA') THEN
130 + CALL NEXTWD('DEN>')
131 + IF (WD(1:4).NE.'GAMM') THEN
132 + WRITE(6,'(A)') ' %NOE-ERR: DEN UPDAte expects GAMMa parameter'
133 + ELSE
134 + CALL NEXTF('GAMMa=',GAMMA)
135 + CALL NEXTWD('DEN>')
136 + IF (WD(1:4).NE.'KAPP') THEN
137 + WRITE(6,'(A)') ' %NOE-ERR: DEN UPDAte expects KAPPa parameter'
138 + ELSE
139 + CALL NEXTF('KAPPa=',KAPPA)
140 + END IF
141 + END IF
142 + END IF
143 + CALL NOEDEN(DENMODE,GAMMA,KAPPA,0)
144 + IF (NOEICV.GT.0) CALL NOEDEN(DENMODE,GAMMA,KAPPA,1)
145 + END IF
146 +C====================================================================
147 ELSE IF (WD(1:4).EQ.'ANAL') THEN
148 CALL NEXTA4('ANALyse=',RANA)
149 C====================================================================
150 @@ -683,7 +717,7 @@
151 & NOEXCL,NPEAKI,NOEPID,NOESPC,NOEPP1,NOEPP2,NOEHP1,
152 $ NOEHP2,NOEVOL,NOECDI,
153 & NOECVO,NATOM,ISLCT,NISLCT,
154 - & JSLCT,NJSLCT,X,Y,Z)
155 + & JSLCT,NJSLCT,X,Y,Z,NOEDENINIT)
156 C
157 C Subroutine parses an NOE ASSIgn statement and
158 C puts the information into the NOE restraints list
159 @@ -706,7 +740,7 @@
160 DOUBLE PRECISION NOEPP1(*),NOEPP2(*),NOEHP1(*),NOEHP2(*)
161 DOUBLE PRECISION NOEVOL(*), NOECDI(*),NOECVO(*)
162 INTEGER NATOM, ISLCT(*), NISLCT, JSLCT(*), NJSLCT
163 - DOUBLE PRECISION X(*), Y(*), Z(*)
164 + DOUBLE PRECISION X(*), Y(*), Z(*), NOEDENINIT(*)
165 C local
166 INTEGER I, II, JJ, J, TISLCT, TJSLCT, PEAKID
167 LOGICAL SUCCES,OK
168 @@ -737,6 +771,10 @@
169 CALL NEXTF('lower-average-distance=',NOELOW(NOENUM))
170 CALL NEXTF('higher-average-distance=',NOEHIG(NOENUM))
171 C
172 +C initialize initial DEN distance
173 + NOEDENINIT(NOENUM)=ZERO
174 +
175 +C
176 C initialize time-average and running average stuff
177 C
178 C set the time-averaged distance and
179 @@ -1732,6 +1770,232 @@
180 RETURN
181 END
182 C====================================================================
183 + SUBROUTINE NOEOUT(ITEST)
184 +C
185 +C print a list of current NOE restraints
186 +C as assign statements
187 +C Front-end for NOEPR3
188 + IMPLICIT NONE
189 +C I/O
190 + INCLUDE 'cns.inc'
191 + INCLUDE 'heap.inc'
192 + INCLUDE 'noe.inc'
193 + INTEGER ITEST
194 +C begin
195 + CALL NOEPR3(ITEST,
196 + & HEAP(HPNORR),HEAP(HPNIPR),HEAP(HPNILS),HEAP(HPNJPR),
197 + & HEAP(HPNJLS),HEAP(HPNCND),HEAP(HPNRAV),HEAP(HPNRRV),
198 + & HEAP(HPNDIS),HEAP(HPNLOW),HEAP(HPNHIG),
199 + & HEAP(HPNVIO),HEAP(HPNCV), HEAP(HPNPID))
200 +
201 + RETURN
202 + END
203 +C====================================================================
204 + SUBROUTINE NOEPR3(ITEST,
205 + & NOEORR,NOEIPR,NOEILS,NOEJPR,
206 + & NOEJLS,NOECND,NOERAV,NOERRV,
207 + & NOEDIS,NOELOW,NOEHIG,
208 + & NOEVIO,NOECV,NOEPID)
209 + IMPLICIT NONE
210 +C I/O
211 + INCLUDE 'cns.inc'
212 + INCLUDE 'noe.inc'
213 + INCLUDE 'mtf.inc'
214 + INCLUDE 'pick.inc'
215 + INCLUDE 'comand.inc'
216 + INCLUDE 'numbers.inc'
217 + INTEGER ITEST
218 +C
219 +C global NOE arrays on HEAP
220 +C restraint and atom pointers
221 + INTEGER NOEORR(*),NOEIPR(*),NOEILS(*),NOEJPR(*),NOEJLS(*)
222 +C classes
223 + INTEGER NOECND(*)
224 +C averages
225 + DOUBLE PRECISION NOERAV(*),NOERRV(*)
226 +C target distance and errors
227 + DOUBLE PRECISION NOEDIS(*),NOELOW(*),NOEHIG(*)
228 +C number of violations
229 + INTEGER NOEVIO(*)
230 +C time average pointer, test set, restraint number
231 + INTEGER NOECV(*), NOEPID(*)
232 +C
233 +C local
234 + INTEGER N, K, I, J, CLASS, NORR
235 + INTEGER I1, I2
236 +C begin
237 + IF (NOENUM.GT.0) THEN
238 +C
239 +C loop over all classes
240 + DO CLASS=1,NOECCN
241 + IF (NOEPOT(CLASS).EQ.NOESYM.OR.
242 + & NOEPOT(CLASS).EQ.NOEHDI.OR.
243 + & NOEPOT(CLASS).EQ.NOE3DP) THEN
244 + CALL WRNDIE(-5,'NOEPRI',
245 + & 'DENOut not possible with POTEntial set to SYMM, HIGH, or 3DPO')
246 + ELSE
247 +C
248 +C loop over all NOE's belonging to this class
249 + DO N=1,NOENUM
250 + IF ((ITEST.EQ.0.AND.NOECV(N).NE.NOEICV).OR.
251 + & (ITEST.EQ.1.AND.NOECV(N).EQ.NOEICV)) THEN
252 + IF (NOECND(N).EQ.CLASS) THEN
253 +C
254 +C WE ONLY TAKE THE FIRST FROM EACH SET
255 + NORR=NOEORR(N)+1
256 +C
257 +C DO I=NOEIPR(NORR)+1,NOEIPR(NORR+1)
258 +C
259 +C WE ONLY TAKE THE FIRST FROM EACH SET
260 + I=NOEIPR(NORR)+1
261 + K=NOEILS(I)
262 + I1=K
263 +C
264 +C WE ONLY TAKE THE FIRST FROM EACH SET
265 + J=NOEJPR(NORR)+1
266 + K=NOEJLS(J)
267 + I2=K
268 +C
269 + WRITE(PUNIT,'(A,I6,A,I6,A,F6.3,A,F6.3,A,F6.3)')
270 + & 'ASSIGn (id ',
271 + & I1, ' ) (id ', I2, ' ) ', NOEDIS(N),
272 + & ' ', NOELOW(N), ' ', NOEHIG(N)
273 +C
274 + END IF
275 + END IF
276 + END DO
277 + END IF
278 + END DO
279 + END IF
280 + RETURN
281 + END
282 +C====================================================================
283 + SUBROUTINE NOEDEN(DENMODE,GAMMA,KAPPA,ITEST)
284 +C
285 +C print a list of current NOE restraints
286 +C Front-end for NOEPR2
287 + IMPLICIT NONE
288 +C I/O
289 + INCLUDE 'cns.inc'
290 + INCLUDE 'heap.inc'
291 + INCLUDE 'noe.inc'
292 + CHARACTER*4 DENMODE
293 + DOUBLE PRECISION GAMMA, KAPPA
294 + INTEGER ITEST
295 +C begin
296 + CALL NOEDEN2(DENMODE,GAMMA,KAPPA,ITEST,
297 + & HEAP(HPNORR),HEAP(HPNIPR),HEAP(HPNILS),HEAP(HPNJPR),
298 + & HEAP(HPNJLS),HEAP(HPNCND),HEAP(HPNRAV),HEAP(HPNRRV),
299 + & HEAP(HPNDIS),HEAP(HPNLOW),HEAP(HPNHIG),
300 + & HEAP(HPNVIO),HEAP(HPNCV), HEAP(HPNPID),
301 + & HEAP(HPDENINIT))
302 +
303 + RETURN
304 + END
305 +C====================================================================
306 + SUBROUTINE NOEDEN2(DENMODE,GAMMA,KAPPA,ITEST,
307 + & NOEORR,NOEIPR,NOEILS,NOEJPR,
308 + & NOEJLS,NOECND,NOERAV,NOERRV,
309 + & NOEDIS,NOELOW,NOEHIG,
310 + & NOEVIO,NOECV,NOEPID,NOEDENINIT)
311 + IMPLICIT NONE
312 +C I/O
313 + INCLUDE 'cns.inc'
314 + INCLUDE 'noe.inc'
315 + INCLUDE 'mtf.inc'
316 + INCLUDE 'pick.inc'
317 + INCLUDE 'comand.inc'
318 + INCLUDE 'numbers.inc'
319 + CHARACTER*4 DENMODE
320 + DOUBLE PRECISION GAMMA,KAPPA
321 + INTEGER ITEST
322 +C
323 +C global NOE arrays on HEAP
324 +C restraint and atom pointers
325 + INTEGER NOEORR(*),NOEIPR(*),NOEILS(*),NOEJPR(*),NOEJLS(*)
326 +C classes
327 + INTEGER NOECND(*)
328 +C averages
329 + DOUBLE PRECISION NOERAV(*),NOERRV(*)
330 +C target distance and errors
331 + DOUBLE PRECISION NOEDIS(*),NOELOW(*),NOEHIG(*)
332 +C number of violations
333 + INTEGER NOEVIO(*)
334 +C time average pointer, test set, restraint number
335 + INTEGER NOECV(*), NOEPID(*)
336 +C initial den distance
337 + DOUBLE PRECISION NOEDENINIT(*)
338 +C
339 +C local
340 + DOUBLE PRECISION EN, NOERMS, NOERM2(NOECMX), THRESH
341 + DOUBLE COMPLEX DBCOMP
342 + DOUBLE PRECISION DBPREC
343 + INTEGER NOENU2(NOECMX)
344 + INTEGER NOEVIT
345 + INTEGER N, K, I, J, CLASS, NOENUML, NORR
346 + CHARACTER*6 SSAVE
347 + CHARACTER*11 SSPOT
348 + LOGICAL QHEAD
349 +C begin
350 + THRESH=-0.1
351 + NOERMS=ZERO
352 + NOEVIT=0
353 + NOENUML=0
354 + IF (NOENUM.GT.0) THEN
355 +C
356 +C
357 +C loop over all classes
358 + DO CLASS=1,NOECCN
359 + NOENU2(CLASS)=0
360 + NOERM2(CLASS)=ZERO
361 + NOEVIO(CLASS)=0
362 + IF (NOEPOT(CLASS).EQ.NOESYM.OR.
363 + & NOEPOT(CLASS).EQ.NOEHDI.OR.
364 + & NOEPOT(CLASS).EQ.NOE3DP) THEN
365 + CALL WRNDIE(-5,'NOEPRI',
366 + & 'DEN not possible with POTEntial set to SYMM, HIGH, or 3DPO')
367 + ELSE
368 +C
369 +C loop over all NOE's belonging to this class
370 + QHEAD=.TRUE.
371 + DO N=1,NOENUM
372 + IF ((ITEST.EQ.0.AND.NOECV(N).NE.NOEICV).OR.
373 + & (ITEST.EQ.1.AND.NOECV(N).EQ.NOEICV)) THEN
374 + IF (NOECND(N).EQ.CLASS) THEN
375 + NOENUML=NOENUML+1
376 +C
377 +C get NOE energy, current distance (in PCDATA(PCGEOM), and other results
378 + CALL ENOE(EN,'ANAL',N)
379 + NOERMS=NOERMS+PCDATA(PCDEVI)**2
380 + NOERM2(CLASS)=NOERM2(CLASS)+PCDATA(PCDEVI)**2
381 + NOENU2(CLASS)=NOENU2(CLASS)+1
382 + IF (ABS(PCDATA(PCDEVI)).GT.THRESH) THEN
383 + NOEVIO(CLASS)=NOEVIO(CLASS)+1
384 + NOEVIT=NOEVIT+1
385 + END IF
386 +C
387 + IF (DENMODE.EQ.'INIT') THEN
388 +C
389 +C initialization
390 + NOEDENINIT(N)=PCDATA(PCGEOM)
391 +CCCCxxx NOEDIS(N)=PCDATA(PCGEOM)
392 + ELSE
393 +C
394 +C update step
395 + NOEDIS(N)=NOEDIS(N)+KAPPA*(GAMMA*(PCDATA(PCGEOM)-NOEDIS(N))+
396 + & (ONE-GAMMA)*(NOEDENINIT(N)-NOEDIS(N)) )
397 + END IF
398 +C
399 + END IF
400 + END IF
401 + END DO
402 + END IF
403 + END DO
404 +C
405 + END IF
406 + RETURN
407 + END
408 +C====================================================================
409 SUBROUTINE ENOE(EN,ANALYS,NA)
410 C
411 C Routine computes force field for NOE restraints
412 @@ -3357,6 +3621,7 @@
413 HPNRRV=0
414 HPNNSP=0
415 HPNDIS=0
416 + HPDENINIT=0
417 HPNLOW=0
418 HPNHIG=0
419 HPNWGH=0
420 @@ -3373,7 +3638,6 @@
421 HPNVOL=0
422 HPCVOL=0
423 HPCDIS=0
424 - HPNPRD=0
425 C
426 C
427 C reset other variables
428 @@ -3463,6 +3727,7 @@
429 IF (HPNRRV.NE.0) CALL FREHP(HPNRRV,IREAL8(NOEMAX))
430 IF (HPNNSP.NE.0) CALL FREHP(HPNNSP,INTEG4(NOEMAX))
431 IF (HPNDIS.NE.0) CALL FREHP(HPNDIS,IREAL8(NOEMAX))
432 + IF (HPDENINIT.NE.0) CALL FREHP(HPDENINIT,IREAL8(NOEMAX))
433 IF (HPNLOW.NE.0) CALL FREHP(HPNLOW,IREAL8(NOEMAX))
434 IF (HPNHIG.NE.0) CALL FREHP(HPNHIG,IREAL8(NOEMAX))
435 IF (HPNWGH.NE.0) CALL FREHP(HPNWGH,IREAL8(NOEMAX))
436 @@ -3495,6 +3760,7 @@
437 HPNRRV=0
438 HPNNSP=0
439 HPNDIS=0
440 + HPDENINIT=0
441 HPNLOW=0
442 HPNHIG=0
443 HPNWGH=0
444 @@ -3511,7 +3777,6 @@
445 HPNVOL=0
446 HPCVOL=0
447 HPCDIS=0
448 - HPNPRD=0
449 C
450 C now allocate new space
451 IF (NOENEW.GT.0) THEN
452 @@ -3536,6 +3801,7 @@
453 HPNRRV=ALLHP(IREAL8(NOENEW))
454 HPNNSP=ALLHP(INTEG4(NOENEW))
455 HPNDIS=ALLHP(IREAL8(NOENEW))
456 + HPDENINIT=ALLHP(IREAL8(NOENEW))
457 HPNCND=ALLHP(INTEG4(NOENEW))
458 HPNJLS=ALLHP(INTEG4(NOENEW))
459 HPNJPR=ALLHP(INTEG4(NOENEW))
460 diff -arNu aria2.2/cns/src/noe.inc aria2.2.new/cns/src/noe.inc
461 --- aria2.2/cns/src/noe.inc 2007-08-22 17:25:51.000000000 +0200
462 +++ aria2.2.new/cns/src/noe.inc 2009-06-14 15:24:50.995208687 +0200
463 @@ -29,6 +29,9 @@
464 C list for distances and +/- error estimates (heap pointers)
465 INTEGER HPNDIS, HPNLOW, HPNHIG
466 C
467 +C list for initial DEN distances
468 + INTEGER HPDENINIT
469 +C
470 C individual weights on restraints
471 INTEGER HPNWGH
472 C
473 @@ -119,7 +122,7 @@
474 INTEGER HPNVIO, HPNEXC, HPNNUM
475
476 C peak identifier
477 - INTEGER NPEAKI, HPNPID, HPNPRD
478 + INTEGER NPEAKI, HPNPID
479 C
480 C
481 C
482 @@ -142,7 +145,7 @@
483 & NMONO, RAVEXP, NOECOR, NOEICV,
484 & HPNVIO, HPNEXC, HPNNUM,
485 & NPEAKI, HPNPID, IDIMER, HPNPP1, HPNPP2,
486 - & HPNHP1, HPNHP2, HPNVOL, HPCVOL, HPCDIS, HPNPRD
487 + & HPNHP1, HPNHP2, HPNVOL, HPCVOL, HPCDIS, HPDENINIT
488 C
489 C character string block
490 C