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*(2*nss+2)+16
53 lenrec_in=12*(nres+nct-nnt+1)+4*(2*nss+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(j), iret)
223 call xdrfint(ixdrf, jdssb(j), iret)
224 idssb(j)=idssb(j)-nres
225 jdssb(j)=jdssb(j)-nres
227 call xdrfint_(ixdrf, ihpb(j), iret)
228 if (iret.eq.0) goto 101
229 call xdrfint_(ixdrf, jhpb(j), iret)
230 if (iret.eq.0) goto 101
233 call xdrffloat_(ixdrf,reini,iret)
234 if (iret.eq.0) goto 101
235 call xdrffloat_(ixdrf,refree,iret)
236 if (iret.eq.0) goto 101
237 call xdrffloat_(ixdrf,rmsdev,iret)
238 if (iret.eq.0) goto 101
239 call xdrfint_(ixdrf,iscor,iret)
240 if (iret.eq.0) goto 101
242 c write (iout,*) "calling xdrf3dfcoord"
243 call xdrf3dfcoord(ixdrf, csingle, itmp, prec, iret)
244 c write (iout,*) "iret",iret
246 if (iret.eq.0) goto 101
247 call xdrfint(ixdrf, nss, iret)
248 c write (iout,*) "iret",iret
249 c write (iout,*) "nss",nss
251 if (iret.eq.0) goto 101
254 call xdrfint(ixdrf, idssb(k), iret)
255 call xdrfint(ixdrf, jdssb(k), iret)
257 call xdrfint(ixdrf, ihpb(k), iret)
258 if (iret.eq.0) goto 101
259 call xdrfint(ixdrf, jhpb(k), iret)
260 if (iret.eq.0) goto 101
263 call xdrffloat(ixdrf,reini,iret)
264 if (iret.eq.0) goto 101
265 call xdrffloat(ixdrf,refree,iret)
266 if (iret.eq.0) goto 101
267 call xdrffloat(ixdrf,rmsdev,iret)
268 if (iret.eq.0) goto 101
269 call xdrfint(ixdrf,iscor,iret)
270 if (iret.eq.0) goto 101
276 write (iout,*) "jj",jj+1," energy",energy(jj+1),
277 & " entfac",entfac(jj+1)," rmsd",rmstb(jj+1)
286 c(l,nres+k)=csingle(l,nres+k-nnt+1)
292 write (iout,'(5hREAD ,i5,3f15.4,i10)')
293 & jj+1,energy(jj+1),entfac(jj+1),
295 write (iout,*) "Conformation",jjj+1,jj+1
296 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
297 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
301 call add_new_cconf(jjj,jj,jj_old,icount,Next)
304 write (iout,*) i-1," conformations read from DA file ",
305 & intinname(:ilen(intinname))
306 write (iout,*) jj," conformations read so far"
310 #if (defined(AIX) && !defined(JUBL))
311 call xdrfclose_(ixdrf, iret)
313 call xdrfclose(ixdrf, iret)
318 write (iout,*) "jj_old",jj_old," jj",jj
320 call write_and_send_cconf(icount,jj_old,jj,Next)
321 call MPI_Send(0,1,MPI_INTEGER,Next,570,
322 & MPI_COMM_WORLD,IERROR)
325 call write_and_send_cconf(icount,jj_old,jj,Next)
327 t_acq = tcpu() - t_acq
329 write (iout,*) "Processor",me,
330 & " time for conformation read/send",t_acq
332 c A worker gets the confs from the master and sends them to its neighbor
334 call receive_and_pass_cconf(icount,jj_old,jj,
336 t_acq = tcpu() - t_acq
343 write(iout,*)"A total of",ncon," conformations read."
346 c Check if everyone has the same number of conformations
347 call MPI_Allgather(ncon,1,MPI_INTEGER,
348 & ntot_all(0),1,MPI_INTEGER,MPI_Comm_World,IERROR)
352 if (ncon.ne.ntot_all(i)) then
353 write (iout,*) "Number of conformations at processor",i,
354 & " differs from that at processor",me,
362 write (iout,*) "Number of conformations read by processors"
365 write (iout,'(8i10)') i,ntot_all(i)
367 write (iout,*) "Calculation terminated."
373 1111 write(iout,*) "Error opening coordinate file ",
374 & intinname(:ilen(intinname))
378 c------------------------------------------------------------------------------
379 subroutine add_new_cconf(jjj,jj,jj_old,icount,Next)
382 include "sizesclu.dat"
383 include "COMMON.CLUSTER"
384 include "COMMON.CONTROL"
385 include "COMMON.CHAIN"
386 include "COMMON.INTERACT"
387 include "COMMON.LOCAL"
388 include "COMMON.IOUNITS"
389 include "COMMON.NAMES"
391 include "COMMON.SBRIDGE"
393 integer i,j,jj,jjj,jj_old,icount,k,kk,l,ii,ib
394 & nn,nn1,inan,Next,itj,chalen
395 double precision etot,energia(0:max_ene)
397 chalen=int((nct-nnt+2)/symetr)
398 call int_from_cart1(.false.)
400 if ((vbld(j).lt.2.0d0 .or. vbld(j).gt.5.0d0)
401 & .and.(itype(j).ne.ntyp1)) then
403 if (itel(j).ne.0 .and. itel(j-1).ne.0) then
404 write (iout,*) "Conformation",jjj,jj+1
405 write (iout,*) "Bad CA-CA bond length",j," ",vbld(j),itel(j),
407 write (iout,*) "The Cartesian geometry is:"
408 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
409 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
410 write (iout,*) "The internal geometry is:"
411 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
412 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
413 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
414 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
415 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
416 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
418 & "This conformation WILL NOT be added to the database."
426 if (itype(j).ne.10 .and. (vbld(nres+j)-dsc(iabs(itj))).gt.2.0d0
427 & .and. itype(j).ne.ntyp1) then
428 write (iout,*) "Conformation",jjj,jj+1
429 write (iout,*) "Bad CA-SC bond length",j," ",vbld(nres+j)
430 write (iout,*) "The Cartesian geometry is:"
431 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
432 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
433 write (iout,*) "The internal geometry is:"
434 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
435 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
436 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
437 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
438 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
439 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
441 & "This conformation WILL NOT be added to the database."
446 if (theta(j).le.0.0d0) then
448 & "Zero theta angle(s) in conformation",jjj,jj+1
449 write (iout,*) "The Cartesian geometry is:"
450 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
451 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
452 write (iout,*) "The internal geometry is:"
453 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
454 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
455 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
456 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
457 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
458 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
460 & "This conformation WILL NOT be added to the database."
463 if (theta(j).gt.179.97*deg2rad) theta(j)=179.97*deg2rad
467 write (iout,*) "Conformation",jjj,jj
468 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
469 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
470 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
471 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
472 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
473 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
474 write (iout,'(8f10.4)') (vbld(k+nres),k=nnt,nct)
475 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
476 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
477 write (iout,'(16i5)') nss,(ihpb(k),jhpb(k),k=1,nss)
478 write (iout,'(e15.5,16i5)') entfac(icount+1)
479 c & iscore(icount+1,0)
482 call store_cconf_from_file(jj,icount)
483 if (icount.eq.maxstr_proc) then
485 write (iout,* ) "jj_old",jj_old," jj",jj
487 call write_and_send_cconf(icount,jj_old,jj,Next)
493 c------------------------------------------------------------------------------
494 subroutine store_cconf_from_file(jj,icount)
497 include "sizesclu.dat"
498 include "COMMON.CLUSTER"
499 include "COMMON.CHAIN"
500 include "COMMON.SBRIDGE"
501 include "COMMON.INTERACT"
502 include "COMMON.IOUNITS"
504 integer i,j,jj,icount
505 c Store the conformation that has been read in
508 allcart(j,i,icount)=c(j,i)
513 ihpb_all(i,icount)=ihpb(i)
514 jhpb_all(i,icount)=jhpb(i)
518 c------------------------------------------------------------------------------
519 subroutine write_and_send_cconf(icount,jj_old,jj,Next)
522 include "sizesclu.dat"
528 include "COMMON.CHAIN"
529 include "COMMON.SBRIDGE"
530 include "COMMON.INTERACT"
531 include "COMMON.IOUNITS"
532 include "COMMON.CLUSTER"
534 integer icount,jj_old,jj,Next
535 c Write the structures to a scratch file
537 c Master sends the portion of conformations that have been read in to the neighbor
539 write (iout,*) "Processor",me," entered WRITE_AND_SEND_CONF"
542 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,IERROR)
543 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
544 & Next,571,MPI_COMM_WORLD,IERROR)
545 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
546 & Next,572,MPI_COMM_WORLD,IERROR)
547 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
548 & Next,573,MPI_COMM_WORLD,IERROR)
549 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
550 & Next,577,MPI_COMM_WORLD,IERROR)
551 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
552 & Next,579,MPI_COMM_WORLD,IERROR)
553 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
554 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
556 call dawrite_ccoords(jj_old,jj,icbase)
558 write (iout,*) "Processor",me," exit WRITE_AND_SEND_CONF"
563 c------------------------------------------------------------------------------
565 subroutine receive_and_pass_cconf(icount,jj_old,jj,Previous,
569 include "sizesclu.dat"
571 integer IERROR,STATUS(MPI_STATUS_SIZE)
573 include "COMMON.CHAIN"
574 include "COMMON.SBRIDGE"
575 include "COMMON.INTERACT"
576 include "COMMON.IOUNITS"
579 include "COMMON.CLUSTER"
580 integer i,j,k,l,icount,jj_old,jj,Previous,Next
583 write (iout,*) "Processor",me," entered RECEIVE_AND_PASS_CONF"
586 do while (icount.gt.0)
587 call MPI_Recv(icount,1,MPI_INTEGER,Previous,570,MPI_COMM_WORLD,
589 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,
592 write (iout,*) "Processor",me," icount",icount
594 if (icount.eq.0) return
595 call MPI_Recv(nss_all(1),icount,MPI_INTEGER,
596 & Previous,571,MPI_COMM_WORLD,STATUS,IERROR)
597 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
598 & Next,571,MPI_COMM_WORLD,IERROR)
599 call MPI_Recv(ihpb_all(1,1),icount,MPI_INTEGER,
600 & Previous,572,MPI_COMM_WORLD,STATUS,IERROR)
601 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
602 & Next,572,MPI_COMM_WORLD,IERROR)
603 call MPI_Recv(jhpb_all(1,1),icount,MPI_INTEGER,
604 & Previous,573,MPI_COMM_WORLD,STATUS,IERROR)
605 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
606 & Next,573,MPI_COMM_WORLD,IERROR)
607 call MPI_Recv(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
608 & Previous,577,MPI_COMM_WORLD,STATUS,IERROR)
609 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
610 & Next,577,MPI_COMM_WORLD,IERROR)
611 call MPI_Recv(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
612 & Previous,579,MPI_COMM_WORLD,STATUS,IERROR)
613 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
614 & Next,579,MPI_COMM_WORLD,IERROR)
615 call MPI_Recv(allcart(1,1,1),3*icount*maxres2,
616 & MPI_REAL,Previous,580,MPI_COMM_WORLD,STATUS,IERROR)
617 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
618 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
620 call dawrite_ccoords(jj_old,jj,icbase)
623 write (iout,*) "Processor",me," received",icount," conformations"
625 write (iout,'(8f10.4)') ((allcart(l,k,i),l=1,3),k=1,nres)
626 write (iout,'(8f10.4)')((allcart(l,k,i+nres),l=1,3),k=nnt,nct)
627 write (iout,'(e15.5,16i5)') entfac(i)
634 c------------------------------------------------------------------------------
635 subroutine daread_ccoords(istart_conf,iend_conf)
638 include "sizesclu.dat"
643 include "COMMON.CHAIN"
644 include "COMMON.CLUSTER"
645 include "COMMON.IOUNITS"
646 include "COMMON.INTERACT"
648 include "COMMON.SBRIDGE"
650 integer istart_conf,iend_conf
651 integer i,j,ij,ii,iii
653 character*16 form,acc
656 c Read conformations off a DA scratchfile.
660 write (iout,*) "DAREAD_COORDS"
661 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
662 inquire(unit=icbase,name=nam,recl=len,form=form,access=acc)
663 write (iout,*) "len=",len," form=",form," acc=",acc
664 write (iout,*) "nam=",nam
667 do ii=istart_conf,iend_conf
668 ij = ii - istart_conf + 1
671 write (iout,*) "Reading binary file, record",iii," ii",ii
675 read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
676 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
677 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
678 & entfac(ii),rmstb(ii)
680 read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
681 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
682 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
683 & entfac(ii),rmstb(ii)
686 write (iout,*) ii,iii,ij,entfac(ii)
687 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
688 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),
689 & i=nnt+nres,nct+nres)
690 write (iout,'(2e15.5)') entfac(ij)
691 write (iout,'(16i5)') nss_all(ij),(ihpb_all(i,ij),
692 & jhpb_all(i,ij),i=1,nss)
697 c write (iout,*) "just before leave"
701 c------------------------------------------------------------------------------
702 subroutine dawrite_ccoords(istart_conf,iend_conf,unit_out)
705 include "sizesclu.dat"
710 include "COMMON.CHAIN"
711 include "COMMON.INTERACT"
712 include "COMMON.IOUNITS"
714 include "COMMON.SBRIDGE"
716 include "COMMON.CLUSTER"
717 integer istart_conf,iend_conf
718 integer i,j,ii,ij,iii,unit_out
720 character*16 form,acc
723 c Write conformations to a DA scratchfile.
726 write (iout,*) "DAWRITE_COORDS"
727 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
728 write (iout,*) "lenrec",lenrec
729 inquire(unit=unit_out,name=nam,recl=len,form=form,access=acc)
730 write (iout,*) "len=",len," form=",form," acc=",acc
731 write (iout,*) "nam=",nam
734 do ii=istart_conf,iend_conf
736 ij = ii - istart_conf + 1
738 write (iout,*) "Writing binary file, record",iii," ii",ii
742 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
743 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
744 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij))
745 & entfac(ii),rmstb(ii)
747 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
748 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
749 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij)),
750 & entfac(ii),rmstb(ii)
753 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
754 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),i=nnt+nres,
756 write (iout,'(2e15.5)') entfac(ij)
757 write (iout,'(16i5)') nss_all(ij),(ihpb(i,ij),jhpb(i,ij),i=1,