aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinis Danne <rei4dan@gmail.com>2016-01-20 23:00:58 +0200
committerReinis Danne <rei4dan@gmail.com>2016-01-20 23:00:58 +0200
commita471a9cb405d6445c994bc5852fb11c930d7ac9f (patch)
tree04679d6d5fc7484cda6b8352e0255b469d5f5487
parentMerge pull request #569 from TheChymera/psychopy (diff)
downloadsci-a471a9cb405d6445c994bc5852fb11c930d7ac9f.tar.gz
sci-a471a9cb405d6445c994bc5852fb11c930d7ac9f.tar.bz2
sci-a471a9cb405d6445c994bc5852fb11c930d7ac9f.zip
sci-chemistry/ambertools: Version bump to 15ambertools
-rw-r--r--sci-chemistry/ambertools/Manifest1
-rw-r--r--sci-chemistry/ambertools/ambertools-15_p6.ebuild165
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-gentoo.patch1441
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-update.1.patch118
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-update.2.patch56
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-update.3.patch95
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-update.4.patch908
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-update.5.patch25
-rw-r--r--sci-chemistry/ambertools/files/ambertools-15-update.6.patch59
9 files changed, 2868 insertions, 0 deletions
diff --git a/sci-chemistry/ambertools/Manifest b/sci-chemistry/ambertools/Manifest
index 14e4eacd0..d9371c6d7 100644
--- a/sci-chemistry/ambertools/Manifest
+++ b/sci-chemistry/ambertools/Manifest
@@ -1,2 +1,3 @@
DIST AmberTools12.tar.bz2 89175545 SHA256 aff5dbc29b5b5b29a85ae465d3e250e225cd85deb2bce828833c2dc769e81009 SHA512 4c34d460fdedf00ade847040856d4bf7df65e7370d4a696dd858fdd3612c192ddc13dabde559bc1a7ae4068ba8040ee159479e247b2c1e59ed976a5aa6344970 WHIRLPOOL 3bc134875482d00d0d1861e9d87f4fef9fdebd1f6860b2c4623f48c23f6f8673df4b23069f3e9374ef9814d500f23f986250a1bcae093597c9e0a0c9d40d6c86
+DIST AmberTools15.tar.bz2 231809206 SHA256 f0ed40998d0dc8ce5487aaa673827b8cf29bed2b6a09dbdec22e90236a614ec8 SHA512 f91ec69a0f0c632aea9152d36c63dc1ce67a6aaa7b77715fb3b12cadcbcc687ec2a142bd6a0e600cfb8715ae25c33fe90ad8bee3d5bbe94359e91c9e62c1dbd0 WHIRLPOOL 20565fbf1959ce994c590a9f97818a847974f4fabddf4c1719eb85b4ae39f7f52acd5eaddbb5e2c5871454cede066f0f21a69f01ae0ecba4dee0b45f28dd4437
DIST ambertools-bugfixes-12_p38.tar.xz 88340 SHA256 f130e18b256869ddbb81488c92354b94a762735541fcc070b0696a54d332f9ed SHA512 485123d81e689e06f2a1affc9f17d99e9ba18f92e464beb8fb9c835897693a1bd7d330a8bf9d3526c91eadb32a9b58692185e218c61002f0eeab22ff6efbbb08 WHIRLPOOL c830441291a1d58dcb02913cd89533c255a7c558e2a25806f11e89d89a4d6e7c2e92809fe5627105a096b2b4db98f73c4f9c4fdef6264e5c00edb52215b5d03f
diff --git a/sci-chemistry/ambertools/ambertools-15_p6.ebuild b/sci-chemistry/ambertools/ambertools-15_p6.ebuild
new file mode 100644
index 000000000..c3a46c561
--- /dev/null
+++ b/sci-chemistry/ambertools/ambertools-15_p6.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils fortran-2 multilib python-r1 toolchain-funcs
+
+DESCRIPTION="A suite for carrying out complete molecular mechanics investigations"
+HOMEPAGE="http://ambermd.org/#AmberTools"
+SRC_URI="
+ AmberTools${PV%_p*}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="X"
+
+RESTRICT="fetch"
+
+RDEPEND="${PYTHON_DEPS}
+ virtual/cblas
+ virtual/lapack
+ sci-libs/clapack
+ sci-libs/arpack
+ sci-chemistry/mopac7
+ sci-libs/netcdf
+ sci-libs/netcdf-fortran
+ >=sci-libs/fftw-3.3:3.0
+ sci-chemistry/reduce"
+DEPEND="${RDEPEND}
+ app-shells/tcsh
+ dev-util/byacc
+ dev-libs/libf2c
+ sys-devel/ucpp"
+
+S="${WORKDIR}/amber14"
+
+pkg_nofetch() {
+ einfo "Go to ${HOMEPAGE} and get AmberTools${PV%_p*}.tar.bz2"
+ einfo "Place it into ${DISTDIR}"
+}
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ export AMBERHOME="${S}"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-15-gentoo.patch \
+ "${FILESDIR}"/${PN}-15-update.{1..6}.patch
+
+ epatch_user
+
+ cd "${S}"/AmberTools/src || die
+ rm -r \
+ arpack \
+ blas \
+ byacc \
+ lapack \
+ fftw-3.3 \
+ c9x-complex \
+ netcdf-fortran-4.2 \
+ netcdf-4.3.0 \
+ reduce \
+ ucpp-1.3 \
+ || die
+
+ cd "${S}"/AmberTools/src || die
+ sed \
+ -e "s:\\\\\$(LIBDIR)/arpack.a:-larpack:g" \
+ -e "s:\\\\\$(LIBDIR)/lapack.a:$($(tc-getPKG_CONFIG) lapack --libs) -lclapack:g" \
+ -e "s:-llapack:$($(tc-getPKG_CONFIG) lapack --libs) -lclapack:g" \
+ -e "s:\\\\\$(LIBDIR)/blas.a:$($(tc-getPKG_CONFIG) blas cblas --libs):g" \
+ -e "s:-lblas:$($(tc-getPKG_CONFIG) blas cblas --libs):g" \
+ -e "s:GENTOO_CFLAGS:${CFLAGS}:g" \
+ -e "s:GENTOO_CXXFLAGS:${CXXFLAGS}:g" \
+ -e "s:GENTOO_FFLAGS:${FFLAGS}:g" \
+ -e "s:GENTOO_LDFLAGS:${LDFLAGS}:g" \
+ -e "s:GENTOO_INCLUDE:${EPREFIX}/usr/include:g" \
+ -e "s:GENTOO_FFTW3_LIBS:$($(tc-getPKG_CONFIG) fftw3 --libs):" \
+ -e "s:fc=g77:fc=$(tc-getFC):g" \
+ -e "s:NETCDF=\$netcdf:NETCDF=netcdf.mod:g" \
+ -e "s:\$netcdf_flag:$($(tc-getPKG_CONFIG) netcdf --libs):g" \
+ -e "s:\$netcdfflagc:$($(tc-getPKG_CONFIG) netcdf --libs):g" \
+ -e "s:\$netcdfflagf:$($(tc-getPKG_CONFIG) netcdf-fortran --libs):g" \
+ -i configure2 || die
+
+ sed \
+ -e "s:arsecond_:arscnd_:g" \
+ -i sff/time.c sff/sff.h sff/sff.c || die
+
+}
+
+src_configure() {
+ python_setup
+
+ local myconf="--no-updates"
+
+ use X || myconf="${myconf} -noX11"
+
+ cd "${S}" || die
+
+ sed \
+ -e '/patch_amber.py/d' \
+ -i configure || die
+
+ ./configure \
+ ${myconf} \
+ -nomtkpp \
+ --with-python ${PYTHON} \
+ --with-netcdf /usr \
+ gnu || die
+}
+
+src_test() {
+ source ${AMBERHOME}/amber.sh
+
+ emake test
+}
+
+src_compile() {
+ emake \
+ CC=$(tc-getCC) \
+ FC=$(tc-getFC)
+}
+
+src_install() {
+ for x in bin/*
+ do
+ [ ! -d ${x} ] && dobin ${x}
+ done
+
+ dobin AmberTools/src/antechamber/mopac.sh
+ sed \
+ -e "s:\$AMBERHOME/bin/mopac:mopac7:g" \
+ -i "${ED}/usr/bin/mopac.sh" || die
+
+ # Make symlinks untill binpath for amber will be fixed
+ dodir /usr/share/${PN}/bin
+ cd "${ED}/usr/bin" || die
+ for x in *
+ do dosym /usr/bin/${x} ../share/${PN}/bin/${x}
+ done
+ cd "${S}" || die
+
+ dodoc doc/Amber15.pdf
+ dolib.a lib/*{.a,.so}
+ insinto /usr/$(get_libdir)
+ doins -r lib/python2.7
+ insinto /usr/include/${PN}
+ doins include/*
+ insinto /usr/share/${PN}
+ doins -r dat
+ cd AmberTools || die
+ doins -r benchmarks examples test
+
+ cat >> "${T}"/99ambertools <<- EOF
+ AMBERHOME="${EPREFIX}/usr/share/ambertools"
+ EOF
+ doenvd "${T}"/99ambertools
+}
diff --git a/sci-chemistry/ambertools/files/ambertools-15-gentoo.patch b/sci-chemistry/ambertools/files/ambertools-15-gentoo.patch
new file mode 100644
index 000000000..f949a4945
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-gentoo.patch
@@ -0,0 +1,1441 @@
+diff --git a/AmberTools/src/Makefile b/AmberTools/src/Makefile
+index 3d69773..c2a5045 100644
+--- a/AmberTools/src/Makefile
++++ b/AmberTools/src/Makefile
+@@ -15,12 +15,6 @@ install: $(INSTALLTYPE)
+ serial: configured_serial THIRDPARTY $(MTKPP)
+ @echo "Starting installation of ${AMBERTOOLS} serial at `date`".
+ # utility routines and libraries:
+- (cd ucpp-1.3 && $(MAKE) $(UCPP) )
+- (cd byacc && $(MAKE) install )
+- (cd arpack && $(MAKE) install );
+- (cd lapack && $(MAKE) $(LAPACK) )
+- (cd blas && $(MAKE) $(BLAS) )
+- (cd c9x-complex && $(MAKE) $(C9XCOMPLEX) )
+ (cd pbsa && $(MAKE) install )
+ (cd gbnsr6 && $(MAKE) install )
+ (cd cifparse && $(MAKE) install )
+@@ -33,7 +27,6 @@ serial: configured_serial THIRDPARTY $(MTKPP)
+ $(MAKE) cpptraj
+
+ # miscellaneous:
+- (cd reduce && $(MAKE) install )
+
+ # leap
+ (cd leap && $(MAKE) install )
+@@ -103,12 +96,6 @@ serial: configured_serial THIRDPARTY $(MTKPP)
+
+ nabonly: configured_serial $(XBLAS)
+ # utility routines and libraries:
+- (cd ucpp-1.3 && $(MAKE) $(UCPP) )
+- (cd byacc && $(MAKE) install )
+- (cd arpack && $(MAKE) install );
+- (cd lapack && $(MAKE) $(LAPACK) )
+- (cd blas && $(MAKE) $(BLAS) )
+- (cd c9x-complex && $(MAKE) $(C9XCOMPLEX) )
+ (cd pbsa && $(MAKE) libinstall )
+ (cd rism && $(MAKE) $(RISM) )
+ (cd cifparse && $(MAKE) install )
+@@ -144,12 +131,6 @@ parallel: configured_parallel THIRDPARTY
+ # (cd pbsa && $(MAKE) clean && $(MAKE) install.parallel )
+ (cd pbsa && $(MAKE) libinstall )
+ $(MAKE) cpptraj
+- (cd byacc && $(MAKE) install )
+- (cd ucpp-1.3 && $(MAKE) $(UCPP) )
+- (cd cifparse && $(MAKE) install )
+- (cd arpack && $(MAKE) install );
+- (cd lapack && $(MAKE) $(LAPACK) )
+- (cd blas && $(MAKE) $(BLAS) )
+ (cd mdgx && $(MAKE) $(MDGX) )
+ (if [ "$(RISM)" = "yes" ]; then \
+ cd rism && $(MAKE) install_mpi ; \
+@@ -215,18 +196,11 @@ netcdf_uninstall:
+ -/bin/rm -f netcdf_config.log ../lib/libnetcdf* ../include/netcdf.*
+
+ clean::
+- -(cd ucpp-1.3 && $(MAKE) clean )
+- -(cd byacc && $(MAKE) clean )
+- -(cd cifparse && $(MAKE) clean )
+ -(cd nab && $(MAKE) clean )
+ -(cd sff && $(MAKE) clean )
+ -(cd nss && $(MAKE) clean )
+ -(cd leap && $(MAKE) clean )
+- -(cd arpack && $(MAKE) clean )
+- -(cd blas && $(MAKE) clean )
+ -(cd xblas && $(MAKE) clean )
+- -(cd lapack && $(MAKE) clean )
+- -(cd c9x-complex && $(MAKE) clean )
+ -(cd etc && $(MAKE) clean )
+ -(cd chamber && $(MAKE) clean )
+ -(cd pbsa && $(MAKE) clean )
+@@ -236,15 +210,12 @@ clean::
+ -(cd lib && $(MAKE) clean )
+ -(cd ptraj && $(MAKE) clean )
+ -(cd cpptraj && $(MAKE) clean)
+- -(cd reduce && $(MAKE) clean )
+ -(cd mtkpp && $(MAKE) clean )
+ -(cd mdgx && $(MAKE) clean )
+ -(cd xtalutil/CPrograms && $(MAKE) clean )
+ -(cd saxs && $(MAKE) clean )
+ -(cd paramfit && $(MAKE) clean )
+ -(cd rism && $(MAKE) clean )
+- -(cd fftw-3.3 && $(MAKE) clean )
+- -($(RM) -f fftw-3.3/mpi/fftw3-mpi.f03 )
+ -(cd mmpbsa_py && /bin/rm -fr MMPBSA.py.MPI build/ mpi4py-1.2.2/)
+ -(cd mm_pbsa && $(MAKE) clean )
+ -(cd FEW && $(MAKE) clean )
+@@ -315,7 +286,7 @@ $(LIBDIR)/libxblas-amb.a:
+ $(LIBDIR)/libfftw3.a $(LIBDIR)/libfftw3_mpi.a:
+ cd fftw-3.3 && $(MAKE) && $(MAKE) -j 1 install;
+
+-THIRDPARTY: $(XBLAS) $(FFTW3)
++THIRDPARTY: $(XBLAS)
+
+ cuda:
+ @echo "$(AMBERTOOLS) has no CUDA-enabled components"
+diff --git a/AmberTools/src/configure2 b/AmberTools/src/configure2
+index f1a3cff..4b07fa5 100755
+--- a/AmberTools/src/configure2
++++ b/AmberTools/src/configure2
+@@ -318,7 +318,7 @@ fi
+ #------------------------------------------------------------------------------
+ # Define variables that are currently constants:
+ #------------------------------------------------------------------------------
+-bintraj='yes'
++bintraj='no'
+ ldout=' -o '
+ localcp='cp'
+ localmv='mv'
+@@ -358,7 +358,7 @@ cygwin='no'
+ debug='no'
+ dragonegg=''
+ fpp="cpp -traditional -P"
+-fppflags=''
++fppflags='-DBINTRAJ'
+ freeformat_flag=''
+ fwarnflag=''
+ g95='no'
+@@ -370,7 +370,7 @@ installtype='serial'
+ intel_compiler_flag_mkl='no'
+ intelmpi='no'
+ is_mac='no'
+-ldflags=''
++ldflags='GENTOO_LDFLAGS'
+ ld='ld '
+ lfs='yes'
+ lm='-lm'
+@@ -599,11 +599,11 @@ omp_flag=
+ mpi_flag=
+ lex=flex
+ flibs_mkl=
+-lapack=install
+-blas=install
++lapack=skip
++blas=skip
+ f2c=skip
+-ucpp=install
+-cpp="ucpp -l"
++ucpp=skip
++cpp="\$(EPREFIX)/usr/bin/ucpp -l"
+
+ #-----------------------------------
+ # skip building of xleap?
+@@ -907,7 +907,7 @@ gnu)
+ flibs_arch="-lgfortran -w"
+ flibsf_arch=
+ cc=gcc
+- cflags="-fPIC"
++ cflags="-fPIC -DBINTRAJ"
+ ambercflags=""
+ cplusplus=g++
+ cxxflags="-fPIC"
+@@ -937,11 +937,11 @@ gnu)
+ foptflags=""
+ else
+ cnooptflags=
+- coptflags="-O3"
++ coptflags="GENTOO_CFLAGS"
+ cxxnooptflags=
+- cxxoptflags="-fPIC -O3"
++ cxxoptflags="-fPIC GENTOO_CXXFLAGS"
+ fnooptflags="-O0"
+- foptflags="-O3"
++ foptflags="GENTOO_FFLAGS"
+ fi
+
+ # Debugging options
+@@ -957,11 +957,11 @@ gnu)
+ if [ $sse = 'yes' ]; then
+ if [ $x86_64 = 'yes' ]; then
+ #-mfpmath=sse is default for x86_64, no need to specific it
+- coptflags="$coptflags -mtune=native"
+- foptflags="$foptflags -mtune=native"
++ coptflags="$coptflags"
++ foptflags="$foptflags"
+ else # i386 needs to be told to use sse prior to using -mfpmath=sse
+- coptflags="$coptflags -mtune=native -msse -mfpmath=sse"
+- foptflags="$foptflags -mtune=native -msse -mfpmath=sse"
++ coptflags="$coptflags"
++ foptflags="$foptflags"
+ fi
+ fi
+ fcreal8="-fdefault-real-8"
+@@ -1032,7 +1032,7 @@ gnu)
+ # pmemd_fpp_flags='-DFFTW_FFT'
+ # fi
+ pmemd_foptflags="$foptflags"
+- pmemd_coptflags="$coptflags"
++ pmemd_coptflags="$coptflags -DBINTRAJ"
+ if [ ! -z $dragonegg ]; then
+ pmemd_foptflags="-fplugin=$dragonegg $fflags $pmemd_foptflags"
+ pmemd_coptflags="-fplugin=$dragonegg $pmemd_coptflags"
+@@ -1062,7 +1062,7 @@ gnu)
+ fi
+ pmemd_cu_includes="$pmemd_cu_includes $mpi_inc"
+ pmemd_cu_defines="$pmemd_cu_defines -DMPI -DMPICH_IGNORE_CXX_SEEK"
+- pmemd_coptflags="$coptflags -DMPICH_IGNORE_CXX_SEEK"
++ pmemd_coptflags="$coptflags -DMPICH_IGNORE_CXX_SEEK -DBINTRAJ"
+ fi
+ fi
+ if [ "$cuda_SPFP" = 'yes' ]; then
+@@ -2649,40 +2649,40 @@ if [ "$has_fftw3" = 'yes' ]; then
+ if [ "$sse" = "yes" ]; then
+ enable_sse="--enable-sse2=yes" # --enable-avx=yes"
+ fi
+- if [ "$mic" = 'yes' ]; then
+- echo " --configuring for mic (native mode)..."
+- echo
+- cd fftw-3.3 && \
+- ./configure --prefix=$AMBERHOME --libdir=$AMBERHOME/lib \
+- --enable-static --enable-shared --host=x86_64-k1om-linux \
+- --build=x86_64-unknown-linux \
+- $enable_mpi $mpicc $enable_debug \
+- CC="$cc -mmic" CFLAGS="$cflags $coptflags " \
+- F77="$fc -mmic" FFLAGS="$fflags $foptflags " \
+- FLIBS="$flibs_arch" \
+- > ../fftw3_config.log 2>&1
+- ncerror=$?
+- else
+- cd fftw-3.3 && \
+- ./configure --prefix=$AMBERHOME --libdir=$AMBERHOME/lib \
+- --enable-static --enable-shared \
+- $enable_mpi $mpicc $enable_debug $enable_sse\
+- CC="$cc" CFLAGS="$cflags $coptflags" \
+- F77="$fc" FFLAGS="$fflags $foptflags" \
+- FLIBS="$flibs_arch" \
+- > ../fftw3_config.log 2>&1
+- ncerror=$?
+- fi
+- if [ $ncerror -gt 0 ]; then
+- echo "Error: FFTW configure returned $ncerror"
+- echo " FFTW configure failed! Check the fftw3_config.log file"
+- echo " in the $AMBERHOME/AmberTools/src directory."
+- exit 1
+- else
+- echo " fftw-3.3 configure succeeded."
+- fi
+- cd ..
+- flibs_fftw3="-lfftw3"
++# if [ "$mic" = 'yes' ]; then
++# echo " --configuring for mic (native mode)..."
++# echo
++# cd fftw-3.3 && \
++# ./configure --prefix=$AMBERHOME --libdir=$AMBERHOME/lib \
++# --enable-static --enable-shared --host=x86_64-k1om-linux \
++# --build=x86_64-unknown-linux \
++# $enable_mpi $mpicc $enable_debug \
++# CC="$cc -mmic" CFLAGS="$cflags $coptflags " \
++# F77="$fc -mmic" FFLAGS="$fflags $foptflags " \
++# FLIBS="$flibs_arch" \
++# > ../fftw3_config.log 2>&1
++# ncerror=$?
++# else
++# cd fftw-3.3 && \
++# ./configure --prefix=$AMBERHOME --libdir=$AMBERHOME/lib \
++# --enable-static --enable-shared \
++# $enable_mpi $mpicc $enable_debug $enable_sse\
++# CC="$cc" CFLAGS="$cflags $coptflags" \
++# F77="$fc" FFLAGS="$fflags $foptflags" \
++# FLIBS="$flibs_arch" \
++# > ../fftw3_config.log 2>&1
++# ncerror=$?
++# fi
++# if [ $ncerror -gt 0 ]; then
++# echo "Error: FFTW configure returned $ncerror"
++# echo " FFTW configure failed! Check the fftw3_config.log file"
++# echo " in the $AMBERHOME/AmberTools/src directory."
++# exit 1
++# else
++# echo " fftw-3.3 configure succeeded."
++# fi
++# cd ..
++ flibs_fftw3="GENTOO_FFTW3_LIBS"
+ fftw3="\$(LIBDIR)/libfftw3.a"
+ if [ "$mpi" = 'yes' -a "$intelmpi" = 'no' ]; then
+ flibs_fftw3="-lfftw3_mpi $flibs_fftw3"
+@@ -2701,23 +2701,23 @@ elif [ "$mdgx" = 'yes' ]; then
+ if [ "$sse" = "yes" ]; then
+ enable_sse="--enable-sse2=yes" # --enable-avx=yes"
+ fi
+- cd fftw-3.3 && \
+- ./configure --prefix=$AMBERHOME --libdir=$AMBERHOME/lib \
+- --enable-static --enable-shared --disable-fortran \
+- $enable_debug $enable_sse\
+- CC="$cc" CFLAGS="$cflags $coptflags" \
+- > ../fftw3_config.log 2>&1
+- ncerror=$?
+- if [ $ncerror -gt 0 ]; then
+- echo "Error: FFTW configure returned $ncerror"
+- echo " FFTW configure failed! Check the fftw3_config.log file"
+- echo " in the $AMBERHOME/AmberTools/src directory."
+- exit 1
+- else
+- echo " fftw-3.3 configure succeeded."
+- fi
+- cd ..
+- flibs_fftw3="-lfftw3"
++# cd fftw-3.3 && \
++# ./configure --prefix=$AMBERHOME --libdir=$AMBERHOME/lib \
++# --enable-static --enable-shared --disable-fortran \
++# $enable_debug $enable_sse\
++# CC="$cc" CFLAGS="$cflags $coptflags" \
++# > ../fftw3_config.log 2>&1
++# ncerror=$?
++# if [ $ncerror -gt 0 ]; then
++# echo "Error: FFTW configure returned $ncerror"
++# echo " FFTW configure failed! Check the fftw3_config.log file"
++# echo " in the $AMBERHOME/AmberTools/src directory."
++# exit 1
++# else
++# echo " fftw-3.3 configure succeeded."
++# fi
++# cd ..
++ flibs_fftw3="GENTOO_FFTW3_LIBS"
+ fftw3="\$(LIBDIR)/libfftw3.a"
+ else
+ echo ""
+@@ -3162,7 +3162,7 @@ LDFLAGS=$ldflags \$(CUSTOMBUILDFLAGS) \$(AMBERBUILDFLAGS)
+ AMBERLDFLAGS=\$(AMBERBUILDFLAGS)
+
+ LEX= $lex
+-YACC= \$(BINDIR)/yacc
++YACC= byacc
+ AR= ar rv
+ M4= $m4
+ RANLIB=$ranlib
+@@ -3198,7 +3198,7 @@ CP=$localcp
+ # Information about Fortran compilation:
+
+ FC=$fc
+-FFLAGS= $fflags \$(LOCALFLAGS) \$(CUSTOMBUILDFLAGS) -I\$(INCDIR) \$(NETCDFINC) $mklinc \$(AMBERBUILDFLAGS)
++FFLAGS= $fflags \$(LOCALFLAGS) \$(CUSTOMBUILDFLAGS) -IGENTOO_INCLUDE \$(NETCDFINC) $mklinc \$(AMBERBUILDFLAGS)
+ FNOOPTFLAGS= $fnooptflags
+ FOPTFLAGS= $foptflags
+ AMBERFFLAGS=\$(AMBERBUILDFLAGS)
+diff --git a/AmberTools/src/cpptraj/src/Makefile_at b/AmberTools/src/cpptraj/src/Makefile_at
+index 977439f..4bf25c8 100644
+--- a/AmberTools/src/cpptraj/src/Makefile_at
++++ b/AmberTools/src/cpptraj/src/Makefile_at
+@@ -10,7 +10,7 @@ CPPTRAJ_FLAGS= -I$(INCDIR) $(COPTFLAGS) $(CFLAGS) $(NETCDFINC)
+ # NOTE: Since -nobintraj is possible and the dependency for netcdf is not
+ # set correctly by configure there is no way this can work for netcdf
+ READLINE_HOME=readline
+-READLINE=$(READLINE_HOME)/libreadline.a
++READLINE=-lreadline
+ EXTERNAL_LIBS=$(LIBDIR)/libarpack.a $(LIBDIR)/liblapack.a $(LIBDIR)/libblas.a $(READLINE)
+
+ include cpptrajfiles
+@@ -45,7 +45,7 @@ depend: findDepend
+ dependclean:
+ /bin/rm -f FindDepend.o findDepend
+
+-cpptraj$(SFX): $(OBJECTS) pub_fft.o $(EXTERNAL_LIBS)
++cpptraj$(SFX): $(OBJECTS) pub_fft.o
+ $(CXX) $(WARNFLAGS) $(LDFLAGS) -o cpptraj$(SFX) $(OBJECTS) pub_fft.o \
+ -L$(LIBDIR) $(NETCDFLIB) $(ZLIB) $(BZLIB) $(FLIBS_PTRAJ) $(READLINE)
+
+@@ -53,12 +53,12 @@ ambpdb$(SFX): $(AMBPDB_OBJECTS)
+ $(CXX) $(WARNFLAGS) $(LDFLAGS) -o ambpdb$(SFX) $(AMBPDB_OBJECTS) \
+ -L$(LIBDIR) $(NETCDFLIB) $(ZLIB) $(BZLIB)
+
+-cpptraj.sander$(SFX): $(OBJECTS) pub_fft.o $(EXTERNAL_LIBS) $(LIBDIR)/libsander.so
++cpptraj.sander$(SFX): $(OBJECTS) pub_fft.o $(LIBDIR)/libsander.so
+ $(CXX) $(WARNFLAGS) $(LDFLAGS) -o cpptraj.sander$(SFX) $(OBJECTS) pub_fft.o \
+ -L$(LIBDIR) $(NETCDFLIB) $(ZLIB) $(BZLIB) $(FLIBS_PTRAJ) $(READLINE) \
+ -lsander
+
+-libcpptraj$(SHARED_SUFFIX): $(OBJECTS) pub_fft.o $(EXTERNAL_LIBS)
++libcpptraj$(SHARED_SUFFIX): $(OBJECTS) pub_fft.o
+ $(CXX) $(MAKE_SHARED) $(WARNFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) pub_fft.o \
+ -L$(LIBDIR) $(NETCDFLIB) $(ZLIB) $(BZLIB) $(FLIBS_PTRAJ) $(READLINE)
+
+diff --git a/AmberTools/src/gbnsr6/Makefile b/AmberTools/src/gbnsr6/Makefile
+index 0d704cb..85042d4 100644
+--- a/AmberTools/src/gbnsr6/Makefile
++++ b/AmberTools/src/gbnsr6/Makefile
+@@ -66,7 +66,7 @@ configured_serial: configured
+ )
+
+ #---------------------------------------------------------------------------
+-gbnsr6$(SFX): $(OBJ) syslib netlib c9x-complex configured_serial
++gbnsr6$(SFX): $(OBJ) syslib configured_serial
+ $(FC) $(PBSAFLAG) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o gbnsr6$(SFX) $(OBJ) \
+ ../lib/nxtsec.o ../lib/random.o \
+ -L$(LIBDIR) $(FLIBSF) $(LDFLAGS) $(AMBERLDFLAGS)
+diff --git a/AmberTools/src/mdgx/Makefile b/AmberTools/src/mdgx/Makefile
+index 5751142..04e8e1c 100644
+--- a/AmberTools/src/mdgx/Makefile
++++ b/AmberTools/src/mdgx/Makefile
+@@ -151,7 +151,7 @@ MDGX_HEADERS = \
+ ptrajmask.h \
+ AmberNetcdf.h
+
+-$(BINDIR)/mdgx$(SFX) : $(FFTW3) $(MDGX_OBJS)
++$(BINDIR)/mdgx$(SFX) : $(MDGX_OBJS)
+ $(CC) $(COPTFLAGS) $(CFLAGS) $(AMBERCFLAGS) $(LDFLAGS) \
+ -o $@ $(MDGX_OBJS) -L$(LIBDIR) $(FLIBS_FFTW3) $(NETCDFLIB) $(LM)
+
+@@ -159,7 +159,7 @@ $(BINDIR)/mdgx.MPI$(SFX) : $(MDGX_OBJS)
+ $(CC) $(COPTFLAGS) $(CFLAGS) $(AMBERCFLAGS) $(LDFLAGS) \
+ -o $@ $(MDGX_OBJS) -L$(LIBDIR) $(FLIBSF) $(FLIBS_FFTW3) $(NETCDFLIB) $(LM)
+
+-$(LIBDIR)/libmdgx$(SHARED_SUFFIX): $(MDGX_OBJS) $(MDGXWRAP_OBJS) $(BINDIR)/ucpp
++$(LIBDIR)/libmdgx$(SHARED_SUFFIX): $(MDGX_OBJS) $(MDGXWRAP_OBJS)
+ $(CC) $(MAKE_SHARED) -o $@ $(CFLAGS) $(COPTFLAGS) -L$(LIBDIR) $(FLIBSF) \
+ $(FLIBS_FFTW3) $(NETCDFLIB) $(LM) $(MDGX_OBJS) $(MDGXWRAP_OBJS)
+ cp -p mdgxapi.h $(INCDIR)/mdgx.h
+diff --git a/AmberTools/src/nab/nab.c b/AmberTools/src/nab/nab.c
+index 2e90068..cf83aaa 100644
+--- a/AmberTools/src/nab/nab.c
++++ b/AmberTools/src/nab/nab.c
+@@ -161,8 +161,8 @@ char *cppstring;
+ fprintf( stderr, "AMBERHOME is not set!\n" );
+ exit(1);
+ }
+- sprintf( cmd, "%s/bin/%s %s -I%s/include %s ",
+- amberhome, CPP, cppstring, amberhome,
++ sprintf( cmd, "%s %s -I%s/include %s ",
++ CPP, cppstring, amberhome,
+ argv[ ac ] ? argv[ ac ] : "" );
+ if( cgdopt ) fprintf( stderr, "cpp cmd: %s\n", cmd );
+ nfields = split( cmd, fields, " " );
+diff --git a/AmberTools/src/nmode/Makefile b/AmberTools/src/nmode/Makefile
+index 12acf35..4f26593 100644
+--- a/AmberTools/src/nmode/Makefile
++++ b/AmberTools/src/nmode/Makefile
+@@ -87,12 +87,12 @@ LIBOBJ= ../lib/rfree.o ../lib/matinv.o ../lib/nxtsec.o \
+ LIBOBJNOPATH= rfree.o matinv.o nxtsec.o \
+ amopen.o rgroup.o
+
+-$(BINDIR)/nmode$(SFX): $(OBJ) libobj syslib netlib
++$(BINDIR)/nmode$(SFX): $(OBJ) libobj syslib
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $(BINDIR)/nmode$(SFX) \
+ $(OBJ) $(LIBOBJ) \
+ ../lib/sys.a -L$(LIBDIR) $(FLIBSF) $(LDFLAGS) $(AMBERLDFLAGS)
+
+-nmanal$(SFX): $(OBJ1) libobj netlib binpos.o
++nmanal$(SFX): $(OBJ1) libobj binpos.o
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o nmanal$(SFX) \
+ $(OBJ1) $(LIBOBJ) binpos.o \
+ -L$(LIBDIR) $(FLIBSF) $(LDFLAGS) $(AMBERLDFLAGS)
+@@ -103,7 +103,7 @@ lmanal$(SFX): $(OBJ2) libobj binpos.o
+ -L$(LIBDIR) $(FLIBSF) $(LDFLAGS) $(AMBERLDFLAGS)
+
+ quasih$(SFX): quasih.o fileio.o thermo.o mexit.o \
+- syslib netlib libobj binpos.o
++ syslib libobj binpos.o
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o quasih$(SFX) \
+ quasih.o fileio.o thermo.o mexit.o \
+ $(LIBOBJ) binpos.o ../lib/sys.a -L$(LIBDIR) $(FLIBSF) \
+diff --git a/AmberTools/src/parmed/chemistry/unit/unit.py b/AmberTools/src/parmed/chemistry/unit/unit.py
+index 7767f39..a8d8a47 100644
+--- a/AmberTools/src/parmed/chemistry/unit/unit.py
++++ b/AmberTools/src/parmed/chemistry/unit/unit.py
+@@ -612,7 +612,7 @@ class UnitSystem(object):
+ to_base_units[m][n] = power
+ try:
+ self.from_base_units = ~to_base_units
+- except ArithmeticError, e:
++ except ArithmeticError as e:
+ raise ArithmeticError("UnitSystem is not a valid basis set. " + str(e))
+
+ def __iter__(self):
+diff --git a/AmberTools/src/pbsa/Makefile b/AmberTools/src/pbsa/Makefile
+index 1b2c09a..6dc65a6 100644
+--- a/AmberTools/src/pbsa/Makefile
++++ b/AmberTools/src/pbsa/Makefile
+@@ -148,23 +148,23 @@ configured_parallel: configured
+ )
+
+ #---------------------------------------------------------------------------
+-pbsa$(SFX): FFTW3 $(OBJ) syslib netlib c9x-complex configured_serial
++pbsa$(SFX): $(OBJ) syslib configured_serial
+ $(FC) $(PBSAFLAG) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o pbsa$(SFX) $(OBJ) \
+ ../lib/nxtsec.o ../lib/random.o $(FLIBS_FFTW3) \
+ -L$(LIBDIR) $(FLIBSF) $(LDFLAGS) $(AMBERLDFLAGS)
+
+-pbsa.MPI$(SFX): FFTW3.MPI $(OBJ) syslib netlib c9x-complex configured_parallel
++pbsa.MPI$(SFX): $(OBJ) syslib configured_parallel
+ $(FC) $(PBSAFLAG) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o pbsa.MPI$(SFX) $(OBJ) \
+ ../lib/nxtsec.o ../lib/random.o $(FLIBS_FFTW3) \
+ -L$(LIBDIR) $(FLIBSF) $(LDFLAGS) $(AMBERLDFLAGS)
+
+-simplepbsa$(SFX): simplepbsa.o gopt.o libpbsa.a sfflib syslib netlib c9x-complex
++simplepbsa$(SFX): simplepbsa.o gopt.o libpbsa.a sfflib syslib
+ $(FC) $(PBSAFLAG) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o simplepbsa$(SFX) simplepbsa.o gopt.o \
+ libpbsa.a $(LIBDIR)/libsff.a ../lib/nxtsec.o -L$(LIBDIR) $(FLIBSF) \
+ $(LDFLAGS) $(AMBERLDFLAGS)
+ /bin/mv simplepbsa$(SFX) $(BINDIR)
+
+-libpbsa.a: FFTW3 $(LIBPBSAOBJS) syslib
++libpbsa.a: $(LIBPBSAOBJS) syslib
+ -rm -f libpbsa.a
+ $(AR) libpbsa.a $(LIBPBSAOBJS) ../lib/random.o
+ $(RANLIB) libpbsa.a
+diff --git a/AmberTools/src/ptraj/Makefile b/AmberTools/src/ptraj/Makefile
+index df789e8..48227d5 100644
+--- a/AmberTools/src/ptraj/Makefile
++++ b/AmberTools/src/ptraj/Makefile
+@@ -61,17 +61,16 @@ rdparm$(SFX): libs $(OBJECTS)
+ $(CC) $(CFLAGS) $(AMBERCFLAGS) $(LDFLAGS) $(AMBERLDFLAGS) \
+ -o rdparm$(SFX) $(OBJECTS) $(LIBS) $(NETCDFLIB) $(LM)
+
+-ptraj$(SFX): libs netlib $(OBJECTS)
++ptraj$(SFX): libs $(OBJECTS)
+ $(CC) $(CFLAGS) $(AMBERCFLAGS) $(LDFLAGS) $(AMBERLDFLAGS) \
+ -o ptraj$(SFX) $(OBJECTS) $(LIBS) $(NETCDFLIB) $(LM)
+
+-ptraj.MPI$(SFX): libs netlib $(OBJECTS)
++ptraj.MPI$(SFX): libs $(OBJECTS)
+ $(CC) $(CFLAGS) $(AMBERCFLAGS) $(LDFLAGS) $(AMBERLDFLAGS) \
+ -o ptraj.MPI$(SFX) $(OBJECTS) $(LIBS) $(PNETCDFLIB) $(LM)
+
+ libs:
+ cd pdb && $(MAKE)
+- cd ../arpack && $(MAKE)
+
+ netlib:
+ cd ../lapack && $(MAKE) $(LAPACK)
+diff --git a/AmberTools/src/sander/Makefile b/AmberTools/src/sander/Makefile
+index 9b9488c..67fe45a 100644
+--- a/AmberTools/src/sander/Makefile
++++ b/AmberTools/src/sander/Makefile
+@@ -90,7 +90,7 @@ APBSOBJ= \
+ file_io_dat.APBS.o apbs_vars.APBS.o apbs.APBS.o \
+ constants.o state.o memory_module.o stack.o \
+ nose_hoover.o nose_hoover_init.o \
+- trace.o rmsgrd.o lmod.o rand2.o lmodC.o xminC.o decomp.o \
++ trace.o rmsgrd.o lmod.o rand2.o dsarpack.o lmodC.o xminC.o decomp.o \
+ icosasurf.o egb.o remd.o findmask.o \
+ relax_mat.o nmr.o multitmd.o \
+ multisander.o sander.APBS.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \
+@@ -138,7 +138,7 @@ SEBOMDLIB = ../sebomd/sebomd.a
+
+ MMOBJ= file_io_dat.o constants.o state.o memory_module.o stack.o \
+ nose_hoover.o nose_hoover_init.o \
+- trace.o rmsgrd.o lmod.o rand2.o lmodC.o xminC.o decomp.o \
++ trace.o rmsgrd.o lmod.o rand2.o dsarpack.o lmodC.o xminC.o decomp.o \
+ icosasurf.o egb.o remd.o findmask.o \
+ relax_mat.o nmr.o multitmd.o \
+ multisander.o sander.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \
+@@ -159,7 +159,7 @@ MMOBJ= file_io_dat.o constants.o state.o memory_module.o stack.o \
+
+ APIOBJ= file_io_dat.o constants.o state.o memory_module.o stack.o \
+ nose_hoover.o nose_hoover_init.o \
+- trace.o rmsgrd.o lmod.o rand2.o lmodC.o xminC.o decomp.o \
++ trace.o rmsgrd.o lmod.o rand2.o dsarpack.o lmodC.o xminC.o decomp.o \
+ icosasurf.o egb.o remd.o findmask.o \
+ relax_mat.o nmr.o multitmd.o \
+ trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \
+@@ -180,7 +180,7 @@ APIOBJ= file_io_dat.o constants.o state.o memory_module.o stack.o \
+
+ LESAPIOBJ= memory_module.o stack.o file_io_dat.o les.o \
+ constants.o state.o nose_hoover.o nose_hoover_init_LES.o \
+- trace.o rmsgrd.o rand2.o lmodC.o xminC.o decomp.o icosasurf.o \
++ trace.o rmsgrd.o rand2.o dsarpack.o lmodC.o xminC.o decomp.o icosasurf.o \
+ egb.LES.o remd.LES.o findmask.o relax_mat.o nmr.LES.o multitmd.o \
+ cshf.o nmrcal.o mtmdcall.o pearsn.o cpparm.LES.o \
+ printe.o runmin.o nonbond_list.LESAPI.o force.LES.o rdparm.LESAPI.o \
+@@ -209,7 +209,7 @@ PARTPIMDOBJ = pimd_vars.o pimd_force.LES.o pimd_init.LES.o cmd_vars.o cmd_matrix
+
+ PUPILOBJ= file_io_dat.o constants.o state.o memory_module.o stack.o \
+ nose_hoover.o nose_hoover_init.o \
+- trace.o rmsgrd.o lmod.o rand2.o lmodC.o xminC.o decomp.o \
++ trace.o rmsgrd.o lmod.o rand2.o dsarpack.o lmodC.o xminC.o decomp.o \
+ pupildata.o icosasurf.o egb.o findmask.o \
+ relax_mat.o nmr.o multitmd.o \
+ multisander.o sander.PUPIL.o trajene.o cshf.o nmrcal.o mtmdcall.o pearsn.o \
+@@ -233,7 +233,7 @@ LSCIVROBJ = lscivr_vars.o lsc_init.o lsc_xp.o
+
+ LESOBJ= memory_module.o stack.o file_io_dat.o \
+ constants.o state.o nose_hoover.o nose_hoover_init_LES.o \
+- trace.o rmsgrd.o rand2.o lmodC.o xminC.o decomp.o icosasurf.o \
++ trace.o rmsgrd.o rand2.o dsarpack.o lmodC.o xminC.o decomp.o icosasurf.o \
+ egb.LES.o remd.LES.o findmask.o \
+ relax_mat.o nmr.LES.o multitmd.o \
+ multisander.LES.o sander.LES.o cshf.o nmrcal.o mtmdcall.o pearsn.o \
+@@ -293,7 +293,7 @@ all_serial_programs: $(SERIALPROGS)
+ $(BINDIR)/sander$(SFX): libsqm $(MMOBJ) $(QMOBJ) $(FULLPIMDOBJ) $(EMIL) \
+ $(SEBOMDOBJ) sebomd \
+ $(LSCIVROBJ) force.o syslib \
+- ../lib/nxtsec.o netlib configured_serial \
++ ../lib/nxtsec.o configured_serial \
+ $(NCSU_OBJECTS) $(XRAY_OBJS) libpbsa librism $(PLUMED_DEPENDENCIES)
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(MMOBJ) $(QMOBJ) $(SEBOMDOBJ) \
+ $(FULLPIMDOBJ) $(LSCIVROBJ) force.o -L$(LIBDIR) -lsqm \
+@@ -308,7 +308,7 @@ $(BINDIR)/sander$(SFX): libsqm $(MMOBJ) $(QMOBJ) $(FULLPIMDOBJ) $(EMIL) \
+ $(BINDIR)/sander.MPI$(SFX): libsqm $(MMOBJ) $(QMOBJ) $(FULLPIMDOBJ) $(EMIL) \
+ $(LSCIVROBJ) $(EVBOBJ) force.o \
+ $(SEBOMDOBJ) sebomd $(XRAY_OBJS) \
+- syslib ../lib/nxtsec.o netlib libpbsa librism_mpi configured_parallel $(NCSU_OBJECTS) \
++ syslib ../lib/nxtsec.o libpbsa librism_mpi configured_parallel $(NCSU_OBJECTS) \
+ $(PLUMED_DEPENDENCIES)
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(MMOBJ) $(QMOBJ) $(SEBOMDOBJ) \
+ $(FULLPIMDOBJ) $(LSCIVROBJ) $(EVBOBJ) force.o \
+@@ -323,7 +323,7 @@ $(BINDIR)/sander.MPI$(SFX): libsqm $(MMOBJ) $(QMOBJ) $(FULLPIMDOBJ) $(EMIL) \
+ $(BINDIR)/sander.PUPIL$(SFX): libsqm $(PUPILOBJ) $(QMOBJ) $(FULLPIMDOBJ) $(EMIL) \
+ $(LSCIVROBJ) syslib $(XRAY_OBJS) \
+ $(SEBOMDOBJ) sebomd \
+- ../lib/nxtsec.o netlib libpbsa librism configured_serial $(NCSU_OBJECTS) \
++ ../lib/nxtsec.o libpbsa librism configured_serial $(NCSU_OBJECTS) \
+ $(PLUMED_DEPENDENCIES)
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(PUPILOBJ) $(QMOBJ) $(SEBOMDOBJ) $(FULLPIMDOBJ) \
+ $(LSCIVROBJ) -L$(LIBDIR) -lsqm -lFpbsa \
+@@ -335,7 +335,7 @@ $(BINDIR)/sander.PUPIL$(SFX): libsqm $(PUPILOBJ) $(QMOBJ) $(FULLPIMDOBJ) $(EMIL)
+
+ #---------------------------------------------------------------------------
+ $(BINDIR)/sander.LES$(SFX): libsqm $(LESOBJ) $(PARTPIMDOBJ) syslib \
+- ../lib/nxtsec.o netlib \
++ ../lib/nxtsec.o \
+ $(LSCIVROBJ) $(NCSU_OBJECTS) $(XRAY_OBJS) configured_serial \
+ libpbsa librism $(EMIL) sebomd $(PLUMED_DEPENDENCIES)
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(LESOBJ) $(PARTPIMDOBJ) $(LSCIVROBJ) \
+@@ -348,7 +348,7 @@ $(BINDIR)/sander.LES$(SFX): libsqm $(LESOBJ) $(PARTPIMDOBJ) syslib \
+ #---------------------------------------------------------------------------
+ $(BINDIR)/sander.LES.MPI$(SFX): libsqm $(LESOBJ) $(EVBPIMD) \
+ $(PARTPIMDOBJ) syslib ../lib/nxtsec.o \
+- netlib libpbsa librism_mpi $(EMIL) $(XRAY_OBJS) \
++ libpbsa librism_mpi $(EMIL) $(XRAY_OBJS) \
+ $(LSCIVROBJ) $(NCSU_OBJECTS) sebomd configured_parallel $(PLUMED_DEPENDENCIES)
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(LESOBJ) $(EVBPIMD) \
+ $(PARTPIMDOBJ) $(LSCIVROBJ) $(XRAY_OBJS) \
+@@ -363,7 +363,7 @@ $(BINDIR)/sander.APBS$(SFX): libsqm $(APBSOBJ) $(QMOBJ) \
+ $(LSCIVROBJ) $(FULLPIMDOBJ) $(NCSU_OBJECTS) \
+ force.APBS.o syslib librism $(EMIL) \
+ $(SEBOMDOBJ) sebomd $(XRAY_OBJS) \
+- ../lib/nxtsec.o netlib configured_serial $(PLUMED_DEPENDENCIES)
++ ../lib/nxtsec.o configured_serial $(PLUMED_DEPENDENCIES)
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(APBSOBJ) $(QMOBJ) $(SEBOMDOBJ) \
+ $(FULLPIMDOBJ) $(LSCIVROBJ) force.APBS.o \
+ -L$(APBS_LIBDIR) $(APBS_LIBS) \
+@@ -386,7 +386,7 @@ $(BINDIR)/ambmask$(SFX): ambmask.o findmask.o amopen.o parms.o \
+ $(LIBDIR)/libsander$(SHARED_SUFFIX): libsqm $(APIOBJ) $(QMAPIOBJ) $(FULLPIMDOBJ) $(EMIL) \
+ $(SEBOMDOBJ) sebomd $(INCDIR)/sander_api.mod \
+ $(LSCIVROBJ) force.o syslib $(PLUMED_DEPENDENCIES) \
+- ../lib/nxtsec.o netlib configured_serial \
++ ../lib/nxtsec.o configured_serial \
+ $(NCSU_OBJECTS) $(XRAY_OBJS) libpbsa librism
+ $(FC) $(MAKE_SHARED) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o $@ $(APIOBJ) \
+ $(QMAPIOBJ) $(SEBOMDOBJ) $(FULLPIMDOBJ) $(LSCIVROBJ) force.o \
+@@ -399,7 +399,7 @@ $(LIBDIR)/libsander$(SHARED_SUFFIX): libsqm $(APIOBJ) $(QMAPIOBJ) $(FULLPIMDOBJ)
+ $(LIOLIBS) $(PLUMED_LOAD)
+
+ $(LIBDIR)/libsanderles$(SHARED_SUFFIX): libsqm $(LESAPIOBJ) $(PARTPIMDOBJ) $(QMAPIOBJ) syslib \
+- ../lib/nxtsec.o netlib $(INCDIR)/sanderles_api.mod \
++ ../lib/nxtsec.o $(INCDIR)/sanderles_api.mod \
+ $(LSCIVROBJ) $(NCSU_OBJECTS) $(XRAY_OBJS) configured_serial \
+ libpbsa librism $(EMIL) sebomd $(PLUMED_DEPENDENCIES)
+ $(FC) $(MAKE_SHARED) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) \
+@@ -452,6 +452,10 @@ rand2.o: ../sff/rand2.c
+ $(CC) -c $(CNOOPTFLAGS) $(CFLAGS) $(AMBERCFLAGS) \
+ -o rand2.o ../sff/rand2.c
+
++dsarpack.o: ../sff/dsarpack.f
++ $(CC) -c -DSQM $(CNOOPTFLAGS) $(CFLAGS) $(AMBERCFLAGS) \
++ -o dsarpack.o ../sff/dsarpack.f
++
+ lmodC.o: ../sff/lmodC.c
+ $(CC) -c -DSQM $(CNOOPTFLAGS) $(CFLAGS) $(AMBERCFLAGS) \
+ -o lmodC.o ../sff/lmodC.c
+diff --git a/AmberTools/src/sander/depend b/AmberTools/src/sander/depend
+index 67cc33b..b8667d7 100644
+--- a/AmberTools/src/sander/depend
++++ b/AmberTools/src/sander/depend
+@@ -5774,7 +5774,7 @@ yammpnb.o: \
+ yammpnb.o: yammpnb.F90
+ $(FC) $(FWARNFLAGS) $(FPPFLAGS) -c $(FOPTFLAGS) $(FFLAGS) $(AMBERFFLAGS) $(RISMSANDER) -o $@ yammpnb.F90
+
+-netcdf.o: $(NETCDF)
++netcdf.o:
+ test -e $@ || touch netcdf.o
+
+ AmberNetcdf.o: ../lib/AmberNetcdf.F90
+diff --git a/AmberTools/src/sander/makedepend b/AmberTools/src/sander/makedepend
+index 05c04c4..a18d979 100755
+--- a/AmberTools/src/sander/makedepend
++++ b/AmberTools/src/sander/makedepend
+@@ -232,7 +232,7 @@ foreach $file ( <*.F90> ){
+ }
+
+ # special "compilation rule" for netcdf.o
+-printf "netcdf.o: \$(NETCDF)\n\ttest -e \$\@ || touch netcdf.o\n\n";
++printf "netcdf.o:\n\ttest -e \$\@ || touch netcdf.o\n\n";
+
+ # special compilation rule for AmberNetcdf.o, random.o, and constants.o
+ printf "AmberNetcdf.o: ../lib/AmberNetcdf.F90\n";
+diff --git a/AmberTools/src/sander/sander.h b/AmberTools/src/sander/sander.h
+index e4ca7e3..23cb216 100644
+--- a/AmberTools/src/sander/sander.h
++++ b/AmberTools/src/sander/sander.h
+@@ -47,7 +47,7 @@
+ // Workaround for strange behavior of clang compiler -- clang C doesn't seem to
+ // like the inline specifier on any of these functions, but clang++ handles it
+ // just fine.
+-#if defined(__cplusplus) || !defined(__clang__)
++#if defined(__cplusplus)
+ # define INLINE inline
+ #else
+ # define INLINE
+diff --git a/AmberTools/src/sff/Makefile b/AmberTools/src/sff/Makefile
+index 228625a..88d5531 100644
+--- a/AmberTools/src/sff/Makefile
++++ b/AmberTools/src/sff/Makefile
+@@ -3,7 +3,7 @@ include ../config.h
+ .c.o:
+ $(CC) -c -Dflex $(COPTFLAGS) $(CFLAGS) $(AMBERCFLAGS) $(RISMSFF) $(NETCDFINC) -o $@ $<
+
+-OBJS = binpos.o conjgrad.o lmodC.o memutil.o nblist.o newton.o nmode.o \
++OBJS = binpos.o conjgrad.o dsarpack.o lmodC.o memutil.o nblist.o newton.o nmode.o \
+ prm.o rand2.o sasad.o sff.o time.o xminC.o AmberNetcdf.o atomic_number.o $(SFF_RISM_INTERFACE)
+
+
+@@ -65,7 +65,7 @@ xminC.o: sff.h
+ AmberNetcdf.o: AmberNetcdf.h
+
+ hcp_getpdb: hcp_getpdb.c
+- $(CC) -o $(BINDIR)/hcp_getpdb hcp_getpdb.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(BINDIR)/hcp_getpdb hcp_getpdb.c
+
+ .PHONY: ../rism/amber_rism_interface.NAB.o
+ ../rism/amber_rism_interface.NAB.o:
+diff --git a/AmberTools/src/sff/dsarpack.f b/AmberTools/src/sff/dsarpack.f
+new file mode 100644
+index 0000000..5544df9
+--- /dev/null
++++ b/AmberTools/src/sff/dsarpack.f
+@@ -0,0 +1,654 @@
++ subroutine dsarpack(n_dim,n_eig_in,n_eig_out,ncv_in,itr_in,
++ & eigval_tol,eigvals,eigvecs,spectrum,
++ & need_eigvecs,ierr,debug_arpack,
++ & v,workl,workd,d,resid,ax,select,
++ & xyz,grad,return_flag,label)
++c
++ implicit none
++c
++c %-----------------%
++c | Dummy Arguments |
++c %-----------------%
++c
++ integer n_dim,n_eig_in,n_eig_out,ncv_in,itr_in,spectrum,
++ & need_eigvecs,ierr,debug_arpack,return_flag,label
++ Double precision eigval_tol
++ Double precision eigvals(n_eig_in),eigvecs(n_dim * n_eig_in)
++ Double precision v(n_dim,ncv_in),
++ & workl(ncv_in*(ncv_in+8)),workd(3*n_dim),
++ & d(ncv_in,2),resid(n_dim),ax(n_dim),
++ & xyz(n_dim),grad(n_dim)
++ logical select(ncv_in)
++c
++ save
++c
++c %---------------%
++c | Include Files |
++c %---------------%
++c
++c include 'debug.h'
++c
++c\SCCS Information: @(#)
++c FILE: debug.h SID: 2.3 DATE OF SID: 11/16/95 RELEASE: 2
++c
++c %---------------------------------%
++c | See debug.doc for documentation |
++c %---------------------------------%
++ integer logfil, ndigit, mgetv0,
++ & msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,
++ & mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,
++ & mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
++ common /debug/
++ & logfil, ndigit, mgetv0,
++ & msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,
++ & mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,
++ & mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
++c
++c This code shows how to use ARPACK to find a few eigenvalues
++c (lambda) and corresponding eigenvectors (x) for the standard
++c eigenvalue problem:
++c
++c A*x = lambda*x
++c
++c where A is an n by n real symmetric matrix.
++c
++c The main points illustrated here are
++c
++c 1) How to declare sufficient memory to find NEV
++c eigenvalues of largest magnitude. Other options
++c are available.
++c
++c 2) Illustration of the reverse communication interface
++c needed to utilize the top level ARPACK routine DSAUPD
++c that computes the quantities needed to construct
++c the desired eigenvalues and eigenvectors(if requested).
++c
++c 3) How to extract the desired eigenvalues and eigenvectors
++c using the ARPACK routine DSEUPD.
++c
++c The only thing that must be supplied in order to use this
++c routine on your problem is to change the array dimensions
++c appropriately, to specify WHICH eigenvalues you want to compute
++c and to supply a matrix-vector product
++c
++c w <- Av
++c
++c in place of the call to AV( ) below.
++c
++c Once usage of this routine is understood, you may wish to explore
++c the other available options to improve convergence, to solve generalized
++c problems, etc. Look at the file ex-sym.doc in DOCUMENTS directory.
++c This codes implements
++c
++c\Example-1
++c ... Suppose we want to solve A*x = lambda*x in regular mode,
++c where A is derived from the central difference discretization
++c of the 2-dimensional Laplacian on the unit square with
++c zero Dirichlet boundary condition.
++c ... OP = A and B = I.
++c ... Assume "call av (n,x,y)" computes y = A*x
++c ... Use mode 1 of DSAUPD.
++c
++c\BeginLib
++c
++c\Routines called:
++c dsaupd ARPACK reverse communication interface routine.
++c dseupd ARPACK routine that returns Ritz values and (optionally)
++c Ritz vectors.
++c dnrm2 Level 1 BLAS that computes the norm of a vector.
++c daxpy Level 1 BLAS that computes y <- alpha*x+y.
++c
++c\Author
++c Richard Lehoucq
++c Danny Sorensen
++c Chao Yang
++c Dept. of Computational &
++c Applied Mathematics
++c Rice University
++c Houston, Texas
++c
++c\SCCS Information: %Z%
++c FILE: %M% SID: %I% DATE OF SID: %G% RELEASE: %R%
++c
++c\Remarks
++c 1. None
++c
++c\EndLib
++c
++c-----------------------------------------------------------------------
++c
++c %-------------------------------------------------------%
++c | Storage Declarations: |
++c | |
++c | The maximum dimensions for all arrays are |
++c | set here to accommodate a problem size of |
++c | N .le. MAXN |
++c | |
++c | NEV is the number of eigenvalues requested. |
++c | See specifications for ARPACK usage below. |
++c | |
++c | NCV is the largest number of basis vectors that will |
++c | be used in the Implicitly Restarted Arnoldi |
++c | Process. Work per major iteration is |
++c | proportional to N*NCV*NCV. |
++c | |
++c | You must set: |
++c | |
++c | MAXN: Maximum dimension of the A allowed. (dynamic) |
++c | MAXNEV: Maximum NEV allowed. (dynamic) |
++c | MAXNCV: Maximum NCV allowed. (dynamic) |
++c %-------------------------------------------------------%
++c
++C %--------------------------------------%
++C | F90 Allocatable Arrays (on the heap) |
++C %--------------------------------------%
++c
++C Double precision,allocatable,save :: v(:,:)
++C integer,save :: v_row_allocated = 0, v_col_allocated = 0
++c
++c %----------------------------------------------%
++c | Originally, as F77 parameters, the following |
++c | integers were used to dimension work arrays. |
++c | They are replaced by dummy arguments used to |
++c | dimension the work arrays as F90 automatic |
++c | arrays, but the integers are still used for |
++c | passing the dimensions to lower level ARPACK |
++c | routines dsaupd, dseupd and dmout. |
++c %----------------------------------------------%
++c
++ integer maxn, maxnev, maxncv, ldv
++c
++c %-------------------------------------------%
++c | Local F90 Automatic Arrays (on the stack) |
++c %-------------------------------------------%
++c
++ Double precision
++C & workl(ncv_in*(ncv_in+8)),
++C & workd(3*n_dim), d(ncv_in,2), resid(n_dim),
++C & ax(n_dim),
++ & cg_dstat(4)
++C logical select(ncv_in)
++ integer iparam(11), ipntr(11),
++ & cg_istat(4)
++c
++c %---------------%
++c | Local Scalars |
++c %---------------%
++c
++ character bmat*1, which*2
++ integer ido, n, nev, ncv, lworkl, info,
++ & i, j, nx, ishfts, maxitr, mode1, nconv
++ integer L12, L18, ARPACK_ERROR, status_flag
++ data L12, L18, ARPACK_ERROR /1, 2, -2/
++C integer v_row_needed, v_col_needed
++ logical rvec
++ Double precision
++ & tol, sigma
++c
++c %------------%
++c | Parameters |
++c %------------%
++c
++ Double precision
++ & zero
++ parameter (zero = 0.0D+0)
++c
++c %-----------------------------%
++c | BLAS & LAPACK routines used |
++c %-----------------------------%
++c
++ Double precision
++ & dnrm2
++ external dnrm2, daxpy, hessvec
++c
++c %--------------------%
++c | Intrinsic function |
++c %--------------------%
++c
++ intrinsic abs
++c
++c %-----------------------%
++c | Executable Statements |
++c %-----------------------%
++c
++ if ( label.eq.0 ) go to 1
++ go to (12,18) label
++ 1 continue
++c
++c %------------------------------------------------%
++c | Values used to calculate work array dimensions |
++c %------------------------------------------------%
++c
++ maxn = n_dim
++ maxnev = n_eig_in
++ maxncv = ncv_in
++ ldv = maxn
++c
++c %---------------------------------------------------%
++c | The include debug.h statement above and |
++c | assignments here initiate trace output from the |
++c | internal actions of ARPACK. See debug.doc in the |
++c | DOCUMENTS directory for usage. Initially, the |
++c | most useful information will be a breakdown of |
++c | time spent in the various stages of computation |
++c | given by setting msaupd = 1. |
++c %---------------------------------------------------%
++c
++ ndigit = -5
++ logfil = 6
++ msgets = 0
++ msaitr = 0
++ msapps = 0
++ if ( debug_arpack.eq.1 ) then
++ msaupd = 1
++ else
++ msaupd = 0
++ endif
++ msaup2 = 0
++ mseigt = 0
++ mseupd = 0
++c
++c *** Allocatable array v will be allowed to grow to its largest size;
++c *** it is never deallocated:
++C v_row_needed = n_dim !!! ldv
++C v_col_needed = ncv_in !!! maxncv
++C if( allocated(v) )then
++C if( (v_row_needed .gt. v_row_allocated)
++C & .or. (v_col_needed .gt. v_col_allocated) )then
++C deallocate(v,stat=ierr)
++C if( ierr .ne. 0 )then
++C write( logfil, '(a,i16,1x,i8)' )
++C & 'ARPACK: could not deallocate v'
++C go to 9000
++C endif
++C endif
++C endif
++C if( .not. allocated(v) )then
++C allocate( v(v_row_needed,v_col_needed), stat=ierr )
++C if( ierr .ne. 0 )then
++C write( logfil, '(a,2i10)' )
++C & 'ARPACK: could not allocate v'
++C go to 9000
++C endif
++C v_row_allocated = v_row_needed
++C v_col_allocated = v_col_needed
++C endif
++C v = zero !!! zero out entire v array
++c
++c %-------------------------------------------------%
++c | The following sets dimensions for this problem. |
++c %-------------------------------------------------%
++c
++ n = n_dim
++c
++c %----------------------------------------------%
++c | |
++c | Specifications for ARPACK usage are set |
++c | below: |
++c | |
++c | 1) NEV = N_EIG_IN asks for N_EIG_IN |
++c | eigenvalues to be computed. |
++c | |
++c | 2) NCV = NCV_IN sets the length of the |
++c | Arnoldi factorization |
++c | |
++c | 3) This is a standard problem |
++c | (indicated by bmat = 'I') |
++c | |
++c | 4) Ask for the NEV eigenvalues of |
++c | smallest magnitude |
++c | (indicated by which = 'SM') |
++c | See documentation in SSAUPD for the |
++c | other options SA, LA, LM, BE. |
++c | |
++c | Note: NEV and NCV must satisfy the following |
++c | conditions: |
++c | NEV <= MAXNEV |
++c | NEV + 1 <= NCV <= MAXNCV |
++c %----------------------------------------------%
++c
++ nev = n_eig_in
++ ncv = ncv_in
++ bmat = 'I'
++ if ( spectrum .eq. 1 ) then
++ which = 'SM'
++ else if ( spectrum .eq. 2 ) then
++ which = 'SA'
++ else if ( spectrum .eq. 3 ) then
++ which = 'LM'
++ else if ( spectrum .eq. 4 ) then
++ which = 'LA'
++ else if ( spectrum .eq. 5 ) then
++ which = 'BE'
++ else
++ print *, ' ERROR with _SSIMP: Spectrum .NE. (SM|SA|LA|LM|BE)'
++ go to 9000
++ end if
++c
++ if ( n .gt. maxn ) then
++ print *, ' ERROR with _SSIMP: N is greater than MAXN '
++ go to 9000
++ else if ( nev .gt. maxnev ) then
++ print *, ' ERROR with _SSIMP: NEV is greater than MAXNEV '
++ go to 9000
++ else if ( ncv .gt. maxncv ) then
++ print *, ' ERROR with _SSIMP: NCV is greater than MAXNCV '
++ go to 9000
++ end if
++c
++c %-----------------------------------------------------%
++c | |
++c | Specification of stopping rules and initial |
++c | conditions before calling DSAUPD |
++c | |
++c | TOL determines the stopping criterion. |
++c | |
++c | Expect |
++c | abs(lambdaC - lambdaT) < TOL*abs(lambdaC) |
++c | computed true |
++c | |
++c | If TOL .le. 0, then TOL <- macheps |
++c | (machine precision) is used. |
++c | |
++c | IDO is the REVERSE COMMUNICATION parameter |
++c | used to specify actions to be taken on return |
++c | from DSAUPD. (See usage below.) |
++c | |
++c | It MUST initially be set to 0 before the first |
++c | call to DSAUPD. |
++c | |
++c | INFO on entry specifies starting vector information |
++c | and on return indicates error codes |
++c | |
++c | Initially, setting INFO=0 indicates that a |
++c | random starting vector is requested to |
++c | start the ARNOLDI iteration. Setting INFO to |
++c | a nonzero value on the initial call is used |
++c | if you want to specify your own starting |
++c | vector (This vector must be placed in RESID.) |
++c | |
++c | The work array WORKL is used in DSAUPD as |
++c | workspace. Its dimension LWORKL is set as |
++c | illustrated below. |
++c | |
++c %-----------------------------------------------------%
++c
++ lworkl = ncv*(ncv+8)
++ tol = eigval_tol
++ info = 0
++ ido = 0
++c
++c %---------------------------------------------------%
++c | Specification of Algorithm Mode: |
++c | |
++c | This program uses the exact shift strategy |
++c | (indicated by setting PARAM(1) = 1). |
++c | IPARAM(3) specifies the maximum number of Arnoldi |
++c | iterations allowed. Mode 1 of DSAUPD is used |
++c | (IPARAM(7) = 1). All these options can be changed |
++c | by the user. For details see the documentation in |
++c | DSAUPD. |
++c %---------------------------------------------------%
++c
++ ishfts = 1
++ maxitr = itr_in
++ mode1 = 1
++c
++ iparam(1) = ishfts
++c
++ iparam(3) = maxitr
++c
++ iparam(7) = mode1
++c
++c %------------------------------------------------%
++c | M A I N L O O P (Reverse communication loop) |
++c %------------------------------------------------%
++c
++ 10 continue
++c
++c %---------------------------------------------%
++c | Repeatedly call the routine DSAUPD and take |
++c | actions indicated by parameter IDO until |
++c | either convergence is indicated or maxitr |
++c | has been exceeded. |
++c %---------------------------------------------%
++c
++ call dsaupd ( ido, bmat, n, which, nev, tol, resid,
++ & ncv, v, ldv, iparam, ipntr, workd, workl,
++ & lworkl, info )
++c
++ if (ido .eq. -1 .or. ido .eq. 1) then
++c
++c %--------------------------------------%
++c | Perform matrix vector multiplication |
++c | y <--- OP*x |
++c | The user should supply his/her own |
++c | matrix vector multiplication routine |
++c | here that takes workd(ipntr(1)) as |
++c | the input, and return the result to |
++c | workd(ipntr(2)). |
++c %--------------------------------------%
++c
++ status_flag = 0
++ 11 continue
++ call hessvec ( n, workd(ipntr(1)), workd(ipntr(2)),
++ & xyz, grad, return_flag, status_flag )
++ if ( status_flag.eq.0 ) go to 13
++ if ( status_flag.lt.0 ) go to 9000
++ label = L12
++ return
++ 12 go to 11
++ 13 continue
++c
++c %-----------------------------------------%
++c | L O O P B A C K to call DSAUPD again. |
++c %-----------------------------------------%
++c
++ go to 10
++c
++ end if
++c
++c %----------------------------------------%
++c | Either we have convergence or there is |
++c | an error. |
++c %----------------------------------------%
++c
++ if ( info .lt. 0 ) then
++c
++c %--------------------------%
++c | Error message. Check the |
++c | documentation in DSAUPD. |
++c %--------------------------%
++c
++ print *, ' '
++ print *, ' Error with _saupd, info = ', info
++ print *, ' Check documentation in _saupd '
++ print *, ' '
++ go to 9000
++c
++ else
++c
++c %-------------------------------------------%
++c | No fatal errors occurred. |
++c | Post-Process using DSEUPD. |
++c | |
++c | Computed eigenvalues may be extracted. |
++c | |
++c | Eigenvectors may be also computed now if |
++c | desired. (indicated by rvec = .true.) |
++c | |
++c | The routine DSEUPD now called to do this |
++c | post processing (Other modes may require |
++c | more complicated post processing than |
++c | mode1.) |
++c | |
++c %-------------------------------------------%
++c
++ if ( need_eigvecs .eq. 1 ) then
++ rvec = .true.
++ else
++ rvec = .false.
++ end if
++c
++ call dseupd ( rvec, 'All', select, d, v, ldv, sigma,
++ & bmat, n, which, nev, tol, resid, ncv, v, ldv,
++ & iparam, ipntr, workd, workl, lworkl, ierr )
++c
++c %----------------------------------------------%
++c | Eigenvalues are returned in the first column |
++c | of the two dimensional array D and the |
++c | corresponding eigenvectors are returned in |
++c | the first NCONV (=IPARAM(5)) columns of the |
++c | two dimensional array V if requested. |
++c | Otherwise, an orthogonal basis for the |
++c | invariant subspace corresponding to the |
++c | eigenvalues in D is returned in V. |
++c %----------------------------------------------%
++c
++ if ( ierr .ne. 0) then
++c
++c %------------------------------------%
++c | Error condition: |
++c | Check the documentation of DSEUPD. |
++c %------------------------------------%
++c
++ print *, ' '
++ print *, ' Error with _seupd, info = ', ierr
++ print *, ' Check the documentation of _seupd. '
++ print *, ' '
++ go to 9000
++c
++ else if ( debug_arpack.eq.1 ) then
++c
++ nconv = iparam(5)
++ n_eig_out = nconv
++ if ( nconv .le. 0 ) then
++ print *, ' '
++ print *, ' ARPACK: Not a single mode converged.'
++ print *, ' '
++ go to 9000
++ endif
++c
++C %--------------------------------------------%
++C | "UnDO" DO 20 j=1,nconv loop, because it is |
++C | illegal to jump in and out from a DO loop. |
++C %--------------------------------------------%
++c
++ j = 1
++ 16 continue
++c
++c %---------------------------%
++c | Compute the residual norm |
++c | |
++c | || A*x - lambda*x || |
++c | |
++c | for the NCONV accurately |
++c | computed eigenvalues and |
++c | eigenvectors. (iparam(5) |
++c | indicates how many are |
++c | accurate to the requested |
++c | tolerance) |
++c %---------------------------%
++c
++ status_flag = 0
++ 17 continue
++ call hessvec ( n, v(1,j), ax, xyz, grad,
++ & return_flag, status_flag )
++ if ( status_flag.eq.0 ) go to 19
++ if ( status_flag.lt.0 ) go to 9000
++ label = L18
++ return
++ 18 go to 17
++ 19 continue
++c
++ call daxpy(n, -d(j,1), v(1,j), 1, ax, 1)
++ d(j,2) = dnrm2(n, ax, 1)
++ d(j,2) = d(j,2) / abs(d(j,1))
++c
++ j = j + 1
++ if ( j .gt. nconv ) go to 20
++c
++ go to 16
++c
++ 20 continue
++c
++c %-----------------------------%
++c | Display computed residuals. |
++c %-----------------------------%
++c
++ call dmout(6, nconv, 2, d, maxncv, -6,
++ & 'Ritz values and relative residuals')
++c
++c %-------------------------------------------%
++c | Print additional convergence information. |
++c %-------------------------------------------%
++c
++ if ( info .eq. 1) then
++ print *, ' '
++ print *, ' Maximum number of iterations reached.'
++ print *, ' '
++ else if ( info .eq. 3) then
++ print *, ' '
++ print *, ' No shifts could be applied during implicit',
++ & ' Arnoldi update, try increasing NCV.'
++ print *, ' '
++ end if
++c
++ print *, ' '
++ print *, ' _SSIMP '
++ print *, ' ====== '
++ print *, ' '
++ print *, ' Size of the matrix is ', n
++ print *, ' The number of Ritz values requested is ', nev
++ print *, ' The number of Arnoldi vectors generated',
++ & ' (NCV) is ', ncv
++ print *, ' What portion of the spectrum: ', which
++ print *, ' The number of converged Ritz values is ',
++ & nconv
++ print *, ' The number of Implicit Arnoldi update',
++ & ' iterations taken is ', iparam(3)
++ print *, ' The number of OP*x is ', iparam(9)
++ print *, ' The convergence criterion is ', tol
++ print *, ' '
++ end if
++c
++c %----------------------------%
++c | Return eigvals and eigvecs |
++c %----------------------------%
++c
++ nconv = iparam(5)
++ n_eig_out = nconv
++ if ( nconv .le. 0 ) then
++ print *, ' '
++ print *, ' ARPACK: Not a single mode converged.'
++ print *, ' '
++ go to 9000
++ endif
++c
++ do 40 j=1, nconv
++ eigvals(j) = d(j,1)
++c
++ do 30 i=1, n
++ eigvecs((j-1)*n+i) = v(i,j)
++ 30 continue
++ 40 continue
++c
++ end if
++c
++c %--------------------------------%
++c | Done with subroutine dsarpack. |
++c %--------------------------------%
++c
++ label = 0
++ return
++c
++ 9000 continue !!! Error
++c
++ if( status_flag.eq.0 ) status_flag = ARPACK_ERROR
++c
++ label = status_flag
++ return
++c
++ end
++c
++c ------------------------------------------------------------------
+diff --git a/AmberTools/src/sqm/Makefile b/AmberTools/src/sqm/Makefile
+index a0fa790..5983764 100644
+--- a/AmberTools/src/sqm/Makefile
++++ b/AmberTools/src/sqm/Makefile
+@@ -82,7 +82,7 @@ QMOBJ = qm2_allocate_e_repul.o qm2_calc_charges.o qm2_calc_dipole.o \
+ install: sqm$(SFX)
+ mv sqm$(SFX) $(BINDIR)
+
+-sqm$(SFX): $(SQMOBJ) $(QMOBJ) netlib sys
++sqm$(SFX): $(SQMOBJ) $(QMOBJ) sys
+ $(FC) $(FPPFLAGS) $(FFLAGS) $(AMBERFFLAGS) -o sqm$(SFX) $(SQMOBJ) $(QMOBJ) \
+ -L$(LIBDIR) $(FLIBSF) ../lib/sys.a $(LDFLAGS) $(AMBERLDFLAGS)
+
+diff --git a/AmberTools/test/Makefile b/AmberTools/test/Makefile
+index 8252d52..24b9272 100644
+--- a/AmberTools/test/Makefile
++++ b/AmberTools/test/Makefile
+@@ -3,14 +3,14 @@ include ../src/config.h
+ ###### Top-level targets, for general use: ############################
+
+ test::
+- ./test_at_serial.sh
++ +./test_at_serial.sh
+
+ test.parallel::
+ ./test_at_parallel.sh
+
+ ###### Intermediate-level targets: ############################
+
+-test.serial: clean is_amberhome_defined \
++test.serial: is_amberhome_defined \
+ test.nab test.cpptraj test.antechamber test.mdgx \
+ test.leap test.resp test.pbsa test.gbnsr6 test.mmpbsa test.parmed \
+ test.elsize test.sqm test.rism1d test.amberlite \
+diff --git a/AmberTools/test/test_at_serial.sh b/AmberTools/test/test_at_serial.sh
+index a154c84..c092eb6 100755
+--- a/AmberTools/test/test_at_serial.sh
++++ b/AmberTools/test/test_at_serial.sh
+@@ -44,3 +44,9 @@ fi
+
+ # save summary for later reporting:
+ tail -5 ${logfile} > ${logdir}/at_summary
++
++if [ "${questionable_count}" -ne 0 -o "${error_count}" -ne 0 ]
++then
++ # Tests failed
++ exit 1
++fi
+diff --git a/AmberTools/test/test_check.sh b/AmberTools/test/test_check.sh
+index 108c446..62c0b88 100644
+--- a/AmberTools/test/test_check.sh
++++ b/AmberTools/test/test_check.sh
+@@ -63,7 +63,7 @@ check_environment() {
+ # We are done here for Macs
+ test $is_mac = "yes" && return
+
+- python << EOF
++ python2 << EOF
+ import os
+ import sys
+ ambhome = os.getenv('AMBERHOME')
diff --git a/sci-chemistry/ambertools/files/ambertools-15-update.1.patch b/sci-chemistry/ambertools/files/ambertools-15-update.1.patch
new file mode 100644
index 000000000..28d25e590
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-update.1.patch
@@ -0,0 +1,118 @@
+*******> update.1
+
+Author: Jason Swails
+
+Date: June 1, 2015
+
+Programs: MMPBSA.py, ParmEd, cpptraj
+
+Description: This fixes a number of small issues:
+ 1) Fix Python 2.4 and Python 2.5 support for ParmEd and MMPBSA.py
+ 2) Fix the MMPBSA.py Python API
+ 3) Scale charges correctly for LIE action in cpptraj with non-unity
+ dielectric constant
+
+--------------------------------------------------------------------------------
+
+ AmberTools/src/cpptraj/src/Action_LIE.cpp | 2 +-
+ AmberTools/src/mmpbsa_py/MMPBSA_mods/API.py | 3 ++-
+ AmberTools/src/mmpbsa_py/MMPBSA_mods/infofile.py | 1 +
+ AmberTools/src/parmed/chemistry/__init__.py | 6 +++++-
+ .../test/mmpbsa_py/07_Comprehensive/Run.comprehensive | 18 ++++++++++++++++++
+ 5 files changed, 27 insertions(+), 3 deletions(-)
+
+diff --git AmberTools/src/cpptraj/src/Action_LIE.cpp AmberTools/src/cpptraj/src/Action_LIE.cpp
+index 25825c1..716a04f 100644
+--- AmberTools/src/cpptraj/src/Action_LIE.cpp
++++ AmberTools/src/cpptraj/src/Action_LIE.cpp
+@@ -132,7 +132,7 @@ int Action_LIE::SetupParms(Topology const& ParmIn) {
+ atom_charge_.reserve( ParmIn.Natom() );
+ for (Topology::atom_iterator atom = ParmIn.begin();
+ atom != ParmIn.end(); ++atom)
+- atom_charge_.push_back( atom->Charge() * Constants::ELECTOAMBER / dielc_ );
++ atom_charge_.push_back( atom->Charge() * Constants::ELECTOAMBER / sqrt(dielc_) );
+ return 0;
+ }
+
+diff --git AmberTools/src/mmpbsa_py/MMPBSA_mods/API.py AmberTools/src/mmpbsa_py/MMPBSA_mods/API.py
+index e6c4fe9..d7cc7ec 100644
+--- AmberTools/src/mmpbsa_py/MMPBSA_mods/API.py
++++ AmberTools/src/mmpbsa_py/MMPBSA_mods/API.py
+@@ -63,7 +63,7 @@ class mmpbsa_data(dict):
+ self.stability = app.stability
+ # Now load the data
+ for key in app.calc_types:
+- if key == 'mutant':
++ if key == 'mutant' or key =='qh':
+ has_mutant = True
+ continue
+ self[key] = {}
+@@ -86,6 +86,7 @@ class mmpbsa_data(dict):
+ if has_mutant:
+ self.mutant = {}
+ for key in app.calc_types['mutant']:
++ if key == 'qh': continue
+ self.mutant[key] = {}
+ tmpdict = {}
+ for dkey in app.calc_types['mutant'][key]['complex'].data:
+diff --git AmberTools/src/mmpbsa_py/MMPBSA_mods/infofile.py AmberTools/src/mmpbsa_py/MMPBSA_mods/infofile.py
+index ecdc2f2..ecaa6c1 100644
+--- AmberTools/src/mmpbsa_py/MMPBSA_mods/infofile.py
++++ AmberTools/src/mmpbsa_py/MMPBSA_mods/infofile.py
+@@ -80,6 +80,7 @@ class InfoFile(object):
+ outfile.write('numframes = %d\n' % self.app.numframes)
+ outfile.write('numframes_nmode = %d\n' % self.app.numframes_nmode)
+ outfile.write("mut_str = '%s'\n" % self.app.mut_str)
++ outfile.write('using_chamber = %s\n' % self.app.using_chamber)
+ outfile.write(self.app.input_file_text)
+
+ def read_info(self, name=None):
+diff --git AmberTools/src/parmed/chemistry/__init__.py AmberTools/src/parmed/chemistry/__init__.py
+index 52f5245..544e016 100644
+--- AmberTools/src/parmed/chemistry/__init__.py
++++ AmberTools/src/parmed/chemistry/__init__.py
+@@ -11,10 +11,14 @@ from chemistry.structure import Structure
+ from chemistry.topologyobjects import *
+ from chemistry import unit
+ from chemistry.residue import *
+-from chemistry import amber, charmm, tinker, openmm
++from chemistry import amber, charmm, tinker
+ from chemistry import formats
+ load_file = formats.load_file
+ read_PDB = formats.PDBFile.parse
+ read_CIF = formats.CIFFile.parse
+ write_PDB = formats.PDBFile.write
+ write_CIF = formats.CIFFile.write
++try:
++ from chemistry import openmm
++except ImportError:
++ pass
+diff --git AmberTools/test/mmpbsa_py/07_Comprehensive/Run.comprehensive AmberTools/test/mmpbsa_py/07_Comprehensive/Run.comprehensive
+index 268515e..aa7d9df 100755
+--- AmberTools/test/mmpbsa_py/07_Comprehensive/Run.comprehensive
++++ AmberTools/test/mmpbsa_py/07_Comprehensive/Run.comprehensive
+@@ -108,6 +108,24 @@ if [ -z "$DO_PARALLEL" ]; then
+ ../../dacdif -a 6.0 FINAL_RESULTS_MMPBSA_2.dat.save FINAL_RESULTS_MMPBSA_2.dat
+ fi
+
++# Check the API
++python << EOF
++from __future__ import division
++import MMPBSA_mods.API as API
++
++print('Checking the API')
++try:
++ stuff = API.load_mmpbsa_info('_MMPBSA_info')
++ total_data = stuff['gb']['complex']['TOTAL']
++ if abs((sum(total_data) / len(total_data)) + 466.7565) > 0.0002:
++ print('possible FAILURE')
++ else:
++ print('PASSED')
++except:
++ print('Program error')
++print('==============================================================')
++EOF
++
+ $EXE --clean 2>&1 > /dev/null
+
+ rm -f mmpbsa.in mmpbsa.out FINAL_DECOMP_MMPBSA_2.csv-e FINAL_DECOMP_MMPBSA.dat
diff --git a/sci-chemistry/ambertools/files/ambertools-15-update.2.patch b/sci-chemistry/ambertools/files/ambertools-15-update.2.patch
new file mode 100644
index 000000000..b0f1cd978
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-update.2.patch
@@ -0,0 +1,56 @@
+*******> update.2
+
+Author: Jason Swails, Ross Walker
+
+Date: June 2, 2015
+
+Programs: AmberTools, CUDA
+
+Description: Adds support for CUDA 7. Also fixes an erroneous error report when
+ AmberTools is configured for *only* OpenMP, CUDA, or CUDA-MPI with
+ regards to missing Python modules.
+
+--------------------------------------------------------------------------------
+
+ AmberTools/src/configure2 | 4 ++--
+ AmberTools/test/test_check.sh | 7 ++++---
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git AmberTools/src/configure2 AmberTools/src/configure2
+index f1a3cff..9a504b1 100755
+--- AmberTools/src/configure2
++++ AmberTools/src/configure2
+@@ -861,13 +861,13 @@ if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPXP" = 'yes' -o "$cuda_DPFP" = 'yes' ]; the
+ echo "CUDA Version $cudaversion detected"
+ echo "Configuring for SM2.0 and SM3.0 - warning does not support Maxwell (GM200/GM204) cards [e.g. GTX970/980]"
+ nvccflags="$sm20flags $sm30flags"
+- elif [ "$cudaversion" = "6.5" ]; then
++ elif [ "$cudaversion" = "6.5" -o "$cudaversion" = "7.0" ]; then
+ echo "CUDA Version $cudaversion detected"
+ echo "Configuring for SM2.0, SM3.0 and SM5.0"
+ nvccflags="$sm20flags $sm30flags $sm50flags"
+ else
+ echo "Error: Unsupported CUDA version $cudaversion detected."
+- echo " AMBER requires CUDA version == 5.0 .or. 5.5 .or. 6.0 .or. 6.5"
++ echo " AMBER requires CUDA version == 5.0 .or. 5.5 .or. 6.0 .or. 6.5 .or. 7.0"
+ exit 1
+ fi
+ nvcc="$nvcc $nvccflags"
+diff --git AmberTools/test/test_check.sh AmberTools/test/test_check.sh
+index 108c446..a5399d8 100644
+--- AmberTools/test/test_check.sh
++++ AmberTools/test/test_check.sh
+@@ -83,9 +83,10 @@ def error():
+ try:
+ import chemistry
+ except ImportError:
+- sys.stderr.write('Could not import Amber Python modules. This likely means\\n'
+- 'that your Amber Python environment was not set up correctly\\n\\n')
+- error()
++ if os.path.exists(os.path.join(ambhome, 'parmed.py')):
++ sys.stderr.write('Could not import Amber Python modules. This likely means\\n'
++ 'that your Amber Python environment was not set up correctly\\n\\n')
++ error()
+
+ if 'darwin' in sys.platform:
+ sys.exit(0) # Nothing to check here
diff --git a/sci-chemistry/ambertools/files/ambertools-15-update.3.patch b/sci-chemistry/ambertools/files/ambertools-15-update.3.patch
new file mode 100644
index 000000000..a892ecefd
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-update.3.patch
@@ -0,0 +1,95 @@
+********> update.3
+ Author: Istvan Kolossvary
+ Date: 15 June 2015
+
+ Programs: nab, sff
+
+ Description: Fix problem with lmod docking when fixed atoms are present
+
+ ---------------------------------------------------------------------------
+
+diff --git AmberTools/src/sff/lmodC.c AmberTools/src/sff/lmodC.c
+index 8a19dd8..45c8244 100644
+--- AmberTools/src/sff/lmodC.c
++++ AmberTools/src/sff/lmodC.c
+@@ -864,7 +864,7 @@ trans_ligand(double *xyz, int start, int end, double dx, double dy,
+ double dz)
+ {
+ int i, x, y, z;
+- for (i = start - 1; i < end; i++) {
++ for (i = start; i <= end; i++) {
+ x = 3 * i;
+ y = x + 1;
+ z = y + 1;
+@@ -900,7 +900,7 @@ rot_ligand(double *xyz, int start, int end, double cent_x, double cent_y,
+ {
+ int i, x, y, z;
+ double temp_x, temp_y, temp_z;
+- for (i = start - 1; i < end; i++) {
++ for (i = start; i <= end; i++) {
+ x = 3 * i;
+ y = x + 1;
+ z = y + 1;
+@@ -930,7 +930,7 @@ calc_centroid(double *xyz, int start, int end, double *cent_x,
+ {
+ int i, x, y, z, n;
+ *cent_x = *cent_y = *cent_z = ZERO;
+- for (i = start - 1; i < end; i++) {
++ for (i = start; i <= end; i++) {
+ x = 3 * i;
+ y = x + 1;
+ z = y + 1;
+@@ -1591,6 +1591,7 @@ lmodC(int *nlmodit, int *nmod, int *kmod, int *rotran, int *natm_ext,
+ i, j, k, kk, l, n, cnt;
+ static int barrier_crossing_test_on, do_all, do_ligs;
+ static int *index = NULL;
++ static int ikk, lig_start_kk, lig_end_kk, lig_rot_cent_kk;
+ static double ref_energy, energy, energy_old, min_energy,
+ glob_min_energy, rad, sum, max_atmov, scale, lmod_step, rms,
+ rms_old, grad_rms;
+@@ -2554,7 +2555,19 @@ lmodC(int *nlmodit, int *nmod, int *kmod, int *rotran, int *natm_ext,
+ xtrans *= trscale / trnorm;
+ ytrans *= trscale / trnorm;
+ ztrans *= trscale / trnorm;
+- trans_ligand(xyz_local, lig_start[kk], lig_end[kk], xtrans,
++ for (ikk = 0; ikk < natm_local; ikk++ ) {
++ if ( atm_indx[ikk] == (lig_start[kk] -1) ) { /* lig_start[] contains external PDB atom numbers */
++ lig_start_kk = ikk;
++ break;
++ }
++ }
++ for (ikk = 0; ikk < natm_local; ikk++ ) {
++ if ( atm_indx[ikk] == (lig_end[kk] -1) ) { /* lig_end[] contains external PDB atom numbers */
++ lig_end_kk = ikk;
++ break;
++ }
++ }
++ trans_ligand(xyz_local, lig_start_kk, lig_end_kk, xtrans,
+ ytrans, ztrans);
+ do {
+ xrot = 2 * rand2() - 1;
+@@ -2568,13 +2581,19 @@ lmodC(int *nlmodit, int *nmod, int *kmod, int *rotran, int *natm_ext,
+ rotang = angmin[kk] + (angmax[kk] - angmin[kk]) * rand2();
+ calc_rot_matrix(DEG2RAD * rotang, xrot, yrot, zrot, rotmat);
+ if (lig_rot_cent[kk]) {
+- xcent = xyz_local[(lig_rot_cent[kk] - 1) * 3 ];
+- ycent = xyz_local[(lig_rot_cent[kk] - 1) * 3 + 1];
+- zcent = xyz_local[(lig_rot_cent[kk] - 1) * 3 + 2];
++ for (ikk = 0; ikk < natm_local; ikk++ ) {
++ if ( atm_indx[ikk] == (lig_rot_cent[kk] -1) ) { /* lig_rot_cent[] contains external PDB atom numbers */
++ lig_rot_cent_kk = ikk;
++ break;
++ }
++ }
++ xcent = xyz_local[ lig_rot_cent_kk * 3 ];
++ ycent = xyz_local[ lig_rot_cent_kk * 3 + 1];
++ zcent = xyz_local[ lig_rot_cent_kk * 3 + 2];
+ } else
+- calc_centroid(xyz_local, lig_start[kk], lig_end[kk],
++ calc_centroid(xyz_local, lig_start_kk, lig_end_kk,
+ &xcent, &ycent, &zcent);
+- rot_ligand(xyz_local, lig_start[kk], lig_end[kk], xcent,
++ rot_ligand(xyz_local, lig_start_kk, lig_end_kk, xcent,
+ ycent, zcent, rotmat);
+ }
+ /* close pair separation operates on xyz_ext[]: */
diff --git a/sci-chemistry/ambertools/files/ambertools-15-update.4.patch b/sci-chemistry/ambertools/files/ambertools-15-update.4.patch
new file mode 100644
index 000000000..4176a583a
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-update.4.patch
@@ -0,0 +1,908 @@
+*******> update.4
+Author: Benjamin D. Madej
+Date: October 19, 2015
+Programs: Leap, Lipid14 force field
+Description: Adds a parameter set for cholesterol to the Lipid14 force field.
+ Please reference:
+ Madej, B. D.; Gould, I.R.; Walker, R. C. A Parameterization of
+ Cholesterol for Mixed Lipid Bilayer Simulation within the Amber
+ Lipid14 Force Field. J. Phys. Chem. B 2015, 119 (38)
+ pp 12424-12435.
+-------------------------------------------------------------------------------
+ dat/leap/lib/lipid14.lib | 480 ++++++++++++++++++++++++++++++++++++++++++++++
+ dat/leap/parm/lipid11.dat | 2 +-
+ dat/leap/parm/lipid14.dat | 291 ++++++++++++++++++----------
+ 3 files changed, 666 insertions(+), 107 deletions(-)
+
+diff --git dat/leap/lib/lipid14.lib dat/leap/lib/lipid14.lib
+index 891937b..75c2f2b 100644
+--- dat/leap/lib/lipid14.lib
++++ dat/leap/lib/lipid14.lib
+@@ -1,10 +1,490 @@
+ !!index array str
++ "CHL"
+ "LA"
+ "MY"
+ "OL"
+ "PA"
+ "PC"
+ "PE"
++!entry.CHL.unit.atoms table str name str type int typex int resx int flags int seq int elmnt dbl chg
++ "C1" "cA" 0 1 131073 1 6 -0.031691
++ "H11" "hA" 0 1 131073 2 1 0.009380
++ "H12" "hA" 0 1 131073 3 1 0.009380
++ "C2" "cA" 0 1 131073 4 6 -0.088130
++ "H21" "hA" 0 1 131073 5 1 0.044625
++ "H22" "hA" 0 1 131073 6 1 0.044625
++ "C3" "cA" 0 1 131073 7 6 0.293553
++ "H31" "hE" 0 1 131073 8 1 0.029611
++ "C4" "cA" 0 1 131073 9 6 -0.162218
++ "H41" "hA" 0 1 131073 10 1 0.090036
++ "H42" "hA" 0 1 131073 11 1 0.090036
++ "C5" "cB" 0 1 131073 12 6 -0.139495
++ "C6" "cB" 0 1 131073 13 6 -0.208190
++ "H61" "hB" 0 1 131073 14 1 0.122828
++ "C7" "cA" 0 1 131073 15 6 -0.069897
++ "H71" "hA" 0 1 131073 16 1 0.047919
++ "H72" "hA" 0 1 131073 17 1 0.047919
++ "C8" "cA" 0 1 131073 18 6 -0.011390
++ "H81" "hA" 0 1 131073 19 1 0.072891
++ "C9" "cA" 0 1 131073 20 6 0.019609
++ "H91" "hA" 0 1 131073 21 1 0.029289
++ "C10" "cA" 0 1 131073 22 6 0.079112
++ "C11" "cA" 0 1 131073 23 6 -0.066365
++ "H111" "hA" 0 1 131073 24 1 0.030085
++ "H112" "hA" 0 1 131073 25 1 0.030085
++ "C12" "cA" 0 1 131073 26 6 -0.064973
++ "H121" "hA" 0 1 131073 27 1 0.010352
++ "H122" "hA" 0 1 131073 28 1 0.010352
++ "C13" "cA" 0 1 131073 29 6 0.057407
++ "C14" "cA" 0 1 131073 30 6 0.005830
++ "H141" "hA" 0 1 131073 31 1 0.031557
++ "C15" "cA" 0 1 131073 32 6 -0.101977
++ "H151" "hA" 0 1 131073 33 1 0.026458
++ "H152" "hA" 0 1 131073 34 1 0.026458
++ "C16" "cA" 0 1 131073 35 6 -0.092064
++ "H161" "hA" 0 1 131073 36 1 0.033335
++ "H162" "hA" 0 1 131073 37 1 0.033335
++ "C17" "cA" 0 1 131073 38 6 0.032398
++ "H171" "hA" 0 1 131073 39 1 0.016590
++ "C18" "cA" 0 1 131073 40 6 -0.115049
++ "H181" "hA" 0 1 131073 41 1 0.024541
++ "H182" "hA" 0 1 131073 42 1 0.024541
++ "H183" "hA" 0 1 131073 43 1 0.024541
++ "C19" "cA" 0 1 131073 44 6 -0.108064
++ "H191" "hA" 0 1 131073 45 1 0.033990
++ "H192" "hA" 0 1 131073 46 1 0.033990
++ "H193" "hA" 0 1 131073 47 1 0.033990
++ "C20" "cD" 0 1 131075 48 6 0.044268
++ "H201" "hL" 0 1 131075 49 1 0.020951
++ "C21" "cD" 0 1 131075 50 6 -0.154621
++ "H211" "hL" 0 1 131075 51 1 0.036274
++ "H212" "hL" 0 1 131075 52 1 0.036274
++ "H213" "hL" 0 1 131075 53 1 0.036274
++ "C22" "cD" 0 1 131075 54 6 -0.039033
++ "H221" "hL" 0 1 131075 55 1 0.008359
++ "H222" "hL" 0 1 131075 56 1 0.008359
++ "C23" "cD" 0 1 131075 57 6 -0.028460
++ "H231" "hL" 0 1 131075 58 1 0.015742
++ "H232" "hL" 0 1 131075 59 1 0.015742
++ "C24" "cD" 0 1 131075 60 6 -0.125596
++ "H241" "hL" 0 1 131075 61 1 0.040110
++ "H242" "hL" 0 1 131075 62 1 0.040110
++ "C25" "cD" 0 1 131075 63 6 0.212446
++ "H251" "hL" 0 1 131075 64 1 -0.002466
++ "C26" "cD" 0 1 131075 65 6 -0.257776
++ "H261" "hL" 0 1 131075 66 1 0.057982
++ "H262" "hL" 0 1 131075 67 1 0.057982
++ "H263" "hL" 0 1 131075 68 1 0.057982
++ "C27" "cD" 0 1 131075 69 6 -0.257776
++ "H271" "hL" 0 1 131075 70 1 0.057982
++ "H272" "hL" 0 1 131075 71 1 0.057982
++ "H273" "hL" 0 1 131075 72 1 0.057982
++ "O1" "oH" 0 1 131073 73 8 -0.703022
++ "HO1" "hO" 0 1 131073 74 1 0.414804
++!entry.CHL.unit.atomspertinfo table str pname str ptype int ptypex int pelmnt dbl pchg
++ "C1" "cA" 0 -1 0.0
++ "H11" "hA" 0 -1 0.0
++ "H12" "hA" 0 -1 0.0
++ "C2" "cA" 0 -1 0.0
++ "H21" "hA" 0 -1 0.0
++ "H22" "hA" 0 -1 0.0
++ "C3" "cA" 0 -1 0.0
++ "H31" "hE" 0 -1 0.0
++ "C4" "cA" 0 -1 0.0
++ "H41" "hA" 0 -1 0.0
++ "H42" "hA" 0 -1 0.0
++ "C5" "cB" 0 -1 0.0
++ "C6" "cB" 0 -1 0.0
++ "H61" "hB" 0 -1 0.0
++ "C7" "cA" 0 -1 0.0
++ "H71" "hA" 0 -1 0.0
++ "H72" "hA" 0 -1 0.0
++ "C8" "cA" 0 -1 0.0
++ "H81" "hA" 0 -1 0.0
++ "C9" "cA" 0 -1 0.0
++ "H91" "hA" 0 -1 0.0
++ "C10" "cA" 0 -1 0.0
++ "C11" "cA" 0 -1 0.0
++ "H111" "hA" 0 -1 0.0
++ "H112" "hA" 0 -1 0.0
++ "C12" "cA" 0 -1 0.0
++ "H121" "hA" 0 -1 0.0
++ "H122" "hA" 0 -1 0.0
++ "C13" "cA" 0 -1 0.0
++ "C14" "cA" 0 -1 0.0
++ "H141" "hA" 0 -1 0.0
++ "C15" "cA" 0 -1 0.0
++ "H151" "hA" 0 -1 0.0
++ "H152" "hA" 0 -1 0.0
++ "C16" "cA" 0 -1 0.0
++ "H161" "hA" 0 -1 0.0
++ "H162" "hA" 0 -1 0.0
++ "C17" "cA" 0 -1 0.0
++ "H171" "hA" 0 -1 0.0
++ "C18" "cA" 0 -1 0.0
++ "H181" "hA" 0 -1 0.0
++ "H182" "hA" 0 -1 0.0
++ "H183" "hA" 0 -1 0.0
++ "C19" "cA" 0 -1 0.0
++ "H191" "hA" 0 -1 0.0
++ "H192" "hA" 0 -1 0.0
++ "H193" "hA" 0 -1 0.0
++ "C20" "cA" 0 -1 0.0
++ "H201" "hA" 0 -1 0.0
++ "C21" "cA" 0 -1 0.0
++ "H211" "hA" 0 -1 0.0
++ "H212" "hA" 0 -1 0.0
++ "H213" "hA" 0 -1 0.0
++ "C22" "cA" 0 -1 0.0
++ "H221" "hA" 0 -1 0.0
++ "H222" "hA" 0 -1 0.0
++ "C23" "cA" 0 -1 0.0
++ "H231" "hA" 0 -1 0.0
++ "H232" "hA" 0 -1 0.0
++ "C24" "cA" 0 -1 0.0
++ "H241" "hA" 0 -1 0.0
++ "H242" "hA" 0 -1 0.0
++ "C25" "cA" 0 -1 0.0
++ "H251" "hA" 0 -1 0.0
++ "C26" "cA" 0 -1 0.0
++ "H261" "hA" 0 -1 0.0
++ "H262" "hA" 0 -1 0.0
++ "H263" "hA" 0 -1 0.0
++ "C27" "cA" 0 -1 0.0
++ "H271" "hA" 0 -1 0.0
++ "H272" "hA" 0 -1 0.0
++ "H273" "hA" 0 -1 0.0
++ "O1" "oH" 0 -1 0.0
++ "HO1" "hO" 0 -1 0.0
++!entry.CHL.unit.boundbox array dbl
++ -1.000000
++ 0.0
++ 0.0
++ 0.0
++ 0.0
++!entry.CHL.unit.childsequence single int
++ 2
++!entry.CHL.unit.connect array int
++ 0
++ 0
++!entry.CHL.unit.connectivity table int atom1x int atom2x int flags
++ 1 2 1
++ 1 3 1
++ 1 4 1
++ 1 22 1
++ 4 5 1
++ 4 6 1
++ 4 7 1
++ 7 8 1
++ 7 9 1
++ 7 73 1
++ 9 10 1
++ 9 11 1
++ 9 12 1
++ 12 13 2
++ 12 22 1
++ 13 14 1
++ 13 15 1
++ 15 16 1
++ 15 17 1
++ 15 18 1
++ 18 19 1
++ 18 20 1
++ 18 30 1
++ 20 21 1
++ 20 22 1
++ 20 23 1
++ 22 44 1
++ 23 24 1
++ 23 25 1
++ 23 26 1
++ 26 27 1
++ 26 28 1
++ 26 29 1
++ 29 30 1
++ 29 38 1
++ 29 40 1
++ 30 31 1
++ 30 32 1
++ 32 33 1
++ 32 34 1
++ 32 35 1
++ 35 36 1
++ 35 37 1
++ 35 38 1
++ 38 39 1
++ 38 48 1
++ 40 41 1
++ 40 42 1
++ 40 43 1
++ 44 45 1
++ 44 46 1
++ 44 47 1
++ 48 49 1
++ 48 50 1
++ 48 54 1
++ 50 51 1
++ 50 52 1
++ 50 53 1
++ 54 55 1
++ 54 56 1
++ 54 57 1
++ 57 58 1
++ 57 59 1
++ 57 60 1
++ 60 61 1
++ 60 62 1
++ 60 63 1
++ 63 64 1
++ 63 65 1
++ 63 69 1
++ 65 66 1
++ 65 67 1
++ 65 68 1
++ 69 70 1
++ 69 71 1
++ 69 72 1
++ 73 74 1
++!entry.CHL.unit.hierarchy table str abovetype int abovex str belowtype int belowx
++ "U" 0 "R" 1
++ "R" 1 "A" 1
++ "R" 1 "A" 2
++ "R" 1 "A" 3
++ "R" 1 "A" 4
++ "R" 1 "A" 5
++ "R" 1 "A" 6
++ "R" 1 "A" 7
++ "R" 1 "A" 8
++ "R" 1 "A" 9
++ "R" 1 "A" 10
++ "R" 1 "A" 11
++ "R" 1 "A" 12
++ "R" 1 "A" 13
++ "R" 1 "A" 14
++ "R" 1 "A" 15
++ "R" 1 "A" 16
++ "R" 1 "A" 17
++ "R" 1 "A" 18
++ "R" 1 "A" 19
++ "R" 1 "A" 20
++ "R" 1 "A" 21
++ "R" 1 "A" 22
++ "R" 1 "A" 23
++ "R" 1 "A" 24
++ "R" 1 "A" 25
++ "R" 1 "A" 26
++ "R" 1 "A" 27
++ "R" 1 "A" 28
++ "R" 1 "A" 29
++ "R" 1 "A" 30
++ "R" 1 "A" 31
++ "R" 1 "A" 32
++ "R" 1 "A" 33
++ "R" 1 "A" 34
++ "R" 1 "A" 35
++ "R" 1 "A" 36
++ "R" 1 "A" 37
++ "R" 1 "A" 38
++ "R" 1 "A" 39
++ "R" 1 "A" 40
++ "R" 1 "A" 41
++ "R" 1 "A" 42
++ "R" 1 "A" 43
++ "R" 1 "A" 44
++ "R" 1 "A" 45
++ "R" 1 "A" 46
++ "R" 1 "A" 47
++ "R" 1 "A" 48
++ "R" 1 "A" 49
++ "R" 1 "A" 50
++ "R" 1 "A" 51
++ "R" 1 "A" 52
++ "R" 1 "A" 53
++ "R" 1 "A" 54
++ "R" 1 "A" 55
++ "R" 1 "A" 56
++ "R" 1 "A" 57
++ "R" 1 "A" 58
++ "R" 1 "A" 59
++ "R" 1 "A" 60
++ "R" 1 "A" 61
++ "R" 1 "A" 62
++ "R" 1 "A" 63
++ "R" 1 "A" 64
++ "R" 1 "A" 65
++ "R" 1 "A" 66
++ "R" 1 "A" 67
++ "R" 1 "A" 68
++ "R" 1 "A" 69
++ "R" 1 "A" 70
++ "R" 1 "A" 71
++ "R" 1 "A" 72
++ "R" 1 "A" 73
++ "R" 1 "A" 74
++!entry.CHL.unit.name single str
++ "CHL"
++!entry.CHL.unit.positions table dbl x dbl y dbl z
++ 4.697000 -1.469000 -0.739000
++ 4.428000 -1.214000 -1.762000
++ 4.303000 -2.462000 -0.556000
++ 6.224000 -1.517000 -0.642000
++ 6.547000 -1.874000 0.331000
++ 6.617000 -2.214000 -1.376000
++ 6.830000 -0.145000 -0.877000
++ 6.590000 0.176000 -1.891000
++ 6.246000 0.863000 0.111000
++ 6.601000 0.589000 1.102000
++ 6.636000 1.856000 -0.095000
++ 4.731000 0.895000 0.070000
++ 4.091000 2.041000 -0.088000
++ 4.668000 2.946000 -0.204000
++ 2.599000 2.206000 -0.119000
++ 2.323000 3.070000 0.480000
++ 2.290000 2.443000 -1.137000
++ 1.853000 0.964000 0.375000
++ 1.922000 0.946000 1.460000
++ 2.514000 -0.306000 -0.204000
++ 2.518000 -0.165000 -1.285000
++ 4.012000 -0.452000 0.214000
++ 1.671000 -1.566000 0.076000
++ 2.085000 -2.410000 -0.467000
++ 1.730000 -1.829000 1.125000
++ 0.190000 -1.429000 -0.312000
++ 0.108000 -1.322000 -1.392000
++ -0.312000 -2.355000 -0.056000
++ -0.469000 -0.212000 0.358000
++ 0.381000 1.015000 -0.041000
++ 0.381000 1.020000 -1.132000
++ -0.462000 2.215000 0.391000
++ -0.304000 2.443000 1.442000
++ -0.217000 3.115000 -0.163000
++ -1.913000 1.751000 0.131000
++ -2.537000 1.930000 1.001000
++ -2.357000 2.309000 -0.684000
++ -1.859000 0.228000 -0.203000
++ -1.794000 0.127000 -1.286000
++ -0.546000 -0.407000 1.886000
++ -1.062000 0.412000 2.374000
++ 0.431000 -0.485000 2.344000
++ -1.086000 -1.316000 2.130000
++ 4.156000 -0.937000 1.675000
++ 3.579000 -0.319000 2.354000
++ 5.185000 -0.898000 2.008000
++ 3.826000 -1.963000 1.788000
++ -3.141000 -0.519000 0.237000
++ -3.267000 -0.372000 1.309000
++ -3.080000 -2.029000 -0.029000
++ -2.330000 -2.520000 0.577000
++ -2.851000 -2.232000 -1.072000
++ -4.025000 -2.508000 0.198000
++ -4.375000 0.093000 -0.461000
++ -4.324000 1.175000 -0.403000
++ -4.337000 -0.153000 -1.522000
++ -5.732000 -0.335000 0.111000
++ -5.862000 -1.406000 0.010000
++ -5.752000 -0.121000 1.179000
++ -6.898000 0.389000 -0.569000
++ -6.718000 1.461000 -0.516000
++ -6.910000 0.137000 -1.629000
++ -8.286000 0.104000 0.028000
++ -8.244000 0.333000 1.092000
++ -8.705000 -1.362000 -0.122000
++ -8.034000 -2.035000 0.400000
++ -8.723000 -1.655000 -1.169000
++ -9.702000 -1.521000 0.280000
++ -9.336000 1.023000 -0.605000
++ -9.079000 2.069000 -0.470000
++ -10.316000 0.862000 -0.166000
++ -9.420000 0.839000 -1.674000
++ 8.224000 -0.262000 -0.734000
++ 8.633000 0.570000 -0.924000
++!entry.CHL.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
++ 0 0 0 0 0 0
++!entry.CHL.unit.residues table str name int seq int childseq int startatomx str restype int imagingx
++ "CHL" 1 75 1 "?" 0
++!entry.CHL.unit.residuesPdbSequenceNumber array int
++ 0
++!entry.CHL.unit.solventcap array dbl
++ -1.000000
++ 0.0
++ 0.0
++ 0.0
++ 0.0
++!entry.CHL.unit.velocities table dbl x dbl y dbl z
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
++ 0.0 0.0 0.0
+ !entry.LA.unit.atoms table str name str type int typex int resx int flags int seq int elmnt dbl chg
+ "H12T" "hL" 0 1 131073 1 1 0.025809
+ "C112" "cD" 0 1 131073 2 6 -0.118534
+diff --git dat/leap/parm/lipid11.dat dat/leap/parm/lipid11.dat
+index 0f8d83e..9c25f35 100644
+--- dat/leap/parm/lipid11.dat
++++ dat/leap/parm/lipid11.dat
+@@ -1,4 +1,4 @@
+-AMBER Lipid 2011 Force Field (v1.0), A.Skjevik, B. Madej, K.Teigen & R.C.Walker
++** Warning: Lipid11 is deprecated. Please refer to Amber Lipid14 for more information ** AMBER Lipid 2011 Force Field (v1.0), A.Skjevik, B. Madej, K.Teigen & R.C.Walker
+ cC 12.01 carbonyl sp2 carbon (GAFF c -)
+ cB 12.01 aliphatic sp2 carbon (GAFF c2-)
+ cA 12.01 sp3 carbon (GAFF c3-)
+diff --git dat/leap/parm/lipid14.dat dat/leap/parm/lipid14.dat
+index 46da737..f102976 100644
+--- dat/leap/parm/lipid14.dat
++++ dat/leap/parm/lipid14.dat
+@@ -3,59 +3,81 @@ cA 12.01 sp3 carbon (GAFF c3-head,glycerol)
+ cB 12.01 aliphatic sp2 carbon (GAFF c2-tail)
+ cC 12.01 carbonyl sp2 carbon (GAFF c -head,glycerol)
+ cD 12.010 sp3 carbon (GAFFlipid a3-tail)
++hA 1.008 H bonded to aliphatic carbon without electrwd. group (GAFF hc-)
++hB 1.008 H bonded to aromatic carbon (GAFF ha-)
++hE 1.008 H bonded to aliphatic carbon with 1 electrwd. group (GAFF h1-)
++hL 1.008 H bonded to aliphatic carbon without electrwd. group (GAFFlipid hl-)
++hN 1.008 H bonded to nitrogen (GAFF hn-)
++hO 1.008 H in Hydroxyl group (GAFF ho-)
++hX 1.008 H bonded to C next to positively charged group (GAFF hx-)
++nA 14.01 sp3 N with four connected atoms (GAFF n4-)
+ oC 16.00 sp2 oxygen with one connected atom (e.g C=O, COO-) (GAFF o -)
+-oS 16.00 sp3 oxygen in ethers and esters (GAFF os-)
++oH 16.00 sp3 oxygen in hydroxyl group (GAFF oh-)
+ oP 16.00 sp2 oxygen with one connected atom (e.g P-O) in phosphate group (GAFF o -)
++oS 16.00 sp3 oxygen in ethers and esters (GAFF os-)
+ oT 16.00 sp3 oxygen bonded to carbon in phosphate group (GAFF os-)
+-nA 14.01 sp3 N with four connected atoms (GAFF n4-)
+ pA 30.97 phosphorus with four connected atoms, such as O=P(OH)3 (GAFF p5-)
+-hE 1.008 H bonded to aliphatic carbon with 1 electrwd. group (GAFF h1-)
+-hX 1.008 H bonded to C next to positively charged group (GAFF hx-)
+-hB 1.008 H bonded to aromatic carbon (GAFF ha-)
+-hN 1.008 H bonded to nitrogen (GAFF hn-)
+-hL 1.008 H bonded to aliphatic carbon without electrwd. group (GAFFlipid hl-)
+
+ cA cB cC cD oC oS oP oT nA pA hE hX hB hN hL
+ cA-cA 303.1 1.5350 Lipid11 v1.0 (GAFF c3-c3)
++cA-cB 328.3 1.5080 Lipid11 v1.0 (GAFF c3-c2)
++cA-cD 303.1 1.5350 Lipid14 v2.14(GAFF c3-c3)
++cA-hA 337.3 1.0920 Lipid11 v1.0 (GAFF c3-hc)
+ cA-hE 335.9 1.0930 Lipid11 v1.0 (GAFF c3-h1)
+ cA-hX 338.7 1.0910 Lipid11 v1.0 (GAFF c3-hx)
+ cA-nA 293.6 1.4990 Lipid11 v1.0 (GAFF c3-n4)
++cA-oH 314.1 1.4260 Lipid11 v1.0 (GAFF c3-oh)
+ cA-oS 301.5 1.4390 Lipid11 v1.0 (GAFF c3-os)
+ cA-oT 301.5 1.4390 Lipid11 v1.0 (GAFF c3-os)
+ cB-cB 589.7 1.3240 Lipid11 v1.0 (GAFF c2-c2)
++cB-cD 328.3 1.5080 Lipid14 v2.0 (GAFF c2-c3)
+ cB-hB 344.3 1.0870 Lipid11 v1.0 (GAFF c2-ha)
++cC-cD 328.3 1.5080 Lipid14 v2.0 (GAFF c -c3)
+ cC-oC 648.0 1.2140 Lipid11 v1.0 (GAFF c -o )
+ cC-oS 411.3 1.3430 Lipid11 v1.0 (GAFF c -os)
+-cD-cB 328.3 1.5080 Lipid14 v2.0 (GAFF c3-c2)
+-cD-cC 328.3 1.5080 Lipid14 v2.0 (GAFF c3-c )
+ cD-cD 303.1 1.5350 Lipid14 v2.0 (GAFF c3-c3)
+ cD-hL 337.3 1.0920 Lipid14 v2.0 (GAFF c3-hc)
+ hN-nA 369.0 1.0330 Lipid11 v1.0 (GAFF hn-n4)
++hO-oH 369.6 0.9740 Lipid11 v1.0 (GAFF ho-oh)
+ oP-pA 487.7 1.4810 Lipid11 v1.0 (GAFF o -p5)
+ oT-pA 342.5 1.6020 Lipid11 v1.0 (GAFF os-p5)
+
+ cA-cA-cA 63.210 110.630 Lipid11 v1.0 (GAFF c3-c3-c3)
++cA-cA-cB 63.530 111.440 Lipid11 v1.0 (GAFF c3-c3-c2)
++cA-cA-cD 63.210 110.630 Lipid14 v2.14(GAFF c3-c3-c3)
++cA-cA-hA 46.370 110.050 Lipid11 v1.0 (GAFF c3-c3-hc)
+ cA-cA-hE 46.360 110.070 Lipid11 v1.0 (GAFF c3-c3-h1)
+ cA-cA-hX 46.020 111.740 Lipid11 v1.0 (GAFF c3-c3-hx)
+ cA-cA-nA 64.450 114.320 Lipid11 v1.0 (GAFF c3-c3-n4)
++cA-cA-oH 67.720 109.430 Lipid11 v1.0 (GAFF c3-c3-oh)
+ cA-cA-oS 67.780 108.420 Lipid11 v1.0 (GAFF c3-c3-os)
+ cA-cA-oT 67.780 108.420 Lipid11 v1.0 (GAFF c3-c3-os)
++cA-cB-cA 62.700 116.520 Lipid11 v1.0 (GAFF c3-c2-c3)
++cA-cB-cB 64.330 123.420 Lipid11 v1.0 (GAFF c3-c2-c2)
++cA-cB-hB 45.660 117.300 Lipid11 v1.0 (GAFF c3-c2-ha)
++cA-cD-cD 63.210 110.630 Lipid14 v2.14(GAFF c3-c3-c3)
++cA-cD-hL 46.370 110.050 Lipid14 v2.14(GAFF c3-c3-hc)
+ cA-nA-cA 62.840 110.640 Lipid11 v1.0 (GAFF c3-n4-c3)
+ cA-nA-hN 46.190 110.110 Lipid11 v1.0 (GAFF c3-n4-hn)
++cA-oH-hO 47.090 108.160 Lipid11 v1.0 (GAFF c3-oh-ho)
+ cA-oS-cC 63.630 115.140 Lipid11 v1.0 (GAFF c3-os-c )
+ cA-oT-pA 78.480 118.000 Lipid11 v1.0 (GAFF c3-os-p5)
++cB-cA-hA 47.030 110.490 Lipid11 v1.0 (GAFF c2-c3-hc)
++cB-cB-cD 64.330 123.420 Lipid14 v2.0 (GAFF c2-c2-c3)
+ cB-cB-hB 50.040 120.940 Lipid11 v1.0 (GAFF c2-c2-ha)
++cB-cD-cD 63.530 111.440 Lipid14 v2.0 (GAFF c2-c3-c3)
+ cB-cD-hL 47.030 110.490 Lipid14 v2.0 (GAFF c2-c3-hc)
++cC-cD-cD 63.790 110.530 Lipid14 v2.0 (GAFF c -c3-c3)
+ cC-cD-hL 47.200 109.680 Lipid14 v2.0 (GAFF c -c3-hc)
+-cD-cB-cB 64.330 123.420 Lipid14 v2.0 (GAFF c3-c2-c2)
++cD-cA-hA 46.370 110.050 Lipid14 v2.14(GAFF c3-c3-hc)
+ cD-cB-hB 45.660 117.300 Lipid14 v2.0 (GAFF c3-c2-ha)
+ cD-cC-oC 68.030 123.110 Lipid14 v2.0 (GAFF c3-c -o )
+ cD-cC-oS 69.260 111.960 Lipid14 v2.0 (GAFF c3-c -os)
+-cD-cD-cB 63.530 111.440 Lipid14 v2.0 (GAFF c3-c3-c2)
+-cD-cD-cC 63.790 110.530 Lipid14 v2.0 (GAFF c3-c3-c )
+ cD-cD-cD 63.210 110.630 Lipid14 v2.0 (GAFF c3-c3-c3)
+ cD-cD-hL 46.370 110.050 Lipid14 v2.0 (GAFF c3-c3-hc)
++hA-cA-hA 39.430 108.350 Lipid11 v1.0 (GAFF hc-c3-hc)
+ hE-cA-hE 39.180 109.550 Lipid11 v1.0 (GAFF h1-c3-h1)
++hE-cA-oH 50.970 109.880 Lipid11 v1.0 (GAFF ha-c3-oh)
+ hE-cA-oS 50.840 108.820 Lipid11 v1.0 (GAFF h1-c3-os)
+ hE-cA-oT 50.840 108.820 Lipid11 v1.0 (GAFF h1-c3-os)
+ hL-cD-hL 39.430 108.350 Lipid14 v2.0 (GAFF hc-c3-hc)
+@@ -67,86 +89,133 @@ oP-pA-oP 46.010 115.800 Lipid11 v1.0 (GAFF o -p5-o )
+ oP-pA-oT 44.010 116.090 Lipid11 v1.0 (GAFF o -p5-os)
+ oT-pA-oT 45.370 101.770 Lipid11 v1.0 (GAFF os-p5-os)
+
+-cA-cA-cA-hE 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-cA-cA-cA-oS 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-cA-cA-cA-oT 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-cA-cA-nA-cA 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
+-cA-cA-nA-hN 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
+-cA-cA-oT-pA 1 0.3833 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-os-X )
+-cA-nA-cA-hX 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
+-cA-oS-cC-oS 1 2.700 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c -os-X )
+-cA-oT-pA-oP 1 0.800 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -os-p5-X )
+-cA-oT-pA-oP 1 0.800 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -os-p5-X )
+-cA-oT-pA-oT 1 0.25 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-p5-os)
+-cA-oT-pA-oT 1 1.20 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-p5-os)
+-cB-cB-cD-cD 1 0.3464 0.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cB-cD-cD 1 -0.5577 0.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cB-cD-cD 1 -0.2920 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cB-cD-cD 1 -0.0943 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cB-cD-cD 1 0.0226 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cD-cD-cD 1 0.0251 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cD-cD-cD 1 0.0054 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cD-cD-cD 1 0.2007 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cD-cD-cD 1 0.2103 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cD-cD-cD 1 0.0811 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cB-cD-cD-hL 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c3-X )
+-cC-cD-cD-hL 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c3-X )
+-cC-oS-cA-cA 1 0.383 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-os-c )
+-cC-oS-cA-cA 1 0.80 180.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-os-c )
+-cC-oS-cA-hE 1 0.3833 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-os-X )
+-cD-cB-cB-cD 1 0.3073 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cB-cB-cD 1 4.0051 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cB-cB-cD 1 0.1990 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cB-cB-cD 1 0.3242 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cB-cB-cD 1 -0.0415 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cB-cB-hB 1 6.650 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c2-c2-X )
+-cD-cC-oS-cA 1 2.700 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c -os-X )
+-cD-cD-cC-oC 1 -0.9110 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oC 1 0.7382 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oC 1 0.3290 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oC 1 -0.5864 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oC 1 0.1333 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oS 1 -0.1226 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oS 1 -0.2054 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oS 1 0.1802 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oS 1 0.5107 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cC-oS 1 0.1355 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cD-cC 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF )
+-cD-cD-cD-cD 1 0.3112 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cD-cD 1 -0.1233 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cD-cD 1 0.1149 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cD-cD 1 -0.2199 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cD-cD 1 0.2170 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
+-cD-cD-cD-hL 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF c3-c3-c3-hc)
+-hB-cB-cB-hB 1 6.650 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c2-c2-X )
+-hE-cA-cA-hE 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-hE-cA-cA-nA 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-hE-cA-cA-hX 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-hE-cA-cA-oS 1 0.00 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
+-hE-cA-cA-oS 1 0.25 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
+-hE-cA-cA-oT 1 0.00 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
+-hE-cA-cA-oT 1 0.25 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
+-hE-cA-oT-pA 1 0.3833 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-os-X )
+-hB-cB-cD-cD 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c2-X )
+-hB-cB-cD-hL 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c2-X )
+-hL-cD-cB-cB 1 0.38 180.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c2-c2)
+-hL-cD-cB-cB 1 1.15 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c2-c2)
+-hL-cD-cC-oC 1 0.80 0.0 -1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c -o )
+-hL-cD-cC-oC 1 0.08 180.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c -o )
+-hL-cD-cC-oS 1 0.000 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c -c3-X )
+-hL-cD-cD-hL 1 0.15 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c3-hc)
+-hN-nA-cA-hX 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
+-hX-cA-cA-oT 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-nA-cA-cA-oT 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
+-cA-oS-cC-oC 1 2.70 180.0 -2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-c -o )
+-cA-oS-cC-oC 1 1.40 180.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-c -o )
+-oS-cA-cA-oS 1 0.144 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
+-oS-cA-cA-oS 1 1.175 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
+-oT-cA-cA-oS 1 0.144 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
+-oT-cA-cA-oS 1 1.175 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
+-
++cA-cA-cA-cA 1 0.18 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-c3-c3)
++cA-cA-cA-cA 1 0.25 180.0 -2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-c3-c3)
++cA-cA-cA-cA 1 0.20 180.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-c3-c3)
++cA-cA-cA-cB 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cA-cA-cA-cD 1 0.3112 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cA-cD 1 -0.1233 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cA-cD 1 0.1149 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cA-cD 1 -0.2199 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cA-cD 1 0.2170 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cA-hA 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-c3-hc)
++cA-cA-cA-hE 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cA-cA-cA-oH 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cA-cA-cA-oS 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cA-cA-cA-oT 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cA-cA-cB-cA 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c2-X )
++cA-cA-cB-cB 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c2-X )
++cA-cA-cB-hB 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c2-X )
++cA-cA-cD-cD 1 0.3112 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cD-cD 1 -0.1233 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cD-cD 1 0.1149 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cD-cD 1 -0.2199 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cD-cD 1 0.2170 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cA-cD-hL 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(GAFF c3-c3-c3-hc)
++cA-cA-nA-cA 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
++cA-cA-nA-hN 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
++cA-cA-oH-hO 1 0.16 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-oh-ho)
++cA-cA-oH-hO 1 0.25 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-oh-ho)
++cA-cA-oS-cC 1 0.383 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-os-c )
++cA-cA-oS-cC 1 0.80 180.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c3-os-c )
++cA-cA-oT-pA 1 0.3833 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-os-X )
++cA-cB-cA-hA 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c2-X )
++cA-cB-cB-cA 1 6.65 180.0 -2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c2-c2-c3)
++cA-cB-cB-cA 1 1.90 180.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-c2-c2-c3)
++cA-cB-cB-hB 1 6.650 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c2-c2-X )
++cA-cD-cD-cD 1 0.3112 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cD-cD-cD 1 -0.1233 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cD-cD-cD 1 0.1149 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cD-cD-cD 1 -0.2199 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cD-cD-cD 1 0.2170 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(Lipid14 cD-cD-cD-cD)
++cA-cD-cD-hL 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(GAFF c3-c3-c3-hc)
++cA-nA-cA-hX 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
++cA-oS-cC-cD 1 2.700 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -os-c -X )
++cA-oS-cC-oC 1 2.70 180.0 -2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-c -o )
++cA-oS-cC-oC 1 1.40 180.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-c -o )
++cA-oS-cC-oS 1 2.700 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c -os-X )
++cA-oT-pA-oP 1 0.800 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -os-p5-X )
++cA-oT-pA-oT 1 0.25 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-p5-os)
++cA-oT-pA-oT 1 1.20 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF c3-os-p5-os)
++cB-cA-cA-hA 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cB-cA-cA-hE 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cB-cA-cA-oH 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cB-cB-cA-hA 1 0.38 180.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF hc-c3-c2-c2)
++cB-cB-cA-hA 1 1.15 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF hc-c3-c2-c2)
++cB-cB-cD-cD 1 0.3464 0.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cB-cD-cD 1 -0.5577 0.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cB-cD-cD 1 -0.2920 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cB-cD-cD 1 -0.0943 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cB-cD-cD 1 0.0226 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cB-cD-hL 1 0.38 180.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF c2-c2-c3-hc)
++cB-cB-cD-hL 1 1.15 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF c2-c2-c3-hc)
++cB-cD-cD-cD 1 0.0251 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cD-cD-cD 1 0.0054 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cD-cD-cD 1 0.2007 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cD-cD-cD 1 0.2103 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cD-cD-cD 1 0.0811 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cB-cD-cD-hL 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c3-X )
++cC-cD-cD-cD 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++cC-cD-cD-hL 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c3-X )
++cC-oS-cA-hE 1 0.3833 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-os-X )
++cD-cA-cA-hA 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(GAFF c3-c3-c3-hc)
++cD-cB-cB-cD 1 0.3073 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cB-cB-cD 1 4.0051 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cB-cB-cD 1 0.1990 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cB-cB-cD 1 0.3242 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cB-cB-cD 1 -0.0415 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cB-cB-hB 1 6.650 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c2-c2-X )
++cD-cD-cA-hA 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(GAFF c3-c3-c3-hc)
++cD-cD-cB-hB 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c2-X )
++cD-cD-cC-oC 1 -0.9110 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oC 1 0.7382 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oC 1 0.3290 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oC 1 -0.5864 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oC 1 0.1333 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oS 1 -0.1226 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oS 1 -0.2054 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oS 1 0.1802 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oS 1 0.5107 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cC-oS 1 0.1355 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cD-cD 1 0.3112 180.000 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cD-cD 1 -0.1233 180.000 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cD-cD 1 0.1149 0.000 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cD-cD 1 -0.2199 0.000 4.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cD-cD 1 0.2170 0.000 5.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.10 (paramfit)
++cD-cD-cD-hL 1 0.16 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF c3-c3-c3-hc)
++hA-cA-cA-hA 1 0.15 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF hc-c3-c3-hc)
++hA-cA-cA-hE 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++hA-cA-cA-oH 1 0.00 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF hc-c3-c3-oh)
++hA-cA-cA-oH 1 0.25 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF hc-c3-c3-oh)
++hA-cA-cB-hB 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c2-X )
++hA-cA-cD-hL 1 0.15 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.14(GAFF hc-c3-c3-hc)
++hB-cB-cB-hB 1 6.650 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c2-c2-X )
++hB-cB-cD-hL 1 0.000 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c3-c2-X )
++hE-cA-cA-hE 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++hE-cA-cA-hX 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++hE-cA-cA-nA 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++hE-cA-cA-oS 1 0.00 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
++hE-cA-cA-oS 1 0.25 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
++hE-cA-cA-oT 1 0.00 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
++hE-cA-cA-oT 1 0.25 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF h1-c3-c3-os)
++hE-cA-oH-hO 1 0.500 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-oh-X )
++hE-cA-oT-pA 1 0.3833 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-os-X )
++hL-cD-cC-oC 1 0.08 180.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c -o )
++hL-cD-cC-oC 1 0.80 0.0 1.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c -o )
++hL-cD-cC-oS 1 0.000 180.0 2.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF X -c -c3-X )
++hL-cD-cD-hL 1 0.15 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid14 v2.0 (GAFF hc-c3-c3-hc)
++hN-nA-cA-hX 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-n4-X )
++hX-cA-cA-oT 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++nA-cA-cA-oT 1 0.1556 0.0 3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF X -c3-c3-X )
++oS-cA-cA-oS 1 0.144 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
++oS-cA-cA-oS 1 1.175 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
++oS-cA-cA-oT 1 0.144 0.0 -3.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
++oS-cA-cA-oT 1 1.175 0.0 2.000 SCEE=1.2 SCNB=2.0 Lipid11 v1.0 (GAFF os-c3-c3-os)
++
++cA-cB-cB-cA 1.1 180. 2.0 Lipid14 CHL (GAFF)
++cB-cA-cB-hB 1.1 180. 2.0 Lipid14 CHL (GAFF)
++cB-cD-cB-hB 1.1 180.0 2.0 Lipid14 v2.0 aliphatic improper (GAFF c2-c3-c2-ha)
+ cD-oC-cC-oS 10.5 180.0 2.0 Lipid14 v2.0 ester improper (GAFF X -X -c -o )
+-cB-cD-cB-hB 1.1 180.0 2.0 Lipid14 v2.0 aliphatic improper (GAFF c2-c3-c2-ha - default)
+
+ hw ow 0000. 0000. 4. flag for fast water - Hack for no 10-12 terms
+
+@@ -156,17 +225,20 @@ MOD4 RE
+ cB 1.9080 0.0860 Lipid14 v2.10
+ cC 1.9080 0.0700 Lipid14 v2.10
+ cD 1.9080 0.1094 OPLS
++ hA 1.4870 0.0157 OPLS
++ hB 1.2500 0.0070 Lipid14 v2.10
++ hE 1.3870 0.0157 Veenstra et al JCC,8,(1992),963
++ hL 1.4600 0.0100 Lipid14 v2.10
++ hN 0.6000 0.0157 !Ferguson base pair geom.
++ hO 0.0000 0.0000 OPLS Jorgensen, JACS,110,(1988),1657 (RCW Needs fixing give radii)
++ hX 1.1000 0.0157 Veenstra et al JCC,8,(1992),963
++ nA 1.8240 0.1700 OPLS
+ oC 1.6500 0.1400 Lipid14 v2.10
++ oH 1.7210 0.2104 OPLS
++ oP 1.6500 0.1400 Lipid14 v2.10
+ oS 1.6500 0.1200 Lipid14 v2.10
+ oT 1.6500 0.1200 Lipid14 v2.10
+- oP 1.6500 0.1400 Lipid14 v2.10
+- nA 1.8240 0.1700 OPLS
+ pA 2.1000 0.2000 JCC,7,(1986),230;
+- hE 1.3870 0.0157 Veenstra et al JCC,8,(1992),963
+- hX 1.1000 0.0157 Veenstra et al JCC,8,(1992),963
+- hB 1.2500 0.0070 Lipid14 v2.10
+- hN 0.6000 0.0157 !Ferguson base pair geom.
+- hL 1.4600 0.0100 Lipid14 v2.10
+
+ END
+
+@@ -175,7 +247,7 @@ END
+
+ *** AMBER Lipid14 Force Field, C. Dickson, B. Madej, A.Skjevik, K. Teigen, I.R. Gould, R.C. Walker ***
+
+-Citation is - Released version 2.10:
++Citation is:
+
+ Dickson, C.J., Madej, B.D., Skjevik, A.A., Betz, R.M., Teigen, K., Gould, I.R., Walker, R.C., "Lipid14: The Amber Lipid Force Field", J. Chem. Theory Comput., 2014, in press, DOI: 10.1021/ct4010307
+
+@@ -241,24 +313,31 @@ Version 2.11 (February 2014)
+ Version 2.12 (February 2014)
+ - Replace angle force constants involving phosporus with the correct values from the update GAFF.dat file.
+
++Version 2.14 (September 2015)
++- Reorder parameters so they are alphabetical.
++- Add cholesterol parameters
++
+ Atom type mapping
+ -----------------
+
+ GAFF Lipid14 Description
+ ---- ------- -----------
+- c3 cA sp3 carbon
+- c2 cB aliphatic sp2 carbon
+ c cC carbonyl sp2 carbon
+- o oC sp2 oxygen with one connected atom (e.g C=O, COO-)
+- os oS sp3 oxygen in ethers and esters
+- n4 nA sp3 N with four connected atoms
+- p5 pA phosphorus with four connected atoms, such as O=P(OH)3
++ c2 cB aliphatic sp2 carbon
++ c3 cA sp3 carbon
+ h1 hE H bonded to aliphatic carbon with 1 electrwd. group
+- hx hX H bonded to C next to positively charged group
+ ha hB H bonded to aromatic carbon
++ hc hA H bonded to aliphatic carbon without electrwd. group
+ hn hN H bonded to nitrogen
++ ho hO H in Hydroxyl group
++ hx hX H bonded to C next to positively charged group
++ n4 nA sp3 N with four connected atoms
++ o oC sp2 oxygen with one connected atom (e.g C=O, COO-)
+ o oP sp2 oxygen with one connected atom (e.g P-O) in phosphate group
++ oh oH sp3 oxygen in hydroxyl group
++ os oS sp3 oxygen in ethers and esters
+ os oT sp3 oxygen bonded to carbon in phosphate group
++ p5 pA phosphorus with four connected atoms, such as O=P(OH)3
+
+ GAFFlipid Lipid14 Description
+ --------- ------- -----------
diff --git a/sci-chemistry/ambertools/files/ambertools-15-update.5.patch b/sci-chemistry/ambertools/files/ambertools-15-update.5.patch
new file mode 100644
index 000000000..017cb8d6d
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-update.5.patch
@@ -0,0 +1,25 @@
+**********> update.5
+
+Author: Jason Swails
+
+Date: Oct. 31, 2015
+
+Program: ParmEd
+
+Description: Fix Python 2.6-compatibility for ParmEd
+
+--------------------------------------------------------------------------------
+
+ AmberTools/src/parmed/chemistry/openmm/reporters.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git AmberTools/src/parmed/chemistry/openmm/reporters.py AmberTools/src/parmed/chemistry/openmm/reporters.py
+index d4e47d4..0f4c3ea 100644
+--- AmberTools/src/parmed/chemistry/openmm/reporters.py
++++ AmberTools/src/parmed/chemistry/openmm/reporters.py
+@@ -1,4 +1,4 @@
+-from __future__ import division
++from __future__ import division, with_statement
+
+ from chemistry.amber.asciicrd import AmberMdcrd
+ from chemistry.geometry import box_vectors_to_lengths_and_angles
diff --git a/sci-chemistry/ambertools/files/ambertools-15-update.6.patch b/sci-chemistry/ambertools/files/ambertools-15-update.6.patch
new file mode 100644
index 000000000..d7df551f5
--- /dev/null
+++ b/sci-chemistry/ambertools/files/ambertools-15-update.6.patch
@@ -0,0 +1,59 @@
+********> update.6
+
+Author: Charles Lin
+
+Date: November 10, 2015
+
+Programs: pmemd.cuda
+
+Description: This update gives support to cuda 7.5 and optional support for 7.0 (it is recommended to run cuda 6.5 or 7.5)
+
+--------------------------------------------------------
+
+ AmberTools/src/configure2 | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+diff --git AmberTools/src/configure2 AmberTools/src/configure2
+index 9a504b1..6835c9c 100755
+--- AmberTools/src/configure2
++++ AmberTools/src/configure2
+@@ -865,9 +865,38 @@ if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPXP" = 'yes' -o "$cuda_DPFP" = 'yes' ]; the
+ echo "CUDA Version $cudaversion detected"
+ echo "Configuring for SM2.0, SM3.0 and SM5.0"
+ nvccflags="$sm20flags $sm30flags $sm50flags"
++ elif [ "$cudaversion" = "7.0" ]; then
++ printf "\n"
++ printf "Version 7.0 of the NVIDIA CUDA compiler has been detected.\n\
++Support for version 7.0 has been deprecated and we recommend use\n\
++of either 7.5 or 6.5 instead. Version 7.0 introduced a performance\n\
++regression over earlier compilers and also a bug in the way that GPUs are\n\
++selected based on whether they are in use or not. This bug causes AMBER to\n\
++print a GPU selection error rather than auto selecting a free GPU. These\n\
++issues do not effect v6.5 and have been addressed in version 7.5."
++ printf "\n"
++ printf "If you still want to proceed with v7.0 on the\n\
++understanding that it is considered deprecated from a support process please type\n\
++'yes' to proceed. Otherwise type 'no', switch to either 6.5 or 7.5\n\
++and rerun configure."
++ printf "\n"
++ read answer
++ ans=`echo $answer | awk '{print substr($1,1,1)}'`
++
++ if [ "$ans" = "y" -o "$ans" = "Y" ]; then
++ echo "Configuring for SM2.0, SM3.0 and SM5.0"
++ nvccflags="$sm20flags $sm30flags $sm50flags"
++ else
++ echo "Please set cuda version to 6.5 or 7.5!"
++ exit 1
++ fi
++ elif [ "$cudaversion" = "7.5" ]; then
++ echo "CUDA Version $cudaversion detected"
++ echo "Configuring for SM2.0, SM3.0, SM5.0 and SM5.2"
++ nvccflags="$sm20flags $sm30flags $sm50flags $sm52flags"
+ else
+ echo "Error: Unsupported CUDA version $cudaversion detected."
+- echo " AMBER requires CUDA version == 5.0 .or. 5.5 .or. 6.0 .or. 6.5 .or. 7.0"
++ echo " AMBER requires CUDA version == 5.0 .or. 5.5 .or. 6.0 .or. 6.5 .or. 7.5"
+ exit 1
+ fi
+ nvcc="$nvcc $nvccflags"