if ((lipbufthick*2.0d0).gt.lipthick)
&write(iout,*) "WARNING WRONG SIZE OF LIP AQ BUF"
endif
- write(iout,*) "bordliptop=",bordliptop
- write(iout,*) "bordlipbot=",bordlipbot
- write(iout,*) "bufliptop=",bufliptop
- write(iout,*) "buflipbot=",buflipbot
+c write(iout,*) "bordliptop=",bordliptop
+c write(iout,*) "bordlipbot=",bordlipbot
+c write(iout,*) "bufliptop=",bufliptop
+c write(iout,*) "buflipbot=",buflipbot
if (me.eq.king .or. .not.out1file )
call MPI_Finalize(MPI_COMM_WORLD,IERROR)
stop 'Error reading reference structure'
#endif
- 39 call chainbuild
+ 39 call chainbuild_extconf
call setup_var
czscore call geom_to_var(nvar,coord_exp_zs(1,1))
nstart_sup=nnt
c write (iout,*) "constr_dist",constr_dist,nstart_sup,nsup
call flush(iout)
if (constr_dist.gt.0) call read_dist_constr
- write (iout,*) "After read_dist_constr nhpb",nhpb
+c write (iout,*) "After read_dist_constr nhpb",nhpb
if ((AFMlog.gt.0).or.(selfguide.gt.0)) call read_afminp
if(me.eq.king.or..not.out1file)
& write (iout,*) 'Contact order:',co
enddo
return
else
+ write (iout,*) "Calling read_ang"
call read_angles(inp,*36)
+ write (iout,*) "Calling chainbuild"
+ call chainbuild_extconf
endif
goto 37
36 write (iout,'(a)') 'Error reading angle file.'
omeg(i)=-120d0*deg2rad
if (itype(i).le.0) omeg(i)=-omeg(i)
enddo
+c from old chainbuild
+C
+C Define the origin and orientation of the coordinate system and locate the
+C first three CA's and SC(2).
+C
+ call orig_frame
+*
+* Build the alpha-carbon chain.
+*
+ do i=4,nres
+ call locate_next_res(i)
+ enddo
+C
+C First and last SC must coincide with the corresponding CA.
+C
+ do j=1,3
+ dc(j,nres+1)=0.0D0
+ dc_norm(j,nres+1)=0.0D0
+ dc(j,nres+nres)=0.0D0
+ dc_norm(j,nres+nres)=0.0D0
+ c(j,nres+1)=c(j,1)
+ c(j,nres+nres)=c(j,nres)
+ enddo
+C
+C Define the origin and orientation of the coordinate system and locate the
+C first three CA's and SC(2).
+C
+ call orig_frame
+*
+* Build the alpha-carbon chain.
+*
+ do i=4,nres
+ call locate_next_res(i)
+ enddo
+C
+C First and last SC must coincide with the corresponding CA.
+C
+ do j=1,3
+ dc(j,nres+1)=0.0D0
+ dc_norm(j,nres+1)=0.0D0
+ dc(j,nres+nres)=0.0D0
+ dc_norm(j,nres+nres)=0.0D0
+ c(j,nres+1)=c(j,1)
+ c(j,nres+nres)=c(j,nres)
+ enddo
+
+c
else
if(me.eq.king.or..not.out1file)
& write (iout,'(a)') 'Random-generated initial geometry.'
include 'DIMENSIONS'
include 'COMMON.MINIM'
include 'COMMON.IOUNITS'
+ include 'COMMON.CONTROL'
+ include 'COMMON.SETUP'
character*80 ucase
character*320 minimcard
call card_concat(minimcard)
print_min_stat=min0(index(minimcard,'PRINT_MIN_STAT'),1)
print_min_res=min0(index(minimcard,'PRINT_MIN_RES'),1)
print_min_ini=min0(index(minimcard,'PRINT_MIN_INI'),1)
+#ifdef MPI
+ if (.not. out1file .or. me.eq.king) then
+#endif
write (iout,'(/80(1h*)/20x,a/80(1h*))')
& 'Options in energy minimization:'
write (iout,'(4(a,i5),a,1pe14.5,a,1pe14.5)')
& 'MaxMin:',MaxMin,' MaxFun:',MaxFun,
& 'MinMin:',MinMin,' MinFun:',MinFun,
& ' TolF:',TolF,' RTolF:',RTolF
+#ifdef MPI
+ endif
+#endif
return
end
c----------------------------------------------------------------------------
open (ielep,file=elename,status='old')
call getenv_loc('SIDEPAR',sidename)
open (isidep,file=sidename,status='old')
+ call getenv_loc('LIPTRANPAR',liptranname)
+ open (iliptranpar,file=liptranname,status='old')
#else
open(1,file=pref_orig(:ilen(pref_orig))//'.inp',status='old',
& readonly)
call getenv_loc('SIDEPAR',sidename)
open (isidep,file=sidename,status='old',readonly)
call getenv_loc('LIPTRANPAR',liptranname)
- open (iliptranpar,file=liptranname,status='old',action='read')
+ open (iliptranpar,file=liptranname,status='old',readonly)
#ifndef CRYST_SC
call getenv_loc('ROTPARPDB',rotname_pdb)
open (irotam_pdb,file=rotname_pdb,status='old',action='read')
read2sigma=(index(controlcard,'READ2SIGMA').gt.0)
start_from_model=(index(controlcard,'START_FROM_MODELS').gt.0)
if(.not.read2sigma.and.start_from_model) then
- write(iout,*) 'START_FROM_MODELS works only with READ2SIGMA'
+ if(me.eq.king .or. .not. out1file .and. fg_rank.eq.0)
+ & write(iout,*) 'START_FROM_MODELS works only with READ2SIGMA'
start_from_model=.false.
endif
- if(start_from_model) write(iout,*) 'START_FROM_MODELS is ON'
+ if(start_from_model .and. (me.eq.king .or. .not. out1file))
+ & write(iout,*) 'START_FROM_MODELS is ON'
if(start_from_model .and. rest) then
- write(iout,*) 'START_FROM_MODELS is OFF'
- write(iout,*) 'remove restart keyword from input'
+ if(me.eq.king .or. .not. out1file .and. fg_rank.eq.0) then
+ write(iout,*) 'START_FROM_MODELS is OFF'
+ write(iout,*) 'remove restart keyword from input'
+ endif
endif
if (homol_nset.gt.1)then
call card_concat(controlcard)
lim_odl=0
lim_dih=0
c
- write(iout,*) 'nnt=',nnt,'nct=',nct
+c write(iout,*) 'nnt=',nnt,'nct=',nct
c
do i = nnt,nct
do k=1,constr_homology
do k=1,constr_homology
read(inp,'(a)') pdbfile
-c Next stament causes error upon compilation (?)
-c if(me.eq.king.or. .not. out1file)
-c write (iout,'(2a)') 'PDB data will be read from file ',
-c & pdbfile(:ilen(pdbfile))
- write (iout,'(a,5x,a)') 'HOMOL: Opening PDB file',
+ if(me.eq.king .or. .not. out1file)
+ & write (iout,'(a,5x,a)') 'HOMOL: Opening PDB file',
& pdbfile(:ilen(pdbfile))
open(ipdbin,file=pdbfile,status='old',err=33)
goto 34
rescore(k,i_tmp)=rescore_tmp
rescore2(k,i_tmp)=rescore2_tmp
rescore3(k,i_tmp)=rescore3_tmp
- write(iout,'(a7,i5,3f10.5,i5)') "rescore",
+ if (.not. out1file .or. me.eq.king)
+ & write(iout,'(a7,i5,3f10.5,i5)') "rescore",
& i_tmp,rescore2_tmp,rescore_tmp,
& rescore3_tmp,idomain_tmp
else
liiflag=.false.
iistart=ii
endif
- if (ii_in_use(ii).ne.0.and..not.liiflag) then
- iishift=ii-iistart
+ if (ii_in_use(ii).ne.0.and..not.liiflag.or.
+ & .not.liiflag.and.ii.eq.lim_odl) then
+ if (ii.eq.lim_odl) then
+ iishift=ii-iistart+1
+ else
+ iishift=ii-iistart
+ endif
liiflag=.true.
do ki=iistart,lim_odl-iishift
ires_homo(ki)=ires_homo(ki+iishift)