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
216 #if (defined(AIX) && !defined(JUBL))
217 call xdrf3dfcoord_(ixdrf, csingle, itmp, prec, iret)
218 if (iret.eq.0) goto 101
219 call xdrfint_(ixdrf, nss, iret)
220 if (iret.eq.0) goto 101
223 call xdrfint(ixdrf, idssb(j), iret)
224 call xdrfint(ixdrf, jdssb(j), iret)
225 idssb(j)=idssb(j)-nres
226 jdssb(j)=jdssb(j)-nres
228 call xdrfint_(ixdrf, ihpb(j), iret)
229 if (iret.eq.0) goto 101
230 call xdrfint_(ixdrf, jhpb(j), iret)
231 if (iret.eq.0) goto 101
234 call xdrffloat_(ixdrf,reini,iret)
235 if (iret.eq.0) goto 101
236 call xdrffloat_(ixdrf,refree,iret)
237 if (iret.eq.0) goto 101
238 call xdrffloat_(ixdrf,rmsdev,iret)
239 if (iret.eq.0) goto 101
240 call xdrfint_(ixdrf,iscor,iret)
241 if (iret.eq.0) goto 101
243 c write (iout,*) "calling xdrf3dfcoord"
244 call xdrf3dfcoord(ixdrf, csingle, itmp, prec, iret)
245 c write (iout,*) "iret",iret
247 if (iret.eq.0) goto 101
248 call xdrfint(ixdrf, nss, iret)
249 c write (iout,*) "iret",iret
250 c write (iout,*) "nss",nss
252 if (iret.eq.0) goto 101
255 call xdrfint(ixdrf, idssb(k), iret)
256 call xdrfint(ixdrf, jdssb(k), iret)
258 call xdrfint(ixdrf, ihpb(k), iret)
259 if (iret.eq.0) goto 101
260 call xdrfint(ixdrf, jhpb(k), iret)
261 if (iret.eq.0) goto 101
264 call xdrffloat(ixdrf,reini,iret)
265 if (iret.eq.0) goto 101
266 call xdrffloat(ixdrf,refree,iret)
267 if (iret.eq.0) goto 101
268 call xdrffloat(ixdrf,rmsdev,iret)
269 if (iret.eq.0) goto 101
270 call xdrfint(ixdrf,iscor,iret)
271 if (iret.eq.0) goto 101
283 c(l,nres+k)=csingle(l,nres+k-nnt+1)
289 write (iout,'(5hREAD ,i5,3f15.4,i10)')
290 & jj+1,energy(jj+1),entfac(jj+1),
292 write (iout,*) "Conformation",jjj+1,jj+1
293 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
294 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
298 call add_new_cconf(jjj,jj,jj_old,icount,Next)
301 write (iout,*) i-1," conformations read from DA file ",
302 & intinname(:ilen(intinname))
303 write (iout,*) jj," conformations read so far"
307 #if (defined(AIX) && !defined(JUBL))
308 call xdrfclose_(ixdrf, iret)
310 call xdrfclose(ixdrf, iret)
315 write (iout,*) "jj_old",jj_old," jj",jj
317 call write_and_send_cconf(icount,jj_old,jj,Next)
318 call MPI_Send(0,1,MPI_INTEGER,Next,570,
319 & MPI_COMM_WORLD,IERROR)
322 call write_and_send_cconf(icount,jj_old,jj,Next)
324 t_acq = tcpu() - t_acq
326 write (iout,*) "Processor",me,
327 & " time for conformation read/send",t_acq
329 c A worker gets the confs from the master and sends them to its neighbor
331 call receive_and_pass_cconf(icount,jj_old,jj,
333 t_acq = tcpu() - t_acq
340 write(iout,*)"A total of",ncon," conformations read."
343 c Check if everyone has the same number of conformations
344 call MPI_Allgather(ncon,1,MPI_INTEGER,
345 & ntot_all(0),1,MPI_INTEGER,MPI_Comm_World,IERROR)
349 if (ncon.ne.ntot_all(i)) then
350 write (iout,*) "Number of conformations at processor",i,
351 & " differs from that at processor",me,
359 write (iout,*) "Number of conformations read by processors"
362 write (iout,'(8i10)') i,ntot_all(i)
364 write (iout,*) "Calculation terminated."
370 1111 write(iout,*) "Error opening coordinate file ",
371 & intinname(:ilen(intinname))
375 c------------------------------------------------------------------------------
376 subroutine add_new_cconf(jjj,jj,jj_old,icount,Next)
379 include "sizesclu.dat"
380 include "COMMON.CLUSTER"
381 include "COMMON.CONTROL"
382 include "COMMON.CHAIN"
383 include "COMMON.INTERACT"
384 include "COMMON.LOCAL"
385 include "COMMON.IOUNITS"
386 include "COMMON.NAMES"
388 include "COMMON.SBRIDGE"
390 integer i,j,jj,jjj,jj_old,icount,k,kk,l,ii,ib
391 & nn,nn1,inan,Next,itj,chalen
392 double precision etot,energia(0:max_ene)
394 chalen=int((nct-nnt+2)/symetr)
395 call int_from_cart1(.false.)
397 if ((vbld(j).lt.2.0d0 .or. vbld(j).gt.6.0d0)
398 & .and.(itype(j).ne.ntyp1)) then
400 if (itel(j).ne.0 .and. itel(j-1).ne.0) then
401 write (iout,*) "Conformation",jjj,jj+1
402 write (iout,*) "Bad CA-CA bond length",j," ",vbld(j),itel(j),
404 write (iout,*) "The Cartesian geometry is:"
405 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
406 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
407 write (iout,*) "The internal geometry is:"
408 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
409 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
410 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
411 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
412 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
413 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
415 & "This conformation WILL NOT be added to the database."
423 if (itype(j).ne.10 .and. (vbld(nres+j)-dsc(iabs(itj))).gt.5.0d0
424 & .and. itype(j).ne.ntyp1) then
425 write (iout,*) "Conformation",jjj,jj+1
426 write (iout,*) "Bad CA-SC bond length",j," ",vbld(nres+j)
427 write (iout,*) "The Cartesian geometry is:"
428 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
429 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
430 write (iout,*) "The internal geometry is:"
431 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
432 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
433 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
434 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
435 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
436 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
438 & "This conformation WILL NOT be added to the database."
443 if (theta(j).le.0.0d0) then
445 & "Zero theta angle(s) in conformation",jjj,jj+1
446 write (iout,*) "The Cartesian geometry is:"
447 write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
448 write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
449 write (iout,*) "The internal geometry is:"
450 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
451 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
452 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
453 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
454 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
455 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
457 & "This conformation WILL NOT be added to the database."
460 if (theta(j).gt.179.97*deg2rad) theta(j)=179.97*deg2rad
464 write (iout,*) "Conformation",jjj,jj
465 write (iout,'(8f10.5)') ((c(j,i),j=1,3),i=1,nres)
466 write (iout,'(8f10.5)') ((c(j,i+nres),j=1,3),i=nnt,nct)
467 write (iout,'(8f10.4)') (vbld(k),k=nnt+1,nct)
468 write (iout,'(8f10.4)') (vbld(k),k=nres+nnt,nres+nct)
469 write (iout,'(8f10.4)') (rad2deg*theta(k),k=3,nres)
470 write (iout,'(8f10.4)') (rad2deg*phi(k),k=4,nres)
471 write (iout,'(8f10.4)') (vbld(k+nres),k=nnt,nct)
472 write (iout,'(8f10.4)') (rad2deg*alph(k),k=2,nres-1)
473 write (iout,'(8f10.4)') (rad2deg*omeg(k),k=2,nres-1)
474 write (iout,'(16i5)') nss,(ihpb(k),jhpb(k),k=1,nss)
475 write (iout,'(e15.5,16i5)') entfac(icount+1)
476 c & iscore(icount+1,0)
479 call store_cconf_from_file(jj,icount)
480 if (icount.eq.maxstr_proc) then
482 write (iout,* ) "jj_old",jj_old," jj",jj
484 call write_and_send_cconf(icount,jj_old,jj,Next)
490 c------------------------------------------------------------------------------
491 subroutine store_cconf_from_file(jj,icount)
494 include "sizesclu.dat"
495 include "COMMON.CLUSTER"
496 include "COMMON.CHAIN"
497 include "COMMON.SBRIDGE"
498 include "COMMON.INTERACT"
499 include "COMMON.IOUNITS"
501 integer i,j,jj,icount
502 c Store the conformation that has been read in
505 allcart(j,i,icount)=c(j,i)
510 ihpb_all(i,icount)=ihpb(i)
511 jhpb_all(i,icount)=jhpb(i)
515 c------------------------------------------------------------------------------
516 subroutine write_and_send_cconf(icount,jj_old,jj,Next)
519 include "sizesclu.dat"
525 include "COMMON.CHAIN"
526 include "COMMON.SBRIDGE"
527 include "COMMON.INTERACT"
528 include "COMMON.IOUNITS"
529 include "COMMON.CLUSTER"
531 integer icount,jj_old,jj,Next
532 c Write the structures to a scratch file
534 c Master sends the portion of conformations that have been read in to the neighbor
536 write (iout,*) "Processor",me," entered WRITE_AND_SEND_CONF"
539 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,IERROR)
540 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
541 & Next,571,MPI_COMM_WORLD,IERROR)
542 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
543 & Next,572,MPI_COMM_WORLD,IERROR)
544 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
545 & Next,573,MPI_COMM_WORLD,IERROR)
546 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
547 & Next,577,MPI_COMM_WORLD,IERROR)
548 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
549 & Next,579,MPI_COMM_WORLD,IERROR)
550 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
551 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
553 call dawrite_ccoords(jj_old,jj,icbase)
556 c------------------------------------------------------------------------------
558 subroutine receive_and_pass_cconf(icount,jj_old,jj,Previous,
562 include "sizesclu.dat"
564 integer IERROR,STATUS(MPI_STATUS_SIZE)
566 include "COMMON.CHAIN"
567 include "COMMON.SBRIDGE"
568 include "COMMON.INTERACT"
569 include "COMMON.IOUNITS"
572 include "COMMON.CLUSTER"
573 integer i,j,k,icount,jj_old,jj,Previous,Next
576 write (iout,*) "Processor",me," entered RECEIVE_AND_PASS_CONF"
579 do while (icount.gt.0)
580 call MPI_Recv(icount,1,MPI_INTEGER,Previous,570,MPI_COMM_WORLD,
582 call MPI_Send(icount,1,MPI_INTEGER,Next,570,MPI_COMM_WORLD,
585 write (iout,*) "Processor",me," icount",icount
587 if (icount.eq.0) return
588 call MPI_Recv(nss_all(1),icount,MPI_INTEGER,
589 & Previous,571,MPI_COMM_WORLD,STATUS,IERROR)
590 call MPI_Send(nss_all(1),icount,MPI_INTEGER,
591 & Next,571,MPI_COMM_WORLD,IERROR)
592 call MPI_Recv(ihpb_all(1,1),icount,MPI_INTEGER,
593 & Previous,572,MPI_COMM_WORLD,STATUS,IERROR)
594 call MPI_Send(ihpb_all(1,1),icount,MPI_INTEGER,
595 & Next,572,MPI_COMM_WORLD,IERROR)
596 call MPI_Recv(jhpb_all(1,1),icount,MPI_INTEGER,
597 & Previous,573,MPI_COMM_WORLD,STATUS,IERROR)
598 call MPI_Send(jhpb_all(1,1),icount,MPI_INTEGER,
599 & Next,573,MPI_COMM_WORLD,IERROR)
600 call MPI_Recv(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
601 & Previous,577,MPI_COMM_WORLD,STATUS,IERROR)
602 call MPI_Send(rmstb(jj_old),icount,MPI_DOUBLE_PRECISION,
603 & Next,577,MPI_COMM_WORLD,IERROR)
604 call MPI_Recv(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
605 & Previous,579,MPI_COMM_WORLD,STATUS,IERROR)
606 call MPI_Send(entfac(jj_old),icount,MPI_DOUBLE_PRECISION,
607 & Next,579,MPI_COMM_WORLD,IERROR)
608 call MPI_Recv(allcart(1,1,1),3*icount*maxres2,
609 & MPI_REAL,Previous,580,MPI_COMM_WORLD,STATUS,IERROR)
610 call MPI_Send(allcart(1,1,1),3*icount*maxres2,
611 & MPI_REAL,Next,580,MPI_COMM_WORLD,IERROR)
613 call dawrite_ccoords(jj_old,jj,icbase)
616 write (iout,*) "Processor",me," received",icount," conformations"
618 write (iout,'(8f10.4)') (allcart(l,k,i),l=1,3,k=1,nres)
619 write (iout,'(8f10.4)')((allcart(l,k,i+nres),l=1,3,k=nnt,nct)
620 write (iout,'(e15.5,16i5)') entfac(i)
627 c------------------------------------------------------------------------------
628 subroutine daread_ccoords(istart_conf,iend_conf)
631 include "sizesclu.dat"
636 include "COMMON.CHAIN"
637 include "COMMON.CLUSTER"
638 include "COMMON.IOUNITS"
639 include "COMMON.INTERACT"
641 include "COMMON.SBRIDGE"
643 integer istart_conf,iend_conf
644 integer i,j,ij,ii,iii
646 character*16 form,acc
649 c Read conformations off a DA scratchfile.
653 write (iout,*) "DAREAD_COORDS"
654 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
655 inquire(unit=icbase,name=nam,recl=len,form=form,access=acc)
656 write (iout,*) "len=",len," form=",form," acc=",acc
657 write (iout,*) "nam=",nam
660 do ii=istart_conf,iend_conf
661 ij = ii - istart_conf + 1
664 write (iout,*) "Reading binary file, record",iii," ii",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 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
671 & entfac(ii),rmstb(ii)
673 read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
674 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
675 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
676 & entfac(ii),rmstb(ii)
679 write (iout,*) ii,iii,ij,entfac(ii)
680 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
681 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),
682 & i=nnt+nres,nct+nres)
683 write (iout,'(2e15.5)') entfac(ij)
684 write (iout,'(16i5)') nss_all(ij),(ihpb_all(i,ij),
685 & jhpb_all(i,ij),i=1,nss)
690 c write (iout,*) "just before leave"
694 c------------------------------------------------------------------------------
695 subroutine dawrite_ccoords(istart_conf,iend_conf,unit_out)
698 include "sizesclu.dat"
703 include "COMMON.CHAIN"
704 include "COMMON.INTERACT"
705 include "COMMON.IOUNITS"
707 include "COMMON.SBRIDGE"
709 include "COMMON.CLUSTER"
710 integer istart_conf,iend_conf
711 integer i,j,ii,ij,iii,unit_out
713 character*16 form,acc
716 c Write conformations to a DA scratchfile.
719 write (iout,*) "DAWRITE_COORDS"
720 write (iout,*) "istart_conf",istart_conf," iend_conf",iend_conf
721 write (iout,*) "lenrec",lenrec
722 inquire(unit=unit_out,name=nam,recl=len,form=form,access=acc)
723 write (iout,*) "len=",len," form=",form," acc=",acc
724 write (iout,*) "nam=",nam
727 do ii=istart_conf,iend_conf
729 ij = ii - istart_conf + 1
731 write (iout,*) "Writing binary file, record",iii," ii",ii
735 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
736 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
737 c & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij))
738 & entfac(ii),rmstb(ii)
740 write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
741 & ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
742 & nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij)),
743 & entfac(ii),rmstb(ii)
746 write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
747 write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),i=nnt+nres,
749 write (iout,'(2e15.5)') entfac(ij)
750 write (iout,'(16i5)') nss_all(ij),(ihpb(i,ij),jhpb(i,ij),i=1,