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
282 c(l,nres+k)=csingle(l,nres+k-nnt+1)
287 write (iout,'(5hREAD ,i5,3f15.4,i10)')
288 & jj+1,energy(jj+1),entfac(jj+1),
290 write (iout,*) "Conformation",jjj+1,jj+1
291 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
292 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
295 call add_new_cconf(jjj,jj,jj_old,icount,Next)
298 write (iout,*) i-1," conformations read from DA file ",
299 & intinname(:ilen(intinname))
300 write (iout,*) jj," conformations read so far"
304 #if (defined(AIX) && !defined(JUBL))
305 call xdrfclose_(ixdrf, iret)
307 call xdrfclose(ixdrf, iret)
312 write (iout,*) "jj_old",jj_old," jj",jj
314 call write_and_send_cconf(icount,jj_old,jj,Next)
315 call MPI_Send(0,1,MPI_INTEGER,Next,570,
316 & MPI_COMM_WORLD,IERROR)
319 call write_and_send_cconf(icount,jj_old,jj,Next)
321 t_acq = tcpu() - t_acq
323 write (iout,*) "Processor",me,
324 & " time for conformation read/send",t_acq
326 c A worker gets the confs from the master and sends them to its neighbor
328 call receive_and_pass_cconf(icount,jj_old,jj,
330 t_acq = tcpu() - t_acq
337 write(iout,*)"A total of",ncon," conformations read."
340 c Check if everyone has the same number of conformations
341 call MPI_Allgather(ncon,1,MPI_INTEGER,
342 & ntot_all(0),1,MPI_INTEGER,MPI_Comm_World,IERROR)
346 if (ncon.ne.ntot_all(i)) then
347 write (iout,*) "Number of conformations at processor",i,
348 & " differs from that at processor",me,
356 write (iout,*) "Number of conformations read by processors"
359 write (iout,'(8i10)') i,ntot_all(i)
361 write (iout,*) "Calculation terminated."
367 1111 write(iout,*) "Error opening coordinate file ",
368 & intinname(:ilen(intinname))
372 c------------------------------------------------------------------------------
373 subroutine add_new_cconf(jjj,jj,jj_old,icount,Next)
376 include "sizesclu.dat"
377 include "COMMON.CLUSTER"
378 include "COMMON.CONTROL"
379 include "COMMON.CHAIN"
380 include "COMMON.INTERACT"
381 include "COMMON.LOCAL"
382 include "COMMON.IOUNITS"
383 include "COMMON.NAMES"
385 include "COMMON.SBRIDGE"
387 integer i,j,jj,jjj,jj_old,icount,k,kk,l,ii,ib
388 & nn,nn1,inan,Next,itj,chalen
389 double precision etot,energia(0:max_ene)
391 chalen=int((nct-nnt+2)/symetr)
392 call int_from_cart1(.false.)
394 if (vbld(j).lt.2.0d0 .or. vbld(j).gt.5.0d0) then
396 if (itel(j).ne.0 .and. itel(j-1).ne.0) then
397 write (iout,*) "Conformation",jjj,jj+1
398 write (iout,*) "Bad CA-CA bond length",j," ",vbld(j),itel(j),
400 write (iout,*) "The Cartesian geometry is:"
401 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
402 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
403 write (iout,*) "The internal geometry is:"
404 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
405 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
406 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
407 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
408 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
409 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
411 & "This conformation WILL NOT be added to the database."
419 if (itype(j).ne.10 .and. (vbld(nres+j)-dsc(iabs(itj))).gt.2.0d0)
421 write (iout,*) "Conformation",jjj,jj+1
422 write (iout,*) "Bad CA-SC bond length",j," ",vbld(nres+j)
423 write (iout,*) "The Cartesian geometry is:"
424 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
425 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
426 write (iout,*) "The internal geometry is:"
427 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
428 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
429 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
430 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
431 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
432 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
434 & "This conformation WILL NOT be added to the database."
439 if (theta(j).le.0.0d0) then
441 & "Zero theta angle(s) in conformation",jjj,jj+1
442 write (iout,*) "The Cartesian geometry is:"
443 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
444 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
445 write (iout,*) "The internal geometry is:"
446 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
447 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
448 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
449 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
450 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
451 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
453 & "This conformation WILL NOT be added to the database."
456 if (theta(j).gt.179.97*deg2rad) theta(j)=179.97*deg2rad
460 write (iout,*) "Conformation",jjj,jj
461 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
462 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
463 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
464 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
465 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
466 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
467 write (iout,'(8f10.4)') (vbld(k+nres),k=nnt,nct)
468 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
469 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
470 write (iout,'(16i5)') nss,(ihpb(k),jhpb(k),k=1,nss)
471 write (iout,'(e15.5,16i5)') entfac(icount+1)
472 c & iscore(icount+1,0)
475 call store_cconf_from_file(jj,icount)
476 if (icount.eq.maxstr_proc) then
478 write (iout,* ) "jj_old",jj_old," jj",jj
480 call write_and_send_cconf(icount,jj_old,jj,Next)
486 c------------------------------------------------------------------------------
487 subroutine store_cconf_from_file(jj,icount)
490 include "sizesclu.dat"
491 include "COMMON.CLUSTER"
492 include "COMMON.CHAIN"
493 include "COMMON.SBRIDGE"
494 include "COMMON.INTERACT"
495 include "COMMON.IOUNITS"
497 integer i,j,jj,icount
498 c Store the conformation that has been read in
501 allcart(j,i,icount)=c(j,i)
506 ihpb_all(i,icount)=ihpb(i)
507 jhpb_all(i,icount)=jhpb(i)
511 c------------------------------------------------------------------------------
512 subroutine write_and_send_cconf(icount,jj_old,jj,Next)
515 include "sizesclu.dat"
521 include "COMMON.CHAIN"
522 include "COMMON.SBRIDGE"
523 include "COMMON.INTERACT"
524 include "COMMON.IOUNITS"
525 include "COMMON.CLUSTER"
527 integer icount,jj_old,jj,Next
528 c Write the structures to a scratch file
530 c Master sends the portion of conformations that have been read in to the neighbor
532 write (iout,*) "Processor",me," entered WRITE_AND_SEND_CONF"
535 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,IERROR)
536 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
537 & Next,571,MPI_COMM_WORLD,IERROR)
538 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
539 & Next,572,MPI_COMM_WORLD,IERROR)
540 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
541 & Next,573,MPI_COMM_WORLD,IERROR)
542 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
543 & Next,577,MPI_COMM_WORLD,IERROR)
544 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
545 & Next,579,MPI_COMM_WORLD,IERROR)
546 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
547 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
549 call dawrite_ccoords(jj_old,jj,icbase)
552 c------------------------------------------------------------------------------
554 subroutine receive_and_pass_cconf(icount,jj_old,jj,Previous,
558 include "sizesclu.dat"
560 integer IERROR,STATUS(MPI_STATUS_SIZE)
562 include "COMMON.CHAIN"
563 include "COMMON.SBRIDGE"
564 include "COMMON.INTERACT"
565 include "COMMON.IOUNITS"
568 include "COMMON.CLUSTER"
569 integer i,j,k,icount,jj_old,jj,Previous,Next
572 write (iout,*) "Processor",me," entered RECEIVE_AND_PASS_CONF"
575 do while (icount.gt.0)
576 call MPI_Recv(icount,1,MPI_INTEGER,Previous,570,MPI_COMM_WORLD,
578 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,
581 write (iout,*) "Processor",me," icount",icount
583 if (icount.eq.0) return
584 call MPI_Recv(nss_all(1),icount,MPI_INTEGER,
585 & Previous,571,MPI_COMM_WORLD,STATUS,IERROR)
586 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
587 & Next,571,MPI_COMM_WORLD,IERROR)
588 call MPI_Recv(ihpb_all(1,1),icount,MPI_INTEGER,
589 & Previous,572,MPI_COMM_WORLD,STATUS,IERROR)
590 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
591 & Next,572,MPI_COMM_WORLD,IERROR)
592 call MPI_Recv(jhpb_all(1,1),icount,MPI_INTEGER,
593 & Previous,573,MPI_COMM_WORLD,STATUS,IERROR)
594 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
595 & Next,573,MPI_COMM_WORLD,IERROR)
596 call MPI_Recv(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
597 & Previous,577,MPI_COMM_WORLD,STATUS,IERROR)
598 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
599 & Next,577,MPI_COMM_WORLD,IERROR)
600 call MPI_Recv(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
601 & Previous,579,MPI_COMM_WORLD,STATUS,IERROR)
602 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
603 & Next,579,MPI_COMM_WORLD,IERROR)
604 call MPI_Recv(allcart(1,1,1),3*icount*maxres2,
605 & MPI_REAL,Previous,580,MPI_COMM_WORLD,STATUS,IERROR)
606 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
607 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
609 call dawrite_ccoords(jj_old,jj,icbase)
612 write (iout,*) "Processor",me," received",icount," conformations"
614 write (iout,'(8f10.4)') (allcart(l,k,i),l=1,3,k=1,nres)
615 write (iout,'(8f10.4)')((allcart(l,k,i+nres),l=1,3,k=nnt,nct)
616 write (iout,'(e15.5,16i5)') entfac(i)
623 c------------------------------------------------------------------------------
624 subroutine daread_ccoords(istart_conf,iend_conf)
627 include "sizesclu.dat"
632 include "COMMON.CHAIN"
633 include "COMMON.CLUSTER"
634 include "COMMON.IOUNITS"
635 include "COMMON.INTERACT"
637 include "COMMON.SBRIDGE"
639 integer istart_conf,iend_conf
640 integer i,j,ij,ii,iii
642 character*16 form,acc
645 c Read conformations off a DA scratchfile.
648 write (iout,*) "DAREAD_COORDS"
649 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
650 inquire(unit=icbase,name=nam,recl=len,form=form,access=acc)
651 write (iout,*) "len=",len," form=",form," acc=",acc
652 write (iout,*) "nam=",nam
655 do ii=istart_conf,iend_conf
656 ij = ii - istart_conf + 1
659 write (iout,*) "Reading binary file, record",iii," ii",ii
663 read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
664 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
665 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
666 & entfac(ii),rmstb(ii)
668 read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
669 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
670 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
671 & entfac(ii),rmstb(ii)
674 write (iout,*) ii,iii,ij,entfac(ii)
675 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
676 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),
677 & i=nnt+nres,nct+nres)
678 write (iout,'(2e15.5)') entfac(ij)
679 write (iout,'(16i5)') nss_all(ij),(ihpb_all(i,ij),
680 & jhpb_all(i,ij),i=1,nss)
686 c------------------------------------------------------------------------------
687 subroutine dawrite_ccoords(istart_conf,iend_conf,unit_out)
690 include "sizesclu.dat"
695 include "COMMON.CHAIN"
696 include "COMMON.INTERACT"
697 include "COMMON.IOUNITS"
699 include "COMMON.SBRIDGE"
701 include "COMMON.CLUSTER"
702 integer istart_conf,iend_conf
703 integer i,j,ii,ij,iii,unit_out
705 character*16 form,acc
708 c Write conformations to a DA scratchfile.
711 write (iout,*) "DAWRITE_COORDS"
712 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
713 write (iout,*) "lenrec",lenrec
714 inquire(unit=unit_out,name=nam,recl=len,form=form,access=acc)
715 write (iout,*) "len=",len," form=",form," acc=",acc
716 write (iout,*) "nam=",nam
719 do ii=istart_conf,iend_conf
721 ij = ii - istart_conf + 1
723 write (iout,*) "Writing binary file, record",iii," ii",ii
727 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
728 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
729 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij))
730 & entfac(ii),rmstb(ii)
732 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
733 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
734 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij)),
735 & entfac(ii),rmstb(ii)
738 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
739 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),i=nnt+nres,
741 write (iout,'(2e15.5)') entfac(ij)
742 write (iout,'(16i5)') nss_all(ij),(ihpb(i,ij),jhpb(i,ij),i=1,