X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M%2Freadrtns_CSA.F;h=69c0816a06a9995f1e5796cc706e2324253cae79;hb=3fd69a41cf75b35e1e548083592cbf11b98d33f7;hp=2a591cf2c797887884c71bf901a42aae3bb25ccd;hpb=dc8aad4b659fef3940a18037dc98775344242ce3;p=unres.git diff --git a/source/unres/src_MD-M/readrtns_CSA.F b/source/unres/src_MD-M/readrtns_CSA.F index 2a591cf..69c0816 100644 --- a/source/unres/src_MD-M/readrtns_CSA.F +++ b/source/unres/src_MD-M/readrtns_CSA.F @@ -241,10 +241,10 @@ C endif 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 ) @@ -963,7 +963,7 @@ c---------------------- 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 @@ -980,7 +980,7 @@ czscore call geom_to_var(nvar,coord_exp_zs(1,1)) 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 @@ -1082,7 +1082,10 @@ C initial geometry. 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.' @@ -1107,6 +1110,53 @@ C initial geometry. 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.' @@ -1782,6 +1832,8 @@ c---------------------------------------------------------------------------- include 'DIMENSIONS' include 'COMMON.MINIM' include 'COMMON.IOUNITS' + include 'COMMON.CONTROL' + include 'COMMON.SETUP' character*80 ucase character*320 minimcard call card_concat(minimcard) @@ -1794,12 +1846,18 @@ c---------------------------------------------------------------------------- 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---------------------------------------------------------------------------- @@ -2062,6 +2120,8 @@ C Get parameter filenames and open the parameter files. 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) @@ -2093,7 +2153,7 @@ c print *,ithep_pdb," opened" 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') @@ -2560,6 +2620,7 @@ c & sigma_odl_temp(maxres,maxres,max_template) logical lprn /.true./ integer ilen external ilen + logical liiflag c c FP - Nov. 2014 Temporary specifications for new vars c @@ -2588,13 +2649,17 @@ c Alternative: reading from input 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) @@ -2618,7 +2683,7 @@ cd call flush(iout) 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 @@ -2637,11 +2702,8 @@ c 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 @@ -2690,7 +2752,8 @@ c write(iout,*) "tpl_k_rescore - ",tpl_k_rescore 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 @@ -2874,22 +2937,34 @@ c shift data in all arrays c if (waga_dist.ne.0.0d0) then ii=0 + liiflag=.true. do i=nnt,nct-2 do j=i+2,nct ii=ii+1 - if (ii_in_use(ii).eq.0) then - do ki=ii,lim_odl-1 - ires_homo(ki)=ires_homo(ki+1) - jres_homo(ki)=jres_homo(ki+1) - ii_in_use(ki)=ii_in_use(ki+1) + if (ii_in_use(ii).eq.0.and.liiflag) then + liiflag=.false. + iistart=ii + endif + 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) + jres_homo(ki)=jres_homo(ki+iishift) + ii_in_use(ki)=ii_in_use(ki+iishift) do k=1,constr_homology - odl(k,ki)=odl(k,ki+1) - sigma_odl(k,ki)=sigma_odl(k,ki+1) - l_homo(k,ki)=l_homo(k,ki+1) + odl(k,ki)=odl(k,ki+iishift) + sigma_odl(k,ki)=sigma_odl(k,ki+iishift) + l_homo(k,ki)=l_homo(k,ki+iishift) enddo enddo - ii=ii-1 - lim_odl=lim_odl-1 + ii=ii-iishift + lim_odl=lim_odl-iishift endif enddo enddo