From: Cezary Czaplewski Date: Mon, 15 Jun 2020 21:38:20 +0000 (+0200) Subject: dfa & multichain cluster X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=commitdiff_plain;h=86a362122bd1be5017363503cccd66c93698acdb;p=unres.git dfa & multichain cluster --- diff --git a/source/cluster/wham/src-HCD/COMMON.DFA b/source/cluster/wham/src-HCD/COMMON.DFA index c6add4f..064a7ce 100644 --- a/source/cluster/wham/src-HCD/COMMON.DFA +++ b/source/cluster/wham/src-HCD/COMMON.DFA @@ -11,7 +11,7 @@ C Total : ~ 11 * Nres restraints 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) diff --git a/source/cluster/wham/src-HCD/DIMENSIONS b/source/cluster/wham/src-HCD/DIMENSIONS index e6a29b3..247819a 100644 --- a/source/cluster/wham/src-HCD/DIMENSIONS +++ b/source/cluster/wham/src-HCD/DIMENSIONS @@ -26,7 +26,7 @@ C Max number of symetric chains 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 diff --git a/source/unres/src-HCD-5D/COMMON.LOCAL b/source/unres/src-HCD-5D/COMMON.LOCAL index 1c1ed2f..f4828fc 100644 --- a/source/unres/src-HCD-5D/COMMON.LOCAL +++ b/source/unres/src-HCD-5D/COMMON.LOCAL @@ -2,10 +2,11 @@ & 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), diff --git a/source/unres/src-HCD-5D/DIMENSIONS b/source/unres/src-HCD-5D/DIMENSIONS index 9803b23..ed21dfe 100644 --- a/source/unres/src-HCD-5D/DIMENSIONS +++ b/source/unres/src-HCD-5D/DIMENSIONS @@ -16,10 +16,10 @@ C Max. number of coarse-grain processors 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) @@ -32,7 +32,7 @@ C Max number of symetric chains integer maxchain parameter (maxchain=50) integer maxperm - parameter (maxperm=120) + parameter (maxperm=5040) C Max. number of variables integer maxvar parameter (maxvar=6*maxres) diff --git a/source/unres/src-HCD-5D/Makefile_MPICH_ifort-okeanos b/source/unres/src-HCD-5D/Makefile_MPICH_ifort-okeanos index b851430..853e319 100644 --- a/source/unres/src-HCD-5D/Makefile_MPICH_ifort-okeanos +++ b/source/unres/src-HCD-5D/Makefile_MPICH_ifort-okeanos @@ -4,20 +4,17 @@ 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 @@ -162,7 +159,7 @@ chainbuild.o: chainbuild.F ${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 @@ -177,10 +174,10 @@ cartder.o : cartder.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 @@ -213,10 +210,13 @@ add.o : add.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 diff --git a/source/unres/src-HCD-5D/Makefile_MPICH_ifort-prometheus b/source/unres/src-HCD-5D/Makefile_MPICH_ifort-prometheus index 6d4851b..e51973e 100644 --- a/source/unres/src-HCD-5D/Makefile_MPICH_ifort-prometheus +++ b/source/unres/src-HCD-5D/Makefile_MPICH_ifort-prometheus @@ -4,20 +4,19 @@ 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 @@ -25,7 +24,7 @@ PP = /lib/cpp -P all: no_option - @echo "Specify force field: GAB, 4P or E0LL2Y" + @echo "Specify force field: GAB, 4P, E0LL2Y or NEWCORR" .SUFFIXES: .F .F.o: @@ -34,26 +33,31 @@ all: no_option 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 @@ -61,8 +65,8 @@ GAB: ${object} xdrf/libxdrf.a ${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 @@ -70,22 +74,58 @@ GAB: ${object} xdrf/libxdrf.a ${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 @@ -100,6 +140,9 @@ test.o: test.F 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 @@ -113,7 +156,10 @@ cartder.o : cartder.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 @@ -146,7 +192,13 @@ add.o : add.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 diff --git a/source/unres/src-HCD-5D/Makefile_MPICH_ifort-tryton b/source/unres/src-HCD-5D/Makefile_MPICH_ifort-tryton index c6a571b..1ca2bbc 100644 --- a/source/unres/src-HCD-5D/Makefile_MPICH_ifort-tryton +++ b/source/unres/src-HCD-5D/Makefile_MPICH_ifort-tryton @@ -3,14 +3,17 @@ 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} @@ -140,7 +143,7 @@ chainbuild.o: chainbuild.F ${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 @@ -154,11 +157,8 @@ intcor.o : intcor.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 @@ -191,10 +191,13 @@ add.o : add.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 diff --git a/source/unres/src-HCD-5D/chainbuild.F b/source/unres/src-HCD-5D/chainbuild.F index 51419ef..7902f15 100644 --- a/source/unres/src-HCD-5D/chainbuild.F +++ b/source/unres/src-HCD-5D/chainbuild.F @@ -240,6 +240,86 @@ 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). @@ -296,7 +376,7 @@ cd & xp,yp,zp,(xx(k),k=1,3) 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 diff --git a/source/unres/src-HCD-5D/dfa.F b/source/unres/src-HCD-5D/dfa.F index 62e8892..7de4015 100644 --- a/source/unres/src-HCD-5D/dfa.F +++ b/source/unres/src-HCD-5D/dfa.F @@ -270,6 +270,7 @@ C BETA is not parallel ! & "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 @@ -308,6 +309,7 @@ C BETA is not parallel ! & idfanei_end_all(i) enddo endif + endif #else idfadis_start=1 idfadis_end=idfadis diff --git a/source/unres/src-HCD-5D/gen_rand_conf.F b/source/unres/src-HCD-5D/gen_rand_conf.F index 9f5567d..ea009b6 100644 --- a/source/unres/src-HCD-5D/gen_rand_conf.F +++ b/source/unres/src-HCD-5D/gen_rand_conf.F @@ -144,6 +144,7 @@ C Check for SC-SC overlaps. 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 @@ -798,13 +799,16 @@ c overlapping residues left, or false otherwise (success) 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) diff --git a/source/unres/src-HCD-5D/readrtns_CSA.F b/source/unres/src-HCD-5D/readrtns_CSA.F index da28aa3..e5f0b41 100644 --- a/source/unres/src-HCD-5D/readrtns_CSA.F +++ b/source/unres/src-HCD-5D/readrtns_CSA.F @@ -1297,7 +1297,7 @@ c return 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 @@ -3654,6 +3654,7 @@ c 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 diff --git a/source/wham/src-HCD/COMMON.DFA b/source/wham/src-HCD/COMMON.DFA index c6add4f..064a7ce 100644 --- a/source/wham/src-HCD/COMMON.DFA +++ b/source/wham/src-HCD/COMMON.DFA @@ -11,7 +11,7 @@ C Total : ~ 11 * Nres restraints 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) diff --git a/source/wham/src-HCD/DIMENSIONS b/source/wham/src-HCD/DIMENSIONS index 65b3e75..c360026 100644 --- a/source/wham/src-HCD/DIMENSIONS +++ b/source/wham/src-HCD/DIMENSIONS @@ -27,7 +27,7 @@ c Max. number of chains 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)