C
C
INTEGER IDFAMAX,IDFAMX2,IDFACMD,IDMAXMIN, MAXN
- PARAMETER(IDFAMAX=4000,IDFAMX2=1000,IDFACMD=500,IDMAXMIN=500)
+ PARAMETER(IDFAMAX=10000,IDFAMX2=1000,IDFACMD=500,IDMAXMIN=500)
PARAMETER(MAXN=4)
real*8 wwdist,wwangle,wwnei
parameter(wwdist=1.0d0,wwangle=1.0d0,wwnei=1.0d0)
integer maxchain
parameter (maxchain=50)
integer maxperm
- parameter (maxperm=120)
+ parameter (maxperm=5040)
C Max. number of derivatives of virtual-bond and side-chain vectors in theta
C or phi.
integer maxdim
& sigc0,dsc,dsc_inv,bsc,censc,gaussc,dsc0
integer nlob
C Parameters of the virtual-bond-angle probability distribution
- common /thetas/ a0thet(-ntyp:ntyp),athet(2,-ntyp:ntyp,-1:1,-1:1),
- & bthet(2,-ntyp:ntyp,-1:1,-1:1),polthet(0:3,-ntyp:ntyp),
- & gthet(3,-ntyp:ntyp),theta0(-ntyp:ntyp),sig0(-ntyp:ntyp),
- & sigc0(-ntyp:ntyp)
+ common /thetas/ a0thet(-ntyp1:ntyp1),
+ & athet(2,-ntyp1:ntyp1,-1:1,-1:1),
+ & bthet(2,-ntyp1:ntyp1,-1:1,-1:1),polthet(0:3,-ntyp1:ntyp1),
+ & gthet(3,-ntyp1:ntyp1),theta0(-ntyp1:ntyp1),sig0(-ntyp1:ntyp1),
+ & sigc0(-ntyp1:ntyp1)
C Parameters of the side-chain probability distribution
common /sclocal/ dsc(ntyp1),dsc_inv(ntyp1),bsc(maxlob,ntyp),
& censc(3,maxlob,-ntyp:ntyp),gaussc(3,3,maxlob,-ntyp:ntyp),
parameter (max_cg_procs=maxprocs)
C Max. number of AA residues
integer maxres
- parameter (maxres=2000)
+ parameter (maxres=10000)
C Max. number of AA residues per chain
integer maxres_chain
- parameter (maxres_chain=800)
+ parameter (maxres_chain=1200)
C Max. number of cysteines and other bridging residues
integer max_cyst
parameter (max_cyst=100)
integer maxchain
parameter (maxchain=50)
integer maxperm
- parameter (maxperm=120)
+ parameter (maxperm=5040)
C Max. number of variables
integer maxvar
parameter (maxvar=6*maxres)
FC = ftn
-OPT = -O3 -ip -mcmodel=medium -shared-intel -dynamic
-#OPT = -g -CA -CB -mcmodel=medium -shared-intel -dynamic
-OPT2 = -g -O0 -mcmodel=medium -shared-intel -dynamic
+OPT = -O3 -ip -mcmodel=medium -shared-intel -dynamic
OPTE = -c -O3 -ipo -mcmodel=medium -shared-intel -dynamic
-#OPTE = ${OPT} -c
-
-FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include
-#FFLAGS1 = -c -g -CA -CB -I$(INSTALL_DIR)/include
-#FFLAGS = ${FFLAGS1}
-FFLAGS1 = ${FFLAGS}
-FFLAGS2 = -c ${OPT2} -I$(INSTALL_DIR)/include
-FFLAGSE = ${OPTE} -I$(INSTALL_DIR)/include
-#FFLAGSE = ${FFLAGS}
+OPT2 = -O2 -ip -mcmodel=medium -shared-intel -dynamic
+OPT0 = -g -O0 -mcmodel=medium -shared-intel -dynamic
+OPT1 = -g -CA -CB -mcmodel=medium -shared-intel -dynamic
+FFLAGS = -c ${OPT}
+FFLAGSE = -c ${OPTE}
+FFLAGS2 = -c ${OPT2}
+FFLAGS1 = -c ${OPT1}
+FFLAGS0 = -c ${OPT0}
LIBS = -L$(INSTALL_DIR)/lib -lmpich xdrf/libxdrf.a
#/opt/cray/mpt/7.3.2/gni/mpich-intel/15.0/lib/libmpich.a
${FC} ${FFLAGS} ${CPPFLAGS} chainbuild.F
djacob.o: djacob.f
- ${FC} ${FFLAGS2} djacob.f
+ ${FC} ${FFLAGS0} djacob.f
matmult.o: matmult.f
${FC} ${FFLAGS} ${CPPFLAGS} matmult.f
${FC} ${FFLAGS} ${CPPFLAGS} cartder.F
readpdb.o : readpdb.F
- ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
+ ${FC} ${FFLAGS0} ${CPPFLAGS} readpdb.F
readpdb-mult.o : readpdb-mult.F
- ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb-mult.F
+ ${FC} ${FFLAGS0} ${CPPFLAGS} readpdb-mult.F
sumsld.o : sumsld.f
${FC} ${FFLAGS} ${CPPFLAGS} sumsld.f
${FC} ${FFLAGS1} add.f
eigen.o : eigen.f
- ${FC} ${FFLAGS2} eigen.f
+ ${FC} ${FFLAGS0} eigen.f
dfa.o: dfa.F
- ${FC} ${FFLAGS2} dfa.F
+ ${FC} ${CPPFLAGS} ${FFLAGS} dfa.F
+
+rmscalc.o: rmscalc.F
+ ${FC} ${FFLAGS2} ${CPPFLAGS} rmscalc.F
proc_proc.o: proc_proc.c
${CC} ${CFLAGS} proc_proc.c
FC = mpif90 -fc=ifort
-OPT = -O3 -ip -mcmodel=medium -shared-intel
-#OPT = -O3
-#OPT = -g -CA -CB -mcmodel=medium -shared-intel
-
-FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include
-FFLAGS1 = -c -g -CA -CB -mcmodel=medium -shared-intel
-#FFLAGS = ${FFLAGS1}
-FFLAGS2 = -c -g -O0 -mcmodel=medium -shared-intel
-FFLAGSE = -c -O3 -ipo -mcmodel=medium -shared-intel
-#FFLAGSE = ${FFLAGS}
-
-
-#LIBS = -L$(INSTALL_DIR)/lib -lmpi xdrf/libxdrf.a
-LIBS = -lmpi xdrf/libxdrf.a
+OPT = -O3 -ip -mcmodel=medium -shared-intel
+OPTE = -O3 -ipo -mcmodel=medium -shared-intel
+OPT2 = -O2 -ip -mcmodel=medium -shared-intel
+OPT0 = -g -O0 -mcmodel=medium -shared-intel
+OPT1 = -g -CA -CB -mcmodel=medium -shared-intel
+
+FFLAGS = -c ${OPT}
+FFLAGSE = -c ${OPTE}
+FFLAGS2 = -c ${OPT2}
+FFLAGS1 = -c ${OPT1}
+FFLAGS0 = -c ${OPT0}
+
+LIBS = -L$(INSTALL_DIR)/lib -lmpi xdrf/libxdrf.a
#/opt/cray/mpt/7.3.2/gni/mpich-intel/15.0/lib/libmpich.a
ARCH = LINUX
all: no_option
- @echo "Specify force field: GAB, 4P or E0LL2Y"
+ @echo "Specify force field: GAB, 4P, E0LL2Y or NEWCORR"
.SUFFIXES: .F
.F.o:
object = unres.o arcos.o cartprint.o chainbuild.o convert.o initialize_p.o \
matmult.o readrtns_CSA.o parmread.o gen_rand_conf.o printmat.o map.o \
- pinorm.o randgens.o rescode.o intcor.o timing.o misc.o intlocal.o \
- cartder.o checkder_p.o econstr_local.o econstr_qlike.o econstrq-PMF.o PMFprocess.o energy_p_new_barrier.o \
+ pinorm.o randgens.o rescode.o intcor.o timing.o misc.o \
+ cart2intgrad.o checkder_p.o contact_cp econstr_local.o econstr_qlike.o \
+ econstrq-PMF.o PMFprocess.o energy_p_new_barrier.o make_xx_list.o \
energy_p_new-sep_barrier.o gradient_p.o minimize_p.o sumsld.o \
- cored.o rmdd.o geomout.o readpdb.o permut.o regularize.o thread.o fitsq.o mcm.o \
- mc.o bond_move.o refsys.o check_sc_distr.o check_bond.o contact.o djacob.o \
+ cored.o rmdd.o geomout.o readpdb-mult.o int_from_cart.o regularize.o \
+ thread.o fitsq.o mcm.o \
+ mc.o bond_move.o refsys.o check_sc_distr.o check_bond.o contact.o \
eigen.o blas.o add.o entmcm.o minim_mcmf.o \
together.o csa.o minim_jlee.o shift.o diff12.o bank.o newconf.o ran.o \
indexx.o MP.o compare_s1.o prng_32.o \
- test.o banach.o distfit.o rmsd.o elecont.o dihed_cons.o \
- sc_move.o local_move.o \
+ banach.o distfit.o rmsd.o rmscalc.o elecont.o dihed_cons.o \
+ sc_move.o local_move.o djacob.o \
intcartderiv.o lagrangian_lesyng.o\
+ chain_symmetry.o permut.o seq2chains.o iperm.o\
stochfric.o kinetic_lesyng.o MD_A-MTS.o moments.o int_to_cart.o \
surfatom.o sort.o muca_md.o MREMD.o rattle.o gauss.o energy_split-sep.o \
- q_measure.o gnmr1.o ssMD.o
+ q_measure.o gnmr1.o mygauss.o ssMD.o
+
+object_lbfgs = inform.o iounit.o keys.o linmin.o math.o minima.o scales.o output.o lbfgs.o search.o optsave_dum.o
no_option:
GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
- -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
-GAB: BIN = ../../../bin/unres/MD/unres-mult-symetr_KCC_ifort_MPICH-prometheus_GAB.exe
+ -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DFOURBODY
+GAB: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_GAB-HCD.exe
GAB: ${object} xdrf/libxdrf.a
gcc -o compinfo compinfo.c
./compinfo | true
${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
- -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
-4P: BIN = ../../../bin/unres/MD/unres-mult-symetr_KCC_ifort_MPICH-prometheus_4P.exe
+ -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DFOURBODY
+4P: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_4P-HCD.exe
4P: ${object} xdrf/libxdrf.a
gcc -o compinfo compinfo.c
./compinfo | true
${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
- -DSPLITELE -DLANG0
-E0LL2Y: BIN = ../../../bin/unres/MD/unres-mult-symetr_KCC_ifort_MPICH-prometheus_E0LL2Y.exe
+ -DSPLITELE -DLANG0 -DFOURBODY
+E0LL2Y: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_E0LL2Y-HCD.exe
E0LL2Y: ${object} xdrf/libxdrf.a
gcc -o compinfo compinfo.c
./compinfo | true
${FC} ${FFLAGS} cinfo.f
${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
+E0LL2Y_DFA: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
+ -DSPLITELE -DLANG0 -DFOURBODY -DDFA
+E0LL2Y_DFA: BIN = ~/bin/bin/unres_ifort_MPICH-prometheus_E0LL2Y-HCD-DFA.exe
+E0LL2Y_DFA: ${object} dfa.o xdrf/libxdrf.a
+ gcc -o compinfo compinfo.c
+ ./compinfo | true
+ ${FC} ${FFLAGS} cinfo.f
+ ${FC} ${OPT} ${object} dfa.o cinfo.o ${LIBS} -o ${BIN}
+
NEWCORR: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
- -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD
-NEWCORR: BIN = ~/unres/bin/unres-mult-symetr_KCC_ifort_MPICH-prometheus_NEWCORR-SAXS-NMRAMB.exe
+ -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD #-DFOURBODY #-DMYGAUSS #-DTIMING
+NEWCORR: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_SC-HCD.exe
NEWCORR: ${object} xdrf/libxdrf.a
gcc -o compinfo compinfo.c
./compinfo | true
${FC} ${FFLAGS} cinfo.f
- ${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
+ ${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
+
+NEWCORR5D: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
+ -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD -DFIVEDIAG -DLBFGS #-DMYGAUSS #-DTIMING
+NEWCORR5D: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_SC-HCD5.exe
+NEWCORR5D: ${object_lbfgs} ${object} fdisy.o fdiag.o machpd.o kinetic_CASC.o xdrf/libxdrf.a
+ gcc -o compinfo compinfo.c
+ ./compinfo | true
+ ${FC} ${FFLAGS} cinfo.f
+ ${FC} ${OPT} ${object} ${object_lbfgs} fdisy.o fdiag.o machpd.o kinetic_CASC.o cinfo.o ${LIBS} -o ${BIN}
+
+NEWCORR_DFA: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
+ -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD -DDFA #-DMYGAUSS #-DTIMING
+NEWCORR_DFA: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_SC-HCD-DFA.exe
+NEWCORR_DFA: ${object} dfa.o xdrf/libxdrf.a
+ gcc -o compinfo compinfo.c
+ ./compinfo | true
+ ${FC} ${FFLAGS} cinfo.f
+ ${FC} ${OPT} ${object} dfa.o cinfo.o ${LIBS} -o ${BIN}
+
+NEWCORR5D_DFA: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
+ -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD -DFIVEDIAG -DLBFGS -DDFA #-DMYGAUSS #-DTIMING
+NEWCORR5D_DFA: BIN = ~/unres/bin/unres_ifort_MPICH-prometheus_SC-HCD5-DFA.exe
+NEWCORR5D_DFA: ${object_lbfgs} ${object} dfa.o fdisy.o fdiag.o machpd.o kinetic_CASC.o xdrf/libxdrf.a
+ gcc -o compinfo compinfo.c
+ ./compinfo | true
+ ${FC} ${FFLAGS} cinfo.f
+ ${FC} ${OPT} ${object_lbfgs} ${object} fdisy.o fdiag.o machpd.o dfa.o kinetic_CASC.o cinfo.o ${LIBS} -o ${BIN}
xdrf/libxdrf.a:
cd xdrf && make
chainbuild.o: chainbuild.F
${FC} ${FFLAGS} ${CPPFLAGS} chainbuild.F
+djacob.o: djacob.f
+ ${FC} ${FFLAGS0} djacob.f
+
matmult.o: matmult.f
${FC} ${FFLAGS} ${CPPFLAGS} matmult.f
${FC} ${FFLAGS} ${CPPFLAGS} cartder.F
readpdb.o : readpdb.F
- ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
+ ${FC} ${FFLAGS0} ${CPPFLAGS} readpdb.F
+
+readpdb-mult.o : readpdb-mult.F
+ ${FC} ${FFLAGS0} ${CPPFLAGS} readpdb-mult.F
sumsld.o : sumsld.f
${FC} ${FFLAGS} ${CPPFLAGS} sumsld.f
${FC} ${FFLAGS1} add.f
eigen.o : eigen.f
- ${FC} ${FFLAGS2} eigen.f
+ ${FC} ${FFLAGS0} eigen.f
+
+dfa.o: dfa.F
+ ${FC} ${CPPFLAGS} ${FFLAGS} dfa.F
+
+rmscalc.o: rmscalc.F
+ ${FC} ${FFLAGS2} ${CPPFLAGS} rmscalc.F
proc_proc.o: proc_proc.c
${CC} ${CFLAGS} proc_proc.c
FC = mpif90 -fc=ifort
-OPT = -O3 -ip -mcmodel=medium -shared-intel
-#OPT = -g -CA -CB -mcmodel=medium -shared-intel
-
-FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include
-FFLAGS1 = -c -g -CA -CB -mcmodel=medium -shared-intel
-#FFLAGS1 = ${FFLAGS}
-FFLAGS2 = -c -g -O0 -mcmodel=medium -shared-intel
-FFLAGSE = -c -O3 -ipo -mcmodel=medium -shared-intel
+OPT = -O3 -ip -mcmodel=medium -shared-intel
+OPTE = -O3 -ipo -mcmodel=medium -shared-intel
+OPT2 = -O2 -ip -mcmodel=medium -shared-intel
+OPT0 = -g -O0 -mcmodel=medium -shared-intel
+OPT1 = -g -CA -CB -mcmodel=medium -shared-intel
+
+FFLAGS = -c ${OPT}
+FFLAGSE = -c ${OPTE}
+FFLAGS2 = -c ${OPT2}
+FFLAGS1 = -c ${OPT1}
+FFLAGS0 = -c ${OPT0}
#FFLAGSE = ${FFLAGS}
${FC} ${FFLAGS} ${CPPFLAGS} chainbuild.F
djacob.o: djacob.f
- ${FC} ${FFLAGS2} djacob.f
+ ${FC} ${FFLAGS0} djacob.f
matmult.o: matmult.f
${FC} ${FFLAGS} ${CPPFLAGS} matmult.f
cartder.o : cartder.F
${FC} ${FFLAGS} ${CPPFLAGS} cartder.F
-readpdb.o : readpdb.F
- ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
-
readpdb-mult.o : readpdb-mult.F
- ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb-mult.F
+ ${FC} ${FFLAGS0} ${CPPFLAGS} readpdb-mult.F
sumsld.o : sumsld.f
${FC} ${FFLAGS} ${CPPFLAGS} sumsld.f
${FC} ${FFLAGS1} add.f
eigen.o : eigen.f
- ${FC} ${FFLAGS2} eigen.f
+ ${FC} ${FFLAGS0} eigen.f
dfa.o: dfa.F
- ${FC} ${FFLAGS2} dfa.F
+ ${FC} ${FFLAGS} ${CPPFLAGS} dfa.F
+
+rmscalc.o: rmscalc.F
+ ${FC} ${FFLAGS2} ${CPPFLAGS} rmscalc.F
proc_proc.o: proc_proc.c
${CC} ${CFLAGS} proc_proc.c
return
end
c-----------------------------------------------------------------------------
+ subroutine sc_coord_rebuild(i)
+C
+C Locate the side-chain centroid i, 1 < i < NRES. Put in C(*,NRES+i).
+C
+ implicit none
+ include 'DIMENSIONS'
+ include 'COMMON.CHAIN'
+ include 'COMMON.LOCAL'
+ include 'COMMON.GEO'
+ include 'COMMON.VAR'
+ include 'COMMON.IOUNITS'
+ include 'COMMON.NAMES'
+ include 'COMMON.INTERACT'
+ integer i,j,k
+ double precision xx(3)
+ double precision dsci,dsci_inv,alphi,omegi,cosalphi,sinalphi,
+ & cosomegi,sinomegi,rp(3),theta2,cost2,sint2,rj
+ double precision scalar
+ double precision ref(3,3),scalp,sscalp,refnorm
+ double precision alpha,beta
+c dsci=dsc(itype(i))
+c dsci_inv=dsc_inv(itype(i))
+ dsci=vbld(i+nres)
+ dsci_inv=vbld_inv(i+nres)
+#ifdef OSF
+ alphi=alph(i)
+ omegi=omeg(i)
+ if (alphi.ne.alphi) alphi=100.0
+ if (omegi.ne.omegi) omegi=-100.0
+#else
+ alphi=alph(i)
+ omegi=omeg(i)
+#endif
+ cosalphi=dcos(alphi)
+ sinalphi=dsin(alphi)
+ cosomegi=dcos(omegi)
+ sinomegi=dsin(omegi)
+ rp(1)= cosalphi
+ rp(2)= sinalphi*cosomegi
+ rp(3)=-sinalphi*sinomegi
+c Build the reference system
+ do j=1,3
+ ref(j,1)=-dc_norm(j,i-1)+dc_norm(j,i)
+ enddo
+ refnorm=dsqrt(scalar(ref(1,1),ref(1,1)))
+ do j=1,3
+ ref(j,1)=ref(j,1)/refnorm
+ enddo
+ scalp=scalar(ref(1,1),dc_norm(1,i))
+ sscalp=1.0d0/dsqrt(1.0d0-scalp*scalp)
+ do j=1,3
+ ref(j,2)=(dc_norm(j,i)-scalp*ref(j,1))*sscalp
+ enddo
+ ref(1,3)= ref(2,1)*ref(3,2)-ref(3,1)*ref(2,2)
+ ref(2,3)=-ref(1,1)*ref(3,2)+ref(3,1)*ref(1,2)
+ ref(3,3)= ref(1,1)*ref(2,2)-ref(2,1)*ref(1,2)
+c do j=1,3
+c write (iout,*) j,scalar(ref(1,j),ref(1,1)),
+c & scalar(ref(1,j),ref(1,2)),scalar(ref(1,j),ref(1,3))
+c enddo
+c Bring the coordinates to the global reference system
+ do j=1,3
+ dc_norm(j,nres+i)=0.0d0
+ do k=1,3
+ dc_norm(j,nres+i)=dc_norm(j,nres+i)+ref(j,k)*rp(k)
+ enddo
+ dc(j,nres+i)=dc_norm(j,nres+i)*dsci
+ c(j,nres+i)=c(j,i)+dc(j,nres+i)
+ enddo
+c write (iout,*) scalar(dc_norm(1,i+nres),dc_norm(1,i+nres)),
+c & dsqrt(scalar(dc(1,i+nres),dc(1,i+nres)))
+c Check the internal coordinates
+c c(:,2*nres+1)=ref(:,1)+c(:,i)
+c write (iout,*) "alpha",rad2deg*alphi,
+c & rad2deg*alpha(nres+i,i,2*nres+1)
+c write (iout,*) "omega",rad2deg*omegi,
+c & rad2deg*beta(nres+i,i,2*nres+1,i+1)
+ return
+ end
+c-----------------------------------------------------------------------------
subroutine locate_side_chain(i)
C
C Locate the side-chain centroid i, 1 < i < NRES. Put in C(*,NRES+i).
xx(2)=xloc(2,i)*r(2,2,i-1)+xloc(3,i)*r(2,3,i-1)
xx(3)=xloc(2,i)*r(3,2,i-1)+xloc(3,i)*r(3,3,i-1)
do j=1,3
- xrot(j,i)=xx(j)
+ xrot(j,i)=xx(j)
enddo
do j=1,3
rj=0.0D0
& "idfaphi ",idfaphi,idfaphi_start,idfaphi_end,
& "idfathe ",idfathe,idfathe_start,idfathe_end,
& "idfanei ",idfanei,idfanei_start,idfanei_end
+ if (nfgprocs.gt.1) then
do i=0,max_fg_procs-1
idfadis_start_all(j)=0
idfadis_end_all(j)=0
& idfanei_end_all(i)
enddo
endif
+ endif
#else
idfadis_start=1
idfadis_end=idfadis
cd print *,'nnt=',nnt,' nct=',nct
do j=nnt,i-1
itj=iabs(itype(j))
+ if (itj.eq.ntyp1) cycle
if (j.lt.i-1 .or. ipot.ne.4) then
rcomp=sigmaii(iti,itj)
else
fail=.true.
do while (fail.and.nsi.le.maxsi)
call gen_side(iti,theta(i+1),alph(i),omeg(i),fail)
+ call sc_coord_rebuild(i)
nsi=nsi+1
enddo
if(fail) goto 999
endif
enddo
- call chainbuild_extconf
+c write (iout,*) "before chaincuild overlap_sc_list: dc0",dc(:,0)
+c call chainbuild_extconf
+c write (iout,*) "after chaincuild overlap_sc_list: dc0",dc(:,0)
call overlap_sc_list(ioverlap,ioverlap_last)
write (iout,*) 'Overlaping residues ',ioverlap_last,
& (ioverlap(j),j=1,ioverlap_last)
enddo
call bond_regular
call chainbuild_extconf
- else
+ else if (.not. start_from_model) then
if(me.eq.king.or..not.out1file)
& write (iout,'(a)') 'Random-generated initial geometry.'
call bond_regular
call getenv("FRAGFILE",fragfile)
open(ientin,file=fragfile,status="old",err=10)
read(ientin,*) constr_homology,nclust
+ nmodel_start=constr_homology
l_homo = .false.
sigma_theta=0.0
sigma_d=0.0
C
C
INTEGER IDFAMAX,IDFAMX2,IDFACMD,IDMAXMIN, MAXN
- PARAMETER(IDFAMAX=4000,IDFAMX2=1000,IDFACMD=500,IDMAXMIN=500)
+ PARAMETER(IDFAMAX=10000,IDFAMX2=1000,IDFACMD=500,IDMAXMIN=500)
PARAMETER(MAXN=4)
real*8 wwdist,wwangle,wwnei
parameter(wwdist=1.0d0,wwangle=1.0d0,wwnei=1.0d0)
parameter (maxchain=50)
C Max number of symetries
integer maxsym,maxperm
- parameter (maxsym=maxchain,maxperm=120)
+ parameter (maxsym=maxchain,maxperm=5040)
C Max. number of variables
integer maxvar
parameter (maxvar=4*maxres)