aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2011-06-24 22:31:53 +0200
committerJustin Lecher <jlec@gentoo.org>2011-06-24 22:31:53 +0200
commita45778629384b0ca72fcad0f6026f3bec4f4fbe6 (patch)
treeca344fb04733cf436a4c6ed224d09dd9a3e84d11 /sci-chemistry/ambertools
parentSome ebuild cleaning (diff)
downloadsci-a45778629384b0ca72fcad0f6026f3bec4f4fbe6.tar.gz
sci-a45778629384b0ca72fcad0f6026f3bec4f4fbe6.tar.bz2
sci-a45778629384b0ca72fcad0f6026f3bec4f4fbe6.zip
Cleaned ebuild
(Portage version: 2.2.0_alpha41/git/Linux x86_64, signed Manifest commit with key 70EB7916)
Diffstat (limited to 'sci-chemistry/ambertools')
-rw-r--r--sci-chemistry/ambertools/ChangeLog5
-rw-r--r--sci-chemistry/ambertools/Manifest16
-rw-r--r--sci-chemistry/ambertools/ambertools-1.4.ebuild6
-rw-r--r--sci-chemistry/ambertools/ambertools-1.5.ebuild6
-rw-r--r--sci-chemistry/ambertools/files/ambertools-1.4-bugfix_1-18.patch9025
-rw-r--r--sci-chemistry/ambertools/files/ambertools-1.5-bugfix_1-3.patch3831
6 files changed, 21 insertions, 12868 deletions
diff --git a/sci-chemistry/ambertools/ChangeLog b/sci-chemistry/ambertools/ChangeLog
index 9d1fcad27..d51fa1a46 100644
--- a/sci-chemistry/ambertools/ChangeLog
+++ b/sci-chemistry/ambertools/ChangeLog
@@ -2,6 +2,11 @@
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 24 Jun 2011; Justin Lecher <jlec@gentoo.org> ambertools-1.4.ebuild,
+ -files/ambertools-1.4-bugfix_1-18.patch, ambertools-1.5.ebuild,
+ -files/ambertools-1.5-bugfix_1-3.patch:
+ Cleaned ebuild
+
23 Jun 2011; Justin Lecher <jlec@gentoo.org> ambertools-1.4.ebuild,
ambertools-1.5.ebuild:
Streamlined fortran-2 eclass usage
diff --git a/sci-chemistry/ambertools/Manifest b/sci-chemistry/ambertools/Manifest
index d6c3b72dc..98d79e2e3 100644
--- a/sci-chemistry/ambertools/Manifest
+++ b/sci-chemistry/ambertools/Manifest
@@ -1,20 +1,20 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-AUX ambertools-1.4-bugfix_1-18.patch 365430 RMD160 09bf7da6a1d386af8fc5cb70269442ed82c81866 SHA1 11c8aa73dc11dd2b4794a25fe8bf8c26813024f3 SHA256 9b4e310e02039e07f4b063af13ba360afc88b92912f2e283210be26a89245bfa
AUX ambertools-1.4-gentoo.patch 9926 RMD160 d84b121e1fa940cbf949855de3a5f0bee7566330 SHA1 08ea41b969bed5320230420d047e71a28333f76c SHA256 8f520c01146a704173ca31c68dc9440e2938263416f6d0c95de22d138426e01f
-AUX ambertools-1.5-bugfix_1-3.patch 142997 RMD160 db9360ec6fca0be4582380bf99e5b981dae9ee77 SHA1 49be38f7650959705516948e5b0c9d27b6f3775f SHA256 f0bb5a30fb9bff698dcbcddd27c5412377a43577a883f7bbf8488c8fffdfbab3
AUX ambertools-1.5-gentoo.patch 14083 RMD160 762c52626c4eda51839caf74c001bb660052706a SHA1 ab0afa1f5b73569539515dba4cf6638a594c7d6e SHA256 82a83f660701c192272e79f5bab17a8a8be945d78fdab454ade3918281749922
DIST AmberTools-1.4.tar.bz2 67331137 RMD160 b499e18b583a0b454dd3a554986c19c111822e6a SHA1 ef0f9a44c8767ed35f942fd41afc636b67da0389 SHA256 af61da2f3643b4ec7f41620242b734a3cb4a79c5d422100fbd1fd1c402fecfc1
DIST AmberTools-1.5.tar.bz2 121062582 RMD160 4a086b42c378f0904f7bf0b16adb042f1677be55 SHA1 92e47e7337fb4901a5a145d808c5ffd42c82d08d SHA256 0c7d397d2e91603bb9123ae68e91af3525269e60800ced360f68c13350651d7c
-EBUILD ambertools-1.4.ebuild 3157 RMD160 cf165f04d81d256969080dccd8de2609d44d9892 SHA1 36bdb6958290b065b35952b7b93c2c5fbfa0502f SHA256 408e9c4013608b928a454912c0c9c79f309eaa39060502ae4aafb37e6597390e
-EBUILD ambertools-1.5.ebuild 3293 RMD160 6a10117366e9352ff1c7aedbd46a6ffc88de5378 SHA1 11181cbd77bebe5470c6c749f34ebf9301942405 SHA256 2cc41ea50c86d3c338065a4baca68dd108e7ddce006e6806d8fa5a897693ebec
-MISC ChangeLog 783 RMD160 364f9e2b07f3e3df0cd228dc09541da2cd02d87e SHA1 7b9e2d023ed2d1808cc170ab2bd9a5c7b717de30 SHA256 4540b082a6824ee7e782951cf28af1ad9b470ae806f7cfb2f0997998f53345b3
+DIST ambertools-1.4-bugfix_1-18.patch.xz 48136 RMD160 83fe98ef2f4620cd4c85fc72147f830ddfa47b51 SHA1 7a5a2cba9172d017d83aed16ece06d6fed6a5196 SHA256 7ea936442ce1b29943e867adaeb69932d297ae50e0a63b0e03cfb18953e9f7c2
+DIST ambertools-1.5-bugfix_1-3.patch.xz 27268 RMD160 18a74e2e84e81d39417f656ef93e8ee4d4d4583d SHA1 bc52c0776d151a8db005bb7bfb40bf9e963bdeba SHA256 edec6ccc275ee0a70b2ecc9316c031249c4f32d89b1aa145cee32c862516049a
+EBUILD ambertools-1.4.ebuild 3201 RMD160 b2f4331166bafc5093f04c4e7ad9bf2eee9ee0e5 SHA1 4033d6225f7e86d42292eed5ddecd7edeb6742ec SHA256 e3a77f1a006832c46117a5c6a6a641685965f8dfe0c949c0ec1e2f7e57f73835
+EBUILD ambertools-1.5.ebuild 3336 RMD160 d97fc7eade8bcf0d12596d42a512560671751d18 SHA1 0427a45349e95be91e274d0e12eb2eb484da6dd3 SHA256 8f8f33770cb12253fef10e9b651a567de36a2863d674b82ca3b1959ab8684353
+MISC ChangeLog 979 RMD160 02da25807e2c08495e5e6ed5803c8db37b6f0630 SHA1 086394d21356fb100929d5f86e86a098d34abe43 SHA256 c3cf8fabe0c249e1b500319df8296405392fa976fb599d941544af342d292aec
MISC metadata.xml 263 RMD160 9484584cc295931e963dc785e211261f68e48c82 SHA1 a2c5af57c8eb879a4249fc0240432a4fc5b91ca5 SHA256 0e94df6d8502bc41ccd18ec4d570490e245c08595e837fd116a255458939e69b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iEYEARECAAYFAk4DBuUACgkQgAnW8HDreRaCZQCfUv8wRu9KIxodTi2o4m3Pjz4F
-xQUAn0J2bWy6dMEB5TDhgWKM7G96Tys2
-=5zK4
+iEYEARECAAYFAk4E9DkACgkQgAnW8HDreRa8NwCg0fxLgoMsWuqoreVAAV0tzOgb
+Bp4An3RO97c8j9rzfFLDjx6ix2ySY7kE
+=zAXR
-----END PGP SIGNATURE-----
diff --git a/sci-chemistry/ambertools/ambertools-1.4.ebuild b/sci-chemistry/ambertools/ambertools-1.4.ebuild
index 8820dc6a9..5e75cdb63 100644
--- a/sci-chemistry/ambertools/ambertools-1.4.ebuild
+++ b/sci-chemistry/ambertools/ambertools-1.4.ebuild
@@ -8,7 +8,9 @@ inherit eutils fortran-2 toolchain-funcs
DESCRIPTION="A suite for carrying out complete molecular mechanics investigations"
HOMEPAGE="http://ambermd.org/#AmberTools"
-SRC_URI="AmberTools-${PV}.tar.bz2"
+SRC_URI="
+ AmberTools-${PV}.tar.bz2
+ mirror://gentoo/${P}-bugfix_1-18.patch.xz"
LICENSE="GPL-2"
SLOT="0"
@@ -48,7 +50,7 @@ pkg_setup() {
src_prepare() {
epatch \
- "${FILESDIR}/${P}-bugfix_1-18.patch" \
+ "${WORKDIR}/${P}-bugfix_1-18.patch" \
"${FILESDIR}/${P}-gentoo.patch"
cd AmberTools/src
rm -r arpack blas lapack fftw-2.1.5 c9x-complex cifparse netcdf pnetcdf reduce ucpp-1.3 || die
diff --git a/sci-chemistry/ambertools/ambertools-1.5.ebuild b/sci-chemistry/ambertools/ambertools-1.5.ebuild
index 0788a8d2c..9ac9755e7 100644
--- a/sci-chemistry/ambertools/ambertools-1.5.ebuild
+++ b/sci-chemistry/ambertools/ambertools-1.5.ebuild
@@ -8,7 +8,9 @@ inherit eutils fortran-2 toolchain-funcs
DESCRIPTION="A suite for carrying out complete molecular mechanics investigations"
HOMEPAGE="http://ambermd.org/#AmberTools"
-SRC_URI="AmberTools-${PV}.tar.bz2"
+SRC_URI="
+ AmberTools-${PV}.tar.bz2
+ mirror://gentoo/${P}-bugfix_1-3.patch.xz"
LICENSE="GPL-2"
SLOT="0"
@@ -50,7 +52,7 @@ pkg_setup() {
src_prepare() {
epatch \
- "${FILESDIR}/${P}-bugfix_1-3.patch" \
+ "${WORKDIR}/${P}-bugfix_1-3.patch" \
"${FILESDIR}/${P}-gentoo.patch"
cd AmberTools/src
rm -r arpack blas lapack fftw-2.1.5 c9x-complex cifparse netcdf pnetcdf reduce ucpp-1.3 || die
diff --git a/sci-chemistry/ambertools/files/ambertools-1.4-bugfix_1-18.patch b/sci-chemistry/ambertools/files/ambertools-1.4-bugfix_1-18.patch
deleted file mode 100644
index 2bc899b3c..000000000
--- a/sci-chemistry/ambertools/files/ambertools-1.4-bugfix_1-18.patch
+++ /dev/null
@@ -1,9025 +0,0 @@
-diff -urN amber11.orig/AmberTools/src/gleap/leapsrc/plugins.cpp amber11/AmberTools/src/gleap/leapsrc/plugins.cpp
---- amber11.orig/AmberTools/src/gleap/leapsrc/plugins.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/leapsrc/plugins.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -37,7 +37,7 @@
-
- amber::help_command g_help_command;
- amber::add_command g_add_command2;
--amber::addions_command g_addions_command2;
-+amber::addions_command g_addions_command2( "addions" );
- amber::addmap_command g_addpdbatommap_command2( "addpdbatommap" );
- amber::addmap_command g_addpdbresmap_command2( "addpdbresmap" );
- amber::null_command g_addatomtypes_command2( "addatomtypes" );
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/ambfmt/parm.cpp amber11/AmberTools/src/gleap/mortsrc/ambfmt/parm.cpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/ambfmt/parm.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/ambfmt/parm.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -110,7 +110,7 @@
- assert( tmp.size() == 3 );
- atmvec as(tmp);
-
-- angl_t an = angl_t::create( as[0], as[1], as[2] );
-+ angl_t an = angl_t::frcget( as[0], as[1], as[2] );
- set_les( an );
-
- atom_t pa1( *pff, as[0].get_i(TYPEID)-1 );
-@@ -277,6 +277,15 @@
- copy_dparm(pdihs[i], SCEE, di);
- copy_dparm(pdihs[i], SCNB, di);
- set_les( di );
-+
-+ /*
-+ std::cout << as[0].get_s(NAME) << "-";
-+ std::cout << as[1].get_s(NAME) << "-";
-+ std::cout << as[2].get_s(NAME) << "-";
-+ std::cout << as[3].get_s(NAME) << " SCEE=" << di.get_d(SCEE) << std::endl;
-+ */
-+
-+
- }
- }
- }
-@@ -434,6 +443,8 @@
- parm_gbsa( *ai, gbtype );
- }
-
-+ //std::cout << " atom parameter assigned." << std::endl;
-+
- bonditer_t bi = mol.bond_begin();
- bonditer_t be = mol.bond_end();
- for( ; bi != be; ++bi )
-@@ -441,6 +452,8 @@
- parm_bond( &ff, *bi );
- }
-
-+ //std::cout << " bond parameter assigned." << std::endl;
-+
- bool fw = fixed_water();
- ai = mol.atom_begin();
- ae = mol.atom_end();
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/ambfmt/prep.cpp amber11/AmberTools/src/gleap/mortsrc/ambfmt/prep.cpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/ambfmt/prep.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/ambfmt/prep.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -39,7 +39,7 @@
- resd_t r = resd_t::create( m );
- r.set_s(NAME, name);
- r.set_s(TYPE, name.length()<3?name:name.substr(0,3));
--
-+ //std::cout << "Loading model " << name << std::endl;
- // CORR/CHANGE, if CHANGE then sort line according
- // the first column, no supported any more.
- string use_first_column;
-@@ -55,9 +55,13 @@
- is >> cutoff;
- is.ignore(MAX_LINE_WIDTH, '\n');
-
-+ vector<numvec> crdlst;
-+ vector<int> nbrmap;
-+
-+ // stacks
- vector<atom_t> atoms;
-- vector<numvec> crds;
- vector<int> nunfills;
-+ vector<int> idxstack;
-
- int head = 0;
- int tail = 0;
-@@ -71,7 +75,7 @@
- string name, type, chain;
- ls >> name >> type >> chain;
-
--
-+ //std::cout << " processing atom " << name << std::endl;
- string curt;
- vector<string> terms;
- while(ls >> curt)
-@@ -96,22 +100,31 @@
- double angl = atof( terms[4].c_str() );
- double tors = atof( terms[5].c_str() );
- pchg = (terms.size()==7) ? atof( terms[6].c_str() ) : 0.0;
-- int len = crds.size();
-- if(len==0)
-+ if( idxstack.size()==0 )
- {
- pos = makevec(0.0, 0.0, 0.0);
-- }
-- else if(len==1)
-- {
-- pos = zmatrix(crds[len-1], dist);
-- }
-- else if(len==2)
-- {
-- pos = zmatrix(crds[len-1], dist, crds[len-2], angl);
-+ crdlst.push_back( pos );
-+ nbrmap.push_back( -1 );
- }
- else
-- {
-- pos = zmatrix(crds[len-1], dist, crds[len-2], angl, crds[len-3], tors);
-+ {
-+ int nbr1 = idxstack.back();
-+ int nbr2 = nbrmap[nbr1];
-+ int nbr3 = (nbr2==-1) ? -1 : nbrmap[nbr2];
-+ if(nbr2==-1)
-+ {
-+ pos = zmatrix(crdlst[nbr1], dist);
-+ }
-+ else if(nbr3==-1)
-+ {
-+ pos = zmatrix(crdlst[nbr1], dist, crdlst[nbr2], angl);
-+ }
-+ else
-+ {
-+ pos = zmatrix(crdlst[nbr1], dist, crdlst[nbr2], angl, crdlst[nbr3], tors);
-+ }
-+ crdlst.push_back( pos );
-+ nbrmap.push_back( nbr1 );
- }
- }
-
-@@ -127,7 +140,7 @@
-
- if(atoms.size() > 0)
- {
-- assert( nunfills.size()==crds.size() );
-+ assert( nunfills.size()==idxstack.size() );
- bond_t::create(atom, atoms.back() ).set_i(ORDER, 1);
- nunfills.back() -= 1;
- }
-@@ -145,7 +158,7 @@
-
- if( nunfills.size()>0 && nunfills.back()==0 )
- {
-- crds.pop_back();
-+ idxstack.pop_back();
- atoms.pop_back();
- nunfills.pop_back();
- }
-@@ -153,7 +166,7 @@
- int nunfill = get_nunfill(chain);
- if(nunfill > 0)
- {
-- crds.push_back(pos);
-+ idxstack.push_back(crdlst.size()-1);
- if(type != "DU")
- atoms.push_back(atom);
- nunfills.push_back(nunfill);
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/capbox/addions.cpp amber11/AmberTools/src/gleap/mortsrc/capbox/addions.cpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/capbox/addions.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/capbox/addions.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -83,11 +83,82 @@
-
- void addions( molecule_t& m, const molecule_t& ion, int num_ion, double shlext, double resolution )
- {
-+ vector<molecule_t> ionlst(num_ion, ion);
- mort_ionee ionee(m);
-- addions_core( ionee, ion, num_ion, shlext, resolution );
-+ addions_core( ionee, ionlst, shlext, resolution );
-+ m.cleanup();
- }
-
-- void addions_core( ionee_i& ionee, const molecule_t& ion, int num_ion, double shlext, double resolution )
-+ void addions( molecule_t& m, const molecule_t& ion1, int numion1, const molecule_t& ion2, int numion2, double shlext, double resolution )
-+ {
-+ vector<molecule_t> ionlst;
-+ int minnumion = std::min( numion1, numion2 );
-+ for( int i=0; i < minnumion; ++i )
-+ {
-+ ionlst.push_back( ion1 );
-+ ionlst.push_back( ion2 );
-+ }
-+
-+ int moreadd = std::max( numion1, numion2 ) - minnumion;
-+ if( moreadd > 0 )
-+ {
-+ const molecule_t* padd = (minnumion==numion1) ? &ion2 : &ion1;
-+ for( int i=0; i < moreadd; ++i )
-+ {
-+ ionlst.push_back( *padd );
-+ }
-+ }
-+
-+ mort_ionee ionee(m);
-+ addions_core( ionee, ionlst, shlext, resolution );
-+ m.cleanup();
-+ }
-+
-+ double get_ionvdwr( const molecule_t& ion )
-+ {
-+ double r = get_vdwr( ion.atom_begin()->get_s(TYPE) );
-+ if( ion.natom() > 1 )
-+ {
-+ std::cout << "Info: polyatomic ion, radius set to " << r*2.5 << " (2.5 times first atom)" << std::endl;
-+ r *= 2.5;
-+ }
-+ return r;
-+ }
-+
-+ double get_minvdwr( const vector<molecule_t>& ionlst )
-+ {
-+ double minr = 1000.0;
-+ int numion = ionlst.size();
-+ for( int i=0; i < numion; ++i )
-+ {
-+ double r = get_ionvdwr( ionlst[i] );
-+ minr = std::min( r, minr );
-+ }
-+
-+ if( numion > 5 )
-+ {
-+ double f = exp( log(numion+1.0)/3.0 );
-+ if( f > 1.0 ) minr *= f;
-+ }
-+
-+ return minr;
-+ }
-+
-+ double get_maxvdwr( const vector<molecule_t>& ionlst )
-+ {
-+ double maxr = 0.0;
-+ int numion = ionlst.size();
-+ for( int i=0; i < numion; ++i )
-+ {
-+ double r = get_ionvdwr( ionlst[i] );
-+ maxr = std::max( r, maxr );
-+ }
-+
-+ return maxr;
-+ }
-+
-+
-+ void addions_core( ionee_i& ionee, const vector<molecule_t>& ionlst, double shlext, double resolution )
- {
- int natom = ionee.natom();
- int nresd = ionee.nresd();
-@@ -98,8 +169,8 @@
-
- if( solute_natom != ionee.natom() )
- {
-- std::cout << "Info: solute natom, total natom: " << solute_natom << " " << natom << std::endl;
-- std::cout << " solute nresd, total nresd: " << solute_nresd << " " << nresd << std::endl;
-+ std::cout << "Info: Number of solute atoms: " << solute_natom << ", total number of atoms: " << natom << std::endl;
-+ std::cout << " Number of solute residues: " << solute_nresd << ", total number of residues: " << nresd << std::endl;
- }
-
- vector<double>& pcord = ionee.getcord();
-@@ -111,23 +182,12 @@
- minmaxpos( pcord, pmin, pmax, solute_natom );
-
- double max_radius = *std::max_element( pvdwr.begin(), pvdwr.end() );
-- double ion_radius = get_vdwr( ion.atom_begin()->get_s(TYPE) );
-- if( ion.natom() > 1 )
-- {
-- std::cout << "Info: polyatomic ion, radius set to " << ion_radius*2.5 << " (2.5 times first atom)" << std::endl;
-- ion_radius *= 2.5;
-- }
--
-- if( std::abs( charge(ion) ) < 0.1 )
-- {
-- throw std::runtime_error( "Error: the ion you chose is in fact netural, thus add ion won't work" );
-- }
-+ double ion_radius = get_maxvdwr( ionlst );
-
- double buffer = ion_radius + max_radius + shlext;
- std::cout << "Info: rmax, rion, shell: " << max_radius << " " << ion_radius << " " << shlext << std::endl;
--
-- std::cout << "Info: pmin: " << pmin[0] << " " << pmin[1] << " " << pmin[2] << std::endl;
-- std::cout << "Info: pmax: " << pmax[0] << " " << pmax[1] << " " << pmax[2] << std::endl;
-+ //std::cout << "Info: pmin: " << pmin[0] << " " << pmin[1] << " " << pmin[2] << std::endl;
-+ //std::cout << "Info: pmax: " << pmax[0] << " " << pmax[1] << " " << pmax[2] << std::endl;
-
-
- pmin -= makevec(buffer, buffer, buffer);
-@@ -151,9 +211,20 @@
- std::pair<double, numvec> max = make_pair(-1e20, numvec(3));
- tree.calculate( capbox::elepot_t(&pcord[0], &pchrg[0], solute_natom), min, max );
-
-- for( int i=0; i < num_ion; ++i )
-+ int numion = ionlst.size();
-+ for( int i=0; i < numion; ++i )
- {
-- numvec pos = charge(ion)>0 ? min.second : max.second;
-+ if( std::abs( charge(ionlst[i]) ) < 0.1 )
-+ {
-+ throw std::runtime_error( "Error: the ion you chose is in fact netural, thus add ion won't work" );
-+ }
-+
-+ std::cout << "min potential: " << min.first << " x,y,z: " << min.second[0] << " " << min.second[1] << " " << min.second[2] << std::endl;
-+ std::cout << "max potential: " << max.first << " x,y,z: " << max.second[0] << " " << max.second[1] << " " << max.second[2] << std::endl;
-+
-+
-+
-+ numvec pos = charge(ionlst[i])>0 ? min.second : max.second;
-
- if( nosolvent )
- {
-@@ -161,8 +232,8 @@
- std::cout << "Info: new ion will be placed at: ";
- std::cout << pos[0] << " " << pos[1] << " " << pos[2] << " " << std::endl;
-
-- numvec sft = pos - center(ion);
-- ionee.insert_resd( ion, sft, -1 );
-+ numvec sft = pos - center(ionlst[i]);
-+ ionee.insert_resd( ionlst[i], sft, -1 );
- }
- else
- {
-@@ -171,19 +242,19 @@
- {
- // solvent present, find the nearest solvent residue, use ion to replace it.
- // besides the ion must be before solvent, after the solute
-- numvec sft = pos - center(ion);
-- ionee.insert_resd( ion, sft, solute_nresd+i );
-+ numvec sft = pos - center(ionlst[i]);
-+ ionee.insert_resd( ionlst[i], sft, solute_nresd+i );
- ionee.remove_resd( rid );
- }
- else
- {
- // no bump atom: insert residue directly, no need to delete solvent residue
-- numvec sft = pos - center(ion);
-- ionee.insert_resd( ion, sft, solute_nresd+i );
-+ numvec sft = pos - center(ionlst[i]);
-+ ionee.insert_resd( ionlst[i], sft, solute_nresd+i );
- }
- }
-
-- if( i < num_ion-1 )
-+ if( i < numion-1 )
- {
- // more ions to add: cut a sphere from the tree, make sure no overlapping
- // the radius is 2*ion_radius, to avoid in the future ion
-@@ -193,7 +264,7 @@
-
- min.first = 1e20;
- max.first =-1e20;
-- tree.calculate(elepot_t(pos, charge(ion)), min, max);
-+ tree.calculate(elepot_t(pos, charge(ionlst[i])), min, max);
- }
- }
-
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/capbox/addions.hpp amber11/AmberTools/src/gleap/mortsrc/capbox/addions.hpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/capbox/addions.hpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/capbox/addions.hpp 2011-03-08 16:38:44.000000000 +0300
-@@ -91,7 +91,7 @@
-
- if( i != m_natom )
- {
-- throw std::runtime_error( "Error: there are atoms do not belong to any residue" );
-+ throw std::runtime_error( "Error: Atoms are present that are part of no residue!" );
- }
-
- m_pcord = &m_cord;
-@@ -178,9 +178,11 @@
- vector<string> m_type;
- };
-
-- void addions_core( ionee_i& ionee, const molecule_t& ion, int nion, double shlext, double resolution );
--
-+ void addions_core( ionee_i& ionee, const vector<molecule_t>& ionlst, double shlext, double resolution );
-+
- void addions( molecule_t& m, const molecule_t& ion, int nion, double shlext, double res );
-+
-+ void addions( molecule_t& m, const molecule_t& ion1, int numion1, const molecule_t& ion2, int numion2, double shlext, double res );
- }
-
-
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/capbox/solvate.cpp amber11/AmberTools/src/gleap/mortsrc/capbox/solvate.cpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/capbox/solvate.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/capbox/solvate.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -126,13 +126,23 @@
- return cap.extent();
- }
-
-- numvec solvatebox_core( solute_i& solute, const molecule_t& m, double buffer, double closeness )
-+ numvec solvatebox_core( solute_i& solute, const molecule_t& m, double buffer, double closeness, bool iso )
- {
- funstack_t::push( "solvatebox" );
-
- numvec extent = regionlize( solute, true );
- extent += scalar_numvec(extent.size(), 2*buffer);
-
-+ if( iso )
-+ {
-+ double extmax = std::max( extent[0], std::max(extent[1], extent[2]) );
-+ extent[0] = extmax;
-+ extent[1] = extmax;
-+ extent[2] = extmax;
-+ }
-+
-+
-+
- box_region box( extent );
- out_solute inn( solute, closeness );
- solvate( solute, m, and_region(box, inn) );
-@@ -180,10 +190,10 @@
- mol.set_v( CAP, makevec(capcnt[0],capcnt[1],capcnt[2],caprad) );
- }
-
-- void solvatebox(molecule_t& mol, const molecule_t& svt, double buffer, double closeness)
-+ void solvatebox(molecule_t& mol, const molecule_t& svt, double buffer, double closeness, bool iso)
- {
- mort_solute solute(mol);
-- numvec extent = solvatebox_core( solute, svt, buffer, closeness );
-+ numvec extent = solvatebox_core( solute, svt, buffer, closeness, iso );
-
- mol.set_i( SOLUTE, BOX );
- mol.set_v( BOX, makevec(extent[0], extent[1], extent[2], 90.0) );
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/capbox/solvate.hpp amber11/AmberTools/src/gleap/mortsrc/capbox/solvate.hpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/capbox/solvate.hpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/capbox/solvate.hpp 2011-03-08 16:38:44.000000000 +0300
-@@ -10,7 +10,7 @@
-
- numvec solvatecap_core( solute_i& solute, const molecule_t& m, const numvec& capcnt, double caprad, double closeness );
-
-- numvec solvatebox_core( solute_i& solute, const molecule_t& m, double buffer, double closeness );
-+ numvec solvatebox_core( solute_i& solute, const molecule_t& m, double buffer, double closeness, bool iso );
-
- double solvateoct_core( solute_i& solute, const molecule_t& m, double buffer, double closeness );
-
-@@ -18,7 +18,7 @@
-
- void solvatecap( molecule_t& mol, const molecule_t& svt, const numvec& capcnt, double caprad, double closeness );
-
-- void solvatebox( molecule_t& mol, const molecule_t& svt, double buffer, double closeness );
-+ void solvatebox( molecule_t& mol, const molecule_t& svt, double buffer, double closeness, bool iso );
-
- void solvateoct( molecule_t& mol, const molecule_t& svt, double buffer, double closeness );
-
-diff -urN amber11.orig/AmberTools/src/gleap/mortsrc/pdbent/atom.cpp amber11/AmberTools/src/gleap/mortsrc/pdbent/atom.cpp
---- amber11.orig/AmberTools/src/gleap/mortsrc/pdbent/atom.cpp 2010-04-06 04:38:00.000000000 +0400
-+++ amber11/AmberTools/src/gleap/mortsrc/pdbent/atom.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -57,9 +57,9 @@
- {
- funstack_t::push( "pdbent::write_atom" );
-
-- os << "ATOM ";
-+ os << "ATOM ";
-
-- write_iparm( os, atom, ID, "%5d" );
-+ write_iparm( os, atom, ID, "%6d" );
-
- write_atom_name( os, atom );
-
-@@ -102,7 +102,15 @@
- os << ' ';
- }
-
-- os << format( "%4d " ) % (atom.resd().relid()+1);
-+ int rid = atom.resd().relid() + 1;
-+ if( rid < 10000 )
-+ {
-+ os << format( "%4d " ) % rid;
-+ }
-+ else
-+ {
-+ os << format( "%5d " ) % rid;
-+ }
- }
-
- } // namespace pdbent
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/addions.cpp amber11/AmberTools/src/gleap/plugins/addions.cpp
---- amber11.orig/AmberTools/src/gleap/plugins/addions.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/addions.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -4,15 +4,33 @@
-
- namespace amber
- {
-+ int get_numion( double dstchg, double ionchg )
-+ {
-+ if( dstchg * ionchg >= 0 )
-+ {
-+ throw std::runtime_error( "Error: molecule and ion are both positive (or negative), can not make neutral" );
-+ }
-+
-+ return int( -dstchg/ionchg+0.5);
-+ }
-+
-+
-
-- addions_command::addions_command( )
-- :command_i( "addions" )
-+ addions_command::addions_command( const char* cmd )
-+ :command_i( cmd )
- {
- }
-
-- addions_command::addions_command( const string& dest, const string& ion, int number )
-- :m_dest( dest ), m_ion( ion ), m_number( number )
-+ addions_command::addions_command( const string& dest, const string& ion1, int numion1 )
-+ :m_dest( dest ), m_ion1( ion1 ), m_numion1( numion1 )
- {
-+ m_runtyp = 1;
-+ }
-+
-+ addions_command::addions_command( const string& dest, const string& ion1, int numion1, const string& ion2, int numion2 )
-+ :m_dest( dest ), m_ion1( ion1 ), m_numion1( numion1 ), m_ion2(ion2), m_numion2(numion2)
-+ {
-+ m_runtyp = 2;
- }
-
- addions_command::~addions_command()
-@@ -21,28 +39,42 @@
-
- bool addions_command::exec()
- {
-+ double shell_extent = 4.0;
-+ double resolution = 1.0;
- molecule_ptr pdst = content().get_mol( m_dest );
-- molecule_ptr pion = content().get_mol( m_ion );
-
-- if( m_number==0 )
-+ if( m_runtyp==1 )
- {
-- double dstchg = charge( *pdst );
-- double ionchg = charge( *pion );
-- if( dstchg * ionchg >= 0 )
-+ molecule_ptr pion = content().get_mol( m_ion1 );
-+ if( m_numion1==0 )
- {
-- throw std::runtime_error( "Error: molecule and ion are both positive (or negative), can not make neutral" );
-+ m_numion1 = get_numion( charge(*pdst), charge(*pion) );
- }
--
-- m_number = int( -dstchg/ionchg+0.5);
-+
-+ assert( pdst != NULL && pion != NULL );
-+ addions( *pdst, *pion, m_numion1, shell_extent, resolution);
- }
--
--
-- assert( pdst != NULL && pion != NULL );
-+ else if( m_runtyp==2 )
-+ {
-+ molecule_ptr pion1 = content().get_mol( m_ion1 );
-+ molecule_ptr pion2 = content().get_mol( m_ion2 );
-+ if( m_numion1==0 && m_numion2==0 )
-+ {
-+ throw std::runtime_error( "Error: while addions2, numion1 and numion2 cannot both be zero" );
-+ }
-
-- double shell_extent = 4.0;
-- double resolution = 1.0;
-+ if( m_numion1==0 )
-+ {
-+ m_numion1 = get_numion( charge(*pdst)+m_numion2*charge(*pion2), charge(*pion1) );
-+ }
-+ else if( m_numion2==0 )
-+ {
-+ m_numion2 = get_numion( charge(*pdst)+m_numion1*charge(*pion1), charge(*pion2) );
-+ }
-+
-+ addions( *pdst, *pion1, m_numion1, *pion2, m_numion2, shell_extent, resolution );
-+ }
-
-- addions( *pdst, *pion, m_number, shell_extent, resolution);
- return true;
- }
-
-@@ -53,22 +85,29 @@
-
- const char* addions_command::info( ) const
- {
-- return " usage: addion mol ion1 numIon1 ";
-+ return " usage: addions mol ion1 numIon1 ";
- }
-
- shared_ptr< command_i > addions_command::clone( const vector< string >& args ) const
- {
-- if( args.size()!=3 && args.size()!=4 )
-+ if( args.size()==3 || args.size()==4 )
- {
-- throw std::runtime_error( "Error: wrong number of arguments " );
-+ int numb = args.size()==3 ? 0 : atoi(args[3].c_str());
-+ return shared_ptr< command_i >( new addions_command(args[1], args[2], numb) );
- }
-
-- int numb = args.size()==3 ? 0 : atoi(args[3].c_str());
--
-- return shared_ptr< command_i >( new addions_command(args[1], args[2], numb) );
-+ if( args.size()==6 )
-+ {
-+ int nion1 = atoi( args[3].c_str() );
-+ int nion2 = atoi( args[5].c_str() );
-+ return shared_ptr< command_i >( new addions_command(args[1], args[2], nion1, args[4], nion2 ) );
-+ }
-+
-+ throw std::runtime_error( "Error: Wrong number of arguments!" );
- }
-
-- addions_command g_addions_command;
-+ addions_command g_addions_command( "addions" );
-+ addions_command g_addions2_command( "addions2" );
-
- } // namespace amber
-
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/addions.hpp amber11/AmberTools/src/gleap/plugins/addions.hpp
---- amber11.orig/AmberTools/src/gleap/plugins/addions.hpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/addions.hpp 2011-03-08 16:38:44.000000000 +0300
-@@ -11,10 +11,12 @@
- {
- public:
-
-- addions_command();
-+ addions_command( const char* cmdnam );
-
- addions_command( const string& dest, const string& ion, int number );
--
-+
-+ addions_command( const string& dest, const string& ion1, int numion1, const string& ion2, int numion2 );
-+
- virtual ~addions_command();
-
- virtual bool exec();
-@@ -28,10 +30,12 @@
- private:
-
- string m_dest;
-+ string m_ion1;
-+ int m_numion1;
-+ string m_ion2;
-+ int m_numion2;
-
-- string m_ion;
--
-- int m_number;
-+ int m_runtyp;
- };
-
- } // namespace amber
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/check.cpp amber11/AmberTools/src/gleap/plugins/check.cpp
---- amber11.orig/AmberTools/src/gleap/plugins/check.cpp 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/src/gleap/plugins/check.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,415 @@
-+#include <object.hpp>
-+#include "check.hpp"
-+
-+namespace amber
-+{
-+ void check_charge( const molecule_t& m )
-+ {
-+ std::cout << "Checking charge: ";
-+ double chg = charge( m );
-+ double dif = std::abs( chg - int(chg) );
-+ if( dif > 0.01 && dif < 0.99 )
-+ {
-+ std::cout << std::endl;
-+ std::cout << "Warning: non-integral total charge: " << chg << std::endl;
-+ }
-+ else
-+ {
-+ std::cout << chg << ", OK!" << std::endl;
-+ }
-+ }
-+
-+ void check_bond_length( const molecule_t& m, double lowcutoff, double hghcutoff )
-+ {
-+ std::cout << "Checking bond lengths: ";
-+ bool ok = true;
-+ bonditer_t bi = m.bond_begin();
-+ for( ; bi != m.bond_end(); ++bi )
-+ {
-+ atom_t a1 = atom_1st( *bi );
-+ atom_t a2 = atom_2nd( *bi );
-+ double ln = dist( a1, a2 );
-+ if( ln < lowcutoff || ln > hghcutoff )
-+ {
-+ resd_t r1 = a1.resd();
-+ resd_t r2 = a2.resd();
-+ ok = false;
-+ std::cout << std::endl;
-+ std::cout << format("Warning: There is a bond of %4.2f angstroms between: ") % ln;
-+ std::cout << r1.get_s(NAME) << "." << a1.get_s(NAME) << " and ";
-+ std::cout << r2.get_s(NAME) << "." << a2.get_s(NAME);
-+ }
-+ }
-+
-+ if( ok )
-+ {
-+ std::cout << "OK!" << std::endl;
-+ }
-+ else
-+ {
-+ std::cout << std::endl;
-+ }
-+ }
-+
-+ void check_atom_distance( const molecule_t& m, double cutoff )
-+ {
-+ std::cout << "Checking nonbonded atom contacts: ";
-+ bool ok = true;
-+ atomiter_t ai = m.atom_begin();
-+ for( ; ai != m.atom_end(); ++ai )
-+ {
-+ atomiter_t aj = ai + 1;
-+ for( ; aj != m.atom_end(); ++aj )
-+ {
-+ if( bond_t::has(*ai, *aj) )
-+ {
-+ continue;
-+ }
-+
-+ double d = dist( *ai, *aj );
-+ if( d < cutoff )
-+ {
-+ ok = false;
-+ resd_t r1 = ai->resd();
-+ resd_t r2 = aj->resd();
-+ std::cout << std::endl;
-+ std::cout << format( "Warning: Close contact of %4.2f Angstroms between atoms ") % d;
-+ std::cout << r1.get_s(NAME) << "." << ai->name() << " and ";
-+ std::cout << r2.get_s(NAME) << "." << aj->name();
-+ }
-+ }
-+ }
-+
-+ if( ok )
-+ {
-+ std::cout << "OK!" << std::endl;
-+ }
-+ else
-+ {
-+ std::cout << std::endl;
-+ }
-+ }
-+
-+ void check_atom_params( const molecule_t& m, const molecule_t& ff )
-+ {
-+ std::cout << "Checking atom parameters: ";
-+ bool ok = true;
-+ atomiter_t ai = m.atom_begin();
-+ for( ; ai != m.atom_end(); ++ai )
-+ {
-+ string t = ai->type();
-+ if( !atom_t::has(ff, t) )
-+ {
-+ ok = false;
-+ std::cout << "Warning: could not find parameters for atom: " << t << std::endl;
-+ }
-+ }
-+
-+ if( ok )
-+ {
-+ std::cout << "OK!" << std::endl;
-+ }
-+ else
-+ {
-+ std::cout << std::endl;
-+ }
-+ }
-+
-+ void check_bond_params( const molecule_t& m, const molecule_t& ff )
-+ {
-+ std::cout << "Checking bond parameters: ";
-+ bool ok = true;
-+ bonditer_t bi = m.bond_begin();
-+ for( ; bi != m.bond_end(); ++bi )
-+ {
-+ atom_t a1 = atom_1st( *bi );
-+ atom_t a2 = atom_2nd( *bi );
-+ string t1 = a1.type();
-+ string t2 = a2.type();
-+
-+ atom_t pa1(ff, -1), pa2(ff, -1);
-+
-+ if( atom_t::get(ff, t1, pa1) && atom_t::get(ff, t2, pa2) )
-+ {
-+ if( bond_t::has(pa1, pa2) )
-+ {
-+ continue;
-+ }
-+ }
-+
-+ ok = false;
-+ std::cout << std::endl;
-+ std::cout << "Warning: could not find parameters for bond " << t1 << "-" << t2 << std::endl;
-+ }
-+
-+ if( ok )
-+ {
-+ std::cout << "OK!" << std::endl;
-+ }
-+ else
-+ {
-+ std::cout << std::endl;
-+ }
-+ }
-+
-+ void check_angl_params( const molecule_t& m, const molecule_t& ff )
-+ {
-+ std::cout << "Checking angle parameters: ";
-+ bool ok = true;
-+ atomiter_t ai = m.atom_begin();
-+ for( ; ai != m.atom_end(); ++ai )
-+ {
-+ atomiter_t aj = ai->atom_begin();
-+ for( ; aj != ai->atom_end(); ++aj )
-+ {
-+ atomiter_t ak = aj + 1;
-+ for( ; ak != ai->atom_end(); ++ak )
-+ {
-+ string t1 = ai->type();
-+ string t2 = aj->type();
-+ string t3 = ak->type();
-+ atom_t pa1(ff, -1);
-+ atom_t pa2(ff, -1);
-+ atom_t pa3(ff, -1);
-+ if( atom_t::get(ff, t1, pa1) && atom_t::get(ff, t2, pa2) && atom_t::get(ff, t3, pa3) )
-+ {
-+ if( angl_t::has(pa2, pa1, pa3) )
-+ {
-+ continue;
-+ }
-+ }
-+
-+ ok = false;
-+ std::cout << std::endl;
-+ std::cout << "Warning: could not find parameters for angle " << t2 << "-" << t1 << "-" << t3;
-+ }
-+ }
-+ }
-+
-+ if( ok )
-+ {
-+ std::cout << "OK!" << std::endl;
-+ }
-+ else
-+ {
-+ std::cout << std::endl;
-+ }
-+ }
-+
-+ check_command::check_command()
-+ : command_i( "check" )
-+ {
-+ }
-+
-+ check_command::check_command( bool checkmolcharge, bool checkatomparams,
-+ bool checkbondparams, bool checkangleparams,
-+ bool checkbondlength, bool checkatomclashes,
-+ const string& molnam )
-+ : m_checkmolcharge(checkmolcharge), m_checkatomparams(checkatomparams),
-+ m_checkbondparams(checkbondparams), m_checkangleparams(checkangleparams),
-+ m_checkbondlength(checkbondlength), m_checkatomclashes(checkatomclashes),
-+ m_molnam( molnam )
-+ {
-+ }
-+
-+ check_command::~check_command( )
-+ {
-+ }
-+
-+ bool check_command::exec( )
-+ {
-+ int ndot = std::count( m_molnam.begin(), m_molnam.end(), '.' );
-+ if( ndot != 0 )
-+ {
-+ throw std::runtime_error( "Error: Arguments, other than flags, must be units!" );
-+ }
-+
-+ std::cout << "Checking unit \"" << m_molnam << "\"" << std::endl;
-+
-+ molecule_ptr pmol = content().get_mol( m_molnam );
-+ molecule_ptr parm = content().get_mol( "_amberffp" );
-+
-+ if (m_checkmolcharge == true)
-+ {
-+ check_charge( *pmol );
-+ }
-+
-+ if (m_checkatomparams == true)
-+ {
-+ check_atom_params( *pmol, *parm );
-+ }
-+
-+ if (m_checkbondparams == true)
-+ {
-+ check_bond_params( *pmol, *parm );
-+ }
-+
-+ if (m_checkangleparams == true)
-+ {
-+ check_angl_params( *pmol, *parm );
-+ }
-+
-+ if (m_checkbondlength == true)
-+ {
-+ check_bond_length( *pmol, 0.5, 3.0 );
-+ }
-+
-+ if (m_checkatomclashes == true)
-+ {
-+ check_atom_distance( *pmol, 1.5 );
-+ }
-+
-+ return true;
-+ }
-+
-+ void check_command::undo()
-+ {
-+ }
-+
-+ const char* check_command::info() const
-+ {
-+ return "check unit";
-+ }
-+
-+ command_ptr check_command::clone( const vector< string >& args ) const
-+ {
-+ bool checkall = false;
-+ bool checkmolcharge = false;
-+ bool checkatomparams = false;
-+ bool checkbondparams = false;
-+ bool checkangleparams = false;
-+ bool checkbondlength = false;
-+ bool checkatomclashes = false;
-+ bool nocheckatomclashes = false;
-+
-+ std::string unit = "";
-+
-+ int i;
-+
-+ //if( args.size()!=2 )
-+ //{
-+ // throw std::runtime_error( "Error: Wrong number of arguments!" );
-+ //}
-+
-+ for (i = 1; i < args.size(); i++)
-+ {
-+ if (args[i] == "-charge")
-+ {
-+ checkmolcharge = true;
-+ std::cout << "charge check requested" << std::endl;
-+ }
-+ else if (args[i] == "-atomparams")
-+ {
-+ checkatomparams = true;
-+ std::cout << "atom parameter check requested" << std::endl;
-+ }
-+ else if (args[i] == "-bondparams")
-+ {
-+ checkbondparams = true;
-+ std::cout << "bond parameter check requested" << std::endl;
-+ }
-+ else if (args[i] == "-angleparams")
-+ {
-+ checkangleparams = true;
-+ std::cout << "angle parameter check requested" << std::endl;
-+ }
-+ else if (args[i] == "-bondlength")
-+ {
-+ checkbondlength = true;
-+ std::cout << "bond length check requested" << std::endl;
-+ }
-+ else if (args[i] == "-clashes")
-+ {
-+ if (nocheckatomclashes == true)
-+ {
-+ throw std::runtime_error("Error: can't use -clashes and -noclashes together!");
-+ }
-+
-+ checkatomclashes = true;
-+ std::cout << "atom proximity (clash) check requested" << std::endl;
-+ }
-+ else if (args[i] == "-noclashes")
-+ {
-+ if (checkatomclashes == true)
-+ {
-+ throw std::runtime_error("Error: can't use -clashes and -noclashes together!");
-+ }
-+ if (checkall == true)
-+ {
-+ throw std::runtime_error("Error: can't use -all and -noclashes together!");
-+ }
-+
-+ nocheckatomclashes = true;
-+ // Set everything else, too
-+ checkmolcharge = true;
-+ checkatomparams = true;
-+ checkbondparams = true;
-+ checkangleparams = true;
-+ checkbondlength = true;
-+ checkatomclashes = false;
-+ checkall = false;
-+ std::cout << "all except atom proximity (clash) check requested" << std::endl;
-+ }
-+ else if (args[i] == "-all")
-+ {
-+ if (nocheckatomclashes == true)
-+ {
-+ throw std::runtime_error("Error: can't use -all and -noclashes together!");
-+ }
-+
-+ checkall = true;
-+ }
-+ else if (args[i].substr(0,1) == "-")
-+ {
-+ throw std::runtime_error("Error: in check, unrecognised flag: " + args[i] + "\n"
-+ + " Allowed flags:" + "\n"
-+ + " -charge" + "\n"
-+ + " -atomparams" + "\n"
-+ + " -bondparams" + "\n"
-+ + " -angleparams" + "\n"
-+ + " -bondlength" + "\n"
-+ + " -clashes" + "\n"
-+ + " -noclashes" + "\n"
-+ + " -all" );
-+ }
-+ else if (unit == "")
-+ {
-+ unit = args[i];
-+ }
-+ else
-+ {
-+ throw std::runtime_error("Error: Too many arguments!");
-+ }
-+ }
-+
-+ if (unit == "")
-+ {
-+ throw std::runtime_error("Error: A unit must be supplied as an argument!");
-+ }
-+
-+ // If everything is false except possibly checkall (whose truth
-+ // or falsity is irrelevant), we want to check everything
-+ if (checkmolcharge == false && checkatomparams == false
-+ && checkbondparams == false && checkangleparams == false
-+ && checkbondlength == false && checkatomclashes == false
-+ && nocheckatomclashes == false)
-+ {
-+ checkmolcharge = true;
-+ checkatomparams = true;
-+ checkbondparams = true;
-+ checkangleparams = true;
-+ checkbondlength = true;
-+ checkatomclashes = true;
-+ std::cout << "all checks requested" << std::endl;
-+ }
-+
-+ return shared_ptr< command_i >( new check_command(checkmolcharge, checkatomparams,
-+ checkbondparams, checkangleparams,
-+ checkbondlength, checkatomclashes,
-+ unit ) );
-+ }
-+
-+} // namespace amber
-+
-+amber::check_command g_check_command;
-+
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/check.hpp amber11/AmberTools/src/gleap/plugins/check.hpp
---- amber11.orig/AmberTools/src/gleap/plugins/check.hpp 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/src/gleap/plugins/check.hpp 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,49 @@
-+#ifndef GLEAP_PLUGINS_CHECK_HPP
-+#define GLEAP_PLUGINS_CHECK_HPP
-+
-+#include <guilib.hpp>
-+
-+namespace amber
-+{
-+
-+ using namespace mort;
-+
-+ class check_command : public command_i
-+ {
-+ public:
-+
-+ check_command();
-+
-+ check_command( bool checkmolcharge, bool checkatomparams,
-+ bool checkbondparams, bool checkangleparams,
-+ bool checkbondlength, bool checkatomclashes,
-+ const string& molnam );
-+
-+ virtual ~check_command();
-+
-+ virtual bool exec();
-+
-+ virtual void undo();
-+
-+ virtual const char* info( ) const;
-+
-+ virtual shared_ptr< command_i > clone( const vector<string>& args ) const;
-+
-+ private:
-+
-+ bool m_checkmolcharge;
-+ bool m_checkatomparams;
-+ bool m_checkbondparams;
-+ bool m_checkangleparams;
-+ bool m_checkbondlength;
-+ bool m_checkatomclashes;
-+ string m_molnam;
-+
-+ };
-+
-+} // namespace amber
-+
-+
-+
-+#endif
-+
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/loadpdb.cpp amber11/AmberTools/src/gleap/plugins/loadpdb.cpp
---- amber11.orig/AmberTools/src/gleap/plugins/loadpdb.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/loadpdb.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -31,28 +31,29 @@
- throw std::runtime_error( "Error: file " + m_file + " doesn't exist" );
- }
-
--
- molecule_ptr pmol( new molecule_t() );
-
- read_pdb( is, *pmol );
-
- string disulf = "auto";
- mortenv().get_s("disulfide", disulf);
-- console_t* pcon = (disulf=="auto") ? NULL : console().get();
-+ if( disulf!="off" )
-+ {
-+ console_t* pcon = (disulf=="auto") ? NULL : console().get();
-
-- double disulfcut = 2.1;
-- string tmp;
-- if( mortenv().get_s("disulfcut", tmp) )
-- {
-- disulfcut = atof( tmp.c_str() );
-- }
-+ double disulfcut = 2.1;
-+ string tmp;
-+ if( mortenv().get_s("disulfcut", tmp) )
-+ {
-+ disulfcut = atof( tmp.c_str() );
-+ }
-
-- disulfide( *pmol, disulfcut, pcon );
-+ disulfide( *pmol, disulfcut, pcon );
-+ }
-
- namemap_ptr nmap = content().get_nmap( "_namemap" );
- if( nmap != NULL )
- {
--
- if( m_action=="loadpdb" )
- {
- mdlize_mdb( *pmol, content() );
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/merge.cpp amber11/AmberTools/src/gleap/plugins/merge.cpp
---- amber11.orig/AmberTools/src/gleap/plugins/merge.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/merge.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -241,6 +241,12 @@
-
-
- morf_t resd = merge(*pmol, *pseg, -1);
-+ if( i==1 )
-+ {
-+ // for the first residue. the head atom need to be unset for counting nunit in topology.
-+ resd.set_i(HEAD, 0);
-+ }
-+
- resd.get_i(HEAD, head);
-
- if( m_action == "sequence" && i > 1)
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/set.cpp amber11/AmberTools/src/gleap/plugins/set.cpp
---- amber11.orig/AmberTools/src/gleap/plugins/set.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/set.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -4,6 +4,29 @@
-
- namespace amber
- {
-+ vector<string> split( const string& a )
-+ {
-+ size_t bgn = a.find( '{' );
-+ if( bgn==string::npos ) bgn = 0;
-+ else bgn = bgn + 1;
-+
-+ size_t end = a.rfind( '}' );
-+ if( end==string::npos ) end = a.length();
-+
-+ vector<string> result;
-+ std::istringstream is( a.substr(bgn, end - bgn) );
-+ string s;
-+ while( is >> s )
-+ {
-+ result.push_back( s );
-+ }
-+
-+ return result;
-+ }
-+
-+
-+
-+
- numvec atov(const string& a, int len)
- {
- std::istringstream is(a);
-@@ -98,9 +121,23 @@
- }
- else if( parm == "box" )
- {
-+ numvec box(4);
- obj.set_i(SOLUTE, BOX);
-- obj.set_v(BOX, atov4d(value) );
-- return true;
-+ vector<string> itmlst = split( value );
-+ if( itmlst.size()==3 || itmlst.size()==4 )
-+ {
-+ box[0] = atof( itmlst[0].c_str() );
-+ box[1] = atof( itmlst[1].c_str() );
-+ box[2] = atof( itmlst[2].c_str() );
-+ box[3] = (itmlst.size()==4) ? atof(itmlst[3].c_str()) : 90.0;
-+ obj.set_v(BOX, box);
-+ return true;
-+ }
-+ else
-+ {
-+ std::cout << "Error: cannot understand box value: " << value << std::endl;
-+ return false;
-+ }
- }
- else if( parm == "cap" )
- {
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/solvate.cpp amber11/AmberTools/src/gleap/plugins/solvate.cpp
---- amber11.orig/AmberTools/src/gleap/plugins/solvate.cpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/solvate.cpp 2011-03-08 16:38:44.000000000 +0300
-@@ -11,9 +11,9 @@
- }
-
- solvate_command::solvate_command( const string& action, const string& solute, const string& solvent,
-- const string& center, const string& extent, double closeness )
-+ const string& center, const string& extent, double closeness, bool iso )
- : m_action( action ), m_solute( solute ), m_center( center ), m_solvent( solvent ),
-- m_extent( extent ), m_closeness( closeness )
-+ m_extent( extent ), m_closeness( closeness ), m_iso(iso)
- {
- }
-
-@@ -33,7 +33,7 @@
- {
- double length = atof( m_extent.c_str() );
-
-- solvatebox( *psolute, *psolvent, length, m_closeness );
-+ solvatebox( *psolute, *psolvent, length, m_closeness, m_iso );
-
- return true;
- }
-@@ -103,7 +103,48 @@
-
- shared_ptr< command_i > solvate_command::clone( const vector< string >& args ) const
- {
-- if( args[0]=="solvatebox" || args[0]=="solvateshell" || args[0]=="solvateoct" )
-+ if( args[0]=="solvatebox" )
-+ {
-+ bool iso = false;
-+ double closeness = 1.0;
-+ if( args.size()==4 )
-+ {
-+ iso = false;
-+ closeness = 1.0;
-+ }
-+ else if( args.size()==5 )
-+ {
-+ if( args[4]=="iso" )
-+ {
-+ iso = true;
-+ closeness = 1.0;
-+ }
-+ else
-+ {
-+ iso = false;
-+ closeness = atof( args[4].c_str() );
-+ }
-+ }
-+ else if( args.size()==6 )
-+ {
-+ if( args[5] != "iso" )
-+ {
-+ throw std::runtime_error( "Error: cannot understand argument: " + args[5] );
-+ }
-+
-+ iso = true;
-+ closeness = atof( args[4].c_str() );
-+ }
-+ else
-+ {
-+ throw std::runtime_error( "Error: wrong number of argument." );
-+ }
-+
-+ return shared_ptr<command_i>( new solvate_command(args[0], args[1], args[2], "", args[3], closeness, iso) );
-+ }
-+
-+
-+ if( args[0]=="solvateshell" || args[0]=="solvateoct" )
- {
- if( args.size()!=4 && args.size()!=5 )
- {
-@@ -111,7 +152,7 @@
- }
-
- double closeness = (args.size()==4) ? 1.0 : atof( args[4].c_str() );
-- return shared_ptr< command_i >( new solvate_command( args[0], args[1], args[2], "", args[3], closeness ) );
-+ return shared_ptr<command_i>( new solvate_command(args[0], args[1], args[2], "", args[3], closeness, false) );
- }
-
- assert( args[0] == "solvatecap" );
-@@ -122,7 +163,7 @@
- }
-
- double closeness = (args.size()==5) ? 1.0 : atof( args[5].c_str() );
-- return shared_ptr< command_i >( new solvate_command( args[0], args[1], args[2], args[3], args[4], closeness ) );
-+ return shared_ptr< command_i >( new solvate_command( args[0], args[1], args[2], args[3], args[4], closeness,false) );
- }
-
- } // namespace amber
-diff -urN amber11.orig/AmberTools/src/gleap/plugins/solvate.hpp amber11/AmberTools/src/gleap/plugins/solvate.hpp
---- amber11.orig/AmberTools/src/gleap/plugins/solvate.hpp 2010-03-31 07:05:14.000000000 +0400
-+++ amber11/AmberTools/src/gleap/plugins/solvate.hpp 2011-03-08 16:38:44.000000000 +0300
-@@ -13,7 +13,7 @@
-
- solvate_command( const string& type );
-
-- solvate_command( const string& action, const string& solute, const string& solvent, const string& center, const string& extent, double closeness );
-+ solvate_command( const string& action, const string& solute, const string& solvent, const string& center, const string& extent, double closeness, bool iso );
-
- virtual ~solvate_command( );
-
-@@ -38,6 +38,8 @@
- string m_extent;
-
- double m_closeness;
-+
-+ bool m_iso;
- };
-
- } // namespace amber
-diff -urN amber11.orig/AmberTools/src/leap/src/leap/basics.c amber11/AmberTools/src/leap/src/leap/basics.c
---- amber11.orig/AmberTools/src/leap/src/leap/basics.c 2010-03-31 07:05:15.000000000 +0400
-+++ amber11/AmberTools/src/leap/src/leap/basics.c 2011-03-08 16:38:44.000000000 +0300
-@@ -462,7 +462,7 @@
- SmPMallocList = mPMem;
-
- sTrailer = ((char*)mPMem)+sizeof(MEMHEADER)+lSize;
-- memcpy( sTrailer, mPMem->sCheck, TRAILERLEN );
-+ memmove( sTrailer, mPMem->sCheck, TRAILERLEN );
-
- return ((char*)mPMem) + sizeof(MEMHEADER);
- }
-@@ -528,7 +528,7 @@
- if ( mPMem == NULL ) {
- DFATAL(( "Could not malloc in REALLOC: %s\n", strerror(errno) ));
- }
-- memcpy( mPMem, mPPrevious,
-+ memmove( mPMem, mPPrevious,
- MIN( lSize, mPPrevious->lSize) + sizeof(MEMHEADER)+TRAILERLEN );
-
- strcpy( mPPrevious->sCheck, FREESTR );
-@@ -540,7 +540,8 @@
- /* Fill the trailer */
-
- sTrailer = ((char*)mPMem)+sizeof(MEMHEADER)+lSize;
-- strcpy( sTrailer, mPMem->sCheck );
-+ memmove( sTrailer, mPMem->sCheck, strlen(mPMem->sCheck) );
-+ sTrailer[strlen(mPMem->sCheck)]='\0';
-
- return ((char*)mPMem) + sizeof(MEMHEADER);
- }
-diff -urN amber11.orig/AmberTools/src/leap/src/leap/database.c amber11/AmberTools/src/leap/src/leap/database.c
---- amber11.orig/AmberTools/src/leap/src/leap/database.c 2010-03-31 07:05:15.000000000 +0400
-+++ amber11/AmberTools/src/leap/src/leap/database.c 2011-03-08 16:38:44.000000000 +0300
-@@ -594,6 +594,7 @@
- sStripString( char *sLine, char *sStr )
- {
- char c, *sCur, *sStart;
-+int mylength;
-
- sCur = sLine;
- sStart = sStr;
-@@ -615,8 +616,10 @@
- (*sStr++) = c;
- } while ( (*sCur) != '\0' );
- *sStr = '\0';
-- strcpy( sLine, sCur );
--
-+ mylength=strlen(sCur);
-+ //strcpy( sLine, sCur );
-+ memmove(sLine, sCur, mylength);
-+ sLine[mylength]='\0';
- return(sStart);
- }
-
-diff -urN amber11.orig/AmberTools/src/leap/src/leap/sort.c amber11/AmberTools/src/leap/src/leap/sort.c
---- amber11.orig/AmberTools/src/leap/src/leap/sort.c 2010-03-31 07:05:15.000000000 +0400
-+++ amber11/AmberTools/src/leap/src/leap/sort.c 2011-03-08 16:38:44.000000000 +0300
-@@ -217,9 +217,9 @@
- /* If false then swap it with the bottom of the false */
- /* group, and leave the current pointer where it is */
-
-- memcpy( PSwapBuffer, PCur, iElementSize );
-- memcpy( PCur, PTop, iElementSize );
-- memcpy( PTop, PSwapBuffer, iElementSize );
-+ memmove( PSwapBuffer, PCur, iElementSize );
-+ memmove( PCur, PTop, iElementSize );
-+ memmove( PTop, PSwapBuffer, iElementSize );
-
- PTop = (char*)PTop - iElementSize;
- iBottomFalse--;
-diff -urN amber11.orig/AmberTools/src/leap/src/leap/stringExtra.c amber11/AmberTools/src/leap/src/leap/stringExtra.c
---- amber11.orig/AmberTools/src/leap/src/leap/stringExtra.c 2010-03-31 07:05:15.000000000 +0400
-+++ amber11/AmberTools/src/leap/src/leap/stringExtra.c 2011-03-08 16:38:44.000000000 +0300
-@@ -130,10 +130,13 @@
- sRemoveLeadingSpaces( char *sLine )
- {
- char *sTemp;
--
-+int mylength;
- sTemp = sLine;
- while ( (*sTemp==' ') && ( *sTemp!='\0' )) sTemp++;
-- strcpy( sLine, sTemp );
-+ mylength=strlen(sTemp);
-+ //strcpy( sLine, sTemp );
-+ memmove(sLine, sTemp, mylength);
-+ sLine[mylength]='\0';
- return(sLine);
- }
-
-@@ -152,6 +155,7 @@
- sRemoveFirstString( char *sLine, char *sHead )
- {
- char *sTemp;
-+int mylength;
-
- sTemp = sLine;
- while ( (*sTemp!=' ') && ( *sTemp!='\0' )) sTemp++;
-@@ -163,7 +167,11 @@
- *sTemp = '\0';
- strcpy( sHead, sLine );
- sTemp++;
-- strcpy( sLine, sTemp );
-+ mylength=strlen(sTemp);
-+ //strcpy( sLine, sTemp );
-+ memmove(sLine, sTemp, mylength);
-+ sLine[mylength]='\0';
-+
- }
-
-
-diff -urN amber11.orig/AmberTools/src/leap/src/leap/xaCommand.c amber11/AmberTools/src/leap/src/leap/xaCommand.c
---- amber11.orig/AmberTools/src/leap/src/leap/xaCommand.c 2010-03-31 07:05:15.000000000 +0400
-+++ amber11/AmberTools/src/leap/src/leap/xaCommand.c 2011-03-08 16:38:44.000000000 +0300
-@@ -837,7 +837,7 @@
- * at the top of the list
- */
- qsort( saPNames, iNumber, sizeof(STRING),
-- (int (*) (void *, void *) )ziXACCompareTwoDirectoryEntries );
-+ (int (*) (const void *, const void *) )ziXACCompareTwoDirectoryEntries );
-
- /*
- * Reformulate as an array of pointers to char
-diff -urN amber11.orig/AmberTools/src/pbsa/pb_init.f amber11/AmberTools/src/pbsa/pb_init.f
---- amber11.orig/AmberTools/src/pbsa/pb_init.f 2010-03-31 07:05:15.000000000 +0400
-+++ amber11/AmberTools/src/pbsa/pb_init.f 2011-03-08 16:38:44.000000000 +0300
-@@ -153,6 +153,7 @@
-
- integer ires, iatm, jatm, maxmax, ic, i, j, jp, idum
- integer alloc_err(64)
-+ _REAL_ maxnbr_l, maxnba_l
- _REAL_ rinchk
- _REAL_ ucrgh(natom), ucrga(natom)
- character (len=4) :: residue, resid(natom)
-@@ -207,16 +208,24 @@
-
- ! allocate pb nblists
-
-- maxnba = natom * ( sqrt( max(cutnb,cutsa,cutfd) ) )**3 / 3.0d0
-- maxnbr = natom * ( sqrt( cutres ) + 3.0d0 )**3 / 3.0d0
-+ maxnba_l = dble(natom) * ( sqrt( max(cutnb,cutsa,cutfd) ) )**3 / 3.0d0
-+ maxnbr_l = dble(natom) * ( sqrt( cutres ) + 3.0d0 )**3 / 3.0d0
- if ( natom >= 65536 ) then
- write(6,'(a)') "PB Warnning: natom**2 exceeds integer limit (2147483647)."
- maxmax = 2147483647
- else
- maxmax = ceiling(dble(natom)/2*dble(natom))
-- endif
-- if ( maxnba > maxmax ) maxnba = maxmax
-- if ( maxnbr > maxmax ) maxnbr = maxmax
-+ end if
-+ if ( maxnbr_l > maxmax ) then
-+ maxnbr = maxmax
-+ else
-+ maxnbr = int(maxnbr_l)
-+ end if
-+ if ( maxnba_l > maxmax ) then
-+ maxnba = maxmax
-+ else
-+ maxnba = int(maxnba_l)
-+ end if
-
- allocate( iar1pb (6,0:natom), stat = alloc_err(24) )
- allocate( iprshrt( maxnba ), stat = alloc_err(25) )
-diff -urN amber11.orig/AmberTools/src/ptraj/actions.c amber11/AmberTools/src/ptraj/actions.c
---- amber11.orig/AmberTools/src/ptraj/actions.c 2010-03-31 07:05:16.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/actions.c 2011-03-08 16:38:44.000000000 +0300
-@@ -3655,6 +3655,8 @@
- {
- action->mask = processAtomMask("*", action->state);
- }
-+ if (action->mask==NULL)
-+ return INVALID_ARGUMENTS_RETURN_CODE;
- /* Create a new "substate" trajInfo->state containing only some atoms: */
- modifyStateByMask(&trajInfo->state, &action->state, action->mask, 0);
- trajInfo->atoms = trajInfo->state->atoms;
-@@ -16406,6 +16408,10 @@
- residues[i].antiparallelSheetProb = 0;
- residues[i].turnProb = 0;
- residues[i].isActive = 0;
-+ residues[i].H=-1;
-+ residues[i].C=-1;
-+ residues[i].N=-1;
-+ residues[i].O=-1;
- }
- actRes = 0;
- for (i = 0; i < action->state->atoms; i++) {
-diff -urN amber11.orig/AmberTools/src/ptraj/cluster.c amber11/AmberTools/src/ptraj/cluster.c
---- amber11.orig/AmberTools/src/ptraj/cluster.c 2010-03-31 07:05:16.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/cluster.c 2011-03-08 16:38:44.000000000 +0300
-@@ -4041,7 +4041,7 @@
- OutputTrajInfo = (trajectoryInfo*)action->carg2;
- }
-
-- if (!FirstOutputFlag)
-+ if (FirstOutputFlag==NULL)
- {
- FirstOutputFlag = (int*)SafeMalloc(__FILE__, __LINE__, sizeof(int) * This->ClusterCount);
- memset(FirstOutputFlag, 1, sizeof(int) * This->ClusterCount);
-@@ -4089,7 +4089,7 @@
- * to avoid crashing out if we hit the OS-level file-size limit:
- */
- FileNumber[ClusterIndex] = FileNumber[ClusterIndex] + 1;
-- fclose(OutputFiles[ClusterIndex]);
-+ safe_fclose(OutputFiles[ClusterIndex]);
- FirstOutputFlag[ClusterIndex] = 1;
- FirstFlag = 1;
- }
-diff -urN amber11.orig/AmberTools/src/ptraj/io.c amber11/AmberTools/src/ptraj/io.c
---- amber11.orig/AmberTools/src/ptraj/io.c 2010-03-31 07:05:16.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/io.c 2011-03-08 16:38:44.000000000 +0300
-@@ -673,6 +673,107 @@
- }
- }
-
-+/* gzipFileSize()
-+ * DRR: Return the uncompressed size in bytes of gzipped file by peeking
-+ * at the last 4 bytes.
-+ * NOTE: long long int should be equivalent to off_t.
-+ */
-+long long int gzipFileSize(char *filename) {
-+ FILE *infile;
-+ unsigned char b1,b2,b3,b4;
-+ long long int val,temp;
-+
-+ if (filename==NULL) return -1;
-+ if ( (infile = fopen(filename,"rb"))==NULL ) {
-+ fprintf(stdout,"Error: gzipFileSize: Could not open %s for reading.\n",filename);
-+ return -1;
-+ }
-+
-+ // Place 4 bytes from the end
-+ fseek(infile, -4, SEEK_END);
-+
-+ b1=0; b2=0; b3=0; b4=0;
-+ fread(&b4,1,1,infile);
-+ fread(&b3,1,1,infile);
-+ fread(&b2,1,1,infile);
-+ fread(&b1,1,1,infile);
-+
-+ val = 0;
-+ temp = (long long int) b1;
-+ temp <<= 24;
-+ val = val | temp;
-+ temp = (long long int) b2;
-+ temp <<= 16;
-+ val = val | temp;
-+ temp = (long long int) b3;
-+ temp <<= 8;
-+ val = val | temp;
-+ temp = (long long int) b4;
-+ val = val | temp;
-+
-+ //val = (b1 << 24) | (b2 << 16) + (b3 << 8) + b4;
-+
-+ fclose(infile);
-+
-+ if (prnlev>0) fprintf(stdout,"gzipFileSize: Uncompressed size of %s: %lli\n",filename,val);
-+
-+ return val;
-+}
-+
-+/*
-+ * bzip2FileSize()
-+ * DRR: Return the uncompressed size of bzip2 file in bytes by counting
-+ * all characters using bzcat and wc.
-+ */
-+long long int bzip2FileSize(char *filename) {
-+ long long int val;
-+ char *command;
-+ FILE *pipe;
-+
-+ if (filename==NULL) return -1;
-+ // Use bzcat <file> | wc -c to calc file size
-+ command=(char*) malloc( (15 + strlen(filename)) * sizeof(char));
-+ sprintf(command,"bzcat %s | wc -c",filename);
-+ if ((pipe=popen(command,"r"))==NULL) {
-+ fprintf(stdout,"Error: bzip2FileSize: Could not open %s for reading.\n",filename);
-+ fprintf(stdout," Check that bzcat and wc are present on your system.\n");
-+ return -1;
-+ }
-+ fscanf(pipe,"%lli",&val);
-+ pclose(pipe);
-+
-+ if (prnlev>0) fprintf(stdout,"bzip2FileSize: Uncompressed size of %s: %lli\n",filename,val);
-+
-+ return val;
-+}
-+
-+/*
-+ * zipFileSize()
-+ * DRR: Return the uncompressed size of zip file in bytes by counting
-+ * all characters using unzip and wc.
-+ */
-+long long int zipFileSize(char *filename) {
-+ long long int val;
-+ char *command;
-+ FILE *pipe;
-+
-+ if (filename==NULL) return -1;
-+ // Use unzip -p <file> | wc -c to calc file size
-+ command=(char*) malloc( (18 + strlen(filename)) * sizeof(char));
-+ sprintf(command,"unzip -p %s | wc -c",filename);
-+ if ((pipe=popen(command,"r"))==NULL) {
-+ fprintf(stdout,"Error: zipFileSize: Could not open %s for reading.\n",filename);
-+ fprintf(stdout," Check that unzip and wc are present on your system.\n");
-+ return -1;
-+ }
-+ fscanf(pipe,"%lli",&val);
-+ pclose(pipe);
-+
-+ if (prnlev>0) fprintf(stdout,"zipFileSize: Uncompressed size of %s: %lli\n",filename,val);
-+
-+ return val;
-+}
-+
- /* DAN ROE:
- * id_Filesig(): Attempt to identify the file type by first 3 hex vals.
- * A filename or an open stream should be supplied.
-@@ -689,7 +790,7 @@
- * -2: Internal error
- */
- int id_Filesig(char *filename, FILE *infile) {
-- int *h;
-+ unsigned char *h;
- int i, type;
-
- /* Check that either filename or infile is specified, but not both */
-@@ -712,7 +813,7 @@
- rewind(infile);
-
- /* Read first 3 bytes from file */
-- h=(int*) calloc(3,sizeof(int));
-+ h=(unsigned char*) calloc(3,sizeof(unsigned char));
- fread(h,1,1,infile);
- fread(h+1,1,1,infile);
- fread(h+2,1,1,infile);
-diff -urN amber11.orig/AmberTools/src/ptraj/io.h amber11/AmberTools/src/ptraj/io.h
---- amber11.orig/AmberTools/src/ptraj/io.h 2010-03-31 07:05:16.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/io.h 2011-03-08 16:38:44.000000000 +0300
-@@ -76,6 +76,9 @@
-
- extern void doSystem(char *);
- extern char * promptToOpenFile( FILE **, char *, char *, char *);
-+extern long long int gzipFileSize(char *);
-+extern long long int bzip2FileSize(char *);
-+extern long long int zipFileSize(char *);
- extern int id_Filesig(char *,FILE *);
- extern int openFile( FILE **, char *, char *);
- extern int promptUserResponse(FILE *, FILE *, char *, char *, int);
-@@ -94,6 +97,9 @@
-
- extern void doSystem();
- extern char * promptToOpenFile();
-+extern long long int gzipFileSize();
-+extern long long int bzip2FileSize();
-+extern long long int zipFileSize();
- extern int id_Filesig();
- extern int openFile();
- extern int promptUserResponse();
-diff -urN amber11.orig/AmberTools/src/ptraj/ptraj.c amber11/AmberTools/src/ptraj/ptraj.c
---- amber11.orig/AmberTools/src/ptraj/ptraj.c 2010-04-23 18:17:17.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/ptraj.c 2011-03-08 16:38:44.000000000 +0300
-@@ -2058,7 +2058,8 @@
- int lines_per_set;
- int start = 1;
- int stop = 1;
-- int frame_lines, frame_size, title_size, seekable;
-+ int frame_lines, title_size, seekable;
-+ long long int file_size, frame_size;
- long int endoffset;
- float *binposScratch;
- FILE *fp;
-@@ -2414,12 +2415,34 @@
- fprintf(stderr, "WARNING in %s: Could not find file status for %s\n", ROUTINE, filename);
- return NULL;
- }
-+
-+ // Determine Uncompressed File Size for Nframes calculation
-+ file_size=0;
-+ if (trajInfo->compressType==1) // Gzip
-+ file_size=gzipFileSize(filename);
-+ else if (trajInfo->compressType==2) // Bzip2
-+ file_size=bzip2FileSize(filename);
-+ else if (trajInfo->compressType==3) // Zip
-+ file_size=zipFileSize(filename);
-+ if (file_size<0) {
-+ fprintf(stdout,
-+ "ERROR in %s: Could not calculate uncompressed file size for %s\n",
-+ ROUTINE, filename);
-+ return NULL;
-+ }
-+ if (file_size==0) file_size=frame_stat.st_size;
-+
- if (prnlev>0)
-- fprintf(stdout,"[%i] Title offset %u Frame Size %u File size %lu\n",
-- worldrank,trajInfo->titleSize,trajInfo->frameSize,frame_stat.st_size);
-- if (((frame_stat.st_size - trajInfo->titleSize) % (trajInfo->frameSize)) == 0) {
-+ fprintf(stdout,"[%i] Title offset %u Frame Size %u File size %lli\n",
-+ worldrank,trajInfo->titleSize,trajInfo->frameSize,file_size);
-+ frame_size = (long long int) trajInfo->titleSize;
-+ file_size = file_size - frame_size; // Subtract title size from file total size.
-+ frame_size = (long long int) trajInfo->frameSize;
-+ trajInfo->Nframes = (int) (file_size / frame_size);
-+ if (prnlev>0) fprintf(stdout," File has %i frames.\n",trajInfo->Nframes);
-+ if ( (file_size % frame_size) == 0 ) {
- seekable = 1;
-- stop = (int) ((frame_stat.st_size - trajInfo->titleSize) / trajInfo->frameSize);
-+ stop = trajInfo->Nframes;
- } else {
- stop = -1;
- seekable = 0;
-@@ -2538,7 +2561,8 @@
- printfone(" With this version of the code, this will likely lead to program failure!!!\n");
- }
-
--
-+ // Set number of frames. Amber trajectory sets Nframes above
-+ if (trajInfo->Nframes==0 && stop>0) trajInfo->Nframes=stop;
- trajInfo->start = start;
- trajInfo->stop = stop;
- trajInfo->offset = 1;
-@@ -4182,7 +4206,7 @@
- fprintf(stderr,"Could not get replica temperature from file# %i\n",i);
- break;
- }
-- fprintf(stdout," Replica %i mytemp=%lf ",i,repTemp); //DEBUG
-+ if (prnlev>0) fprintf(stdout," Replica %i mytemp=%lf ",i,repTemp); //DEBUG
- if (repTemp==currentCoordinateInfo->remdtrajtemp) {
- if (prnlev>0) fprintf(stdout,
- " REMD target temperature (%lf) found (%lf) at replica index %i\n",
-@@ -7078,6 +7102,7 @@
- stackType *sp, *argumentStack;
- ptrajState *startingState, *currentState, **statep;
- char *continuation;
-+ int totalFrames;
-
- int readCoordinates;
- int processCoordinates;
-@@ -7140,8 +7165,8 @@
- */
-
- argumentStack = NULL;
-- while ( (bufferp = fgets(buffer, BUFFER_SIZE, infile)) != NULL &&
-- strcmp(bufferp, "go\n") != 0 ) {
-+ while ( (bufferp = fgets(buffer, BUFFER_SIZE, infile)) != NULL ) {
-+ if ( strncmp(bufferp, "go", 2) == 0 ) break;
-
- continuation = bufferp;
- while ( continuation != NULL ) {
-@@ -7218,18 +7243,25 @@
- */
-
- startingState->maxFrames = 0;
-+ totalFrames=0;
- for (sp = transformFileStack; sp != NULL; sp = sp->next) {
- currentCoordinateInfo = (coordinateInfo *) sp->entry;
-
-+ fprintf(stdout," %s: %i frames.\n",currentCoordinateInfo->filename,currentCoordinateInfo->Nframes);
-+
- startingState->maxFrames += (currentCoordinateInfo->stop -
- currentCoordinateInfo->start) /
- currentCoordinateInfo->offset + 1;
-+ // In case we dont know how many frames will be processed, use total number of frames
-+ totalFrames += currentCoordinateInfo->Nframes;
- }
-
- printfone("\nPTRAJ: Successfully read the input file.\n");
-- if (startingState->maxFrames == -1)
-+ if (startingState->maxFrames == -1) {
- printfone(" Coordinate processing will occur until EOF (unknown number of frames).\n");
-- else
-+ // Use total frames for action memory alloc.
-+ startingState->maxFrames = totalFrames;
-+ } else
- printfone(" Coordinate processing will occur on %i frames.\n",
- startingState->maxFrames);
- printfone(" Summary of I/O and actions follows:\n\n");
-diff -urN amber11.orig/AmberTools/src/ptraj/trajectory.c amber11/AmberTools/src/ptraj/trajectory.c
---- amber11.orig/AmberTools/src/ptraj/trajectory.c 2010-03-31 07:05:16.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/trajectory.c 2011-03-08 16:38:44.000000000 +0300
-@@ -2341,15 +2341,22 @@
-
- /* trajFile_fseek()
- * Wrapper for fseek. Seek to a given frame.
-+ * fseeko is used for better compatibility with large files. To avoid
-+ * losing bits each variable is explicitly converted to off_t in offset
-+ * calculation.
- */
- int trajFile_fseek(coordinateInfo *C, int frame) {
- int err;
-+ off_t offset;
-
- if (C==NULL) return -1;
-
-- if (C->isMPI==0)
-- err=fseek(C->file, C->titleSize+(frame*C->frameSize), SEEK_SET);
-- else
-+ if (C->isMPI==0) {
-+ offset = (off_t) frame;
-+ offset *= (off_t) C->frameSize;
-+ offset += (off_t) C->titleSize;
-+ err=fseeko(C->file, offset, SEEK_SET);
-+ } else
- err=parallel_fseek(C,frame);
-
- return err;
-diff -urN amber11.orig/AmberTools/src/ptraj/trajectory.h amber11/AmberTools/src/ptraj/trajectory.h
---- amber11.orig/AmberTools/src/ptraj/trajectory.h 2010-03-31 07:05:16.000000000 +0400
-+++ amber11/AmberTools/src/ptraj/trajectory.h 2011-03-08 16:38:44.000000000 +0300
-@@ -168,6 +168,7 @@
- char *filename; // File name
- int start; // Frame to start processing
- int stop; // Frame to end processing
-+ int Nframes; // Total number of frames in the file.
- int offset; // # of frames to skip
- int append; // File will be appended to
- int isBox; // File has box information
-@@ -230,6 +231,7 @@
- _p_->filename = NULL; \
- _p_->start = 1; \
- _p_->stop = -1; \
-+ _p_->Nframes = 0; \
- _p_->offset = 1; \
- _p_->append = 0; \
- _p_->isBox = 0; \
-diff -urN amber11.orig/AmberTools/src/rism/amber_rism_interface.f amber11/AmberTools/src/rism/amber_rism_interface.f
---- amber11.orig/AmberTools/src/rism/amber_rism_interface.f 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/src/rism/amber_rism_interface.f 2011-03-08 16:38:44.000000000 +0300
-@@ -501,7 +501,8 @@
- call timer_stop(TIME_REORIENT)
- !linproj predict
- call timer_start(TIME_CRDINTERP)
-- call fce_force(fce_o,ff,rism_3d%solu%ratu)
-+ if(rismprm%apply_rism_force==1)&
-+ call fce_force(fce_o,ff,rism_3d%solu%ratu)
- call timer_stop(TIME_CRDINTERP)
-
- call timer_start(TIME_REORIENT)
-@@ -537,16 +538,17 @@
- end if
- #else /*SANDER*/
- #endif /*SANDER*/
-- call rism3d_force(rism_3d,ff)
-- if(rismprm%zerofrc==1)then
-+ if(rismprm%apply_rism_force==1)then
-+ call rism3d_force(rism_3d,ff)
-+ if(rismprm%zerofrc==1)then
- #ifdef MPI
-- call corr_drift(ff,rism_3d%solu%mass,rism_3d%solu%natom,&
-- mpirank,mpisize,mpicomm)
-+ call corr_drift(ff,rism_3d%solu%mass,rism_3d%solu%natom,&
-+ mpirank,mpisize,mpicomm)
- #else
-- call corr_drift(ff,rism_3d%solu%mass,rism_3d%solu%natom)
-+ call corr_drift(ff,rism_3d%solu%mass,rism_3d%solu%natom)
- #endif /*MPI*/
-+ end if
- end if
--
- !get the excess chemical potential
- call timer_start(TIME_EXCHEM)
- if(rismprm%gauss_fluct == 0)then
-@@ -563,12 +565,12 @@
- #endif /*defined(MPI)*/
- end if
- call timer_stop(TIME_EXCHEM)
--
-+
- #ifdef RISM_CRDINTERP
- call timer_start(TIME_REORIENT)
- call orient(rism_3d,ff,qback)
- call timer_stop(TIME_REORIENT)
-- if(rismprm%fcestride >0)then
-+ if(rismprm%fcestride >0 .and. rismprm%apply_rism_force==1)then
- call timer_start(TIME_SAVECRDINTERP)
- call fce_update(fce_o,ff,rism_3d%solu%ratu)
- call timer_stop(TIME_SAVECRDINTERP)
-@@ -586,7 +588,6 @@
-
- end if
- if(rismprm%apply_rism_force==1) frc = frc+ff
-- call flush(6)
- return
- end subroutine rism_force
-
-@@ -1087,6 +1088,7 @@
- subroutine rism_writeSolvDistF(this,step)
- use amber_rism_interface
- use rism3d_opendx
-+ use safemem
- implicit none
- #if defined(MPI)
- include 'mpif.h'
-@@ -1097,9 +1099,18 @@
- character(len=16) :: cstep
- character(len=64) :: suffix
- integer :: unit = 99,iostat=0
-+#ifdef MPI
-+ integer :: err
-+ _REAL_, pointer::work(:,:,:)=>NULL()
-+#endif /*MPI*/
- #ifdef RISM_DEBUG
- write(6,*) "printrism"
- #endif
-+#ifdef MPI
-+ if(len_trim(guvfile) /= 0 .or. len_trim(huvfile) /= 0)then
-+ work => reallocate_pointer(work, this%ng3(1), this%ng3(2), this%nz_local)
-+ end if
-+#endif /*MPI*/
- !................... outputting Guv and Cuv profiles ...................
- do iv=1,this%solv%natom
- write(cstep,'(i16)') step
-@@ -1112,9 +1123,15 @@
- call mexit(6,1)
- end if
- # if defined(MPI)
-+ do k=1,this%nz_local
-+ do j=1,this%ng3(2)
-+ do i=1,this%ng3(1)
-+ work(i,j,k) = this%guv(i+(j-1)*(this%ng3(1)+2)+(k-1)*(this%ng3(1)+2)*this%ng3(2),iv)
-+ end do
-+ end do
-+ end do
- call writeDX(unit,&
-- (/(((this%guv(i+(j-1)*(this%ng3(1)+2)+(k-1)*(this%ng3(1)+2)*this%ng3(2),iv)&
-- ,i=1,this%ng3(1)),j=1,this%ng3(2)),k=1,this%nz_local)/),&
-+ work,&
- this%boxlen,this%ng3_local,this%ng3(3),this%ratucm,&
- mpirank,mpisize,mpicomm)
- # else
-@@ -1131,9 +1148,16 @@
- call mexit(6,1)
- end if
- # if defined(MPI)
-+
-+ do k=1,this%nz_local
-+ do j=1,this%ng3(2)
-+ do i=1,this%ng3(1)
-+ work(i,j,k) =this%huv(i+(j-1)*(this%ng3(1)+2)+(k-1)*(this%ng3(1)+2)*this%ng3(2),iv)
-+ end do
-+ end do
-+ end do
- call writeDX(unit,&
-- (/(((this%huv(i+(j-1)*(this%ng3(1)+2)+(k-1)*(this%ng3(1)+2)*this%ng3(2),iv)&
-- ,i=1,this%ng3(1)),j=1,this%ng3(2)),k=1,this%nz_local)/),&
-+ work,&
- this%boxlen,this%ng3_local,this%ng3(3),this%ratucm,&
- mpirank,mpisize,mpicomm)
- # else
-@@ -1160,6 +1184,9 @@
- if(mpirank==0)close(unit)
- endif
- end do
-+#ifdef MPI
-+ err = safe_deallocate(work)
-+#endif /*MPI*/
- end subroutine rism_writeSolvDistF
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-diff -urN amber11.orig/AmberTools/src/rism/rism3d_c.f amber11/AmberTools/src/rism/rism3d_c.f
---- amber11.orig/AmberTools/src/rism/rism3d_c.f 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/src/rism/rism3d_c.f 2011-03-08 16:38:44.000000000 +0300
-@@ -911,7 +911,7 @@
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine rism3d_aexchem_sp (this,xmu0,xmu0sp,egf)
- use constants, only : PI,KB,AMBER_ELECTROSTATIC2
-- use rism_util, only : gaussquad_legendre
-+ use rism_util, only : gaussquad_legendre, checksum
- implicit none
- #if defined(MPI)
- include 'mpif.h'
-@@ -947,132 +947,130 @@
- call flush(6)
- #endif /*RISM_DEBUG*/
-
-+ !.....total charge of solute
-+ qut = sum(this%solu%charge)
- !.....getting the numerical long-range contribution
- egf = 0
-- eqkt = AMBER_ELECTROSTATIC2/KB/this%solv%temperature
--
-- Nintmx = 200
-- if(Nintmx > ntvlmx)then
-- write(6,'(1X,"Nintmx gt ntvlmx",I10)')ntvlmx
-- call mexit(6,1)
-- endif
--
-- !.....initialize gauss-legendre integration
-- call gaussquad_legendre (0d0,1d0,argum,weight,Nintmx)
-- sumhc = 0.d0
-- sumh2 = 0.d0
--
-- !.....k loop
-- do ik = 1, Nintmx
--
-- k = argum(ik)/(1.d0-argum(ik))
--
-- !.....Bessel part
-- sumb = 0.d0
--
-- do i=2,this%solu%natom
-- do j=1,i-1
--
-- !......... site separation ..........
-- dx = this%solu%ratu(1,i) - this%solu%ratu(1,j)
-- dy = this%solu%ratu(2,i) - this%solu%ratu(2,j)
-- dz = this%solu%ratu(3,i) - this%solu%ratu(3,j)
--
-- r2 = dx*dx + dy*dy + dz*dz
--
-- xarg = this%solv%xappa*k*sqrt(r2)
-- if(xarg == 0.d0) &
-- sumb = sumb + 1.d0*this%solu%charge(i)*this%solu%charge(j)
-- if(xarg /= 0.d0) &
-- sumb = sumb + sin(xarg)/xarg *this%solu%charge(i)*this%solu%charge(j)
-
-+ if(this%mpirank==0)then
-+ eqkt = AMBER_ELECTROSTATIC2/KB/this%solv%temperature
-+ Nintmx = 200
-+ if(Nintmx > ntvlmx)then
-+ write(6,'(1X,"Nintmx gt ntvlmx",I10)')ntvlmx
-+ call mexit(6,1)
-+ endif
-+
-+ !.....initialize gauss-legendre integration
-+ call gaussquad_legendre (0d0,1d0,argum,weight,Nintmx)
-+ sumhc = 0.d0
-+ sumh2 = 0.d0
-+
-+ !.....k loop
-+ do ik = 1, Nintmx
-+
-+ k = argum(ik)/(1.d0-argum(ik))
-+
-+ !.....Bessel part
-+ sumb = 0.d0
-+
-+ do i=2,this%solu%natom
-+ do j=1,i-1
-+
-+ !......... site separation ..........
-+ dx = this%solu%ratu(1,i) - this%solu%ratu(1,j)
-+ dy = this%solu%ratu(2,i) - this%solu%ratu(2,j)
-+ dz = this%solu%ratu(3,i) - this%solu%ratu(3,j)
-+
-+ r2 = dx*dx + dy*dy + dz*dz
-+
-+ xarg = this%solv%xappa*k*sqrt(r2)
-+ if(xarg == 0.d0) &
-+ sumb = sumb + 1.d0*this%solu%charge(i)*this%solu%charge(j)
-+ if(xarg /= 0.d0) &
-+ sumb = sumb + sin(xarg)/xarg *this%solu%charge(i)*this%solu%charge(j)
-+
-+ enddo
- enddo
-- enddo
--
-- sumb = sumb*2.d0
--
-- do i=1,this%solu%natom
-- sumb = sumb + 1.d0*this%solu%charge(i)*this%solu%charge(i)
-- enddo
--
-- !.....end of Bessel part
--
-- x2arg = (k*this%solv%xappa*this%solv%smear)**2
-- k2 = k**2
--
-- denom = argum(ik)**2+(1.0d0-argum(ik))**2
--
-- sumhc = sumhc + &
-- exp(-x2arg/2.d0)/denom*sumb*weight(ik)
-- sumh2 = sumh2 + &
-- exp(-x2arg/2.d0)*argum(ik)**2/(denom**2)*sumb*weight(ik)
--
-- enddo
--
-- !.....end of k-loop
--
-- !.....total charge of solute
-- qut = 0.d0
-- do i = 1,this%solu%natom
-- qut = qut + this%solu%charge(i)
-- enddo
-- !.....site xappa
-- if (this%closure == KH) then
-+
-+ sumb = sumb*2.d0
-+
-+ do i=1,this%solu%natom
-+ sumb = sumb + 1.d0*this%solu%charge(i)*this%solu%charge(i)
-+ enddo
-+
-+ !.....end of Bessel part
-+
-+ x2arg = (k*this%solv%xappa*this%solv%smear)**2
-+ k2 = k**2
-+
-+ denom = argum(ik)**2+(1.0d0-argum(ik))**2
-+
-+ sumhc = sumhc + &
-+ exp(-x2arg/2.d0)/denom*sumb*weight(ik)
-+ sumh2 = sumh2 + &
-+ exp(-x2arg/2.d0)*argum(ik)**2/(denom**2)*sumb*weight(ik)
-+
-+ enddo
-+
-+ !.....end of k-loop
-+
-+ !.....site xappa
-+ if (this%closure == KH) then
-+ do iv = 1,this%solv%natom
-+ if(qut*this%solv%charge_sp(iv) <= 0.d0) &
-+ xmuh2lr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge_sp(iv)**2
-+ if(qut*this%solv%charge_sp(iv) > 0.d0) &
-+ xmuh2lr(iv) = 0.d0
-+ xmuhclr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge(iv)*this%solv%charge_sp(iv)
-+ enddo
-+ else
-+ do iv = 1,this%solv%natom
-+ xmuh2lr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge_sp(iv)**2
-+ xmuhclr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge(iv)*this%solv%charge_sp(iv)
-+ enddo
-+ endif
-+
-+ !.....unit for xappa
- do iv = 1,this%solv%natom
-- if(qut*this%solv%charge_sp(iv) <= 0.d0) &
-- xmuh2lr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge_sp(iv)**2
-- if(qut*this%solv%charge_sp(iv) > 0.d0) &
-- xmuh2lr(iv) = 0.d0
-- xmuhclr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge(iv)*this%solv%charge_sp(iv)
-+ xmuh2lr(iv) = xmuh2lr(iv) * eqkt
-+ xmuhclr(iv) = xmuhclr(iv) * eqkt
- enddo
-- else
-+
-+ !.....divided by total xappa
-+ if(this%solv%xappa /= 0.d0)then
-+ do iv = 1,this%solv%natom
-+ xmuh2lr(iv) = xmuh2lr(iv) / this%solv%xappa
-+ xmuhclr(iv) = xmuhclr(iv) / this%solv%xappa
-+ enddo
-+ else
-+ do iv = 1,this%solv%natom
-+ xmuh2lr(iv) = 0.d0
-+ xmuhclr(iv) = 0.d0
-+ enddo
-+ endif
-+
-+ !.....multiplying xmulr by integral
- do iv = 1,this%solv%natom
-- xmuh2lr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge_sp(iv)**2
-- xmuhclr(iv) = 4.d0*PI/(this%solv%dielconst) * this%solv%rho(iv)*this%solv%charge(iv)*this%solv%charge_sp(iv)
-+ xmuh2lr(iv) = xmuh2lr(iv)*sumh2
-+ xmuhclr(iv) = - xmuhclr(iv)*sumhc
- enddo
-- endif
--
-- !.....unit for xappa
-- do iv = 1,this%solv%natom
-- xmuh2lr(iv) = xmuh2lr(iv) * eqkt
-- xmuhclr(iv) = xmuhclr(iv) * eqkt
-- enddo
--
-- !.....divided by total xappa
-- if(this%solv%xappa /= 0.d0)then
-+
-+ sumh2 = 0.d0
-+ sumhc = 0.d0
- do iv = 1,this%solv%natom
-- xmuh2lr(iv) = xmuh2lr(iv) / this%solv%xappa
-- xmuhclr(iv) = xmuhclr(iv) / this%solv%xappa
-+ sumh2 = sumh2 + xmuh2lr(iv)
-+ sumhc = sumhc + xmuhclr(iv)
- enddo
-- else
-+
-+ !.....J devided by KT
-+ sumh2 = sumh2 / (PI*this%solv%dielconst) * eqkt
-+ sumhc = sumhc / PI * eqkt
- do iv = 1,this%solv%natom
-- xmuh2lr(iv) = 0.d0
-- xmuhclr(iv) = 0.d0
-+ xmuh2lr(iv) = xmuh2lr(iv) / (PI*this%solv%dielconst) * eqkt
-+ xmuhclr(iv) = xmuhclr(iv) / PI * eqkt
- enddo
-- endif
--
-- !.....multiplying xmulr by integral
-- do iv = 1,this%solv%natom
-- xmuh2lr(iv) = xmuh2lr(iv)*sumh2
-- xmuhclr(iv) = - xmuhclr(iv)*sumhc
-- enddo
--
-- sumh2 = 0.d0
-- sumhc = 0.d0
-- do iv = 1,this%solv%natom
-- sumh2 = sumh2 + xmuh2lr(iv)
-- sumhc = sumhc + xmuhclr(iv)
-- enddo
--
-- !.....J devided by KT
-- sumh2 = sumh2 / (PI*this%solv%dielconst) * eqkt
-- sumhc = sumhc / PI * eqkt
-- do iv = 1,this%solv%natom
-- xmuh2lr(iv) = xmuh2lr(iv) / (PI*this%solv%dielconst) * eqkt
-- xmuhclr(iv) = xmuhclr(iv) / PI * eqkt
-- enddo
-- xmulr = sumh2 + sumhc
--
-+ xmulr = sumh2 + sumhc
-+ end if
- !.................. calculating xMu0 by PLHNC closure ..................
- if (this%closure == KH) then
- dxmu = 0.d0
-@@ -1232,13 +1230,20 @@
- xmu0sp(iv) = xmu0sp(iv) * (this%boxvol/this%ngr)
- enddo
-
-- !.....add long-range part
-- xmu0 = xmu0 + (xmulr)
-- egf = egf + (xmulr)
-- do iv=1,this%solv%natom
-- xmu0sp(iv) = xmu0sp(iv) + xmuh2lr(iv) + xmuhclr(iv)
-- enddo
--
-+ !.....add long-range part but only on the master process so we don't over count
-+ !.....this contribution.
-+!!$ write(0,*) "pre lr", this%mpirank, xmu0
-+!!$ write(0,*) checksum(this%huv,product(shape(this%huv)),this%mpicomm), &
-+!!$ checksum(this%cuv,product(shape(this%cuv)),this%mpicomm), &
-+!!$ checksum(this%uuv,product(shape(this%uuv)),this%mpicomm)
-+ if(this%mpirank==0)then
-+ xmu0 = xmu0 + (xmulr)
-+ egf = egf + (xmulr)
-+ do iv=1,this%solv%natom
-+ xmu0sp(iv) = xmu0sp(iv) + xmuh2lr(iv) + xmuhclr(iv)
-+ enddo
-+ end if
-+!!$ write(0,*) "post lr", this%mpirank, xmu0
- return
- end subroutine rism3d_aexchem_sp
-
-@@ -2322,6 +2327,7 @@
- subroutine asympch(this,huvk0)
- use constants, only : PI, FOURPI,&
- AMBER_ELECTROSTATIC2,KB
-+ use rism_util, only : checksum
- implicit none
- #if defined(MPI)
- include 'mpif.h'
-@@ -2339,9 +2345,7 @@
- _REAL_ :: xappa2,smear2_4
- _REAL_ :: asymhr_coeff
- _REAL_,save :: asymhr_coeff_at_cut=0,asymcr_coeff_at_cut=0
-- _REAL_,save :: erfcAtCut=0,erfcAtNegCut=0,cut=15.5d0
--!! _REAL_,save :: erfcAtCut=0,erfcAtNegCut=0,cut=999d0
--! !linear spacing of the grid
-+ _REAL_,save :: erfcAtCut=0,erfcAtNegCut=0,cut=4d0,maxcut
- !offset :: z-axis offset (important for spatially distributed MPI)
- _REAL_ :: offset
- ! !number of gridpoints in each direction to use
-@@ -2351,7 +2355,7 @@
- _REAL_ :: erfc
- external erfc
- integer :: irank,ierr,i
-- _REAL_:: checksum,mpitmp
-+ _REAL_:: mpitmp
-
- half_smear_root_pi=sqrt(PI)*this%solv%smear/2d0
- half_xappa_smear=this%solv%xappa*this%solv%smear/2d0
-@@ -2361,7 +2365,9 @@
- asymhr_coeff=exp(-(this%solv%xappa**2)*(this%solv%smear**2)/4d0)* &
- (2d0*exp(-(this%solv%smear*this%solv%xappa/2d0)**2)/(sqrt(PI)*this%solv%smear) &
- - this%solv%xappa * erfc(this%solv%xappa*this%solv%smear/2d0))
-- do while(exp(-quarter_xappa2_smear2)-asymhr_coeff_at_cut > 1d-7 .and. 1d0-asymcr_coeff_at_cut > 1d-7)
-+ maxcut = sqrt(sum(this%boxlen**2))
-+ do while((exp(-quarter_xappa2_smear2)-asymhr_coeff_at_cut > 1d-7 .or. 1d0-asymcr_coeff_at_cut > 1d-7)&
-+ .and. cut < maxcut)
- erfcAtCut = erfc(cut)
- erfcAtNegCut = erfc(-cut)
- asymhr_coeff_at_cut=exp(-quarter_xappa2_smear2) &
-@@ -2370,10 +2376,10 @@
- !(erfcAtNegCut - erfcAtCut)/2d0
- asymcr_coeff_at_cut=(1d0-erfc(cut/this%solv%smear))
- cut = cut+.1d0
-- ! write(6,*)'cut coeff',asymhr_coeff_at_cut,asymcr_coeff_at_cut
-+! write(0,*)'cut coeff',this%mpirank,asymhr_coeff_at_cut,asymcr_coeff_at_cut
- end do
- #ifdef RISM_DEBUG
-- write(6,*)'cut coeff',cut,asymhr_coeff_at_cut,asymcr_coeff_at_cut
-+ write(0,*)'cut coeff',cut,exp(-quarter_xappa2_smear2)-asymhr_coeff_at_cut,asymcr_coeff_at_cut
- #endif /*RISM_DEBUG*/
- !.....initialize
- this%asymcr=0d0
-@@ -2569,7 +2575,7 @@
- this%asymcr = this%asymcr * factor
- this%asymhr = this%asymhr * factor
- this%asymck = this%asymck * (factor / this%boxvol)
-- this%asymhk = this%asymhk * (factor / this%boxvol)/2d0/PI**2
-+ this%asymhk = this%asymhk * (factor / this%boxvol)
-
- !?WHY IS THIS ONLY FOR ny_start==0?!
- if(this%ny_start==0)then
-@@ -2591,35 +2597,22 @@
- end if
- #ifdef RISM_DEBUG
- # ifdef MPI
-- checksum = sum(this%asymck)
--# ifdef USE_MPI_IN_PLACE
-- call mpi_allreduce(MPI_IN_PLACE,checksum,1,MPI_DOUBLE_PRECISION,mpi_sum,this%mpicomm,ierr)
--# else
-- call mpi_allreduce(checksum,mpitmp,1,MPI_DOUBLE_PRECISION,mpi_sum,this%mpicomm,ierr)
-- checksum = mpitmp
--# endif /*USE_MPI_IN_PLACE*/
-- if(this%mpirank == 0)then
-- write(6,*) "SUM this%asymck", this%mpirank, checksum
-+ write(6,*) "SUM this%asymhr", this%mpirank, &
-+ checksum(this%asymhr,product(shape(this%asymhr)), this%mpicomm), sum(this%asymhr)
-+ write(6,*) "SUM this%asymcr", this%mpirank, &
-+ checksum(this%asymcr,product(shape(this%asymcr)), this%mpicomm), sum(this%asymcr)
- call flush(6)
-- end if
-- checksum = sum(this%asymhk)
--# ifdef USE_MPI_IN_PLACE
-- call mpi_allreduce(MPI_IN_PLACE,checksum,1,MPI_DOUBLE_PRECISION,mpi_sum,this%mpicomm,ierr)
--# else
-- call mpi_allreduce(checksum,mpitmp,1,MPI_DOUBLE_PRECISION,mpi_sum,this%mpicomm,ierr)
-- checksum = mpitmp
--# endif /*USE_MPI_IN_PLACE*/
-- if(this%mpirank == 0)then
-- write(6,*) "SUM this%asymhk", this%mpirank, checksum
-- call flush(6)
-- end if
- # else
-- write(6,*)"SUM this%asymcr ",size(this%asymcr),sum(this%asymcr),&
-- sum(this%asymcr(1:this%ngr_local/2)),sum(this%asymcr(this%ngr_local/2+1:this%ngr_local))
-- write(6,*)"SUM this%asymhr ",size(this%asymhr),sum(this%asymhr),&
-- sum(this%asymhr(1:this%ngr_local/2)),sum(this%asymhr(this%ngr_local/2+1:this%ngr_local))
-+ write(6,*) cut, asymhr_coeff_at_cut, asymcr_coeff_at_cut
-+ write(6,*)"SUM this%asymcr ",size(this%asymcr),sum(this%asymcr),&
-+ sum(this%asymcr(1:this%ngr_local/2)),sum(this%asymcr(this%ngr_local/2+1:this%ngr_local))
-+ write(6,*)"SUM this%asymhr ",size(this%asymhr),sum(this%asymhr),&
-+ sum(this%asymhr(1:this%ngr_local/2)),sum(this%asymhr(this%ngr_local/2+1:this%ngr_local))
-+ stop
-+# endif /*MPI */
- #endif /*RISM_DEBUG*/
- #ifdef RISM_DEBUG
-+# ifdef MPI
- write(6,*) "RANK",this%mpirank,factor,this%boxvol
- write(6,'(a,i4,f15.10,f15.10)') "SUM this%asymck",this%ngk,sum(this%asymck),sum(this%asymck(3:))
- write(6,'(a,i4,f15.10,f15.10)') "SUM this%asymhk",this%ngk,sum(this%asymhk),sum(this%asymhk(3:))
-diff -urN amber11.orig/AmberTools/src/rism/rism3d_opendx.f amber11/AmberTools/src/rism/rism3d_opendx.f
---- amber11.orig/AmberTools/src/rism/rism3d_opendx.f 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/src/rism/rism3d_opendx.f 2011-03-08 16:38:44.000000000 +0300
-@@ -55,28 +55,37 @@
- contains
- subroutine writeDX (unit, data, rism_box, n,nz_total,ratucm &
- #ifdef MPI
-- ,rank,size,comm &
-+ ,rank,nproc,comm &
- #endif /*MPI*/
- )
-+ use safemem
- implicit none
- #if defined(MPI)
- include 'mpif.h'
-- integer, intent(in) :: rank,size,comm
-+ integer, intent(in) :: rank,nproc,comm
- #else
-- integer,parameter :: rank = 0, size=1
-+ integer,parameter :: rank = 0, nproc=1
- #endif /*defined(MPI)*/
- integer, intent(in) :: nz_total
- integer,intent(in) :: unit, n(3)
- _REAL_,intent(in) :: data(n(1),n(2),n(3)), rism_box(3),ratucm(3)
- integer :: i,j,k, irank, ierr,count,icount
-- integer :: nz_offset(size),nz_local(size)
-+ integer :: nz_offset(nproc),nz_local(nproc)
- integer, parameter :: dataperline=3
-- _REAL_ :: z_data(nz_total)
-+#ifdef MPI
-+ integer :: err
-+ _REAL_,pointer :: z_data(:)=>NULL()
-+#endif /*MPI*/
- #ifdef RISM_DEBUG
-+
- write(6,*) "writeDX",rism_box,ratucm
- call flush(6)
- #endif /*RISM_DEBUG*/
--
-+!!$ do i = 1,nproc
-+!!$ if(rank==i)&
-+!!$ write(0,*) "DX",rank,sum(data)/(rank+1),n(3)
-+!!$ call mpi_barrier(comm,ierr)
-+!!$ end do
- if(rank==0)then
- write(unit,"(a,i8,i8,i8)") "object 1 class gridpositions counts",n(1),n(2),nz_total
- write(unit,"(a,3(f15.8))") "origin ",ratucm(1)-rism_box(1)/2,ratucm(2)-rism_box(2)/2,ratucm(3)-rism_box(3)/2
-@@ -89,9 +98,14 @@
- end if
- count = 0
- #if defined(MPI)
-+ z_data =>reallocate_pointer(z_data,nz_total)
- call mpi_gather(n(3),1,mpi_integer,nz_local,1,mpi_integer,0,comm,ierr)
- nz_offset(1) = 0
-- nz_offset(2:) = nz_local(1:size-1)
-+ do i = 2, nproc
-+ nz_offset(i) =sum( nz_local(1:i-1))
-+ end do
-+!!$ if(rank==0)&
-+!!$ write(0,*) "NZ",rank,nz_offset, nz_local
- #endif /*defined(MPI)*/
- do i=1,n(1)
- do j=1,n(2)
-@@ -122,5 +136,8 @@
- end if
- write(unit,"(a)") 'object "Untitled" call field'
- end if
-+#ifdef MPI
-+ err = safe_deallocate(z_data)
-+#endif /*MPI*/
- end subroutine writeDX
- end module rism3d_opendx
-diff -urN amber11.orig/AmberTools/src/rism/rism_fft.f amber11/AmberTools/src/rism/rism_fft.f
---- amber11.orig/AmberTools/src/rism/rism_fft.f 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/src/rism/rism_fft.f 2011-03-08 16:38:44.000000000 +0300
-@@ -205,19 +205,23 @@
- ! Normalizing while Forward FFT (KEY=1) *
- !***********************************************************************
- subroutine rlft3i (data, ng3, key,n_local,plan)
-+ use safemem
- implicit none
- integer :: ng3(3), key
- integer :: n_local
- integer*8,intent(in) :: plan
-- _REAL_ :: data((ng3(1)+2)*ng3(2)*n_local)
-- _REAL_ :: work((ng3(1)+2)*ng3(2)*n_local)
-+! _REAL_ :: data((ng3(1)+2)*ng3(2)*n_local)
-+! _REAL_ :: work((ng3(1)+2)*ng3(2)*n_local)
-+ _REAL_ :: data(:)
-+ _REAL_,pointer :: work(:)
- integer :: ngr, ngr_local,ngk_local, ig, ierr
- integer, parameter :: FFTW_TRANSPOSED_ORDER=1, FFTW_NORMAL_ORDER=0
- !....................... R-space data array size .......................
- # ifdef RISM_DEBUG
-- write(6,*) "rlft3i",n_local
-- call flush(6)
-+ write(0,*) "rlft3i",n_local
-+ call flush(0)
- # endif /*RISM_DEBUG*/
-+ work=>reallocate_pointer(work,size(data))
- ngr = ng3(1)*ng3(2)*ng3(3)
- ngr_local = ng3(1)*ng3(2)*n_local
- ngk_local = (ng3(1)+2)*ng3(2)*n_local
-@@ -230,6 +234,7 @@
- call rfftwnd_f77_mpi( plan,1,data,work,1, &
- FFTW_TRANSPOSED_ORDER)
- end if
-+ ierr = safe_deallocate(work)
- end subroutine rlft3i
-
- #else /*defined(MPI)*/
-diff -urN amber11.orig/AmberTools/src/sff/mm_options.l amber11/AmberTools/src/sff/mm_options.l
---- amber11.orig/AmberTools/src/sff/mm_options.l 2010-03-31 07:05:17.000000000 +0400
-+++ amber11/AmberTools/src/sff/mm_options.l 2011-03-08 16:38:44.000000000 +0300
-@@ -75,7 +75,7 @@
- dynamic_loops[=\ ][01] { ECHO; dynamic_loops = atoi( &yytext[14] ); }
- static_arrays[=\ ][01] { ECHO; static_arrays = atoi( &yytext[14] ); }
- blocksize[=\ ][0-9]+ { ECHO; blocksize = atoi( &yytext[10] ); }
--gbsa[=\ ][0-5] { ECHO; gbsa = atoi( &yytext[5] ); }
-+gbsa[=\ ][01] { ECHO; gbsa = atoi( &yytext[5] ); }
- dim[=\ ][34] { ECHO; dim = atoi( &yytext[4] ); }
-
- rism[=\ ][01] { ECHO; rismData.rism = atoi( &yytext[5] ); }
-diff -urN amber11.orig/AmberTools/src/sff/sff2.c amber11/AmberTools/src/sff/sff2.c
---- amber11.orig/AmberTools/src/sff/sff2.c 2010-03-31 07:05:17.000000000 +0400
-+++ amber11/AmberTools/src/sff/sff2.c 2011-03-08 16:38:44.000000000 +0300
-@@ -1384,6 +1384,7 @@
- e = ct2 * (ct2 * (ct2 * 32.0 - 48.0) + 18.0) - 1.0;
- df = ct * (ct2 * (ct2 * 192.0 - 192.0) + 36.0);
- ddf = ct2 * (ct2 * 960.0 - 576.0) + 36.0;
-+ break;
-
- default:
- fprintf(stderr, "bad periodicity: %d\n", iper);
-@@ -4557,7 +4558,7 @@
- qi2h = 0.5 * qi * qi;
- qid2h = qi2h * dielfac;
-
-- if ((gbsa == 1) || (gbsa == 4) || (gbsa == 5)) {
-+ if ((gbsa == 4) || (gbsa == 5)) {
- vdwdenom = 1.0 / (ri + rwater);
- vdwterm =
- alphanp * (prm->Gvdw[i]) * vdwdenom * vdwdenom *
-diff -urN amber11.orig/AmberTools/src/sqm/qm2_load_params_and_allocate.f amber11/AmberTools/src/sqm/qm2_load_params_and_allocate.f
---- amber11.orig/AmberTools/src/sqm/qm2_load_params_and_allocate.f 2010-04-14 16:13:28.000000000 +0400
-+++ amber11/AmberTools/src/sqm/qm2_load_params_and_allocate.f 2011-03-08 16:38:44.000000000 +0300
-@@ -136,9 +136,12 @@
- n_atomic_orb=natomic_orbs(iqm_atomic)
- if (n_atomic_orb>1) nheavy_atoms=nheavy_atoms+1
- ! Check we don't bust any static arrays
-- if (n_atomic_orb > MAX_VALENCE_ORBITALS) then
-- write (6,*) 'n_atomic_orb of ',n_atomic_orb,' exceeds max_valence_orbitals of MAX_VALENCE_ORBITALS'
-- call sander_bomb('qm2_load_params.f','exceeded max','Check qmmm_module.f and parameters.h')
-+ ! DFTB is independent of this and checks are done in qm2_dftb_load_params
-+ if ( .not. qmmm_nml%qmtheory%DFTB ) then
-+ if (n_atomic_orb > MAX_VALENCE_ORBITALS) then
-+ write (6,*) 'n_atomic_orb of ',n_atomic_orb,' exceeds max_valence_orbitals of MAX_VALENCE_ORBITALS'
-+ call sander_bomb('qm2_load_params.f','exceeded max','Check qmmm_module.f and parameters.h')
-+ end if
- end if
- qm2_params%natomic_orbs(i)=n_atomic_orb
- qm2_params%orb_loc(1,i)=qm2_struct%norbs+1
-diff -urN amber11.orig/AmberTools/src/sqm/qm2_scf.f amber11/AmberTools/src/sqm/qm2_scf.f
---- amber11.orig/AmberTools/src/sqm/qm2_scf.f 2010-03-31 07:05:17.000000000 +0400
-+++ amber11/AmberTools/src/sqm/qm2_scf.f 2011-03-08 16:38:44.000000000 +0300
-@@ -33,9 +33,9 @@
- qm_gb, qmmm_mpi, qmmm_scratch
- use constants, only : EV_TO_KCAL, zero, two
-
-- use qm2_iterator_mod, only : scf_iterator_value
-- use qm2_iterator_mod, only : diis_iterator_value
-- use qm2_iterator_mod, only : remaining_diis_tokens
-+ use qm2_iterator_mod, only : scf_iterator_value ! this is an integer function
-+ use qm2_iterator_mod, only : diis_iterator_value ! this is an integer function
-+ use qm2_iterator_mod, only : remaining_diis_tokens ! this is an integer function
-
-
- implicit none
-@@ -75,21 +75,24 @@
- !again. This is used to force the last few SCF steps to be full diagonalisations.
- logical fock_predict_active !Set to true if we are attempting to predict the fock matrix on this QMMM call.
-
-- logical diis_is_off, errmat_is_converged
- character(len=1) :: fock_extrap_flag
-- logical dont_turn_off_diis
-
-+ ! DIIS
-+ ! While DIIS will accelerate SCF convergence it will do so at a very high cost
-+ ! since Fock matrix builds and diagonalizations for semiempirical methods are
-+ ! cheaper than the overhead generated by the matrix multiplications required for DIIS
-+ ! Thus switch DIIS only on if we have difficulty in converging the SCF
-+ ! switch DIIS on after SCF step 100 if user turns on DIIS by setting ndiis_attempts > 0
-+ integer, parameter :: switch_on_diis = 100 ! don't set this to values lower than 3!!!
-+ ! switch DIIS on as a last resort if SCF did not converge until iteration 800
-+ integer, parameter :: switch_on_diis_last_resort = 800
-+ logical diis_is_off, errmat_is_converged, errmat_is_on
-+ logical dont_turn_off_diis
- _REAL_ :: errval
-
--! scf_iterator_value is a function
--! integer :: scf_iterator_value
--
- ! current_scf_errval is a function
- _REAL_ :: current_scf_errval
-
--! remaining_diis_tokens is a function
--! integer :: remaining_diis_tokens
--
- !qm2_Helect is a function
- _REAL_ qm2_HELECT
-
-@@ -141,12 +144,13 @@
- ! i = remaining_diis_tokens( qmmm_nml%ndiis_attempts )
- i = remaining_diis_tokens( 0 )
- dont_turn_off_diis = .FALSE.
-+ diis_is_off = qmmm_nml%ndiis_attempts < 1 .OR. qmmm_nml%ndiis_matrices < 2
-+ errmat_is_on = qmmm_nml%errconv < 1.0D-02
-+ errval = -1.0D0 ! initialize errval to unrealistic value
-
- fock_extrap_flag = " "
-
-
--
--
- if (qmmm_nml%verbosity > 2 .and. qmmm_mpi%commqmmm_master) then
- write(6,'("QMMM: ")')
- write(6,'("QMMM: SCF Convergence Information")')
-@@ -214,8 +218,18 @@
- energy_diff = scf_energy - eold
-
- if (qmmm_mpi%commqmmm_master) then
-- CALL pack_diis(SIZE(fock_matrix),fock_matrix,den_matrix)
-- errval = current_scf_errval()
-+ ! do this only if we need it, this seriously affects performance
-+ if ( .not. errmat_is_on ) then
-+ ! check if we shall switch calculation of the error matrix on for diis
-+ if ( ( ( .not. diis_is_off ) .and. (scf_iteration+qmmm_nml%ndiis_matrices >= switch_on_diis) ) &
-+ .or. (scf_iteration+qmmm_nml%ndiis_matrices >= switch_on_diis_last_resort) ) then
-+ errmat_is_on = .true.
-+ end if
-+ end if
-+ if ( errmat_is_on ) then
-+ CALL pack_diis(SIZE(fock_matrix),fock_matrix,den_matrix)
-+ errval = current_scf_errval()
-+ end if
- end if
-
-
-@@ -290,7 +304,7 @@
- ! IF THE USER REQUESTED US TO!! The default value of
- ! qmmm_nml%ndiis_attempts is 0, so this requires a form
- ! of human intervention
-- if ( scf_iteration == 100 ) then
-+ if ( scf_iteration == switch_on_diis ) then
- i = remaining_diis_tokens( qmmm_nml%ndiis_attempts )
- dont_turn_off_diis = .TRUE.
-
-@@ -306,7 +320,7 @@
- ! turn the (default OFF) diis parameters on.
- ! I guess we should turn diis ON for the user.
- ! I mean, we're at iteration #800. What else can we do?
-- if ( scf_iteration == 800 ) then
-+ if ( scf_iteration == switch_on_diis_last_resort ) then
- i = remaining_diis_tokens( 100 )
- dont_turn_off_diis = .TRUE.
-
-@@ -329,8 +343,8 @@
- ! end if
-
-
-- diis_is_off = qmmm_nml%ndiis_attempts < 1 .OR. qmmm_nml%ndiis_matrices < 2
-- errmat_is_converged = errval < qmmm_nml%errconv !.OR. diis_is_off
-+ ! Is the error matrix converged? Set to true if we don't check for the error matrix
-+ errmat_is_converged = errval < qmmm_nml%errconv .OR. ( .not. errmat_is_on )
-
-
- if (abs(energy_diff) < qmmm_nml%scfconv .AND. &
-@@ -379,7 +393,7 @@
- ! We have decided that we have not converged
- ! We must diagonalize a fock matrix so that the next iteration can form a new guess
- ! density matrix, provided a set of trial orbitals
-- if (qmmm_mpi%commqmmm_master) then
-+ if (qmmm_mpi%commqmmm_master .and. (.not. diis_is_off) .and. ( scf_iteration >= switch_on_diis ) ) then
- CALL diis_extrap( qm2_struct%matsize, fock_matrix , fock_extrap_flag )
- end if
-
-@@ -1941,10 +1955,6 @@
- _REAL_,intent(out) :: pf(npf) ! packed fock matrix
- character(len=1),intent(out) :: extrap_flag
-
--! integer :: scf_iterator_value
--! integer :: diis_iterator_value
--! integer :: diis_iterator_prev_value
--! integer :: remaining_diis_tokens
- _REAL_ :: current_scf_errval
-
- logical :: HAVE_DIIS_DATA
-@@ -1975,7 +1985,6 @@
- ERR_IS_SMALL = current_scf_errval() < 0.5d0
- HAVE_DIIS_TOKENS = remaining_diis_tokens() > 0
- EXTRAPOLATE = HAVE_DIIS_DATA .AND. ERR_IS_SMALL .AND. HAVE_DIIS_TOKENS
--
- IF ( .NOT. EXTRAPOLATE ) THEN
- pf = qm2_struct%diis_fock( : , diis_idx )
- RETURN
-diff -urN amber11.orig/AmberTools/src/sqm/qmmm_module.f amber11/AmberTools/src/sqm/qmmm_module.f
---- amber11.orig/AmberTools/src/sqm/qmmm_module.f 2010-04-14 16:13:28.000000000 +0400
-+++ amber11/AmberTools/src/sqm/qmmm_module.f 2011-03-08 16:38:44.000000000 +0300
-@@ -84,7 +84,7 @@
- !--------- SIZE / ARRAY LIMITATIONS -----------------------
-
- ! Locks maximum valence orbitals at 4 = S,P (no D or F - code is not present)
-- integer, parameter :: MAX_VALENCE_ORBITALS =4
-+ integer, parameter :: MAX_VALENCE_ORBITALS = 4
- integer, parameter :: MAX_VALENCE_DIMENSION = MAX_VALENCE_ORBITALS*(MAX_VALENCE_ORBITALS+1)/2
-
- !----------------------------------------------------------
-diff -urN amber11.orig/AmberTools/src/sqm/sqm.f amber11/AmberTools/src/sqm/sqm.f
---- amber11.orig/AmberTools/src/sqm/sqm.f 2010-04-14 16:13:28.000000000 +0400
-+++ amber11/AmberTools/src/sqm/sqm.f 2011-03-08 16:38:44.000000000 +0300
-@@ -13,7 +13,7 @@
-
- implicit none
-
-- _REAL_ x(3000), f(3000), escf, reff(1000), onereff(1000), work(18000), scf_mchg(1000)
-+ _REAL_ x(3000), f(3000), escf, reff(1000), onereff(1000), work(18000)
- character(len=8) atnam(1000)
- _REAL_ born_radii(1000), one_born_radii(1000)
- _REAL_ intdiel, extdiel, Arad
-@@ -104,20 +104,23 @@
- call allocate_qmgb(qmmm_struct%nquant_nlink)
-
- allocate( qmmm_struct%dxyzqm(3, qmmm_struct%nquant_nlink), stat = ier )
-- REQUIRE(ier == 0) !Deallocated in deallocate qmmm
-+ REQUIRE(ier == 0)
-+
-+ allocate ( qm2_struct%scf_mchg(qmmm_struct%nquant_nlink), stat = ier )
-+ REQUIRE(ier == 0)
-
- if (maxcyc < 1) then
- ! ------------------------
- ! Single point calculation
- ! ------------------------
- call sqm_energy(natom, x, escf, born_radii, one_born_radii, &
-- intdiel, extdiel, Arad, scf_mchg )
-+ intdiel, extdiel, Arad, qm2_struct%scf_mchg )
- else
- ! ---------------------
- ! Geometry optimization
- ! ---------------------
- call xmin(natom, x, f, escf, xmin_iter, maxcyc, born_radii, &
-- one_born_radii, intdiel, extdiel, Arad, scf_mchg, grms_tol, ntpr)
-+ one_born_radii, intdiel, extdiel, Arad, qm2_struct%scf_mchg, grms_tol, ntpr)
- end if
-
- ! ----------------
-@@ -140,7 +143,7 @@
-
- write(6,*) ''
- call qm2_print_charges(1,qmmm_nml%dftb_chg,qmmm_struct%nquant_nlink, &
-- scf_mchg,qmmm_struct%iqm_atomic_numbers)
-+ qm2_struct%scf_mchg,qmmm_struct%iqm_atomic_numbers)
-
- write(6,*) ''
- write(6,*) 'Final Structure'
-@@ -150,6 +153,12 @@
- write(6,*) ' --------- Calculation Completed ----------'
- write(6,*)
-
-+ deallocate( qmmm_struct%dxyzqm, stat = ier )
-+ REQUIRE(ier == 0)
-+
-+ deallocate ( qm2_struct%scf_mchg, stat = ier )
-+ REQUIRE(ier == 0)
-+
- call mexit(6,0)
-
- end program sqm
-diff -urN amber11.orig/AmberTools/test/check_slko_files.x amber11/AmberTools/test/check_slko_files.x
---- amber11.orig/AmberTools/test/check_slko_files.x 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/check_slko_files.x 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,14 @@
-+#!/bin/csh -f
-+#checks if cc.spl file exists - if it does then it
-+#assumes that all slko files are installed.
-+
-+if( -r $AMBERHOME/dat/slko/C-C.skf ) then
-+ #Exists
-+ exit(0)
-+else
-+ echo "DFTB SLKO files not found - Skipping DFTB tests..."
-+ echo ""
-+ exit(1)
-+endif
-+
-+
-diff -urN amber11.orig/AmberTools/test/nab/cuv.H1.4.dx.check amber11/AmberTools/test/nab/cuv.H1.4.dx.check
---- amber11.orig/AmberTools/test/nab/cuv.H1.4.dx.check 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/test/nab/cuv.H1.4.dx.check 2011-03-08 16:38:44.000000000 +0300
-@@ -344,7 +344,7 @@
- 0.70282E-001 0.80739E-001 0.91198E-001
- 0.94417E-001 0.91703E-001 0.77197E-001
- 0.50502E-001 0.19853E-001 -0.36599E-003
-- 0.22738E-005 0.16691E-001 0.36195E-001
-+ 0.22736E-005 0.16691E-001 0.36195E-001
- 0.49401E-001 0.53981E-001 0.53966E-001
- 0.47335E-001 0.56527E-001 0.67703E-001
- 0.78860E-001 0.90368E-001 0.10008E+000
-diff -urN amber11.orig/AmberTools/test/nab/huv.H1.4.dx.check amber11/AmberTools/test/nab/huv.H1.4.dx.check
---- amber11.orig/AmberTools/test/nab/huv.H1.4.dx.check 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/test/nab/huv.H1.4.dx.check 2011-03-08 16:38:44.000000000 +0300
-@@ -37,7 +37,7 @@
- -0.39322E-002 -0.18784E-002 -0.58137E-002
- 0.10207E-002 0.62249E-003 -0.98638E-003
- 0.37094E-003 -0.28752E-003 0.22042E-004
-- -0.99891E-004 0.15368E-003 -0.19634E-004
-+ -0.99891E-004 0.15368E-003 -0.19635E-004
- 0.35824E-003 -0.40488E-003 0.40397E-003
- 0.14213E-003 0.61945E-002 -0.76858E-002
- 0.81862E-002 -0.54091E-002 0.13352E-002
-@@ -58,7 +58,7 @@
- 0.22994E-002 -0.34751E-002 -0.37733E-001
- -0.16433E-001 -0.59317E-002 0.71093E-002
- -0.46373E-002 0.32238E-002 -0.25894E-002
-- 0.22145E-002 -0.65291E-004 -0.12695E-003
-+ 0.22145E-002 -0.65292E-004 -0.12695E-003
- -0.16873E-003 0.45506E-003 -0.14159E-002
- 0.16342E-002 -0.79582E-002 0.56556E-002
- -0.43786E-001 -0.46923E-002 -0.27685E-002
-@@ -96,11 +96,11 @@
- 0.34445E-003 0.33513E-002 0.63723E-003
- -0.45516E-003 0.16641E-004 -0.90223E-004
- 0.10300E-003 -0.99252E-004 0.15249E-004
-- -0.10662E-004 -0.19945E-004 -0.63404E-006
-+ -0.10662E-004 -0.19945E-004 -0.63406E-006
- 0.11124E-004 -0.28230E-004 -0.31534E-003
- -0.33642E-002 -0.57217E-003 -0.27793E-002
- -0.74846E-003 0.29526E-003 -0.94696E-004
-- 0.64217E-004 -0.66025E-004 -0.40449E-005
-+ 0.64216E-004 -0.66025E-004 -0.40449E-005
- -0.30799E-004 -0.16361E-004 -0.62269E-004
- -0.51020E-005 -0.16001E-003 0.92448E-004
- -0.57830E-003 -0.21012E-002 -0.69590E-003
-@@ -117,7 +117,7 @@
- -0.21378E-002 -0.44258E-003 -0.15111E-002
- -0.13934E-002 0.53131E-003 -0.22947E-003
- -0.74937E-005 -0.46655E-004 -0.61371E-004
-- 0.61593E-004 0.13955E-004 0.16010E-003
-+ 0.61594E-004 0.13955E-004 0.16010E-003
- -0.17966E-003 0.34275E-003 -0.36108E-003
- 0.76113E-003 0.23418E-002 0.29182E-003
- 0.19046E-002 0.12879E-002 -0.85274E-003
-@@ -131,7 +131,7 @@
- -0.24936E-003 0.43593E-003 -0.38975E-003
- 0.48502E-003 -0.28550E-003 0.94466E-003
- 0.27789E-002 0.71808E-003 0.38223E-002
-- -0.14124E-004 -0.13567E-002 0.12326E-002
-+ -0.14125E-004 -0.13567E-002 0.12326E-002
- -0.66934E-003 0.45864E-003 -0.28062E-003
- -0.43706E-003 0.34374E-003 -0.56160E-003
- 0.23427E-003 -0.19776E-003 -0.12917E-003
-@@ -182,7 +182,7 @@
- -0.11703E-002 0.14706E-002 -0.40144E-003
- 0.10286E-003 0.45475E-004 -0.49081E-004
- -0.47357E-004 0.54489E-006 -0.61082E-004
-- 0.65984E-004 -0.69587E-004 -0.10541E-003
-+ 0.65984E-004 -0.69588E-004 -0.10541E-003
- 0.64247E-003 0.25698E-002 0.28005E-002
- 0.27413E-002 0.12876E-002 -0.75471E-003
- 0.57492E-004 0.66448E-004 -0.42928E-004
-@@ -229,7 +229,7 @@
- -0.40783E-002 0.30972E-002 -0.35632E-002
- -0.14974E-004 0.13258E-002 -0.10864E-002
- 0.34485E-003 -0.16911E-003 -0.62126E-004
-- 0.72158E-004 -0.22208E-004 0.77266E-004
-+ 0.72158E-004 -0.22208E-004 0.77265E-004
- 0.24040E-003 -0.72533E-003 0.13593E-002
- -0.16119E-002 0.10078E-001 -0.20050E-001
- 0.72175E-002 -0.45419E-002 0.45478E-003
-@@ -292,7 +292,7 @@
- 0.33230E-003 -0.62327E-003 0.36713E-003
- -0.30819E-002 -0.32037E-003 -0.17162E-002
- -0.14580E-002 0.46999E-003 -0.97290E-004
-- -0.73333E-004 0.14729E-006 -0.11485E-003
-+ -0.73333E-004 0.14727E-006 -0.11485E-003
- -0.10058E-003 0.62528E-004 -0.17489E-003
- 0.15221E-003 -0.46879E-003 0.25396E-003
- -0.52915E-003 -0.27851E-002 0.22929E-002
-@@ -318,7 +318,7 @@
- -0.68610E-003 0.64051E-003 -0.81356E-003
- 0.24281E-003 -0.94464E-003 -0.31260E-002
- 0.48815E-002 -0.32512E-002 -0.12194E-002
-- 0.15282E-002 -0.10747E-002 0.37017E-003
-+ 0.15282E-002 -0.10747E-002 0.37016E-003
- -0.43401E-003 0.37194E-003 0.90390E-003
- -0.87376E-003 0.10045E-002 -0.10100E-002
- 0.89048E-003 -0.53634E-003 0.18096E-002
-@@ -355,14 +355,14 @@
- 0.26923E-003 -0.62333E-003 0.92867E-003
- -0.23947E-002 0.40142E-002 -0.86299E-002
- 0.45605E-002 -0.33767E-001 0.48411E-002
-- -0.86790E-002 0.13146E-002 -0.92538E-004
-+ -0.86790E-002 0.13146E-002 -0.92539E-004
- -0.33552E-003 -0.15197E-003 0.54828E-004
- -0.61954E-003 0.61334E-003 -0.71350E-003
- 0.88754E-003 -0.46185E-003 -0.11825E-002
- 0.49261E-002 -0.92336E-002 0.11674E-001
- -0.57510E-002 0.61122E-002 0.39077E-003
- -0.16127E-002 0.13002E-002 -0.76188E-003
-- 0.68127E-003 0.46393E-003 -0.60936E-003
-+ 0.68127E-003 0.46394E-003 -0.60936E-003
- 0.83803E-003 -0.13684E-002 0.18949E-002
- -0.20507E-002 0.86720E-003 0.55761E-002
- -0.38872E-002 0.87045E-002 0.57034E-003
-@@ -384,7 +384,7 @@
- 0.14459E-002 -0.36764E-002 -0.16466E-002
- 0.78190E-003 -0.21388E-003 -0.13391E-003
- -0.71292E-004 -0.25972E-004 0.81385E-005
-- -0.75784E-005 0.84210E-004 -0.57027E-004
-+ -0.75783E-005 0.84210E-004 -0.57027E-004
- 0.24646E-003 -0.15344E-004 0.44974E-003
- 0.29483E-002 -0.13186E-002 0.30172E-002
- 0.14066E-002 -0.51937E-003 0.13804E-003
-@@ -425,7 +425,7 @@
- 0.15873E-002 -0.26341E-002 0.28432E-002
- 0.49007E-003 0.10263E-001 -0.44098E-001
- 0.25985E-003 -0.50604E-002 0.20816E-002
-- -0.97801E-005 -0.13212E-003 -0.22909E-003
-+ -0.97796E-005 -0.13212E-003 -0.22909E-003
- 0.48134E-003 0.52250E-002 -0.61139E-002
- 0.74868E-002 -0.97022E-002 0.12736E-001
- -0.13924E-001 0.13569E-001 -0.16048E-001
-@@ -442,13 +442,13 @@
- -0.17468E-001 0.24222E-001 -0.13107E+000
- -0.65242E-001 0.19459E-001 -0.38769E-002
- -0.13998E-002 0.28896E-002 -0.44039E-002
-- 0.52052E-002 0.11744E-002 0.25963E-003
-+ 0.52052E-002 0.11744E-002 0.25964E-003
- -0.21866E-002 0.47172E-002 -0.81182E-002
- 0.10154E-001 -0.15684E-001 0.18417E-001
- -0.10597E+000 0.22097E-001 0.78443E-003
- -0.56097E-002 0.55039E-002 -0.44612E-002
- 0.32653E-002 -0.22953E-002 -0.13331E-002
-- 0.91243E-003 -0.94485E-004 -0.12826E-002
-+ 0.91243E-003 -0.94484E-004 -0.12826E-002
- 0.43961E-002 -0.78443E-002 0.13464E-001
- -0.13779E-002 0.40528E-001 -0.22036E-002
- 0.10425E-001 -0.96531E-003 -0.13430E-002
-@@ -512,13 +512,13 @@
- 0.11827E-001 -0.45014E-002 0.27467E-002
- -0.41543E-003 -0.71183E-003 0.52608E-003
- -0.64382E-003 0.45191E-003 0.50605E-003
-- -0.44980E-003 0.37809E-003 -0.38388E-004
-+ -0.44981E-003 0.37809E-003 -0.38389E-004
- -0.49061E-003 -0.81143E-003 0.86459E-002
- -0.45388E-002 -0.19539E-001 -0.35704E-002
-- -0.21204E-002 0.67039E-003 0.70119E-003
-+ -0.21204E-002 0.67038E-003 0.70119E-003
- -0.74427E-003 0.55233E-003 -0.45289E-003
- -0.11702E-002 0.10513E-002 -0.10446E-002
-- 0.48184E-003 -0.52832E-003 0.40688E-002
-+ 0.48184E-003 -0.52833E-003 0.40688E-002
- -0.13663E-001 -0.53287E-002 0.80893E-001
- 0.13554E-001 0.87640E-003 -0.12860E-002
- -0.94409E-003 0.13653E-002 -0.14728E-002
-@@ -570,12 +570,12 @@
- 0.55487E-003 0.57562E-002 -0.85141E-003
- 0.10230E-001 0.16214E-002 -0.31963E-002
- 0.16965E-002 -0.39151E-003 0.11883E-003
-- 0.27054E-005 -0.64436E-004 0.29371E-004
-+ 0.27053E-005 -0.64436E-004 0.29371E-004
- -0.24818E-003 0.15603E-003 -0.36597E-003
- -0.15165E-003 -0.30508E-003 -0.55843E-002
- 0.25615E-002 -0.87369E-002 -0.12896E-002
- 0.21029E-002 -0.12728E-002 0.23925E-003
-- -0.20980E-003 -0.40398E-004 -0.37869E-004
-+ -0.20980E-003 -0.40397E-004 -0.37869E-004
- -0.22762E-004 0.97304E-004 -0.13256E-003
- 0.76121E-004 0.46124E-003 -0.11364E-003
- 0.51685E-002 -0.25639E-002 0.77172E-002
-@@ -627,7 +627,7 @@
- -0.13873E-001 0.13771E-001 -0.15353E-001
- 0.19554E-001 -0.31206E-001 0.64687E-002
- 0.12878E+000 0.43115E+000 0.18311E+000
-- -0.42341E-001 0.49587E-002 0.50176E-002
-+ -0.42341E-001 0.49588E-002 0.50176E-002
- -0.10381E-001 0.12020E-001 -0.13237E-001
- -0.18428E-001 0.21596E-001 -0.25230E-001
- 0.33125E-001 -0.42929E-001 0.59353E-001
-@@ -693,12 +693,12 @@
- -0.13202E-001 -0.15081E-001 0.28654E-002
- 0.45947E-002 -0.39497E-002 0.16991E-002
- -0.85009E-003 0.46037E-003 -0.41389E-003
-- -0.11503E-004 -0.26360E-004 0.13328E-004
-+ -0.11503E-004 -0.26361E-004 0.13328E-004
- 0.44265E-003 -0.10259E-002 -0.89230E-003
- 0.43360E-002 0.12999E-001 0.67878E-002
- -0.14383E-001 -0.53637E-003 0.27114E-002
- -0.14313E-002 0.43554E-003 -0.55232E-004
-- 0.54550E-004 -0.19917E-002 0.19778E-002
-+ 0.54549E-004 -0.19917E-002 0.19778E-002
- -0.22171E-002 0.17858E-002 -0.28501E-002
- 0.81796E-002 -0.15748E-001 -0.97599E-002
- 0.11465E-001 0.41396E-001 -0.12368E-001
-@@ -737,7 +737,7 @@
- 0.33287E-001 -0.21712E-001 0.12598E-001
- -0.78119E-002 0.22442E-002 -0.20161E-001
- 0.21504E-001 -0.24273E-001 0.27271E-001
-- -0.28503E-001 0.16461E-001 -0.41419E-004
-+ -0.28503E-001 0.16461E-001 -0.41414E-004
- -0.12990E+000 0.75360E-001 -0.11560E+000
- -0.19544E-001 0.27969E-001 -0.25346E-001
- 0.21675E-001 -0.20092E-001 0.19462E-001
-@@ -766,7 +766,7 @@
- -0.47737E-003 -0.51835E-004 0.58766E-003
- -0.52596E-003 0.72315E-003 -0.11079E-001
- -0.25431E-001 -0.12595E-001 0.68054E-002
-- -0.18857E-002 0.60829E-004 0.13868E-003
-+ -0.18857E-002 0.60830E-004 0.13868E-003
- -0.55933E-003 0.34562E-003 -0.15041E-003
- 0.80074E-004 -0.32555E-003 0.67842E-003
- -0.15202E-002 0.14050E-002 -0.80795E-003
-@@ -798,7 +798,7 @@
- -0.27721E-002 0.29741E-002 -0.49061E-003
- -0.72566E-002 0.14443E-001 -0.11927E-001
- 0.82051E-001 0.95570E-002 0.10700E-002
-- -0.33922E-004 0.14627E-003 0.88681E-003
-+ -0.33919E-004 0.14627E-003 0.88681E-003
- -0.13081E-002 0.21604E-002 0.33550E-002
- -0.40840E-002 0.36977E-002 -0.35055E-002
- 0.41269E-003 0.67781E-002 0.27814E-002
-@@ -892,9 +892,9 @@
- 0.63672E-002 -0.57904E-002 0.46308E-002
- -0.36396E-002 -0.26400E-002 0.17391E-002
- -0.14131E-002 0.78246E-003 -0.61051E-003
-- 0.63366E-003 0.24693E-001 0.29656E-001
-+ 0.63365E-003 0.24693E-001 0.29656E-001
- 0.13438E+000 0.27901E-001 -0.22954E-001
-- 0.12869E-001 -0.76758E-002 0.58582E-002
-+ 0.12869E-001 -0.76757E-002 0.58582E-002
- -0.46806E-002 0.36183E-002 0.68827E-002
- -0.57133E-002 0.56860E-002 -0.66211E-002
- 0.99125E-002 -0.15797E-001 -0.52503E-002
-@@ -908,7 +908,7 @@
- -0.45900E-001 0.36916E-001 -0.30142E-001
- 0.26465E-001 0.50030E-001 -0.48827E-001
- 0.51561E-001 -0.58944E-001 0.74179E-001
-- -0.94716E-001 0.36687E-001 -0.46168E+000
-+ -0.94715E-001 0.36687E-001 -0.46168E+000
- -0.10000E+001 -0.17472E+000 0.15670E+000
- -0.98122E-001 0.78741E-001 -0.64288E-001
- 0.58448E-001 -0.52472E-001 0.59653E-001
-@@ -931,7 +931,7 @@
- -0.21260E-001 0.26058E-001 -0.35050E-001
- 0.44521E-001 -0.58930E-001 -0.46967E-002
- -0.62950E+000 -0.10000E+001 -0.58023E+000
-- 0.84660E-001 -0.20803E-001 -0.24936E-003
-+ 0.84661E-001 -0.20803E-001 -0.24937E-003
- -0.56711E-002 0.77515E-002 -0.12967E-001
- -0.33634E-001 0.36370E-001 -0.40813E-001
- 0.52730E-001 -0.69416E-001 0.11055E+000
-@@ -940,7 +940,7 @@
- -0.50993E-001 0.42341E-001 -0.35645E-001
- 0.34334E-001 0.13016E-002 -0.18908E-002
- 0.21484E-002 -0.35223E-002 0.43357E-002
-- -0.52692E-002 -0.30889E-001 -0.10458E+000
-+ -0.52692E-002 -0.30890E-001 -0.10458E+000
- 0.59570E-001 -0.10076E+000 -0.14057E-001
- 0.10367E-001 -0.60574E-002 0.13132E-002
- 0.10164E-003 -0.11144E-002 -0.80129E-003
-@@ -1070,7 +1070,7 @@
- -0.27848E-002 0.34661E-002 -0.63123E-002
- 0.10345E-001 -0.10633E-001 -0.26698E-001
- 0.37697E-001 -0.14235E-001 -0.27804E-003
-- -0.11597E-002 0.47695E-005 0.21900E-003
-+ -0.11597E-002 0.47700E-005 0.21900E-003
- -0.12610E-002 0.14246E-002 0.19513E-002
- -0.22230E-002 0.25913E-002 -0.34398E-002
- 0.62826E-002 -0.11033E-001 0.11857E-001
-@@ -1096,7 +1096,7 @@
- 0.17629E-001 -0.16578E-001 0.17704E-001
- -0.21181E-001 0.31547E-001 -0.44986E-001
- 0.53814E-001 0.61709E-001 0.41895E-001
-- -0.58391E-002 0.71644E-001 -0.50130E-001
-+ -0.58392E-002 0.71644E-001 -0.50130E-001
- 0.37052E-001 -0.27166E-001 0.23023E-001
- -0.18847E-001 -0.57070E-002 0.32394E-002
- -0.47133E-002 0.71203E-002 -0.17409E-001
-@@ -1107,7 +1107,7 @@
- 0.49908E-002 0.25980E-002 -0.10390E-001
- 0.32835E-001 -0.45644E-001 0.28388E-001
- 0.32651E+000 0.74550E+000 0.24253E-001
-- 0.23336E-001 -0.11200E-002 -0.67666E-003
-+ 0.23336E-001 -0.11200E-002 -0.67665E-003
- 0.71472E-002 -0.62491E-002 0.83474E-002
- 0.87319E-002 -0.53331E-002 -0.65393E-002
- 0.88129E-002 -0.14593E-001 -0.30915E-001
-@@ -1176,7 +1176,7 @@
- -0.12868E-002 0.13040E-002 -0.18307E-002
- 0.20870E-002 -0.20382E-002 -0.55964E-003
- 0.10698E-001 -0.18290E-001 -0.17347E-001
-- -0.20057E-001 0.63536E-002 0.17849E-002
-+ -0.20057E-001 0.63535E-002 0.17849E-002
- -0.22938E-002 0.16177E-002 -0.12481E-002
- 0.13489E-002 0.17604E-002 -0.20387E-002
- 0.25830E-002 -0.26311E-002 0.23498E-002
-@@ -1185,10 +1185,10 @@
- 0.18402E-003 0.20794E-002 -0.11926E-002
- 0.85856E-003 -0.15532E-002 -0.58085E-003
- 0.92325E-003 -0.15671E-002 0.13684E-002
-- -0.42686E-004 -0.63990E-002 0.22899E-001
-+ -0.42684E-004 -0.63990E-002 0.22899E-001
- -0.20083E-001 -0.31172E-001 -0.30073E-001
- 0.24308E-001 -0.79050E-002 0.21845E-002
-- -0.11634E-002 0.88798E-003 -0.46213E-005
-+ -0.11634E-002 0.88799E-003 -0.46216E-005
- -0.36939E-002 0.25957E-002 -0.19040E-002
- 0.22213E-002 -0.44518E-002 0.13471E-001
- -0.31065E-001 0.13930E-001 0.26443E-001
-@@ -1216,7 +1216,7 @@
- 0.12872E+000 -0.22970E+000 0.37029E-001
- -0.71820E-002 -0.61730E-002 0.60023E-002
- -0.62195E-002 0.33179E-002 0.35063E-002
-- -0.15743E-002 0.24932E-003 0.59944E-003
-+ -0.15743E-002 0.24932E-003 0.59943E-003
- 0.50805E-002 -0.22435E-001 0.78080E-001
- -0.11217E+000 0.27769E+000 0.13301E-001
- 0.48142E-001 -0.25712E-001 0.18216E-001
-@@ -1234,8 +1234,8 @@
- -0.37349E-002 0.40923E-002 0.33100E-003
- -0.73044E-003 0.14901E-002 -0.27451E-002
- 0.39569E-002 -0.39194E-002 -0.22396E-002
-- 0.69572E-002 0.15456E-001 0.68766E-003
-- -0.55836E-002 -0.59161E-004 0.28366E-003
-+ 0.69572E-002 0.15456E-001 0.68765E-003
-+ -0.55836E-002 -0.59162E-004 0.28366E-003
- 0.59373E-005 -0.29036E-003 -0.28278E-003
- -0.93105E-004 0.55976E-004 -0.22540E-003
- 0.63416E-003 -0.86325E-003 -0.56872E-003
-@@ -1259,13 +1259,13 @@
- -0.21463E-002 -0.95702E-003 0.16305E-002
- -0.48868E-003 0.37838E-003 -0.98649E-004
- 0.17415E-003 -0.39204E-003 0.40478E-003
-- -0.47636E-003 0.25159E-003 0.32794E-005
-+ -0.47636E-003 0.25159E-003 0.32795E-005
- -0.27191E-003 -0.25541E-002 0.80677E-002
- 0.23348E-001 0.22086E-002 0.10997E-002
- -0.16811E-002 0.61473E-003 -0.17759E-003
- -0.60773E-004 0.91723E-004 0.50744E-003
- -0.63597E-003 0.55533E-003 -0.33123E-003
-- -0.68908E-005 0.25682E-003 0.26735E-002
-+ -0.68909E-005 0.25682E-003 0.26735E-002
- -0.91015E-002 -0.22651E-001 -0.42938E-002
- -0.10604E-002 0.20136E-002 -0.89377E-003
- 0.20609E-003 0.28182E-004 -0.21460E-003
-@@ -1273,7 +1273,7 @@
- 0.63594E-004 0.46567E-003 -0.90712E-003
- -0.31638E-002 0.94292E-002 0.26064E-001
- 0.58926E-002 0.14824E-003 -0.26379E-002
-- 0.13364E-002 -0.27849E-003 0.67584E-007
-+ 0.13364E-002 -0.27849E-003 0.67664E-007
- 0.21329E-003 0.75173E-003 -0.70904E-003
- 0.24518E-003 -0.31473E-003 -0.44500E-003
- -0.26955E-003 0.56039E-002 -0.11484E-001
-@@ -1298,7 +1298,7 @@
- -0.74153E-002 0.51462E-002 -0.85486E-002
- 0.10486E-001 -0.12082E-001 0.13714E-001
- -0.11389E-001 0.19279E-002 0.36232E-001
-- -0.48818E-001 0.17388E+000 -0.35474E-002
-+ -0.48818E-001 0.17388E+000 -0.35475E-002
- -0.97685E-002 0.97677E-002 -0.64763E-002
- 0.62604E-002 -0.67795E-002 0.78175E-002
- 0.18823E-001 -0.16976E-001 0.13255E-001
-@@ -1310,7 +1310,7 @@
- -0.59406E-002 0.53394E-002 -0.13726E-002
- -0.50565E-002 0.17728E-001 0.83748E-001
- -0.37446E-001 0.12400E+000 -0.15472E-001
-- -0.38171E-003 0.54899E-002 -0.24982E-002
-+ -0.38172E-003 0.54899E-002 -0.24982E-002
- -0.85504E-004 0.30624E-002 0.30068E-002
- -0.46418E-002 0.65796E-002 -0.90030E-002
- 0.10723E-001 -0.66793E-002 -0.19808E-001
-@@ -1330,7 +1330,7 @@
- 0.99945E-003 -0.12217E-002 0.75822E-003
- -0.58237E-003 0.70553E-004 0.47287E-004
- -0.92834E-003 0.22845E-002 -0.35398E-003
-- -0.49955E-002 -0.32604E-001 0.29414E-003
-+ -0.49955E-002 -0.32604E-001 0.29415E-003
- 0.26270E-002 0.12013E-003 0.18530E-003
- -0.67394E-003 0.78294E-003 -0.77240E-003
- -0.39514E-003 0.36294E-003 -0.34122E-003
-@@ -1340,7 +1340,7 @@
- -0.43384E-003 0.62665E-003 -0.53140E-003
- 0.35037E-003 0.11598E-003 -0.33590E-004
- 0.77756E-004 -0.11361E-003 0.29272E-004
-- 0.53713E-003 0.24967E-002 -0.95835E-002
-+ 0.53714E-003 0.24967E-002 -0.95835E-002
- -0.23813E-001 -0.28729E-002 0.35840E-003
- 0.75277E-003 0.14870E-003 -0.18813E-003
- 0.13874E-003 0.53665E-005 -0.82118E-004
-@@ -1383,7 +1383,7 @@
- 0.14890E-002 -0.11973E-002 0.75295E-003
- -0.10473E-002 0.10737E-002 -0.99465E-003
- 0.10667E-002 0.18484E-003 -0.15909E-002
-- -0.44370E-003 0.65566E-002 0.16554E-001
-+ -0.44371E-003 0.65566E-002 0.16554E-001
- 0.15235E-001 -0.16429E-001 0.79078E-002
- -0.29231E-002 0.16543E-002 -0.11884E-002
- 0.10008E-002 0.22131E-002 -0.11833E-002
-@@ -1395,7 +1395,7 @@
- -0.34902E-002 0.51729E-002 -0.78836E-002
- 0.96755E-002 -0.80416E-002 -0.15180E-001
- 0.48776E-001 -0.11424E+000 0.12364E-001
-- 0.32693E-002 -0.19227E-002 -0.65699E-004
-+ 0.32693E-002 -0.19227E-002 -0.65698E-004
- 0.16871E-003 0.29036E-004 -0.95792E-003
- -0.31449E-002 0.21159E-002 -0.34442E-003
- 0.30292E-003 0.22482E-002 -0.56246E-002
-@@ -1476,10 +1476,10 @@
- -0.15578E-002 0.14449E-002 -0.13015E-002
- 0.35158E-002 0.18690E-001 0.71087E-002
- -0.33624E-002 -0.86947E-004 0.13615E-002
-- -0.25872E-003 -0.28246E-003 0.49430E-003
-+ -0.25873E-003 -0.28246E-003 0.49430E-003
- 0.20061E-002 -0.22055E-002 0.25174E-002
- -0.32849E-002 0.24711E-002 -0.12430E-002
-- 0.31615E-004 -0.16073E-002 -0.13936E-001
-+ 0.31616E-004 -0.16073E-002 -0.13936E-001
- -0.78198E-002 0.10677E-001 -0.53430E-002
- 0.19467E-002 -0.20078E-002 0.18727E-002
- -0.18399E-002 -0.24069E-002 0.18144E-002
-@@ -1523,13 +1523,13 @@
- -0.57937E-004 0.38925E-004 -0.25529E-003
- -0.80223E-004 0.62244E-003 -0.92409E-003
- -0.50111E-002 -0.15028E-001 -0.48849E-002
-- 0.10809E-002 0.94785E-003 -0.90578E-003
-+ 0.10809E-002 0.94785E-003 -0.90579E-003
- 0.21632E-003 0.48547E-004 -0.10362E-003
- 0.65746E-004 -0.57485E-004 -0.10330E-003
- 0.17296E-003 -0.10843E-003 -0.17317E-003
- 0.24191E-003 0.53215E-002 0.12629E-001
- 0.39700E-002 -0.84627E-004 -0.65947E-003
-- 0.46649E-003 -0.16035E-003 0.28558E-005
-+ 0.46649E-003 -0.16035E-003 0.28557E-005
- -0.74149E-004 -0.74431E-004 0.89221E-004
- 0.14291E-004 -0.10742E-003 0.75570E-004
- 0.32302E-003 -0.45917E-003 -0.47563E-002
-@@ -1555,7 +1555,7 @@
- -0.24567E-003 0.25650E-003 -0.22210E-003
- 0.35310E-003 -0.54501E-003 0.49667E-003
- 0.46922E-002 0.53681E-003 0.53276E-002
-- -0.25038E-004 -0.47621E-003 0.25061E-003
-+ -0.25039E-004 -0.47621E-003 0.25061E-003
- -0.14151E-003 0.25689E-003 -0.23625E-003
- -0.39925E-003 0.24288E-003 -0.45878E-003
- 0.19103E-003 -0.46845E-003 0.39169E-003
-@@ -1602,7 +1602,7 @@
- -0.42312E-002 0.26362E-002 0.71520E-003
- -0.20235E-003 -0.89467E-004 0.11620E-002
- -0.32420E-002 0.52388E-002 0.58477E-003
-- -0.67996E-002 0.56024E-005 0.55241E-003
-+ -0.67996E-002 0.56018E-005 0.55241E-003
- 0.13967E-001 -0.58142E-002 0.37372E-002
- -0.25763E-002 0.19323E-002 -0.10220E-002
- -0.13957E-003 0.89996E-004 -0.29649E-003
-@@ -1726,7 +1726,7 @@
- -0.65025E-004 0.20691E-004 0.20988E-004
- 0.29987E-003 -0.69971E-003 -0.25561E-002
- -0.47408E-002 -0.17716E-002 -0.10624E-002
-- 0.72365E-003 -0.12367E-003 0.91100E-004
-+ 0.72365E-003 -0.12367E-003 0.91099E-004
- -0.11286E-003 0.65700E-004 -0.38225E-004
- -0.18443E-004 -0.10315E-004 -0.41438E-004
- -0.23530E-004 -0.27346E-003 0.79396E-003
-diff -urN amber11.orig/AmberTools/test/nab/huv.O.4.dx.check amber11/AmberTools/test/nab/huv.O.4.dx.check
---- amber11.orig/AmberTools/test/nab/huv.O.4.dx.check 2010-04-07 16:55:55.000000000 +0400
-+++ amber11/AmberTools/test/nab/huv.O.4.dx.check 2011-03-08 16:38:44.000000000 +0300
-@@ -42,10 +42,10 @@
- -0.26664E-002 0.76462E-002 -0.65646E-002
- 0.65013E-002 -0.98756E-002 0.51997E-002
- -0.15412E-002 0.14894E-002 -0.58327E-003
-- 0.74208E-003 -0.46330E-005 0.26925E-003
-+ 0.74208E-003 -0.46331E-005 0.26925E-003
- -0.21081E-003 0.19041E-003 -0.70176E-003
- 0.40604E-002 -0.59967E-002 0.25324E-001
-- -0.58949E-001 0.48671E-001 -0.63192E-002
-+ -0.58949E-001 0.48671E-001 -0.63193E-002
- -0.14555E-002 0.17515E-002 -0.12653E-002
- 0.59124E-003 -0.44081E-004 -0.46024E-003
- -0.33221E-003 0.43262E-003 -0.73462E-003
-@@ -55,10 +55,10 @@
- 0.29042E-002 -0.18964E-002 0.77617E-003
- -0.18302E-003 0.26483E-004 0.13553E-002
- -0.75012E-003 0.17059E-002 -0.70949E-003
-- 0.15620E-001 0.67864E-002 -0.96628E-001
-+ 0.15620E-001 0.67863E-002 -0.96628E-001
- -0.15238E-001 -0.64540E-002 0.11108E-001
- -0.71349E-002 0.42594E-002 -0.24297E-002
-- 0.14742E-002 0.50969E-003 -0.14490E-003
-+ 0.14742E-002 0.50969E-003 -0.14489E-003
- -0.15852E-002 0.26525E-002 -0.54371E-002
- 0.63513E-002 -0.19991E-001 0.88607E-003
- -0.90619E-001 -0.26234E-001 0.54685E-002
-@@ -74,7 +74,7 @@
- -0.67192E-002 0.20436E-002 0.15087E-002
- -0.12351E-001 -0.10538E-001 0.30347E-002
- -0.24133E-002 0.57521E-003 -0.89346E-003
-- -0.19758E-003 0.85846E-004 0.21885E-003
-+ -0.19759E-003 0.85846E-004 0.21885E-003
- 0.59427E-004 0.40476E-003 -0.45294E-003
- 0.17127E-002 0.22700E-002 -0.36055E-002
- -0.94861E-002 -0.31257E-002 0.59927E-002
-@@ -89,13 +89,13 @@
- -0.21190E-003 0.38823E-003 -0.99192E-004
- 0.14844E-002 -0.48467E-002 -0.10472E-001
- -0.56834E-002 0.17312E-002 0.44869E-003
-- 0.59430E-004 -0.99269E-004 0.22702E-003
-+ 0.59429E-004 -0.99269E-004 0.22702E-003
- -0.46728E-004 -0.99733E-004 -0.59632E-005
- -0.15996E-003 0.21334E-003 -0.60938E-003
- 0.46539E-003 -0.16741E-002 0.53916E-002
- 0.73981E-002 0.59857E-002 -0.16663E-002
- 0.12223E-003 -0.48450E-003 0.17812E-003
-- -0.11241E-003 -0.53881E-005 0.24248E-003
-+ -0.11241E-003 -0.53882E-005 0.24248E-003
- -0.20069E-003 0.17999E-003 -0.24877E-003
- 0.30370E-003 -0.44718E-003 0.73307E-003
- -0.42363E-002 -0.80946E-002 -0.48617E-002
-@@ -172,7 +172,7 @@
- 0.18498E-002 -0.73133E-003 0.88568E-003
- -0.14499E-003 -0.13914E-004 -0.23519E-003
- 0.28978E-003 -0.69524E-003 0.99658E-003
-- -0.19354E-002 -0.38389E-003 -0.15309E-003
-+ -0.19354E-002 -0.38389E-003 -0.15308E-003
- 0.11672E-001 0.37757E-002 -0.51548E-002
- -0.91017E-003 0.87189E-003 -0.57806E-003
- 0.16146E-003 -0.22842E-003 0.37037E-004
-@@ -181,7 +181,7 @@
- -0.96518E-003 -0.13418E-001 -0.54575E-002
- 0.20411E-002 0.10281E-002 -0.33249E-003
- 0.17999E-003 0.19469E-003 0.23293E-004
-- -0.45970E-005 -0.10166E-003 0.26448E-004
-+ -0.45969E-005 -0.10166E-003 0.26448E-004
- -0.60871E-004 0.21195E-003 -0.53324E-003
- 0.48474E-003 0.57259E-003 0.14242E-001
- 0.41534E-002 -0.65370E-003 -0.53279E-003
-@@ -259,7 +259,7 @@
- 0.23319E-002 -0.18642E-002 0.17647E-002
- -0.49400E-003 0.48144E-003 0.46341E-002
- 0.17097E-001 0.13221E-001 0.13122E-001
-- 0.88689E-002 -0.14616E-002 0.73569E-004
-+ 0.88689E-002 -0.14616E-002 0.73570E-004
- 0.16176E-002 -0.17425E-002 0.23255E-002
- 0.10067E-002 -0.10794E-002 0.61036E-003
- -0.79346E-003 -0.18114E-003 0.10066E-002
-@@ -296,7 +296,7 @@
- -0.79564E-003 0.73627E-003 -0.10642E-002
- 0.89864E-003 -0.15015E-002 0.74366E-003
- -0.10995E-002 -0.91302E-003 -0.14389E-002
-- -0.62659E-002 0.16322E-003 0.39747E-003
-+ -0.62659E-002 0.16322E-003 0.39746E-003
- -0.93576E-003 0.27055E-003 -0.70408E-003
- 0.55227E-003 0.91932E-003 -0.80784E-003
- 0.10504E-002 -0.99128E-003 0.13799E-002
-@@ -333,7 +333,7 @@
- 0.11332E-002 -0.36329E-002 0.45738E-002
- -0.64277E-002 0.84257E-002 -0.10759E-001
- 0.10170E-001 -0.10632E-001 -0.65535E-002
-- 0.50679E-001 -0.70621E-001 0.91916E-002
-+ 0.50679E-001 -0.70621E-001 0.91917E-002
- 0.32587E-002 -0.38023E-002 0.34644E-002
- -0.32950E-002 0.30559E-002 -0.13480E-003
- 0.19650E-002 -0.34448E-002 0.59077E-002
-@@ -364,7 +364,7 @@
- 0.19684E-002 -0.10859E-002 0.12621E-002
- -0.43675E-003 0.74924E-003 -0.10527E-002
- 0.16471E-002 -0.24027E-002 0.31736E-002
-- -0.29570E-002 -0.47347E-004 -0.17740E-002
-+ -0.29570E-002 -0.47348E-004 -0.17740E-002
- 0.12840E-002 0.13132E-001 -0.86557E-002
- -0.65506E-003 0.21598E-002 -0.13016E-002
- 0.84158E-003 -0.68238E-003 -0.21792E-003
-@@ -387,7 +387,7 @@
- -0.60950E-003 0.93571E-003 -0.76457E-003
- 0.12784E-002 -0.70392E-003 0.15756E-002
- -0.13275E-003 0.45733E-002 0.69172E-002
-- -0.41320E-003 -0.14128E-004 0.54688E-003
-+ -0.41320E-003 -0.14127E-004 0.54688E-003
- -0.19076E-004 0.49968E-003 -0.38501E-003
- 0.43234E-003 -0.22011E-003 -0.83980E-005
- 0.30076E-003 -0.68470E-003 0.24934E-002
-@@ -507,13 +507,13 @@
- 0.78218E-002 -0.41701E-002 -0.79742E-003
- 0.32867E-002 -0.37463E-002 0.34769E-002
- -0.26528E-002 -0.24349E-002 0.21354E-002
-- -0.24623E-002 0.90930E-003 0.54718E-003
-+ -0.24623E-002 0.90930E-003 0.54717E-003
- -0.17165E-002 0.28721E-003 -0.10121E-001
- 0.35717E-001 -0.26042E-002 0.34331E-002
- -0.19519E-003 -0.26581E-002 0.27915E-002
- -0.33505E-002 0.24742E-002 0.26514E-002
- -0.19360E-002 0.14202E-002 -0.31884E-003
-- -0.74542E-003 -0.87196E-003 0.41982E-002
-+ -0.74541E-003 -0.87196E-003 0.41982E-002
- 0.13483E-001 -0.64738E-001 -0.11160E-001
- 0.55671E-003 -0.98428E-003 0.33064E-002
- -0.35116E-002 0.31262E-002 -0.26684E-002
-@@ -524,7 +524,7 @@
- -0.22229E-002 0.28090E-002 -0.29004E-002
- 0.20027E-002 -0.27248E-002 0.44242E-002
- -0.69761E-002 0.87857E-002 -0.91317E-002
-- 0.23035E-002 -0.51691E-002 0.21490E-001
-+ 0.23035E-002 -0.51692E-002 0.21490E-001
- -0.37282E-001 -0.18265E+000 0.58260E-001
- -0.16382E-001 0.57561E-002 -0.21236E-002
- 0.14273E-003 0.11916E-002 0.90109E-003
-@@ -556,7 +556,7 @@
- 0.12840E-001 -0.78465E-002 0.66047E-002
- -0.46569E-002 0.17062E-002 -0.20716E-002
- 0.25710E-002 -0.29188E-002 0.15776E-002
-- 0.10926E-002 -0.65054E-002 -0.64167E-004
-+ 0.10926E-002 -0.65054E-002 -0.64166E-004
- 0.42370E-002 0.33049E-001 -0.26709E-001
- 0.72769E-002 -0.60839E-004 -0.13599E-002
- 0.14205E-002 -0.14190E-002 -0.17898E-002
-@@ -589,7 +589,7 @@
- -0.11534E-002 -0.28262E-003 -0.41205E-003
- 0.12794E-002 -0.27790E-002 0.41709E-002
- -0.68711E-002 0.84175E-002 -0.75839E-002
-- -0.28437E-001 0.50508E-003 0.41340E-002
-+ -0.28437E-001 0.50507E-003 0.41340E-002
- -0.61449E-003 -0.18493E-002 0.12523E-002
- -0.11168E-002 0.69345E-003 -0.83917E-004
- 0.57404E-003 -0.17705E-002 0.28814E-002
-@@ -611,14 +611,14 @@
- -0.13675E-002 0.26363E-002 -0.43034E-002
- 0.41848E-002 0.12480E-002 -0.36641E-002
- -0.34640E-001 0.87778E-001 0.58409E-001
-- -0.21333E-001 0.74525E-002 -0.48739E-002
-+ -0.21333E-001 0.74524E-002 -0.48739E-002
- 0.30753E-002 -0.18387E-002 0.69893E-003
-- 0.71286E-003 0.44580E-003 -0.24335E-002
-- 0.43811E-002 -0.38330E-002 -0.13636E-002
-+ 0.71285E-003 0.44580E-003 -0.24335E-002
-+ 0.43812E-002 -0.38330E-002 -0.13635E-002
- -0.13480E-001 0.11325E+000 -0.29436E+000
- -0.10004E+000 0.41518E-001 -0.16200E-001
- 0.94931E-002 -0.61992E-002 0.43081E-002
-- -0.25405E-002 -0.34159E-002 0.55821E-003
-+ -0.25405E-002 -0.34159E-002 0.55820E-003
- 0.27477E-002 -0.42526E-002 0.30568E-002
- 0.47572E-002 0.23098E-001 -0.11741E+000
- 0.20977E+000 0.38183E+000 -0.15864E+000
-@@ -640,11 +640,11 @@
- -0.21429E+000 -0.70469E-001 0.64050E-001
- -0.48755E-001 0.39460E-001 -0.31552E-001
- 0.27718E-001 -0.23853E-001 -0.11746E-002
-- -0.76642E-004 0.19535E-002 -0.28967E-002
-+ -0.76641E-004 0.19535E-002 -0.28967E-002
- 0.23194E-002 0.14434E-001 -0.39994E-001
- 0.20057E+000 -0.14250E+000 0.15546E+000
- -0.10132E-001 -0.19003E-002 0.31489E-002
-- -0.13663E-003 -0.61045E-003 0.13419E-002
-+ -0.13663E-003 -0.61046E-003 0.13419E-002
- -0.56599E-002 0.65318E-002 -0.99441E-002
- 0.14290E-001 -0.21240E-001 0.25559E-001
- -0.26500E-001 -0.45351E-001 0.12464E+000
-@@ -654,7 +654,7 @@
- -0.67183E-003 -0.17567E-002 0.59214E-002
- -0.10795E-001 0.19998E-001 0.21432E-003
- -0.57072E-001 -0.26436E-001 0.40361E-001
-- -0.15950E-001 0.39954E-002 0.38634E-004
-+ -0.15950E-001 0.39954E-002 0.38633E-004
- -0.19542E-002 0.20302E-002 0.41282E-002
- -0.37590E-002 0.25828E-002 -0.18860E-002
- 0.84274E-003 0.59538E-003 -0.40063E-002
-@@ -695,7 +695,7 @@
- 0.36780E-002 -0.41785E-002 0.43203E-002
- 0.67542E-002 -0.67533E-002 0.79253E-002
- -0.75232E-002 0.71990E-002 -0.10331E-001
-- 0.88066E-002 0.69559E-002 0.27927E-001
-+ 0.88065E-002 0.69559E-002 0.27927E-001
- -0.45171E-001 0.11785E-001 -0.37993E-002
- 0.44794E-002 -0.60610E-002 0.70033E-002
- -0.62684E-002 -0.97638E-002 0.97810E-002
-@@ -730,7 +730,7 @@
- -0.28215E+000 0.56642E+000 0.92065E+000
- 0.10006E+001 -0.46958E+000 0.29382E+000
- -0.20618E+000 0.16462E+000 -0.13004E+000
-- 0.10753E+000 -0.15069E-002 0.65807E-003
-+ 0.10753E+000 -0.15069E-002 0.65808E-003
- -0.59134E-002 0.17916E-001 -0.43687E-001
- 0.85179E-001 -0.72107E-001 0.17888E+000
- 0.27398E+000 0.17046E+000 -0.12239E+000
-@@ -805,7 +805,7 @@
- -0.92333E-001 -0.73061E-001 -0.12402E+000
- 0.49643E-001 -0.24501E-001 0.12081E-001
- -0.77686E-002 0.65912E-002 -0.68733E-002
-- -0.52386E-001 0.55294E-001 -0.60917E-001
-+ -0.52386E-001 0.55294E-001 -0.60918E-001
- 0.72284E-001 -0.90668E-001 0.13640E+000
- -0.30725E+000 0.68114E+000 -0.63520E+000
- 0.69895E+000 -0.30705E+000 0.16706E+000
-@@ -815,7 +815,7 @@
- -0.16169E+000 0.42947E+000 -0.10000E+001
- -0.10000E+001 -0.10000E+001 0.34773E+000
- -0.16448E+000 0.95838E-001 -0.65437E-001
-- 0.53108E-001 -0.49594E-001 0.10228E-004
-+ 0.53108E-001 -0.49594E-001 0.10227E-004
- -0.83130E-002 0.19382E-001 -0.43694E-001
- 0.82990E-001 -0.15068E+000 0.19264E+000
- -0.10000E+001 -0.10000E+001 -0.10000E+001
-@@ -853,7 +853,7 @@
- -0.15840E+000 0.15063E+000 -0.97388E-001
- -0.22784E-002 0.85043E-002 -0.62997E-002
- 0.44880E-002 -0.39095E-002 0.45371E-002
-- 0.70889E-004 -0.68019E-003 0.59256E-003
-+ 0.70888E-004 -0.68019E-003 0.59256E-003
- -0.84557E-004 -0.36226E-002 0.15213E-001
- -0.31110E-001 0.13861E+000 -0.15051E+000
- 0.81020E-001 -0.11901E-001 0.36571E-002
-@@ -880,10 +880,10 @@
- -0.36432E+000 0.48476E-001 -0.13337E-001
- -0.85939E-003 0.62937E-002 -0.90302E-002
- 0.96864E-002 -0.10054E-001 -0.12074E-001
-- 0.12686E-001 -0.13788E-001 0.15535E-001
-+ 0.12686E-001 -0.13788E-001 0.15534E-001
- -0.12609E-001 0.43721E-002 0.38811E-001
- -0.54071E-002 0.36037E+000 -0.26901E-001
-- -0.91861E-004 0.75691E-002 -0.10423E-001
-+ -0.91871E-004 0.75691E-002 -0.10423E-001
- 0.13325E-001 -0.12466E-001 0.12184E-001
- 0.16486E-001 -0.16264E-001 0.18217E-001
- -0.18145E-001 0.15178E-001 -0.90728E-002
-@@ -943,7 +943,7 @@
- -0.29396E-001 -0.11815E-001 -0.23817E+000
- -0.18515E+000 -0.25452E+000 0.27722E-001
- 0.16855E-002 -0.72308E-002 0.20876E-002
-- 0.64586E-003 -0.38825E-002 0.21534E-002
-+ 0.64585E-003 -0.38825E-002 0.21535E-002
- 0.21199E-003 -0.19208E-002 0.42601E-002
- -0.22560E-002 -0.69878E-002 0.71728E-001
- 0.78877E-002 0.44965E+000 -0.21828E-001
-@@ -1064,7 +1064,7 @@
- 0.62403E-002 -0.60207E-002 0.73668E-002
- -0.70398E-002 0.11315E-001 -0.95645E-002
- -0.32328E-002 0.87432E-001 -0.15443E+000
-- 0.46011E-001 -0.18490E-003 -0.10438E-003
-+ 0.46011E-001 -0.18489E-003 -0.10438E-003
- 0.37293E-002 -0.27929E-002 0.52303E-002
- -0.50491E-002 -0.64016E-002 0.64120E-002
- -0.66729E-002 0.70889E-002 -0.10324E-001
-@@ -1089,7 +1089,7 @@
- -0.29061E-001 0.21213E-001 -0.17088E-001
- 0.15692E-001 -0.12454E-001 -0.16919E-001
- 0.14774E-001 -0.13566E-001 0.14799E-001
-- -0.20251E-001 0.21467E-001 0.51689E-002
-+ -0.20251E-001 0.21467E-001 0.51690E-002
- -0.17781E+000 0.16897E+000 -0.17823E-001
- -0.62278E-001 0.48487E-001 -0.35890E-001
- 0.27828E-001 -0.25327E-001 0.20069E-001
-@@ -1107,7 +1107,7 @@
- -0.22781E-001 0.41204E-001 -0.58124E-001
- 0.92982E-001 -0.99577E-001 0.51029E-001
- 0.38111E+000 0.12849E+001 -0.41711E-001
-- 0.46704E-001 -0.59395E-002 0.38283E-002
-+ 0.46704E-001 -0.59395E-002 0.38284E-002
- 0.24958E-002 0.34276E-002 -0.52601E-002
- -0.10267E-001 0.31273E-001 -0.64242E-001
- 0.80909E-001 -0.99093E-001 0.32420E-001
-@@ -1144,13 +1144,13 @@
- -0.40730E-002 0.49874E-002 -0.73690E-002
- 0.73535E-002 -0.95872E-002 0.77701E-002
- 0.63260E-002 -0.93757E-001 0.13558E+000
-- -0.89965E-001 0.17086E-001 -0.10569E-001
-+ -0.89964E-001 0.17086E-001 -0.10569E-001
- 0.42904E-002 -0.19884E-002 -0.52517E-003
- 0.16988E-002 0.51231E-002 -0.58474E-002
- 0.72663E-002 -0.82602E-002 0.11856E-001
- -0.10246E-001 -0.30199E-002 0.86203E-001
- -0.14974E+000 0.68805E-001 -0.10227E-001
-- 0.55756E-002 -0.95949E-004 -0.69091E-003
-+ 0.55756E-002 -0.95950E-004 -0.69091E-003
- 0.22362E-002 -0.35971E-002 -0.60713E-002
- 0.60472E-002 -0.79022E-002 0.78322E-002
- -0.12783E-001 0.10462E-001 0.31255E-002
-@@ -1260,7 +1260,7 @@
- 0.10679E-002 -0.90389E-003 0.16602E-002
- -0.11913E-002 -0.20977E-002 0.20942E-002
- -0.18004E-002 0.16284E-002 -0.18577E-002
-- 0.22835E-002 -0.67831E-002 0.25191E-004
-+ 0.22835E-002 -0.67831E-002 0.25192E-004
- 0.76945E-001 -0.45030E-002 -0.18644E-002
- -0.90606E-004 -0.93679E-003 0.16082E-002
- -0.17131E-002 0.17442E-002 0.26104E-002
-@@ -1381,7 +1381,7 @@
- 0.69183E-002 -0.44728E-001 -0.18229E-001
- 0.19727E-001 -0.83985E-002 0.19649E-002
- -0.81000E-003 0.18733E-002 -0.62522E-003
-- -0.12105E-002 -0.72607E-005 0.89095E-003
-+ -0.12105E-002 -0.72605E-005 0.89095E-003
- -0.15643E-002 0.48042E-002 -0.83264E-002
- 0.65796E-002 -0.21426E-001 0.49776E-001
- 0.39843E-002 -0.24431E-001 0.15999E-001
-@@ -1414,7 +1414,7 @@
- 0.23073E-001 -0.17327E-001 0.14432E-001
- -0.10868E-001 0.93471E-002 -0.68998E-002
- -0.26163E-002 0.31335E-002 -0.16844E-002
-- -0.29736E-003 0.27007E-002 -0.34378E-002
-+ -0.29736E-003 0.27007E-002 -0.34377E-002
- -0.10124E-001 0.16906E-001 -0.27972E-001
- -0.46722E-001 -0.99915E-002 0.74033E-002
- -0.49759E-002 0.33691E-002 -0.30633E-002
-@@ -1490,7 +1490,7 @@
- 0.56865E-003 -0.25998E-002 0.23230E-003
- -0.48411E-003 0.19935E-002 -0.43491E-002
- 0.86658E-002 -0.20913E-001 0.67877E-001
-- -0.12506E+000 0.30915E+000 -0.45000E-001
-+ -0.12506E+000 0.30915E+000 -0.45001E-001
- 0.79047E-002 -0.21891E-003 -0.32671E-003
- -0.91926E-003 0.50793E-003 0.11241E-003
- 0.15086E-001 -0.89428E-002 -0.35368E-003
-@@ -1507,7 +1507,7 @@
- -0.30669E-003 -0.89002E-003 -0.12172E-002
- 0.45842E-002 -0.33508E-002 -0.14322E-001
- 0.66905E-002 0.40619E-001 -0.51873E-001
-- -0.65372E-002 0.52189E-002 -0.46499E-002
-+ -0.65372E-002 0.52190E-002 -0.46499E-002
- 0.43349E-002 -0.38558E-002 0.59891E-003
- 0.34349E-003 -0.86951E-003 0.19112E-002
- -0.11810E-002 -0.18282E-002 0.31268E-002
-@@ -1524,7 +1524,7 @@
- 0.12391E-003 -0.17626E-003 0.37440E-002
- -0.73418E-002 -0.43798E-001 0.49519E-002
- 0.14953E-002 0.20774E-002 -0.22890E-002
-- 0.11235E-002 0.53678E-004 0.34160E-004
-+ 0.11235E-002 0.53679E-004 0.34160E-004
- -0.92654E-003 0.75587E-003 -0.15990E-002
- 0.13713E-002 -0.14112E-002 0.18715E-002
- -0.44715E-002 0.85039E-002 0.41635E-001
-@@ -1534,13 +1534,13 @@
- 0.11901E-002 -0.16300E-002 0.17072E-002
- -0.20384E-002 0.41606E-002 -0.83538E-002
- -0.36935E-001 -0.18397E-003 0.75164E-003
-- 0.32749E-004 -0.54313E-004 -0.55384E-003
-+ 0.32749E-004 -0.54314E-004 -0.55384E-003
- 0.59897E-003 -0.55366E-003 -0.85402E-003
- 0.60344E-003 -0.12434E-002 0.99286E-003
- -0.13524E-002 0.82954E-003 -0.21224E-002
- 0.41911E-002 0.38989E-001 -0.21565E-002
- 0.91862E-003 -0.97115E-003 0.27219E-003
-- 0.52312E-005 -0.71291E-003 0.34833E-003
-+ 0.52313E-005 -0.71291E-003 0.34833E-003
- -0.48047E-003 0.23123E-003 -0.44657E-003
- 0.33067E-003 -0.41250E-003 0.10632E-003
- -0.22842E-002 0.73852E-002 0.61030E-002
-@@ -1574,7 +1574,7 @@
- 0.99674E-002 -0.24989E-002 0.30342E-003
- -0.53277E-003 0.79955E-003 -0.21966E-003
- -0.59661E-003 0.35264E-003 -0.65872E-004
-- 0.11436E-002 0.38480E-003 -0.35781E-002
-+ 0.11436E-002 0.38479E-003 -0.35781E-002
- 0.36223E-002 -0.75229E-002 0.15451E-001
- 0.40636E-002 -0.14021E-001 0.68264E-002
- -0.25865E-002 0.28621E-002 -0.14937E-002
-@@ -1607,7 +1607,7 @@
- -0.72048E-002 0.52170E-002 -0.32634E-002
- -0.19081E-002 0.22332E-002 -0.24117E-002
- 0.23217E-002 0.50866E-003 -0.17204E-002
-- -0.75871E-002 0.73309E-002 0.25632E-005
-+ -0.75871E-002 0.73309E-002 0.25651E-005
- -0.21416E-001 -0.12367E-001 0.49953E-002
- -0.41626E-002 0.41883E-002 -0.30311E-002
- 0.19037E-002 0.31388E-003 -0.26396E-003
-@@ -1640,8 +1640,8 @@
- 0.33179E-003 -0.34087E-003 0.23211E-003
- -0.32071E-003 -0.56331E-004 0.14792E-003
- -0.41476E-003 -0.10262E-002 -0.21101E-001
-- -0.94099E-004 -0.10972E-002 0.73413E-003
-- -0.43772E-003 -0.10434E-003 0.72385E-004
-+ -0.94100E-004 -0.10972E-002 0.73413E-003
-+ -0.43772E-003 -0.10434E-003 0.72384E-004
- -0.27691E-003 -0.27499E-003 0.40064E-003
- -0.26074E-003 0.46773E-003 -0.13622E-003
- 0.20913E-003 -0.18338E-003 0.73660E-003
-@@ -1683,7 +1683,7 @@
- 0.38887E-003 -0.10225E-003 -0.35480E-003
- 0.21989E-002 -0.46306E-002 0.27804E-001
- -0.46260E-001 0.99268E-001 -0.12849E-001
-- 0.69339E-002 -0.28353E-002 0.32796E-002
-+ 0.69340E-002 -0.28353E-002 0.32796E-002
- -0.19358E-002 0.10950E-002 -0.18272E-003
- 0.56051E-002 -0.38298E-002 0.13655E-003
- 0.13715E-002 -0.54991E-002 0.85791E-002
-diff -urN amber11.orig/AmberTools/test/nab/Makefile amber11/AmberTools/test/nab/Makefile
---- amber11.orig/AmberTools/test/nab/Makefile 2010-04-01 08:14:34.000000000 +0400
-+++ amber11/AmberTools/test/nab/Makefile 2011-03-08 16:38:44.000000000 +0300
-@@ -12,7 +12,7 @@
- rattle_md_test rembed_test dhfrndpmtx_test asp_test \
- aspnb_test prm_test cif_test xmin_test \
- lmod_test nmode1_test nmode2_test nmode3_test ips_test \
-- pbsa_test rism_test rism_md_test rism_dist rism_hnc
-+ pbsa_test rism_test rism_md_test rism_dist rism_hnc rism_ion
-
- duplex_test::
- @./Run.duplex
-@@ -112,3 +112,6 @@
-
- rism_dist::
- @./Run.rism_dist
-+
-+rism_ion::
-+ @sh ./Run.rism_ion
-diff -urN amber11.orig/AmberTools/test/nab/Na+.parm7 amber11/AmberTools/test/nab/Na+.parm7
---- amber11.orig/AmberTools/test/nab/Na+.parm7 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/nab/Na+.parm7 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,124 @@
-+%VERSION VERSION_STAMP = V0001.000 DATE = 06/20/07 15:21:17
-+%FLAG TITLE
-+%FORMAT(20a4)
-+
-+%FLAG POINTERS
-+%FORMAT(10I8)
-+ 1 1 0 0 0 0 0 0 0 0
-+ 1 1 0 0 0 0 0 0 1 0
-+ 0 0 0 0 0 0 0 1 1 0
-+ 0
-+%FLAG ATOM_NAME
-+%FORMAT(20a4)
-+Na+
-+%FLAG CHARGE
-+%FORMAT(5E16.8)
-+ 1.82223000E+01
-+%FLAG MASS
-+%FORMAT(5E16.8)
-+ 2.29900000E+01
-+%FLAG ATOM_TYPE_INDEX
-+%FORMAT(10I8)
-+ 1
-+%FLAG NUMBER_EXCLUDED_ATOMS
-+%FORMAT(10I8)
-+ 1
-+%FLAG NONBONDED_PARM_INDEX
-+%FORMAT(10I8)
-+ 1
-+%FLAG RESIDUE_LABEL
-+%FORMAT(20a4)
-+Na+
-+%FLAG RESIDUE_POINTER
-+%FORMAT(10I8)
-+ 1
-+%FLAG BOND_FORCE_CONSTANT
-+%FORMAT(5E16.8)
-+
-+%FLAG BOND_EQUIL_VALUE
-+%FORMAT(5E16.8)
-+
-+%FLAG ANGLE_FORCE_CONSTANT
-+%FORMAT(5E16.8)
-+
-+%FLAG ANGLE_EQUIL_VALUE
-+%FORMAT(5E16.8)
-+
-+%FLAG DIHEDRAL_FORCE_CONSTANT
-+%FORMAT(5E16.8)
-+
-+%FLAG DIHEDRAL_PERIODICITY
-+%FORMAT(5E16.8)
-+
-+%FLAG DIHEDRAL_PHASE
-+%FORMAT(5E16.8)
-+
-+%FLAG SOLTY
-+%FORMAT(5E16.8)
-+ 0.00000000E+00
-+%FLAG LENNARD_JONES_ACOEF
-+%FORMAT(5E16.8)
-+ 2.04815198E+04
-+%FLAG LENNARD_JONES_BCOEF
-+%FORMAT(5E16.8)
-+ 1.50643699E+01
-+%FLAG BONDS_INC_HYDROGEN
-+%FORMAT(10I8)
-+
-+%FLAG BONDS_WITHOUT_HYDROGEN
-+%FORMAT(10I8)
-+
-+%FLAG ANGLES_INC_HYDROGEN
-+%FORMAT(10I8)
-+
-+%FLAG ANGLES_WITHOUT_HYDROGEN
-+%FORMAT(10I8)
-+
-+%FLAG DIHEDRALS_INC_HYDROGEN
-+%FORMAT(10I8)
-+
-+%FLAG DIHEDRALS_WITHOUT_HYDROGEN
-+%FORMAT(10I8)
-+
-+%FLAG EXCLUDED_ATOMS_LIST
-+%FORMAT(10I8)
-+ 0
-+%FLAG HBOND_ACOEF
-+%FORMAT(5E16.8)
-+
-+%FLAG HBOND_BCOEF
-+%FORMAT(5E16.8)
-+
-+%FLAG HBCUT
-+%FORMAT(5E16.8)
-+
-+%FLAG AMBER_ATOM_TYPE
-+%FORMAT(20a4)
-+IP
-+%FLAG TREE_CHAIN_CLASSIFICATION
-+%FORMAT(20a4)
-+M
-+%FLAG JOIN_ARRAY
-+%FORMAT(10I8)
-+ 0
-+%FLAG IROTAT
-+%FORMAT(10I8)
-+ 0
-+%FLAG SOLVENT_POINTERS
-+%FORMAT(3I8)
-+ 1 1 2
-+%FLAG ATOMS_PER_MOLECULE
-+%FORMAT(10I8)
-+ 1
-+%FLAG BOX_DIMENSIONS
-+%FORMAT(5E16.8)
-+ 9.00000000E+01 2.56000000E+01 2.56000000E+01 2.56000000E+01
-+%FLAG RADIUS_SET
-+%FORMAT(1a80)
-+modified Bondi radii (mbondi)
-+%FLAG RADII
-+%FORMAT(5E16.8)
-+ 1.50000000E+00
-+%FLAG SCREEN
-+%FORMAT(5E16.8)
-+ 8.00000000E-01
-diff -urN amber11.orig/AmberTools/test/nab/Na+.pdb amber11/AmberTools/test/nab/Na+.pdb
---- amber11.orig/AmberTools/test/nab/Na+.pdb 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/nab/Na+.pdb 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,4 @@
-+REMARK
-+ATOM 1 Na+ Na+ 1 0.000 0.000 0.000 1.00 0.00 N
-+TER
-+END
-diff -urN amber11.orig/AmberTools/test/nab/rismion.nab amber11/AmberTools/test/nab/rismion.nab
---- amber11.orig/AmberTools/test/nab/rismion.nab 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/nab/rismion.nab 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,22 @@
-+molecule m;
-+float m_xyz[dynamic], f_xyz[dynamic], v_xyz[dynamic];
-+float dgrad, fret;
-+int ier, i;
-+
-+m = getpdb("Na+.pdb");
-+readparm(m, "Na+.parm7");
-+allocate m_xyz[3*m.natoms];
-+allocate f_xyz[3*m.natoms];
-+allocate v_xyz[3*m.natoms];
-+mm_options( "e_debug=0, ntpr=1, ntpr_md=1, cut=999.0, dt=0.001, rattle=0, tempi=0, zerov=0");
-+mm_options( "rism=1, apply_rism_force=0");
-+mm_options( "buffer=12, solvcut=999");
-+mm_options( "progress=1, xvvfile=../rism1d/spc/spc-nacl.xvv.save");
-+mme_init( m, NULL, "::Z", m_xyz, NULL);
-+
-+setxyz_from_mol( m, NULL, m_xyz );
-+
-+ier = md(3*m.natoms,0,m_xyz,f_xyz,v_xyz, mme );
-+
-+if(mytaskid==0)
-+ printf( "md returns %d\n", ier );
-diff -urN amber11.orig/AmberTools/test/nab/rismion.out.check amber11/AmberTools/test/nab/rismion.out.check
---- amber11.orig/AmberTools/test/nab/rismion.out.check 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/nab/rismion.out.check 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,24 @@
-+Reading parm file (Na+.parm7)
-+title:
-+
-+ mm_options: e_debug=0
-+ mm_options: ntpr=1
-+ mm_options: ntpr_md=1
-+ mm_options: cut=999.0
-+ mm_options: dt=0.001
-+ mm_options: rattle=0
-+ mm_options: tempi=0
-+ mm_options: zerov=0
-+ mm_options: rism=1
-+ mm_options: apply_rism_force=0
-+ mm_options: buffer=12
-+ mm_options: solvcut=999
-+ mm_options: progress=1
-+ mm_options: xvvfile=../rism1d/spc/spc-nacl.xvv.save
-+| New format PARM file being parsed.
-+| Version = 0.001 Date = 04:06:10 Time = 16:41:39
-+ iter Total bad vdW elect nonpolar genBorn frms
-+ nblist_box, number of atoms= 1
-+ nblist_box, number of pairs= 0
-+ff: 0 -73.97 0.00 0.00 0.00 0.00 -73.97 0.00e+00
-+md returns 0
-diff -urN amber11.orig/AmberTools/test/nab/Run.rism_ion amber11/AmberTools/test/nab/Run.rism_ion
---- amber11.orig/AmberTools/test/nab/Run.rism_ion 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/nab/Run.rism_ion 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,39 @@
-+#!/bin/sh
-+
-+toomany() {
-+ echo "${0}: This test requires 1, 2, 3, 4, 6, 8, 12 or 24 processes"
-+ echo "for meaningful comparison."
-+ exit 0
-+}
-+
-+if [ -n "${DO_PARALLEL}" ] ; then
-+ numprocs=`echo $DO_PARALLEL | awk -f ../numprocs.awk `
-+ if [ ! \( "$numprocs" -eq "12" -o "$numprocs" -eq "24"\
-+ -o "$numprocs" -eq "8" -o "$numprocs" -eq "6"\
-+ -o "$numprocs" -eq "3" -o "$numprocs" -eq "4"\
-+ -o "$numprocs" -eq "2" -o "$numprocs" -le "1" \) ]; then
-+ echo " DO_PARALLEL set to $DO_PARALLEL"
-+ toomany
-+ elif [ -n "${MP_PROCS}" ]; then
-+ if [ ! \( "$MP_PROCS" -eq "12" -o "$MP_PROCS" -eq "24"\
-+ -o "$MP_PROCS" -eq "8" -o "$MP_PROCS" -eq "6"\
-+ -o "$MP_PROCS" -eq "3" -o "$MP_PROCS" -eq "4"\
-+ -o "$MP_PROCS" -eq "2" -o "$MP_PROCS" -le "1" \) ]; then
-+# --- For IBM AIX ---
-+ echo " MP_PROCS set to "$MP_PROCS
-+ toomany
-+ fi
-+ fi
-+fi
-+. ../program_error.sh
-+
-+echo "Running test for ionic solvent and charge solute"
-+echo "(this tests the 3D-RISM-KH implementation)"
-+echo ""
-+../../bin/nab -o sff rismion.nab || error
-+$DO_PARALLEL ./sff > rismion.out || error
-+
-+../dacdif rismion.out.check rismion.out
-+
-+rm -f sff rismion.c
-+exit 0
-diff -urN amber11.orig/AmberTools/test/sleap/glycam/n.pdb.save amber11/AmberTools/test/sleap/glycam/n.pdb.save
---- amber11.orig/AmberTools/test/sleap/glycam/n.pdb.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/glycam/n.pdb.save 2011-03-08 16:38:44.000000000 +0300
-@@ -8,13 +8,13 @@
- ATOM 8 O4 6LB 1 5.435 3.303 2.147 1.00 0.00
- ATOM 9 H4O 6LB 1 5.122 4.155 1.839 1.00 0.00
- ATOM 10 C3 6LB 1 5.271 3.073 -0.262 1.00 0.00
--ATOM 11 H3 6LB 1 4.894 2.740 -1.242 1.00 0.00
--ATOM 12 O3 6LB 1 6.571 3.630 -0.399 1.00 0.00
--ATOM 13 H3O 6LB 1 7.188 2.917 -0.649 1.00 0.00
--ATOM 14 C2 6LB 1 4.314 4.119 0.310 1.00 0.00
--ATOM 15 H2 6LB 1 3.733 4.482 1.177 1.00 0.00
--ATOM 16 O2 6LB 1 5.419 4.938 -0.016 1.00 0.00
--ATOM 17 H2O 6LB 1 6.213 5.114 -0.520 1.00 0.00
-+ATOM 11 H3 6LB 1 5.706 2.518 -1.108 1.00 0.00
-+ATOM 12 O3 6LB 1 5.591 4.453 -0.363 1.00 0.00
-+ATOM 13 H3O 6LB 1 6.553 4.558 -0.232 1.00 0.00
-+ATOM 14 C2 6LB 1 3.753 2.890 -0.273 1.00 0.00
-+ATOM 15 H2 6LB 1 3.395 3.508 0.570 1.00 0.00
-+ATOM 16 O2 6LB 1 3.239 3.287 -1.528 1.00 0.00
-+ATOM 17 H2O 6LB 1 2.352 3.631 -1.425 1.00 0.00
- ATOM 18 C6 6LB 1 5.842 0.516 2.583 1.00 0.00
- ATOM 19 H61 6LB 1 6.928 0.603 2.654 1.00 0.00
- ATOM 20 H62 6LB 1 5.375 1.096 3.383 1.00 0.00
-@@ -37,7 +37,7 @@
- ATOM 37 C2 VLB 2 4.686 -2.097 4.639 1.00 0.00
- ATOM 38 H2 VLB 2 4.209 -2.878 4.019 1.00 0.00
- ATOM 39 O2 VLB 2 3.816 -1.039 4.992 1.00 0.00
--ATOM 40 H2O VLB 2 2.957 -1.387 4.762 1.00 0.00
-+ATOM 40 H2O VLB 2 4.332 -0.238 5.050 1.00 0.00
- ATOM 41 O3 VLB 2 4.014 -3.472 6.508 1.00 0.00
- ATOM 42 C1 VLB 3 2.893 -2.701 6.920 1.00 0.00
- ATOM 43 H1 VLB 3 3.071 -1.648 6.648 1.00 0.00
-@@ -57,7 +57,7 @@
- ATOM 57 C2 VLB 3 1.614 -3.056 6.171 1.00 0.00
- ATOM 58 H2 VLB 3 1.323 -4.090 6.432 1.00 0.00
- ATOM 59 O2 VLB 3 1.793 -2.849 4.782 1.00 0.00
--ATOM 60 H2O VLB 3 1.405 -3.634 4.401 1.00 0.00
-+ATOM 60 H2O VLB 3 2.476 -2.193 4.666 1.00 0.00
- ATOM 61 O3 VLB 3 -0.763 -2.638 6.079 1.00 0.00
- ATOM 62 C1 3GB 4 -0.905 -2.644 4.665 1.00 0.00
- ATOM 63 H1 3GB 4 0.044 -2.311 4.215 1.00 0.00
-@@ -68,7 +68,7 @@
- ATOM 68 H61 3GB 4 -3.380 -0.533 1.560 1.00 0.00
- ATOM 69 H62 3GB 4 -4.134 -1.031 3.099 1.00 0.00
- ATOM 70 O6 3GB 4 -2.909 0.649 3.114 1.00 0.00
--ATOM 71 H6O 3GB 4 -3.688 0.628 3.666 1.00 0.00
-+ATOM 71 H6O 3GB 4 -2.709 0.580 4.045 1.00 0.00
- ATOM 72 C4 3GB 4 -2.352 -2.990 2.187 1.00 0.00
- ATOM 73 H4 3GB 4 -3.330 -3.384 2.501 1.00 0.00
- ATOM 74 O4 3GB 4 -2.343 -2.789 0.771 1.00 0.00
-@@ -78,7 +78,7 @@
- ATOM 78 C2 3GB 4 -1.106 -4.042 4.090 1.00 0.00
- ATOM 79 H2 3GB 4 -2.075 -4.437 4.446 1.00 0.00
- ATOM 80 O2 3GB 4 -0.002 -4.864 4.416 1.00 0.00
--ATOM 81 H2O 3GB 4 0.874 -5.115 4.125 1.00 0.00
-+ATOM 81 H2O 3GB 4 -0.154 -5.298 5.256 1.00 0.00
- ATOM 82 O3 3GB 4 -1.600 -5.254 2.060 1.00 0.00
- ATOM 83 C1 0GB 5 -0.735 -6.360 2.282 1.00 0.00
- ATOM 84 H1 0GB 5 0.116 -6.024 2.897 1.00 0.00
-@@ -89,7 +89,7 @@
- ATOM 89 H61 0GB 5 1.836 -9.117 -0.171 1.00 0.00
- ATOM 90 H62 0GB 5 0.236 -8.623 -0.788 1.00 0.00
- ATOM 91 O6 0GB 5 1.789 -7.246 -0.898 1.00 0.00
--ATOM 92 H6O 0GB 5 1.142 -7.286 -1.600 1.00 0.00
-+ATOM 92 H6O 0GB 5 1.207 -6.488 -0.919 1.00 0.00
- ATOM 93 C4 0GB 5 0.134 -9.099 1.971 1.00 0.00
- ATOM 94 H4 0GB 5 -0.679 -9.576 1.404 1.00 0.00
- ATOM 95 O4 0GB 5 1.193 -10.038 2.180 1.00 0.00
-@@ -103,49 +103,49 @@
- ATOM 103 O2 0GB 5 -1.753 -6.949 4.385 1.00 0.00
- ATOM 104 H2O 0GB 5 -2.644 -6.603 4.344 1.00 0.00
- TER
--ATOM 105 C1 3LB 6 10.501 -4.485 3.172 1.00 0.00
--ATOM 106 H1 3LB 6 10.220 -5.544 3.293 1.00 0.00
--ATOM 107 O5 3LB 6 11.709 -4.218 3.853 1.00 0.00
--ATOM 108 C5 3LB 6 12.798 -5.075 3.481 1.00 0.00
--ATOM 109 H5 3LB 6 12.529 -6.122 3.711 1.00 0.00
--ATOM 110 C6 3LB 6 13.974 -4.687 4.358 1.00 0.00
--ATOM 111 H61 3LB 6 14.831 -5.300 4.073 1.00 0.00
--ATOM 112 H62 3LB 6 14.206 -3.632 4.190 1.00 0.00
--ATOM 113 O6 3LB 6 13.745 -4.955 5.727 1.00 0.00
--ATOM 114 H6O 3LB 6 13.914 -4.037 5.928 1.00 0.00
--ATOM 115 C4 3LB 6 13.095 -4.959 1.987 1.00 0.00
--ATOM 116 H4 3LB 6 13.857 -5.698 1.700 1.00 0.00
--ATOM 117 O4 3LB 6 13.583 -3.638 1.737 1.00 0.00
--ATOM 118 H4O 3LB 6 13.207 -3.313 0.918 1.00 0.00
--ATOM 119 C3 3LB 6 11.834 -5.224 1.182 1.00 0.00
--ATOM 120 H3 3LB 6 11.550 -6.279 1.318 1.00 0.00
--ATOM 121 C2 3LB 6 10.690 -4.332 1.666 1.00 0.00
--ATOM 122 H2 3LB 6 11.034 -3.304 1.454 1.00 0.00
--ATOM 123 O2 3LB 6 9.498 -4.685 0.991 1.00 0.00
--ATOM 124 H2O 3LB 6 9.019 -5.430 0.628 1.00 0.00
--ATOM 125 O3 3LB 6 12.104 -4.961 -0.188 1.00 0.00
--ATOM 126 C1 0GB 7 11.081 -5.133 -1.159 1.00 0.00
--ATOM 127 H1 0GB 7 10.154 -5.434 -0.645 1.00 0.00
--ATOM 128 O5 0GB 7 11.461 -6.115 -2.101 1.00 0.00
--ATOM 129 C5 0GB 7 10.440 -6.444 -3.054 1.00 0.00
--ATOM 130 H5 0GB 7 9.559 -6.842 -2.518 1.00 0.00
--ATOM 131 C6 0GB 7 11.002 -7.552 -3.925 1.00 0.00
--ATOM 132 H61 0GB 7 10.258 -7.800 -4.686 1.00 0.00
--ATOM 133 H62 0GB 7 11.913 -7.191 -4.409 1.00 0.00
--ATOM 134 O6 0GB 7 11.234 -8.746 -3.207 1.00 0.00
--ATOM 135 H6O 0GB 7 12.148 -8.727 -3.483 1.00 0.00
--ATOM 136 C4 0GB 7 10.017 -5.207 -3.846 1.00 0.00
--ATOM 137 H4 0GB 7 10.852 -4.864 -4.475 1.00 0.00
--ATOM 138 O4 0GB 7 8.908 -5.572 -4.672 1.00 0.00
--ATOM 139 H4O 0GB 7 9.006 -5.159 -5.530 1.00 0.00
--ATOM 140 C3 0GB 7 9.603 -4.096 -2.897 1.00 0.00
--ATOM 141 H3 0GB 7 8.685 -4.408 -2.376 1.00 0.00
--ATOM 142 O3 0GB 7 9.362 -2.917 -3.653 1.00 0.00
--ATOM 143 H3O 0GB 7 8.751 -3.136 -4.381 1.00 0.00
--ATOM 144 C2 0GB 7 10.699 -3.835 -1.863 1.00 0.00
--ATOM 145 H2 0GB 7 11.561 -3.486 -2.459 1.00 0.00
--ATOM 146 O2 0GB 7 10.240 -2.889 -0.917 1.00 0.00
--ATOM 147 H2O 0GB 7 10.975 -2.374 -0.585 1.00 0.00
-+ATOM 105 C1 3LB 6 3.394 1.433 0.000 1.00 0.00
-+ATOM 106 H1 3LB 6 3.836 0.891 -0.851 1.00 0.00
-+ATOM 107 O5 3LB 6 3.973 0.998 1.212 1.00 0.00
-+ATOM 108 C5 3LB 6 5.405 1.087 1.247 1.00 0.00
-+ATOM 109 H5 3LB 6 5.826 0.451 0.448 1.00 0.00
-+ATOM 110 C6 3LB 6 5.842 0.516 2.583 1.00 0.00
-+ATOM 111 H61 3LB 6 6.928 0.603 2.654 1.00 0.00
-+ATOM 112 H62 3LB 6 5.375 1.096 3.383 1.00 0.00
-+ATOM 113 O6 3LB 6 5.555 -0.862 2.707 1.00 0.00
-+ATOM 114 H6O 3LB 6 4.615 -0.981 2.592 1.00 0.00
-+ATOM 115 C4 3LB 6 5.865 2.527 1.025 1.00 0.00
-+ATOM 116 H4 3LB 6 6.962 2.560 0.948 1.00 0.00
-+ATOM 117 O4 3LB 6 5.435 3.303 2.147 1.00 0.00
-+ATOM 118 H4O 3LB 6 5.122 4.155 1.839 1.00 0.00
-+ATOM 119 C3 3LB 6 5.271 3.073 -0.262 1.00 0.00
-+ATOM 120 H3 3LB 6 5.706 2.518 -1.108 1.00 0.00
-+ATOM 121 C2 3LB 6 3.753 2.890 -0.273 1.00 0.00
-+ATOM 122 H2 3LB 6 3.395 3.508 0.570 1.00 0.00
-+ATOM 123 O2 3LB 6 3.238 3.288 -1.530 1.00 0.00
-+ATOM 124 H2O 3LB 6 2.351 3.631 -1.427 1.00 0.00
-+ATOM 125 O3 3LB 6 5.591 4.453 -0.363 1.00 0.00
-+ATOM 126 C1 0GB 7 5.149 5.205 -1.484 1.00 0.00
-+ATOM 127 H1 0GB 7 4.548 4.549 -2.133 1.00 0.00
-+ATOM 128 O5 0GB 7 6.255 5.718 -2.197 1.00 0.00
-+ATOM 129 C5 0GB 7 5.911 6.393 -3.416 1.00 0.00
-+ATOM 130 H5 0GB 7 5.402 5.682 -4.091 1.00 0.00
-+ATOM 131 C6 0GB 7 7.218 6.805 -4.066 1.00 0.00
-+ATOM 132 H61 0GB 7 6.987 7.354 -4.981 1.00 0.00
-+ATOM 133 H62 0GB 7 7.764 7.455 -3.378 1.00 0.00
-+ATOM 134 O6 0GB 7 8.002 5.699 -4.466 1.00 0.00
-+ATOM 135 H6O 0GB 7 8.174 5.164 -3.694 1.00 0.00
-+ATOM 136 C4 0GB 7 4.976 7.569 -3.140 1.00 0.00
-+ATOM 137 H4 0GB 7 5.507 8.340 -2.562 1.00 0.00
-+ATOM 138 O4 0GB 7 4.562 8.106 -4.399 1.00 0.00
-+ATOM 139 H4O 0GB 7 4.551 9.062 -4.345 1.00 0.00
-+ATOM 140 C3 0GB 7 3.759 7.096 -2.362 1.00 0.00
-+ATOM 141 H3 0GB 7 3.169 6.430 -3.010 1.00 0.00
-+ATOM 142 O3 0GB 7 2.987 8.230 -1.991 1.00 0.00
-+ATOM 143 H3O 0GB 7 2.828 8.771 -2.788 1.00 0.00
-+ATOM 144 C2 0GB 7 4.185 6.326 -1.112 1.00 0.00
-+ATOM 145 H2 0GB 7 4.726 7.072 -0.501 1.00 0.00
-+ATOM 146 O2 0GB 7 3.042 5.790 -0.474 1.00 0.00
-+ATOM 147 H2O 0GB 7 3.187 5.738 0.470 1.00 0.00
- CONECT 1 2 3 14
- CONECT 2 1
- CONECT 3 1 4
-@@ -173,7 +173,7 @@
- CONECT 25 24 26 27 31
- CONECT 26 25
- CONECT 27 25 28 29 30
--CONECT 28 27 105
-+CONECT 28 27
- CONECT 29 27
- CONECT 30 27
- CONECT 31 25 32 33 35
-@@ -250,7 +250,7 @@
- CONECT 102 101
- CONECT 103 101 104
- CONECT 104 103
--CONECT 105 28 106 107 121
-+CONECT 105 106 107 121
- CONECT 106 105
- CONECT 107 105 108
- CONECT 108 107 109 110 115
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_amino91.lib.save amber11/AmberTools/test/sleap/oldleap/ff91/all_amino91.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_amino91.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff91/all_amino91.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -256,7 +256,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.230747 4.925147 1.196914
-- 4.828085 5.500165 0.713033
-+ 3.983296 5.433818 1.972557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.SER.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -368,7 +368,7 @@
- 1.784422 4.436955 2.124895
- 1.764698 4.397850 0.345787
- 3.971494 2.947416 2.411212
-- 4.374397 3.770738 2.696536
-+ 3.724043 3.456087 3.186855
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.THR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -500,15 +500,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.857033 4.748192 2.579338
-- 5.821217 4.249596 2.480083
-- 4.990360 5.695010 3.102655
-- 4.176711 4.112860 3.146449
-- 5.226485 5.898474 0.401698
-- 5.794506 5.938748 1.331123
-- 5.883342 6.134649 -0.435476
-- 4.414018 6.624028 0.441300
-+ 5.354265 4.863179 1.185791
-+ 3.853427 5.762894 -0.062862
-+ 2.773446 5.910110 -0.054565
-+ 4.351509 6.732051 -0.090207
-+ 4.134162 5.185701 -0.943848
-+ 3.881095 5.817649 2.426715
-+ 4.181612 5.279606 3.325770
-+ 4.379188 6.786828 2.400358
-+ 2.801124 5.964886 2.435947
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.LEU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -648,12 +648,12 @@
- 3.671552 3.399212 3.380613
- 3.485641 1.869279 2.490736
- 4.230199 4.986696 1.245167
-- 3.258221 5.469711 1.345449
-- 4.638709 4.784431 2.235272
-- 5.178160 5.906245 0.482655
-- 5.735477 5.933935 1.418994
-- 5.840562 6.170139 -0.341774
-- 4.354989 6.619215 0.529171
-+ 5.312304 4.855747 1.245167
-+ 3.931816 5.541027 0.355344
-+ 3.812283 5.761636 2.490333
-+ 4.110763 5.208108 3.380624
-+ 4.296680 6.738088 2.490828
-+ 2.730275 5.893388 2.490801
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ILE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -781,9 +781,9 @@
- 3.716963 3.477633 3.370556
- 3.499621 1.931327 2.516833
- 4.274181 5.009604 1.194574
-- 4.690774 4.823320 2.184447
-- 4.954792 5.645336 0.628258
-- 3.310286 5.508600 1.294624
-+ 3.973778 5.548459 0.295968
-+ 3.993550 5.587589 2.075074
-+ 5.354265 4.863179 1.185791
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.VAL.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -897,10 +897,10 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.253694 5.017114 1.232141
-- 3.666601 5.213107 2.293908
-- 5.062354 5.920372 0.673198
-- 5.699537 6.377296 0.036552
-- 4.754312 6.389897 1.512695
-+ 5.005295 5.340406 0.315070
-+ 3.984875 5.817912 2.265912
-+ 4.408006 6.733705 2.314738
-+ 3.359598 5.504301 2.994456
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ASN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1024,13 +1024,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.220277 5.927344 0.433563
-- 4.913588 6.591689 1.420998
-- 6.050965 6.373808 -0.511346
-- 5.971268 7.107959 0.177690
-- 6.636748 6.497679 -1.324743
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.906966 5.848446 2.410297
-+ 3.138947 5.408353 3.262885
-+ 4.458847 7.061526 2.488328
-+ 4.248421 7.659050 3.274958
-+ 5.084275 7.376210 1.760376
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.GLN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1185,20 +1185,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.125319 6.253797 -0.719124
-- 6.688164 6.300372 -1.556463
-- 6.117846 7.301883 0.099632
-- 5.907135 8.163840 1.090353
-- 5.292210 7.913283 1.851398
-- 6.363014 9.065005 1.077109
-- 6.926823 7.627695 -0.904511
-- 7.501836 7.713669 -1.730386
-- 6.873063 8.384728 -0.238094
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.540311 7.142726 2.424478
-+ 5.151800 7.375491 1.655062
-+ 4.364270 8.040994 3.389374
-+ 3.575005 7.807613 4.434120
-+ 3.088928 6.925430 4.508833
-+ 3.465343 8.513638 5.147984
-+ 5.006244 9.201290 3.286985
-+ 5.604850 9.375324 2.492326
-+ 4.892201 9.903050 4.004360
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ARG.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1333,13 +1333,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.HID.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1467,13 +1467,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.HIE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1605,14 +1605,14 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.HIP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1770,20 +1770,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 4.941957 6.093161 0.993054
-- 4.555798 6.518222 1.919501
-- 5.833674 6.587638 -0.009560
-- 5.727864 7.297382 0.701192
-- 6.577083 6.691104 -1.083216
-- 6.699953 7.881667 -0.356949
-- 7.350710 8.089828 -1.206234
-- 6.471604 8.773711 0.684306
-- 7.153163 9.167983 -0.069436
-- 6.163215 9.539474 1.752484
-- 6.850900 10.076243 1.098979
-- 5.726463 10.185215 2.927374
-- 6.404130 10.841773 2.381664
-- 5.125146 10.546906 4.138818
-+ 4.023443 5.931088 2.293236
-+ 3.368827 5.705470 3.135064
-+ 4.811936 7.073557 1.949805
-+ 4.882911 7.922013 2.493114
-+ 5.427345 6.842058 0.816764
-+ 6.297161 7.689048 0.119607
-+ 6.531228 8.676646 0.517052
-+ 6.814097 7.187003 -1.069017
-+ 7.498083 7.791848 -1.664355
-+ 6.482667 5.953109 -1.505090
-+ 6.897672 5.575635 -2.439640
-+ 5.604046 5.117349 -0.785625
-+ 5.358725 4.126563 -1.168065
-+ 5.083391 5.623006 0.411551
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.TRP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1930,16 +1930,16 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.021223 6.053049 0.839188
-- 4.662984 6.521610 1.755820
-- 5.904492 6.742286 -0.000329
-- 5.724114 7.440373 0.817130
-- 6.758713 7.099630 -1.050381
-- 6.738282 7.947511 -0.365705
-- 7.536653 7.157250 -2.212917
-- 7.655187 8.096815 -1.673224
-- 8.214242 6.953605 -3.420974
-- 8.451251 7.942064 -3.027432
-+ 3.911603 5.857254 2.409885
-+ 3.236109 5.513847 3.193390
-+ 4.490005 7.129516 2.492349
-+ 4.264839 7.776656 3.340058
-+ 5.357612 7.570590 1.486013
-+ 5.807939 8.561136 1.550217
-+ 5.646816 6.739401 0.397212
-+ 6.322310 7.082808 -0.386292
-+ 5.068414 5.467139 0.314748
-+ 5.293580 4.820000 -0.532961
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.PHE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2086,17 +2086,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 5.102503 5.984523 0.660315
-- 4.777863 6.502414 1.562811
-- 5.985574 6.611197 -0.227077
-- 5.846174 7.352316 0.559949
-- 6.824378 6.891857 -1.312267
-- 6.854321 7.991157 -0.512116
-- 6.305234 7.900783 0.270147
-- 7.573657 6.866032 -2.494602
-- 7.737299 7.827553 -2.007982
-- 8.211756 6.577405 -3.706841
-- 8.492629 7.576371 -3.373257
-+ 4.059917 5.918914 2.227275
-+ 3.400094 5.668222 3.057870
-+ 4.699989 7.163550 2.192787
-+ 4.538509 7.881896 2.996531
-+ 5.547468 7.485540 1.125968
-+ 6.169252 8.694615 1.092466
-+ 5.956320 9.246984 1.848209
-+ 5.754874 6.562895 0.093637
-+ 6.414696 6.813587 -0.736958
-+ 5.114801 5.318259 0.128125
-+ 5.276282 4.599913 -0.675619
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.TYR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2219,11 +2219,11 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.GLU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2328,8 +2328,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ASP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2471,18 +2471,18 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.482814 7.265694 1.154880
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.478064 7.453372 4.409622
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.LYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2600,11 +2600,11 @@
- 4.419995 0.019280 -0.902255
- 3.955884 -0.274036 0.790585
- 5.547124 1.172442 0.544698
-- 6.078592 2.122578 0.598404
-- 6.005141 0.543154 -0.218399
-- 5.532142 0.472642 1.882665
-- 6.368845 0.104645 1.288859
-- 5.876555 1.272377 2.538335
-+ 6.413547 0.741633 0.042886
-+ 5.652946 1.047940 1.622381
-+ 5.369090 2.628183 0.185221
-+ 5.690639 3.251042 1.019939
-+ 5.969291 2.861853 -0.694128
- 3.933608 2.871277 -0.104508
- 3.932642 3.351380 0.874062
- 2.872953 3.958248 -0.204456
-@@ -2714,9 +2714,9 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 5.145787 5.839753 0.481671
-- 4.563172 5.041444 1.938780
-- 3.657120 5.491212 1.354764
-+ 3.725381 5.622023 2.517634
-+ 4.051868 5.551722 0.788945
-+ 4.957920 5.101954 1.372960
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.CYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2819,8 +2819,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 4.563172 5.041444 1.938780
-- 3.657120 5.491212 1.354764
-+ 4.051868 5.551722 0.788945
-+ 4.957920 5.101954 1.372960
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.CYX.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2950,15 +2950,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.402881 6.076526 0.265157
-- 5.724538 5.972445 0.854008
-- 4.818486 6.422214 0.269993
-- 6.377314 6.105674 -1.224148
-- 6.034578 6.467191 -2.193651
-- 6.303017 6.908485 -0.490613
-- 7.415066 5.781911 -1.303828
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.817297 5.981271 2.651702
-+ 4.055297 5.545795 3.115122
-+ 3.149245 5.995564 2.531107
-+ 4.753204 7.463130 2.340945
-+ 4.433578 7.904044 1.396734
-+ 4.585895 8.175303 3.148978
-+ 5.814065 7.218764 2.286557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.MET.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_aminoct91.lib.save amber11/AmberTools/test/sleap/oldleap/ff91/all_aminoct91.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_aminoct91.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff91/all_aminoct91.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -272,7 +272,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.230747 4.925147 1.196914
-- 4.828085 5.500165 0.713033
-+ 3.983296 5.433818 1.972557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -390,7 +390,7 @@
- 1.784422 4.436955 2.124895
- 1.764698 4.397850 0.345787
- 3.971494 2.947416 2.411212
-- 4.374397 3.770738 2.696536
-+ 3.724043 3.456087 3.186855
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -528,15 +528,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.857033 4.748192 2.579338
-- 5.821217 4.249596 2.480083
-- 4.990360 5.695010 3.102655
-- 4.176711 4.112860 3.146449
-- 5.226485 5.898474 0.401698
-- 5.794506 5.938748 1.331123
-- 5.883342 6.134649 -0.435476
-- 4.414018 6.624028 0.441300
-+ 5.354265 4.863179 1.185791
-+ 3.853427 5.762894 -0.062862
-+ 2.773446 5.910110 -0.054565
-+ 4.351509 6.732051 -0.090207
-+ 4.134162 5.185701 -0.943848
-+ 3.881095 5.817649 2.426715
-+ 4.181612 5.279606 3.325770
-+ 4.379188 6.786828 2.400358
-+ 2.801124 5.964886 2.435947
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -682,12 +682,12 @@
- 3.671552 3.399212 3.380613
- 3.485641 1.869279 2.490736
- 4.230199 4.986696 1.245167
-- 3.258221 5.469711 1.345449
-- 4.638709 4.784431 2.235272
-- 5.178160 5.906245 0.482655
-- 5.735477 5.933935 1.418994
-- 5.840562 6.170139 -0.341774
-- 4.354989 6.619215 0.529171
-+ 5.312304 4.855747 1.245167
-+ 3.931816 5.541027 0.355344
-+ 3.812283 5.761636 2.490333
-+ 4.110763 5.208108 3.380624
-+ 4.296680 6.738088 2.490828
-+ 2.730275 5.893388 2.490801
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -821,9 +821,9 @@
- 3.716963 3.477633 3.370556
- 3.499621 1.931327 2.516833
- 4.274181 5.009604 1.194574
-- 4.690774 4.823320 2.184447
-- 4.954792 5.645336 0.628258
-- 3.310286 5.508600 1.294624
-+ 3.973778 5.548459 0.295968
-+ 3.993550 5.587589 2.075074
-+ 5.354265 4.863179 1.185791
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -943,10 +943,10 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.253694 5.017114 1.232141
-- 3.666601 5.213107 2.293908
-- 5.062354 5.920372 0.673198
-- 5.699537 6.377296 0.036552
-- 4.754312 6.389897 1.512695
-+ 5.005295 5.340406 0.315070
-+ 3.984875 5.817912 2.265912
-+ 4.408006 6.733705 2.314738
-+ 3.359598 5.504301 2.994456
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1076,13 +1076,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.220277 5.927344 0.433563
-- 4.913588 6.591689 1.420998
-- 6.050965 6.373808 -0.511346
-- 5.971268 7.107959 0.177690
-- 6.636748 6.497679 -1.324743
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.906966 5.848446 2.410297
-+ 3.138947 5.408353 3.262885
-+ 4.458847 7.061526 2.488328
-+ 4.248421 7.659050 3.274958
-+ 5.084275 7.376210 1.760376
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1243,20 +1243,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.125319 6.253797 -0.719124
-- 6.688164 6.300372 -1.556463
-- 6.117846 7.301883 0.099632
-- 5.907135 8.163840 1.090353
-- 5.292210 7.913283 1.851398
-- 6.363014 9.065005 1.077109
-- 6.926823 7.627695 -0.904511
-- 7.501836 7.713669 -1.730386
-- 6.873063 8.384728 -0.238094
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.540311 7.142726 2.424478
-+ 5.151800 7.375491 1.655062
-+ 4.364270 8.040994 3.389374
-+ 3.575005 7.807613 4.434120
-+ 3.088928 6.925430 4.508833
-+ 3.465343 8.513638 5.147984
-+ 5.006244 9.201290 3.286985
-+ 5.604850 9.375324 2.492326
-+ 4.892201 9.903050 4.004360
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1397,13 +1397,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1537,13 +1537,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1681,14 +1681,14 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1852,20 +1852,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 4.941957 6.093161 0.993054
-- 4.555798 6.518222 1.919501
-- 5.833674 6.587638 -0.009560
-- 5.727864 7.297382 0.701192
-- 6.577083 6.691104 -1.083216
-- 6.699953 7.881667 -0.356949
-- 7.350710 8.089828 -1.206234
-- 6.471604 8.773711 0.684306
-- 7.153163 9.167983 -0.069436
-- 6.163215 9.539474 1.752484
-- 6.850900 10.076243 1.098979
-- 5.726463 10.185215 2.927374
-- 6.404130 10.841773 2.381664
-- 5.125146 10.546906 4.138818
-+ 4.023443 5.931088 2.293236
-+ 3.368827 5.705470 3.135064
-+ 4.811936 7.073557 1.949805
-+ 4.882911 7.922013 2.493114
-+ 5.427345 6.842058 0.816764
-+ 6.297161 7.689048 0.119607
-+ 6.531228 8.676646 0.517052
-+ 6.814097 7.187003 -1.069017
-+ 7.498083 7.791848 -1.664355
-+ 6.482667 5.953109 -1.505090
-+ 6.897672 5.575635 -2.439640
-+ 5.604046 5.117349 -0.785625
-+ 5.358725 4.126563 -1.168065
-+ 5.083391 5.623006 0.411551
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2018,16 +2018,16 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.021223 6.053049 0.839188
-- 4.662984 6.521610 1.755820
-- 5.904492 6.742286 -0.000329
-- 5.724114 7.440373 0.817130
-- 6.758713 7.099630 -1.050381
-- 6.738282 7.947511 -0.365705
-- 7.536653 7.157250 -2.212917
-- 7.655187 8.096815 -1.673224
-- 8.214242 6.953605 -3.420974
-- 8.451251 7.942064 -3.027432
-+ 3.911603 5.857254 2.409885
-+ 3.236109 5.513847 3.193390
-+ 4.490005 7.129516 2.492349
-+ 4.264839 7.776656 3.340058
-+ 5.357612 7.570590 1.486013
-+ 5.807939 8.561136 1.550217
-+ 5.646816 6.739401 0.397212
-+ 6.322310 7.082808 -0.386292
-+ 5.068414 5.467139 0.314748
-+ 5.293580 4.820000 -0.532961
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2180,17 +2180,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 5.102503 5.984523 0.660315
-- 4.777863 6.502414 1.562811
-- 5.985574 6.611197 -0.227077
-- 5.846174 7.352316 0.559949
-- 6.824378 6.891857 -1.312267
-- 6.854321 7.991157 -0.512116
-- 6.305234 7.900783 0.270147
-- 7.573657 6.866032 -2.494602
-- 7.737299 7.827553 -2.007982
-- 8.211756 6.577405 -3.706841
-- 8.492629 7.576371 -3.373257
-+ 4.059917 5.918914 2.227275
-+ 3.400094 5.668222 3.057870
-+ 4.699989 7.163550 2.192787
-+ 4.538509 7.881896 2.996531
-+ 5.547468 7.485540 1.125968
-+ 6.169252 8.694615 1.092466
-+ 5.956320 9.246984 1.848209
-+ 5.754874 6.562895 0.093637
-+ 6.414696 6.813587 -0.736958
-+ 5.114801 5.318259 0.128125
-+ 5.276282 4.599913 -0.675619
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2319,11 +2319,11 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2434,8 +2434,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2583,18 +2583,18 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.482814 7.265694 1.154880
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.478064 7.453372 4.409622
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2718,11 +2718,11 @@
- 4.419995 0.019280 -0.902255
- 3.955884 -0.274036 0.790585
- 5.547124 1.172442 0.544698
-- 6.078592 2.122578 0.598404
-- 6.005141 0.543154 -0.218399
-- 5.532142 0.472642 1.882665
-- 6.368845 0.104645 1.288859
-- 5.876555 1.272377 2.538335
-+ 6.413547 0.741633 0.042886
-+ 5.652946 1.047940 1.622381
-+ 5.369090 2.628183 0.185221
-+ 5.690639 3.251042 1.019939
-+ 5.969291 2.861853 -0.694128
- 3.933608 2.871277 -0.104508
- 3.932642 3.351380 0.874062
- 2.872953 3.958248 -0.204456
-@@ -2838,9 +2838,9 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 5.145787 5.839753 0.481671
-- 4.563172 5.041444 1.938780
-- 3.657120 5.491212 1.354764
-+ 3.725381 5.622023 2.517634
-+ 4.051868 5.551722 0.788945
-+ 4.957920 5.101954 1.372960
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2949,8 +2949,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 4.563172 5.041444 1.938780
-- 3.657120 5.491212 1.354764
-+ 4.051868 5.551722 0.788945
-+ 4.957920 5.101954 1.372960
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -3086,15 +3086,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.402881 6.076526 0.265157
-- 5.724538 5.972445 0.854008
-- 4.818486 6.422214 0.269993
-- 6.377314 6.105674 -1.224148
-- 6.034578 6.467191 -2.193651
-- 6.303017 6.908485 -0.490613
-- 7.415066 5.781911 -1.303828
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.817297 5.981271 2.651702
-+ 4.055297 5.545795 3.115122
-+ 3.149245 5.995564 2.531107
-+ 4.753204 7.463130 2.340945
-+ 4.433578 7.904044 1.396734
-+ 4.585895 8.175303 3.148978
-+ 5.814065 7.218764 2.286557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_aminont91.lib.save amber11/AmberTools/test/sleap/oldleap/ff91/all_aminont91.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_aminont91.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff91/all_aminont91.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -290,7 +290,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.230747 4.925147 1.196914
-- 4.828085 5.500165 0.713033
-+ 3.983296 5.433818 1.972557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NSER.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -414,7 +414,7 @@
- 1.784422 4.436955 2.124895
- 1.764698 4.397850 0.345787
- 3.971494 2.947416 2.411212
-- 4.374397 3.770738 2.696536
-+ 3.724043 3.456087 3.186855
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NTHR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -558,15 +558,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.857033 4.748192 2.579338
-- 5.821217 4.249596 2.480083
-- 4.990360 5.695010 3.102655
-- 4.176711 4.112860 3.146449
-- 5.226485 5.898474 0.401698
-- 5.794506 5.938748 1.331123
-- 5.883342 6.134649 -0.435476
-- 4.414018 6.624028 0.441300
-+ 5.354265 4.863179 1.185791
-+ 3.853427 5.762894 -0.062862
-+ 2.773446 5.910110 -0.054565
-+ 4.351509 6.732051 -0.090207
-+ 4.134162 5.185701 -0.943848
-+ 3.881095 5.817649 2.426715
-+ 4.181612 5.279606 3.325770
-+ 4.379188 6.786828 2.400358
-+ 2.801124 5.964886 2.435947
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NLEU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -718,12 +718,12 @@
- 3.671552 3.399212 3.380613
- 3.485641 1.869279 2.490736
- 4.230199 4.986696 1.245167
-- 4.638709 4.784431 2.235272
-- 3.258221 5.469711 1.345449
-- 5.178160 5.906245 0.482655
-- 5.735477 5.933935 1.418994
-- 5.840562 6.170139 -0.341774
-- 4.354989 6.619215 0.529171
-+ 3.931816 5.541027 0.355344
-+ 5.312304 4.855747 1.245167
-+ 3.812283 5.761636 2.490333
-+ 4.110763 5.208108 3.380624
-+ 4.296680 6.738088 2.490828
-+ 2.730275 5.893388 2.490801
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NILE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -863,9 +863,9 @@
- 3.716963 3.477633 3.370556
- 3.499621 1.931327 2.516833
- 4.274181 5.009604 1.194574
-- 4.690774 4.823320 2.184447
-- 4.954792 5.645336 0.628258
-- 3.310286 5.508600 1.294624
-+ 3.973778 5.548459 0.295968
-+ 3.993550 5.587589 2.075074
-+ 5.354265 4.863179 1.185791
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NVAL.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -991,10 +991,10 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.253694 5.017114 1.232141
-- 3.666601 5.213107 2.293908
-- 5.062354 5.920372 0.673198
-- 5.699537 6.377296 0.036552
-- 4.754312 6.389897 1.512695
-+ 5.005295 5.340406 0.315070
-+ 3.984875 5.817912 2.265912
-+ 4.408006 6.733705 2.314738
-+ 3.359598 5.504301 2.994456
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NASN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1130,13 +1130,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.220277 5.927344 0.433563
-- 4.913588 6.591689 1.420998
-- 6.050965 6.373808 -0.511346
-- 5.971268 7.107959 0.177690
-- 6.636748 6.497679 -1.324743
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.906966 5.848446 2.410297
-+ 3.138947 5.408353 3.262885
-+ 4.458847 7.061526 2.488328
-+ 4.248421 7.659050 3.274958
-+ 5.084275 7.376210 1.760376
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NGLN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1303,20 +1303,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.125319 6.253797 -0.719124
-- 6.688164 6.300372 -1.556463
-- 6.117846 7.301883 0.099632
-- 5.907135 8.163840 1.090353
-- 5.292210 7.913283 1.851398
-- 6.363014 9.065005 1.077109
-- 6.926823 7.627695 -0.904511
-- 7.501836 7.713669 -1.730386
-- 6.873063 8.384728 -0.238094
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.540311 7.142726 2.424478
-+ 5.151800 7.375491 1.655062
-+ 4.364270 8.040994 3.389374
-+ 3.575005 7.807613 4.434120
-+ 3.088928 6.925430 4.508833
-+ 3.465343 8.513638 5.147984
-+ 5.006244 9.201290 3.286985
-+ 5.604850 9.375324 2.492326
-+ 4.892201 9.903050 4.004360
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NARG.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1463,13 +1463,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NHID.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1609,13 +1609,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NHIE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1759,14 +1759,14 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NHIP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1936,20 +1936,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 4.941957 6.093161 0.993054
-- 4.555798 6.518222 1.919501
-- 5.833674 6.587638 -0.009560
-- 5.727864 7.297382 0.701192
-- 6.577083 6.691104 -1.083216
-- 6.699953 7.881667 -0.356949
-- 7.350710 8.089828 -1.206234
-- 6.471604 8.773711 0.684306
-- 7.153163 9.167983 -0.069436
-- 6.163215 9.539474 1.752484
-- 6.850900 10.076243 1.098979
-- 5.726463 10.185215 2.927374
-- 6.404130 10.841773 2.381664
-- 5.125146 10.546906 4.138818
-+ 4.023443 5.931088 2.293236
-+ 3.368827 5.705470 3.135064
-+ 4.811936 7.073557 1.949805
-+ 4.882911 7.922013 2.493114
-+ 5.427345 6.842058 0.816764
-+ 6.297161 7.689048 0.119607
-+ 6.531228 8.676646 0.517052
-+ 6.814097 7.187003 -1.069017
-+ 7.498083 7.791848 -1.664355
-+ 6.482667 5.953109 -1.505090
-+ 6.897672 5.575635 -2.439640
-+ 5.604046 5.117349 -0.785625
-+ 5.358725 4.126563 -1.168065
-+ 5.083391 5.623006 0.411551
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NTRP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2108,16 +2108,16 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.021223 6.053049 0.839188
-- 4.662984 6.521610 1.755820
-- 5.904492 6.742286 -0.000329
-- 5.724114 7.440373 0.817130
-- 6.758713 7.099630 -1.050381
-- 6.738282 7.947511 -0.365705
-- 7.536653 7.157250 -2.212917
-- 7.655187 8.096815 -1.673224
-- 8.214242 6.953605 -3.420974
-- 8.451251 7.942064 -3.027432
-+ 3.911603 5.857254 2.409885
-+ 3.236109 5.513847 3.193390
-+ 4.490005 7.129516 2.492349
-+ 4.264839 7.776656 3.340058
-+ 5.357612 7.570590 1.486013
-+ 5.807939 8.561136 1.550217
-+ 5.646816 6.739401 0.397212
-+ 6.322310 7.082808 -0.386292
-+ 5.068414 5.467139 0.314748
-+ 5.293580 4.820000 -0.532961
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NPHE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2276,17 +2276,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 5.102503 5.984523 0.660315
-- 4.777863 6.502414 1.562811
-- 5.985574 6.611197 -0.227077
-- 5.846174 7.352316 0.559949
-- 6.824378 6.891857 -1.312267
-- 6.854321 7.991157 -0.512116
-- 6.305234 7.900783 0.270147
-- 7.573657 6.866032 -2.494602
-- 7.737299 7.827553 -2.007982
-- 8.211756 6.577405 -3.706841
-- 8.492629 7.576371 -3.373257
-+ 4.059917 5.918914 2.227275
-+ 3.400094 5.668222 3.057870
-+ 4.699989 7.163550 2.192787
-+ 4.538509 7.881896 2.996531
-+ 5.547468 7.485540 1.125968
-+ 6.169252 8.694615 1.092466
-+ 5.956320 9.246984 1.848209
-+ 5.754874 6.562895 0.093637
-+ 6.414696 6.813587 -0.736958
-+ 5.114801 5.318259 0.128125
-+ 5.276282 4.599913 -0.675619
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NTYR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2421,11 +2421,11 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NGLU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2542,8 +2542,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NASP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2697,18 +2697,18 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.482814 7.265694 1.154880
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.478064 7.453372 4.409622
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NLYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2838,11 +2838,11 @@
- 4.408167 0.002206 -0.902255
- 3.942020 -0.287863 0.790585
- 5.543318 1.147472 0.544698
-- 6.081407 2.093874 0.598404
-- 5.996931 0.515001 -0.218399
-- 5.523452 0.447794 1.882665
-- 6.357566 0.073964 1.288859
-- 5.873440 1.245104 2.538335
-+ 6.406713 0.710625 0.042886
-+ 5.648269 1.022234 1.622381
-+ 5.375452 2.604420 0.185221
-+ 5.701342 3.225018 1.019939
-+ 5.977270 2.833894 -0.694128
- 3.941702 2.857530 -0.104508
- 3.944087 3.337627 0.874062
- 2.888662 3.951879 -0.204456
-@@ -2964,9 +2964,9 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 5.145787 5.839753 0.481671
-- 4.563172 5.041444 1.938780
-- 3.657120 5.491212 1.354764
-+ 3.725381 5.622023 2.517634
-+ 4.051868 5.551722 0.788945
-+ 4.957920 5.101954 1.372960
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NCYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3081,8 +3081,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 4.563172 5.041444 1.938780
-- 3.657120 5.491212 1.354764
-+ 4.051868 5.551722 0.788945
-+ 4.957920 5.101954 1.372960
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NCYX.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3224,15 +3224,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.402881 6.076526 0.265157
-- 5.724538 5.972445 0.854008
-- 4.818486 6.422214 0.269993
-- 6.377314 6.105674 -1.224148
-- 6.034578 6.467191 -2.193651
-- 6.303017 6.908485 -0.490613
-- 7.415066 5.781911 -1.303828
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.817297 5.981271 2.651702
-+ 4.055297 5.545795 3.115122
-+ 3.149245 5.995564 2.531107
-+ 4.753204 7.463130 2.340945
-+ 4.433578 7.904044 1.396734
-+ 4.585895 8.175303 3.148978
-+ 5.814065 7.218764 2.286557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NMET.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_nucleic91.lib.save amber11/AmberTools/test/sleap/oldleap/ff91/all_nucleic91.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff91/all_nucleic91.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff91/all_nucleic91.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -162,27 +162,27 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.460583 2.154521 -6.213536
-- 0.611235 3.180043 -6.535735
-- -0.465186 3.098120 -6.567442
-- 1.349267 3.870896 -7.353068
-- -0.036082 3.758044 -7.339885
-- 0.351402 4.533174 -8.439444
-- -0.960336 4.612555 -8.701439
-- -1.624968 4.152050 -8.096212
-- -1.284404 5.132893 -9.504140
-- 1.216752 5.151275 -9.254748
-- -0.058580 5.292957 -9.604538
-- 0.617022 5.800159 -10.277374
-- -1.311694 5.457396 -9.985412
-- -2.648827 5.295295 -9.894316
-+ 1.476326 2.910069 -5.717291
-+ -0.266632 2.222549 -4.860734
-+ -1.220065 2.003738 -3.901574
-+ -0.944101 1.997212 -2.857447
-+ -2.424721 1.879538 -4.374202
-+ -2.264060 2.025899 -5.747107
-+ -3.171716 1.996442 -6.812608
-+ -4.488141 1.800018 -6.657550
-+ -4.872966 1.663197 -5.733813
-+ -5.095547 1.788787 -7.464416
-+ -2.681111 2.175962 -8.046577
-+ -1.373728 2.370469 -8.194275
-+ -0.957583 2.517234 -9.180015
-+ -0.428694 2.418225 -7.273933
-+ -0.949520 2.234705 -6.042040
- 2.953825 2.805883 -3.147902
- 2.001837 3.312549 -3.306355
- 1.598529 3.379160 -3.566738
- 1.132115 3.871151 -2.713214
- 1.786595 4.328794 -4.619224
-- 1.990348 5.218376 -4.321352
-+ 0.918045 4.664210 -4.853138
- 3.951586 3.479347 -3.901109
- !entry.RADE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 30 0 0 0 0
-@@ -367,25 +367,25 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.485202 2.137699 -6.174261
-- 0.655381 3.211408 -6.264512
-- -0.423435 3.161813 -6.254680
-- 1.273874 3.921103 -7.246041
-- 2.001469 4.404856 -7.897723
-- -0.138537 4.008754 -7.451742
-- 0.496986 4.687819 -8.388428
-- 1.506269 4.703628 -8.353806
-- -0.021913 5.169907 -9.108453
-- -1.467764 3.981289 -7.487821
-- -2.803489 3.801409 -7.305937
-- -2.649940 4.509819 -8.312007
-+ 1.476326 2.910069 -5.717291
-+ -0.230375 2.189658 -4.854806
-+ -0.988446 1.979043 -3.745496
-+ -0.535467 2.020843 -2.765974
-+ -2.318623 1.714239 -3.846032
-+ -2.910767 1.548015 -2.946124
-+ -2.871582 1.669472 -5.164035
-+ -4.156011 1.417550 -5.334852
-+ -4.717568 1.261374 -4.510012
-+ -4.549259 1.385324 -6.264593
-+ -2.122766 1.876681 -6.243498
-+ -0.794090 2.140091 -6.121697
-+ -0.063349 2.338641 -7.103631
- 2.953825 2.805883 -3.147902
- 3.277337 2.955353 -2.117806
- 1.598529 3.379160 -3.566738
- 1.132115 3.871151 -2.713214
- 1.786595 4.328794 -4.619224
-- 1.990348 5.218376 -4.321352
-+ 0.918045 4.664210 -4.853138
- 3.951586 3.479347 -3.901109
- !entry.RCYT.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 28 0 0 0 0
-@@ -581,28 +581,28 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.485985 2.137078 -6.173971
-- 0.630205 3.182508 -6.455250
-- -0.447083 3.109089 -6.476705
-- 1.375610 3.824568 -7.320253
-- -0.009195 3.704817 -7.311681
-- 0.430021 4.484569 -8.414167
-- -0.743299 4.619666 -8.757634
-- 1.449094 5.077582 -9.169036
-- 2.230864 5.470422 -9.653301
-- 0.193424 5.321243 -9.687036
-- 1.134074 5.907027 -10.440452
-- 2.131730 5.897532 -10.283319
-- 0.809583 6.430577 -11.240890
-- -1.093830 5.428430 -10.003875
-- -2.446615 5.292973 -9.968886
-+ 1.476326 2.910069 -5.717291
-+ -0.230179 2.188641 -4.854706
-+ -1.148250 1.950412 -3.852312
-+ -0.834533 1.961464 -2.818939
-+ -2.363371 1.722968 -4.285727
-+ -2.247746 1.815662 -5.667805
-+ -3.226774 1.665775 -6.685370
-+ -4.425333 1.414365 -6.570704
-+ -2.671302 1.843175 -7.958154
-+ -3.284184 1.755160 -8.743412
-+ -1.346177 2.129674 -8.215759
-+ -1.013622 2.261923 -9.507083
-+ -1.624549 2.163147 -10.305276
-+ -0.043809 2.463028 -9.704869
-+ -0.430928 2.271846 -7.261291
-+ -0.954757 2.102421 -6.017708
- 2.953825 2.805883 -3.147902
- 3.277337 2.955353 -2.117806
- 1.598529 3.379160 -3.566738
- 1.132115 3.871151 -2.713214
- 1.786595 4.328794 -4.619224
-- 1.990348 5.218376 -4.321352
-+ 0.918045 4.664210 -4.853138
- 3.951586 3.479347 -3.901109
- !entry.RGUA.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 31 0 0 0 0
-@@ -876,24 +876,24 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.462119 2.152380 -6.223183
-- 0.621409 3.225476 -6.359458
-- -0.457084 3.168437 -6.359671
-- 1.227187 3.969404 -7.294982
-- 1.951054 4.453936 -7.950226
-- -0.178556 4.113730 -7.571852
-- 0.321873 4.770160 -8.483756
-- -1.548942 3.990804 -7.465412
-- -1.150751 4.582332 -8.289814
-- -2.922393 3.884686 -7.383122
-- -2.754887 4.581962 -8.370112
-+ 1.476326 2.910069 -5.717291
-+ -0.276459 2.220856 -4.861481
-+ -1.084733 2.020834 -3.773554
-+ -0.665763 2.042111 -2.778360
-+ -2.406530 1.849990 -3.912354
-+ -3.030993 1.692292 -3.032992
-+ -3.019582 1.871650 -5.215158
-+ -4.219997 1.724488 -5.439315
-+ -2.132048 2.078389 -6.251470
-+ -2.549647 2.102845 -7.258005
-+ -0.768247 2.257235 -6.139841
-+ -0.062611 2.434266 -7.119196
- 2.953825 2.805883 -3.147902
- 3.102654 2.968023 -2.080353
- 1.598529 3.379160 -3.566738
- 1.132115 3.871151 -2.713214
- 1.786595 4.328794 -4.619224
-- 1.990348 5.218376 -4.321352
-+ 0.918045 4.664210 -4.853138
- 3.951586 3.479347 -3.901109
- !entry.RURA.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 27 0 0 0 0
-@@ -1080,21 +1080,21 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.460583 2.154521 -6.213536
-- 0.611235 3.180043 -6.535735
-- -0.465186 3.098120 -6.567442
-- 1.349267 3.870896 -7.353068
-- -0.036082 3.758044 -7.339885
-- 0.351402 4.533174 -8.439444
-- -0.960336 4.612555 -8.701439
-- -1.624968 4.152050 -8.096212
-- -1.284404 5.132893 -9.504140
-- 1.216752 5.151275 -9.254748
-- -0.058580 5.292957 -9.604538
-- 0.617022 5.800159 -10.277374
-- -1.311694 5.457396 -9.985412
-- -2.648827 5.295295 -9.894316
-+ 1.476326 2.910069 -5.717291
-+ -0.266632 2.222549 -4.860734
-+ -1.220065 2.003738 -3.901574
-+ -0.944101 1.997212 -2.857447
-+ -2.424721 1.879538 -4.374202
-+ -2.264060 2.025899 -5.747107
-+ -3.171716 1.996442 -6.812608
-+ -4.488141 1.800018 -6.657550
-+ -4.872966 1.663197 -5.733813
-+ -5.095547 1.788787 -7.464416
-+ -2.681111 2.175962 -8.046577
-+ -1.373728 2.370469 -8.194275
-+ -0.957583 2.517234 -9.180015
-+ -0.428694 2.418225 -7.273933
-+ -0.949520 2.234705 -6.042040
- 2.953825 2.805883 -3.147902
- 3.102654 2.968023 -2.080353
- 1.598529 3.379160 -3.566738
-@@ -1279,19 +1279,19 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.485202 2.137699 -6.174261
-- 0.655381 3.211408 -6.264512
-- -0.423435 3.161813 -6.254680
-- 1.273874 3.921103 -7.246041
-- 2.001469 4.404856 -7.897723
-- -0.138537 4.008754 -7.451742
-- 0.496986 4.687819 -8.388428
-- 1.506269 4.703628 -8.353806
-- -0.021913 5.169907 -9.108453
-- -1.467764 3.981289 -7.487821
-- -2.803489 3.801409 -7.305937
-- -2.649940 4.509819 -8.312007
-+ 1.476326 2.910069 -5.717291
-+ -0.230375 2.189658 -4.854806
-+ -0.988446 1.979043 -3.745496
-+ -0.535467 2.020843 -2.765974
-+ -2.318623 1.714239 -3.846032
-+ -2.910767 1.548015 -2.946124
-+ -2.871582 1.669472 -5.164035
-+ -4.156011 1.417550 -5.334852
-+ -4.717568 1.261374 -4.510012
-+ -4.549259 1.385324 -6.264593
-+ -2.122766 1.876681 -6.243498
-+ -0.794090 2.140091 -6.121697
-+ -0.063349 2.338641 -7.103631
- 2.953825 2.805883 -3.147902
- 3.277337 2.955353 -2.117806
- 1.598529 3.379160 -3.566738
-@@ -1487,22 +1487,22 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.485985 2.137078 -6.173971
-- 0.630205 3.182508 -6.455250
-- -0.447083 3.109089 -6.476705
-- 1.375610 3.824568 -7.320253
-- -0.009195 3.704817 -7.311681
-- 0.430021 4.484569 -8.414167
-- -0.743299 4.619666 -8.757634
-- 1.449094 5.077582 -9.169036
-- 2.230864 5.470422 -9.653301
-- 0.193424 5.321243 -9.687036
-- 1.134074 5.907027 -10.440452
-- 2.131730 5.897532 -10.283319
-- 0.809583 6.430577 -11.240890
-- -1.093830 5.428430 -10.003875
-- -2.446615 5.292973 -9.968886
-+ 1.476326 2.910069 -5.717291
-+ -0.230179 2.188641 -4.854706
-+ -1.148250 1.950412 -3.852312
-+ -0.834533 1.961464 -2.818939
-+ -2.363371 1.722968 -4.285727
-+ -2.247746 1.815662 -5.667805
-+ -3.226774 1.665775 -6.685370
-+ -4.425333 1.414365 -6.570704
-+ -2.671302 1.843175 -7.958154
-+ -3.284184 1.755160 -8.743412
-+ -1.346177 2.129674 -8.215759
-+ -1.013622 2.261923 -9.507083
-+ -1.624549 2.163147 -10.305276
-+ -0.043809 2.463028 -9.704869
-+ -0.430928 2.271846 -7.261291
-+ -0.954757 2.102421 -6.017708
- 2.953825 2.805883 -3.147902
- 3.277337 2.955353 -2.117806
- 1.598529 3.379160 -3.566738
-@@ -1788,21 +1788,21 @@
- 3.710733 0.830490 -3.744234
- 1.911850 1.246480 -4.585645
- 1.227112 2.479938 -4.747250
-- 1.435744 3.548600 -4.696894
-- 1.462119 2.152380 -6.223183
-- 0.621409 3.225476 -6.359458
-- -0.457084 3.168437 -6.359671
-- 1.227187 3.969404 -7.294982
-- 2.191055 4.651430 -8.220076
-- 2.843927 3.908200 -8.677753
-- 1.638142 5.177191 -8.998511
-- 2.792502 5.365208 -7.657153
-- -0.178556 4.113730 -7.571852
-- 0.321873 4.770160 -8.483756
-- -1.548942 3.990804 -7.465412
-- -1.150751 4.582332 -8.289814
-- -2.922393 3.884686 -7.383122
-- -2.754887 4.581962 -8.370112
-+ 1.476326 2.910069 -5.717291
-+ -0.276459 2.220856 -4.861481
-+ -1.084733 2.020834 -3.773554
-+ -0.665763 2.042111 -2.778360
-+ -2.406530 1.849990 -3.912354
-+ -3.300021 1.630344 -2.727690
-+ -3.231144 2.486293 -2.056343
-+ -4.330132 1.515881 -3.065138
-+ -2.988981 0.729023 -2.199511
-+ -3.019582 1.871650 -5.215158
-+ -4.219997 1.724488 -5.439315
-+ -2.132048 2.078389 -6.251470
-+ -2.549647 2.102845 -7.258005
-+ -0.768247 2.257235 -6.139841
-+ -0.062611 2.434266 -7.119196
- 2.953825 2.805883 -3.147902
- 3.102654 2.968023 -2.080353
- 1.598529 3.379160 -3.566738
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_amino94.lib.save amber11/AmberTools/test/sleap/oldleap/ff94/all_amino94.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_amino94.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff94/all_amino94.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -260,7 +260,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.230747 4.925147 1.196914
-- 4.828085 5.500165 0.713033
-+ 3.983296 5.433818 1.972557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.SER.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -372,7 +372,7 @@
- 1.784422 4.436955 2.124895
- 1.764698 4.397850 0.345787
- 3.971494 2.947416 2.411212
-- 4.374397 3.770738 2.696536
-+ 3.724043 3.456087 3.186855
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.THR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -504,15 +504,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.857033 4.748192 2.579338
-- 5.821217 4.249596 2.480083
-- 4.990360 5.695010 3.102655
-- 4.176711 4.112860 3.146449
-- 5.226485 5.898474 0.401698
-- 5.794506 5.938748 1.331123
-- 5.883342 6.134649 -0.435476
-- 4.414018 6.624028 0.441300
-+ 5.354265 4.863179 1.185791
-+ 3.853427 5.762894 -0.062862
-+ 2.773446 5.910110 -0.054565
-+ 4.351509 6.732051 -0.090207
-+ 4.134162 5.185701 -0.943848
-+ 3.881095 5.817649 2.426715
-+ 4.181612 5.279606 3.325770
-+ 4.379188 6.786828 2.400358
-+ 2.801124 5.964886 2.435947
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.LEU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -652,12 +652,12 @@
- 3.671552 3.399212 3.380613
- 3.485641 1.869279 2.490736
- 4.230199 4.986696 1.245167
-- 3.258221 5.469711 1.345449
-- 4.638709 4.784431 2.235272
-- 5.178160 5.906245 0.482655
-- 5.735477 5.933935 1.418994
-- 5.840562 6.170139 -0.341774
-- 4.354989 6.619215 0.529171
-+ 5.312304 4.855747 1.245167
-+ 3.931816 5.541027 0.355344
-+ 3.812283 5.761636 2.490333
-+ 4.110763 5.208108 3.380624
-+ 4.296680 6.738088 2.490828
-+ 2.730275 5.893388 2.490801
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ILE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -785,9 +785,9 @@
- 3.716963 3.477633 3.370556
- 3.499621 1.931327 2.516833
- 4.274181 5.009604 1.194574
-- 4.690774 4.823320 2.184447
-- 4.954792 5.645336 0.628258
-- 3.310286 5.508600 1.294624
-+ 3.973778 5.548459 0.295968
-+ 3.993550 5.587589 2.075074
-+ 5.354265 4.863179 1.185791
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.VAL.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -901,10 +901,10 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.253694 5.017114 1.232141
-- 3.666601 5.213107 2.293908
-- 5.062354 5.920372 0.673198
-- 5.699537 6.377296 0.036552
-- 4.754312 6.389897 1.512695
-+ 5.005295 5.340406 0.315070
-+ 3.984875 5.817912 2.265912
-+ 4.408006 6.733705 2.314738
-+ 3.359598 5.504301 2.994456
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ASN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1028,13 +1028,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.220277 5.927344 0.433563
-- 4.913588 6.591689 1.420998
-- 6.050965 6.373808 -0.511346
-- 5.971268 7.107959 0.177690
-- 6.636748 6.497679 -1.324743
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.906966 5.848446 2.410297
-+ 3.138947 5.408353 3.262885
-+ 4.458847 7.061526 2.488328
-+ 4.248421 7.659050 3.274958
-+ 5.084275 7.376210 1.760376
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.GLN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1189,20 +1189,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.125319 6.253797 -0.719124
-- 6.688164 6.300372 -1.556463
-- 6.117846 7.301883 0.099632
-- 5.907135 8.163840 1.090353
-- 5.292210 7.913283 1.851398
-- 6.363014 9.065005 1.077109
-- 6.926823 7.627695 -0.904511
-- 7.501836 7.713669 -1.730386
-- 6.873063 8.384728 -0.238094
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.540311 7.142726 2.424478
-+ 5.151800 7.375491 1.655062
-+ 4.364270 8.040994 3.389374
-+ 3.575005 7.807613 4.434120
-+ 3.088928 6.925430 4.508833
-+ 3.465343 8.513638 5.147984
-+ 5.006244 9.201290 3.286985
-+ 5.604850 9.375324 2.492326
-+ 4.892201 9.903050 4.004360
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ARG.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1337,13 +1337,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.HID.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1471,13 +1471,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.HIE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1609,14 +1609,14 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.HIP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1774,20 +1774,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 4.941957 6.093161 0.993054
-- 4.555798 6.518222 1.919501
-- 5.833674 6.587638 -0.009560
-- 5.727864 7.297382 0.701192
-- 6.577083 6.691104 -1.083216
-- 6.699953 7.881667 -0.356949
-- 7.350710 8.089828 -1.206234
-- 6.471604 8.773711 0.684306
-- 7.153163 9.167983 -0.069436
-- 6.163215 9.539474 1.752484
-- 6.850900 10.076243 1.098979
-- 5.726463 10.185215 2.927374
-- 6.404130 10.841773 2.381664
-- 5.125146 10.546906 4.138818
-+ 4.023443 5.931088 2.293236
-+ 3.368827 5.705470 3.135064
-+ 4.811936 7.073557 1.949805
-+ 4.882911 7.922013 2.493114
-+ 5.427345 6.842058 0.816764
-+ 6.297161 7.689048 0.119607
-+ 6.531228 8.676646 0.517052
-+ 6.814097 7.187003 -1.069017
-+ 7.498083 7.791848 -1.664355
-+ 6.482667 5.953109 -1.505090
-+ 6.897672 5.575635 -2.439640
-+ 5.604046 5.117349 -0.785625
-+ 5.358725 4.126563 -1.168065
-+ 5.083391 5.623006 0.411551
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.TRP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1934,16 +1934,16 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.021223 6.053049 0.839188
-- 4.662984 6.521610 1.755820
-- 5.904492 6.742286 -0.000329
-- 5.724114 7.440373 0.817130
-- 6.758713 7.099630 -1.050381
-- 6.738282 7.947511 -0.365705
-- 7.536653 7.157250 -2.212917
-- 7.655187 8.096815 -1.673224
-- 8.214242 6.953605 -3.420974
-- 8.451251 7.942064 -3.027432
-+ 3.911603 5.857254 2.409885
-+ 3.236109 5.513847 3.193390
-+ 4.490005 7.129516 2.492349
-+ 4.264839 7.776656 3.340058
-+ 5.357612 7.570590 1.486013
-+ 5.807939 8.561136 1.550217
-+ 5.646816 6.739401 0.397212
-+ 6.322310 7.082808 -0.386292
-+ 5.068414 5.467139 0.314748
-+ 5.293580 4.820000 -0.532961
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.PHE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2090,17 +2090,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 5.102503 5.984523 0.660315
-- 4.777863 6.502414 1.562811
-- 5.985574 6.611197 -0.227077
-- 5.846174 7.352316 0.559949
-- 6.824378 6.891857 -1.312267
-- 6.854321 7.991157 -0.512116
-- 6.305234 7.900783 0.270147
-- 7.573657 6.866032 -2.494602
-- 7.737299 7.827553 -2.007982
-- 8.211756 6.577405 -3.706841
-- 8.492629 7.576371 -3.373257
-+ 4.059917 5.918914 2.227275
-+ 3.400094 5.668222 3.057870
-+ 4.699989 7.163550 2.192787
-+ 4.538509 7.881896 2.996531
-+ 5.547468 7.485540 1.125968
-+ 6.169252 8.694615 1.092466
-+ 5.956320 9.246984 1.848209
-+ 5.754874 6.562895 0.093637
-+ 6.414696 6.813587 -0.736958
-+ 5.114801 5.318259 0.128125
-+ 5.276282 4.599913 -0.675619
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.TYR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2223,11 +2223,11 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.GLU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2332,8 +2332,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ASP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2475,18 +2475,18 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.482814 7.265694 1.154880
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.478064 7.453372 4.409622
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.LYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2634,17 +2634,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.LYN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2761,11 +2761,11 @@
- 4.419995 0.019280 -0.902255
- 3.955884 -0.274036 0.790585
- 5.547124 1.172442 0.544698
-- 6.078592 2.122578 0.598404
-- 6.005141 0.543154 -0.218399
-- 5.532142 0.472642 1.882665
-- 5.876555 1.272377 2.538335
-- 6.368845 0.104645 1.288859
-+ 6.413547 0.741633 0.042886
-+ 5.652946 1.047940 1.622381
-+ 5.369090 2.628183 0.185221
-+ 5.969291 2.861853 -0.694128
-+ 5.690639 3.251042 1.019939
- 3.933608 2.871277 -0.104508
- 3.611466 3.488572 0.734105
- 3.505165 3.526388 -1.409786
-@@ -2867,7 +2867,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 5.145787 5.839753 0.481671
-+ 3.725381 5.622023 2.517634
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.CYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3079,13 +3079,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.402881 6.076526 0.265157
-- 6.377314 6.105674 -1.224148
-- 6.034578 6.467191 -2.193651
-- 6.303017 6.908485 -0.490613
-- 7.415066 5.781911 -1.303828
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.817297 5.981271 2.651702
-+ 4.753204 7.463130 2.340945
-+ 4.433578 7.904044 1.396734
-+ 4.585895 8.175303 3.148978
-+ 5.814065 7.218764 2.286557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.MET.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3196,9 +3196,9 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-- 4.245574 6.470767 0.682862
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
-+ 5.742895 5.987180 1.652921
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.ASH.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3317,12 +3317,12 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-- 5.508873 7.035106 -0.033194
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
-+ 2.710512 6.996629 3.166671
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.GLH.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_aminoct94.lib.save amber11/AmberTools/test/sleap/oldleap/ff94/all_aminoct94.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_aminoct94.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff94/all_aminoct94.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -272,7 +272,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.230747 4.925147 1.196914
-- 4.828085 5.500165 0.713033
-+ 3.983296 5.433818 1.972557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -390,7 +390,7 @@
- 1.784422 4.436955 2.124895
- 1.764698 4.397850 0.345787
- 3.971494 2.947416 2.411212
-- 4.374397 3.770738 2.696536
-+ 3.724043 3.456087 3.186855
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -528,15 +528,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.857033 4.748192 2.579338
-- 5.821217 4.249596 2.480083
-- 4.990360 5.695010 3.102655
-- 4.176711 4.112860 3.146449
-- 5.226485 5.898474 0.401698
-- 5.794506 5.938748 1.331123
-- 5.883342 6.134649 -0.435476
-- 4.414018 6.624028 0.441300
-+ 5.354265 4.863179 1.185791
-+ 3.853427 5.762894 -0.062862
-+ 2.773446 5.910110 -0.054565
-+ 4.351509 6.732051 -0.090207
-+ 4.134162 5.185701 -0.943848
-+ 3.881095 5.817649 2.426715
-+ 4.181612 5.279606 3.325770
-+ 4.379188 6.786828 2.400358
-+ 2.801124 5.964886 2.435947
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -682,12 +682,12 @@
- 3.671552 3.399212 3.380613
- 3.485641 1.869279 2.490736
- 4.230199 4.986696 1.245167
-- 3.258221 5.469711 1.345449
-- 4.638709 4.784431 2.235272
-- 5.178160 5.906245 0.482655
-- 5.735477 5.933935 1.418994
-- 5.840562 6.170139 -0.341774
-- 4.354989 6.619215 0.529171
-+ 5.312304 4.855747 1.245167
-+ 3.931816 5.541027 0.355344
-+ 3.812283 5.761636 2.490333
-+ 4.110763 5.208108 3.380624
-+ 4.296680 6.738088 2.490828
-+ 2.730275 5.893388 2.490801
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -821,9 +821,9 @@
- 3.716963 3.477633 3.370556
- 3.499621 1.931327 2.516833
- 4.274181 5.009604 1.194574
-- 4.690774 4.823320 2.184447
-- 4.954792 5.645336 0.628258
-- 3.310286 5.508600 1.294624
-+ 3.973778 5.548459 0.295968
-+ 3.993550 5.587589 2.075074
-+ 5.354265 4.863179 1.185791
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -943,10 +943,10 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.253694 5.017114 1.232141
-- 3.666601 5.213107 2.293908
-- 5.062354 5.920372 0.673198
-- 5.699537 6.377296 0.036552
-- 4.754312 6.389897 1.512695
-+ 5.005295 5.340406 0.315070
-+ 3.984875 5.817912 2.265912
-+ 4.408006 6.733705 2.314738
-+ 3.359598 5.504301 2.994456
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1076,13 +1076,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.220277 5.927344 0.433563
-- 4.913588 6.591689 1.420998
-- 6.050965 6.373808 -0.511346
-- 5.971268 7.107959 0.177690
-- 6.636748 6.497679 -1.324743
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.906966 5.848446 2.410297
-+ 3.138947 5.408353 3.262885
-+ 4.458847 7.061526 2.488328
-+ 4.248421 7.659050 3.274958
-+ 5.084275 7.376210 1.760376
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1243,20 +1243,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.125319 6.253797 -0.719124
-- 6.688164 6.300372 -1.556463
-- 6.117846 7.301883 0.099632
-- 5.907135 8.163840 1.090353
-- 5.292210 7.913283 1.851398
-- 6.363014 9.065005 1.077109
-- 6.926823 7.627695 -0.904511
-- 7.501836 7.713669 -1.730386
-- 6.873063 8.384728 -0.238094
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.540311 7.142726 2.424478
-+ 5.151800 7.375491 1.655062
-+ 4.364270 8.040994 3.389374
-+ 3.575005 7.807613 4.434120
-+ 3.088928 6.925430 4.508833
-+ 3.465343 8.513638 5.147984
-+ 5.006244 9.201290 3.286985
-+ 5.604850 9.375324 2.492326
-+ 4.892201 9.903050 4.004360
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1397,13 +1397,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1537,13 +1537,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1681,14 +1681,14 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -1852,20 +1852,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 4.941957 6.093161 0.993054
-- 4.555798 6.518222 1.919501
-- 5.833674 6.587638 -0.009560
-- 5.727864 7.297382 0.701192
-- 6.577083 6.691104 -1.083216
-- 6.699953 7.881667 -0.356949
-- 7.350710 8.089828 -1.206234
-- 6.471604 8.773711 0.684306
-- 7.153163 9.167983 -0.069436
-- 6.163215 9.539474 1.752484
-- 6.850900 10.076243 1.098979
-- 5.726463 10.185215 2.927374
-- 6.404130 10.841773 2.381664
-- 5.125146 10.546906 4.138818
-+ 4.023443 5.931088 2.293236
-+ 3.368827 5.705470 3.135064
-+ 4.811936 7.073557 1.949805
-+ 4.882911 7.922013 2.493114
-+ 5.427345 6.842058 0.816764
-+ 6.297161 7.689048 0.119607
-+ 6.531228 8.676646 0.517052
-+ 6.814097 7.187003 -1.069017
-+ 7.498083 7.791848 -1.664355
-+ 6.482667 5.953109 -1.505090
-+ 6.897672 5.575635 -2.439640
-+ 5.604046 5.117349 -0.785625
-+ 5.358725 4.126563 -1.168065
-+ 5.083391 5.623006 0.411551
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2018,16 +2018,16 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.021223 6.053049 0.839188
-- 4.662984 6.521610 1.755820
-- 5.904492 6.742286 -0.000329
-- 5.724114 7.440373 0.817130
-- 6.758713 7.099630 -1.050381
-- 6.738282 7.947511 -0.365705
-- 7.536653 7.157250 -2.212917
-- 7.655187 8.096815 -1.673224
-- 8.214242 6.953605 -3.420974
-- 8.451251 7.942064 -3.027432
-+ 3.911603 5.857254 2.409885
-+ 3.236109 5.513847 3.193390
-+ 4.490005 7.129516 2.492349
-+ 4.264839 7.776656 3.340058
-+ 5.357612 7.570590 1.486013
-+ 5.807939 8.561136 1.550217
-+ 5.646816 6.739401 0.397212
-+ 6.322310 7.082808 -0.386292
-+ 5.068414 5.467139 0.314748
-+ 5.293580 4.820000 -0.532961
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2180,17 +2180,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 5.102503 5.984523 0.660315
-- 4.777863 6.502414 1.562811
-- 5.985574 6.611197 -0.227077
-- 5.846174 7.352316 0.559949
-- 6.824378 6.891857 -1.312267
-- 6.854321 7.991157 -0.512116
-- 6.305234 7.900783 0.270147
-- 7.573657 6.866032 -2.494602
-- 7.737299 7.827553 -2.007982
-- 8.211756 6.577405 -3.706841
-- 8.492629 7.576371 -3.373257
-+ 4.059917 5.918914 2.227275
-+ 3.400094 5.668222 3.057870
-+ 4.699989 7.163550 2.192787
-+ 4.538509 7.881896 2.996531
-+ 5.547468 7.485540 1.125968
-+ 6.169252 8.694615 1.092466
-+ 5.956320 9.246984 1.848209
-+ 5.754874 6.562895 0.093637
-+ 6.414696 6.813587 -0.736958
-+ 5.114801 5.318259 0.128125
-+ 5.276282 4.599913 -0.675619
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2319,11 +2319,11 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2434,8 +2434,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2583,18 +2583,18 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.482814 7.265694 1.154880
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.478064 7.453372 4.409622
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -2718,11 +2718,11 @@
- 4.419995 0.019280 -0.902255
- 3.955884 -0.274036 0.790585
- 5.547124 1.172442 0.544698
-- 6.078592 2.122578 0.598404
-- 6.005141 0.543154 -0.218399
-- 5.532142 0.472642 1.882665
-- 5.876555 1.272377 2.538335
-- 6.368845 0.104645 1.288859
-+ 6.413547 0.741633 0.042886
-+ 5.652946 1.047940 1.622381
-+ 5.369090 2.628183 0.185221
-+ 5.969291 2.861853 -0.694128
-+ 5.690639 3.251042 1.019939
- 3.933608 2.871277 -0.104508
- 3.611466 3.488572 0.734105
- 3.505165 3.526388 -1.409786
-@@ -2830,7 +2830,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 5.145787 5.839753 0.481671
-+ 3.725381 5.622023 2.517634
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-@@ -3054,13 +3054,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.402881 6.076526 0.265157
-- 6.377314 6.105674 -1.224148
-- 6.034578 6.467191 -2.193651
-- 6.303017 6.908485 -0.490613
-- 7.415066 5.781911 -1.303828
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.817297 5.981271 2.651702
-+ 4.753204 7.463130 2.340945
-+ 4.433578 7.904044 1.396734
-+ 4.585895 8.175303 3.148978
-+ 5.814065 7.218764 2.286557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- 6.204451 3.702005 0.000000
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_aminont94.lib.save amber11/AmberTools/test/sleap/oldleap/ff94/all_aminont94.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_aminont94.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff94/all_aminont94.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -290,7 +290,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.230747 4.925147 1.196914
-- 4.828085 5.500165 0.713033
-+ 3.983296 5.433818 1.972557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NSER.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -414,7 +414,7 @@
- 1.784422 4.436955 2.124895
- 1.764698 4.397850 0.345787
- 3.971494 2.947416 2.411212
-- 4.374397 3.770738 2.696536
-+ 3.724043 3.456087 3.186855
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NTHR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -558,15 +558,15 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.857033 4.748192 2.579338
-- 5.821217 4.249596 2.480083
-- 4.990360 5.695010 3.102655
-- 4.176711 4.112860 3.146449
-- 5.226485 5.898474 0.401698
-- 5.794506 5.938748 1.331123
-- 5.883342 6.134649 -0.435476
-- 4.414018 6.624028 0.441300
-+ 5.354265 4.863179 1.185791
-+ 3.853427 5.762894 -0.062862
-+ 2.773446 5.910110 -0.054565
-+ 4.351509 6.732051 -0.090207
-+ 4.134162 5.185701 -0.943848
-+ 3.881095 5.817649 2.426715
-+ 4.181612 5.279606 3.325770
-+ 4.379188 6.786828 2.400358
-+ 2.801124 5.964886 2.435947
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NLEU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -718,12 +718,12 @@
- 3.671552 3.399212 3.380613
- 3.485641 1.869279 2.490736
- 4.230199 4.986696 1.245167
-- 4.638709 4.784431 2.235272
-- 3.258221 5.469711 1.345449
-- 5.178160 5.906245 0.482655
-- 5.735477 5.933935 1.418994
-- 5.840562 6.170139 -0.341774
-- 4.354989 6.619215 0.529171
-+ 3.931816 5.541027 0.355344
-+ 5.312304 4.855747 1.245167
-+ 3.812283 5.761636 2.490333
-+ 4.110763 5.208108 3.380624
-+ 4.296680 6.738088 2.490828
-+ 2.730275 5.893388 2.490801
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NILE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -863,9 +863,9 @@
- 3.716963 3.477633 3.370556
- 3.499621 1.931327 2.516833
- 4.274181 5.009604 1.194574
-- 4.690774 4.823320 2.184447
-- 4.954792 5.645336 0.628258
-- 3.310286 5.508600 1.294624
-+ 3.973778 5.548459 0.295968
-+ 3.993550 5.587589 2.075074
-+ 5.354265 4.863179 1.185791
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NVAL.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -991,10 +991,10 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.253694 5.017114 1.232141
-- 3.666601 5.213107 2.293908
-- 5.062354 5.920372 0.673198
-- 5.699537 6.377296 0.036552
-- 4.754312 6.389897 1.512695
-+ 5.005295 5.340406 0.315070
-+ 3.984875 5.817912 2.265912
-+ 4.408006 6.733705 2.314738
-+ 3.359598 5.504301 2.994456
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NASN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1130,13 +1130,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.220277 5.927344 0.433563
-- 4.913588 6.591689 1.420998
-- 6.050965 6.373808 -0.511346
-- 5.971268 7.107959 0.177690
-- 6.636748 6.497679 -1.324743
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.906966 5.848446 2.410297
-+ 3.138947 5.408353 3.262885
-+ 4.458847 7.061526 2.488328
-+ 4.248421 7.659050 3.274958
-+ 5.084275 7.376210 1.760376
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NGLN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1303,20 +1303,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.125319 6.253797 -0.719124
-- 6.688164 6.300372 -1.556463
-- 6.117846 7.301883 0.099632
-- 5.907135 8.163840 1.090353
-- 5.292210 7.913283 1.851398
-- 6.363014 9.065005 1.077109
-- 6.926823 7.627695 -0.904511
-- 7.501836 7.713669 -1.730386
-- 6.873063 8.384728 -0.238094
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.540311 7.142726 2.424478
-+ 5.151800 7.375491 1.655062
-+ 4.364270 8.040994 3.389374
-+ 3.575005 7.807613 4.434120
-+ 3.088928 6.925430 4.508833
-+ 3.465343 8.513638 5.147984
-+ 5.006244 9.201290 3.286985
-+ 5.604850 9.375324 2.492326
-+ 4.892201 9.903050 4.004360
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NARG.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1463,13 +1463,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NHID.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1609,13 +1609,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NHIE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1759,14 +1759,14 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.003504 6.072258 0.881472
-- 4.722990 6.580423 1.708019
-- 5.824163 6.508104 -0.056055
-- 5.654216 7.217462 0.753902
-- 6.562760 6.595751 -1.134430
-- 6.629203 7.441424 -0.586231
-- 7.210678 6.375009 -2.309622
-- 7.387392 7.342143 -1.838959
-+ 3.942772 5.885090 2.382967
-+ 3.339711 5.691917 3.169798
-+ 4.624266 6.997644 2.182496
-+ 4.563036 7.811879 2.904557
-+ 5.294008 6.891449 1.061662
-+ 5.896295 7.605082 0.676854
-+ 5.058971 5.678865 0.492455
-+ 5.537740 5.417840 -0.451339
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NHIP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -1936,20 +1936,20 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 4.941957 6.093161 0.993054
-- 4.555798 6.518222 1.919501
-- 5.833674 6.587638 -0.009560
-- 5.727864 7.297382 0.701192
-- 6.577083 6.691104 -1.083216
-- 6.699953 7.881667 -0.356949
-- 7.350710 8.089828 -1.206234
-- 6.471604 8.773711 0.684306
-- 7.153163 9.167983 -0.069436
-- 6.163215 9.539474 1.752484
-- 6.850900 10.076243 1.098979
-- 5.726463 10.185215 2.927374
-- 6.404130 10.841773 2.381664
-- 5.125146 10.546906 4.138818
-+ 4.023443 5.931088 2.293236
-+ 3.368827 5.705470 3.135064
-+ 4.811936 7.073557 1.949805
-+ 4.882911 7.922013 2.493114
-+ 5.427345 6.842058 0.816764
-+ 6.297161 7.689048 0.119607
-+ 6.531228 8.676646 0.517052
-+ 6.814097 7.187003 -1.069017
-+ 7.498083 7.791848 -1.664355
-+ 6.482667 5.953109 -1.505090
-+ 6.897672 5.575635 -2.439640
-+ 5.604046 5.117349 -0.785625
-+ 5.358725 4.126563 -1.168065
-+ 5.083391 5.623006 0.411551
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NTRP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2108,16 +2108,16 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.200807 5.026066 1.321085
-- 5.021223 6.053049 0.839188
-- 4.662984 6.521610 1.755820
-- 5.904492 6.742286 -0.000329
-- 5.724114 7.440373 0.817130
-- 6.758713 7.099630 -1.050381
-- 6.738282 7.947511 -0.365705
-- 7.536653 7.157250 -2.212917
-- 7.655187 8.096815 -1.673224
-- 8.214242 6.953605 -3.420974
-- 8.451251 7.942064 -3.027432
-+ 3.911603 5.857254 2.409885
-+ 3.236109 5.513847 3.193390
-+ 4.490005 7.129516 2.492349
-+ 4.264839 7.776656 3.340058
-+ 5.357612 7.570590 1.486013
-+ 5.807939 8.561136 1.550217
-+ 5.646816 6.739401 0.397212
-+ 6.322310 7.082808 -0.386292
-+ 5.068414 5.467139 0.314748
-+ 5.293580 4.820000 -0.532961
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NPHE.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2276,17 +2276,17 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 5.102503 5.984523 0.660315
-- 4.777863 6.502414 1.562811
-- 5.985574 6.611197 -0.227077
-- 5.846174 7.352316 0.559949
-- 6.824378 6.891857 -1.312267
-- 6.854321 7.991157 -0.512116
-- 6.305234 7.900783 0.270147
-- 7.573657 6.866032 -2.494602
-- 7.737299 7.827553 -2.007982
-- 8.211756 6.577405 -3.706841
-- 8.492629 7.576371 -3.373257
-+ 4.059917 5.918914 2.227275
-+ 3.400094 5.668222 3.057870
-+ 4.699989 7.163550 2.192787
-+ 4.538509 7.881896 2.996531
-+ 5.547468 7.485540 1.125968
-+ 6.169252 8.694615 1.092466
-+ 5.956320 9.246984 1.848209
-+ 5.754874 6.562895 0.093637
-+ 6.414696 6.813587 -0.736958
-+ 5.114801 5.318259 0.128125
-+ 5.276282 4.599913 -0.675619
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NTYR.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2421,11 +2421,11 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.267323 4.996269 1.194944
-- 3.302423 5.493308 1.295046
-- 4.682911 4.808028 2.184869
-- 5.220383 5.890117 0.404729
-- 6.306867 5.987364 1.035359
-- 4.568248 6.850423 -0.085305
-+ 5.347407 4.849844 1.186161
-+ 3.966920 5.535124 0.296338
-+ 3.873721 5.805373 2.428701
-+ 4.594575 5.679017 3.454373
-+ 2.855955 6.542075 2.333709
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NGLU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2542,8 +2542,8 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.275095 5.011382 1.194525
-- 5.214909 5.080371 2.030940
-- 3.476290 5.943429 0.910275
-+ 3.669104 5.954940 0.620005
-+ 5.407723 5.091882 1.740669
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NASP.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2697,18 +2697,18 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.226485 5.898474 0.401698
-- 4.414018 6.624028 0.441300
-- 5.794506 5.938748 1.331123
-- 6.145332 6.228186 -0.769897
-- 7.203874 5.974714 -0.827698
-- 5.823386 6.659994 -1.717522
-- 5.933539 7.203239 0.309601
-- 6.482814 7.265694 1.154880
-- 6.528435 7.362078 -0.491005
-- 5.203409 7.900796 0.330212
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.881095 5.817649 2.426715
-+ 2.801124 5.964886 2.435947
-+ 4.181612 5.279606 3.325770
-+ 4.578316 7.173413 2.389148
-+ 5.658401 7.026988 2.380365
-+ 4.277913 7.712268 1.490542
-+ 4.199407 7.952315 3.576852
-+ 4.478064 7.453372 4.409622
-+ 4.661173 8.850231 3.551971
-+ 3.198660 8.088474 3.584954
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NLYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -2838,11 +2838,11 @@
- 4.408167 0.002206 -0.902255
- 3.942020 -0.287863 0.790585
- 5.543318 1.147472 0.544698
-- 6.081407 2.093874 0.598404
-- 5.996931 0.515001 -0.218399
-- 5.523452 0.447794 1.882665
-- 5.873440 1.245104 2.538335
-- 6.357566 0.073964 1.288859
-+ 6.406713 0.710625 0.042886
-+ 5.648269 1.022234 1.622381
-+ 5.375452 2.604420 0.185221
-+ 5.977270 2.833894 -0.694128
-+ 5.701342 3.225018 1.019939
- 3.941702 2.857530 -0.104508
- 3.623877 3.477058 0.734105
- 3.517843 3.515616 -1.409786
-@@ -2956,7 +2956,7 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.309567 5.303525 1.366033
-- 5.145787 5.839753 0.481671
-+ 3.725381 5.622023 2.517634
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NCYS.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3192,13 +3192,13 @@
- 2.496989 3.801078 1.241373
- 3.877477 3.115798 2.131196
- 4.274181 5.009604 1.194574
-- 3.310286 5.508600 1.294624
-- 4.690774 4.823320 2.184447
-- 5.402881 6.076526 0.265157
-- 6.377314 6.105674 -1.224148
-- 6.034578 6.467191 -2.193651
-- 6.303017 6.908485 -0.490613
-- 7.415066 5.781911 -1.303828
-+ 5.354265 4.863179 1.185791
-+ 3.973778 5.548459 0.295968
-+ 3.817297 5.981271 2.651702
-+ 4.753204 7.463130 2.340945
-+ 4.433578 7.904044 1.396734
-+ 4.585895 8.175303 3.148978
-+ 5.814065 7.218764 2.286557
- 5.485538 2.705208 0.000000
- 6.008821 1.593175 0.000000
- !entry.NMET.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-diff -urN amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_nucleic94.lib.save amber11/AmberTools/test/sleap/oldleap/ff94/all_nucleic94.lib.save
---- amber11.orig/AmberTools/test/sleap/oldleap/ff94/all_nucleic94.lib.save 2010-03-31 07:05:23.000000000 +0400
-+++ amber11/AmberTools/test/sleap/oldleap/ff94/all_nucleic94.lib.save 2011-03-08 16:38:44.000000000 +0300
-@@ -181,21 +181,21 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.825854 0.331961 5.463505
-- 2.973744 -0.351218 5.767666
-- 3.198298 -1.353172 5.432908
-- 3.262456 0.147686 6.932887
-- 3.554407 -1.123002 6.450998
-- 3.970615 -1.030384 7.784487
-- 4.371751 -2.299375 7.628436
-- 4.806122 -2.789852 8.397106
-- 4.239728 -2.765377 6.742145
-- 4.154910 -0.430195 8.968298
-- 4.588103 -1.686764 8.920565
-- 4.748481 -1.226887 9.884511
-- 5.030638 -2.930357 8.914329
-- 5.276823 -4.138026 8.363485
-+ 2.623224 0.684847 5.224690
-+ 2.631874 -0.707517 3.706295
-+ 2.874735 -1.252950 2.473241
-+ 2.981754 -0.611820 1.610746
-+ 3.015083 -2.545282 2.486669
-+ 2.854431 -2.887097 3.824373
-+ 2.890057 -4.114829 4.496241
-+ 3.109804 -5.286605 3.884480
-+ 3.124371 -6.141804 4.421623
-+ 3.260868 -5.314611 2.886234
-+ 2.691903 -4.099290 5.821417
-+ 2.474287 -2.933307 6.423105
-+ 2.312232 -2.898303 7.490303
-+ 2.418509 -1.722706 5.899909
-+ 2.621151 -1.767164 4.565946
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -394,21 +394,21 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.821628 0.329290 5.472166
-- 3.045980 -0.266556 5.623252
-- 3.300321 -1.253530 5.266050
-- 3.400654 0.078938 6.868419
-- 3.596750 0.739775 8.200650
-- 2.627095 1.008594 8.619702
-- 4.106045 0.052544 8.876247
-- 4.199810 1.639079 8.075463
-- 3.886987 -1.267611 6.713863
-- 4.193797 -1.026107 7.880244
-- 4.182336 -2.491705 6.149271
-- 4.473391 -2.322796 7.186024
-- 4.489928 -3.724276 5.610241
-- 4.916436 -3.803915 6.750481
-+ 2.623224 0.684847 5.224690
-+ 2.632951 -0.717026 3.703395
-+ 2.875701 -1.078946 2.404555
-+ 2.959028 -0.321296 1.639425
-+ 3.067013 -2.361001 2.064944
-+ 3.333430 -2.767543 0.645879
-+ 4.242250 -2.280529 0.292378
-+ 3.457938 -3.849191 0.594530
-+ 2.493973 -2.468751 0.018077
-+ 3.022943 -3.401289 3.059659
-+ 3.186167 -4.600916 2.842510
-+ 2.773364 -2.946913 4.338586
-+ 2.730574 -3.698393 5.126967
-+ 2.572586 -1.635482 4.718372
-+ 2.357489 -1.330164 5.879800
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -612,22 +612,22 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.809468 0.366314 5.430851
-- 2.985443 -0.303283 5.701265
-- 3.220128 -1.300453 5.359250
-- 3.217392 0.174542 6.898755
-- 3.501851 -1.098776 6.419335
-- 3.907092 -0.959542 7.773142
-- 4.306119 -2.122793 7.750193
-- 4.034999 -0.202628 8.943920
-- 4.092163 0.401223 9.738965
-- 4.527564 -1.484195 9.083085
-- 4.671337 -0.799117 10.225713
-- 4.406357 0.160408 10.396586
-- 5.109266 -1.288479 10.993073
-- 4.937775 -2.746085 8.992209
-- 5.203174 -3.983662 8.494648
-+ 2.623224 0.684847 5.224690
-+ 2.590680 -0.679098 3.703090
-+ 2.813126 -1.180187 2.436667
-+ 2.923918 -0.505423 1.600713
-+ 2.866567 -2.487992 2.382906
-+ 2.666616 -2.884782 3.699977
-+ 2.618169 -4.183246 4.272728
-+ 2.745111 -5.274676 3.719947
-+ 2.392358 -4.124071 5.653129
-+ 2.340242 -4.991533 6.147896
-+ 2.235991 -2.964895 6.385427
-+ 2.027971 -3.123388 7.699660
-+ 1.962797 -3.996113 8.203846
-+ 1.903765 -2.280234 8.241661
-+ 2.283795 -1.749407 5.847650
-+ 2.502701 -1.789347 4.505978
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -819,19 +819,19 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.810222 0.365622 5.431037
-- 3.040503 -0.202936 5.543946
-- 3.303784 -1.184927 5.179558
-- 3.350889 0.129864 6.825549
-- 3.478253 0.640008 7.780343
-- 3.798907 -1.207335 6.588738
-- 4.083865 -0.848420 7.826630
-- 4.553596 -1.522140 8.414470
-- 3.834435 0.071716 8.160148
-- 4.146081 -2.428628 6.192742
-- 4.391834 -3.604440 5.555033
-- 4.829292 -3.701644 6.711226
-+ 2.623224 0.684847 5.224690
-+ 2.591673 -0.679108 3.703398
-+ 2.814053 -0.989708 2.398148
-+ 2.904088 -0.203069 1.663647
-+ 2.926420 -2.283840 1.995414
-+ 3.104659 -2.514231 0.945056
-+ 2.799915 -3.288854 3.004791
-+ 2.898410 -4.565463 2.683902
-+ 2.803322 -5.244627 3.425383
-+ 3.063325 -4.838262 1.725527
-+ 2.582464 -2.976080 4.279070
-+ 2.473124 -1.675585 4.661638
-+ 2.270623 -1.344205 5.839254
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -1043,21 +1043,21 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.398936 0.755791 5.236576
-- 5.570721 0.053476 5.133763
-- 5.651435 -0.952100 4.748143
-- 6.248368 0.547472 6.127122
-- 6.337852 -0.727929 5.581736
-- 7.186443 -0.642297 6.691944
-- 7.489983 -1.917831 6.415398
-- 8.153280 -2.415516 6.991980
-- 7.055473 -2.381556 5.630375
-- 7.773936 -0.045280 7.737899
-- 8.144838 -1.308931 7.552106
-- 8.632452 -0.851805 8.400438
-- 8.538915 -2.559764 7.402037
-- 8.562807 -3.771388 6.807145
-+ 5.071990 1.095268 4.737463
-+ 4.538874 -0.297045 3.315659
-+ 4.336740 -0.846471 2.077041
-+ 4.152394 -0.207224 1.226289
-+ 4.452852 -2.140973 2.049069
-+ 4.754050 -2.480049 3.362997
-+ 4.997986 -3.708205 3.989198
-+ 4.976769 -4.883498 3.345899
-+ 5.160704 -5.738821 3.850568
-+ 4.776841 -4.914031 2.356355
-+ 5.265289 -3.689348 5.302131
-+ 5.284973 -2.519883 5.935270
-+ 5.498266 -2.482169 6.993326
-+ 5.072682 -1.308518 5.455764
-+ 4.806134 -1.356364 4.133205
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -1274,21 +1274,21 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.397885 0.753191 5.246175
-- 5.590532 0.136915 4.972869
-- 5.691792 -0.854182 4.555888
-- 6.355081 0.476418 6.019675
-- 7.005380 1.133878 7.200716
-- 6.241886 1.418905 7.924551
-- 7.704141 0.438210 7.665344
-- 7.543334 2.022951 6.871696
-- 6.737960 -0.878090 5.715845
-- 7.428954 -0.641760 6.705579
-- 6.803084 -2.106960 5.091315
-- 7.433797 -1.942952 5.965044
-- 6.888321 -3.344512 4.486667
-- 7.677782 -3.431286 5.412745
-+ 5.071990 1.095268 4.737463
-+ 4.538744 -0.306572 3.312620
-+ 4.316895 -0.672508 2.011169
-+ 4.145425 0.083640 1.259346
-+ 4.360306 -1.957588 1.633963
-+ 4.118872 -2.368537 0.211701
-+ 4.859526 -1.896818 -0.434064
-+ 4.201263 -3.452119 0.127068
-+ 3.120134 -2.055722 -0.092882
-+ 4.642734 -2.996992 2.589722
-+ 4.702936 -4.199185 2.336724
-+ 4.852811 -2.538498 3.874265
-+ 5.070419 -3.289156 4.634040
-+ 4.814710 -1.223887 4.292292
-+ 5.014652 -0.915008 5.455485
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -1510,22 +1510,22 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.372913 0.790414 5.211298
-- 5.559757 0.101208 5.067090
-- 5.647583 -0.899755 4.671160
-- 6.194776 0.575080 6.110305
-- 6.278024 -0.702826 5.569817
-- 7.123995 -0.570401 6.702600
-- 7.472741 -1.740173 6.551245
-- 7.656517 0.184264 7.754694
-- 7.991655 0.787072 8.478783
-- 8.146732 -1.105376 7.724367
-- 8.683403 -0.422802 8.744993
-- 8.507987 0.541027 8.990678
-- 9.349613 -0.919433 9.319121
-- 8.481202 -2.373962 7.505920
-- 8.540900 -3.615812 6.954699
-+ 5.071990 1.095268 4.737463
-+ 4.499521 -0.267941 3.326572
-+ 4.267491 -0.772686 2.063324
-+ 4.096298 -0.099873 1.236030
-+ 4.278725 -2.081203 2.002024
-+ 4.535077 -2.474587 3.310318
-+ 4.665007 -3.772057 3.872536
-+ 4.578030 -4.865461 3.315935
-+ 4.925900 -3.709107 5.246571
-+ 5.032497 -4.575574 5.734292
-+ 5.047695 -2.547474 5.981536
-+ 5.299246 -2.702459 7.288556
-+ 5.396714 -3.573970 7.789625
-+ 5.381197 -1.857343 7.835514
-+ 4.927816 -1.332957 5.452878
-+ 4.673984 -1.376560 4.117488
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -1735,19 +1735,19 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.373674 0.789709 5.211219
-- 5.559264 0.200618 4.899855
-- 5.666544 -0.785646 4.473035
-- 6.294463 0.528171 5.996117
-- 6.748720 1.036110 6.846852
-- 6.613356 -0.816346 5.628040
-- 7.310127 -0.462256 6.691775
-- 7.941913 -1.143751 7.087389
-- 7.204329 0.461930 7.085204
-- 6.784882 -2.043285 5.144201
-- 6.779159 -3.223049 4.467648
-- 7.584089 -3.327568 5.405072
-+ 5.071990 1.095268 4.737463
-+ 4.500559 -0.267967 3.326521
-+ 4.258187 -0.582249 2.025720
-+ 4.103951 0.202771 1.300217
-+ 4.205645 -1.878082 1.616262
-+ 4.010240 -2.111427 0.569617
-+ 4.416190 -2.880836 2.613787
-+ 4.378882 -4.158916 2.285883
-+ 4.532450 -4.836391 3.019057
-+ 4.201751 -4.434440 1.330472
-+ 4.652634 -2.564463 3.883788
-+ 4.701224 -1.262318 4.273223
-+ 4.918947 -0.927591 5.447171
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -1953,27 +1953,27 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.825854 0.331961 5.463505
-- 2.973744 -0.351218 5.767666
-- 3.198298 -1.353172 5.432908
-- 3.262456 0.147686 6.932887
-- 3.554407 -1.123002 6.450998
-- 3.970615 -1.030384 7.784487
-- 4.371751 -2.299375 7.628436
-- 4.806122 -2.789852 8.397106
-- 4.239728 -2.765377 6.742145
-- 4.154910 -0.430195 8.968298
-- 4.588103 -1.686764 8.920565
-- 4.748481 -1.226887 9.884511
-- 5.030638 -2.930357 8.914329
-- 5.276823 -4.138026 8.363485
-+ 2.623224 0.684847 5.224690
-+ 2.631874 -0.707517 3.706295
-+ 2.874735 -1.252950 2.473241
-+ 2.981754 -0.611820 1.610746
-+ 3.015083 -2.545282 2.486669
-+ 2.854431 -2.887097 3.824373
-+ 2.890057 -4.114829 4.496241
-+ 3.109804 -5.286605 3.884480
-+ 3.124371 -6.141804 4.421623
-+ 3.260868 -5.314611 2.886234
-+ 2.691903 -4.099290 5.821417
-+ 2.474287 -2.933307 6.423105
-+ 2.312232 -2.898303 7.490303
-+ 2.418509 -1.722706 5.899909
-+ 2.621151 -1.767164 4.565946
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- !entry.RA5.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 31 0 0 0 0
-@@ -2160,24 +2160,24 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.821628 0.329290 5.472166
-- 3.045980 -0.266556 5.623252
-- 3.300321 -1.253530 5.266050
-- 3.400654 0.078938 6.868419
-- 3.529160 0.584527 7.825480
-- 3.886987 -1.267611 6.713863
-- 4.193797 -1.026107 7.880244
-- 4.182336 -2.491705 6.149271
-- 4.473391 -2.322796 7.186024
-- 4.489928 -3.724276 5.610241
-- 4.916436 -3.803915 6.750481
-+ 2.623224 0.684847 5.224690
-+ 2.632951 -0.717026 3.703395
-+ 2.875701 -1.078946 2.404555
-+ 2.959028 -0.321296 1.639425
-+ 3.067013 -2.361001 2.064944
-+ 3.258724 -2.626638 1.025337
-+ 3.022943 -3.401289 3.059659
-+ 3.186167 -4.600916 2.842510
-+ 2.773364 -2.946913 4.338586
-+ 2.730574 -3.698393 5.126967
-+ 2.572586 -1.635482 4.718372
-+ 2.357489 -1.330164 5.879800
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- !entry.RU5.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 28 0 0 0 0
-@@ -2378,28 +2378,28 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.809468 0.366314 5.430851
-- 2.985443 -0.303283 5.701265
-- 3.220128 -1.300453 5.359250
-- 3.217392 0.174542 6.898755
-- 3.501851 -1.098776 6.419335
-- 3.907092 -0.959542 7.773142
-- 4.306119 -2.122793 7.750193
-- 4.034999 -0.202628 8.943920
-- 4.092163 0.401223 9.738965
-- 4.527564 -1.484195 9.083085
-- 4.671337 -0.799117 10.225713
-- 4.406357 0.160408 10.396586
-- 5.109266 -1.288479 10.993073
-- 4.937775 -2.746085 8.992209
-- 5.203174 -3.983662 8.494648
-+ 2.623224 0.684847 5.224690
-+ 2.590680 -0.679098 3.703090
-+ 2.813126 -1.180187 2.436667
-+ 2.923918 -0.505423 1.600713
-+ 2.866567 -2.487992 2.382906
-+ 2.666616 -2.884782 3.699977
-+ 2.618169 -4.183246 4.272728
-+ 2.745111 -5.274676 3.719947
-+ 2.392358 -4.124071 5.653129
-+ 2.340242 -4.991533 6.147896
-+ 2.235991 -2.964895 6.385427
-+ 2.027971 -3.123388 7.699660
-+ 1.962797 -3.996113 8.203846
-+ 1.903765 -2.280234 8.241661
-+ 2.283795 -1.749407 5.847650
-+ 2.502701 -1.789347 4.505978
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- !entry.RG5.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 32 0 0 0 0
-@@ -2591,25 +2591,25 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.810222 0.365622 5.431037
-- 3.040503 -0.202936 5.543946
-- 3.303784 -1.184927 5.179558
-- 3.350889 0.129864 6.825549
-- 3.478253 0.640008 7.780343
-- 3.798907 -1.207335 6.588738
-- 4.083865 -0.848420 7.826630
-- 4.553596 -1.522140 8.414470
-- 3.834435 0.071716 8.160148
-- 4.146081 -2.428628 6.192742
-- 4.391834 -3.604440 5.555033
-- 4.829292 -3.701644 6.711226
-+ 2.623224 0.684847 5.224690
-+ 2.591673 -0.679108 3.703398
-+ 2.814053 -0.989708 2.398148
-+ 2.904088 -0.203069 1.663647
-+ 2.926420 -2.283840 1.995414
-+ 3.104659 -2.514231 0.945056
-+ 2.799915 -3.288854 3.004791
-+ 2.898410 -4.565463 2.683902
-+ 2.803322 -5.244627 3.425383
-+ 3.063325 -4.838262 1.725527
-+ 2.582464 -2.976080 4.279070
-+ 2.473124 -1.675585 4.661638
-+ 2.270623 -1.344205 5.839254
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- !entry.RC5.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 29 0 0 0 0
-@@ -2821,27 +2821,27 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.398936 0.755791 5.236576
-- 5.570721 0.053476 5.133763
-- 5.651435 -0.952100 4.748143
-- 6.248368 0.547472 6.127122
-- 6.337852 -0.727929 5.581736
-- 7.186443 -0.642297 6.691944
-- 7.489983 -1.917831 6.415398
-- 8.153280 -2.415516 6.991980
-- 7.055473 -2.381556 5.630375
-- 7.773936 -0.045280 7.737899
-- 8.144838 -1.308931 7.552106
-- 8.632452 -0.851805 8.400438
-- 8.538915 -2.559764 7.402037
-- 8.562807 -3.771388 6.807145
-+ 5.071990 1.095268 4.737463
-+ 4.538874 -0.297045 3.315659
-+ 4.336740 -0.846471 2.077041
-+ 4.152394 -0.207224 1.226289
-+ 4.452852 -2.140973 2.049069
-+ 4.754050 -2.480049 3.362997
-+ 4.997986 -3.708205 3.989198
-+ 4.976769 -4.883498 3.345899
-+ 5.160704 -5.738821 3.850568
-+ 4.776841 -4.914031 2.356355
-+ 5.265289 -3.689348 5.302131
-+ 5.284973 -2.519883 5.935270
-+ 5.498266 -2.482169 6.993326
-+ 5.072682 -1.308518 5.455764
-+ 4.806134 -1.356364 4.133205
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- 5.911975 4.450154 3.797910
- !entry.RA3.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3046,24 +3046,24 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.397885 0.753191 5.246175
-- 5.590532 0.136915 4.972869
-- 5.691792 -0.854182 4.555888
-- 6.355081 0.476418 6.019675
-- 6.811115 0.979784 6.872175
-- 6.737960 -0.878090 5.715845
-- 7.428954 -0.641760 6.705579
-- 6.803084 -2.106960 5.091315
-- 7.433797 -1.942952 5.965044
-- 6.888321 -3.344512 4.486667
-- 7.677782 -3.431286 5.412745
-+ 5.071990 1.095268 4.737463
-+ 4.538744 -0.306572 3.312620
-+ 4.316895 -0.672508 2.011169
-+ 4.145425 0.083640 1.259346
-+ 4.360306 -1.957588 1.633963
-+ 4.180681 -2.226400 0.593014
-+ 4.642734 -2.996992 2.589722
-+ 4.702936 -4.199185 2.336724
-+ 4.852811 -2.538498 3.874265
-+ 5.070419 -3.289156 4.634040
-+ 4.814710 -1.223887 4.292292
-+ 5.014652 -0.915008 5.455485
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- 5.911975 4.450154 3.797910
- !entry.RU3.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3282,28 +3282,28 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.372913 0.790414 5.211298
-- 5.559757 0.101208 5.067090
-- 5.647583 -0.899755 4.671160
-- 6.194776 0.575080 6.110305
-- 6.278024 -0.702826 5.569817
-- 7.123995 -0.570401 6.702600
-- 7.472741 -1.740173 6.551245
-- 7.656517 0.184264 7.754694
-- 7.991655 0.787072 8.478783
-- 8.146732 -1.105376 7.724367
-- 8.683403 -0.422802 8.744993
-- 8.507987 0.541027 8.990678
-- 9.349613 -0.919433 9.319121
-- 8.481202 -2.373962 7.505920
-- 8.540900 -3.615812 6.954699
-+ 5.071990 1.095268 4.737463
-+ 4.499521 -0.267941 3.326572
-+ 4.267491 -0.772686 2.063324
-+ 4.096298 -0.099873 1.236030
-+ 4.278725 -2.081203 2.002024
-+ 4.535077 -2.474587 3.310318
-+ 4.665007 -3.772057 3.872536
-+ 4.578030 -4.865461 3.315935
-+ 4.925900 -3.709107 5.246571
-+ 5.032497 -4.575574 5.734292
-+ 5.047695 -2.547474 5.981536
-+ 5.299246 -2.702459 7.288556
-+ 5.396714 -3.573970 7.789625
-+ 5.381197 -1.857343 7.835514
-+ 4.927816 -1.332957 5.452878
-+ 4.673984 -1.376560 4.117488
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- 5.911975 4.450154 3.797910
- !entry.RG3.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3513,25 +3513,25 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.373674 0.789709 5.211219
-- 5.559264 0.200618 4.899855
-- 5.666544 -0.785646 4.473035
-- 6.294463 0.528171 5.996117
-- 6.748720 1.036110 6.846852
-- 6.613356 -0.816346 5.628040
-- 7.310127 -0.462256 6.691775
-- 7.941913 -1.143751 7.087389
-- 7.204329 0.461930 7.085204
-- 6.784882 -2.043285 5.144201
-- 6.779159 -3.223049 4.467648
-- 7.584089 -3.327568 5.405072
-+ 5.071990 1.095268 4.737463
-+ 4.500559 -0.267967 3.326521
-+ 4.258187 -0.582249 2.025720
-+ 4.103951 0.202771 1.300217
-+ 4.205645 -1.878082 1.616262
-+ 4.010240 -2.111427 0.569617
-+ 4.416190 -2.880836 2.613787
-+ 4.378882 -4.158916 2.285883
-+ 4.532450 -4.836391 3.019057
-+ 4.201751 -4.434440 1.330472
-+ 4.652634 -2.564463 3.883788
-+ 4.701224 -1.262318 4.273223
-+ 4.918947 -0.927591 5.447171
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- 5.911975 4.450154 3.797910
- !entry.RC3.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -3739,21 +3739,21 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.398936 0.755791 5.236576
-- 5.570721 0.053476 5.133763
-- 5.651435 -0.952100 4.748143
-- 6.248368 0.547472 6.127122
-- 6.337852 -0.727929 5.581736
-- 7.186443 -0.642297 6.691944
-- 7.489983 -1.917831 6.415398
-- 8.153280 -2.415516 6.991980
-- 7.055473 -2.381556 5.630375
-- 7.773936 -0.045280 7.737899
-- 8.144838 -1.308931 7.552106
-- 8.632452 -0.851805 8.400438
-- 8.538915 -2.559764 7.402037
-- 8.562807 -3.771388 6.807145
-+ 5.071990 1.095268 4.737463
-+ 4.538874 -0.297045 3.315659
-+ 4.336740 -0.846471 2.077041
-+ 4.152394 -0.207224 1.226289
-+ 4.452852 -2.140973 2.049069
-+ 4.754050 -2.480049 3.362997
-+ 4.997986 -3.708205 3.989198
-+ 4.976769 -4.883498 3.345899
-+ 5.160704 -5.738821 3.850568
-+ 4.776841 -4.914031 2.356355
-+ 5.265289 -3.689348 5.302131
-+ 5.284973 -2.519883 5.935270
-+ 5.498266 -2.482169 6.993326
-+ 5.072682 -1.308518 5.455764
-+ 4.806134 -1.356364 4.133205
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -3964,21 +3964,21 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.397885 0.753191 5.246175
-- 5.590532 0.136915 4.972869
-- 5.691792 -0.854182 4.555888
-- 6.355081 0.476418 6.019675
-- 7.005380 1.133878 7.200716
-- 6.241886 1.418905 7.924551
-- 7.704141 0.438210 7.665344
-- 7.543334 2.022951 6.871696
-- 6.737960 -0.878090 5.715845
-- 7.428954 -0.641760 6.705579
-- 6.803084 -2.106960 5.091315
-- 7.433797 -1.942952 5.965044
-- 6.888321 -3.344512 4.486667
-- 7.677782 -3.431286 5.412745
-+ 5.071990 1.095268 4.737463
-+ 4.538744 -0.306572 3.312620
-+ 4.316895 -0.672508 2.011169
-+ 4.145425 0.083640 1.259346
-+ 4.360306 -1.957588 1.633963
-+ 4.118872 -2.368537 0.211701
-+ 4.859526 -1.896818 -0.434064
-+ 4.201263 -3.452119 0.127068
-+ 3.120134 -2.055722 -0.092882
-+ 4.642734 -2.996992 2.589722
-+ 4.702936 -4.199185 2.336724
-+ 4.852811 -2.538498 3.874265
-+ 5.070419 -3.289156 4.634040
-+ 4.814710 -1.223887 4.292292
-+ 5.014652 -0.915008 5.455485
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -4194,22 +4194,22 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.372913 0.790414 5.211298
-- 5.559757 0.101208 5.067090
-- 5.647583 -0.899755 4.671160
-- 6.194776 0.575080 6.110305
-- 6.278024 -0.702826 5.569817
-- 7.123995 -0.570401 6.702600
-- 7.472741 -1.740173 6.551245
-- 7.656517 0.184264 7.754694
-- 7.991655 0.787072 8.478783
-- 8.146732 -1.105376 7.724367
-- 8.683403 -0.422802 8.744993
-- 8.507987 0.541027 8.990678
-- 9.349613 -0.919433 9.319121
-- 8.481202 -2.373962 7.505920
-- 8.540900 -3.615812 6.954699
-+ 5.071990 1.095268 4.737463
-+ 4.499521 -0.267941 3.326572
-+ 4.267491 -0.772686 2.063324
-+ 4.096298 -0.099873 1.236030
-+ 4.278725 -2.081203 2.002024
-+ 4.535077 -2.474587 3.310318
-+ 4.665007 -3.772057 3.872536
-+ 4.578030 -4.865461 3.315935
-+ 4.925900 -3.709107 5.246571
-+ 5.032497 -4.575574 5.734292
-+ 5.047695 -2.547474 5.981536
-+ 5.299246 -2.702459 7.288556
-+ 5.396714 -3.573970 7.789625
-+ 5.381197 -1.857343 7.835514
-+ 4.927816 -1.332957 5.452878
-+ 4.673984 -1.376560 4.117488
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -4413,19 +4413,19 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.373674 0.789709 5.211219
-- 5.559264 0.200618 4.899855
-- 5.666544 -0.785646 4.473035
-- 6.294463 0.528171 5.996117
-- 6.748720 1.036110 6.846852
-- 6.613356 -0.816346 5.628040
-- 7.310127 -0.462256 6.691775
-- 7.941913 -1.143751 7.087389
-- 7.204329 0.461930 7.085204
-- 6.784882 -2.043285 5.144201
-- 6.779159 -3.223049 4.467648
-- 7.584089 -3.327568 5.405072
-+ 5.071990 1.095268 4.737463
-+ 4.500559 -0.267967 3.326521
-+ 4.258187 -0.582249 2.025720
-+ 4.103951 0.202771 1.300217
-+ 4.205645 -1.878082 1.616262
-+ 4.010240 -2.111427 0.569617
-+ 4.416190 -2.880836 2.613787
-+ 4.378882 -4.158916 2.285883
-+ 4.532450 -4.836391 3.019057
-+ 4.201751 -4.434440 1.330472
-+ 4.652634 -2.564463 3.883788
-+ 4.701224 -1.262318 4.273223
-+ 4.918947 -0.927591 5.447171
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
-@@ -4639,27 +4639,27 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.398936 0.755791 5.236576
-- 5.570721 0.053476 5.133763
-- 5.651435 -0.952100 4.748143
-- 6.248368 0.547472 6.127122
-- 6.337852 -0.727929 5.581736
-- 7.186443 -0.642297 6.691944
-- 7.489983 -1.917831 6.415398
-- 8.153280 -2.415516 6.991980
-- 7.055473 -2.381556 5.630375
-- 7.773936 -0.045280 7.737899
-- 8.144838 -1.308931 7.552106
-- 8.632452 -0.851805 8.400438
-- 8.538915 -2.559764 7.402037
-- 8.562807 -3.771388 6.807145
-+ 5.071990 1.095268 4.737463
-+ 4.538874 -0.297045 3.315659
-+ 4.336740 -0.846471 2.077041
-+ 4.152394 -0.207224 1.226289
-+ 4.452852 -2.140973 2.049069
-+ 4.754050 -2.480049 3.362997
-+ 4.997986 -3.708205 3.989198
-+ 4.976769 -4.883498 3.345899
-+ 5.160704 -5.738821 3.850568
-+ 4.776841 -4.914031 2.356355
-+ 5.265289 -3.689348 5.302131
-+ 5.284973 -2.519883 5.935270
-+ 5.498266 -2.482169 6.993326
-+ 5.072682 -1.308518 5.455764
-+ 4.806134 -1.356364 4.133205
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- !entry.RA.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 33 0 0 0 0
-@@ -4858,24 +4858,24 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.397885 0.753191 5.246175
-- 5.590532 0.136915 4.972869
-- 5.691792 -0.854182 4.555888
-- 6.355081 0.476418 6.019675
-- 6.811115 0.979784 6.872175
-- 6.737960 -0.878090 5.715845
-- 7.428954 -0.641760 6.705579
-- 6.803084 -2.106960 5.091315
-- 7.433797 -1.942952 5.965044
-- 6.888321 -3.344512 4.486667
-- 7.677782 -3.431286 5.412745
-+ 5.071990 1.095268 4.737463
-+ 4.538744 -0.306572 3.312620
-+ 4.316895 -0.672508 2.011169
-+ 4.145425 0.083640 1.259346
-+ 4.360306 -1.957588 1.633963
-+ 4.180681 -2.226400 0.593014
-+ 4.642734 -2.996992 2.589722
-+ 4.702936 -4.199185 2.336724
-+ 4.852811 -2.538498 3.874265
-+ 5.070419 -3.289156 4.634040
-+ 4.814710 -1.223887 4.292292
-+ 5.014652 -0.915008 5.455485
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- !entry.RU.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 30 0 0 0 0
-@@ -5088,28 +5088,28 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.372913 0.790414 5.211298
-- 5.559757 0.101208 5.067090
-- 5.647583 -0.899755 4.671160
-- 6.194776 0.575080 6.110305
-- 6.278024 -0.702826 5.569817
-- 7.123995 -0.570401 6.702600
-- 7.472741 -1.740173 6.551245
-- 7.656517 0.184264 7.754694
-- 7.991655 0.787072 8.478783
-- 8.146732 -1.105376 7.724367
-- 8.683403 -0.422802 8.744993
-- 8.507987 0.541027 8.990678
-- 9.349613 -0.919433 9.319121
-- 8.481202 -2.373962 7.505920
-- 8.540900 -3.615812 6.954699
-+ 5.071990 1.095268 4.737463
-+ 4.499521 -0.267941 3.326572
-+ 4.267491 -0.772686 2.063324
-+ 4.096298 -0.099873 1.236030
-+ 4.278725 -2.081203 2.002024
-+ 4.535077 -2.474587 3.310318
-+ 4.665007 -3.772057 3.872536
-+ 4.578030 -4.865461 3.315935
-+ 4.925900 -3.709107 5.246571
-+ 5.032497 -4.575574 5.734292
-+ 5.047695 -2.547474 5.981536
-+ 5.299246 -2.702459 7.288556
-+ 5.396714 -3.573970 7.789625
-+ 5.381197 -1.857343 7.835514
-+ 4.927816 -1.332957 5.452878
-+ 4.673984 -1.376560 4.117488
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- !entry.RG.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 34 0 0 0 0
-@@ -5313,25 +5313,25 @@
- 2.447108 3.477366 3.933855
- 3.228110 1.605160 3.977232
- 4.558604 1.150942 3.777549
-- 5.569373 1.557427 3.742678
-- 4.373674 0.789709 5.211219
-- 5.559264 0.200618 4.899855
-- 5.666544 -0.785646 4.473035
-- 6.294463 0.528171 5.996117
-- 6.748720 1.036110 6.846852
-- 6.613356 -0.816346 5.628040
-- 7.310127 -0.462256 6.691775
-- 7.941913 -1.143751 7.087389
-- 7.204329 0.461930 7.085204
-- 6.784882 -2.043285 5.144201
-- 6.779159 -3.223049 4.467648
-- 7.584089 -3.327568 5.405072
-+ 5.071990 1.095268 4.737463
-+ 4.500559 -0.267967 3.326521
-+ 4.258187 -0.582249 2.025720
-+ 4.103951 0.202771 1.300217
-+ 4.205645 -1.878082 1.616262
-+ 4.010240 -2.111427 0.569617
-+ 4.416190 -2.880836 2.613787
-+ 4.378882 -4.158916 2.285883
-+ 4.532450 -4.836391 3.019057
-+ 4.201751 -4.434440 1.330472
-+ 4.652634 -2.564463 3.883788
-+ 4.701224 -1.262318 4.273223
-+ 4.918947 -0.927591 5.447171
- 4.415598 3.377823 2.961313
- 4.412064 3.941488 2.028377
- 5.230436 2.095693 2.779428
- 5.668203 2.081314 1.781304
- 6.272975 2.049937 3.757138
-- 7.076220 2.511153 3.504793
-+ 6.759270 1.235224 3.610988
- 5.029888 4.128641 3.998289
- !entry.RC.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
- 1 31 0 0 0 0
-@@ -5531,21 +5531,21 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.825854 0.331961 5.463505
-- 2.973744 -0.351218 5.767666
-- 3.198298 -1.353172 5.432908
-- 3.262456 0.147686 6.932887
-- 3.554407 -1.123002 6.450998
-- 3.970615 -1.030384 7.784487
-- 4.371751 -2.299375 7.628436
-- 4.806122 -2.789852 8.397106
-- 4.239728 -2.765377 6.742145
-- 4.154910 -0.430195 8.968298
-- 4.588103 -1.686764 8.920565
-- 4.748481 -1.226887 9.884511
-- 5.030638 -2.930357 8.914329
-- 5.276823 -4.138026 8.363485
-+ 2.623224 0.684847 5.224690
-+ 2.631874 -0.707517 3.706295
-+ 2.874735 -1.252950 2.473241
-+ 2.981754 -0.611820 1.610746
-+ 3.015083 -2.545282 2.486669
-+ 2.854431 -2.887097 3.824373
-+ 2.890057 -4.114829 4.496241
-+ 3.109804 -5.286605 3.884480
-+ 3.124371 -6.141804 4.421623
-+ 3.260868 -5.314611 2.886234
-+ 2.691903 -4.099290 5.821417
-+ 2.474287 -2.933307 6.423105
-+ 2.312232 -2.898303 7.490303
-+ 2.418509 -1.722706 5.899909
-+ 2.621151 -1.767164 4.565946
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -5750,21 +5750,21 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.821628 0.329290 5.472166
-- 3.045980 -0.266556 5.623252
-- 3.300321 -1.253530 5.266050
-- 3.400654 0.078938 6.868419
-- 3.596750 0.739775 8.200650
-- 2.627095 1.008594 8.619702
-- 4.106045 0.052544 8.876247
-- 4.199810 1.639079 8.075463
-- 3.886987 -1.267611 6.713863
-- 4.193797 -1.026107 7.880244
-- 4.182336 -2.491705 6.149271
-- 4.473391 -2.322796 7.186024
-- 4.489928 -3.724276 5.610241
-- 4.916436 -3.803915 6.750481
-+ 2.623224 0.684847 5.224690
-+ 2.632951 -0.717026 3.703395
-+ 2.875701 -1.078946 2.404555
-+ 2.959028 -0.321296 1.639425
-+ 3.067013 -2.361001 2.064944
-+ 3.333430 -2.767543 0.645879
-+ 4.242250 -2.280529 0.292378
-+ 3.457938 -3.849191 0.594530
-+ 2.493973 -2.468751 0.018077
-+ 3.022943 -3.401289 3.059659
-+ 3.186167 -4.600916 2.842510
-+ 2.773364 -2.946913 4.338586
-+ 2.730574 -3.698393 5.126967
-+ 2.572586 -1.635482 4.718372
-+ 2.357489 -1.330164 5.879800
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -5974,22 +5974,22 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.809468 0.366314 5.430851
-- 2.985443 -0.303283 5.701265
-- 3.220128 -1.300453 5.359250
-- 3.217392 0.174542 6.898755
-- 3.501851 -1.098776 6.419335
-- 3.907092 -0.959542 7.773142
-- 4.306119 -2.122793 7.750193
-- 4.034999 -0.202628 8.943920
-- 4.092163 0.401223 9.738965
-- 4.527564 -1.484195 9.083085
-- 4.671337 -0.799117 10.225713
-- 4.406357 0.160408 10.396586
-- 5.109266 -1.288479 10.993073
-- 4.937775 -2.746085 8.992209
-- 5.203174 -3.983662 8.494648
-+ 2.623224 0.684847 5.224690
-+ 2.590680 -0.679098 3.703090
-+ 2.813126 -1.180187 2.436667
-+ 2.923918 -0.505423 1.600713
-+ 2.866567 -2.487992 2.382906
-+ 2.666616 -2.884782 3.699977
-+ 2.618169 -4.183246 4.272728
-+ 2.745111 -5.274676 3.719947
-+ 2.392358 -4.124071 5.653129
-+ 2.340242 -4.991533 6.147896
-+ 2.235991 -2.964895 6.385427
-+ 2.027971 -3.123388 7.699660
-+ 1.962797 -3.996113 8.203846
-+ 1.903765 -2.280234 8.241661
-+ 2.283795 -1.749407 5.847650
-+ 2.502701 -1.789347 4.505978
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -6187,19 +6187,19 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.810222 0.365622 5.431037
-- 3.040503 -0.202936 5.543946
-- 3.303784 -1.184927 5.179558
-- 3.350889 0.129864 6.825549
-- 3.478253 0.640008 7.780343
-- 3.798907 -1.207335 6.588738
-- 4.083865 -0.848420 7.826630
-- 4.553596 -1.522140 8.414470
-- 3.834435 0.071716 8.160148
-- 4.146081 -2.428628 6.192742
-- 4.391834 -3.604440 5.555033
-- 4.829292 -3.701644 6.711226
-+ 2.623224 0.684847 5.224690
-+ 2.591673 -0.679108 3.703398
-+ 2.814053 -0.989708 2.398148
-+ 2.904088 -0.203069 1.663647
-+ 2.926420 -2.283840 1.995414
-+ 3.104659 -2.514231 0.945056
-+ 2.799915 -3.288854 3.004791
-+ 2.898410 -4.565463 2.683902
-+ 2.803322 -5.244627 3.425383
-+ 3.063325 -4.838262 1.725527
-+ 2.582464 -2.976080 4.279070
-+ 2.473124 -1.675585 4.661638
-+ 2.270623 -1.344205 5.839254
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
-@@ -6407,27 +6407,27 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.825854 0.331961 5.463505
-- 2.973744 -0.351218 5.767666
-- 3.198298 -1.353172 5.432908
-- 3.262456 0.147686 6.932887
-- 3.554407 -1.123002 6.450998
-- 3.970615 -1.030384 7.784487
-- 4.371751 -2.299375 7.628436
-- 4.806122 -2.789852 8.397106
-- 4.239728 -2.765377 6.742145
-- 4.154910 -0.430195 8.968298
-- 4.588103 -1.686764 8.920565
-- 4.748481 -1.226887 9.884511
-- 5.030638 -2.930357 8.914329
-- 5.276823 -4.138026 8.363485
-+ 2.623224 0.684847 5.224690
-+ 2.631874 -0.707517 3.706295
-+ 2.874735 -1.252950 2.473241
-+ 2.981754 -0.611820 1.610746
-+ 3.015083 -2.545282 2.486669
-+ 2.854431 -2.887097 3.824373
-+ 2.890057 -4.114829 4.496241
-+ 3.109804 -5.286605 3.884480
-+ 3.124371 -6.141804 4.421623
-+ 3.260868 -5.314611 2.886234
-+ 2.691903 -4.099290 5.821417
-+ 2.474287 -2.933307 6.423105
-+ 2.312232 -2.898303 7.490303
-+ 2.418509 -1.722706 5.899909
-+ 2.621151 -1.767164 4.565946
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- 3.677533 4.057871 4.629091
- !entry.RAN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -6620,24 +6620,24 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.821628 0.329290 5.472166
-- 3.045980 -0.266556 5.623252
-- 3.300321 -1.253530 5.266050
-- 3.400654 0.078938 6.868419
-- 3.529160 0.584527 7.825480
-- 3.886987 -1.267611 6.713863
-- 4.193797 -1.026107 7.880244
-- 4.182336 -2.491705 6.149271
-- 4.473391 -2.322796 7.186024
-- 4.489928 -3.724276 5.610241
-- 4.916436 -3.803915 6.750481
-+ 2.623224 0.684847 5.224690
-+ 2.632951 -0.717026 3.703395
-+ 2.875701 -1.078946 2.404555
-+ 2.959028 -0.321296 1.639425
-+ 3.067013 -2.361001 2.064944
-+ 3.258724 -2.626638 1.025337
-+ 3.022943 -3.401289 3.059659
-+ 3.186167 -4.600916 2.842510
-+ 2.773364 -2.946913 4.338586
-+ 2.730574 -3.698393 5.126967
-+ 2.572586 -1.635482 4.718372
-+ 2.357489 -1.330164 5.879800
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- 3.677533 4.057871 4.629091
- !entry.RUN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -6844,28 +6844,28 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.809468 0.366314 5.430851
-- 2.985443 -0.303283 5.701265
-- 3.220128 -1.300453 5.359250
-- 3.217392 0.174542 6.898755
-- 3.501851 -1.098776 6.419335
-- 3.907092 -0.959542 7.773142
-- 4.306119 -2.122793 7.750193
-- 4.034999 -0.202628 8.943920
-- 4.092163 0.401223 9.738965
-- 4.527564 -1.484195 9.083085
-- 4.671337 -0.799117 10.225713
-- 4.406357 0.160408 10.396586
-- 5.109266 -1.288479 10.993073
-- 4.937775 -2.746085 8.992209
-- 5.203174 -3.983662 8.494648
-+ 2.623224 0.684847 5.224690
-+ 2.590680 -0.679098 3.703090
-+ 2.813126 -1.180187 2.436667
-+ 2.923918 -0.505423 1.600713
-+ 2.866567 -2.487992 2.382906
-+ 2.666616 -2.884782 3.699977
-+ 2.618169 -4.183246 4.272728
-+ 2.745111 -5.274676 3.719947
-+ 2.392358 -4.124071 5.653129
-+ 2.340242 -4.991533 6.147896
-+ 2.235991 -2.964895 6.385427
-+ 2.027971 -3.123388 7.699660
-+ 1.962797 -3.996113 8.203846
-+ 1.903765 -2.280234 8.241661
-+ 2.283795 -1.749407 5.847650
-+ 2.502701 -1.789347 4.505978
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- 3.677533 4.057871 4.629091
- !entry.RGN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-@@ -7063,25 +7063,25 @@
- 0.391890 3.029890 3.571783
- 1.142222 1.169994 3.879663
- 2.468198 0.737932 4.147078
-- 3.422991 1.160472 4.460013
-- 1.810222 0.365622 5.431037
-- 3.040503 -0.202936 5.543946
-- 3.303784 -1.184927 5.179558
-- 3.350889 0.129864 6.825549
-- 3.478253 0.640008 7.780343
-- 3.798907 -1.207335 6.588738
-- 4.083865 -0.848420 7.826630
-- 4.553596 -1.522140 8.414470
-- 3.834435 0.071716 8.160148
-- 4.146081 -2.428628 6.192742
-- 4.391834 -3.604440 5.555033
-- 4.829292 -3.701644 6.711226
-+ 2.623224 0.684847 5.224690
-+ 2.591673 -0.679108 3.703398
-+ 2.814053 -0.989708 2.398148
-+ 2.904088 -0.203069 1.663647
-+ 2.926420 -2.283840 1.995414
-+ 3.104659 -2.514231 0.945056
-+ 2.799915 -3.288854 3.004791
-+ 2.898410 -4.565463 2.683902
-+ 2.803322 -5.244627 3.425383
-+ 3.063325 -4.838262 1.725527
-+ 2.582464 -2.976080 4.279070
-+ 2.473124 -1.675585 4.661638
-+ 2.270623 -1.344205 5.839254
- 2.575655 2.966926 3.331156
- 2.881929 3.535802 2.453274
- 3.424925 1.698847 3.438931
- 4.177807 1.697081 2.650726
- 4.070872 1.663908 4.714248
-- 4.904136 2.139152 4.751846
-+ 4.591405 0.857803 4.743234
- 2.785622 3.721368 4.515694
- 3.677533 4.057871 4.629091
- !entry.RCN.unit.residueconnect table int c1x int c2x int c3x int c4x int c5x int c6x
-diff -urN amber11.orig/AmberTools/test/sqm/nma/nma.dftb.go.in amber11/AmberTools/test/sqm/nma/nma.dftb.go.in
---- amber11.orig/AmberTools/test/sqm/nma/nma.dftb.go.in 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/sqm/nma/nma.dftb.go.in 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,30 @@
-+Run DFTB geometry optimization for NMA
-+ &qmmm
-+ qm_theory = 'DFTB',
-+ qmcharge = 0,
-+ ! SCF settings
-+ scfconv = 1.0d-10, ! kcal/mol
-+ errconv = 1.d-06, ! au
-+ tight_p_conv = 0,
-+ diag_routine = 1,
-+ itrmax = 100,
-+ ! Geometry optimization settings
-+ maxcyc = 100,
-+ grms_tol = 0.001, ! kcal/(mol*A)
-+ ! Output
-+ ntpr = 101,
-+ verbosity = 0,
-+ /
-+ 6 C -0.767000 3.380000 4.245000
-+ 6 C -1.809707 2.570219 4.710852
-+ 7 N -2.661673 2.646098 3.869189
-+ 6 C -3.662846 1.855199 3.619926
-+ 8 O -1.634379 2.116691 5.584678
-+ 1 H 0.218271 3.164467 4.684075
-+ 1 H -0.578839 3.210298 3.174581
-+ 1 H -1.024346 4.421330 4.488732
-+ 1 H -2.569216 3.204198 3.074324
-+ 1 H -3.347225 0.824359 3.812610
-+ 1 H -4.529359 1.998602 4.311686
-+ 1 H -4.036138 1.906340 2.552627
-+
-diff -urN amber11.orig/AmberTools/test/sqm/nma/nma.dftb.go.out.save amber11/AmberTools/test/sqm/nma/nma.dftb.go.out.save
---- amber11.orig/AmberTools/test/sqm/nma/nma.dftb.go.out.save 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/sqm/nma/nma.dftb.go.out.save 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,81 @@
-+ --------------------------------------------------------
-+ AMBER SQM VERSION 1.4
-+
-+ By
-+ Ross C. Walker, Michael F. Crowley, Scott Brozell,
-+ Tim Giese, Andreas W. Goetz and David A. Case
-+
-+ --------------------------------------------------------
-+
-+
-+--------------------------------------------------------------------------------
-+ QM CALCULATION INFO
-+--------------------------------------------------------------------------------
-+
-+| QMMM: Citation for AMBER QMMM Run:
-+| QMMM: R.C. Walker, M.F. Crowley and D.A. Case, J. COMP. CHEM. 29:1019, 2008
-+
-+| QMMM: DFTB Calculation - Additional citation for AMBER DFTB QMMM Run:
-+| QMMM: Seabra, G.M., Walker, R.C. et al., J. PHYS. CHEM. A., 111, 5655, (2007)
-+
-+
-+QMMM: SINGLET STATE CALCULATION
-+QMMM: RHF CALCULATION, NO. OF DOUBLY OCCUPIED LEVELS = 15
-+
-+| QMMM: *** SCF convergence criteria ***
-+| QMMM: Energy change : 0.1D-09 kcal/mol
-+| QMMM: Error matrix |FP-PF| : 0.1D-05 au
-+| QMMM: Density matrix change : 0.5D-06
-+| QMMM: Maximum number of SCF cycles : 100
-+ DFTB: Number of atom types = 4
-+
-+ Parameter files:
-+ TYP (AT) TYP (AT) SK integral FILE
-+| 1 1 (C ) 1 (C ) /Users/andi/sources/amber/dat/slko/C-C.skf
-+| 2 1 (C ) 2 (N ) /Users/andi/sources/amber/dat/slko/C-N.skf
-+| 3 1 (C ) 3 (O ) /Users/andi/sources/amber/dat/slko/C-O.skf
-+| 4 1 (C ) 4 (H ) /Users/andi/sources/amber/dat/slko/C-H.skf
-+| 5 2 (N ) 1 (C ) /Users/andi/sources/amber/dat/slko/N-C.skf
-+| 6 2 (N ) 2 (N ) /Users/andi/sources/amber/dat/slko/N-N.skf
-+| 7 2 (N ) 3 (O ) /Users/andi/sources/amber/dat/slko/N-O.skf
-+| 8 2 (N ) 4 (H ) /Users/andi/sources/amber/dat/slko/N-H.skf
-+| 9 3 (O ) 1 (C ) /Users/andi/sources/amber/dat/slko/O-C.skf
-+| 10 3 (O ) 2 (N ) /Users/andi/sources/amber/dat/slko/O-N.skf
-+| 11 3 (O ) 3 (O ) /Users/andi/sources/amber/dat/slko/O-O.skf
-+| 12 3 (O ) 4 (H ) /Users/andi/sources/amber/dat/slko/O-H.skf
-+| 13 4 (H ) 1 (C ) /Users/andi/sources/amber/dat/slko/H-C.skf
-+| 14 4 (H ) 2 (N ) /Users/andi/sources/amber/dat/slko/H-N.skf
-+| 15 4 (H ) 3 (O ) /Users/andi/sources/amber/dat/slko/H-O.skf
-+| 16 4 (H ) 4 (H ) /Users/andi/sources/amber/dat/slko/H-H.skf
-+
-+--------------------------------------------------------------------------------
-+ RESULTS
-+--------------------------------------------------------------------------------
-+
-+ ... geometry converged !
-+
-+ Heat of formation = -1220.84132946 kcal/mol ( -52.93965264 eV)
-+ Total SCF energy = -8463.39103876 kcal/mol ( -367.00017513 eV)
-+
-+ Atomic Charges for Step 1 :
-+ Atom Element Mulliken Charge
-+ 1 C -0.279
-+ 2 C 0.493
-+ 3 N -0.250
-+ 4 C -0.073
-+ 5 O -0.507
-+ 6 H 0.096
-+ 7 H 0.073
-+ 8 H 0.073
-+ 9 H 0.186
-+ 10 H 0.097
-+ 11 H 0.045
-+ 12 H 0.045
-+ Total Mulliken Charge = 0.000
-+
-+
-+ Final Structure
-+
-+
-+ --------- Calculation Completed ----------
-+
-diff -urN amber11.orig/AmberTools/test/sqm/nma/nma.dftb.sp.in amber11/AmberTools/test/sqm/nma/nma.dftb.sp.in
---- amber11.orig/AmberTools/test/sqm/nma/nma.dftb.sp.in 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/sqm/nma/nma.dftb.sp.in 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,30 @@
-+Run PM3 single point calculation for NMA
-+ &qmmm
-+ qm_theory = 'DFTB',
-+ qmcharge = 0,
-+ ! SCF settings
-+ scfconv = 1.0d-10, ! kcal/mol
-+ errconv = 1.d-06, ! au
-+ tight_p_conv = 0,
-+ diag_routine = 1,
-+ itrmax = 100,
-+ ! Geometry optimization settings
-+ maxcyc = 0,
-+ grms_tol = 0.02, ! kcal/(mol*A)
-+ ! Output
-+ ntpr = 10,
-+ verbosity = 0,
-+ /
-+ 6 C -0.767000 3.380000 4.245000
-+ 6 C -1.809707 2.570219 4.710852
-+ 7 N -2.661673 2.646098 3.869189
-+ 6 C -3.662846 1.855199 3.619926
-+ 8 O -1.634379 2.116691 5.584678
-+ 1 H 0.218271 3.164467 4.684075
-+ 1 H -0.578839 3.210298 3.174581
-+ 1 H -1.024346 4.421330 4.488732
-+ 1 H -2.569216 3.204198 3.074324
-+ 1 H -3.347225 0.824359 3.812610
-+ 1 H -4.529359 1.998602 4.311686
-+ 1 H -4.036138 1.906340 2.552627
-+
-diff -urN amber11.orig/AmberTools/test/sqm/nma/nma.dftb.sp.out.save amber11/AmberTools/test/sqm/nma/nma.dftb.sp.out.save
---- amber11.orig/AmberTools/test/sqm/nma/nma.dftb.sp.out.save 1970-01-01 03:00:00.000000000 +0300
-+++ amber11/AmberTools/test/sqm/nma/nma.dftb.sp.out.save 2011-03-08 16:38:44.000000000 +0300
-@@ -0,0 +1,111 @@
-+ --------------------------------------------------------
-+ AMBER SQM VERSION 1.4
-+
-+ By
-+ Ross C. Walker, Michael F. Crowley, Scott Brozell,
-+ Tim Giese, Andreas W. Goetz and David A. Case
-+
-+ --------------------------------------------------------
-+
-+
-+--------------------------------------------------------------------------------
-+ QM CALCULATION INFO
-+--------------------------------------------------------------------------------
-+
-+| QMMM: Citation for AMBER QMMM Run:
-+| QMMM: R.C. Walker, M.F. Crowley and D.A. Case, J. COMP. CHEM. 29:1019, 2008
-+
-+| QMMM: DFTB Calculation - Additional citation for AMBER DFTB QMMM Run:
-+| QMMM: Seabra, G.M., Walker, R.C. et al., J. PHYS. CHEM. A., 111, 5655, (2007)
-+
-+
-+QMMM: SINGLET STATE CALCULATION
-+QMMM: RHF CALCULATION, NO. OF DOUBLY OCCUPIED LEVELS = 15
-+
-+| QMMM: *** SCF convergence criteria ***
-+| QMMM: Energy change : 0.1D-09 kcal/mol
-+| QMMM: Error matrix |FP-PF| : 0.1D-05 au
-+| QMMM: Density matrix change : 0.5D-06
-+| QMMM: Maximum number of SCF cycles : 100
-+ DFTB: Number of atom types = 4
-+
-+ Parameter files:
-+ TYP (AT) TYP (AT) SK integral FILE
-+| 1 1 (C ) 1 (C ) /Users/andi/sources/amber/dat/slko/C-C.skf
-+| 2 1 (C ) 2 (N ) /Users/andi/sources/amber/dat/slko/C-N.skf
-+| 3 1 (C ) 3 (O ) /Users/andi/sources/amber/dat/slko/C-O.skf
-+| 4 1 (C ) 4 (H ) /Users/andi/sources/amber/dat/slko/C-H.skf
-+| 5 2 (N ) 1 (C ) /Users/andi/sources/amber/dat/slko/N-C.skf
-+| 6 2 (N ) 2 (N ) /Users/andi/sources/amber/dat/slko/N-N.skf
-+| 7 2 (N ) 3 (O ) /Users/andi/sources/amber/dat/slko/N-O.skf
-+| 8 2 (N ) 4 (H ) /Users/andi/sources/amber/dat/slko/N-H.skf
-+| 9 3 (O ) 1 (C ) /Users/andi/sources/amber/dat/slko/O-C.skf
-+| 10 3 (O ) 2 (N ) /Users/andi/sources/amber/dat/slko/O-N.skf
-+| 11 3 (O ) 3 (O ) /Users/andi/sources/amber/dat/slko/O-O.skf
-+| 12 3 (O ) 4 (H ) /Users/andi/sources/amber/dat/slko/O-H.skf
-+| 13 4 (H ) 1 (C ) /Users/andi/sources/amber/dat/slko/H-C.skf
-+| 14 4 (H ) 2 (N ) /Users/andi/sources/amber/dat/slko/H-N.skf
-+| 15 4 (H ) 3 (O ) /Users/andi/sources/amber/dat/slko/H-O.skf
-+| 16 4 (H ) 4 (H ) /Users/andi/sources/amber/dat/slko/H-H.skf
-+
-+ QMMM: QM Region Cartesian Coordinates (*=link atom)
-+ QMMM: QM_NO. MM_NO. ATOM X Y Z
-+ QMMM: 1 1 C -0.7670 3.3800 4.2450
-+ QMMM: 2 2 C -1.8097 2.5702 4.7109
-+ QMMM: 3 3 N -2.6617 2.6461 3.8692
-+ QMMM: 4 4 C -3.6628 1.8552 3.6199
-+ QMMM: 5 5 O -1.6344 2.1167 5.5847
-+ QMMM: 6 6 H 0.2183 3.1645 4.6841
-+ QMMM: 7 7 H -0.5788 3.2103 3.1746
-+ QMMM: 8 8 H -1.0243 4.4213 4.4887
-+ QMMM: 9 9 H -2.5692 3.2042 3.0743
-+ QMMM: 10 10 H -3.3472 0.8244 3.8126
-+ QMMM: 11 11 H -4.5294 1.9986 4.3117
-+ QMMM: 12 12 H -4.0361 1.9063 2.5526
-+
-+--------------------------------------------------------------------------------
-+ RESULTS
-+--------------------------------------------------------------------------------
-+
-+
-+ Heat of formation = -1039.27301701 kcal/mol ( -45.06625979 eV)
-+ Total SCF energy = -8281.82272631 kcal/mol ( -359.12678229 eV)
-+ Electronic energy = -8895.69306749 kcal/mol ( -385.74619780 eV)
-+ Core-core repulsion = 613.87034117 kcal/mol ( 26.61941551 eV)
-+
-+ Atomic Charges for Step 1 :
-+ Atom Element Mulliken Charge
-+ 1 C -0.347
-+ 2 C 0.560
-+ 3 N -0.202
-+ 4 C -0.066
-+ 5 O -0.439
-+ 6 H 0.077
-+ 7 H 0.048
-+ 8 H 0.072
-+ 9 H 0.187
-+ 10 H 0.044
-+ 11 H 0.029
-+ 12 H 0.037
-+ Total Mulliken Charge = 0.000
-+
-+
-+ Final Structure
-+
-+ QMMM: QM Region Cartesian Coordinates (*=link atom)
-+ QMMM: QM_NO. MM_NO. ATOM X Y Z
-+ QMMM: 1 1 C -0.7670 3.3800 4.2450
-+ QMMM: 2 2 C -1.8097 2.5702 4.7109
-+ QMMM: 3 3 N -2.6617 2.6461 3.8692
-+ QMMM: 4 4 C -3.6628 1.8552 3.6199
-+ QMMM: 5 5 O -1.6344 2.1167 5.5847
-+ QMMM: 6 6 H 0.2183 3.1645 4.6841
-+ QMMM: 7 7 H -0.5788 3.2103 3.1746
-+ QMMM: 8 8 H -1.0243 4.4213 4.4887
-+ QMMM: 9 9 H -2.5692 3.2042 3.0743
-+ QMMM: 10 10 H -3.3472 0.8244 3.8126
-+ QMMM: 11 11 H -4.5294 1.9986 4.3117
-+ QMMM: 12 12 H -4.0361 1.9063 2.5526
-+
-+ --------- Calculation Completed ----------
-+
-diff -urN amber11.orig/AmberTools/test/sqm/nma/Run amber11/AmberTools/test/sqm/nma/Run
---- amber11.orig/AmberTools/test/sqm/nma/Run 2010-04-14 17:26:17.000000000 +0400
-+++ amber11/AmberTools/test/sqm/nma/Run 2011-03-08 16:38:44.000000000 +0300
-@@ -3,8 +3,19 @@
- set SQM = ../../../exe/sqm
- set SPDIFF = ../../dacdif
- set GODIFF = "../../dacdif -a 0.01"
--set SPTESTS = (nma.pm3.sp nma.pm6.sp)
--set GOTESTS = (nma.pm3.go nma.pm6.go)
-+
-+# check if slko files for DFTB are installed
-+../../check_slko_files.x
-+if( $status > 0) then
-+ # no slko files - do not run DFTB tests
-+ set SPTESTS = (nma.pm3.sp nma.pm6.sp)
-+ set GOTESTS = (nma.pm3.go nma.pm6.go)
-+else
-+ # slko files present - run DFTB tests
-+ set SPTESTS = (nma.pm3.sp nma.pm6.sp nma.dftb.sp)
-+ set GOTESTS = (nma.pm3.go nma.pm6.go nma.dftb.go)
-+endif
-+
-
- # single point tests
- foreach i ($SPTESTS)
-diff -urN amber11.orig/dat/leap/lib/amoeba_aminoct.off amber11/dat/leap/lib/amoeba_aminoct.off
---- amber11.orig/dat/leap/lib/amoeba_aminoct.off 2010-03-31 07:05:27.000000000 +0400
-+++ amber11/dat/leap/lib/amoeba_aminoct.off 2011-03-08 16:38:44.000000000 +0300
-@@ -638,24 +638,24 @@
- !entry.CCYX.unit.atoms table str name str type int typex int resx int flags int seq int elmnt dbl chg str
- "N" "7" 0 1 131072 1 7 -0.382100
- "H" "10" 0 1 131072 2 1 0.268100
-- "CA" "8" 0 1 131072 3 6 -0.131800
-+ "CA" "44" 0 1 131072 3 6 -0.131800
- "HA" "12" 0 1 131072 4 1 0.093800
-- "CB" "" 0 1 131072 5 6 -0.194300
-- "HB2" "" 0 1 131072 6 1 0.122800
-- "HB3" "" 0 1 131072 7 1 0.122800
-- "SG" "" 0 1 131072 8 16 -0.052900
-+ "CB" "45" 0 1 131072 5 6 -0.194300
-+ "HB2" "46" 0 1 131072 6 1 0.122800
-+ "HB3" "46" 0 1 131072 7 1 0.122800
-+ "SG" "49" 0 1 131072 8 16 -0.052900
- "C" "192" 0 1 131072 9 6 0.761800
- "O" "193" 0 1 131072 10 8 -0.804100
- "OXT" "193" 0 1 131072 11 8 -0.804100
- !entry.CCYX.unit.atomspertinfo table str pname str ptype int ptypex int pelmnt dbl pchg
- "N" "7" 0 -1 0.0
- "H" "10" 0 -1 0.0
-- "CA" "8" 0 -1 0.0
-+ "CA" "44" 0 -1 0.0
- "HA" "12" 0 -1 0.0
-- "CB" "" 0 -1 0.0
-- "HB2" "" 0 -1 0.0
-- "HB3" "" 0 -1 0.0
-- "SG" "" 0 -1 0.0
-+ "CB" "45" 0 -1 0.0
-+ "HB2" "46" 0 -1 0.0
-+ "HB3" "46" 0 -1 0.0
-+ "SG" "49" 0 -1 0.0
- "C" "192" 0 -1 0.0
- "O" "193" 0 -1 0.0
- "OXT" "193" 0 -1 0.0
-diff -urN amber11.orig/dat/leap/lib/amoeba_aminont.off amber11/dat/leap/lib/amoeba_aminont.off
---- amber11.orig/dat/leap/lib/amoeba_aminont.off 2010-03-31 07:05:27.000000000 +0400
-+++ amber11/dat/leap/lib/amoeba_aminont.off 2011-03-08 16:38:44.000000000 +0300
-@@ -736,12 +736,12 @@
- "H1" "191" 0 1 131072 2 1 0.181500
- "H2" "191" 0 1 131072 3 1 0.181500
- "H3" "191" 0 1 131072 4 1 0.181500
-- "CA" "8" 0 1 131072 5 6 0.105500
-+ "CA" "44" 0 1 131072 5 6 0.105500
- "HA" "12" 0 1 131072 6 1 0.092200
-- "CB" "" 0 1 131072 7 6 -0.027700
-- "HB2" "" 0 1 131072 8 1 0.068000
-- "HB3" "" 0 1 131072 9 1 0.068000
-- "SG" "" 0 1 131072 10 16 -0.098400
-+ "CB" "45" 0 1 131072 7 6 -0.027700
-+ "HB2" "46" 0 1 131072 8 1 0.068000
-+ "HB3" "46" 0 1 131072 9 1 0.068000
-+ "SG" "49" 0 1 131072 10 16 -0.098400
- "C" "9" 0 1 131072 11 6 0.612300
- "O" "11" 0 1 131072 12 8 -0.571300
- !entry.NCYX.unit.atomspertinfo table str pname str ptype int ptypex int pelmnt dbl pchg
-diff -urN amber11.orig/dat/leap/lib/amoeba_amino.off amber11/dat/leap/lib/amoeba_amino.off
---- amber11.orig/dat/leap/lib/amoeba_amino.off 2010-03-31 07:05:27.000000000 +0400
-+++ amber11/dat/leap/lib/amoeba_amino.off 2011-03-08 16:38:44.000000000 +0300
-@@ -880,23 +880,23 @@
- !entry.CYX.unit.atoms table str name str type int typex int resx int flags int seq int elmnt dbl chg str
- "N" "7" 0 1 131072 1 7 -0.435921
- "H" "10" 0 1 131072 2 1 0.290077
-- "CA" "8" 0 1 131072 3 6 -0.030547
-+ "CA" "44" 0 1 131072 3 6 -0.030547
- "HA" "12" 0 1 131072 4 1 0.132146
-- "CB" "" 0 1 131072 5 6 -0.033006
-- "HB2" "" 0 1 131072 6 1 0.078951
-- "HB3" "" 0 1 131072 7 1 0.078951
-- "SG" "" 0 1 131072 8 16 -0.132272
-+ "CB" "45" 0 1 131072 5 6 -0.033006
-+ "HB2" "46" 0 1 131072 6 1 0.078951
-+ "HB3" "46" 0 1 131072 7 1 0.078951
-+ "SG" "49" 0 1 131072 8 16 -0.132272
- "C" "9" 0 1 131072 9 6 0.624788
- "O" "11" 0 1 131072 10 8 -0.573167
- !entry.CYX.unit.atomspertinfo table str pname str ptype int ptypex int pelmnt dbl pchg
- "N" "7" 0 -1 0.0
- "H" "10" 0 -1 0.0
-- "CA" "8" 0 -1 0.0
-+ "CA" "44" 0 -1 0.0
- "HA" "12" 0 -1 0.0
-- "CB" "" 0 -1 0.0
-- "HB2" "" 0 -1 0.0
-- "HB3" "" 0 -1 0.0
-- "SG" "" 0 -1 0.0
-+ "CB" "45" 0 -1 0.0
-+ "HB2" "46" 0 -1 0.0
-+ "HB3" "46" 0 -1 0.0
-+ "SG" "49" 0 -1 0.0
- "C" "9" 0 -1 0.0
- "O" "11" 0 -1 0.0
- !entry.CYX.unit.boundbox array dbl
-@@ -990,16 +990,16 @@
- "H" "10" 0 -1 0.0
- "CA" "8" 0 -1 0.0
- "HA" "12" 0 -1 0.0
-- "CB" "" 0 -1 0.0
-- "HB2" "" 0 -1 0.0
-- "HB3" "" 0 -1 0.0
-- "CG" "" 0 -1 0.0
-- "HG2" "" 0 -1 0.0
-- "HG3" "" 0 -1 0.0
-- "CD" "" 0 -1 0.0
-- "OE1" "" 0 -1 0.0
-- "OE2" "" 0 -1 0.0
-- "HE2" "" 0 -1 0.0
-+ "CB" "144" 0 -1 0.0
-+ "HB2" "145" 0 -1 0.0
-+ "HB3" "145" 0 -1 0.0
-+ "CG" "146" 0 -1 0.0
-+ "HG2" "147" 0 -1 0.0
-+ "HG3" "147" 0 -1 0.0
-+ "CD" "148" 0 -1 0.0
-+ "OE1" "149" 0 -1 0.0
-+ "OE2" "149" 0 -1 0.0
-+ "HE2" "10" 0 -1 0.0
- "C" "9" 0 -1 0.0
- "O" "11" 0 -1 0.0
- !entry.GLH.unit.boundbox array dbl
-@@ -2147,21 +2147,21 @@
- "H" "10" 0 -1 0.0
- "CA" "8" 0 -1 0.0
- "HA" "12" 0 -1 0.0
-- "CB" "" 0 -1 0.0
-- "HB2" "" 0 -1 0.0
-- "HB3" "" 0 -1 0.0
-- "CG" "" 0 -1 0.0
-- "HG2" "" 0 -1 0.0
-- "HG3" "" 0 -1 0.0
-- "CD" "" 0 -1 0.0
-- "HD2" "" 0 -1 0.0
-- "HD3" "" 0 -1 0.0
-- "CE" "" 0 -1 0.0
-- "HE2" "" 0 -1 0.0
-- "HE3" "" 0 -1 0.0
-- "NZ" "" 0 -1 0.0
-- "HZ2" "" 0 -1 0.0
-- "HZ3" "" 0 -1 0.0
-+ "CB" "159" 0 -1 0.0
-+ "HB2" "160" 0 -1 0.0
-+ "HB3" "160" 0 -1 0.0
-+ "CG" "161" 0 -1 0.0
-+ "HG2" "162" 0 -1 0.0
-+ "HG3" "162" 0 -1 0.0
-+ "CD" "163" 0 -1 0.0
-+ "HD2" "164" 0 -1 0.0
-+ "HD3" "164" 0 -1 0.0
-+ "CE" "165" 0 -1 0.0
-+ "HE2" "166" 0 -1 0.0
-+ "HE3" "166" 0 -1 0.0
-+ "NZ" "167" 0 -1 0.0
-+ "HZ2" "168" 0 -1 0.0
-+ "HZ3" "168" 0 -1 0.0
- "C" "9" 0 -1 0.0
- "O" "11" 0 -1 0.0
- !entry.LYN.unit.boundbox array dbl
-diff -urN amber11.orig/dat/leap/parm/gaff.dat amber11/dat/leap/parm/gaff.dat
---- amber11.orig/dat/leap/parm/gaff.dat 2010-03-31 07:05:27.000000000 +0400
-+++ amber11/dat/leap/parm/gaff.dat 2011-03-08 16:38:44.000000000 +0300
-@@ -16,6 +16,7 @@
- cy 12.01 0.360 Sp3 carbons in square systems
- cu 12.01 0.360 Sp2 carbons in triangle systems
- cv 12.01 0.360 Sp2 carbons in square systems
-+cz 12.01 0.360 Sp2 carbon in guanidine group
- h1 1.008 0.135 H bonded to aliphatic carbon with 1 electrwd. group
- h2 1.008 0.135 H bonded to aliphatic carbon with 2 electrwd. group
- h3 1.008 0.135 H bonded to aliphatic carbon with 3 electrwd. group
-@@ -852,11 +853,6 @@
- s6-ss 139.6 2.1180 SOURCE3 5 0.0209
- sh-sh 158.9 2.0580 SOURCE2 1 0.0000
- sh-ss 155.8 2.0670 SOURCE3 3 0.0029
--Si-c3 189.8 1.8928 SOURCE4 77 0.0061
--Si-ca 191.1 1.8898 SOURCE4 11 0.0028
--Si-ha 186.3 1.4887 SOURCE4 6 0.0040
--Si-oh 267.6 1.6792 SOURCE4 6 0.0035
--Si-os 287.7 1.6524 SOURCE4 22 0.0057
- s -s 169.0 2.0300 SOURCE3 1 0.0000
- s -s2 229.2 1.8970 SOURCE1 5 0.0000
- s -s4 152.8 2.0760 SOURCE3 4 0.0345
-@@ -1091,7 +1087,6 @@
- hc-c2-s6 54.150 115.450 SOURCE3 1
- hc-c2-sh 53.550 115.630 SOURCE3 1
- hc-c2-ss 54.900 115.620 SOURCE3 1
--hn-c2-n4 0.000 112.740 SOURCE3 1
- hx-c2-n4 48.420 113.030 SOURCE3 3 0.3873
- i -c2-i 60.960 117.940 SOURCE3 1 0.0000
- n1-c2-n1 73.610 124.150 HF/6-31G* 1
-@@ -1464,9 +1459,6 @@
- s6-c3-s6 102.050 111.750 SOURCE3 1 0.0000
- sh-c3-sh 97.420 116.260 SOURCE3 1 0.0000
- sh-c3-ss 99.850 110.730 SOURCE3 1
--Si-c3-c3 74.610 114.340 SOURCE4 26 1.1613
--Si-c3-h1 51.040 110.900 SOURCE4 17 1.0270
--Si-c3-hc 50.960 111.210 SOURCE4 222 0.4865
- s -c3-s 93.400 123.350 SOURCE3 1 0.0000
- ss-c3-ss 99.950 110.570 SOURCE4 15 1.4311
- br-ca-br 67.310 117.600 SOURCE3 1
-@@ -1500,7 +1492,6 @@
- ca-ca-i 58.590 118.470 SOURCE3 10 0.6181
- ca-ca-n1 68.920 118.500 HF/6-31G* 1
- ca-ca-n2 70.950 119.570 SOURCE3 1
--ca-ca-n3 0.000 121.190 SOURCE3 1
- ca-ca-n4 67.280 118.410 SOURCE3 6 0.1691
- ca-ca-n 67.970 119.890 SOURCE3 18 0.2095
- ca-ca-na 70.210 118.340 SOURCE3 54 3.6168
-@@ -1540,7 +1531,6 @@
- cf-ca-nb 68.080 118.140 SOURCE4 12 1.1775
- cg-ca-cp 65.330 121.530 SOURCE4 12 0.1831
- c -ca-ha 46.510 115.900 SOURCE3 1
--c -ca-hc 0.000 120.000 SOURCE3 1
- cl-ca-cl 62.630 118.720 SOURCE3 1
- cl-ca-cp 62.600 120.310 SOURCE4 18 0.5607
- cl-ca-nb 65.810 116.150 SOURCE4 50 0.6047
-@@ -1606,7 +1596,6 @@
- s4-ca-s4 104.060 105.810 SOURCE3 1
- s6-ca-s6 105.770 105.810 SOURCE3 1
- sh-ca-sh 98.150 120.240 SOURCE3 1
--Si-ca-ca 73.850 121.430 SOURCE4 19 0.4235
- s -ca-s 98.380 125.140 SOURCE3 1
- ss-ca-ss 100.760 115.150 SOURCE3 1
- br-c -br 66.910 113.100 SOURCE3 1
-@@ -1636,7 +1625,6 @@
- c3-c -n 67.860 115.150 SOURCE3 153 2.7443
- c3-c -ne 68.090 111.390 SOURCE4 11 2.1430
- c3-c -nf 67.430 113.380 SOURCE3 1 same_as_c3-c-ne
--c3-c -nh 0.000 113.580 SOURCE3 1
- c3-c -o 68.030 123.110 SOURCE3 267 3.0977
- c3-c -oh 69.840 112.200 SOURCE3 14 1.8324
- c3-c -os 69.260 111.960 SOURCE3 15 2.3072
-@@ -1832,7 +1820,6 @@
- ha-cc-os 52.490 110.860 SOURCE3 7 1.3846
- ha-cc-pd 42.350 121.760 SOURCE3 84 same_as_ha-cd-pc
- ha-cc-ss 53.490 121.640 SOURCE2 5 1.3276
--c -c -hc 0.000 117.080 SOURCE3 1
- ch-c -ch 65.440 115.380 SOURCE3 1 same_as_cg-c-cg
- ch-c -ha 47.800 113.900 SOURCE2 1 same_as_cg-c-ha
- ch-c -o 70.210 122.310 SOURCE3 2 same_as_cg-c-o
-@@ -2183,7 +2170,6 @@
- c -cf-n 66.600 116.790 SOURCE4 8 0.8255
- c -cf-nh 65.940 122.760 SOURCE3 1 same_as_c-ce-nh
- f -c -f 72.220 107.350 SOURCE2 2 0.2500
--f -c -h 0.000 109.900 SOURCE2 1 0.0000
- h4-cf-n2 52.210 122.140 SOURCE4 11 0.9297
- h4-cf-ne 52.280 120.210 SOURCE4 6 0.8104
- ha-cf-n1 52.480 115.960 SOURCE3 2 3.5425
-@@ -2239,34 +2225,20 @@
- cf-ch-cg 57.400 177.900 SOURCE4 8 0.4883
- cf-ch-n1 59.370 178.120 SOURCE4 22 1.5200
- cg-ch-ch 58.680 179.670 SOURCE4 7 0.1439
--hc-c -hc 0.000 115.680 SOURCE3 1
--hc-c -n 0.000 120.000 SOURCE3 1
--hc-c -nh 0.000 112.700 SOURCE3 1
--hc-c -o 0.000 120.000 SOURCE3 1
--hc-c -oh 0.000 113.700 SOURCE3 1
--hc-c -os 0.000 113.580 SOURCE3 1
- n1-ch-nf 64.660 176.170 SOURCE2 3 same_as_n1-cg-ne
--h -c -o 0.000 127.300 SOURCE2 1 0.0000
- i -c -i 59.790 116.450 SOURCE3 1 0.0000
- i -c -o 55.510 122.020 SOURCE3 4 1.2961
- f -cl-f 50.000 87.500 SOURCE2 1 estimated_force_constant
- n2-c -n2 71.830 110.310 SOURCE3 1
--n2-c -na 0.000 118.600 SOURCE3 1
- n2-c -o 73.020 122.500 SOURCE3 1
--n3-c -n3 0.000 112.980 SOURCE3 1
--n3-c -o 0.000 122.260 SOURCE3 1
- n4-c -n4 64.710 114.640 SOURCE3 1 0.0000
- n4-c -o 69.580 118.830 SOURCE3 4 3.8516
--na-c -na 0.000 115.400 SOURCE3 1
--na-c -o 0.000 122.850 SOURCE3 1
- nc-c -o 74.050 123.980 SOURCE4 66 0.9502
- nd-c -o 73.720 121.760 SOURCE4 55 1.1138
- ne-c -ne 73.220 110.310 SOURCE3 1 0.0000
- ne-c -o 72.940 126.030 SOURCE4 39 0.9885
- nf-c -nf 73.070 110.310 SOURCE3 1 same_as_ne-c-ne
- nf-c -o 73.320 124.390 SOURCE3 3 same_as_ne-c-o
--nh-c -nh 0.000 110.980 SOURCE3 1
--nh-c -o 0.000 124.620 SOURCE3 1
- n -c -n 74.800 113.380 SOURCE4 635 1.4358
- n -c -nc 72.690 117.050 SOURCE4 54 0.7020
- n -c -nd 71.900 117.060 SOURCE4 23 0.9856
-@@ -2318,10 +2290,10 @@
- py-c -py 57.520 123.800 SOURCE3 1 0.0000
- ca-cq-ca 67.000 118.240 SOURCE4 5 0.2181
- ca-cq-cq 64.220 120.410 SOURCE4 12 1.4029
--ca-cq-nb 0.000 122.970 SOURCE3 2 0.0000
-+ca-cq-nb 69.270 121.650 SOURCE4 63 same as ca-cp-nb
- cp-cq-cq 62.640 124.470 SOURCE4 5 1.0864
- cq-cq-cq 72.200 90.000 SOURCE3 4 0.0000
--cq-cq-nb 0.000 116.430 SOURCE3 2 0.0000
-+cq-cq-nb 68.050 116.600 SOURCE4 88 same as cp-cp-nb
- s4-c -s4 98.110 108.810 SOURCE3 1
- s6-c -s6 95.130 115.750 SOURCE3 1
- sh-c -sh 100.060 115.330 SOURCE3 1 0.0000
-@@ -2454,9 +2426,6 @@
- n -cy-s6 82.570 103.450 SOURCE4 6 0.7197
- n -cy-ss 82.030 105.120 SOURCE4 69 0.3987
- nh-cz-nh 72.970 120.170 SOURCE4 26 0.3964
--ca-i -cl 0.000 90.210 SOURCE3 2 estimated_force_constant
--ca-i -o 0.000 97.080 SOURCE3 5 0.2233,estimated_force_constant
--cl-i -cl 0.000 179.580 SOURCE3 1 estimated_force_constant
- br-n1-c1 51.100 180.000 HF/6-31G* 1
- c1-n1-c1 64.910 179.920 HF/6-31G* 1
- c1-n1-c2 60.250 177.730 HF/6-31G* 1
-@@ -2729,7 +2698,6 @@
- c2-n3-c2 66.220 124.680 SOURCE3 1
- c2-n3-hn 49.110 119.380 SOURCE3 1
- c3-n3-c3 64.010 110.900 SOURCE3 40 2.3048
--c3-n3-ca 0.000 116.390 SOURCE3 1
- c3-n3-cl 62.170 107.230 SOURCE3 3 0.3673
- c3-n3-cx 62.450 116.320 SOURCE4 24 0.5119
- c3-n3-cy 61.690 118.260 SOURCE4 14 0.8788
-@@ -2753,7 +2721,6 @@
- c3-n3-sh 78.550 112.700 SOURCE3 1 0.0000
- c3-n3-ss 77.950 116.010 SOURCE3 3 1.1944
- c3-n3-sy 79.010 115.270 SOURCE4 108 1.7647
--c -n3-c 0.000 127.170 SOURCE3 1
- cl-n3-cl 61.850 108.280 SOURCE3 1 0.0000
- cl-n3-hn 42.590 104.390 SOURCE3 2 0.0000
- cl-n3-n3 63.750 107.650 SOURCE3 1 0.0000
-@@ -2824,7 +2791,6 @@
- c1-n4-hn 48.620 110.190 SOURCE3 7 1.0847
- c2-n4-c2 63.010 112.580 SOURCE3 1 0.0000
- c2-n4-c3 63.100 110.960 SOURCE4 13 2.4632
--c2-n4-h4 0.000 112.460 SOURCE3 1
- c2-n4-hn 46.430 111.360 SOURCE3 13 1.2672
- c3-n4-c3 62.840 110.640 SOURCE3 13 1.3060
- c3-n4-ca 63.610 110.400 SOURCE4 46 1.4643
-@@ -3002,10 +2968,6 @@
- ca-na-s 75.010 125.640 SOURCE3 1
- ca-na-sh 76.630 125.440 SOURCE3 1
- ca-na-ss 74.880 129.910 SOURCE4 8 0.1449
--c -na-c 0.000 126.400 SOURCE3 1
--c -na-c2 0.000 125.090 SOURCE3 1
--c -na-c3 0.000 117.600 SOURCE3 1
--c -na-ca 0.000 125.200 SOURCE3 1
- cc-na-cc 68.940 109.900 SOURCE3 109 1.5547
- cc-na-cd 63.880 128.010 SOURCE3 1 0.0000
- cc-na-ce 63.050 126.610 SOURCE4 8 0.5158
-@@ -3058,7 +3020,6 @@
- cd-na-s 74.800 125.660 SOURCE3 8 0.1880
- cd-na-sh 76.830 123.960 SOURCE3 10 0.3424
- cd-na-ss 77.930 119.180 SOURCE3 36 5.0538
--c -na-hn 0.000 118.000 SOURCE3 1
- cl-na-cl 56.330 122.800 SOURCE3 1
- cl-na-nc 59.890 119.360 SOURCE3 4 1.7128
- cl-na-nd 59.890 119.360 SOURCE3 4 same_as_cl-na-nc
-@@ -3067,7 +3028,6 @@
- cl-na-pc 58.780 120.510 SOURCE3 3 2.1985
- cl-na-pd 58.780 120.510 SOURCE3 3 same_as_cl-na-pc
- cl-na-ss 77.180 111.910 SOURCE3 1 0.0000
--c -na-n 0.000 124.660 SOURCE3 1
- f -na-f 62.220 120.200 SOURCE3 1
- f -na-nc 66.640 118.050 SOURCE3 4 1.7931
- f -na-nd 66.640 118.050 SOURCE3 4 same_as_f-na-nc
-@@ -3231,7 +3191,7 @@
- sy-na-sy 96.930 123.200 SOURCE3 1
- ca-nb-ca 68.590 115.860 SOURCE3 46 1.1645
- ca-nb-cp 68.010 118.040 SOURCE4 58 0.7819
--ca-nb-cq 0.000 117.040 SOURCE3 2 0.0000
-+ca-nb-cq 68.010 118.040 SOURCE4 58 same as ca-nb-cp
- ca-nb-nb 69.370 118.890 SOURCE3 10 0.6031
- cp-nb-nb 68.790 121.110 SOURCE4 12 0.4315
- nb-nb-nb 70.440 121.040 SOURCE3 1 0.0000
-@@ -3597,8 +3557,6 @@
- ca-nh-sh 78.190 121.410 SOURCE3 1 0.0000
- ca-nh-ss 78.160 121.500 SOURCE3 3 2.6255
- ca-nh-sy 76.750 125.260 SOURCE4 41 1.7517
--c -nh-c 0.000 119.570 SOURCE3 1
--c -nh-ca 0.000 123.570 SOURCE3 1
- cc-nh-cx 63.320 122.820 SOURCE4 42 1.1841
- cc-nh-hn 48.860 117.160 SOURCE3 11 2.6137
- cc-nh-n2 68.230 119.660 SOURCE4 5 1.3903
-@@ -3610,10 +3568,8 @@
- ce-nh-sy 80.450 112.970 SOURCE4 7 1.0636
- cf-nh-hn 48.620 115.620 SOURCE4 16 1.3549
- cf-nh-o 67.070 129.430 SOURCE3 1 same_as_ce-nh-o
--c -nh-hn 0.000 115.730 SOURCE3 1
- cl-nh-cl 62.930 106.600 SOURCE3 1
- cl-nh-hn 43.080 104.140 SOURCE3 1 0.0000
--c -nh-n4 0.000 111.350 SOURCE3 1
- cx-nh-cx 86.530 62.020 SOURCE4 45 0.6189
- cx-nh-hn 45.790 118.890 SOURCE4 8 0.1391
- cz-nh-hn 48.790 121.240 SOURCE4 40 0.5682
-@@ -3783,7 +3739,6 @@
- ho-oh-sh 54.390 106.240 SOURCE3 2 0.0661
- ho-oh-ss 54.540 107.060 SOURCE3 4 0.9967
- ho-oh-sy 55.940 106.410 SOURCE4 33 0.3729
--Si-oh-ho 52.570 115.710 SOURCE4 5 0.1738
- br-os-br 65.080 110.630 SOURCE3 1 0.0000
- c1-os-c1 66.990 115.020 SOURCE3 1 0.0000
- c1-os-c3 64.470 113.390 SOURCE3 1 0.0000
-@@ -3892,7 +3847,6 @@
- s4-os-s4 99.450 111.630 SOURCE3 1 0.0000
- s6-os-s6 103.740 119.070 SOURCE3 2 0.4318
- sh-os-sh 97.950 118.950 SOURCE3 1 0.0000
--Si-os-c3 74.830 124.640 SOURCE4 9 0.2879
- s -os-s 91.270 118.080 SOURCE3 1 0.0000
- ss-os-ss 97.420 115.640 SOURCE3 1 0.0000
- br-p2-br 65.020 108.600 SOURCE3 1
-@@ -4615,7 +4569,6 @@
- f -s4-f 43.790 92.710 SOURCE2 3 0.1490
- f -s4-o 43.870 106.810 SOURCE2 2 0.0100
- f -s4-s 47.340 107.500 SOURCE2 1 0.0000
--hn-s4-hs 0.000 86.990 SOURCE3 1
- hs-s4-hs 23.650 87.000 SOURCE3 2 0.0202
- hs-s4-n1 32.050 90.510 HF/6-31G* 1
- hs-s4-o 31.160 110.270 SOURCE3 5 0.1908
-@@ -4789,12 +4742,6 @@
- hs-sh-s6 33.980 93.830 SOURCE3 3 1.2561
- hs-sh-sh 33.890 99.070 SOURCE3 2 0.0000
- hs-sh-ss 33.730 99.170 SOURCE3 3 0.2457
--c3-Si-c3 34.810 109.820 SOURCE4 88 0.5569
--c3-Si-ca 34.800 110.090 SOURCE4 26 0.7331
--c3-Si-oh 38.160 107.440 SOURCE4 8 1.5150
--c3-Si-os 38.140 108.750 SOURCE4 38 0.7301
--ha-Si-ha 19.530 108.770 SOURCE4 5 0.5372
--os-Si-os 42.630 108.350 SOURCE4 15 1.7995
- br-ss-br 41.920 102.920 SOURCE3 1 0.0000
- br-ss-c3 39.460 99.030 SOURCE3 1 0.0000
- c1-ss-c1 41.480 98.300 SOURCE2 1 0.0000
-@@ -4813,7 +4760,6 @@
- c3-ss-cl 37.940 99.400 SOURCE2 1 0.0000
- c3-ss-cy 38.750 94.320 SOURCE4 62 0.3646
- c3-ss-f 39.670 97.490 SOURCE3 1 0.0000
--c3-ss-ha 0.000 96.500 SOURCE2 1 0.0000
- c3-ss-i 35.060 100.000 SOURCE3 1 0.0000
- c3-ss-n1 41.250 98.440 HF/6-31G* 1
- c3-ss-n2 41.260 96.420 SOURCE3 5 1.3604
-@@ -5883,7 +5829,7 @@
- were replaced with those newly generated. Here are the numbers:
-
- Bond length: 59 low quality parameters were replaced and 56 new parameters
--were introduced. $j
-+were introduced.
-
- Bond angle: 437 low quality parameters were replaced and 618 new
- parameters were introduced.
diff --git a/sci-chemistry/ambertools/files/ambertools-1.5-bugfix_1-3.patch b/sci-chemistry/ambertools/files/ambertools-1.5-bugfix_1-3.patch
deleted file mode 100644
index 1aebcabce..000000000
--- a/sci-chemistry/ambertools/files/ambertools-1.5-bugfix_1-3.patch
+++ /dev/null
@@ -1,3831 +0,0 @@
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Center.cpp amber11.new//AmberTools/src/cpptraj/src/Action_Center.cpp
---- amber11//AmberTools/src/cpptraj/src/Action_Center.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Center.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -72,7 +72,7 @@
- // else
- // mass = NULL;
-
-- if (!origin && P->ifbox==0) {
-+ if (!origin && P->BoxType==0) {
- mprintf(" Error: Center::setup: Box center specified but no box information.\n");
- //fprintf(stdout," Centering on origin.\n");
- return 1;
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Closest.cpp amber11.new//AmberTools/src/cpptraj/src/Action_Closest.cpp
---- amber11//AmberTools/src/cpptraj/src/Action_Closest.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Closest.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -181,8 +181,8 @@
- // NOTE: Should box be figured out from read-in coords?
- imageType = 0;
- if (!noimage) {
-- imageType = P->ifbox;
-- if (P->ifbox==0) {
-+ imageType = P->BoxType;
-+ if (P->BoxType==0) {
- mprintf(" Warning: Closest::setup: ");
- mprintf(" Imaging specified but no box information in prmtop %s\n",P->parmName);
- mprintf(" No imaging can occur..\n");
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Distance.cpp amber11.new//AmberTools/src/cpptraj/src/Action_Distance.cpp
---- amber11//AmberTools/src/cpptraj/src/Action_Distance.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Distance.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -68,6 +68,11 @@
- return 0;
- }
-
-+/*
-+ * Distance::setup()
-+ * Determine what atoms each mask pertains to for the current parm file.
-+ * Also determine whether imaging should be performed.
-+ */
- int Distance::setup() {
-
- if ( Mask1.SetupMask(P,debug) ) return 1;
-@@ -89,8 +94,8 @@
- // Check imaging - check box based on prmtop box
- imageType = 0;
- if (!noimage) {
-- imageType = P->ifbox;
-- if (P->ifbox==0 && debug>0) {
-+ imageType = P->BoxType;
-+ if (P->BoxType==0 && debug>0) {
- mprintf(" Warning: No box info in %s, disabling imaging.\n",P->parmName);
- }
- }
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Image.cpp amber11.new//AmberTools/src/cpptraj/src/Action_Image.cpp
---- amber11//AmberTools/src/cpptraj/src/Action_Image.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Image.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -98,14 +98,14 @@
- useMass = false;
- }
-
-- if (P->ifbox==0) {
-+ if (P->BoxType==0) {
- mprintf(" Error: Image::setup: Parm %s does not contain box information.\n",
- P->parmName);
- return 1;
- }
-
- ortho = false;
-- if (P->ifbox==1 && triclinic==OFF) ortho=true;
-+ if (P->BoxType==1 && triclinic==OFF) ortho=true;
-
- if (triclinic == FAMILIAR) {
- if (ComMask!=NULL) {
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Outtraj.cpp amber11.new//AmberTools/src/cpptraj/src/Action_Outtraj.cpp
---- amber11//AmberTools/src/cpptraj/src/Action_Outtraj.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Outtraj.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -6,6 +6,9 @@
- // CONSTRUCTOR
- Outtraj::Outtraj() {
- //fprintf(stderr,"Outtraj Con\n");
-+ min=0.0;
-+ max=0.0;
-+ Dset=NULL;
- }
-
- // DESTRUCTOR
-@@ -13,11 +16,40 @@
-
- /*
- * Outtraj::init()
-- * Action wrapper for trajout
-+ * Action wrapper for trajout.
-+ * Expected call: outtraj <filename> [ trajout args ]
-+ * [maxmin <dataset> min <min> max <max>
- */
- int Outtraj::init() {
-+ char *datasetName;
-+
-+#ifdef MPI
-+ mprintf("ERROR: OUTTRAJ currently not functional with MPI.\n");
-+ return 1;
-+#endif
-+
-+ mprintf(" OUTTRAJ: Will write to [%s]\n",A->Arg(1));
-+ outtraj.SetDebug(debug);
-+ // If maxmin, get the name of the dataset as well as the max and min values.
-+ datasetName = A->getKeyString("maxmin",NULL);
-+ if (datasetName!=NULL) {
-+ Dset = DSL->Get(datasetName);
-+ if (Dset==NULL) {
-+ mprintf("Error: Outtraj maxmin: Could not get dataset %s\n",datasetName);
-+ return 1;
-+ } else {
-+ // Currently dont allow for string datasets
-+ if (Dset->Type()==STRING) {
-+ mprintf("Error: Outtraj maxmin: String dataset (%s) not supported.\n",datasetName);
-+ return 1;
-+ }
-+ max = A->getKeyDouble("max",0.0);
-+ min = A->getKeyDouble("min",0.0);
-+ mprintf(" maxmin: Printing trajectory frames based on %lf <= %s <= %lf\n",
-+ min, datasetName, max);
-+ }
-+ }
-
-- mprintf(" OUTTRAJ: [%s]\n",A->ArgLine());
- return ( outtraj.Add(A,PFL,worldsize) );
- }
-
-@@ -33,8 +65,32 @@
- * Outtraj::action()
- */
- int Outtraj::action() {
-+ double dVal;
-+ int iVal;
-
-- return ( outtraj.Write(currentFrame, F, P) );
-+ // If dataset defined, check if frame is within max/min
-+ if (Dset!=NULL) {
-+ if (Dset->Type() == DOUBLE) {
-+ if (Dset->Get(&dVal, currentFrame)) return 1;
-+ } else if (Dset->Type() == INT) {
-+ if (Dset->Get(&iVal, currentFrame)) return 1;
-+ dVal = (double) iVal;
-+ } else
-+ return 1;
-+ //mprintf("DBG: maxmin: dVal = %lf\n",dVal);
-+ // If value from dataset not within min/max, exit now.
-+ if (dVal < min || dVal > max) return 0;
-+ }
-+ if ( outtraj.Write(currentFrame, F, P) != 0 ) return 1;
-+ return 0;
- }
-
-+/*
-+ * Outtraj::print()
-+ * Close trajectory.
-+ */
-+void Outtraj::print() {
-+ mprintf(" OUTTRAJ: [%s] Wrote %i frames.\n",A->Arg(1),outtraj.front()->CurrentFrame());
-+ outtraj.Close();
-+}
-
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Outtraj.h amber11.new//AmberTools/src/cpptraj/src/Action_Outtraj.h
---- amber11//AmberTools/src/cpptraj/src/Action_Outtraj.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Outtraj.h 2011-05-19 18:35:57.000000000 +0300
-@@ -6,6 +6,9 @@
-
- class Outtraj: public Action {
- TrajoutList outtraj;
-+ double max;
-+ double min;
-+ DataSet *Dset;
- public:
- Outtraj();
- ~Outtraj();
-@@ -13,5 +16,6 @@
- int init();
- //int setup();
- int action();
-+ void print();
- };
- #endif
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Rms2d.cpp amber11.new//AmberTools/src/cpptraj/src/Action_Rms2d.cpp
---- amber11//AmberTools/src/cpptraj/src/Action_Rms2d.cpp 1970-01-01 03:00:00.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Rms2d.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -0,0 +1,71 @@
-+// Rms2d
-+#include "Action_Rms2d.h"
-+#include "CpptrajStdio.h"
-+
-+// CONSTRUCTOR
-+Rms2d::Rms2d() {
-+ //fprintf(stderr,"Rms2d Con\n");
-+ nofit=false;
-+ useMass=false;
-+}
-+
-+// DESTRUCTOR
-+Rms2d::~Rms2d() { }
-+
-+/*
-+ * Rms2d::init()
-+ * Expected call: rms2d <mask> <refmask> [rmsout filename] [mass] [nofit]
-+ * Dataset name will be the last arg checked for. Check order is:
-+ * 1) Keywords
-+ * 2) Masks
-+ * 3) Dataset name
-+ */
-+int Rms2d::init() {
-+ char *mask0, *maskRef;
-+
-+ // Get keywords
-+ nofit = A->hasKey("nofit");
-+ useMass = A->hasKey("mass");
-+ rmsdFile = A->getKeyString("rmsout",NULL);
-+
-+ // Get the RMS mask string for frames
-+ mask0 = A->getNextMask();
-+ FrameMask.SetMaskString(mask0);
-+ // Get RMS mask string for reference
-+ maskRef = A->getNextMask();
-+ // If no reference mask specified, make same as RMS mask
-+ if (maskRef==NULL) maskRef=mask0;
-+ RefMask.SetMaskString(maskRef);
-+
-+ mprintf(" RMS2D: (%s) to (%s)",FrameMask.maskString,RefMask.maskString);
-+ if (nofit)
-+ mprintf(" (no fitting)");
-+ if (useMass)
-+ mprintf(" (mass-weighted)");
-+ if (rmsdFile!=NULL)
-+ mprintf(" output to %s",rmsdFile);
-+ mprintf("\n");
-+
-+ return 0;
-+}
-+
-+/*
-+ * Rms2d::setup()
-+ * Not important for Rms2d, initial pass is only for storing frames.
-+ */
-+int Rms2d::setup() {
-+ return 0;
-+}
-+
-+/*
-+ * Rms2d::action()
-+ * Store current frame as a reference frame.
-+ */
-+int Rms2d::action() {
-+
-+ ReferenceFrames.Add(F,P);
-+
-+ return 0;
-+}
-+
-+
-diff -urN amber11//AmberTools/src/cpptraj/src/Action_Rms2d.h amber11.new//AmberTools/src/cpptraj/src/Action_Rms2d.h
---- amber11//AmberTools/src/cpptraj/src/Action_Rms2d.h 1970-01-01 03:00:00.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Action_Rms2d.h 2011-05-19 18:35:57.000000000 +0300
-@@ -0,0 +1,21 @@
-+#ifndef INC_ACTION_RMS2D_H
-+#define INC_ACTION_RMS2D_H
-+// Rms2d
-+#include "Action.h"
-+
-+class Rms2d: public Action {
-+ FrameList ReferenceFrames;
-+ bool nofit;
-+ bool useMass;
-+ AtomMask RefMask;
-+ AtomMask FrameMask;
-+ char *rmsdFile;
-+ public:
-+ Rms2d();
-+ ~Rms2d();
-+
-+ int init();
-+ int setup();
-+ int action();
-+};
-+#endif
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberNetcdf.cpp amber11.new//AmberTools/src/cpptraj/src/AmberNetcdf.cpp
---- amber11//AmberTools/src/cpptraj/src/AmberNetcdf.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberNetcdf.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -49,6 +49,7 @@
- * and close calls.
- */
- void AmberNetcdf::close() {
-+ if (ncid<0) return;
- checkNCerr(nc_close(ncid),"Closing netcdf file.");
- if (debug>0) rprintf("Successfully closed ncid %i\n",ncid);
- ncid=-1;
-@@ -92,8 +93,10 @@
- * Open the netcdf file, read all dimension and variable IDs, close.
- */
- int AmberNetcdf::SetupRead() {
-- char *attrText; // For checking conventions and version
-- int spatial; // For checking spatial dimensions
-+ char *attrText; // For checking conventions and version
-+ int spatial; // For checking spatial dimensions
-+ double box[6]; // For checking box type
-+ size_t start[3], count[3]; // For checking box type
-
- if (open()) return 1;
-
-@@ -147,15 +150,15 @@
- if ( nc_inq_varid(ncid,"cell_lengths",&cellLengthVID)==NC_NOERR ) {
- if (checkNCerr(nc_inq_varid(ncid,"cell_angles",&cellAngleVID),
- "Getting cell angles.")!=0) return 1;
-- if (debug>0) mprintf(" Netcdf Box information found.\n");
-- if (P->ifbox==0) {
-- mprintf("Warning: Netcdf file contains box info but no box info found\n");
-- mprintf(" in associated parmfile %s; defaulting to orthogonal.\n",
-- P->parmName);
-- isBox=1;
-- } else {
-- isBox=P->ifbox;
-- }
-+ if (debug>0) mprintf(" Netcdf Box information found.\n");
-+ // Determine box type from angles
-+ start[0]=0; start[1]=0; start[2]=0;
-+ count[0]=1; count[1]=3; count[2]=0;
-+ if ( checkNCerr(nc_get_vara_double(ncid, cellLengthVID, start, count, box),
-+ "Getting cell lengths.")!=0 ) return 1;
-+ if ( checkNCerr(nc_get_vara_double(ncid, cellAngleVID, start, count, box+3),
-+ "Getting cell angles.")!=0 ) return 1;
-+ CheckBoxType(box);
- }
-
- // Replica Temperatures
-@@ -258,7 +261,7 @@
- "Defining cell angular variable.")) return 1;
-
- // Box Info
-- if (isBox>0) {
-+ if (BoxType!=0) {
- dimensionID[0]=frameDID;
- dimensionID[1]=cell_spatialDID;
- if (checkNCerr(nc_def_var(ncid,"cell_lengths",NC_DOUBLE,2,dimensionID,&cellLengthVID),
-@@ -362,7 +365,7 @@
- "Getting frame %i",set)!=0 ) return 1;
-
- // Read box info
-- if (isBox!=0) {
-+ if (BoxType!=0) {
- count [1]=3;
- count [2]=0;
- if ( checkNCerr(nc_get_vara_double(ncid, cellLengthVID, start, count, F->box),
-@@ -399,7 +402,7 @@
- F->frameToFloat(Coord);
-
- // write coords
-- start[0]=set;
-+ start[0]=currentFrame;
- start[1]=0;
- start[2]=0;
- count[0]=1;
-@@ -409,7 +412,7 @@
- "Netcdf Writing frame %i",set)) return 1;
-
- // write box
-- if (isBox>0 && cellLengthVID!=-1) {
-+ if (BoxType!=0 && cellLengthVID!=-1) {
- count[1]=3;
- count[2]=0;
- if (checkNCerr(nc_put_vara_double(ncid,cellLengthVID,start,count,F->box),
-@@ -427,6 +430,8 @@
-
- nc_sync(ncid); // Necessary after every write??
-
-+ currentFrame++;
-+
- return 0;
- }
-
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberParm.cpp amber11.new//AmberTools/src/cpptraj/src/AmberParm.cpp
---- amber11//AmberTools/src/cpptraj/src/AmberParm.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberParm.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -1,6 +1,12 @@
- /* AmberParm.cpp
-- * Class that holds parameter information. Can be read in from Amber Topology
-- * or PDB files.
-+ * Class that holds parameter information. Can be read in from Amber Topology,
-+ * PDB, or Mol2 files (implemented in the ReadParmXXX functions). The following
-+ * parameters of AmberParm must always be set:
-+ * The NATOM, NRES, and IFBOX entries of the values array.
-+ * The names, resnames, resnums arrays.
-+ * The natom and nres variables.
-+ * NOTES:
-+ * Eventually make the mol2 read parm function use the AddBond function.
- */
- #include <cstdlib>
- #include <cstring>
-@@ -11,7 +17,7 @@
- #include "CpptrajStdio.h"
-
- #define AMBERPOINTERS 31
--
-+#define TRUNCOCTBETA 109.4712206344906917365733534097672
- #define ELECTOAMBER 18.2223
- #define AMBERTOELEC 1/ELECTOAMBER
- // =============================================================
-@@ -203,7 +209,9 @@
- bondsh=NULL;
- types=NULL;
- atomsPerMol=NULL;
-- Box=NULL;
-+ Box[0]=0.0; Box[1]=0.0; Box[2]=0.0;
-+ Box[3]=0.0; Box[4]=0.0; Box[5]=0.0;
-+ BoxType=0;
- pindex=0;
- parmFrames=0;
- outFrame=0;
-@@ -217,7 +225,6 @@
- solventMoleculeStop=NULL;
- natom=0;
- nres=0;
-- ifbox=0;
- parmName=NULL;
- SurfaceInfo=NULL;
- }
-@@ -234,7 +241,6 @@
- if (bonds!=NULL) free(bonds);
- if (bondsh!=NULL) free(bondsh);
- if (atomsPerMol!=NULL) free(atomsPerMol);
-- if (Box!=NULL) free(Box);
- if (solventMoleculeStart!=NULL) free(solventMoleculeStart);
- if (solventMoleculeStop!=NULL) free(solventMoleculeStop);
- if (solventMask!=NULL) free(solventMask);
-@@ -271,54 +277,7 @@
- return NULL;
- }
-
--/*
-- * AmberParm::OpenParm()
-- * Attempt to open file and read in parameters.
-- */
--int AmberParm::OpenParm(char *filename) {
-- if ( File.SetupFile(filename,READ,UNKNOWN_FORMAT, UNKNOWN_TYPE,debug) ) return 1;
--
-- // Copy parm filename to parmName. Separate from File.filename in case of stripped parm
-- parmName=(char*) malloc( (strlen(File.basefilename)+1) * sizeof(char));
-- strcpy(parmName,File.basefilename);
--
-- if ( File.OpenFile() ) return 1;
--
-- switch (File.fileFormat) {
-- case AMBERPARM : if (ReadParmAmber()) return 1; break;
-- case PDBFILE : if (ReadParmPDB() ) return 1; break;
-- case MOL2FILE : if (ReadParmMol2() ) return 1; break;
-- default:
-- rprintf("Unknown parameter file type: %s\n",File.filename);
-- return 1;
-- }
--
-- File.CloseFile();
--
-- // Create a last dummy residue in resnums that holds natom, which would be
-- // the atom number of the next residue if it existed. Atom #s in resnums
-- // should correspond with cpptraj atom #s (start from 0) instead of Amber
-- // atom #s (start from 1).
-- // Do this to be consistent with ptrajmask selection behavior - saves an
-- // if-then statement.
-- resnums=(int*) realloc(resnums,(nres+1)*sizeof(int));
-- resnums[nres]=natom;
-- // DEBUG
-- //fprintf(stdout,"==== DEBUG ==== Resnums for %s:\n",File.filename);
-- //for (err=0; err<nres; err++)
-- // fprintf(stdout," %i: %i\n",err,resnums[err]);
--
-- // Set up solvent information
-- SetSolventInfo();
--
-- if (debug>0) {
-- mprintf(" Number of atoms= %i\n",natom);
-- mprintf(" Number of residues= %i\n",nres);
-- }
--
-- return 0;
--}
--
-+// ---------========= ROUTINES PERTAINING TO SURFACE AREA =========---------
- /*
- * AmberParm::AssignLCPO()
- * Assign parameters for LCPO method. All radii are incremented by 1.4 Ang.
-@@ -478,6 +437,7 @@
- return 0;
- }
-
-+// ---------========= ROUTINES PERTAINING TO SOLVENT INFO =========---------
- /*
- * AmberParm::SetSolventInfo()
- * Assuming atomsPerMol has been read in, set solvent information.
-@@ -536,7 +496,56 @@
-
- return 0;
- }
--
-+
-+// --------========= ROUTINES PERTAINING TO READING PARAMETERS =========--------
-+/*
-+ * AmberParm::OpenParm()
-+ * Attempt to open file and read in parameters.
-+ */
-+int AmberParm::OpenParm(char *filename) {
-+ if ( File.SetupFile(filename,READ,UNKNOWN_FORMAT, UNKNOWN_TYPE,debug) ) return 1;
-+
-+ // Copy parm filename to parmName. Separate from File.filename in case of stripped parm
-+ parmName=(char*) malloc( (strlen(File.basefilename)+1) * sizeof(char));
-+ strcpy(parmName,File.basefilename);
-+
-+ if ( File.OpenFile() ) return 1;
-+
-+ switch (File.fileFormat) {
-+ case AMBERPARM : if (ReadParmAmber()) return 1; break;
-+ case PDBFILE : if (ReadParmPDB() ) return 1; break;
-+ case MOL2FILE : if (ReadParmMol2() ) return 1; break;
-+ default:
-+ rprintf("Unknown parameter file type: %s\n",File.filename);
-+ return 1;
-+ }
-+
-+ File.CloseFile();
-+
-+ // Create a last dummy residue in resnums that holds natom, which would be
-+ // the atom number of the next residue if it existed. Atom #s in resnums
-+ // should correspond with cpptraj atom #s (start from 0) instead of Amber
-+ // atom #s (start from 1).
-+ // Do this to be consistent with ptrajmask selection behavior - saves an
-+ // if-then statement.
-+ resnums=(int*) realloc(resnums,(nres+1)*sizeof(int));
-+ resnums[nres]=natom;
-+ // DEBUG
-+ //fprintf(stdout,"==== DEBUG ==== Resnums for %s:\n",File.filename);
-+ //for (err=0; err<nres; err++)
-+ // fprintf(stdout," %i: %i\n",err,resnums[err]);
-+
-+ // Set up solvent information
-+ SetSolventInfo();
-+
-+ if (debug>0) {
-+ mprintf(" Number of atoms= %i\n",natom);
-+ mprintf(" Number of residues= %i\n",nres);
-+ }
-+
-+ return 0;
-+}
-+
- /*
- * AmberParm::ReadParmAmber()
- * Read parameters from Amber Topology file
-@@ -544,6 +553,7 @@
- int AmberParm::ReadParmAmber() {
- int err, atom;
- int *solvent_pointer;
-+ double *boxFromParm;
-
- if (debug>0) mprintf("Reading Amber Topology file %s\n",parmName);
-
-@@ -555,7 +565,6 @@
-
- natom=values[NATOM];
- nres=values[NRES];
-- ifbox=values[IFBOX];
- if (debug>0)
- mprintf(" Amber top contains %i atoms, %i residues.\n",natom,nres);
-
-@@ -583,7 +592,8 @@
- if (bonds==NULL) {mprintf("Error in bonds w/o H.\n"); err++;}
- bondsh=(int*) getFlagFileValues("BONDS_INC_HYDROGEN",values[NBONH]*3);
- if (bondsh==NULL) {mprintf("Error in bonds inc H.\n"); err++;}
-- if (ifbox>0) {
-+ // Get solvent info if IFBOX>0
-+ if (values[IFBOX]>0) {
- solvent_pointer=(int*) getFlagFileValues("SOLVENT_POINTERS",3);
- if (solvent_pointer==NULL) {
- mprintf("Error in solvent pointers.\n");
-@@ -596,12 +606,20 @@
- }
- atomsPerMol=(int*) getFlagFileValues("ATOMS_PER_MOLECULE",molecules);
- if (atomsPerMol==NULL) {mprintf("Error in atoms per molecule.\n"); err++;}
-- Box=(double*) getFlagFileValues("BOX_DIMENSIONS",4);
-- if (Box==NULL) {mprintf("Error in Box information.\n"); err++;}
-+ // boxFromParm = {OLDBETA, BOX(1), BOX(2), BOX(3)}
-+ boxFromParm=(double*) getFlagFileValues("BOX_DIMENSIONS",4);
-+ if (boxFromParm==NULL) {mprintf("Error in Box information.\n"); err++;}
-+ // Determine box type: 1-Ortho, 2-Nonortho
-+ SetBoxInfo(boxFromParm[0],boxFromParm[1],boxFromParm[2],boxFromParm[3]);
-+ free(boxFromParm);
- if (debug>0) {
- mprintf(" %s contains box info: %i mols, first solvent mol is %i\n",
- parmName, molecules, firstSolvMol);
-- mprintf(" BOX: %lf %lf %lf %lf\n",Box[0],Box[1],Box[2],Box[3]);
-+ mprintf(" BOX: %lf %lf %lf | %lf %lf %lf\n",Box[0],Box[1],Box[2],Box[3],Box[4],Box[5]);
-+ if (BoxType==1)
-+ mprintf(" Box is orthogonal.\n");
-+ else
-+ mprintf(" Box is non-orthogonal.\n");
- }
- }
-
-@@ -686,6 +704,7 @@
- values = (int*) calloc(AMBERPOINTERS, sizeof(int));
- values[NATOM] = natom;
- values[NRES] = nres;
-+ values[IFBOX] = 0;
-
- if (debug>0)
- mprintf(" PDB contains %i atoms, %i residues, %i molecules.\n",
-@@ -799,6 +818,7 @@
- values[NRES] = nres;
- values[NBONH] = numbondsh;
- values[MBONA] = numbonds;
-+ values[IFBOX] = 0;
-
- mprintf(" Mol2 contains %i atoms, %i residues,\n", natom,nres);
- mprintf(" %i bonds to H, %i other bonds.\n", numbondsh,numbonds);
-@@ -806,6 +826,61 @@
- return 0;
- }
-
-+// ---------===========================================================---------
-+/*
-+ * AmberParm::SetBoxInfo()
-+ * Given 3 box lengths and an angle determine the box type and set
-+ * the box information. If called with negative beta, set no box.
-+ * Currently recognized betas:
-+ * 90.00 - Orthogonal
-+ * 109.47 - Truncated octahedral
-+ * 60.00 - Rhombic dodecahedron
-+ * Any other beta just sets all angles to beta and a warning is printed.
-+ */
-+int AmberParm::SetBoxInfo(double beta, double bx, double by, double bz) {
-+ int ifbox=0;
-+
-+ // Determine box type from beta (none, ortho, non-ortho (truncated oct/triclinic)
-+ if (beta<=0.0) {
-+ if (BoxType>0)
-+ mprintf(" %s: Removing box information.\n",parmName);
-+ BoxType=0;
-+ ifbox=0;
-+ Box[0]=0.0; Box[1]=0.0; Box[2]=0.0;
-+ Box[3]=0.0; Box[4]=0.0; Box[5]=0.0;
-+ } else if (beta == 90.0) {
-+ BoxType=1;
-+ ifbox=1;
-+ Box[0]=bx; Box[1]=by; Box[2]=bz;
-+ Box[3]=90.0; Box[4]=90.0; Box[5]=90.0;
-+ if (debug>0) mprintf(" %s: Setting box to be orthogonal.\n",parmName);
-+ } else if (beta > 109.47 && beta < 109.48) {
-+ BoxType=2;
-+ ifbox=2;
-+ Box[0]=bx; Box[1]=by; Box[2]=bz;
-+ //Box[3] = TRUNCOCTBETA;
-+ Box[3] = beta;
-+ Box[4]=Box[3]; Box[5]=Box[3];
-+ if (debug>0) mprintf(" %s: Setting box to be a truncated octahedron, angle is %lf\n",
-+ parmName,Box[3]);
-+ } else if (beta == 60.0) {
-+ BoxType=2;
-+ ifbox=1;
-+ Box[0]=bx; Box[1]=by; Box[2]=bz;
-+ Box[3]=60.0; Box[4]=90.0; Box[5]=60.0;
-+ if (debug>0)
-+ mprintf(" %s: Setting box to be a rhombic dodecahedron, alpha=gamma=60.0, beta=90.0\n",
-+ parmName);
-+ } else {
-+ BoxType=2;
-+ ifbox=1;
-+ Box[0]=bx; Box[1]=by; Box[2]=bz;
-+ Box[3]=beta; Box[4]=beta; Box[5]=beta;
-+ mprintf(" Warning: %s: Unrecognized box type, beta is %lf\n",beta);
-+ }
-+ return 0;
-+}
-+
- /*
- * AmberParm::AtomInfo()
- * Print parm information for atom.
-@@ -829,8 +904,8 @@
- */
- void AmberParm::Info(char *buffer) {
-
-- sprintf(buffer,"%i atoms, %i res, box %i, %i mol, %i solvent mol, %i frames",
-- natom,nres,ifbox,molecules,solventMolecules,parmFrames);
-+ sprintf(buffer,"%i atoms, %i res, boxtype %i, %i mol, %i solvent mol, %i frames",
-+ natom,nres,BoxType,molecules,solventMolecules,parmFrames);
- }
-
- // NOTE: The following atomToX functions do not do any memory checks!
-@@ -963,6 +1038,7 @@
- return bonds;
- }
-
-+// ---------===========================================================---------
- /*
- * AmberParm::modifyStateByMap()
- * Currently only intended for use with AtomMap.
-@@ -1028,24 +1104,21 @@
- // Set up new parm information
- newParm->natom = this->natom;
- newParm->nres = this->nres;
-- newParm->ifbox = this->ifbox;
- newParm->parmFrames = this->parmFrames;
-
- // Give mapped parm the same pindex as original parm
- newParm->pindex = this->pindex;
-
- // Copy box information
-- if (this->Box!=NULL) {
-- newParm->Box=(double*) malloc(4*sizeof(double));
-- for (int i=0; i<4; i++)
-- newParm->Box[i] = this->Box[i];
-- }
-+ for (int i=0; i<6; i++)
-+ newParm->Box[i] = this->Box[i];
-+ newParm->BoxType=this->BoxType;
-
- // Set values up
- // NOTE: Eventually set all pointers up?
- newParm->values[NATOM] = newParm->natom;
- newParm->values[NRES] = newParm->nres;
-- newParm->values[IFBOX] = newParm->ifbox;
-+ newParm->values[IFBOX] = this->values[IFBOX];
-
- return newParm;
- }
-@@ -1152,7 +1225,6 @@
- // Set up new parm information
- newParm->natom = j;
- newParm->nres = jres+1;
-- newParm->ifbox = this->ifbox;
- newParm->parmFrames = this->parmFrames;
- if (this->molecules>0)
- newParm->molecules = jmol+1;
-@@ -1184,26 +1256,25 @@
- }
-
- // Copy box information
-- if (this->Box!=NULL) {
-- newParm->Box=(double*) malloc(4*sizeof(double));
-- for (i=0; i<4; i++)
-- newParm->Box[i] = this->Box[i];
-- }
-+ for (i=0; i<6; i++)
-+ newParm->Box[i] = this->Box[i];
-+ newParm->BoxType=this->BoxType;
-
- // Set values up
- // NOTE: Eventually set all pointers up?
- newParm->values[NATOM] = newParm->natom;
- newParm->values[NRES] = newParm->nres;
-- newParm->values[IFBOX] = newParm->ifbox;
-+ newParm->values[IFBOX] = this->values[IFBOX];
-
- mprintf(" New parmtop contains %i atoms.\n",newParm->natom);
- mprintf(" %i residues.\n",newParm->nres);
- mprintf(" %i molecules.\n",newParm->molecules);
-- mprintf(" %i solvent molcules.\n",newParm->solventMolecules);
-+ mprintf(" %i solvent molecules.\n",newParm->solventMolecules);
-
- return newParm;
- }
-
-+// ---------===========================================================---------
- /*
- * AmberParm::DataToBuffer()
- * Return char buffer containing N data elements stored in I, D, or C with
-@@ -1267,6 +1338,7 @@
- char *buffer;
- int solvent_pointer[3];
- int atom;
-+ double parmBox[4];
-
- if (parmName==NULL) return 1;
-
-@@ -1346,7 +1418,7 @@
- }
-
- // SOLVENT POINTERS
-- if (ifbox>0) {
-+ if (values[IFBOX]>0) {
- PrintFlagFormat(&outfile, "%FLAG SOLVENT_POINTERS", "%FORMAT(3I8)");
- solvent_pointer[0]=finalSoluteRes;
- solvent_pointer[1]=molecules;
-@@ -1360,8 +1432,12 @@
- outfile.IO->Write(buffer, sizeof(char), BufferSize);
-
- // BOX DIMENSIONS
-+ parmBox[0] = Box[4]; // beta
-+ parmBox[1] = Box[0]; // boxX
-+ parmBox[2] = Box[1]; // boxY
-+ parmBox[3] = Box[2]; // boxZ
- PrintFlagFormat(&outfile, "%FLAG BOX_DIMENSIONS", "%FORMAT(5E16.8)");
-- buffer = DataToBuffer(buffer,"%FORMAT(5E16.8)", NULL, Box, NULL, 4);
-+ buffer = DataToBuffer(buffer,"%FORMAT(5E16.8)", NULL, parmBox, NULL, 4);
- outfile.IO->Write(buffer, sizeof(char), BufferSize);
- }
-
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberParm.h amber11.new//AmberTools/src/cpptraj/src/AmberParm.h
---- amber11//AmberTools/src/cpptraj/src/AmberParm.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberParm.h 2011-05-19 18:35:57.000000000 +0300
-@@ -75,14 +75,14 @@
- int *resnums; // IPRES(NRES)
- int natom; // NATOM
- int nres; // NRES
-- int ifbox; // IFBOX
- int finalSoluteRes; // IPTRES
- int molecules; // NSPM
- int firstSolvMol; // NSPSOL
- int *atomsPerMol; // NSP(NSPM)
- double *mass; // AMASS(NATOM)
- double *charge; // CHARGE(NATOM)
-- double *Box; // OLDBETA, BOX(1), BOX(2), BOX(3)
-+ double Box[6]; // X, Y, Z, alpha, beta, gamma
-+ int BoxType; // 0: None, 1: Orthogonal, 2: Non-orthogonal
- // From Ptraj
- char *solventMask; // T for atoms in the solvent
- int solventMolecules; // number of solvent molecules
-@@ -96,6 +96,7 @@
- ~AmberParm();
- void ResName(char *, int);
- int OpenParm(char *);
-+ int SetBoxInfo(double,double,double,double);
- int SetSurfaceInfo();
- int SetSolventInfo();
- void AtomInfo(int);
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberRestart.cpp amber11.new//AmberTools/src/cpptraj/src/AmberRestart.cpp
---- amber11//AmberTools/src/cpptraj/src/AmberRestart.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberRestart.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -109,7 +109,7 @@
- frameSize+=frameSize;
-
- // If box coords are present, allocate extra space for them
-- if (isBox>0) {
-+ if (BoxType!=0) {
- numBoxCoords=6;
- frameSize+=((numBoxCoords*12)+1);
- }
-@@ -167,13 +167,12 @@
-
- // If 0 probably at EOF. No box or velo.
- // } else if (lineSize==0) {
-- isBox=0;
-+ BoxType=0;
- hasVelocity=0;
-
- // If 36 or 72 (+1 newline) box info.
- } else if (lineSize==37 || lineSize==73) {
-- isBox=1;
-- numBoxCoords = (lineSize-1) / 12;
-+ getBoxType(frameBuffer,lineSize);
- hasVelocity=0;
-
- // If filled framebuffer again, has velocity info. Check for box after velocity.
-@@ -182,15 +181,14 @@
- if (File->IO->Gets(buffer,82)==0) {
- lineSize=strlen(buffer);
- if (lineSize==37 || lineSize==73) {
-- isBox=1;
-- numBoxCoords = (lineSize-1) / 12;
-+ getBoxType(buffer,lineSize);
- } else {
- mprintf("Error: AmberRestart::SetupRead():\n");
- mprintf(" Expect only 3 or 6 box coords in box coord line.\n");
- return 1;
- }
- } else
-- isBox=0;
-+ BoxType=0;
-
- // Otherwise, who knows what was read?
- } else {
-@@ -202,12 +200,12 @@
-
- // Recalculate the frame size
- if (hasVelocity) frameSize+=frameSize;
-- if (isBox) frameSize+=( (numBoxCoords*12) + 1 );
-+ if (BoxType!=0) frameSize+=( (numBoxCoords*12) + 1 );
- frameBuffer=(char*) realloc(frameBuffer, frameSize*sizeof(char));
-
- if (debug > 0) {
-- mprintf(" Amber Restart isBox=%i hasVelocity=%i numBoxCoords=%i\n",
-- isBox,hasVelocity,numBoxCoords);
-+ mprintf(" Amber Restart BoxType=%i hasVelocity=%i numBoxCoords=%i\n",
-+ BoxType,hasVelocity,numBoxCoords);
- mprintf(" Amber Restart frameSize= %i\n",frameSize);
- }
-
-@@ -221,6 +219,20 @@
- }
-
- /*
-+ * AmberRestart::getBoxType()
-+ * Based on input buffer, determine box type and num box coords.
-+ */
-+void AmberRestart::getBoxType(char *boxline, int boxlineSize) {
-+ double box[6];
-+ numBoxCoords = (boxlineSize-1) / 12;
-+ if (numBoxCoords>3) {
-+ sscanf(boxline, "%8lf%8lf%8lf%8lf%8lf%8lf",box,box+1,box+2,box+3,box+4,box+5);
-+ CheckBoxType(box);
-+ } else
-+ BoxType = P->BoxType;
-+}
-+
-+/*
- * AmberRestart::getFrame()
- * Get the restart file frame. If velocities are present, read those too.
- */
-@@ -251,7 +263,7 @@
- //F->V->printAtomCoord(0);
- }
- // Convert box to Frame if present
-- if (isBox) {
-+ if (BoxType!=0) {
- if ( (bufferPosition = F->BufferToBox(bufferPosition, numBoxCoords, 12))==NULL ) {
- mprintf("Error: AmberRestart::getFrame: * detected in box coordinates of %s\n",
- trajfilename);
-@@ -287,7 +299,7 @@
- if (F->V!=NULL) // NOTE: Use hasVelocity in addition/instead?
- bufferPosition = F->V->FrameToBuffer(bufferPosition,"%12.7lf",12,6);
- // Write box to buffer
-- if (isBox)
-+ if (BoxType!=0)
- bufferPosition = F->BoxToBuffer(bufferPosition, numBoxCoords, "%12.7lf",12);
-
- //if (seekable) fseek(fp, titleSize+(set*frameSize),SEEK_SET);
-@@ -297,6 +309,8 @@
-
- File->IO->Close();
-
-+ currentFrame++;
-+
- return 0;
- }
-
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberRestart.h amber11.new//AmberTools/src/cpptraj/src/AmberRestart.h
---- amber11//AmberTools/src/cpptraj/src/AmberRestart.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberRestart.h 2011-05-19 18:35:57.000000000 +0300
-@@ -14,6 +14,7 @@
-
- int SetupRead();
- int SetupWrite();
-+ void getBoxType(char *, int);
-
- public:
-
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberRestartNC.cpp amber11.new//AmberTools/src/cpptraj/src/AmberRestartNC.cpp
---- amber11//AmberTools/src/cpptraj/src/AmberRestartNC.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberRestartNC.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -60,15 +60,8 @@
- /*
- * AmberRestartNC::open()
- * Open up Netcdf restart file and set all dimension and variable IDs.
-- * This is done every time the file is opened up since Im not sure
-- * the variable IDs stay the same throughout each opening.
-- * Could eventually be separated.
-- * NOTE: Replace attrText allocs with static buffer?
- */
- int AmberRestartNC::open() {
-- char *attrText; // For checking conventions and version
-- int spatial; // For checking spatial dimensions
--
- mprintf("DEBUG: AmberRestartNC::open() called for %s, ncid=%i\n",File->filename,ncid);
- // If already open, return
- if (ncid!=-1) return 0;
-@@ -94,6 +87,23 @@
- // Netcdf files are always seekable
- seekable=1;
-
-+ return 0;
-+}
-+
-+/*
-+ * AmberRestartNC::SetupRead()
-+ * Set up netcdf restart file for reading, get all variable and dimension IDs.
-+ * Also check number of atoms against associated parmtop.
-+ * NOTE: Replace attrText allocs with static buffer?
-+ */
-+int AmberRestartNC::SetupRead() {
-+ char *attrText; // For checking conventions and version
-+ int spatial; // For checking spatial dimensions
-+ double box[6];
-+ size_t start[2], count[2];
-+
-+ if (open()) return 1;
-+
- // Get global attributes
- if (title==NULL) title = GetAttrText(ncid,NC_GLOBAL, "title");
- attrText = GetAttrText(ncid,NC_GLOBAL, "Conventions");
-@@ -147,20 +157,18 @@
- mprintf(" Netcdf restart time= %lf\n",restartTime);
-
- // Box info
-- // NOTE: If no box info found in parm should really try to determine correct
-- // box type from angles.
- if ( nc_inq_varid(ncid,"cell_lengths",&cellLengthVID)==NC_NOERR ) {
- if (checkNCerr(nc_inq_varid(ncid,"cell_angles",&cellAngleVID),
- "Getting cell angles.")!=0) return 1;
-- if (debug>0) mprintf(" Netcdf restart Box information found.\n");
-- if (P->ifbox==0) {
-- mprintf("Warning: Netcdf restart file contains box info but no box info found\n");
-- mprintf(" in associated parmfile %s; defaulting to orthogonal.\n",
-- P->parmName);
-- isBox=1;
-- } else {
-- isBox=P->ifbox;
-- }
-+ if (debug>0) mprintf(" Netcdf restart Box information found.\n");
-+ // Determine box type from angles
-+ start[0]=0; start[1]=0;
-+ count[0]=3; count[1]=0;
-+ if ( checkNCerr(nc_get_vara_double(ncid, cellLengthVID, start, count, box),
-+ "Getting cell lengths.")!=0 ) return 1;
-+ if ( checkNCerr(nc_get_vara_double(ncid, cellAngleVID, start, count, box+3),
-+ "Getting cell angles.")!=0 ) return 1;
-+ CheckBoxType(box);
- }
-
- // Replica Temperatures
-@@ -175,15 +183,6 @@
- //int cell_spatialDID, cell_angularDID;
- //int spatialVID, cell_spatialVID, cell_angularVID;
-
-- return 0;
--}
--
--/*
-- * AmberRestartNC::SetupRead()
-- * Just a frontend to open for now. Also check number of atoms.
-- */
--int AmberRestartNC::SetupRead() {
-- if (open()) return 1;
- if (ncatom!=P->natom) {
- mprintf("Warning: Number of atoms in NetCDF restart file %s (%i) does not\n",
- File->filename,ncatom);
-@@ -210,7 +209,7 @@
- */
- int AmberRestartNC::setupWriteForSet(int set) {
- int dimensionID[NC_MAX_VAR_DIMS];
-- size_t start[3], count[3];
-+ size_t start[2], count[2];
- char buffer[1024];
- char xyz[3];
- char abc[15] = { 'a', 'l', 'p', 'h', 'a',
-@@ -280,7 +279,7 @@
- "Defining cell angular variable.")) return 1;
-
- // Box Info
-- if (isBox>0) {
-+ if (BoxType!=0) {
- dimensionID[0]=cell_spatialDID;
- if (checkNCerr(nc_def_var(ncid,"cell_lengths",NC_DOUBLE,1,dimensionID,&cellLengthVID),
- "Defining cell length variable.")) return 1;
-@@ -388,9 +387,9 @@
- }
-
- // Read box info
-- if (isBox!=0) {
-- count [0]=3;
-- count [1]=0;
-+ if (BoxType!=0) {
-+ count[0]=3;
-+ count[1]=0;
- if ( checkNCerr(nc_get_vara_double(ncid, cellLengthVID, start, count, F->box),
- "Getting cell lengths.")!=0 ) return 1;
- if ( checkNCerr(nc_get_vara_double(ncid, cellAngleVID, start, count, &(F->box[3])),
-@@ -425,7 +424,7 @@
- }
-
- // write box
-- if (isBox>0 && cellLengthVID!=-1) {
-+ if (BoxType!=0 && cellLengthVID!=-1) {
- count[0]=3;
- count[1]=0;
- if (checkNCerr(nc_put_vara_double(ncid,cellLengthVID,start,count,F->box),
-@@ -439,6 +438,8 @@
- // Close file for this set
- close();
-
-+ currentFrame++;
-+
- return 0;
- }
-
-diff -urN amber11//AmberTools/src/cpptraj/src/AmberTraj.cpp amber11.new//AmberTools/src/cpptraj/src/AmberTraj.cpp
---- amber11//AmberTools/src/cpptraj/src/AmberTraj.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AmberTraj.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -104,16 +104,18 @@
- rprintf("Error: AmberTraj::getFrame: * detected in coordinates of %s\n",trajfilename);
- return 1;
- }
-- if (isBox) {
-+ if (BoxType!=0) {
- if ( (bufferPosition = F->BufferToBox(bufferPosition,numBoxCoords,8))==NULL ) {
- rprintf("Error: AmberTraj::getFrame: * detected in box coordinates of %s\n",
- trajfilename);
- return 1;
- }
-- // Set box angles to parmtop default
-- F->box[3] = P->Box[0];
-- F->box[4] = P->Box[0];
-- F->box[5] = P->Box[0];
-+ // Set box angles to parmtop default if not read in
-+ if (numBoxCoords==3) {
-+ F->box[3] = P->Box[3];
-+ F->box[4] = P->Box[4];
-+ F->box[5] = P->Box[5];
-+ }
- }
- return 0;
- }
-@@ -138,20 +140,22 @@
- }
-
- bufferPosition = F->FrameToBuffer(bufferPosition,"%8.3lf",8,10);
-- if (isBox)
-+ if (BoxType!=0)
- bufferPosition = F->BoxToBuffer(bufferPosition,numBoxCoords,"%8.3lf",8);
-
- outFrameSize = (int) (bufferPosition - frameBuffer);
-
- //if (seekable)
- // NOTE: Seek only needs to happen when traj file changes
-- offset = (off_t) set;
-- offset *= (off_t) outFrameSize;
-- offset += (off_t) titleSize;
-- File->IO->Seek( offset);
-+ //offset = (off_t) currentFrame;
-+ //offset *= (off_t) outFrameSize;
-+ //offset += (off_t) titleSize;
-+ //File->IO->Seek( offset);
-
- if (File->IO->Write(frameBuffer,sizeof(char),outFrameSize)) return 1;
-
-+ currentFrame++;
-+
- return 0;
- }
-
-@@ -165,6 +169,7 @@
- int frame_lines;
- int lineSize;
- long long int file_size, frame_size;
-+ double box[6]; // For checking box coordinates
-
- // Attempt to open the file. open() sets the title and titleSize
- if (open()) return 1;
-@@ -219,7 +224,7 @@
-
- if (strncmp(buffer,"REMD",4)==0 || strncmp(buffer,"HREMD",5)==0) {
- // REMD header - no box coords
-- isBox=0;
-+ BoxType=0;
- } else if (lineSize<80) {
- /* Line is shorter than 80 chars, indicates box coords.
- * Length of the line HAS to be a multiple of 8, and probably could be
-@@ -228,21 +233,22 @@
- */
- if (debug>0) mprintf(" Box line is %i chars.\n",lineSize);
- if ( ((lineSize-1)%24)!=0 ) {
-- rprintf("Error in box coord line.\nExpect only 3 or 6 box coords.\n");
-+ mprintf("Error in box coord line. Expect only 3 or 6 box coords.\n");
- return 1;
- }
- numBoxCoords=(lineSize-1) / 8;
- if (debug>0) mprintf(" Detected %i box coords.\n",numBoxCoords);
-- frameSize+=lineSize;
-+ // Determine box type based on angles. Angles are usually not printed
-+ // for orthogonal and truncated octahedral boxes, but check here just
-+ // to be safe. If no angles present use parmtop Box Type.
-+ if (numBoxCoords>3) {
-+ sscanf(buffer, "%8lf%8lf%8lf%8lf%8lf%8lf",box,box+1,box+2,box+3,box+4,box+5);
-+ CheckBoxType(box);
-+ } else
-+ BoxType = P->BoxType;
- // Reallocate frame buffer accordingly
-+ frameSize+=lineSize;
- frameBuffer=(char*) realloc(frameBuffer,frameSize * sizeof(char));
-- if (P->ifbox==0) {
-- rprintf( "Warning: Box coords detected in trajectory but not defined in topology!\n");
-- rprintf(" Setting box type to rectangular.\n");
-- isBox=1;
-- } else {
-- isBox = P->ifbox;
-- }
- }
- }
-
-@@ -315,7 +321,9 @@
- frameSize += hasREMD;
-
- // If box coords are present, allocate extra space for them
-- if (isBox>0) {
-+ // NOTE: Currently only writing box lengths for all box types. This means
-+ // writing triclinic box type is currently not supported.
-+ if (BoxType!=0) {
- numBoxCoords=3; // Only write out box lengths for trajectories
- frameSize+=((numBoxCoords*8)+1);
- }
-diff -urN amber11//AmberTools/src/cpptraj/src/ArgList.cpp amber11.new//AmberTools/src/cpptraj/src/ArgList.cpp
---- amber11//AmberTools/src/cpptraj/src/ArgList.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/ArgList.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -147,6 +147,16 @@
- }
-
- /*
-+ * ArgList::Arg()
-+ * Return arg at specified position.
-+ */
-+char *ArgList::Arg(int pos) {
-+ if (pos>-1 && pos<nargs)
-+ return arglist[pos];
-+ return NULL;
-+}
-+
-+/*
- * ArgList::Command()
- * Check the first arg for command
- * Mark and return. Return even if marked.
-diff -urN amber11//AmberTools/src/cpptraj/src/ArgList.h amber11.new//AmberTools/src/cpptraj/src/ArgList.h
---- amber11//AmberTools/src/cpptraj/src/ArgList.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/ArgList.h 2011-05-19 18:35:57.000000000 +0300
-@@ -15,6 +15,7 @@
- void Add(char *);
- void print();
- char *ArgLine();
-+ char *Arg(int);
-
- char *Command();
- int CommandIs(const char *);
-diff -urN amber11//AmberTools/src/cpptraj/src/AtomMap.cpp amber11.new//AmberTools/src/cpptraj/src/AtomMap.cpp
---- amber11//AmberTools/src/cpptraj/src/AtomMap.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/AtomMap.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -6,6 +6,7 @@
- #include "TorsionRoutines.h"
- // DEBUG
- #include "Mol2File.h"
-+#include <cstdio>
-
- //--------- PRIVATE ROUTINES ---------------------------------------
- /*
-@@ -463,21 +464,27 @@
- // Write atommap out as a mol2 file, useful for checking bond info
- void atommap::WriteMol2(char *m2filename) {
- Mol2File outfile;
-- int *Selected;
-+ AtomMask M1;
- // Temporary parm to play with
- AmberParm *tmpParm;
-+ Frame *tmpFrame;
-
- // Create mask containing all atoms
-- Selected = (int*) malloc(natom*sizeof(int));
-- for (int atom=0; atom<natom; atom++) Selected[atom]=atom;
-+ //for (int atom=0; atom<natom; atom++) Selected[atom]=atom;
- // Fake strip, just use as crap way to copy
-- tmpParm = P->modifyStateByMask(Selected,natom);
-- free(Selected);
-+ //tmpParm = P->modifyStateByMask(Selected,natom);
-+ //free(Selected);
- // Modify the bonds array to include this info
-- tmpParm->ResetBondInfo();
-- for (int atom=0; atom<natom; atom++)
-- for (int bond=0; bond < M[atom].nbond; bond++)
-- tmpParm->AddBond(atom, M[atom].bond[bond], 0);
-+ //tmpParm->ResetBondInfo();
-+ //for (int atom=0; atom<natom; atom++)
-+ // for (int bond=0; bond < M[atom].nbond; bond++)
-+ // tmpParm->AddBond(atom, M[atom].bond[bond], 0);
-+ // Create mask with all mapped atoms
-+ for (int atom=0; atom<natom; atom++) {if (M[atom].isMapped) M1.AddAtom(atom);}
-+ // Strip so only mapped atoms remain
-+ tmpParm = P->modifyStateByMask(M1.Selected,M1.Nselected);
-+ tmpFrame = new Frame(M1.Nselected,NULL);
-+ tmpFrame->SetFrameFromMask(F, &M1);
-
- // Trajectory Setup
- outfile.File=new PtrajFile();
-@@ -485,13 +492,14 @@
- outfile.trajfilename = outfile.File->basefilename;
- outfile.debug=debug;
- outfile.SetTitle(m2filename);
-- outfile.P=P;
-+ outfile.P=tmpParm;
- outfile.SetupWrite();
- outfile.open();
-- outfile.F=F;
-+ outfile.F=tmpFrame;
- outfile.writeFrame(0);
- outfile.close();
- delete tmpParm;
-+ delete tmpFrame;
- }
- // ============================================================================
-
-@@ -1032,6 +1040,13 @@
- int iterations=0;
-
- numAtomsMapped=MapUniqueAtoms(Ref, Tgt);
-+ // DEBUG
-+ //char name[1024];
-+ //sprintf(name,"Ref.%i.mol2",iterations);
-+ //Ref->WriteMol2(name);
-+ //sprintf(name,"Tgt.%i.mol2",iterations);
-+ //Tgt->WriteMol2(name);
-+ // END DEBUG
- if (debug>0)
- mprintf("* MapUniqueAtoms: %i atoms mapped.\n",numAtomsMapped);
- if (numAtomsMapped==0) return 1;
-@@ -1045,17 +1060,35 @@
- iterations++;
- // First assign based on bonds to unique (already mapped) atoms.
- numAtomsMapped=mapBondsToUnique(Ref,Tgt);
-+ // DEBUG
-+ //sprintf(name,"Ref.%i.u.mol2",iterations);
-+ //Ref->WriteMol2(name);
-+ //sprintf(name,"Tgt.%i.u.mol2",iterations);
-+ //Tgt->WriteMol2(name);
-+ // END DEBUG
- if (debug>0)
- mprintf("* [%3i] mapBondsToUnique: %i atoms mapped.\n",iterations,numAtomsMapped);
- if (numAtomsMapped<0) return 1;
- // Next assign based on chirality
- numAtomsMapped=mapChiral(Ref,Tgt);
-+ // DEBUG
-+ //sprintf(name,"Ref.%i.c.mol2",iterations);
-+ //Ref->WriteMol2(name);
-+ //sprintf(name,"Tgt.%i.c.mol2",iterations);
-+ //Tgt->WriteMol2(name);
-+ // END DEBUG
- if (debug>0)
- mprintf("* [%3i] mapChiral: %i atoms mapped.\n",iterations,numAtomsMapped);
- if (numAtomsMapped<0) return 1;
- if (numAtomsMapped>0) continue;
- // Last assign based on index/element
- numAtomsMapped=mapByIndex(Ref,Tgt);
-+ // DEBUG
-+ //sprintf(name,"Ref.%i.i.mol2",iterations);
-+ //Ref->WriteMol2(name);
-+ //sprintf(name,"Tgt.%i.i.mol2",iterations);
-+ //Tgt->WriteMol2(name);
-+ // END DEBUG
- if (debug>0)
- mprintf("* [%3i] mapByIndex: %i atoms mapped.\n",iterations,numAtomsMapped);
- if (numAtomsMapped<0) return 1;
-diff -urN amber11//AmberTools/src/cpptraj/src/cpptrajdepend amber11.new//AmberTools/src/cpptraj/src/cpptrajdepend
---- amber11//AmberTools/src/cpptraj/src/cpptrajdepend 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/cpptrajdepend 2011-05-19 18:35:57.000000000 +0300
-@@ -2,7 +2,7 @@
- AmberNetcdf.o : AmberNetcdf.cpp AmberNetcdf.h AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h Frame.h NetcdfRoutines.h PtrajFile.h Range.h TrajFile.h
- AmberParm.o : AmberParm.cpp AmberParm.h BaseFileIO.h CpptrajStdio.h Mol2FileRoutines.h PDBfileRoutines.h PtrajFile.h
- AmberTraj.o : AmberTraj.cpp AmberParm.h AmberTraj.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h Frame.h PtrajFile.h Range.h TrajFile.h
--TrajFile.o : TrajFile.cpp AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h Frame.h PtrajFile.h PtrajMpi.h Range.h TrajFile.h
-+TrajFile.o : TrajFile.cpp AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h Frame.h PtrajFile.h Range.h TrajFile.h
- Frame.o : Frame.cpp AmberParm.h AtomMask.h BaseFileIO.h CpptrajStdio.h DistRoutines.h Frame.h PtrajFile.h TorsionRoutines.h vectormath.h
- PtrajState.o : PtrajState.cpp Action.h AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CoordFileList.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h ParmFileList.h PtrajActionList.h PtrajFile.h PtrajMpi.h PtrajState.h Range.h ReferenceList.h TrajFile.h TrajinList.h TrajoutList.h
- ArgList.o : ArgList.cpp ArgList.h CpptrajStdio.h
-@@ -13,7 +13,7 @@
- TrajoutList.o : TrajoutList.cpp AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CoordFileList.h CpptrajStdio.h Frame.h ParmFileList.h PtrajFile.h Range.h TrajFile.h TrajoutList.h
- ReferenceList.o : ReferenceList.cpp AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CoordFileList.h CpptrajStdio.h Frame.h FrameList.h ParmFileList.h PtrajFile.h Range.h ReferenceList.h TrajFile.h
- CoordFileList.o : CoordFileList.cpp AmberNetcdf.h AmberParm.h AmberRestart.h AmberRestartNC.h AmberTraj.h ArgList.h AtomMask.h BaseFileIO.h Conflib.h CoordFileList.h CpptrajStdio.h Frame.h Mol2File.h PDBfile.h ParmFileList.h PtrajFile.h Range.h RemdTraj.h TrajFile.h TrajinList.h
--PtrajActionList.o : PtrajActionList.cpp Action.h Action_Angle.h Action_Center.h Action_Closest.h Action_DSSP.h Action_Dihedral.h Action_Distance.h Action_Hbond.h Action_Image.h Action_Mask.h Action_NAstruct.h Action_Outtraj.h Action_Pucker.h Action_Radgyr.h Action_Rmsd.h Action_Strip.h Action_Surf.h AmberParm.h ArgList.h AtomMap.h AtomMask.h AxisType.h BaseFileIO.h CoordFileList.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h ParmFileList.h PtrajActionList.h PtrajFile.h Range.h TrajFile.h TrajoutList.h
-+PtrajActionList.o : PtrajActionList.cpp Action.h Action_Angle.h Action_Center.h Action_Closest.h Action_DSSP.h Action_Dihedral.h Action_Distance.h Action_Hbond.h Action_Image.h Action_Mask.h Action_NAstruct.h Action_Outtraj.h Action_Pucker.h Action_Radgyr.h Action_Rms2d.h Action_Rmsd.h Action_Strip.h Action_Surf.h AmberParm.h ArgList.h AtomMap.h AtomMask.h AxisType.h BaseFileIO.h CoordFileList.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h ParmFileList.h PtrajActionList.h PtrajFile.h Range.h TrajFile.h TrajoutList.h
- DataSet.o : DataSet.cpp CpptrajStdio.h DataSet.h
- DataSetList.o : DataSetList.cpp CpptrajStdio.h DataSet.h DataSetList.h intDataSet.h mapDataSet.h stringDataSet.h
- vectormath.o : vectormath.cpp CpptrajStdio.h vectormath.h
-@@ -23,9 +23,9 @@
- DataFile.o : DataFile.cpp BaseFileIO.h CpptrajStdio.h DataFile.h DataSet.h PtrajFile.h
- DataFileList.o : DataFileList.cpp BaseFileIO.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h PtrajFile.h
- PDBfile.o : PDBfile.cpp AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h Frame.h PDBfile.h PDBfileRoutines.h PtrajFile.h Range.h TrajFile.h
--PtrajFile.o : PtrajFile.cpp BaseFileIO.h Bzip2File.h CpptrajStdio.h GzipFile.h MpiFile.h NetcdfRoutines.h PDBfileRoutines.h PtrajFile.h PtrajMpi.h StdFile.h
-+PtrajFile.o : PtrajFile.cpp BaseFileIO.h Bzip2File.h CpptrajStdio.h GzipFile.h Mol2FileRoutines.h MpiFile.h NetcdfRoutines.h PDBfileRoutines.h PtrajFile.h PtrajMpi.h StdFile.h
- PDBfileRoutines.o : PDBfileRoutines.cpp PDBfileRoutines.h
--AtomMap.o : AtomMap.cpp Action.h AmberParm.h ArgList.h AtomMap.h AtomMask.h BaseFileIO.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h PDBfileRoutines.h ParmFileList.h PtrajFile.h TorsionRoutines.h
-+AtomMap.o : AtomMap.cpp Action.h AmberParm.h ArgList.h AtomMap.h AtomMask.h BaseFileIO.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h Mol2File.h ParmFileList.h PtrajFile.h Range.h TorsionRoutines.h TrajFile.h
- BaseFileIO.o : BaseFileIO.cpp BaseFileIO.h PtrajMpi.h
- StdFile.o : StdFile.cpp BaseFileIO.h StdFile.h
- GzipFile.o : GzipFile.cpp BaseFileIO.h CpptrajStdio.h GzipFile.h
-@@ -62,3 +62,4 @@
- Action_Pucker.o : Action_Pucker.cpp Action.h Action_Pucker.h AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h ParmFileList.h PtrajFile.h
- Range.o : Range.cpp ArgList.h CpptrajStdio.h Range.h
- Action_Outtraj.o : Action_Outtraj.cpp Action.h Action_Outtraj.h AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CoordFileList.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h ParmFileList.h PtrajFile.h PtrajMpi.h Range.h TrajFile.h TrajoutList.h
-+Action_Rms2d.o : Action_Rms2d.cpp Action.h Action_Rms2d.h AmberParm.h ArgList.h AtomMask.h BaseFileIO.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h Frame.h FrameList.h ParmFileList.h PtrajFile.h
-diff -urN amber11//AmberTools/src/cpptraj/src/DataFile.cpp amber11.new//AmberTools/src/cpptraj/src/DataFile.cpp
---- amber11//AmberTools/src/cpptraj/src/DataFile.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/DataFile.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -66,6 +66,49 @@
- }
-
- /*
-+ * DataFile::SetPrecision()
-+ * Set precision of the specified dataset to width.precision. If '*' specified
-+ * set for all datasets in file.
-+ */
-+void DataFile::SetPrecision(char *dsetName, int widthIn, int precisionIn) {
-+ int precision, dset;
-+ DataSet *Dset = NULL;
-+
-+ if (dsetName==NULL) {
-+ mprintf("Error: SetPrecision must be called with dataset name or '*'.\n");
-+ return;
-+ }
-+ if (widthIn<1) {
-+ mprintf("Error: SetPrecision (%s): Cannot set width < 1.\n",filename);
-+ return;
-+ }
-+ precision=precisionIn;
-+ if (precisionIn<0) precision=0;
-+ // If <dsetName>=='*' specified set precision for all data sets
-+ if (dsetName[0]=='*') {
-+ mprintf(" Setting width.precision for all sets in %s to %i.%i\n",
-+ filename,widthIn,precision);
-+ for (dset=0; dset<Nsets; dset++)
-+ SetList[dset]->SetPrecision(widthIn,precision);
-+
-+ // Otherwise find dataset <dsetName> and set precision
-+ } else {
-+ mprintf(" Setting width.precision for dataset %s to %i.%i\n",
-+ dsetName,widthIn,precision);
-+ for (dset=0; dset<Nsets; dset++) {
-+ if ( strcmp(SetList[dset]->Name(), dsetName)==0 ) {
-+ Dset=SetList[dset];
-+ break;
-+ }
-+ }
-+ if (Dset!=NULL)
-+ Dset->SetPrecision(widthIn,precision);
-+ else
-+ mprintf("Error: Dataset %s not found in datafile %s\n",dsetName,filename);
-+ }
-+}
-+
-+/*
- * DataFile::AddSet()
- * Add given set to this datafile
- */
-diff -urN amber11//AmberTools/src/cpptraj/src/DataFile.h amber11.new//AmberTools/src/cpptraj/src/DataFile.h
---- amber11//AmberTools/src/cpptraj/src/DataFile.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/DataFile.h 2011-05-19 18:35:57.000000000 +0300
-@@ -30,6 +30,7 @@
- void SetXlabel(char*);
- void SetInverted();
- void SetNoXcol();
-+ void SetPrecision(char *, int, int);
- int AddSet(DataSet *);
- int NameIs(char *);
- void DataSetNames();
-diff -urN amber11//AmberTools/src/cpptraj/src/DataSet.cpp amber11.new//AmberTools/src/cpptraj/src/DataSet.cpp
---- amber11//AmberTools/src/cpptraj/src/DataSet.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/DataSet.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -1,6 +1,7 @@
- // DataSet
- #include <cstdlib>
- #include <cstring>
-+#include <cstdio> // sprintf
- #include "DataSet.h"
- #include "CpptrajStdio.h"
-
-@@ -11,12 +12,73 @@
- N=0;
- isDynamic=false;
- current=0;
-+ width = 0;
-+ precision = 0;
-+ format = NULL;
-+ dType = UNKNOWN_DATA;
- }
-
- // DESTRUCTOR
- DataSet::~DataSet() {
- //fprintf(stderr,"DataSet Destructor\n");
- if (name!=NULL) free(name);
-+ if (format!=NULL) free(format);
-+}
-+
-+/*
-+ * DataSet::setFormatString()
-+ * Set up the output format string for each data element based on the given
-+ * dataType and the current width, and precision.
-+ */
-+void DataSet::setFormatString() {
-+ size_t stringWidth = 0;
-+ int wWidth = 0;
-+ int pWidth = 0;
-+
-+ if (format!=NULL) {free(format); format=NULL;}
-+
-+ // Calc num of chars necessary to hold width
-+ wWidth = (width / 10) + 1;
-+
-+ switch (dType) {
-+ case DOUBLE :
-+ // Calc num of chars necessary to hold precision
-+ pWidth = (precision / 10) + 1;
-+ // String fmt: " %w.plf\0"
-+ stringWidth = pWidth + wWidth + 6;
-+ format = (char*) malloc( stringWidth * sizeof(char) );
-+ sprintf(format, " %%%i.%ilf", width, precision);
-+ break;
-+ case STRING :
-+ // String fmt: " %s"
-+ format = (char*) malloc( 4 * sizeof(char) );
-+ strcpy(format, " %s");
-+ break;
-+ case INT :
-+ // String fmt: " %wi"
-+ stringWidth = wWidth + 4;
-+ format = (char*) malloc( stringWidth * sizeof(char) );
-+ sprintf(format, " %%%ii", width);
-+ break;
-+ case UNKNOWN_DATA :
-+ mprintf("Internal Error: setFormatString called with unknown data type.\n");
-+ }
-+
-+ if (format==NULL)
-+ mprintf("Error: setFormatString: Could not allocate memory for string.\n");
-+ // DEBUG
-+ //else
-+ // mprintf("DEBUG: Format string: [%s]\n",format);
-+}
-+
-+/*
-+ * DataSet::SetPrecision()
-+ * Set dataset width and precision and recalc output format string.
-+ */
-+void DataSet::SetPrecision(int widthIn, int precisionIn) {
-+ width=widthIn;
-+ precision=precisionIn;
-+ setFormatString();
- }
-
- /*
-diff -urN amber11//AmberTools/src/cpptraj/src/DataSet.h amber11.new//AmberTools/src/cpptraj/src/DataSet.h
---- amber11//AmberTools/src/cpptraj/src/DataSet.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/DataSet.h 2011-05-19 18:35:57.000000000 +0300
-@@ -36,12 +36,18 @@
- class DataSet {
- protected:
- char *name; // Name of the dataset
-+ dataType dType; // The dataset type
- int N; // Number of data elements
- int current; // The current data element
-+ int width; // The output width of a data element
-+ int precision; // The output precision of a data element (if applicable)
-+ char *format; // Format of output
-+
- bool isDynamic; // True : N is not known, reallocate as N increases
- // False: N is known, allocate for N
- // If not isDynamic, Allocate will reserve space for N data elements
- virtual int Allocate( ) { return 0; }
-+ void setFormatString();
-
- public:
-
-@@ -51,13 +57,16 @@
- virtual int Xmax() { return 0; }
- virtual int isEmpty(int) { return 0; }
- virtual void Add( int, void * ) { return; }
-+ virtual int Get( void *, int ) { return 1; }
- virtual char *Write(char*, int) { return 0; }
- virtual int Width() { return 0; }
- virtual int Sync() { return 0; }
-
-+ void SetPrecision(int,int);
- int Setup(char*,int);
- void Info();
- char *Name() { return name; }
- int CheckSet();
-+ dataType Type() {return dType;}
- };
- #endif
-diff -urN amber11//AmberTools/src/cpptraj/src/Frame.cpp amber11.new//AmberTools/src/cpptraj/src/Frame.cpp
---- amber11//AmberTools/src/cpptraj/src/Frame.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Frame.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -61,6 +61,40 @@
- }
-
- /*
-+ * Frame::ZeroCoords()
-+ * Set all coords to 0.0
-+ */
-+void Frame::ZeroCoords() {
-+ for (int coord=0; coord < N; coord++)
-+ X[coord]=0.0;
-+}
-+
-+/*
-+ * Frame::AddCoord()
-+ * Add the coord values from the input frame to the coord values of
-+ * this frame.
-+ */
-+void Frame::AddCoord(Frame *FrameIn) {
-+ if (FrameIn->N != this->N) {
-+ mprintf("Error: Frame::AddCoord: Attempting to add %i coords to %i coords.\n",
-+ FrameIn->N,this->N);
-+ } else {
-+ for (int coord=0; coord < N; coord++)
-+ this->X[coord] += FrameIn->X[coord];
-+ }
-+}
-+
-+/*
-+ * Frame::Divide()
-+ * Divide all coord values by input. Dont do it if the number is too small.
-+ */
-+void Frame::Divide(double divisor) {
-+ if (divisor < SMALL) return;
-+ for (int coord=0; coord < N; coord++)
-+ X[coord] /= divisor;
-+}
-+
-+/*
- * Frame::Copy()
- * Return a copy of the frame
- */
-@@ -423,21 +457,21 @@
- * Based on useMassIn, calculate geometric center (false) or center of mass
- * (true) of the atoms in each mask.
- */
--double Frame::DIST2(AtomMask *Mask1, AtomMask *Mask2, bool useMassIn, int ifbox,
-+double Frame::DIST2(AtomMask *Mask1, AtomMask *Mask2, bool useMassIn, int boxType,
- double *ucell, double *recip) {
- double a1[3], a2[3];
-
- COM(Mask1, a1, useMassIn);
- COM(Mask2, a2, useMassIn);
-
-- if (ifbox == 0)
-+ if (boxType == 0)
- return DIST2_NoImage(a1, a2);
-- else if (ifbox == 1)
-+ else if (boxType == 1)
- return DIST2_ImageOrtho(a1, a2, this->box);
-- else if (ifbox == 2)
-+ else if (boxType == 2)
- return DIST2_ImageNonOrtho(a1, a2, ucell, recip);
-
-- mprintf(" Error: Frame::DIST: Unrecognized box type (%i)\n.", ifbox);
-+ mprintf(" Error: Frame::DIST: Unrecognized box type (%i)\n.", boxType);
-
- return (-1.0);
- }
-@@ -445,8 +479,11 @@
- /*
- * Frame::DIST2()
- * Return the distance between atoms A1 and A2 with optional imaging.
-+ * 0 = None
-+ * 1 = Orthorhombic
-+ * 2 = Non-orthorhombic
- */
--double Frame::DIST2(int A1, int A2, int ifbox, double *ucell, double *recip) {
-+double Frame::DIST2(int A1, int A2, int boxType, double *ucell, double *recip) {
- int atom3;
- double a1[3], a2[3];
-
-@@ -459,14 +496,14 @@
- a2[1] = X[atom3+1];
- a2[2] = X[atom3+2];
-
-- if (ifbox == 0)
-+ if (boxType == 0)
- return DIST2_NoImage(a1, a2);
-- else if (ifbox == 1)
-+ else if (boxType == 1)
- return DIST2_ImageOrtho(a1, a2, this->box);
-- else if (ifbox == 2)
-+ else if (boxType == 2)
- return DIST2_ImageNonOrtho(a1, a2, ucell, recip);
-
-- mprintf(" Error: Frame::DIST: Unrecognized box type (%i)\n.", ifbox);
-+ mprintf(" Error: Frame::DIST: Unrecognized box type (%i)\n.", boxType);
-
- return (-1.0);
- }
-diff -urN amber11//AmberTools/src/cpptraj/src/Frame.h amber11.new//AmberTools/src/cpptraj/src/Frame.h
---- amber11//AmberTools/src/cpptraj/src/Frame.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Frame.h 2011-05-19 18:35:57.000000000 +0300
-@@ -22,6 +22,9 @@
- Frame(AtomMask *, double *);
- virtual ~Frame(); // Destructor is virtual since this class can be inherited
-
-+ void ZeroCoords();
-+ void AddCoord(Frame*);
-+ void Divide(double);
- void printAtomCoord(int);
- void GetCoord(double *, int);
- void SetCoord(int, double *);
-diff -urN amber11//AmberTools/src/cpptraj/src/FrameList.cpp amber11.new//AmberTools/src/cpptraj/src/FrameList.cpp
---- amber11//AmberTools/src/cpptraj/src/FrameList.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/FrameList.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -13,7 +13,8 @@
- delete frameList[i];
- }
-
--/* FrameList::Add()
-+/*
-+ * FrameList::Add()
- * Add given Frame to the FrameList. Store trajectory name that this frame
- * came from in frameNames. Store the associated parm in FrameParm.
- */
-@@ -29,6 +30,18 @@
- FrameParm.Add(P);
- Nframe++;
- return 0;
-+}
-+
-+/*
-+ * FrameList::Add()
-+ * Add given Frame to the FrameList. Store the associated parm in FrameParm.
-+ */
-+int FrameList::Add(Frame *F, AmberParm *P) {
-+ if (F==NULL || P==NULL) return 1;
-+ frameList.push_back(F);
-+ FrameParm.Add(P);
-+ Nframe++;
-+ return 0;
- }
-
- /*
-diff -urN amber11//AmberTools/src/cpptraj/src/FrameList.h amber11.new//AmberTools/src/cpptraj/src/FrameList.h
---- amber11//AmberTools/src/cpptraj/src/FrameList.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/FrameList.h 2011-05-19 18:35:57.000000000 +0300
-@@ -18,6 +18,7 @@
- ~FrameList();
-
- int Add(Frame *, char *, AmberParm *,int);
-+ int Add(Frame *, AmberParm *);
- AmberParm *GetFrameParm(int);
- int GetFrameIndex(char *);
- Frame *GetFrame(int idx);
-diff -urN amber11//AmberTools/src/cpptraj/src/intDataSet.cpp amber11.new//AmberTools/src/cpptraj/src/intDataSet.cpp
---- amber11//AmberTools/src/cpptraj/src/intDataSet.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/intDataSet.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -5,6 +5,14 @@
- #include "PtrajMpi.h"
- #include "CpptrajStdio.h"
- using namespace std;
-+
-+// CONSTRUCTOR
-+intDataSet::intDataSet() {
-+ width=12;
-+ dType=INT;
-+ setFormatString();
-+}
-+
- /*
- * intDataSet::Xmax(()
- * Return the maximum X value added to this set. By convention this is
-@@ -34,6 +42,21 @@
- }
-
- /*
-+ * intDataSet::Get()
-+ * Get data at frame, put into vOut. Return 1 if no data at frame.
-+ */
-+int intDataSet::Get(void *vOut, int frame) {
-+ int *value;
-+
-+ if (vOut==NULL) return 1;
-+ value = (int*) vOut;
-+ it=Data.find( frame );
-+ if (it == Data.end()) return 1;
-+ *value = (*it).second;
-+ return 0;
-+}
-+
-+/*
- * intDataSet::isEmpty()
- */
- int intDataSet::isEmpty(int frame) {
-@@ -52,17 +75,17 @@
- it = Data.find( frame );
- if (it == Data.end())
- //sprintf(buffer," %12s","NoData");
-- sprintf(buffer," %12i", 0);
-+ sprintf(buffer, format, 0);
- else
-- sprintf(buffer," %12i",(*it).second);
-- return (buffer + 13);
-+ sprintf(buffer, format, (*it).second);
-+ return (buffer + width + 1);
- }
-
- /*
- * intDataSet::Width()
- */
- int intDataSet::Width() {
-- return 13;
-+ return (width + 1);
- }
-
- /*
-diff -urN amber11//AmberTools/src/cpptraj/src/intDataSet.h amber11.new//AmberTools/src/cpptraj/src/intDataSet.h
---- amber11//AmberTools/src/cpptraj/src/intDataSet.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/intDataSet.h 2011-05-19 18:35:57.000000000 +0300
-@@ -11,9 +11,12 @@
- std::map<int,int> Data;
- std::map<int,int>::iterator it;
- public:
-+ intDataSet();
-+
- int Xmax();
- int isEmpty(int);
- void Add( int, void * );
-+ int Get(void *, int);
- char *Write(char *, int);
- int Width();
- int Sync();
-diff -urN amber11//AmberTools/src/cpptraj/src/main.cpp amber11.new//AmberTools/src/cpptraj/src/main.cpp
---- amber11//AmberTools/src/cpptraj/src/main.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/main.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -6,7 +6,7 @@
- #include "PtrajMpi.h"
- #include "CpptrajStdio.h"
- #ifndef CPPTRAJ_VERSION_STRING
--#define CPPTRAJ_VERSION_STRING "V1.0.5"
-+#define CPPTRAJ_VERSION_STRING "V1.0.8"
- #endif
-
- void Usage(char *programName) {
-diff -urN amber11//AmberTools/src/cpptraj/src/Makefile amber11.new//AmberTools/src/cpptraj/src/Makefile
---- amber11//AmberTools/src/cpptraj/src/Makefile 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Makefile 2011-05-19 18:35:57.000000000 +0300
-@@ -16,7 +16,8 @@
- Action_Radgyr.cpp Conflib.cpp Action_Mask.cpp Action_Closest.cpp \
- NetcdfRoutines.cpp AmberRestartNC.cpp CpptrajStdio.cpp Mol2File.cpp \
- Mol2FileRoutines.cpp Action_NAstruct.cpp DistRoutines.cpp AxisType.cpp \
-- TorsionRoutines.cpp Action_Pucker.cpp Range.cpp Action_Outtraj.cpp
-+ TorsionRoutines.cpp Action_Pucker.cpp Range.cpp Action_Outtraj.cpp \
-+ Action_Rms2d.cpp
-
- OBJECTS=main.o AmberNetcdf.o AmberParm.o AmberTraj.o TrajFile.o \
- Frame.o PtrajState.o ArgList.o ptrajmask.o Action_Distance.o \
-@@ -32,7 +33,8 @@
- Action_Radgyr.o Conflib.o Action_Mask.o Action_Closest.o \
- NetcdfRoutines.o AmberRestartNC.o CpptrajStdio.o Mol2File.o \
- Mol2FileRoutines.o Action_NAstruct.o DistRoutines.o AxisType.o \
-- TorsionRoutines.o Action_Pucker.o Range.o Action_Outtraj.o
-+ TorsionRoutines.o Action_Pucker.o Range.o Action_Outtraj.o \
-+ Action_Rms2d.o
-
- HEADERS=AmberNetcdf.h AmberParm.h AmberTraj.h TrajFile.h \
- Frame.h PtrajState.h ArgList.h ptrajmask.h Action.h Action_Distance.h \
-@@ -48,7 +50,8 @@
- Action_Radgyr.h Conflib.h Action_Mask.h Action_Closest.h \
- NetcdfRoutines.h AmberRestartNC.h CpptrajStdio.h Mol2File.h \
- Mol2FileRoutines.h Action_NAstruct.h DistRoutines.h AxisType.h \
-- TorsionRoutines.h Action_Pucker.h Range.h Action_Outtraj.h
-+ TorsionRoutines.h Action_Pucker.h Range.h Action_Outtraj.h \
-+ Action_Rms2d.h
-
- all: cpptraj$(SFX)
-
-diff -urN amber11//AmberTools/src/cpptraj/src/Makefile_at amber11.new//AmberTools/src/cpptraj/src/Makefile_at
---- amber11//AmberTools/src/cpptraj/src/Makefile_at 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Makefile_at 2011-05-19 18:35:57.000000000 +0300
-@@ -16,7 +16,8 @@
- Action_Radgyr.cpp Conflib.cpp Action_Mask.cpp Action_Closest.cpp \
- NetcdfRoutines.cpp AmberRestartNC.cpp CpptrajStdio.cpp Mol2File.cpp \
- Mol2FileRoutines.cpp Action_NAstruct.cpp DistRoutines.cpp AxisType.cpp \
-- TorsionRoutines.cpp Action_Pucker.cpp Range.cpp Action_Outtraj.cpp
-+ TorsionRoutines.cpp Action_Pucker.cpp Range.cpp Action_Outtraj.cpp \
-+ Action_Rms2d.cpp
-
- OBJECTS=main.o AmberNetcdf.o AmberParm.o AmberTraj.o TrajFile.o \
- Frame.o PtrajState.o ArgList.o ptrajmask.o Action_Distance.o \
-@@ -32,7 +33,8 @@
- Action_Radgyr.o Conflib.o Action_Mask.o Action_Closest.o \
- NetcdfRoutines.o AmberRestartNC.o CpptrajStdio.o Mol2File.o \
- Mol2FileRoutines.o Action_NAstruct.o DistRoutines.o AxisType.o \
-- TorsionRoutines.o Action_Pucker.o Range.o Action_Outtraj.o
-+ TorsionRoutines.o Action_Pucker.o Range.o Action_Outtraj.o \
-+ Action_Rms2d.o
-
- HEADERS=AmberNetcdf.h AmberParm.h AmberTraj.h TrajFile.h \
- Frame.h PtrajState.h ArgList.h ptrajmask.h Action.h Action_Distance.h \
-@@ -48,7 +50,8 @@
- Action_Radgyr.h Conflib.h Action_Mask.h Action_Closest.h \
- NetcdfRoutines.h AmberRestartNC.h CpptrajStdio.h Mol2File.h \
- Mol2FileRoutines.h Action_NAstruct.h DistRoutines.h AxisType.h \
-- TorsionRoutines.h Action_Pucker.h Range.h Action_Outtraj.h
-+ TorsionRoutines.h Action_Pucker.h Range.h Action_Outtraj.h \
-+ Action_Rms2d.h
-
- all: cpptraj$(SFX)
-
-diff -urN amber11//AmberTools/src/cpptraj/src/mapDataSet.cpp amber11.new//AmberTools/src/cpptraj/src/mapDataSet.cpp
---- amber11//AmberTools/src/cpptraj/src/mapDataSet.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/mapDataSet.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -6,6 +6,14 @@
- #include "CpptrajStdio.h"
- using namespace std;
-
-+// CONSTRUCTOR
-+mapDataSet::mapDataSet() {
-+ width = 12;
-+ precision = 4;
-+ dType=DOUBLE;
-+ setFormatString();
-+}
-+
- /*
- * mapDataSet::Xmax(()
- * Return the maximum X value added to this set. By convention this is
-@@ -35,6 +43,23 @@
- }
-
- /*
-+ * mapDataSet::Get()
-+ * Get data at frame, put into vOut. Return 1 if no data at frame.
-+ */
-+int mapDataSet::Get(void *vOut, int frame) {
-+ double *value;
-+
-+ if (vOut==NULL) return 1;
-+ //mprintf("DEBUG: Attempting to get double frame %i\n",frame);
-+ value = (double*) vOut;
-+ it=Data.find( frame );
-+ if (it == Data.end()) return 1;
-+ //mprintf("DEBUG: Double frame %i is %lf\n",frame,(*it).second);
-+ *value = (*it).second;
-+ return 0;
-+}
-+
-+/*
- * mapDataSet::isEmpty()
- */
- int mapDataSet::isEmpty(int frame) {
-@@ -53,17 +78,17 @@
- it = Data.find( frame );
- if (it == Data.end())
- //sprintf(buffer," %12s","NoData");
-- sprintf(buffer," %12.4lf", 0.0);
-+ sprintf(buffer, format, 0.0);
- else
-- sprintf(buffer," %12.4lf",(*it).second);
-- return (buffer + 13);
-+ sprintf(buffer, format,(*it).second);
-+ return (buffer + width + 1);
- }
-
- /*
- * mapDataSet::Width()
- */
- int mapDataSet::Width() {
-- return 13;
-+ return (width + 1);
- }
-
- /*
-diff -urN amber11//AmberTools/src/cpptraj/src/mapDataSet.h amber11.new//AmberTools/src/cpptraj/src/mapDataSet.h
---- amber11//AmberTools/src/cpptraj/src/mapDataSet.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/mapDataSet.h 2011-05-19 18:35:57.000000000 +0300
-@@ -7,14 +7,16 @@
- */
- #include <map>
- #include "DataSet.h"
--//using namespace std;
- class mapDataSet : public DataSet {
- std::map<int,double> Data;
- std::map<int,double>::iterator it;
- public:
-+ mapDataSet();
-+
- int Xmax();
- int isEmpty(int);
- void Add( int, void * );
-+ int Get(void *, int);
- char *Write(char *, int);
- int Width();
- int Sync();
-diff -urN amber11//AmberTools/src/cpptraj/src/Mol2File.cpp amber11.new//AmberTools/src/cpptraj/src/Mol2File.cpp
---- amber11//AmberTools/src/cpptraj/src/Mol2File.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/Mol2File.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -239,6 +239,8 @@
- if (writeMode==2)
- File->IO->Close();
-
-+ currentFrame++;
-+
- return 0;
- }
-
-diff -urN amber11//AmberTools/src/cpptraj/src/PDBfile.cpp amber11.new//AmberTools/src/cpptraj/src/PDBfile.cpp
---- amber11//AmberTools/src/cpptraj/src/PDBfile.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/PDBfile.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -207,6 +207,9 @@
- } else if (writeMode==1) {
- File->IO->Printf("ENDMDL\n");
- }
-+
-+ currentFrame++;
-+
- return 0;
- }
-
-diff -urN amber11//AmberTools/src/cpptraj/src/PtrajActionList.cpp amber11.new//AmberTools/src/cpptraj/src/PtrajActionList.cpp
---- amber11//AmberTools/src/cpptraj/src/PtrajActionList.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/PtrajActionList.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -20,6 +20,7 @@
- #include "Action_NAstruct.h"
- #include "Action_Pucker.h"
- #include "Action_Outtraj.h"
-+#include "Action_Rms2d.h"
-
- // Constructor
- PtrajActionList::PtrajActionList() {
-@@ -56,6 +57,7 @@
-
- // Decide what action this is based on the command.
- if (A->CommandIs("distance")) {Act=new Distance;}
-+ else if (A->CommandIs("rms2d")) {Act=new Rms2d; }
- else if (A->CommandIs("rmsd",3)) {Act=new Rmsd; }
- else if (A->CommandIs("dihedral")) {Act=new Dihedral;}
- else if (A->CommandIs("atommap")) {Act=new AtomMap; }
-@@ -166,6 +168,8 @@
- err = ActionList[act]->DoAction(FrameAddress, frameIn);
- if (err==1) {
- // Treat actions that fail as if they could not be set up
-+ mprintf("Warning: Action [%s] failed, frame %i.\n",ActionList[act]->CmdLine(),
-+ frameIn);
- ActionList[act]->noSetup=1;
- } else if (err==2) {
- // Return value of 2 requests return to original frame
-diff -urN amber11//AmberTools/src/cpptraj/src/PtrajFile.cpp amber11.new//AmberTools/src/cpptraj/src/PtrajFile.cpp
---- amber11//AmberTools/src/cpptraj/src/PtrajFile.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/PtrajFile.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -113,6 +113,7 @@
- void PtrajFile::CloseFile() {
- if (isOpen) {
- IO->Close();
-+ if (debug>0) rprintf("Closed %s.\n",filename);
- isOpen=0;
- }
- }
-diff -urN amber11//AmberTools/src/cpptraj/src/PtrajMpi.c amber11.new//AmberTools/src/cpptraj/src/PtrajMpi.c
---- amber11//AmberTools/src/cpptraj/src/PtrajMpi.c 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/PtrajMpi.c 2011-05-19 18:35:57.000000000 +0300
-@@ -460,7 +460,10 @@
- }
-
- err = MPI_Allreduce(input, Return, count, currentType, currentOp, MPI_COMM_WORLD);
-- if (err!=MPI_SUCCESS) printMPIerr(err, "Performing allreduce for %i elements\n",count);
-+ if (err!=MPI_SUCCESS) {
-+ printMPIerr(err, "Performing allreduce.\n");
-+ rprintf("Error: allreduce failed for %i elements.\n",count);
-+ }
-
- if (parallel_check_error(err)!=0) return 1;
- return 0;
-diff -urN amber11//AmberTools/src/cpptraj/src/PtrajState.cpp amber11.new//AmberTools/src/cpptraj/src/PtrajState.cpp
---- amber11//AmberTools/src/cpptraj/src/PtrajState.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/PtrajState.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -7,7 +7,8 @@
- #include "CpptrajStdio.h"
-
- // Constructor
--PtrajState::PtrajState() {
-+PtrajState::PtrajState() {
-+ TotalErrors=0;
- debug=0;
- showProgress=1;
- }
-@@ -291,6 +292,7 @@
- char *df_cmd = NULL;
- char *name1 = NULL;
- char *name2 = NULL;
-+ int width,precision;
- DataFile *df;
-
- if (DF_Args.empty()) return;
-@@ -349,6 +351,19 @@
- }
- mprintf(" Not printing x column for datafile %s\n",name1);
- df->SetNoXcol();
-+
-+ // datafile precision
-+ // Usage: datafile precision <filename> <dataset> [<width>] [<precision>]
-+ // If width/precision not specified default to 12.4
-+ } else if ( strcmp(df_cmd,"precision")==0 ) {
-+ if (df==NULL) {
-+ mprintf("Error: datafile precision: DataFile %s does not exist.\n",name1);
-+ continue;
-+ }
-+ name2 = A->getNextString();
-+ width = A->getNextInteger(12);
-+ precision = A->getNextInteger(4);
-+ df->SetPrecision(name2,width,precision);
- }
-
- } // END loop over datafile args
-@@ -374,7 +389,7 @@
-
- // ========== S E T U P P H A S E ==========
- // Calculate frame division among trajectories
-- maxFrames=trajFileList.SetupFrames();
-+ maxFrames=trajFileList.SetupFrames(worldrank,worldsize);
-
- // Parameter file information
- parmFileList.Print();
-diff -urN amber11//AmberTools/src/cpptraj/src/PtrajState.h amber11.new//AmberTools/src/cpptraj/src/PtrajState.h
---- amber11//AmberTools/src/cpptraj/src/PtrajState.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/PtrajState.h 2011-05-19 18:35:57.000000000 +0300
-@@ -20,6 +20,7 @@
- DataFileList DFL; // List of datafiles that data sets will be written to
- ArgList *A; // Current argument list
- std::list<ArgList*> DF_Args; // List of commands pertaining to datafile creation etc
-+ int TotalErrors; // Sum of all returned error statuses
- int debug;
-
- void SetGlobalDebug(int); // Set debug level for all components
-diff -urN amber11//AmberTools/src/cpptraj/src/ReferenceList.cpp amber11.new//AmberTools/src/cpptraj/src/ReferenceList.cpp
---- amber11//AmberTools/src/cpptraj/src/ReferenceList.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/ReferenceList.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -20,11 +20,15 @@
- */
- int ReferenceList::Add(ArgList *A, ParmFileList *parmFileList, int worldsize) {
- TrajFile *T;
-- int startArg;
-+ int startArg,stopArg,offsetArg;
-+ bool average = false;
-
- // Set up common arguments from arglist
- if (this->ProcessArgList(A,parmFileList)) return 1;
-
-+ // Check if we want to obtain the average structure
-+ average = A->hasKey("average");
-+
- // Set up basic file to determine type and format
- T = this->SetupTrajectory(trajfilename, fileAccess, UNKNOWN_FORMAT, UNKNOWN_TYPE);
-
-@@ -45,10 +49,18 @@
- // Get user-specified start arg
- // NOTE: For compatibility with ptraj start from 1
- startArg=A->getNextInteger(1);
-- T->SetArgs(startArg,startArg,1);
-+ stopArg=startArg;
-+ offsetArg=1;
-+ // Get user-specified stop and offset only if getting avg structure
-+ if (average) {
-+ stopArg=A->getNextInteger(-1);
-+ offsetArg=A->getNextInteger(1);
-+ }
-+ T->SetArgs(startArg,stopArg,offsetArg);
-
- // Add to trajectory file list
-- this->push_back(T);
-+ this->push_back(T);
-+ Average.push_back(average);
-
- return 0;
- }
-@@ -60,9 +72,11 @@
- * place that frame in refFrames.
- */
- int ReferenceList::SetupRefFrames(FrameList *refFrames) {
-- int trajFrames;
-- Frame *F;
-+ int trajFrames, global_set;
-+ double Nframes;
-+ Frame *F, *AvgFrame;
- int skipValue;
-+ int refTrajNum = 0;
-
- mprintf("\nREFERENCE COORDS:\n");
- if (this->empty()) {
-@@ -72,7 +86,13 @@
-
- for (it = this->begin(); it != this->end(); it++) {
- // Setup the reference traj for reading. Should only be 1 frame.
-- trajFrames=(*it)->setupFrameInfo(-1);
-+ // NOTE: For MPI, calling setupFrameInfo with worldrank 0, worldsize 1 for
-+ // all ranks. This is to ensure each thread has a copy of the ref
-+ // struct.
-+ // Calling setupFrameInfo with -1 to ensure the Parm frame count is
-+ // not updated.
-+
-+ trajFrames=(*it)->setupFrameInfo(-1,0,1);
- if ((*it)->total_read_frames<1) {
- rprintf("Error: No frames could be read for reference %s, skipping\n",
- (*it)->trajfilename);
-@@ -89,12 +109,34 @@
- skipValue=(*it)->skip;
- (*it)->skip=0;
- }
-- (*it)->Begin(&trajFrames, 0);
-- // Get and copy the 1 frame from Traj, then close
-- // NOTE: What happens when not seekable?
-+ // Start trajectory read
-+ global_set=0;
-+ (*it)->Begin(&global_set, 0);
- (*it)->PrintInfo(1);
-- (*it)->NextFrame(&trajFrames);
-- F=(*it)->F->Copy();
-+ // If averaging requested, loop over specified frames and avg coords.
-+ if (Average[refTrajNum++]) {
-+ mprintf(" Averaging over %i frames.\n",trajFrames);
-+ AvgFrame = new Frame((*it)->P->natom, (*it)->P->mass);
-+ AvgFrame->ZeroCoords();
-+ global_set = 0;
-+ Nframes = 0.0;
-+ while ( (*it)->NextFrame(&global_set) ) {
-+ AvgFrame->AddCoord( (*it)->F );
-+ Nframes++;
-+ }
-+ if (Nframes < 1.0) {
-+ mprintf("Error: reference average: # frames read is less than 1.\n");
-+ F=NULL;
-+ } else {
-+ AvgFrame->Divide( Nframes );
-+ F=AvgFrame->Copy();
-+ }
-+ delete AvgFrame;
-+ // If no averaging, get and copy the 1 frame from Traj, then close
-+ } else {
-+ (*it)->NextFrame(&trajFrames);
-+ F=(*it)->F->Copy();
-+ }
- // DEBUG
- //fprintf(stdout,"DEBUG: Ref Coord Atom 0\n");
- //F->printAtomCoord(0);
-diff -urN amber11//AmberTools/src/cpptraj/src/ReferenceList.h amber11.new//AmberTools/src/cpptraj/src/ReferenceList.h
---- amber11//AmberTools/src/cpptraj/src/ReferenceList.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/ReferenceList.h 2011-05-19 18:35:57.000000000 +0300
-@@ -5,7 +5,7 @@
- #include "FrameList.h"
-
- class ReferenceList : public CoordFileList {
--
-+ std::vector<bool> Average;
- public:
-
- ReferenceList();
-diff -urN amber11//AmberTools/src/cpptraj/src/RemdTraj.cpp amber11.new//AmberTools/src/cpptraj/src/RemdTraj.cpp
---- amber11//AmberTools/src/cpptraj/src/RemdTraj.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/RemdTraj.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -88,7 +88,7 @@
- // NOTE: Should check that this is the case for ALL frames.
- stop = T->Frames;
- Frames = T->Frames;
-- isBox = T->isBox;
-+ BoxType = T->BoxType;
- trajfilename = T->File->basefilename;
- // Add it to the list
- REMDtraj.push_back(T);
-@@ -190,12 +190,12 @@
- return 1;
- }
- // Check that #Frames and box info matches
-- if ( Frames!=T->Frames || isBox!=T->isBox ) {
-+ if ( Frames!=T->Frames || BoxType!=T->BoxType ) {
- mprintf(
-- " ERROR: REMDTRAJ: #Frames (%i) or box info (%i) in replica does not match\n",
-- T->Frames, T->isBox);
-- mprintf(" values in lowest replica (Frames=%i, box=%i)\n",
-- Frames,isBox);
-+ " ERROR: REMDTRAJ: #Frames (%i) or box type (%i) in replica does not match\n",
-+ T->Frames, T->BoxType);
-+ mprintf(" values in lowest replica (Frames=%i, boxtype=%i)\n",
-+ Frames,BoxType);
- delete T;
- free(repFilename);
- free(Prefix);
-diff -urN amber11//AmberTools/src/cpptraj/src/stringDataSet.cpp amber11.new//AmberTools/src/cpptraj/src/stringDataSet.cpp
---- amber11//AmberTools/src/cpptraj/src/stringDataSet.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/stringDataSet.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -6,6 +6,13 @@
- #include "PtrajMpi.h"
- #include "CpptrajStdio.h"
- using namespace std;
-+
-+// CONSTRUCTOR
-+stringDataSet::stringDataSet() {
-+ dType=STRING;
-+ setFormatString();
-+}
-+
- /*
- * stringDataSet::Xmax(()
- * Return the maximum X value added to this set. By convention this is
-@@ -54,10 +61,10 @@
-
- it = Data.find( frame );
- if (it == Data.end()) {
-- sprintf(buffer," %s", "NoData");
-+ sprintf(buffer, format, "NoData");
- return (buffer + 7);
- } else
-- sprintf(buffer," %s",(*it).second.c_str());
-+ sprintf(buffer, format, (*it).second.c_str());
-
- return (buffer + (*it).second.size() + 1);
- }
-diff -urN amber11//AmberTools/src/cpptraj/src/stringDataSet.h amber11.new//AmberTools/src/cpptraj/src/stringDataSet.h
---- amber11//AmberTools/src/cpptraj/src/stringDataSet.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/stringDataSet.h 2011-05-19 18:35:57.000000000 +0300
-@@ -12,6 +12,8 @@
- std::map<int,std::string> Data;
- std::map<int,std::string>::iterator it;
- public:
-+ stringDataSet();
-+
- int Xmax();
- int isEmpty(int);
- void Add( int, void * );
-diff -urN amber11//AmberTools/src/cpptraj/src/TrajFile.cpp amber11.new//AmberTools/src/cpptraj/src/TrajFile.cpp
---- amber11//AmberTools/src/cpptraj/src/TrajFile.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/TrajFile.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -2,7 +2,6 @@
- #include <cstdlib>
- #include <cstring>
- #include "TrajFile.h"
--#include "PtrajMpi.h" // worldrank and worldsize needed to calc frame division
- #include "CpptrajStdio.h"
-
- // CONSTRUCTOR
-@@ -18,7 +17,7 @@
- start=0;
- stop=-1;
- offset=1;
-- isBox=0;
-+ BoxType=0;
- title=NULL;
- P=NULL;
- frameskip=0;
-@@ -45,12 +44,17 @@
- void TrajFile::SetTitle(char *titleIn) {
- size_t titleSize;
-
-+ //mprintf("DEBUG: Attempting to set title for %s: [%s]\n",trajfilename,titleIn);
- if (titleIn==NULL) return;
- titleSize = strlen(titleIn);
-- if (titleSize==0) return;
-+ //mprintf(" Title size is %i\n",titleSize);
-+ if (titleSize==0) {
-+ mprintf("Warning: TrajFile::SetTitle(): Title for %s is 0 length.\n",trajfilename);
-+ return;
-+ }
- this->title = (char*) malloc( (titleSize+1) * sizeof(char));
- if (this->title==NULL) {
-- mprintf("Error: TrajFile::SetTitle(): Could not allocate memory for title.\n");
-+ mprintf("Error: SetTitle: Could not allocate memory for title of %s.\n",trajfilename);
- return;
- }
- strcpy(this->title, titleIn);
-@@ -59,6 +63,30 @@
- }
-
- /*
-+ * TrajFile::CheckBoxType()
-+ * Set the trajectory box type (ortho/nonortho) based on box angles.
-+ * Check the current box type against the associated parmfile box type.
-+ * Print a warning if they are different.
-+ */
-+void TrajFile::CheckBoxType(double *box) {
-+ // Determine orthogonal / non-orthogonal from angles
-+ if (box[3]==0.0 || box[4]==0.0 || box[5]==0.0)
-+ BoxType=0;
-+ else if (box[3]==90.0 && box[4]==90.0 && box[5]==90.0)
-+ BoxType=1;
-+ else
-+ BoxType=2;
-+ if (P->BoxType != BoxType) {
-+ mprintf("Warning: %s contains box info of type %i (beta %lf)\n",trajfilename,
-+ BoxType,box[4]);
-+ mprintf(" but associated parmfile %s has box type %i (beta %lf)\n",P->parmName,
-+ P->BoxType,P->Box[4]);
-+ //mprintf(" Box information from trajectory will be used.\n");
-+ }
-+ if (debug>0) mprintf(" %s: Box type is %i (beta=%lf)\n",trajfilename,BoxType,box[4]);
-+}
-+
-+/*
- * TrajFile::PrintInfo()
- * Print general trajectory information. Call TrajFile->Info for specific information.
- */
-@@ -68,7 +96,7 @@
-
- mprintf(", Parm %i",P->pindex);
-
-- if (isBox) mprintf(" (with box info)");
-+ if (BoxType>0) mprintf(" (with box info)");
-
- if (showExtended==0) {
- mprintf("\n");
-@@ -85,7 +113,7 @@
- mprintf(": Writing %i frames", P->parmFrames);
- if (File->access==APPEND) mprintf(", appended"); // NOTE: Dangerous if REMD
- }
-- if (debug>0) mprintf(", %i atoms, Box %i, seekable %i",P->natom,isBox,seekable);
-+ if (debug>0) mprintf(", %i atoms, Box %i, seekable %i",P->natom,BoxType,seekable);
- mprintf("\n");
- }
-
-@@ -164,7 +192,7 @@
- * Note that the input frames start counting from 1, output starts counting from 0!
- * If called with maxFrames=-1 dont update the frame in parm file.
- */
--int TrajFile::setupFrameInfo(int maxFrames) {
-+int TrajFile::setupFrameInfo(int maxFrames, int worldrank, int worldsize) {
- int Nframes;
- int ptraj_start_frame, ptraj_end_frame;
- int traj_start_frame, traj_end_frame;
-diff -urN amber11//AmberTools/src/cpptraj/src/TrajFile.h amber11.new//AmberTools/src/cpptraj/src/TrajFile.h
---- amber11//AmberTools/src/cpptraj/src/TrajFile.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/TrajFile.h 2011-05-19 18:35:57.000000000 +0300
-@@ -25,44 +25,44 @@
- int offset; // Number of frames to skip while processing
-
- // --== Inherited by child classes ==--
-- virtual int open() { return 0; } // Open the file, prepare for coord read/write
-- virtual void close() {} // Close the file
-+ virtual int open() { return 0; } // Open the file, prepare for coord read/write
-+ virtual void close() {} // Close the file
-+
-+ void CheckBoxType(double *); // Check that traj boxtype matches parm
-
- public:
- int debug; // Level of debug information to print
- char *trajfilename; // The base trajectory filename
-- // NOTE: I hate that the following are public. Only necessary for REMD processing!!
-+ // NOTE: I hate that the 2 following are public. Only necessary for REMD processing!!
- int Frames; // Total number of frames in trajectory
- int total_read_frames; // Total number of frames that will be read
-- int isBox; // >0 means trajectory has box information
--
-+ int BoxType; // 0: None, 1: Ortho, 2: NonOrtho
- Range *FrameRange; // list of frames to be written out
- int hasTemperature; // 1 means trajectory has temperature information
- PtrajFile *File; // Class that handles basic file IO
- AmberParm *P; // Memory address of the associated parmfile
- Frame *F; // Hold coordinates of the current frame
-- int skip; /* READ: If =1 do not process this input trajectory
-- WRITE: If =1 this traj has been set up for write */
-+ int skip; // READ: If =1 do not process this input trajectory
-+ // WRITE: If =1 this traj has been set up for write
-
- TrajFile(); // Constructor
- virtual ~TrajFile(); // Destructor - virtual since this class is inherited.
-
-- int Start() { return start; }
-+ int Start() { return start; }
-+ int CurrentFrame() { return currentFrame; }
- void SetTitle(char *); // Set trajectory title.
- void PrintInfo(int); // Print trajectory Information
-- int setupFrameInfo(int); // Set actual start/stop based on total #frames and #threads
-- int Begin(int *, int); /* Prepare traj for processing. Set output start value, calcd in
-- * setupFrameInfo. Allocate memory for F.
-- */
-- int Begin(); // Prepare trajectory for output
-- int NextFrame(int*); // Put the next target frame into F.
-- void End(); // Close trajectory and free F memory
-- void progressBar(); // Display trajectory progress to screen
--// void progressBar2(); // Display trajectory progress to screen
--
-- void SetArgs(int,int,int); // Set the stop, start, and offset args from user input
-+ int Begin(int *, int); // Prepare traj for processing. Set output start value, calcd in
-+ // setupFrameInfo. Allocate memory for F.
-+ int Begin(); // Prepare trajectory for output
-+ int NextFrame(int*); // Put the next target frame into F.
-+ void End(); // Close trajectory and free F memory
-+ void progressBar(); // Display trajectory progress to screen
-+// void progressBar2(); // Display trajectory progress to screen
-+ int setupFrameInfo(int,int,int); // Set actual start/stop based on total #frames and #threads
-+ void SetArgs(int,int,int); // Set the stop, start, and offset args from user input
- // --== Inherited by child classes ==--
-- virtual int getFrame(int) { return 1; } // Read the next coord frame into F
-+ virtual int getFrame(int) { return 1; } // Read specified frame into F
- virtual int SetupRead() { return 1; } // Set file up for reading
- virtual int WriteArgs(ArgList*){ return 0; } // (Opt.) Process any args related to writing
- virtual int SetupWrite() { return 1; } // Set file up for writing
-diff -urN amber11//AmberTools/src/cpptraj/src/TrajinList.cpp amber11.new//AmberTools/src/cpptraj/src/TrajinList.cpp
---- amber11//AmberTools/src/cpptraj/src/TrajinList.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/TrajinList.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -70,7 +70,7 @@
- * actual start and stop and how many frames total will be processed.
- * Return the number of frames to be processed.
- */
--int TrajinList::SetupFrames() {
-+int TrajinList::SetupFrames(int worldrank, int worldsize) {
- int maxFrames, trajFrames;
-
- mprintf("\nTRAJECTORIES:\n");
-@@ -78,7 +78,7 @@
- maxFrames=0;
-
- for (it = this->begin(); it != this->end(); it++) {
-- trajFrames = (*it)->setupFrameInfo(maxFrames);
-+ trajFrames = (*it)->setupFrameInfo(maxFrames,worldrank,worldsize);
- if (trajFrames==-1) {
- maxFrames=-1;
- }
-diff -urN amber11//AmberTools/src/cpptraj/src/TrajinList.h amber11.new//AmberTools/src/cpptraj/src/TrajinList.h
---- amber11//AmberTools/src/cpptraj/src/TrajinList.h 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/TrajinList.h 2011-05-19 18:35:57.000000000 +0300
-@@ -13,7 +13,7 @@
- // NOTE: worldsize is passed in as last arg to avoid include of PtrajMpi
- int Add(ArgList *A, ParmFileList *, int);
- // TRAJIN: Set up frames to be processed
-- int SetupFrames();
-+ int SetupFrames(int,int);
- };
- #endif
-
-diff -urN amber11//AmberTools/src/cpptraj/src/TrajoutList.cpp amber11.new//AmberTools/src/cpptraj/src/TrajoutList.cpp
---- amber11//AmberTools/src/cpptraj/src/TrajoutList.cpp 2011-04-14 15:30:16.000000000 +0300
-+++ amber11.new//AmberTools/src/cpptraj/src/TrajoutList.cpp 2011-05-19 18:35:57.000000000 +0300
-@@ -20,7 +20,6 @@
- */
- int TrajoutList::Add(ArgList *A, ParmFileList *parmFileList, int worldsize) {
- TrajFile *T;
-- int boxInfo;
- FileFormat writeFormat;
- FileType writeType;
- char *onlyframes;
-@@ -29,7 +28,6 @@
- if (this->ProcessArgList(A,parmFileList)) return 1;
-
- // Init variables
-- boxInfo=0;
- writeFormat=AMBERTRAJ;
- writeType=UNKNOWN_TYPE;
-
-@@ -56,10 +54,6 @@
- if (worldsize>1 && writeFormat!=AMBERRESTART)
- writeType=MPIFILE;
-
-- // Set box info from parm file unless nobox is set.
-- boxInfo=P->ifbox;
-- if (A->hasKey("nobox")) boxInfo=0;
--
- // Set up basic file for given type and format
- // If type is unknown it will be determined from extension or will be standard (default)
- T = this->SetupTrajectory(trajfilename, fileAccess, writeFormat, writeType);
-@@ -90,10 +84,11 @@
- // Set parameter file
- T->P=P;
-
-- // Set box information (only needed for write)
-- T->isBox=boxInfo;
-+ // Set box type from parm file unless "nobox" specified
-+ T->BoxType=P->BoxType;
-+ if (A->hasKey("nobox")) T->BoxType=0;
-
-- // No setup here; Write is set up after first frame read in PtrajState::Run
-+ // No more setup here; Write is set up when first frame written.
- // Add to trajectory file list
- this->push_back(T);
-
-diff -urN amber11//AmberTools/src/leap/src/leap/amber.c amber11.new//AmberTools/src/leap/src/leap/amber.c
---- amber11//AmberTools/src/leap/src/leap/amber.c 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/amber.c 2011-05-19 18:35:57.000000000 +0300
-@@ -36,6 +36,10 @@
- * UNITs and PARMSETs.
- */
-
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-+
- #include "basics.h"
- #include "vector.h"
- #include "classes.h"
-@@ -240,23 +244,47 @@
- *
- * Read the proper torsion parameter terms.
- */
-+
-+/* Arunima Singh added reading in of scee and scnb fields for proper torsions 20110420 */
- static void
- zAmberReadParmSetPropers( PARMSET psParms, FILE *fIn )
- {
- STRING sLine;
--int iRead, iN;
-+int iRead, iN, iRead2, iRead3;
- STRING saStr[10];
--double dDivisions, dKp, dP0, dN;
-+double dDivisions, dKp, dP0, dN, dScee, dScnb;
-+char *cScee, *cScnb;
-
- memset(saStr, 0, sizeof(saStr)); /* for Purify */
- while (1) {
- FGETS( sLine, fIn );
- NODASHES(sLine);
-- iRead = sscanf( sLine, "%s %s %s %s %lf %lf %lf %lf",
-+
-+ iRead = sscanf( sLine, "%s %s %s %s %lf %lf %lf %lf ",
- saStr[0], saStr[1], saStr[2], saStr[3],
- &dDivisions, &dKp, &dP0, &dN );
-- if ( iRead <= 0 )
-+
-+ cScee = strstr(sLine, "SCEE");
-+ if(cScee!=NULL) {
-+ iRead2 = sscanf( cScee, "SCEE=%lf", &dScee);
-+ iRead++;
-+ }
-+
-+ cScnb = strstr(sLine, "SCNB");
-+ if(cScnb!=NULL) {
-+ iRead3 = sscanf( cScnb, "SCNB=%lf", &dScnb);
-+ iRead++;
-+ }
-+
-+ if ( iRead <= 0 )
- break;
-+
-+ if ( iRead == 8 ) /*Arunima Singh*/
-+ {
-+ dScee = 1.2;
-+ dScnb = 2.0;
-+ }
-+
- MESSAGE(( "Read: %s\n", sLine ));
-
- if ( sLine[0] == ' ' && sLine[1] == ' ') {
-@@ -277,14 +305,37 @@
- zAmberConvertWildCard( saStr[3] );
- iParmSetAddProperTerm( psParms,
- saStr[0], saStr[1], saStr[2], saStr[3],
-- abs(iN), dKp, dP0*DEGTORAD, "" );
-+ abs(iN), dKp, dP0*DEGTORAD, dScee, dScnb, "" );
-+
-+
- while( iN < 0 ) {
- FGETS( sLine, fIn );
- NODASHES(sLine);
- MESSAGE(( "Read extra term: %s\n", sLine ));
-- iRead = sscanf( &sLine[11], "%lf %lf %lf %lf",
-+ iRead = sscanf( &sLine[11], "%lf %lf %lf %lf ",
- &dDivisions, &dKp, &dP0, &dN );
-- if ( iRead<=0 ) break;
-+
-+ cScee = strstr(sLine, "SCEE");
-+ if(cScee!=NULL) {
-+ iRead2 = sscanf( cScee, "SCEE=%lf", &dScee);
-+ iRead++;
-+ }
-+
-+ cScnb = strstr(sLine, "SCNB");
-+ if(cScnb!=NULL) {
-+ iRead3 = sscanf( cScnb, "SCNB=%lf", &dScnb);
-+ iRead++;
-+ }
-+
-+
-+ if ( iRead == 4 ) /*Arunima Singh*/
-+ {
-+ dScee = 1.2;
-+ dScnb = 2.0;
-+ }
-+
-+
-+ if ( iRead<=0 ) break;
-
- if ( dDivisions == 0.0 )
- dDivisions = 1.0;
-@@ -292,7 +343,7 @@
- iN = (int)floor(dN+0.5);
- iParmSetAddProperTerm( psParms,
- saStr[0], saStr[1], saStr[2], saStr[3],
-- abs(iN), dKp, dP0*DEGTORAD, "" );
-+ abs(iN), dKp, dP0*DEGTORAD, dScee, dScnb, "" );
- }
- if ( iRead <= 0 )
- break;
-@@ -311,7 +362,7 @@
- STRING sLine;
- int iRead, iN;
- STRING saStr[10];
--double dKp, dP0, dN;
-+double dKp, dP0, dN, dScee, dScnb;
- BOOL bPrintLine;
-
- memset(saStr, 0, sizeof(saStr)); /* for Purify */
-@@ -335,6 +386,8 @@
- zAmberConvertWildCard( saStr[2] );
- zAmberConvertWildCard( saStr[3] );
- iN = (int)dN;
-+ dScee = 0.0;
-+ dScnb = 0.0;
-
- /*
- * check everything in case a format or other user error
-@@ -362,7 +415,7 @@
-
- iParmSetAddImproperTerm( psParms,
- saStr[0], saStr[1], saStr[2], saStr[3],
-- iN, dKp, dP0*DEGTORAD, "" );
-+ iN, dKp, dP0*DEGTORAD, dScee, dScnb, "" );
- }
- if ( iRead > 0 )
- VP0(( "WARNING: incomplete Improper Torsion line:\n%s", sLine ));
-diff -urN amber11//AmberTools/src/leap/src/leap/build.c amber11.new//AmberTools/src/leap/src/leap/build.c
---- amber11//AmberTools/src/leap/src/leap/build.c 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/build.c 2011-05-19 18:35:57.000000000 +0300
-@@ -42,8 +42,9 @@
- *
- */
-
--
--
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-
- #include "basics.h"
-
-@@ -1567,7 +1568,7 @@
- LOOP lAtoms, lTemp;
- ATOM aAtom, aAtom1, aAtom2, aAtom3, aAtom4;
- BOOL bM1, bM2, bM3, bM4, bOneMinimizedAtom;
--double dKb, dR0, dKt, dT0, dTkub, dRkub, dKp, dP0;
-+double dKb, dR0, dKt, dT0, dTkub, dRkub, dKp, dP0, dScee, dScnb;
- STRING sAtom1, sAtom2, sAtom3, sAtom4, sDesc;
- PARMSET psTemp;
- TORSION tTorsion;
-@@ -1757,7 +1758,7 @@
- ParmSetTORSIONTerm( tTorsion, i,
- &iIndex,
- sAtom1, sAtom2, sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
- if ( !bMinimizerAddTorsion( mStrain,
- aAtom1, aAtom2, aAtom3, aAtom4,
- (double)iN, dKp, dP0 )) {
-diff -urN amber11//AmberTools/src/leap/src/leap/model.c amber11.new//AmberTools/src/leap/src/leap/model.c
---- amber11//AmberTools/src/leap/src/leap/model.c 2011-04-14 15:30:17.000000000 +0300
-+++ amber11.new//AmberTools/src/leap/src/leap/model.c 2011-05-19 18:35:57.000000000 +0300
-@@ -39,7 +39,9 @@
- * are determined from atom types.
- */
-
--
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-
-
- #include "basics.h"
-@@ -781,16 +783,6 @@
- maPAtom++;
- }
- }
-- if ( iAtomCoordination(aX) !=
-- 1 + maPAtom - &(mtTorsions.maaXBonds[0]) ) {
-- VP0(( "Error: Atom %s has force field coordination %i\n"
-- " but only %i bonded neighbors.\n"
-- " The cause may be an incorrect atom type, and\n"
-- " the effect may be a crash very soon.\n",
-- sContainerFullDescriptor((CONTAINER)aX,s1),
-- iAtomCoordination(aX),
-- 1 + maPAtom - &(mtTorsions.maaXBonds[0]) ));
-- }
- for ( i=iAtomCoordination(aX); i<MAXBONDS; i++ ) {
- maPAtom->aAtom = NULL;
- maPAtom++;
-@@ -824,16 +816,6 @@
- maPAtom++;
- }
- }
-- if ( iAtomCoordination(aY) !=
-- 1 + maPAtom - &(mtTorsions.maaYBonds[0]) ) {
-- VP0(( "Error: Atom %s has force field coordination %i\n"
-- " but only %i bonded neighbors.\n"
-- " The cause may be an incorrect atom type, and\n"
-- " the effect may be a crash very soon.\n",
-- sContainerFullDescriptor((CONTAINER)aY,s1),
-- iAtomCoordination(aY),
-- 1 + maPAtom - &(mtTorsions.maaYBonds[0]) ));
-- }
- for ( i=iAtomCoordination(aY); i<MAXBONDS; i++ ) {
- maPAtom->aAtom = NULL;
- maPAtom++;
-@@ -1205,6 +1187,8 @@
- int iN;
- double dK;
- double dE;
-+ double dSce; /*Arunima Singh*/
-+ double dScn; /*Arunima Singh*/
- } H_PROPERPARMt;
-
- typedef struct {
-@@ -1222,12 +1206,13 @@
-
- /* Keep iHybrid2 <= iHybrid3 */
-
-+/* Arunima Singh 20110413. Added Scee and Scnb AMBER defaults of 1.2 and 2.0 */
- #define TFORCE 20.0
- static H_PROPERPARMt SppaPropers[] = {
--{ HSP3, HSP3, 3, 1.0, 0.0 }, /* Non bond */
--{ HSP2, HSP3, 6, -2.0, 0.0 }, /* Non bond */
--{ HSP2, HSP2, 2, -4.0, 0.0 }, /* Pi bond overlap */
--{ HSP1, HSP1, 1, 0.0, 0.0 } /* Not interesting */
-+{ HSP3, HSP3, 3, 1.0, 0.0, 1.2, 2.0 }, /* Non bond */
-+{ HSP2, HSP3, 6, -2.0, 0.0, 1.2, 2.0 }, /* Non bond */
-+{ HSP2, HSP2, 2, -4.0, 0.0, 1.2, 2.0 }, /* Pi bond overlap */
-+{ HSP1, HSP1, 1, 0.0, 0.0, 1.2, 2.0 } /* Not interesting */
- };
-
- #define AFORCE 100.0
-@@ -1290,6 +1275,8 @@
- SppaPropers[i].iN,
- SppaPropers[i].dK,
- SppaPropers[i].dE,
-+ SppaPropers[i].dSce,
-+ SppaPropers[i].dScn,
- sDesc );
- }
- }
-diff -urN amber11//AmberTools/src/leap/src/leap/parmSet.c amber11.new//AmberTools/src/leap/src/leap/parmSet.c
---- amber11//AmberTools/src/leap/src/leap/parmSet.c 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/parmSet.c 2011-05-19 18:35:57.000000000 +0300
-@@ -54,7 +54,9 @@
- * search routines REQUIRE pre-ordering.
- */
-
--
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-
- #include "basics.h"
-
-@@ -965,6 +967,8 @@
- /*
- * copy into 1 vararray & set iType
- */
-+
-+ /*Arunima Singh added scee and scnb into the database */
- vaTorsTypes = vaVarArrayCopy2( psLib->vaTorsions, psLib->vaImpropers );
- tP = PVAI(vaTorsTypes,TORSIONPARMt,0);
- for (i=0; i<iVarArrayElementCount(psLib->vaTorsions); i++, tP++)
-@@ -980,8 +984,12 @@
- 7, "n",
- (char *)&(PVAI(vaTorsTypes,TORSIONPARMt,0)->iN),
- iVarArrayElementSize(vaTorsTypes),
-- 0, NULL, NULL, 0,
-- 0, NULL, NULL, 0,
-+ 9, "scee",
-+ (char *)&(PVAI(vaTorsTypes,TORSIONPARMt,0)->dScee),
-+ iVarArrayElementSize(vaTorsTypes),
-+ 10, "scnb",
-+ (char *)&(PVAI(vaTorsTypes,TORSIONPARMt,0)->dScnb),
-+ iVarArrayElementSize(vaTorsTypes),
- 0, NULL, NULL, 0,
- 0, NULL, NULL, 0,
- 0, NULL, NULL, 0,
-@@ -1008,7 +1016,7 @@
- 4, "type4",
- (char *)&(PVAI(vaTorsTypes,TORSIONPARMt,0)->sType4),
- iVarArrayElementSize(vaTorsTypes),
-- 9, "desc",
-+ 11, "desc",
- (char *)&(PVAI(vaTorsTypes,TORSIONPARMt,0)->sDesc),
- iVarArrayElementSize(vaTorsTypes)
- );
-@@ -1586,10 +1594,15 @@
- * Add a torsion parameter to the PARMSET.
- * Return the index.
- */
-+
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-+
- int
- iParmSetAddProperTerm( PARMSET psLib,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int iN, double dKp, double dP0, char *sDesc )
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc )
- {
- TORSIONPARMt tpTorsion;
-
-@@ -1605,6 +1618,8 @@
- tpTorsion.dKp = dKp;
- tpTorsion.iN = iN;
- tpTorsion.dP0 = dP0;
-+ tpTorsion.dScee = dScee;
-+ tpTorsion.dScnb = dScnb;
- strcpy( tpTorsion.sOrder, "0123" );
- if ( sDesc != NULL )
- strcpy( tpTorsion.sDesc, sDesc );
-@@ -1633,7 +1648,7 @@
- int
- iParmSetAddImproperTerm( PARMSET psLib,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int iN, double dKp, double dP0, char *sDesc )
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc )
- {
- TORSIONPARMt tpImproper;
- orderStr sOrder;
-@@ -2022,7 +2037,7 @@
- void
- ParmSetTORSIONTerm( TORSION tTorsion, int iTorsionIndex, int *iPParmSetIndex,
- char *cPType1, char *cPType2, char *cPType3, char *cPType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDesc )
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDesc )
- {
- TORSION_MATCHt *tmPCur;
-
-@@ -2035,6 +2050,8 @@
- *iPN = tmPCur->tpTorsion.iN;
- *dPKp = tmPCur->tpTorsion.dKp;
- *dPP0 = tmPCur->tpTorsion.dP0;
-+ *dPScee = tmPCur->tpTorsion.dScee;
-+ *dPScnb = tmPCur->tpTorsion.dScnb;
- strcpy(sDesc, tmPCur->tpTorsion.sDesc);
- }
-
-@@ -2050,7 +2067,7 @@
- BOOL
- bParmSetTORSIONAddProperTerm( TORSION tTorsion,
- char *cPType1, char *cPType2, char *cPType3, char *cPType4,
-- int iN, double dKp, double dP0, char *sDesc )
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc )
- {
- TORSIONPARMt tpTorsion;
-
-@@ -2066,6 +2083,8 @@
- tpTorsion.iN = iN;
- tpTorsion.dKp = dKp;
- tpTorsion.dP0 = dP0;
-+ tpTorsion.dScee = dScee;
-+ tpTorsion.dScnb = dScnb;
- strcpy(tpTorsion.sDesc, sDesc);
- strcpy( tpTorsion.sOrder, "0123" );
-
-@@ -2087,7 +2106,7 @@
- BOOL
- bParmSetTORSIONAddImproperTerm( TORSION tTorsion,
- char *cPType1, char *cPType2, char *cPType3, char *cPType4,
-- int iN, double dKp, double dP0, char *sDesc )
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc )
- {
- TORSIONPARMt tpTorsion;
- orderStr sOrder;
-@@ -2104,6 +2123,8 @@
- tpTorsion.iN = iN;
- tpTorsion.dKp = dKp;
- tpTorsion.dP0 = dP0;
-+ tpTorsion.dScee = dScee;
-+ tpTorsion.dScnb = dScnb;
- strcpy(tpTorsion.sDesc, sDesc);
- strcpy( tpTorsion.sOrder, sOrder );
-
-@@ -2516,7 +2537,7 @@
- void
- ParmSetTorsion( PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDesc)
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDesc)
- {
- TORSIONPARMt *tpPTorsion;
-
-@@ -2531,6 +2552,8 @@
- strcpy( sType4, WILD_CARD_TYPE );
- *iPN = 0;
- *dPKp = 0;
-+ *dPScee = 0;
-+ *dPScnb = 0;
- *dPP0 = 0;
- strcpy( sDesc, "??" );
- return;
-@@ -2543,7 +2566,10 @@
- *iPN = tpPTorsion->iN;
- *dPKp = tpPTorsion->dKp;
- *dPP0 = tpPTorsion->dP0;
-+ *dPScee = tpPTorsion->dScee;
-+ *dPScnb = tpPTorsion->dScnb;
- strcpy( sDesc, tpPTorsion->sDesc );
-+
- }
-
-
-@@ -2557,7 +2583,7 @@
- void
- ParmSetImproper( PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDesc)
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDesc)
- {
- TORSIONPARMt *tpPImproper;
-
-@@ -2573,6 +2599,8 @@
- *iPN = 0;
- *dPKp = 0;
- *dPP0 = 0;
-+ *dPScee = 0;
-+ *dPScnb = 0;
- strcpy( sDesc, "??" );
- return;
- }
-@@ -2584,6 +2612,8 @@
- *iPN = tpPImproper->iN;
- *dPKp = tpPImproper->dKp;
- *dPP0 = tpPImproper->dP0;
-+ *dPScee = tpPImproper->dScee;
-+ *dPScnb = tpPImproper->dScnb;
- strcpy( sDesc, tpPImproper->sDesc );
- }
-
-@@ -2740,7 +2770,7 @@
- void
- ParmSetUpdateTorsion( PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDescription)
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDescription)
- {
- TORSIONPARMt *tpPTorsion;
- orderStr sOrder;
-@@ -2754,6 +2784,8 @@
- if ( iPN != (int*)NULL ) tpPTorsion->iN = *iPN;
- if ( dPKp != (double*)NULL) tpPTorsion->dKp = *dPKp;
- if ( dPP0 != (double*)NULL) tpPTorsion->dP0 = *dPP0;
-+ if ( dPScee != (double*)NULL) tpPTorsion->dScee = *dPScee;
-+ if ( dPScnb != (double*)NULL) tpPTorsion->dScnb = *dPScnb;
- if (sDescription != (char*)NULL ) strcpy(tpPTorsion->sDesc, sDescription);
-
- strcpy( sOrder, "0123" );
-@@ -2777,7 +2809,7 @@
- void
- ParmSetUpdateImproper( PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDescription)
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDescription)
- {
- TORSIONPARMt *tpPTorsion;
- orderStr sOrder;
-@@ -2790,6 +2822,8 @@
- if ( iPN != (int*)NULL ) tpPTorsion->iN = *iPN;
- if ( dPKp != (double*)NULL) tpPTorsion->dKp = *dPKp;
- if ( dPP0 != (double*)NULL) tpPTorsion->dP0 = *dPP0;
-+ if ( dPScee != (double*)NULL) tpPTorsion->dScee = *dPScee;
-+ if ( dPScnb != (double*)NULL) tpPTorsion->dScnb = *dPScnb;
- if (sDescription != (char*)NULL ) strcpy(tpPTorsion->sDesc, sDescription);
-
- strcpy( sOrder, "0123" );
-@@ -2979,6 +3013,7 @@
- tpPCur->sType1, tpPCur->sType2,
- tpPCur->sType3, tpPCur->sType4,
- tpPCur->iN, tpPCur->dKp, tpPCur->dP0/DEGTORAD,
-+ tpPCur->dScee, tpPCur->dScnb,
- tpPCur->sOrder, tpPCur->sDesc );
- }
- }
-@@ -2996,6 +3031,7 @@
- tpPCur->sType1, tpPCur->sType2,
- tpPCur->sType3, tpPCur->sType4,
- tpPCur->iN, tpPCur->dKp, tpPCur->dP0/DEGTORAD,
-+ tpPCur->dScee, tpPCur->dScnb,
- tpPCur->sDesc );
- }
- }
-diff -urN amber11//AmberTools/src/leap/src/leap/parmSet.h amber11.new//AmberTools/src/leap/src/leap/parmSet.h
---- amber11//AmberTools/src/leap/src/leap/parmSet.h 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/parmSet.h 2011-05-19 18:35:57.000000000 +0300
-@@ -42,6 +42,9 @@
- *
- *
- */
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-
- #ifndef PARMSET_H
- #define PARMSET_H
-@@ -96,6 +99,8 @@
- int iN;
- double dKp;
- double dP0;
-+ double dScee; /* for propers */ /* Arunima Singh */
-+ double dScnb; /* for propers */ /* Arunima Singh */
- orderStr sOrder; /* for impropers */
- DESCRIPTION sDesc;
- } TORSIONPARMt;
-@@ -158,10 +163,10 @@
- double dKt, double dT0, double dTkub, double dRkub, char *sDesc);
- extern int iParmSetAddProperTerm(PARMSET psLib,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int iN, double dKp, double dP0, char *sDesc);
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc); /* for proper dihedrals */ /* Arunima Singh */
- extern int iParmSetAddImproperTerm(PARMSET psLib,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int iN, double dKp, double dP0, char *sDesc);
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc); /* Arunima Singh : added for proper dihedrals, but has to be included in impropers to maintain common data structure usage */
- extern int iParmSetAddHBond(PARMSET psLib, char *sType1, char *sType2,
- double dA, double dB, char *sDesc);
-
-@@ -216,15 +221,15 @@
- extern void ParmSetTORSIONTerm(TORSION tTorsion, int iTorsionIndex,
- int *iPParmSetIndex,
- char *cPTyp1, char *cPTyp2, char *cPTyp3, char *cPTyp4,
-- int *iPN, double *dPKp, double *dPP0, char *sDesc );
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDesc );
- extern BOOL bParmSetTORSIONAddProperTerm(TORSION tTorsion,
- char *cPType1, char *cPType2,
- char *cPType3, char *cPType4,
-- int iN, double dKp, double dP0, char *sDesc);
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc);
- extern BOOL bParmSetTORSIONAddImproperTerm(TORSION tTorsion,
- char *cPType1, char *cPType2,
- char *cPType3, char *cPType4,
-- int iN, double dKp, double dP0, char *sDesc);
-+ int iN, double dKp, double dP0, double dScee, double dScnb, char *sDesc);
- extern void ParmSetTORSIONOrderAtoms();
- extern void ParmSetImproperOrderAtoms( TORSION tTorsion, int iTorsionIndex,
- char *cPaTypes[4], int iaIndexes[4] );
-@@ -268,10 +273,10 @@
- char *sDesc);
- extern void ParmSetTorsion(PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDesc);
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDesc);
- extern void ParmSetImproper(PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0, char *sDesc);
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb, char *sDesc);
- extern void ParmSetHBond(PARMSET psLib, int i, char *sType1, char *sType2,
- double *dPA, double *dPB, char *sDesc);
-
-@@ -296,11 +301,11 @@
- double *dPKt, double *dPT0, char *sDescription);
- extern void ParmSetUpdateTorsion(PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0,
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb,
- char *sDescription);
- extern void ParmSetUpdateImproper(PARMSET psLib, int i,
- char *sType1, char *sType2, char *sType3, char *sType4,
-- int *iPN, double *dPKp, double *dPP0,
-+ int *iPN, double *dPKp, double *dPP0, double *dPScee, double *dPScnb,
- char *sDescription);
- extern void ParmSetUpdateHBond(PARMSET psLib, int i,
- char *sType1, char *sType2,
-diff -urN amber11//AmberTools/src/leap/src/leap/unitio.c amber11.new//AmberTools/src/leap/src/leap/unitio.c
---- amber11//AmberTools/src/leap/src/leap/unitio.c 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/unitio.c 2011-05-19 18:35:57.000000000 +0300
-@@ -70,6 +70,10 @@
- * zbUnitIOIndexBondParameters and zUnitDoAtoms are now "extern functions"
- */
-
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-+
- #include <time.h>
-
- #include "basics.h"
-@@ -1585,7 +1589,9 @@
- tC.dKp = tpA->dKp;
- tC.iN = tpA->iN;
- tC.dP0 = tpA->dP0;
-- VarArrayAdd(vaB, (GENP) & tC);
-+ tC.dScee = tpA->dScee;
-+ tC.dScnb = tpA->dScnb;
-+ VarArrayAdd(vaB, (GENP) & tC);
- iIndex++;
- iOldIndex = iParmOffset + iA + 1;
-
-@@ -1615,6 +1621,10 @@
- continue;
- if (tpB->dP0 != tpA->dP0)
- continue;
-+ if (tpB->dScee != tpA->dScee)
-+ continue;
-+ if (tpB->dScnb != tpA->dScnb)
-+ continue;
-
- /*
- * B is a duplicate of A
-@@ -1698,12 +1708,12 @@
- int iTerm, iPertTerm;
- BOOL bDone, bUse, bUsePert, bCopy, bCopyPert, bEnd, bPertEnd;
- int iN, iPertIndex, iPertN, iLastN, iLastPertN;
-- double dKp, dP0, dPertKp, dPertP0;
-+ double dKp, dP0, dScee, dScnb, dPertKp, dPertP0, dPertScee, dPertScnb;
- BOOL bCalc14, bCalcPert14;
- #ifdef DEBUG2
- STRING s1, s2, s3, s4;
- int iTParm, iTmp;
-- double dTK, dTP;
-+ double dTK, dTP, dTScee, dTScnb;
- STRING sT1, sT2, sT3, sT4, sTemp;
- #endif
- STRING sDesc;
-@@ -2016,9 +2026,9 @@
- ParmSetTORSIONTerm(tTorsion, i,
- &iTParm,
- sT1, sT2, sT3, sT4,
-- &iTmp, &dTK, &dTP, sTemp);
-- MESSAGE(("Term %3d %d %s-%s-%s-%s %d %lf %lf\n",
-- i, iTParm, sT1, sT2, sT3, sT4, iTmp, dTK, dTP));
-+ &iTmp, &dTK, &dTP, &dTScee, &dTScnb, sTemp);
-+ MESSAGE(("Term %3d %d %s-%s-%s-%s %d %lf %lf %lf %lf\n",
-+ i, iTParm, sT1, sT2, sT3, sT4, iTmp, dTK, dTP, dTScee, dTScnb));
- }
- if (bPerturbTorsion) {
- MESSAGE(("Pert%s %s-%s-%s-%s found %d terms\n",
-@@ -2029,9 +2039,9 @@
- ParmSetTORSIONTerm(tPertTorsion, i,
- &iTParm,
- sT1, sT2, sT3, sT4,
-- &iTmp, &dTK, &dTP, sTemp);
-- MESSAGE(("Term %3d %d %s-%s-%s-%s %d %lf %lf\n",
-- i, iTParm, sT1, sT2, sT3, sT4, iTmp, dTK, dTP));
-+ &iTmp, &dTK, &dTP, &dTScee, &dTScnb, sTemp);
-+ MESSAGE(("Term %3d %d %s-%s-%s-%s %d %lf %lf %lf %lf\n",
-+ i, iTParm, sT1, sT2, sT3, sT4, iTmp, dTK, dTP dTScee, dTScnb));
- }
- }
- #endif
-@@ -2061,7 +2071,7 @@
- ParmSetTORSIONTerm(tTorsion, iTerm,
- &iIndex,
- sAtom1, sAtom2, sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc);
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
- MESSAGE(("First non-perturbed multiplicity: %d\n", iN));
- } else {
- if (bProper) {
-@@ -2082,7 +2092,7 @@
- ParmSetTORSIONTerm(tPertTorsion, iPertTerm,
- &iPertIndex,
- sPert1, sPert2, sPert3, sPert4,
-- &iPertN, &dPertKp, &dPertP0, sDesc);
-+ &iPertN, &dPertKp, &dPertP0, &dPertScee, &dPertScnb, sDesc);
- MESSAGE(("First perturbed multiplicity: %d\n", iPertN));
- } else
- bPertEnd = TRUE;
-@@ -2175,14 +2185,14 @@
- if (bProper)
- iIndex = iParmSetAddProperTerm(uUnit->psParameters,
- sAtom1, sAtom2, sAtom3,
-- sAtom4, iN, dKp, dP0,
-- sDesc);
-+ sAtom4, iN, dKp, dP0,
-+ dScee, dScnb, sDesc);
- /* else if ( !GDefaults.iCharmm ) ???---should I do this???? */
- else
- iIndex = iParmSetAddImproperTerm(uUnit->psParameters,
- sAtom1, sAtom2,
- sAtom3, sAtom4, iN,
-- dKp, dP0, sDesc);
-+ dKp, dP0, dScee, dScnb, sDesc);
- }
- if (bCopyPert) {
- if (bProper) {
-@@ -2190,13 +2200,13 @@
- sPert1, sPert2,
- sPert3, sPert4,
- iPertN, dPertKp,
-- dPertP0, sDesc);
-+ dPertP0, dScee, dScnb, sDesc);
- } else {
- iPertIndex =
- iParmSetAddImproperTerm(uUnit->psParameters,
- sPert1, sPert2, sPert3,
- sPert4, iPertN, dPertKp,
-- dPertP0, sDesc);
-+ dPertP0, dScee, dScnb, sDesc);
- }
- MESSAGE(("iPertIndex = %d\n", iPertIndex));
- }
-@@ -2215,7 +2225,7 @@
- ParmSetTORSIONTerm(tTorsion, iTerm,
- &iIndex,
- sAtom1, sAtom2, sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc);
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
- }
- MESSAGE(
- ("Advancing non-perturbed multiplicity to %d\n",
-@@ -2231,7 +2241,7 @@
- ParmSetTORSIONTerm(tPertTorsion, iPertTerm,
- &iPertIndex,
- sPert1, sPert2, sPert3, sPert4,
-- &iPertN, &dPertKp, &dPertP0, sDesc);
-+ &iPertN, &dPertKp, &dPertP0, &dPertScee, &dPertScnb, sDesc);
- }
- MESSAGE(
- ("Advancing perturbed multiplicity to %d\n",
-@@ -3988,7 +3998,7 @@
- SAVEATOMt *saPAtom;
- SAVETORSIONt *stPTorsion;
- SAVERESTRAINTt *srPRestraint;
-- double dMass, dPolar, dR, dKb, dR0, dKt, dT0, dTkub, dRkub, dKp, dP0,
-+ double dMass, dPolar, dR, dKb, dR0, dKt, dT0, dTkub, dRkub, dKp, dP0, dScee, dScnb,
- dC, dD, dTemp;
- STRING sAtom1, sAtom2, sAtom3, sAtom4, sType1, sType2;
- int iN, iAtoms, iMaxAtoms, iTemp, iAtom, iCalc14, iProper;
-@@ -4585,16 +4595,16 @@
- iParmSetTotalImproperParms(uUnit->psParameters)));
- for (i = 0; i < iParmSetTotalTorsionParms(uUnit->psParameters); i++) {
- ParmSetTorsion(uUnit->psParameters, i, sAtom1, sAtom2,
-- sAtom3, sAtom4, &iN, &dKp, &dP0, sDesc);
-- MESSAGE(("Torsion %d %s-%s-%s-%s %d %lf %lf\n",
-- i, sAtom1, sAtom2, sAtom3, sAtom4, iN, dKp, dP0));
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
-+ MESSAGE(("Torsion %d %s-%s-%s-%s %d %lf %lf %lf %lf\n",
-+ i, sAtom1, sAtom2, sAtom3, sAtom4, iN, dKp, dP0, dScee, dScnb));
- FortranWriteDouble(dKp);
- }
- for (i = 0; i < iParmSetTotalImproperParms(uUnit->psParameters); i++) {
- ParmSetImproper(uUnit->psParameters, i, sAtom1, sAtom2,
-- sAtom3, sAtom4, &iN, &dKp, &dP0, sDesc);
-- MESSAGE(("Improper %d %s-%s-%s-%s %d %lf %lf\n",
-- i, sAtom1, sAtom2, sAtom3, sAtom4, iN, dKp, dP0));
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
-+ MESSAGE(("Improper %d %s-%s-%s-%s %d %lf %lf %lf %lf\n",
-+ i, sAtom1, sAtom2, sAtom3, sAtom4, iN, dKp, dP0, dScee, dScnb));
- FortranWriteDouble(dKp);
- }
- /* Write the torsion RESTRAINT constants AND set the index */
-@@ -4612,13 +4622,13 @@
- FortranFormat(5, DBLFORMAT);
- for (i = 0; i < iParmSetTotalTorsionParms(uUnit->psParameters); i++) {
- ParmSetTorsion(uUnit->psParameters, i, sAtom1, sAtom2,
-- sAtom3, sAtom4, &iN, &dKp, &dP0, sDesc);
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
- dTemp = iN;
- FortranWriteDouble(dTemp);
- }
- for (i = 0; i < iParmSetTotalImproperParms(uUnit->psParameters); i++) {
- ParmSetImproper(uUnit->psParameters, i, sAtom1, sAtom2,
-- sAtom3, sAtom4, &iN, &dKp, &dP0, sDesc);
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
- dTemp = iN;
- FortranWriteDouble(dTemp);
- }
-@@ -4637,12 +4647,12 @@
- FortranFormat(5, DBLFORMAT);
- for (i = 0; i < iParmSetTotalTorsionParms(uUnit->psParameters); i++) {
- ParmSetTorsion(uUnit->psParameters, i, sAtom1, sAtom2,
-- sAtom3, sAtom4, &iN, &dKp, &dP0, sDesc);
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
- FortranWriteDouble(dP0);
- }
- for (i = 0; i < iParmSetTotalImproperParms(uUnit->psParameters); i++) {
- ParmSetImproper(uUnit->psParameters, i, sAtom1, sAtom2,
-- sAtom3, sAtom4, &iN, &dKp, &dP0, sDesc);
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
- FortranWriteDouble(dP0);
- }
- /* Write the torsion RESTRAINT constants AND set the index */
-@@ -4650,6 +4660,60 @@
- RESTRAINTLOOP(RESTRAINTTORSION, dN, i + 1);
- FortranEndLine();
-
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added Printing SCEE/SCNB */
-+
-+
-+ /* -17.5A- SCEE for torsions */
-+ FortranDebug("-17.5A-");
-+
-+ MESSAGE(("Writing SCEE scale factor for torsion interaction\n"));
-+ FortranFormat(1, "%-80s");
-+ FortranWriteString("%FLAG SCEE_SCALE_FACTOR");
-+ FortranWriteString("%FORMAT(5E16.8)");
-+ FortranFormat(5, DBLFORMAT);
-+ for (i = 0; i < iParmSetTotalTorsionParms(uUnit->psParameters); i++) {
-+ ParmSetTorsion(uUnit->psParameters, i, sAtom1, sAtom2,
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
-+ FortranWriteDouble(dScee);
-+ }
-+ for (i = 0; i < iParmSetTotalImproperParms(uUnit->psParameters); i++) {
-+ ParmSetImproper(uUnit->psParameters, i, sAtom1, sAtom2,
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
-+ FortranWriteDouble(dScee);
-+ }
-+ /* Write the torsion RESTRAINT constants AND set the index */
-+ /* for where the interaction can find its constants */
-+ RESTRAINTLOOP(RESTRAINTTORSION, dX0, i + 1);
-+ FortranEndLine();
-+
-+ /* -17.5B- SCNB for torsions */
-+ FortranDebug("-17.5B-");
-+
-+ MESSAGE(("Writing SCNB scale factor for torsion interaction\n"));
-+ FortranFormat(1, "%-80s");
-+ FortranWriteString("%FLAG SCNB_SCALE_FACTOR");
-+ FortranWriteString("%FORMAT(5E16.8)");
-+ FortranFormat(5, DBLFORMAT);
-+ for (i = 0; i < iParmSetTotalTorsionParms(uUnit->psParameters); i++) {
-+ ParmSetTorsion(uUnit->psParameters, i, sAtom1, sAtom2,
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
-+ FortranWriteDouble(dScnb);
-+ }
-+ for (i = 0; i < iParmSetTotalImproperParms(uUnit->psParameters); i++) {
-+ ParmSetImproper(uUnit->psParameters, i, sAtom1, sAtom2,
-+ sAtom3, sAtom4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc);
-+ FortranWriteDouble(dScnb);
-+ }
-+ /* Write the torsion RESTRAINT constants AND set the index */
-+ /* for where the interaction can find its constants */
-+ RESTRAINTLOOP(RESTRAINTTORSION, dX0, i + 1);
-+ FortranEndLine();
-+
-+ /* Arunima Singh */
-+ /* End of adding SCEE/SCNB */
-+
- /* -18- Not used, reserved for future use, uses NATYP */
- /* Corresponds to the AMBER SOLTY array */
- FortranDebug("-18-");
-@@ -6009,7 +6073,7 @@
- SAVEATOMt *saPAtom;
- SAVETORSIONt *stPTorsion;
- SAVERESTRAINTt *srPRestraint;
--double dMass, dPolar, dR, dKb, dR0, dKt, dT0, dTkub, dRkub, dKp, dP0, dC, dD, dTemp;
-+double dMass, dPolar, dR, dKb, dR0, dKt, dT0, dTkub, dRkub, dKp, dP0, dScee, dScnb, dC, dD, dTemp;
- STRING sAtom1, sAtom2, sAtom3, sAtom4, sType1, sType2;
- int iN, iAtoms, iMaxAtoms, iTemp, iAtom, iCalc14, iProper;
- int iElement, iHybridization, iStart, iFirstSolvent;
-@@ -6547,19 +6611,19 @@
- for ( i=0; i<iParmSetTotalTorsionParms(uUnit->psParameters); i++ ) {
- ParmSetTorsion( uUnit->psParameters, i, sAtom1, sAtom2,
- sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-- MESSAGE(( "Torsion %d %s-%s-%s-%s %d %lf %lf\n",
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
-+ MESSAGE(( "Torsion %d %s-%s-%s-%s %d %lf %lf %lf %lf\n",
- i, sAtom1, sAtom2, sAtom3, sAtom4,
-- iN, dKp, dP0 ));
-+ iN, dKp, dP0, dScee, dScnb ));
- FortranWriteDouble( dKp );
- }
- for ( i=0; i<iParmSetTotalImproperParms(uUnit->psParameters); i++ ) {
- ParmSetImproper( uUnit->psParameters, i, sAtom1, sAtom2,
- sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-- MESSAGE(( "Improper %d %s-%s-%s-%s %d %lf %lf\n",
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
-+ MESSAGE(( "Improper %d %s-%s-%s-%s %d %lf %lf %lf %lf\n",
- i, sAtom1, sAtom2, sAtom3, sAtom4,
-- iN, dKp, dP0 ));
-+ iN, dKp, dP0, dScee, dScnb ));
- FortranWriteDouble( dKp );
- }
- /* Write the torsion RESTRAINT constants AND set the index */
-@@ -6575,14 +6639,14 @@
- for ( i=0; i<iParmSetTotalTorsionParms(uUnit->psParameters); i++ ) {
- ParmSetTorsion( uUnit->psParameters, i, sAtom1, sAtom2,
- sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
- dTemp = iN;
- FortranWriteDouble( dTemp );
- }
- for ( i=0; i<iParmSetTotalImproperParms(uUnit->psParameters); i++ ) {
- ParmSetImproper( uUnit->psParameters, i, sAtom1, sAtom2,
- sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
- dTemp = iN;
- FortranWriteDouble( dTemp );
- }
-@@ -6599,13 +6663,13 @@
- for ( i=0; i<iParmSetTotalTorsionParms(uUnit->psParameters); i++ ) {
- ParmSetTorsion( uUnit->psParameters, i, sAtom1, sAtom2,
- sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
- FortranWriteDouble( dP0 );
- }
- for ( i=0; i<iParmSetTotalImproperParms(uUnit->psParameters); i++ ) {
- ParmSetImproper( uUnit->psParameters, i, sAtom1, sAtom2,
- sAtom3, sAtom4,
-- &iN, &dKp, &dP0, sDesc );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
- FortranWriteDouble( dP0 );
- }
- /* Write the torsion RESTRAINT constants AND set the index */
-diff -urN amber11//AmberTools/src/leap/src/leap/xaImproperParmTable.c amber11.new//AmberTools/src/leap/src/leap/xaImproperParmTable.c
---- amber11//AmberTools/src/leap/src/leap/xaImproperParmTable.c 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/xaImproperParmTable.c 2011-05-19 18:35:57.000000000 +0300
-@@ -37,7 +37,9 @@
- * Handle editing of parameters in a table format.
- */
-
--
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-
- #include <X11/IntrinsicP.h>
- #include <X11/StringDefs.h>
-@@ -59,7 +61,10 @@
- #define NC 4
- #define KPC 5
- #define P0C 6
--#define DESCC 7
-+#define SCEE 7 /*Arunima Singh*/
-+#define SCNB 8 /*Arunima Singh*/
-+#define DESCC 9 /*Arunima Singh: Changed value from 7 to 9 to include scee and scnb*/
-+
-
- #define MAXTYPELEN 5
- #define DESCLEN 32
-@@ -129,13 +134,15 @@
- int iN;
- double dKp;
- double dP0;
-+double dScee;
-+double dScnb;
- char sDesc[DESCLEN];
-
-
- iptPCur = (IMPROPERPARMTABLEt*)PXATClientPointer(tTable);
-
- ParmSetImproper( iptPCur->psParmSet, iRow,
-- sType1, sType2, sType3, sType4, &iN, &dKp, &dP0, sDesc );
-+ sType1, sType2, sType3, sType4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
-
- switch ( iCol ) {
- case TYPE1C:
-@@ -171,6 +178,14 @@
- }
- return(SsBuffer);
- break;
-+ case SCEE:
-+ sprintf( SsBuffer, DBLFMT, dScee );
-+ return(SsBuffer);
-+ break;
-+ case SCNB:
-+ sprintf( SsBuffer, DBLFMT, dScnb );
-+ return(SsBuffer);
-+ break;
- case DESCC:
- strcpy( SsBuffer, sDesc );
- return( SsBuffer );
-@@ -259,6 +274,16 @@
- if ( !strcmp( cPData, "0" )) break;
- return("P0 field must be '0' or 'Pi'.");
- break;
-+ case SCEE:
-+ if ( !bStringToDouble( cPData, &dValue ) ) {
-+ return("Invalid character in Scee field.");
-+ }
-+ break;
-+ case SCNB:
-+ if ( !bStringToDouble( cPData, &dValue ) ) {
-+ return("Invalid character in Scnb field.");
-+ }
-+ break;
- case DESCC:
- if ( strlen(cPData)>DESCLEN-1 ) {
- sprintf( SsError, "%s %d characters.",
-@@ -384,11 +409,33 @@
- return("P0 field must be '0' or 'Pi'.");
- }
-
-+ /*
-+ * Scee
-+ */
-+ *iPErrCol = 7;
-+ cPData = col[7];
-+ if ( !bStringToDouble( cPData, &dValue ) ) {
-+ return("Invalid character in Scee field.");
-+ } else if ( dValue < 0.0 ) {
-+ return("Scee cannot be negative.");
-+ }
-+
-+ /*
-+ * Scnb
-+ */
-+ *iPErrCol = 8;
-+ cPData = col[8];
-+ if ( !bStringToInt( cPData, &iValue ) ) {
-+ return("Invalid character in Scnb field.");
-+ } else if ( dValue < 0.0 ) {
-+ return("Scnb cannot be negative.");
-+ }
-+
- /*
- * Desc
- */
-- *iPErrCol = 7;
-- cPData = col[7];
-+ *iPErrCol = 9;
-+ cPData = col[9];
- if ( strlen(cPData) > DESCLEN-1 ) {
- sprintf( SsError, "%s %d characters.",
- "Parameter Description cannot be longer than",
-@@ -413,7 +460,8 @@
- int iN;
- double dKp;
- double dP0;
--
-+double dScee;
-+double dScnb;
-
- iptPCur = (IMPROPERPARMTABLEt*) PXATClientPointer(tTable);
- psParmSet = iptPCur->psParmSet;
-@@ -444,7 +492,7 @@
- col[0], col[1], col[2], col[3] ));
- if ( iRow != iParmSetAddImproperTerm( psParmSet,
- col[0], col[1], col[2], col[3],
-- iN, dKp, dP0, col[7] ) )
-+ iN, dKp, dP0, dScee, dScnb, col[9] ) )
- DFATAL(( "programming err 2 in zXAIPTAcceptRow\n" ));
- } else {
- /*
-@@ -452,7 +500,7 @@
- */
- ParmSetUpdateImproper( psParmSet, iRow,
- col[0], col[1], col[2], col[3],
-- &iN, &dKp, &dP0, col[7] );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, col[9] );
- }
- }
-
-diff -urN amber11//AmberTools/src/leap/src/leap/xaTorsionParmTable.c amber11.new//AmberTools/src/leap/src/leap/xaTorsionParmTable.c
---- amber11//AmberTools/src/leap/src/leap/xaTorsionParmTable.c 2011-03-10 20:12:06.000000000 +0200
-+++ amber11.new//AmberTools/src/leap/src/leap/xaTorsionParmTable.c 2011-05-19 18:35:57.000000000 +0300
-@@ -37,6 +37,9 @@
- * Handle editing of parameters in a table format.
- */
-
-+ /* Arunima Singh (UGA) */
-+ /* 20110420 */
-+ /* Added SCEE/SCNB */
-
- #include <X11/IntrinsicP.h>
- #include <X11/StringDefs.h>
-@@ -58,7 +61,9 @@
- #define NC 4
- #define KPC 5
- #define P0C 6
--#define DESCC 7
-+#define SCEE 7 /*Arunima Singh*/
-+#define SCNB 8 /*Arunima Singh*/
-+#define DESCC 9 /*Arunima Singh: Changed value from 7 to 9 to include scee and scnb*/
-
- #define MAXTYPELEN 5
- #define DESCLEN 32
-@@ -112,7 +117,7 @@
- * zcPXATPTGetElement
- *
- * Get the values for the elements of the TABLE from the
-- * particular Torsion Parmeter Entry.
-+ * particular Torsion Parameter Entry.
- */
- static char *
- zcPXATPTGetElement( TABLE tTable, int iCol, int iRow )
-@@ -126,13 +131,15 @@
- int iN;
- double dKp;
- double dP0;
-+double dScee;
-+double dScnb;
- char sDesc[DESCLEN];
-
-
- tptPCur = (TORSIONPARMTABLEt*)PXATClientPointer(tTable);
-
- ParmSetTorsion( tptPCur->psParmSet, iRow,
-- sType1, sType2, sType3, sType4, &iN, &dKp, &dP0, sDesc );
-+ sType1, sType2, sType3, sType4, &iN, &dKp, &dP0, &dScee, &dScnb, sDesc );
-
- switch ( iCol ) {
- case TYPE1C:
-@@ -168,6 +175,14 @@
- }
- return(SsBuffer);
- break;
-+ case SCEE:
-+ sprintf( SsBuffer, DBLFMT, dScee );
-+ return(SsBuffer);
-+ break;
-+ case SCNB:
-+ sprintf( SsBuffer, DBLFMT, dScnb );
-+ return(SsBuffer);
-+ break;
- case DESCC:
- strcpy( SsBuffer, sDesc );
- return( SsBuffer );
-@@ -256,6 +271,16 @@
- if ( !strcmp( cPData, "0" )) break;
- return("P0 field must be '0' or 'Pi'.");
- break;
-+ case SCEE:
-+ if ( !bStringToDouble( cPData, &dValue ) ) {
-+ return("Invalid character in Scee field.");
-+ }
-+ break;
-+ case SCNB:
-+ if ( !bStringToDouble( cPData, &dValue ) ) {
-+ return("Invalid character in Scnb field.");
-+ }
-+ break;
- case DESCC:
- if ( strlen(cPData)>DESCLEN-1 ) {
- sprintf( SsError, "%s %d characters.",
-@@ -379,11 +404,33 @@
- return("P0 field must be '0' or 'Pi'.");
- }
-
-+ /*
-+ * Scee
-+ */
-+ *iPErrCol = 7;
-+ cPData = col[7];
-+ if ( !bStringToDouble( cPData, &dValue ) ) {
-+ return("Invalid character in Scee field.");
-+ } else if ( dValue < 0.0 ) {
-+ return("Scee cannot be negative.");
-+ }
-+
-+ /*
-+ * Scnb
-+ */
-+ *iPErrCol = 8;
-+ cPData = col[8];
-+ if ( !bStringToInt( cPData, &iValue ) ) {
-+ return("Invalid character in Scnb field.");
-+ } else if ( dValue < 0.0 ) {
-+ return("Scnb cannot be negative.");
-+ }
-+
- /*
- * Desc
- */
-- *iPErrCol = 7;
-- cPData = col[7];
-+ *iPErrCol = 9;
-+ cPData = col[9];
- if ( strlen(cPData) > DESCLEN-1 ) {
- sprintf( SsError, "%s %d characters.",
- "Parameter Description cannot be longer than",
-@@ -408,6 +455,8 @@
- int iN;
- double dKp;
- double dP0;
-+double dScee;
-+double dScnb;
-
- tptPCur = (TORSIONPARMTABLEt*) PXATClientPointer(tTable);
- psParmSet = tptPCur->psParmSet;
-@@ -438,15 +487,15 @@
- col[0], col[1], col[2], col[3] ));
- if ( iRow != iParmSetAddProperTerm( psParmSet,
- col[0], col[1], col[2], col[3],
-- iN, dKp, dP0, col[7] ) )
-- DFATAL(( "programming err 2 in zXATPTAcceptRow\n" ));
-+ iN, dKp, dP0, dScee, dScnb, col[9] ) ) /*Arunima singh*/
-+ DFATAL(( "programming err 2 in zXATPTAcceptRow\n" ));
- } else {
- /*
- * update row in place
- */
- ParmSetUpdateTorsion( psParmSet, iRow,
- col[0], col[1], col[2], col[3],
-- &iN, &dKp, &dP0, col[7] );
-+ &iN, &dKp, &dP0, &dScee, &dScnb, col[9] ); /*Arunima singh*/
- }
- }
-
-diff -urN amber11//AmberTools/src/mmpbsa_py/MMPBSA_mods/alamdcrd.py amber11.new//AmberTools/src/mmpbsa_py/MMPBSA_mods/alamdcrd.py
---- amber11//AmberTools/src/mmpbsa_py/MMPBSA_mods/alamdcrd.py 2011-04-14 15:30:17.000000000 +0300
-+++ amber11.new//AmberTools/src/mmpbsa_py/MMPBSA_mods/alamdcrd.py 2011-05-19 18:35:57.000000000 +0300
-@@ -371,7 +371,7 @@
- coords_received = _scaledistance(coords_tosend, chdist)
-
- for i in range(3):
-- new_coords.append(coords_received[x+3])
-+ new_coords.append(coords_received[i+3])
-
- coords_tosend = []
- coords_received = []
-diff -urN amber11//AmberTools/src/mmpbsa_py/setup.sh amber11.new//AmberTools/src/mmpbsa_py/setup.sh
---- amber11//AmberTools/src/mmpbsa_py/setup.sh 2011-04-14 15:30:18.000000000 +0300
-+++ amber11.new//AmberTools/src/mmpbsa_py/setup.sh 2011-05-19 18:35:57.000000000 +0300
-@@ -10,7 +10,8 @@
-
- # require AMBERHOME
- if [ -z $AMBERHOME ]; then
-- export AMBERHOME=`dirname \`dirname $PWD\``
-+ AMBERHOME=`dirname \`dirname $PWD\``
-+ export AMBERHOME=`dirname $AMBERHOME`
- echo "AMBERHOME is not set. Assuming it is $AMBERHOME"
- fi
-
-diff -urN amber11//AmberTools/test/nab/Run.prm amber11.new//AmberTools/test/nab/Run.prm
---- amber11//AmberTools/test/nab/Run.prm 2011-04-14 15:30:23.000000000 +0300
-+++ amber11.new//AmberTools/test/nab/Run.prm 2011-05-19 18:35:57.000000000 +0300
-@@ -17,7 +17,7 @@
-
- echo "checking the prmtop file:"
- echo ""
--tail -3209 tprmtop > tprmtop1
-+tail -3228 tprmtop > tprmtop1
- ../dacdif tprmtop.check tprmtop1
-
- rm -f prm prm.c tleap.out leap.log tprmcrd prm.out1 tprmtop
-diff -urN amber11//AmberTools/test/nab/tprmtop.check amber11.new//AmberTools/test/nab/tprmtop.check
---- amber11//AmberTools/test/nab/tprmtop.check 2011-03-10 20:12:18.000000000 +0200
-+++ amber11.new//AmberTools/test/nab/tprmtop.check 2011-05-19 18:35:57.000000000 +0300
-@@ -1,3 +1,4 @@
-+%VERSION VERSION_STAMP = V0001.000 DATE = 05/09/11 12:59:19
- %FLAG TITLE
- %FORMAT(20a4)
-
-@@ -541,6 +542,24 @@
- 3.14159400E+00 3.14159400E+00 3.14159400E+00 3.14159400E+00 3.14159400E+00
- 3.14159400E+00 3.14159400E+00 3.14159400E+00 3.14159400E+00 3.14159400E+00
- 3.14159400E+00 3.14159400E+00 3.14159400E+00
-+%FLAG SCEE_SCALE_FACTOR
-+%FORMAT(5E16.8)
-+ 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00
-+ 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00
-+ 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00
-+ 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00
-+ 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00
-+ 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00 1.20000000E+00
-+ 0.00000000E+00 0.00000000E+00 0.00000000E+00
-+%FLAG SCNB_SCALE_FACTOR
-+%FORMAT(5E16.8)
-+ 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00
-+ 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00
-+ 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00
-+ 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00
-+ 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00
-+ 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00
-+ 0.00000000E+00 0.00000000E+00 0.00000000E+00
- %FLAG SOLTY
- %FORMAT(5E16.8)
- 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00