1 subroutine read_coords(ncon,*)
7 integer IERROR,ERRCODE,STATUS(MPI_STATUS_SIZE)
10 include "COMMON.CONTROL"
11 include "COMMON.CHAIN"
12 include "COMMON.INTERACT"
13 include "COMMON.IOUNITS"
15 include "COMMON.SBRIDGE"
17 include "COMMON.CLUSTER"
20 integer i,j,jj,jjj,jj_old,icount,k,kk,l,ii,if,ib,
22 integer ixdrf,iret,itmp
23 real*4 prec,reini,refree,rmsdev
24 integer nrec,nlines,iscor,lenrec,lenrec_in
25 double precision energ,t_acq,tcpu
28 double precision rjunk
29 integer ntot_all(0:maxprocs-1)
31 double precision energia(0:max_ene),etot
32 real*4 csingle(3,maxres2+2)
34 character*256 bprotfiles
35 c print *,"Processor",me," calls read_protein_data"
37 if (me.eq.master) then
38 Previous=MPI_PROC_NULL
42 if (me.eq.nprocs-1) then
47 c Set the scratchfile names
48 write (liczba,'(bz,i3.3)') me
50 c 1/27/05 AL Change stored coordinates to single precision and don't store
51 c energy components in the binary databases.
52 lenrec=12*(nres+nct-nnt+1)+4*(ns+2)+16
53 lenrec_in=12*(nres+nct-nnt+1)+4*(ns+2)+24
55 write (iout,*) "nres",nres," nnt",nnt," nct",nct," nss", nss
56 write (iout,*) "lenrec_in",lenrec_in
58 bprotfiles=scratchdir(:ilen(scratchdir))//
59 & "/"//prefix(:ilen(prefix))//liczba//".xbin"
64 if (from_cart .and. .not. from_bx .and. .not. from_cx) then
66 read (intin,*,end=13,err=11) energy(icon),totfree(icon),
68 & nss_all(icon),(ihpb_all(ii,icon),jhpb_all(i,icon),
69 & i=1,nss_all(icon)),iscore(icon)
71 read (intin,*,end=13,err=11) energy(icon),rmstb(icon),
72 & nss_all(icon),(ihpb_all(ii,icon),jhpb_all(i,icon),
73 & i=1,nss_all(icon)),iscore(icon)
75 read (intin,'(8f10.5)',end=13,err=10)
76 & ((allcart(j,i,icon),j=1,3),i=1,nres),
77 & ((allcart(j,i+nres,icon),j=1,3),i=nnt,nct)
78 print *,icon,energy(icon),nss_all(icon),rmstb(icon)
80 read(intin,'(a80)',end=13,err=12) lineh
81 read(lineh(:5),*,err=8) ic
83 read(lineh(6:),*,err=8) energy(icon)
85 read(lineh(6:),*,err=8) energy(icon)
89 print *,'error, assuming e=1d10',lineh
93 cold read(lineh(18:),*,end=13,err=11) nss_all(icon)
94 ii = index(lineh(15:)," ")+15
95 read(lineh(ii:),*,end=13,err=11) nss_all(icon)
96 IF (NSS_all(icon).LT.9) THEN
97 read (lineh(20:),*,end=102)
98 & (IHPB_all(I,icon),JHPB_all(I,icon),I=1,NSS_all(icon)),
101 read (lineh(20:),*,end=102)
102 & (IHPB_all(I,icon),JHPB_all(I,icon),I=1,8)
103 read (intin,*) (IHPB_all(I,icon),JHPB_all(I,icon),
104 & I=9,NSS_all(icon)),iscore(icon)
109 PRINT *,'IC:',IC,' ENERGY:',ENERGY(ICON)
110 call read_angles(intin,*13)
112 phiall(i,icon)=phi(i)
113 thetall(i,icon)=theta(i)
114 alphall(i,icon)=alph(i)
115 omall(i,icon)=omeg(i)
121 C CALCULATE DISTANCES
123 10 print *,'something wrong with angles'
125 11 print *,'something wrong with NSS',nss
127 12 print *,'something wrong with header'
134 open (icbase,file=bprotfiles,status="unknown",
135 & form="unformatted",access="direct",recl=lenrec)
136 c Read conformations from binary DA files (one per batch) and write them to
137 c a binary DA scratchfile.
141 write (liczba,'(bz,i3.3)') me
142 IF (ME.EQ.MASTER) THEN
143 c Only the master reads the database; it'll send it to the other procs
151 open (intin,file=intinname,status="old",form="unformatted",
152 & access="direct",recl=lenrec_in)
154 else if (from_cx) then
155 #if (defined(AIX) && !defined(JUBL))
156 call xdrfopen_(ixdrf,intinname, "r", iret)
158 call xdrfopen(ixdrf,intinname, "r", iret)
161 write (iout,*) "xdrfopen: iret",iret
163 write (iout,*) "Error: coordinate file ",
164 & intinname(:ilen(intinname))," does not exist."
167 call MPI_ABORT(MPI_COMM_WORLD,IERROR,ERRCODE)
172 write (iout,*) "Error: coordinate format not specified"
175 call MPI_ABORT(MPI_COMM_WORLD,IERROR,ERRCODE)
183 write (iout,*) "Opening file ",intinname(:ilen(intinname))
184 write (iout,*) "lenrec",lenrec_in
188 c write (iout,*) "maxconf",maxconf
192 if (i.gt.maxconf) then
193 write (iout,*) "Error: too many conformations ",
194 & "(",maxconf,") maximum."
196 call MPI_Abort(MPI_COMM_WORLD,errcode,ierror)
200 c write (iout,*) "i",i
203 read(intin,err=101,end=101)
204 & ((csingle(l,k),l=1,3),k=1,nres),
205 & ((csingle(l,k+nres),l=1,3),k=nnt,nct),
206 & nss,(ihpb(k),jhpb(k),k=1,nss),
208 & entfac(jj+1),rmstb(jj+1),iscor
215 #if (defined(AIX) && !defined(JUBL))
216 call xdrf3dfcoord_(ixdrf, csingle, itmp, prec, iret)
217 if (iret.eq.0) goto 101
218 call xdrfint_(ixdrf, nss, iret)
219 if (iret.eq.0) goto 101
222 call xdrfint(ixdrf, idssb(k), iret)
223 call xdrfint(ixdrf, jdssb(k), iret)
224 ihpb(k)=iss(idssb(k))+nres
225 jhpb(k)=iss(jdssb(k))+nres
227 write (iout,*) "jj",jj+1," dyn_ss:",idssb(k),
228 & jdssb(k),ihpb(k),jhpb(k)
233 call xdrfint(ixdrf, ihpb(k), iret)
234 if (iret.eq.0) goto 101
235 call xdrfint(ixdrf, jhpb(k), iret)
236 if (iret.eq.0) goto 101
238 write (iout,*) "jj",jj+1," stat_ss:",ihpb(k),jhpb(k)
242 call xdrffloat_(ixdrf,reini,iret)
243 if (iret.eq.0) goto 101
244 call xdrffloat_(ixdrf,refree,iret)
245 if (iret.eq.0) goto 101
246 call xdrffloat_(ixdrf,rmsdev,iret)
247 if (iret.eq.0) goto 101
248 call xdrfint_(ixdrf,iscor,iret)
249 if (iret.eq.0) goto 101
251 c write (iout,*) "calling xdrf3dfcoord"
252 call xdrf3dfcoord(ixdrf, csingle, itmp, prec, iret)
253 c write (iout,*) "iret",iret
255 if (iret.eq.0) goto 101
256 call xdrfint(ixdrf, nss, iret)
257 c write (iout,*) "iret",iret
258 c write (iout,*) "nss",nss
260 if (iret.eq.0) goto 101
263 call xdrfint(ixdrf, idssb(k), iret)
264 call xdrfint(ixdrf, jdssb(k), iret)
265 ihpb(k)=iss(idssb(k))+nres
266 jhpb(k)=iss(jdssb(k))+nres
268 write (iout,*) "jj",jj+1," dyn_ss:",idssb(k),
269 & jdssb(k),ihpb(k),jhpb(k)
274 call xdrfint(ixdrf, ihpb(k), iret)
275 if (iret.eq.0) goto 101
276 call xdrfint(ixdrf, jhpb(k), iret)
277 if (iret.eq.0) goto 101
279 write (iout,*) "jj",jj+1," stat_ss:",ihpb(k),jhpb(k)
283 call xdrffloat(ixdrf,reini,iret)
284 if (iret.eq.0) goto 101
285 call xdrffloat(ixdrf,refree,iret)
286 if (iret.eq.0) goto 101
287 call xdrffloat(ixdrf,rmsdev,iret)
288 if (iret.eq.0) goto 101
289 call xdrfint(ixdrf,iscor,iret)
290 if (iret.eq.0) goto 101
296 write (iout,*) "jj",jj+1," energy",energy(jj+1),
297 & " entfac",entfac(jj+1)," rmsd",rmstb(jj+1)
306 c(l,nres+k)=csingle(l,nres+k-nnt+1)
312 write (iout,'(5hREAD ,i5,3f15.4,i10)')
313 & jj+1,energy(jj+1),entfac(jj+1),
315 write (iout,*) "Conformation",jjj+1,jj+1
316 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
317 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
321 call add_new_cconf(jjj,jj,jj_old,icount,Next)
324 write (iout,*) i-1," conformations read from DA file ",
325 & intinname(:ilen(intinname))
326 write (iout,*) jj," conformations read so far"
330 #if (defined(AIX) && !defined(JUBL))
331 call xdrfclose_(ixdrf, iret)
333 call xdrfclose(ixdrf, iret)
338 write (iout,*) "jj_old",jj_old," jj",jj
340 call write_and_send_cconf(icount,jj_old,jj,Next)
341 call MPI_Send(0,1,MPI_INTEGER,Next,570,
342 & MPI_COMM_WORLD,IERROR)
345 call write_and_send_cconf(icount,jj_old,jj,Next)
347 t_acq = tcpu() - t_acq
349 write (iout,*) "Processor",me,
350 & " time for conformation read/send",t_acq
352 c A worker gets the confs from the master and sends them to its neighbor
354 call receive_and_pass_cconf(icount,jj_old,jj,
356 t_acq = tcpu() - t_acq
363 write(iout,*)"A total of",ncon," conformations read."
366 c Check if everyone has the same number of conformations
367 call MPI_Allgather(ncon,1,MPI_INTEGER,
368 & ntot_all(0),1,MPI_INTEGER,MPI_Comm_World,IERROR)
372 if (ncon.ne.ntot_all(i)) then
373 write (iout,*) "Number of conformations at processor",i,
374 & " differs from that at processor",me,
382 write (iout,*) "Number of conformations read by processors"
385 write (iout,'(8i10)') i,ntot_all(i)
387 write (iout,*) "Calculation terminated."
393 1111 write(iout,*) "Error opening coordinate file ",
394 & intinname(:ilen(intinname))
398 c------------------------------------------------------------------------------
399 subroutine add_new_cconf(jjj,jj,jj_old,icount,Next)
402 include "sizesclu.dat"
403 include "COMMON.CLUSTER"
404 include "COMMON.CONTROL"
405 include "COMMON.CHAIN"
406 include "COMMON.INTERACT"
407 include "COMMON.LOCAL"
408 include "COMMON.IOUNITS"
409 include "COMMON.NAMES"
411 include "COMMON.SBRIDGE"
413 integer i,j,jj,jjj,jj_old,icount,k,kk,l,ii,ib
414 & nn,nn1,inan,Next,itj
415 double precision etot,energia(0:max_ene)
417 call int_from_cart1(.false.)
419 if ((vbld(j).lt.2.0d0 .or. vbld(j).gt.5.0d0)
420 & .and.(itype(j).ne.ntyp1)) then
422 if (itel(j).ne.0 .and. itel(j-1).ne.0) then
423 write (iout,*) "Conformation",jjj,jj+1
424 write (iout,*) "Bad CA-CA bond length",j," ",vbld(j),itel(j)
425 write (iout,*) "The Cartesian geometry is:"
426 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
427 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
428 write (iout,*) "The internal geometry is:"
429 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
430 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
431 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
432 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
433 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
434 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
436 & "This conformation WILL NOT be added to the database."
444 if (itype(j).ne.10 .and. (vbld(nres+j)-dsc(iabs(itj))).gt.2.0d0
445 & .and. itype(j).ne.ntyp1) then
446 write (iout,*) "Conformation",jjj,jj+1
447 write (iout,*) "Bad CA-SC bond length",j," ",vbld(nres+j)
448 write (iout,*) "The Cartesian geometry is:"
449 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
450 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
451 write (iout,*) "The internal geometry is:"
452 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
453 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
454 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
455 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
456 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
457 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
459 & "This conformation WILL NOT be added to the database."
464 if (theta(j).le.0.0d0) then
466 & "Zero theta angle(s) in conformation",jjj,jj+1
467 write (iout,*) "The Cartesian geometry is:"
468 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
469 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
470 write (iout,*) "The internal geometry is:"
471 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
472 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
473 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
474 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
475 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
476 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
478 & "This conformation WILL NOT be added to the database."
481 if (theta(j).gt.179.97*deg2rad) theta(j)=179.97*deg2rad
485 write (iout,*) "Conformation",jjj,jj
486 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
487 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
488 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
489 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
490 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
491 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
492 write (iout,'(8f10.4)') (vbld(k+nres),k=nnt,nct)
493 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
494 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
495 write (iout,'(16i5)') nss,(ihpb(k),jhpb(k),k=1,nss)
496 write (iout,'(e15.5,16i5)') entfac(icount+1)
497 c & iscore(icount+1,0)
500 call store_cconf_from_file(jj,icount)
501 if (icount.eq.maxstr_proc) then
503 write (iout,* ) "jj_old",jj_old," jj",jj
505 call write_and_send_cconf(icount,jj_old,jj,Next)
511 c------------------------------------------------------------------------------
512 subroutine store_cconf_from_file(jj,icount)
515 include "sizesclu.dat"
516 include "COMMON.CLUSTER"
517 include "COMMON.CHAIN"
518 include "COMMON.SBRIDGE"
519 include "COMMON.INTERACT"
520 include "COMMON.IOUNITS"
522 integer i,j,jj,icount
523 c Store the conformation that has been read in
526 allcart(j,i,icount)=c(j,i)
531 ihpb_all(i,icount)=ihpb(i)
532 jhpb_all(i,icount)=jhpb(i)
536 c------------------------------------------------------------------------------
537 subroutine write_and_send_cconf(icount,jj_old,jj,Next)
540 include "sizesclu.dat"
546 include "COMMON.CHAIN"
547 include "COMMON.SBRIDGE"
548 include "COMMON.INTERACT"
549 include "COMMON.IOUNITS"
550 include "COMMON.CLUSTER"
552 integer icount,jj_old,jj,Next
553 c Write the structures to a scratch file
555 c Master sends the portion of conformations that have been read in to the neighbor
557 write (iout,*) "Processor",me," entered WRITE_AND_SEND_CONF"
560 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,IERROR)
561 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
562 & Next,571,MPI_COMM_WORLD,IERROR)
563 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
564 & Next,572,MPI_COMM_WORLD,IERROR)
565 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
566 & Next,573,MPI_COMM_WORLD,IERROR)
567 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
568 & Next,577,MPI_COMM_WORLD,IERROR)
569 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
570 & Next,579,MPI_COMM_WORLD,IERROR)
571 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
572 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
574 call dawrite_ccoords(jj_old,jj,icbase)
576 write (iout,*) "Processor",me," exit WRITE_AND_SEND_CONF"
581 c------------------------------------------------------------------------------
583 subroutine receive_and_pass_cconf(icount,jj_old,jj,Previous,
587 include "sizesclu.dat"
589 integer IERROR,STATUS(MPI_STATUS_SIZE)
591 include "COMMON.CHAIN"
592 include "COMMON.SBRIDGE"
593 include "COMMON.INTERACT"
594 include "COMMON.IOUNITS"
597 include "COMMON.CLUSTER"
598 integer i,j,k,l,icount,jj_old,jj,Previous,Next
601 write (iout,*) "Processor",me," entered RECEIVE_AND_PASS_CONF"
604 do while (icount.gt.0)
605 call MPI_Recv(icount,1,MPI_INTEGER,Previous,570,MPI_COMM_WORLD,
607 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,
610 write (iout,*) "Processor",me," icount",icount
612 if (icount.eq.0) return
613 call MPI_Recv(nss_all(1),icount,MPI_INTEGER,
614 & Previous,571,MPI_COMM_WORLD,STATUS,IERROR)
615 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
616 & Next,571,MPI_COMM_WORLD,IERROR)
617 call MPI_Recv(ihpb_all(1,1),icount,MPI_INTEGER,
618 & Previous,572,MPI_COMM_WORLD,STATUS,IERROR)
619 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
620 & Next,572,MPI_COMM_WORLD,IERROR)
621 call MPI_Recv(jhpb_all(1,1),icount,MPI_INTEGER,
622 & Previous,573,MPI_COMM_WORLD,STATUS,IERROR)
623 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
624 & Next,573,MPI_COMM_WORLD,IERROR)
625 call MPI_Recv(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
626 & Previous,577,MPI_COMM_WORLD,STATUS,IERROR)
627 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
628 & Next,577,MPI_COMM_WORLD,IERROR)
629 call MPI_Recv(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
630 & Previous,579,MPI_COMM_WORLD,STATUS,IERROR)
631 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
632 & Next,579,MPI_COMM_WORLD,IERROR)
633 call MPI_Recv(allcart(1,1,1),3*icount*maxres2,
634 & MPI_REAL,Previous,580,MPI_COMM_WORLD,STATUS,IERROR)
635 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
636 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
638 call dawrite_ccoords(jj_old,jj,icbase)
641 write (iout,*) "Processor",me," received",icount," conformations"
643 write (iout,'(8f10.4)') ((allcart(l,k,i),l=1,3),k=1,nres)
644 write (iout,'(8f10.4)')((allcart(l,k,i+nres),l=1,3),k=nnt,nct)
645 write (iout,'(e15.5,16i5)') entfac(i)
652 c------------------------------------------------------------------------------
653 subroutine daread_ccoords(istart_conf,iend_conf)
656 include "sizesclu.dat"
661 include "COMMON.CHAIN"
662 include "COMMON.CLUSTER"
663 include "COMMON.IOUNITS"
664 include "COMMON.INTERACT"
666 include "COMMON.SBRIDGE"
668 integer istart_conf,iend_conf
669 integer i,j,ij,ii,iii
671 character*16 form,acc
674 c Read conformations off a DA scratchfile.
678 write (iout,*) "DAREAD_COORDS"
679 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
680 inquire(unit=icbase,name=nam,recl=len,form=form,access=acc)
681 write (iout,*) "len=",len," form=",form," acc=",acc
682 write (iout,*) "nam=",nam
685 do ii=istart_conf,iend_conf
686 ij = ii - istart_conf + 1
689 write (iout,*) "Reading binary file, record",iii," ii",ii
693 c read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
694 c & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
695 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
696 c & entfac(ii),rmstb(ii)
698 read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
699 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
700 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
701 & entfac(ii),rmstb(ii)
704 write (iout,*) ii,iii,ij,entfac(ii)
705 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
706 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),
707 & i=nnt+nres,nct+nres)
708 write (iout,'(2e15.5)') entfac(ij)
709 write (iout,'(16i5)') nss_all(ij),(ihpb_all(i,ij),
710 & jhpb_all(i,ij),i=1,nss)
715 c write (iout,*) "just before leave"
719 c------------------------------------------------------------------------------
720 subroutine dawrite_ccoords(istart_conf,iend_conf,unit_out)
723 include "sizesclu.dat"
728 include "COMMON.CHAIN"
729 include "COMMON.INTERACT"
730 include "COMMON.IOUNITS"
732 include "COMMON.SBRIDGE"
734 include "COMMON.CLUSTER"
735 integer istart_conf,iend_conf
736 integer i,j,ii,ij,iii,unit_out
738 character*16 form,acc
741 c Write conformations to a DA scratchfile.
744 write (iout,*) "DAWRITE_COORDS"
745 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
746 write (iout,*) "lenrec",lenrec
747 inquire(unit=unit_out,name=nam,recl=len,form=form,access=acc)
748 write (iout,*) "len=",len," form=",form," acc=",acc
749 write (iout,*) "nam=",nam
752 do ii=istart_conf,iend_conf
754 ij = ii - istart_conf + 1
756 write (iout,*) "Writing binary file, record",iii," ii",ii
760 c write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
761 c & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
762 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij))
763 c & entfac(ii),rmstb(ii)
765 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
766 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
767 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij)),
768 & entfac(ii),rmstb(ii)
771 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
772 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),i=nnt+nres,
774 write (iout,'(2e15.5)') entfac(ij)
775 write (iout,'(16i5)') nss_all(ij),(ihpb(i,ij),jhpb(i,ij),i=1,