public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/sci:master commit in: patches/
@ 2014-11-11  8:30 Justin Lecher
  0 siblings, 0 replies; 7+ messages in thread
From: Justin Lecher @ 2014-11-11  8:30 UTC (permalink / raw
  To: gentoo-commits

commit:     355215213243ea762bfce64b8111f9cfdd87a34d
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 11 08:29:51 2014 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Tue Nov 11 08:29:51 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=35521521

move large patches to patch dir

Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

---
 patches/ambertools-12-bugfix_14-26.patch | 14856 +++++++++++++++++++++++++++++
 1 file changed, 14856 insertions(+)

diff --git a/patches/ambertools-12-bugfix_14-26.patch b/patches/ambertools-12-bugfix_14-26.patch
new file mode 100644
index 0000000..da9712c
--- /dev/null
+++ b/patches/ambertools-12-bugfix_14-26.patch
@@ -0,0 +1,14856 @@
+diff --git a/AmberTools/src/configure2 b/AmberTools/src/configure2
+index 25d3f0a..9ce5ef0 100755
+--- a/AmberTools/src/configure2
++++ b/AmberTools/src/configure2
+@@ -24,17 +24,19 @@ Usage: ./configure [flags] compiler
+                      in your PATH; Note: you must first configure and build 
+                      a serial AmberTools.
+       -cuda          Builds the NVIDIA GPU version of pmemd (pmemd.cuda and
+-                     pmemd.cuda.MPI) with default SPDP hybrid precision.
++                     pmemd.cuda.MPI) with default SPFP mixed single/double/
++                     fixed-point precision.
+                      (Note: Set CUDA_HOME to your cuda build tools installation
+                      path.)
+-      -cuda_SPDP     Currently just an alias to CUDA
+-      -cuda_DPDP     Builds the NVIDIA GPU version of pmemd (pmemd.cuda and
+-                     pmemd.cuda.MPI) with full double precision. (Considerably
+-                     slower than SPDP for many cards without a meaningful gain
+-                     in accuracy)
+-      -cuda_SPSP     Builds the NVIDIA GPU version of pmemd (pmemd.cuda and
+-                     pmemd.cuda.MPI) with full single precision. (Not a good
+-                     choice for production runs!)
++      -cuda_SPDP     Builds the NVIDIA GPU version of pmemd (pmemd_SPDP.cuda and
++                     pmemd.cuda_SPDP.MPI) with SPDP hybrid precision. (This was
++                     the default for previous versions of AMBER but has now been
++                     superseded by the SPFP mixed precision model).
++      -cuda_DPDP     Builds the NVIDIA GPU version of pmemd (pmemd.cuda_DPDP and
++                     pmemd.cuda_DPDP.MPI) with full double precision. (Considerably
++                     slower than SPDP and SPFP for many cards without a meaningful
++                     gain in accuracy)
++      -cuda_SPFP     Currently an alias to -cuda.
+       -openmp        Use OpenMP pragmas to parallelize NAB and paramfit
+                      (not available for pgi).
+                      Do not use -openmp and -mpi at the same time. Type "make
+@@ -149,8 +151,8 @@ fi
+ #------------------------------------------------------------------------------
+ mpi='no'
+ mpinab=''
+-cuda='no'
+-cuda_SPSP='no'
++cuda_SPFP='no'
++cuda_SPDP='no'
+ cuda_DPDP='no'
+ scali='no'
+ scalapack='no'
+@@ -222,9 +224,9 @@ if [ $# -lt 1 ]; then usage; fi
+ while [ $# -gt 0 ]; do
+     case "$1" in
+         -mpi)           mpi='yes'; mpinab='mpi'; mdgx='no';mtkpp='' ;;
+-        -cuda)          cuda='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
+-        -cuda_SPDP)     cuda='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
+-        -cuda_SPSP)     cuda_SPSP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
++        -cuda)          cuda_SPFP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
++        -cuda_SPFP)     cuda_SPFP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
++        -cuda_SPDP)     cuda_SPDP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
+         -cuda_DPDP)     cuda_DPDP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
+         -scali)         scali='yes' ;;
+         -scalapack)     scalapack='yes' ;;
+@@ -443,22 +445,22 @@ if [ "$noX11" = "false" ]; then
+         echo "       On old Fedora OS's install the xorg-x11-devel package."
+         echo "       On RedHat OS's install the XFree86-devel package."
+         echo "       On Ubuntu OS's install the xorg-dev package."
+-	echo "       To build Amber without XLEaP, re-run configure with '-no-X11:"
+-        echo "            `mod_command_args '' '-no-X11'`"
+-	exit 1
++        echo "       To build Amber without XLEaP, re-run configure with '-noX11:"
++        echo "            `mod_command_args '' '-noX11'`"
++        exit 1
+     fi
+ 
+     if [ -d /usr/include/X11/extensions ]
+     then
+         empty_statement=
+-    else
++    elif [ "$is_mac" = "no" ]; then
+         echo "ERROR: the X11 extensions headers are not in the usual location!"
+         echo "       To search for them try the command: locate X11/extensions"
+         echo "       On new Fedora OSes install libXext-devel"
+         echo "       On RedHat OSes install libXext-devel"
+-	echo "       To build Amber without XLEaP, re-run configure with '-no-X11:"
+-        echo "            `mod_command_args '' '-no-X11'`"
+-	exit 1
++        echo "       To build Amber without XLEaP, re-run configure with '-noX11:"
++        echo "            `mod_command_args '' '-noX11'`"
++        exit 1
+     fi
+ fi
+ 
+@@ -544,7 +546,7 @@ fi
+ #------------------------------------------------------------------------------
+ #  Determine which type of installation we're doing
+ #------------------------------------------------------------------------------
+-if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+    if [ "$mpi" = 'yes' ]; then
+       installtype='cuda_parallel'
+    else
+@@ -559,7 +561,7 @@ fi
+ #------------------------------------------------------------------------------
+ #  Check for cuda incompatibilities or missing files:
+ #------------------------------------------------------------------------------
+-if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+     if [ -z "$CUDA_HOME" ]; then
+         echo "Error: CUDA_HOME is not set. This must point to your NVIDIA tools installation"
+         exit 1
+@@ -572,25 +574,26 @@ if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+         echo "Error: nvcc cuda compiler not found in $CUDA_HOME/bin/"
+         exit 1
+     fi
+-    #Check for mixing of cuda with cuda_SPSP or cuda_DPDP debugging options.
+-    #cuda      = SPDP mixed precision (default)
+-    #cuda_SPSP = SPSP single precision only - except shake (debug option!)
++    #Check for mixing of cuda with cuda_SPDP or cuda_DPDP debugging options.
++    #cuda      = SPFP mixed single/double/fixed-point precision (default)
++    #cuda_SPFP = SPFP mixed single/double/fixed-point precision (default)
++    #cuda_SPDP = SPDP hybrid single/double precision (debug option!)
+     #cuda_DPDP = DPDP double precision only (debug option!)
+-    if [ "$cuda" = 'yes' ]; then
+-      if [ "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+-        echo "Error: specification of -cuda, -cuda_SPSP and -cuda_DPDP are mutually exclusive"
++    if [ "$cuda_SPFP" = 'yes' ]; then
++      if [ "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++        echo "Error: specification of -cuda, -cuda_SPDP and -cuda_DPDP are mutually exclusive"
+         exit 1
+       fi
+     fi
+-    if [ "$cuda_SPSP" = 'yes' ]; then
+-      if [ "$cuda" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+-        echo "Error: specification of -cuda, -cuda_SPSP and -cuda_DPDP are mutually exclusive"
++    if [ "$cuda_SPDP" = 'yes' ]; then
++      if [ "$cuda_SPFP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++        echo "Error: specification of -cuda, -cuda_SPDP and -cuda_DPDP are mutually exclusive"
+         exit 1
+       fi
+     fi
+     if [ "$cuda_DPDP" = 'yes' ]; then
+-      if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' ]; then
+-        echo "Error: specification of -cuda, -cuda_SPSP and -cuda_DPDP are mutually exclusive"
++      if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' ]; then
++        echo "Error: specification of -cuda, -cuda_SPDP and -cuda_DPDP are mutually exclusive"
+         exit 1
+       fi
+     fi
+@@ -736,14 +739,15 @@ gnu)
+     pmemd_coptflags="$coptflags"
+ 
+     #CUDA Specifics
+-    if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++    if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+       pmemd_cu_includes='-I$(CUDA_HOME)/include -IB40C -IB40C/KernelCommon'
+       pmemd_cu_defines='-DCUDA'
+       pmemd_cu_libs='./cuda/cuda.a -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib -lcurand -lcufft -lcudart'
+       if [ "$optimise" = 'no' ]; then
+-        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
++        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
+       else
+-        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O3 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
++	#2012/05/30 - Removed -O3 here because of 'possible' performance regression. - Scott sees this. Ross can't reproduce it.
++        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
+       fi
+       if [ "$mpi" = 'yes' ]; then
+         mpi_inc=`(mpicc -show 2>&1) | awk 'BEGIN{i=0} {while (i < NF) {if ( substr($i, 1, 2) == "-I" ) {printf("%s ", $i);}; i++;}}'`
+@@ -752,8 +756,11 @@ gnu)
+         pmemd_coptflags="$coptflags -DMPICH_IGNORE_CXX_SEEK"
+       fi
+     fi
+-    if [ "$cuda_SPSP" = 'yes' ]; then
+-      pmemd_cu_defines="$pmemd_cu_defines -Duse_SPSP"
++    if [ "$cuda_SPFP" = 'yes' ]; then
++      pmemd_cu_defines="$pmemd_cu_defines -Duse_SPFP"
++    fi
++    if [ "$cuda_SPDP" = 'yes' ]; then
++      pmemd_cu_defines="$pmemd_cu_defines -Duse_SPDP"
+     fi
+     if [ "$cuda_DPDP" = 'yes' ]; then
+       pmemd_cu_defines="$pmemd_cu_defines -Duse_DPDP"
+@@ -1001,7 +1008,7 @@ intel)
+       fi
+ 
+       #CUDA Specifics
+-      if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++      if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+ 
+         # -ipo (multi-file Interprocedural Optimizations optimizations) causes issues with 
+         #  CUDA c code linking. Leave at a single-file IPO for the moment MJW
+@@ -1012,9 +1019,10 @@ intel)
+         pmemd_cu_defines='-DCUDA'
+         pmemd_cu_libs='./cuda/cuda.a -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib -lcurand -lcufft -lcudart'
+         if [ "$optimise" = 'yes' ]; then
+-            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O3 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
++	#2012/05/30 - Removed -O3 here because of 'possible' performance regression. - Scott sees this. Ross can't reproduce it.
++            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
+         else
+-            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
++            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
+         fi
+ 
+         if [ "$mpi" = 'yes' ]; then
+@@ -1024,8 +1032,11 @@ intel)
+           pmemd_coptflags="$pmemd_coptflags -DMPICH_IGNORE_CXX_SEEK"
+         fi
+       fi
+-      if [ "$cuda_SPSP" = 'yes' ]; then
+-        pmemd_cu_defines="$pmemd_cu_defines -Duse_SPSP"
++      if [ "$cuda_SPFP" = 'yes' ]; then
++        pmemd_cu_defines="$pmemd_cu_defines -Duse_SPFP"
++      fi
++      if [ "$cuda_SPDP" = 'yes' ]; then
++        pmemd_cu_defines="$pmemd_cu_defines -Duse_SPDP"
+       fi
+       if [ "$cuda_DPDP" = 'yes' ]; then
+         pmemd_cu_defines="$pmemd_cu_defines -Duse_DPDP"
+@@ -1131,7 +1142,7 @@ pgi)
+         foptflags="$foptflags -fastsse"
+     fi
+ 
+-    if [ "$cuda" = "yes" -o "$cuda_SPSP" = "yes" -o "$cuda_DPDP" = "yes" ]; then
++    if [ "$cuda_SPFP" = "yes" -o "$cuda_SPDP" = "yes" -o "$cuda_DPDP" = "yes" ]; then
+         echo "ERROR: cuda is not available for pgi."
+         echo "       Please re-run configure without CUDA flags to use this compiler:"
+         echo "            `mod_command_args '-cuda -cuda_SPDP -cuda_DPDP' ''`"
+@@ -1258,7 +1269,7 @@ solaris)
+         flibs_arch="$flibs_arch $SCALAPACKHOME/scalapack_SUN64.a $BLACSHOME/blacsF77init_MPI-SUN64-0.a $BLACSHOME/blacs_MPI-SUN64-0.a $BLACSHOME/blacsCinit_MPI-SUN64-0.a -lmpi"
+     fi
+ 
+-    if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++    if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
+         echo "ERROR: cuda is not available for solaris."
+         echo "       Please re-run configure without CUDA flags to use this compiler:"
+         echo "            `mod_command_args '-cuda -cuda_SPDP -cuda_DPDP' ''`"
+@@ -1306,6 +1317,13 @@ open64)
+        echo "open64 setting is experimental."
+     fi
+ 
++    if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
++        echo "ERROR: CUDA is not compatible with this compiler"
++        echo "       Please re-run configure without CUDA flags to use this compiler:"
++        echo "            `mod_command_args '-cuda -cuda_SPDP -cuda_DPDP' ''`"
++        exit 1
++    fi
++
+     if [ "$mpi" = 'yes' ]; then
+        ld=' mpif90 '
+     else
+diff --git a/AmberTools/src/cpptraj/src/ActionList.cpp b/AmberTools/src/cpptraj/src/ActionList.cpp
+index db3a157..f999e7f 100644
+--- a/AmberTools/src/cpptraj/src/ActionList.cpp
++++ b/AmberTools/src/cpptraj/src/ActionList.cpp
+@@ -33,6 +33,7 @@
+ #include "Action_Rotdif.h"
+ #include "Action_RunningAvg.h"
+ #include "Action_RmsAvgCorr.h"
++#include "Action_AutoImage.h"
+ 
+ // CONSTRUCTOR
+ ActionList::ActionList() {
+@@ -77,7 +78,7 @@ int ActionList::AddAction(ArgList &argIn) {
+   else if (argIn.CommandIs("secstruct"))      {Act=new DSSP;    }
+   else if (argIn.CommandIs("center"))         {Act=new Center;  }
+   else if (argIn.CommandIs("hbond"))          {Act=new Hbond;   }
+-  else if (argIn.CommandIs("image"))          {Act=new Image;   }
++  else if (argIn.CommandIs("image"))          {Act=new Action_Image;   }
+   else if (argIn.CommandIs("surf"))           {Act=new Surf;    }
+   else if (argIn.CommandIs("radgyr"))         {Act=new Radgyr;  }
+   else if (argIn.CommandIs("mask"))           {Act=new ActionMask;}
+@@ -101,6 +102,7 @@ int ActionList::AddAction(ArgList &argIn) {
+   else if (argIn.CommandIs("runningaverage")) {Act=new RunningAvg;}
+   else if (argIn.CommandIs("runavg"))         {Act=new RunningAvg;}
+   else if (argIn.CommandIs("rmsavgcorr"))     {Act=new RmsAvgCorr;}
++  else if (argIn.CommandIs("autoimage"))      {Act=new Action_AutoImage;}
+   // PTRAJ
+   else if (argIn.CommandIs("atomicfluct") ||
+            argIn.CommandIs("atomicfluct3D") ||
+diff --git a/AmberTools/src/cpptraj/src/Action_AutoImage.cpp b/AmberTools/src/cpptraj/src/Action_AutoImage.cpp
+index e69de29..ca61dc6 100644
+--- a/AmberTools/src/cpptraj/src/Action_AutoImage.cpp
++++ b/AmberTools/src/cpptraj/src/Action_AutoImage.cpp
+@@ -0,0 +1,273 @@
++#include "Action_AutoImage.h"
++#include "CpptrajStdio.h"
++#include "DistRoutines.h"
++
++// CONSTRUCTOR
++Action_AutoImage::Action_AutoImage() :
++  origin_(false),
++  ortho_(false),
++  center_(false),
++  truncoct_(false),
++  triclinic_(OFF)
++{}
++
++// Action_AutoImage::init()
++/** Usage: autoimage <mask> | anchor <mask> [fixed <fmask>] [mobile <mmask>]
++  *                  [origin] [familiar | triclinic]
++  */
++int Action_AutoImage::init() {
++  // Get keywords
++  origin_ = actionArgs.hasKey("origin");
++  center_ = actionArgs.hasKey("center");
++  if (actionArgs.hasKey("familiar")) triclinic_ = FAMILIAR;
++  if (actionArgs.hasKey("triclinic")) triclinic_ = FORCE;
++  anchor_ = actionArgs.getKeyString("anchor",NULL);
++  fixed_  = actionArgs.getKeyString("fixed",NULL);
++  mobile_ = actionArgs.getKeyString("mobile",NULL);
++  // Get mask expression for anchor if none yet specified
++  if (anchor_==NULL)  
++    anchor_ = actionArgs.getNextMask();
++
++  mprintf("    AUTOIMAGE: To");
++  if (origin_)
++    mprintf(" origin");
++  else
++    mprintf(" box center");
++  mprintf(" based on");
++  if (center_)
++    mprintf(" center of mass");
++  else
++    mprintf(" first atom position");
++  if (anchor_!=NULL)
++    mprintf(", anchor mask is [%s]\n", anchor_);
++  else
++    mprintf(", anchor is first molecule.\n");
++  if (fixed_!=NULL)
++    mprintf("\tAtoms in mask [%s] will be fixed to anchor region.\n", fixed_);
++  if (mobile_!=NULL)
++    mprintf("\tAtoms in mask [%s] will be imaged independently of anchor region.\n",
++            mobile_);
++
++  return 0;
++}
++
++// Action_AutoImage::SetupAtomRanges()
++/** Based on the given atom mask expression determine what molecules are
++  * selected by the mask.
++  * \return A list of atom pairs that mark the beginning and end of each
++  *         selected molecule.
++  */
++Action_AutoImage::pairList Action_AutoImage::SetupAtomRanges( const char* maskexpr )
++{
++  pairList imageList;
++  AtomMask Mask1;
++  if (Mask1.SetMaskString( (char*)maskexpr )) return imageList;
++
++  if (currentParm->SetupCharMask( Mask1, activeReference )) return imageList;
++  if (Mask1.None()) return imageList;
++
++  int* AtomsPerMol = currentParm->AtomsPerMol_ptr();
++  int firstAtom = 0;
++  int lastAtom = 0;
++  for (int molnum = 0; molnum < currentParm->Nmol(); ++molnum)
++  {
++    firstAtom = lastAtom;
++    lastAtom += AtomsPerMol[ molnum ];
++    // Check that each atom in the range is in Mask1
++    bool rangeIsValid = true;
++    for (int atom = firstAtom; atom < lastAtom; ++atom) {
++      if (!Mask1.AtomInCharMask(atom)) {
++        rangeIsValid = false;
++        break;
++      }
++    }
++    if (rangeIsValid) {
++      imageList.push_back( firstAtom );
++      imageList.push_back( lastAtom );
++    }
++  }
++  mprintf("\tMask [%s] corresponds to %zu molecules\n", Mask1.MaskString(), imageList.size()/2);
++  return imageList;
++}
++
++// Action_AutoImage::setup()
++int Action_AutoImage::setup() {
++  bool fixedauto = false;
++  bool mobileauto = false;
++
++  // Require molecule info
++  int* AtomsPerMol = currentParm->AtomsPerMol_ptr();
++  if (AtomsPerMol == NULL) {
++    mprinterr("Error: AutoImage: No molecule information in %s\n", currentParm->parmName);
++    return 1;
++  }
++  // Determine Box info
++  if (currentParm->boxType==NOBOX) {
++    mprintf("Warning: Image::setup: Parm %s does not contain box information.\n",
++            currentParm->parmName);
++    return 1;
++  }
++  ortho_ = false;
++  if (currentParm->boxType==ORTHO && triclinic_==OFF) ortho_=true;
++  // If box is originally truncated oct and not forcing triclinic, 
++  // turn familiar on.
++  if (AmberIfbox( currentParm->Box[4] )==2 && triclinic_!=FORCE && triclinic_!=FAMILIAR) {
++    mprintf("\tOriginal box is truncated octahedron, turning on 'familiar'.\n");
++    triclinic_=FAMILIAR;
++  }
++
++  // Set up anchor region
++  if (anchor_!=NULL) {
++    anchorList_ = SetupAtomRanges( anchor_ );
++  } else {
++    anchorList_.clear();
++    anchorList_.push_back( 0 );
++    anchorList_.push_back( AtomsPerMol[0] );
++  }
++  if (anchorList_.empty() || anchorList_.size() > 2) {
++    mprinterr("Error: Anchor mask [%s] corresponds to %zu mols, should only be 1.\n",
++              anchor_, anchorList_.size() / 2);
++    return 1;
++  }
++  // Set up mask for centering anchor
++  anchorMask_.AddAtomRange( anchorList_[0], anchorList_[1] );
++  int anchormolnum = currentParm->atomToMolecule( anchorList_[0] );
++  mprintf("\tAnchor molecule is %i\n", anchormolnum+1);
++  // Set up fixed region
++  if (fixed_!=NULL) 
++    fixedList_ = SetupAtomRanges( fixed_ );
++  else 
++    fixedauto = true;
++  // Set up mobile region
++  if (mobile_!=NULL)
++    mobileList_ = SetupAtomRanges( mobile_ );
++  else
++    mobileauto = true;
++  // Automatic search through molecules for fixed/mobile
++  if (fixedauto || mobileauto) {
++    int firstAtom = 0;
++    int lastAtom = 0;
++    for (int molnum = 0; molnum < currentParm->Nmol(); ++molnum)
++    {
++      firstAtom = lastAtom;
++      lastAtom += AtomsPerMol[ molnum ];
++      // Skip the anchor molecule
++      if (molnum != anchormolnum) { 
++        // Solvent and 1 atom molecules (prob. ions) go in mobile list,
++        // everything else into fixed list.
++        bool isSolventMol = false;
++        if ( currentParm->solventMask != NULL && currentParm->solventMask[firstAtom] == 'T' )
++          isSolventMol = true;
++        if ( isSolventMol || (lastAtom - firstAtom) == 1 ) 
++        {
++          if (mobileauto) {
++            mobileList_.push_back( firstAtom );
++            mobileList_.push_back( lastAtom  );
++          }
++        } else {
++          if (fixedauto) {
++            fixedList_.push_back( firstAtom );
++            fixedList_.push_back( lastAtom  );
++          }
++        }
++      }
++    }
++  }
++  // DEBUG: Print fixed and mobile lists
++  if (!fixedList_.empty()) {
++    mprintf("\tThe following molecules are fixed to anchor:");
++    for (pairList::iterator atom = fixedList_.begin(); 
++                            atom != fixedList_.end(); atom += 2)
++      mprintf(" %i", currentParm->atomToMolecule( *atom ) + 1 );
++    mprintf("\n");
++  }
++  mprintf("\t%zu molecules are mobile.\n", mobileList_.size() / 2 );
++  //mprintf("\tThe following molecules are mobile:\n");
++  //for (pairList::iterator atom = mobileList_.begin(); 
++  //                        atom != mobileList_.end(); atom += 2)
++  //  mprintf("\t\t%i\n", (*currentParm)[ *atom ].Mol()+1 );
++
++  truncoct_ = (triclinic_==FAMILIAR);
++
++  return 0;
++}
++
++// Action_AutoImage::action()
++int Action_AutoImage::action() {
++  double center[3], ucell[9], recip[9], imagedcenter[3], framecenter[3];
++  double fcom[3];
++  double bp[3], bm[3];
++  double Trans[3];
++
++  // Center w.r.t. anchor
++  currentFrame->Center( anchorMask_, origin_, useMass);
++  // Determine whether anchor center is at box center or coordinate origin
++  if (origin_) {
++    center[0] = 0;
++    center[1] = 0;
++    center[2] = 0;
++  } else {
++    center[0] = currentFrame->box[0] / 2;
++    center[1] = currentFrame->box[1] / 2;
++    center[2] = currentFrame->box[2] / 2;
++  }
++
++  // Setup imaging, and image everything in currentFrame 
++  // according to mobileList. 
++  if (ortho_) {
++    currentFrame->SetupImageOrtho(bp, bm, origin_);
++    currentFrame->ImageOrtho(bp, bm, center_, useMass, mobileList_);
++  } else {
++    currentFrame->BoxToRecip(ucell, recip);
++    if (truncoct_)
++      currentFrame->SetupImageTruncoct( fcom, NULL, useMass, origin_ );
++    currentFrame->ImageNonortho(origin_, fcom, ucell, recip, truncoct_,
++                                center_, useMass, mobileList_);
++  }  
++
++  // For each molecule defined by atom pairs in fixedList, determine if the
++  // imaged position is closer to anchor center than the current position.
++  // Always use molecule center when imaging fixedList.
++  for (pairList::iterator atom1 = fixedList_.begin();
++                          atom1 != fixedList_.end(); ++atom1)
++  {
++    int firstAtom = *atom1;
++    ++atom1;
++    int lastAtom = *atom1;
++    Trans[0] = 0;
++    Trans[1] = 0;
++    Trans[2] = 0;
++    if (useMass) 
++      currentFrame->CenterOfMass(framecenter, firstAtom, lastAtom);
++    else
++      currentFrame->GeometricCenter(framecenter, firstAtom, lastAtom);
++    // NOTE: imaging routines will modify input coords.
++    imagedcenter[0] = framecenter[0];
++    imagedcenter[1] = framecenter[1];
++    imagedcenter[2] = framecenter[2];
++    if (ortho_)
++      currentFrame->ImageOrtho(Trans, imagedcenter, bp, bm);
++    else
++      currentFrame->ImageNonortho(Trans, imagedcenter, truncoct_, origin_, ucell, recip, fcom);
++    // If molecule was imaged, determine whether imaged position is closer to anchor.
++    if (Trans[0] != 0 || Trans[1] != 0 || Trans[2] != 0) {
++      imagedcenter[0] = framecenter[0] + Trans[0];
++      imagedcenter[1] = framecenter[1] + Trans[1];
++      imagedcenter[2] = framecenter[2] + Trans[2];
++      double framedist2 = DIST2_NoImage( center, framecenter );
++      double imageddist2 = DIST2_NoImage( center, imagedcenter );
++      //mprintf("DBG: [%5i] Fixed @%i-%i frame dist2=%lf, imaged dist2=%lf\n", frameNum,
++      //        firstAtom+1, lastAtom+1,
++      //        framedist2, imageddist2);
++      if (imageddist2 < framedist2) {
++        // Imaging these atoms moved them closer to anchor. Update coords in currentFrame.
++        currentFrame->Translate(Trans, firstAtom, lastAtom);
++        //for (int idx = firstAtom*3; idx < lastAtom*3; ++idx)
++        //  (*currentFrame)[idx] = fixedFrame[idx];
++      }
++    }
++  }
++    
++  return 0;
++}
++
+diff --git a/AmberTools/src/cpptraj/src/Action_AutoImage.h b/AmberTools/src/cpptraj/src/Action_AutoImage.h
+index e69de29..5ee24d6 100644
+--- a/AmberTools/src/cpptraj/src/Action_AutoImage.h
++++ b/AmberTools/src/cpptraj/src/Action_AutoImage.h
+@@ -0,0 +1,32 @@
++#ifndef INC_ACTION_AUTOIMAGE_H
++#define INC_ACTION_AUTOIMAGE_H
++#include "Action.h"
++class Action_AutoImage : public Action {
++  public:
++    Action_AutoImage();
++
++  private:
++    int init();
++    int setup();
++    int action();
++
++    AtomMask anchorMask_; ///< Used to center anchor region.
++    char* anchor_;  ///< Mask expression for anchor region.
++    char* fixed_;   ///< Mask expression for fixed region.
++    char* mobile_;  ///< Mask expression for mobile region.
++
++    bool origin_;         ///< If true imaging occurs w.r.t. coordinate origin.
++    bool ortho_;          ///< If true imaging is orthogonal.
++    bool center_;         ///< If true imaging of mobile region uses molecule center.
++    bool truncoct_;
++    enum TriclinicArg {OFF, FORCE, FAMILIAR};
++    TriclinicArg triclinic_; ///< Determine whether triclinic code should be used.
++
++    typedef std::vector<int> pairList;
++    pairList anchorList_;
++    pairList fixedList_;
++    pairList mobileList_;
++
++    pairList SetupAtomRanges(const char*);
++};
++#endif
+diff --git a/AmberTools/src/cpptraj/src/Action_Center.cpp b/AmberTools/src/cpptraj/src/Action_Center.cpp
+index a496a7f..cb841b8 100644
+--- a/AmberTools/src/cpptraj/src/Action_Center.cpp
++++ b/AmberTools/src/cpptraj/src/Action_Center.cpp
+@@ -68,14 +68,7 @@ int Center::setup() {
+   */
+ int Center::action() {
+ 
+-  // Set up box
+-  if (!origin) {
+-    box[0] = currentFrame->box[0] / 2.0;
+-    box[1] = currentFrame->box[1] / 2.0;
+-    box[2] = currentFrame->box[2] / 2.0;
+-  }
+-  
+-  currentFrame->Center(&Mask1, box, useMass);
++  currentFrame->Center(Mask1, origin, useMass);
+ 
+   return 0;
+ } 
+diff --git a/AmberTools/src/cpptraj/src/Action_Image.cpp b/AmberTools/src/cpptraj/src/Action_Image.cpp
+index 023b26a..5e1dec8 100644
+--- a/AmberTools/src/cpptraj/src/Action_Image.cpp
++++ b/AmberTools/src/cpptraj/src/Action_Image.cpp
+@@ -1,26 +1,26 @@
+-// Image 
+-#include <cmath> //for floor
++// Action_Image 
+ #include "Action_Image.h"
+-#include "DistRoutines.h"
+ #include "CpptrajStdio.h"
+ 
+ // CONSTRUCTOR
+-Image::Image() {
++Action_Image::Action_Image() :
++  ComMask_(NULL),
++  origin_(false),
++  center_(false),
++  ortho_(false),
++  truncoct_(false),
++  triclinic_(OFF)
++{
+   //fprintf(stderr,"Image Con\n");
+-  ComMask=NULL;
+-  origin = false;
+-  center = false;
+-  ortho = false;
+   useMass = true;
+-  triclinic = OFF;
+ } 
+ 
+ // DESTRUCTOR
+-Image::~Image() {
+-  if (ComMask!=NULL) delete ComMask;
++Action_Image::~Action_Image() {
++  if (ComMask_!=NULL) delete ComMask_;
+ }
+ 
+-// Image::init()
++// Action_Image::init()
+ /** Expected call: image [origin] [center] [triclinic | familiar [com <mask>]] <mask>  
+   * - origin: center at 0.0, 0.0, 0.0, otherwise center at box center.
+   * - center: Use center of mass for imaging, otherwise use first atom.
+@@ -33,86 +33,86 @@ Image::~Image() {
+ // Check order is:
+ //    1) Keywords
+ //    2) Masks
+-int Image::init() {
++int Action_Image::init() {
+   char *mask1;
+ 
+   // Get keywords
+-  origin = actionArgs.hasKey("origin");
+-  center = actionArgs.hasKey("center");
+-  if (actionArgs.hasKey("familiar")) triclinic = FAMILIAR;
+-  if (actionArgs.hasKey("triclinic")) triclinic = FORCE;
++  origin_ = actionArgs.hasKey("origin");
++  center_ = actionArgs.hasKey("center");
++  if (actionArgs.hasKey("familiar")) triclinic_ = FAMILIAR;
++  if (actionArgs.hasKey("triclinic")) triclinic_ = FORCE;
+ 
+   // Get Masks
+-  if (triclinic == FAMILIAR) {
++  if (triclinic_ == FAMILIAR) {
+     mask1 = actionArgs.getKeyString("com",NULL);
+     if (mask1!=NULL) {
+-      ComMask = new AtomMask();
+-      ComMask->SetMaskString(mask1);
++      ComMask_ = new AtomMask();
++      ComMask_->SetMaskString(mask1);
+     }
+   }
+   mask1 = actionArgs.getNextMask();
+-  Mask1.SetMaskString(mask1);
++  Mask1_.SetMaskString(mask1);
+   
+   mprintf("    IMAGE: To");
+-  if (origin)
++  if (origin_)
+     mprintf(" origin");
+   else
+     mprintf(" box center");
+   mprintf(" based on");
+-  if (center)
++  if (center_)
+     mprintf(" center of mass");
+   else
+     mprintf(" first atom position");
+-  mprintf(" using atoms in mask %s\n",Mask1.MaskString());
+-  if (triclinic == FORCE)
++  mprintf(" using atoms in mask %s\n",Mask1_.MaskString());
++  if (triclinic_ == FORCE)
+     mprintf( "           Triclinic On.\n");
+-  else if (triclinic == FAMILIAR) {
++  else if (triclinic_ == FAMILIAR) {
+     mprintf( "           Triclinic On, familiar shape");
+-    if (ComMask!=NULL) 
+-      mprintf( " centering on atoms in mask %s", ComMask->MaskString());
++    if (ComMask_!=NULL) 
++      mprintf( " centering on atoms in mask %s", ComMask_->MaskString());
+     mprintf(".\n");
+   }
+ 
+   return 0;
+ }
+ 
+-// Image::setup()
++// Action_Image::setup()
+ /** Set Imaging up for this parmtop. Get masks etc.
+   * currentParm is set in Action::Setup
+   */
+-int Image::setup() {
+-  atomPair apair;
++int Action_Image::setup() {
++  //atomPair apair;
+ 
+-  if ( currentParm->SetupCharMask( Mask1, activeReference ) ) return 1;
+-  if (Mask1.None()) {
++  if ( currentParm->SetupCharMask( Mask1_, activeReference ) ) return 1;
++  if (Mask1_.None()) {
+     mprintf("Warning: Image::setup: Mask contains 0 atoms.\n");
+     return 1;
+   }
+ 
+-  if (currentParm->boxType==NOBOX) {
++  if (currentParm->boxType == NOBOX) {
+     mprintf("Warning: Image::setup: Parm %s does not contain box information.\n",
+             currentParm->parmName);
+     return 1;
+   }
+ 
+-  ortho = false;  
+-  if (currentParm->boxType==ORTHO && triclinic==OFF) ortho=true;
++  ortho_ = false;  
++  if (currentParm->boxType == ORTHO && triclinic_==OFF) ortho_=true;
+ 
+   // If box is originally truncated oct and not forcing triclinic, 
+   // turn familiar on.
+-  if (AmberIfbox(currentParm->Box[5])==2 && triclinic!=FORCE && triclinic!=FAMILIAR) {
++  if ( AmberIfbox( currentParm->Box[4] ) == 2 && triclinic_!=FORCE && triclinic_!=FAMILIAR) {
+     mprintf("\tOriginal box is truncated octahedron, turning on 'familiar'.\n");
+-    triclinic=FAMILIAR;
++    triclinic_=FAMILIAR;
+   }
+ 
+-  if (triclinic == FAMILIAR) {
+-    if (ComMask!=NULL) {
+-      if ( currentParm->SetupIntegerMask( *ComMask, activeReference) ) return 1;
+-      if (ComMask->None()) {
++  if (triclinic_ == FAMILIAR) {
++    if (ComMask_!=NULL) {
++      if ( currentParm->SetupIntegerMask( *ComMask_, activeReference ) ) return 1;
++      if (ComMask_->None()) {
+         mprintf("Warning: Image::setup: Mask for 'familiar com' contains no atoms.\n");
+         return 1;
+       }
+-      mprintf("\tcom: mask [%s] contains %i atoms.\n",ComMask->MaskString(),ComMask->Nselected);
++      mprintf("\tcom: mask [%s] contains %i atoms.\n",ComMask_->MaskString(),ComMask_->Nselected);
+     }
+   }
+ 
+@@ -120,178 +120,64 @@ int Image::setup() {
+   // Currently imaging by molecule only, so each pair will be the first and
+   // last atom of each molecule. Check that all atoms between first and last
+   // are actually in the mask.
+-  imageList.clear();
+-  imageList.reserve( currentParm->Nmol() );
+-  apair.firstAtom = 0;
+-  apair.lastAtom = 0;
+-  for (int mol = 0; mol < currentParm->Nmol(); mol++) {
+-    apair.firstAtom = apair.lastAtom;
+-    apair.lastAtom = apair.firstAtom + currentParm->AtomsPerMol(mol);
++  imageList_.clear();
++  imageList_.reserve( currentParm->Nmol() );
++  int* AtomsPerMol = currentParm->AtomsPerMol_ptr();
++  if (AtomsPerMol == NULL) {
++    mprinterr("Error: Image: No molecule information in %s\n", currentParm->parmName);
++    return 1;
++  } 
++  int firstAtom = 0;
++  int lastAtom = 0;
++  
++  for (int molnum = 0; molnum < currentParm->Nmol(); ++molnum) 
++  {
++    firstAtom = lastAtom;
++    lastAtom += AtomsPerMol[ molnum ];
+     // Check that each atom in the range is in Mask1
+     bool rangeIsValid = true;
+-    for (int atom = apair.firstAtom; atom < apair.lastAtom; atom++)
+-      if (!Mask1.AtomInCharMask(atom)) {rangeIsValid = false; break;}
+-    if (rangeIsValid) imageList.push_back( apair );
++    for (int atom = firstAtom; atom < lastAtom; atom++) {
++      if (!Mask1_.AtomInCharMask(atom)) {
++        rangeIsValid = false; 
++        break;
++      }
++    }
++    if (rangeIsValid) {
++      imageList_.push_back( firstAtom );
++      imageList_.push_back( lastAtom );
++    }
+   }
+-  mprintf("\tNumber of molecules to be imaged is %u based on mask [%s]\n", imageList.size(),
+-           Mask1.MaskString()); 
++  mprintf("\tNumber of molecules to be imaged is %u based on mask [%s]\n", imageList_.size()/2,
++           Mask1_.MaskString()); 
+   // DEBUG: Print all pairs
+-  //for (std::vector<atomPair>::iterator ap = imageList.begin();
+-  //                                     ap != imageList.end();
+-  //                                     ap++)
+-  //{
+-  //  mprintf("\tPair: %i - %i\n",(*ap).firstAtom+1,(*ap).lastAtom);
+-  //}
++  if (debug>0) {
++    for (std::vector<int>::iterator ap = imageList_.begin();
++                                    ap != imageList_.end(); ap+=2)
++      mprintf("\t\tMol First-Last atom#: %i - %i\n", (*ap)+1, *(ap+1) );
++  }
++
++  // Truncoct flag
++  truncoct_ = (triclinic_==FAMILIAR);
+ 
+   return 0;  
+ }
+ 
+-// Image::action()
+-int Image::action() {
+-  // Orthorhombic
+-  double bp[3];
+-  double bm[3];
+-  // Non-orthorhombic
+-  double ucell[9];
+-  double recip[9];
+-  double fc[3], ffc[3];
+-  // Familiar
+-  double fcom[3];
+-  int ixyz[3];
+-  // General
+-  double boxTrans[3];
+-  double Coord[3];
+-
+-  // Set up information for orthorhombic cell
+-  if (ortho) {
+-    if ( origin ) {
+-      bp[0] = currentFrame->box[0] / 2.0;
+-      bp[1] = currentFrame->box[1] / 2.0;
+-      bp[2] = currentFrame->box[2] / 2.0;
+-      bm[0] = -bp[0]; 
+-      bm[1] = -bp[1];
+-      bm[2] = -bp[2]; 
+-    } else {
+-      bp[0] = currentFrame->box[0];
+-      bp[1] = currentFrame->box[1];
+-      bp[2] = currentFrame->box[2];
+-      bm[0] = 0.0;
+-      bm[1] = 0.0; 
+-      bm[2] = 0.0; 
+-    }
+-
+-  // Set up information for non-orthorhombic cell
++// Action_Image::action()
++int Action_Image::action() {
++  // Ortho
++  double bp[3], bm[3];
++  // Nonortho
++  double ucell[9], recip[9], fcom[3];
++  
++  if (ortho_) {
++    currentFrame->SetupImageOrtho(bp, bm, origin_);
++    currentFrame->ImageOrtho(bp, bm, center_, useMass, imageList_);
+   } else {
+-    // NOTE: Does this need to be done every time?
+-    currentFrame->BoxToRecip(ucell, recip);
+-    // Set up centering if putting nonortho cell into familiar trunc. oct. shape
+-    if (triclinic == FAMILIAR) {
+-      // Use center of mask of atoms in mask
+-      if (ComMask!=NULL) {
+-        if (useMass)
+-          currentFrame->CenterOfMass(ComMask, fcom);
+-        else
+-          currentFrame->GeometricCenter(ComMask,fcom);
+-      // Use origin
+-      } else if (origin) {
+-        fcom[0]=0.0;
+-        fcom[1]=0.0;
+-        fcom[2]=0.0;
+-      // Use box center
+-      } else {
+-        fcom[0]=currentFrame->box[0] / 2.0; 
+-        fcom[1]=currentFrame->box[1] / 2.0; 
+-        fcom[2]=currentFrame->box[2] / 2.0;
+-      }
+-      //fprintf(stdout,"DEBUG: fcom = %lf %lf %lf\n",fcom[0],fcom[1],fcom[2]);
+-    } 
++    currentFrame->BoxToRecip( ucell, recip );
++    if (truncoct_)
++      currentFrame->SetupImageTruncoct( fcom, ComMask_, useMass, origin_ );
++    currentFrame->ImageNonortho(origin_, fcom, ucell, recip, truncoct_,
++                                center_, useMass, imageList_);
+   }
+-
+-  // Loop over Atom pairs
+-  for (std::vector<atomPair>::iterator apair = imageList.begin();
+-                                       apair != imageList.end();
+-                                       apair++)
+-  {
+-    int firstAtom = (*apair).firstAtom;
+-    int lastAtom  = (*apair).lastAtom;
+-
+-    //if (debug>2)
+-    //  mprintf( "  IMAGE processing atoms %i to %i\n", firstAtom+1, lastAtom); 
+-
+-    // boxTrans will hold calculated translation needed to move atoms back into box
+-    boxTrans[0] = 0.0;
+-    boxTrans[1] = 0.0;
+-    boxTrans[2] = 0.0;
+-
+-    // Set up position based on first atom or center of mass
+-    if (center) { 
+-      if (useMass)
+-        currentFrame->CenterOfMass(Coord,firstAtom,lastAtom);
+-      else
+-        currentFrame->GeometricCenter(Coord,firstAtom,lastAtom);
+-    } else
+-      currentFrame->GetCoord(Coord,firstAtom);
+-
+-    // ORTHORHOMBIC
+-    if (ortho) {
+-      // Determine how far coords are out of box
+-      for (int i=0; i<3; i++) {
+-        while (Coord[i] < bm[i]) {
+-          Coord[i] += currentFrame->box[i];
+-          boxTrans[i] += currentFrame->box[i];
+-        }
+-        while (Coord[i] > bp[i]) {
+-          Coord[i] -= currentFrame->box[i];
+-          boxTrans[i] -= currentFrame->box[i];
+-        }
+-      }
+-
+-    // NON-ORTHORHOMBIC    
+-    } else {
+-      fc[0]=(Coord[0]*recip[0]) + (Coord[1]*recip[1]) + (Coord[2]*recip[2]);
+-      fc[1]=(Coord[0]*recip[3]) + (Coord[1]*recip[4]) + (Coord[2]*recip[5]);
+-      fc[2]=(Coord[0]*recip[6]) + (Coord[1]*recip[7]) + (Coord[2]*recip[8]);
+-
+-      if ( origin ) {
+-        fc[0] += 0.5;
+-        fc[1] += 0.5;
+-        fc[2] += 0.5;
+-      }
+-
+-      ffc[0] = floor(fc[0]);
+-      ffc[1] = floor(fc[1]);
+-      ffc[2] = floor(fc[2]);
+-
+-      boxTrans[0] -= (ffc[0]*ucell[0] + ffc[1]*ucell[3] + ffc[2]*ucell[6]);
+-      boxTrans[1] -= (ffc[0]*ucell[1] + ffc[1]*ucell[4] + ffc[2]*ucell[7]);
+-      boxTrans[2] -= (ffc[0]*ucell[2] + ffc[1]*ucell[5] + ffc[2]*ucell[8]);
+-
+-      // Put into familiar trunc. oct. shape
+-      if (triclinic == FAMILIAR) {
+-        Coord[0] += boxTrans[0];
+-        Coord[1] += boxTrans[1];
+-        Coord[2] += boxTrans[2];
+-        MinImageNonOrtho2(Coord, fcom, currentFrame->box, (int)origin, ixyz, ucell, recip);
+-        if (ixyz[0] != 0 || ixyz[1] != 0 || ixyz[2] != 0) {
+-          boxTrans[0] += (ixyz[0]*ucell[0] + ixyz[1]*ucell[3] + ixyz[2]*ucell[6]);
+-          boxTrans[1] += (ixyz[0]*ucell[1] + ixyz[1]*ucell[4] + ixyz[2]*ucell[7]);
+-          boxTrans[2] += (ixyz[0]*ucell[2] + ixyz[1]*ucell[5] + ixyz[2]*ucell[8]);
+-
+-          //if (debug > 2)
+-          //  mprintf( "  IMAGING, FAMILIAR OFFSETS ARE %i %i %i\n", 
+-          //          ixyz[0], ixyz[1], ixyz[2]);
+-        }
+-      }  
+-    }    
+-   
+-    //fprintf(stdout,"DEBUG: BoxTrans: %lf %lf %lf\n",boxTrans[0],boxTrans[1],boxTrans[2]);
+-
+-    // Translate atoms back into the box
+-    currentFrame->Translate(boxTrans,firstAtom,lastAtom);
+-
+-  } // END loop over atom pairs 
+-
+   return 0;
+ } 
+-
+-
+diff --git a/AmberTools/src/cpptraj/src/Action_Image.h b/AmberTools/src/cpptraj/src/Action_Image.h
+index ba233c1..139246e 100644
+--- a/AmberTools/src/cpptraj/src/Action_Image.h
++++ b/AmberTools/src/cpptraj/src/Action_Image.h
+@@ -1,31 +1,28 @@
+ #ifndef INC_ACTION_IMAGE_H
+ #define INC_ACTION_IMAGE_H
+-// Class: Image
++// Class: Action_Image
+ /// Action to wrap coordinates back into primary box
+ #include "Action.h"
+-class Image: public Action {
++class Action_Image: public Action {
++  public:
++    Action_Image();
++    ~Action_Image();
++  private:
+     /// Only atoms in Mask1 will be imaged
+-    AtomMask Mask1;
++    AtomMask Mask1_;
+     /// If defined, image w.r.t. the center of atoms in ComMask.
+-    AtomMask *ComMask;
++    AtomMask *ComMask_;
+     /// If true image w.r.t. coordinate origin, otherwise box center
+-    bool origin;
++    bool origin_;
+     /// If true molecules will be imaged w.r.t. their center, otherwise first atom will be used
+-    bool center;
++    bool center_;
+     /// True if orthorhombic cell, false otherwise.
+-    bool ortho;
++    bool ortho_;
++    bool truncoct_;
+     enum TriclinicArg {OFF, FORCE, FAMILIAR};
+-    TriclinicArg triclinic;
+-    struct atomPair {
+-      int firstAtom;
+-      int lastAtom;
+-    };
++    TriclinicArg triclinic_;
+     /// Vector containing atom ranges to be imaged (first to last)
+-    std::vector<atomPair> imageList; 
+-
+-  public:
+-    Image();
+-    ~Image();
++    std::vector<int> imageList_; 
+ 
+     int init();
+     int setup();
+diff --git a/AmberTools/src/cpptraj/src/CpptrajState.cpp b/AmberTools/src/cpptraj/src/CpptrajState.cpp
+index 7aa0e9e..4ce4228 100644
+--- a/AmberTools/src/cpptraj/src/CpptrajState.cpp
++++ b/AmberTools/src/cpptraj/src/CpptrajState.cpp
+@@ -209,11 +209,16 @@ int CpptrajState::Run() {
+     }
+     // Set current parm from current traj.
+     CurrentParm = traj->TrajParm();
++    // Check if parm has changed
++    bool parmHasChanged = (lastPindex != CurrentParm->pindex);
+ 
+-    // If Parm has changed, reset Frame and actions for new topology.
+-    if (lastPindex != CurrentParm->pindex) {
+-      // Set up the incoming trajectory frame for this parm
++    // If Parm has changed or trajectory velocity status has changed,
++    // reset the frame.
++    if (parmHasChanged || ((TrajFrame.V != NULL) != traj->HasVelocity()))
+       TrajFrame.SetupFrameV(CurrentParm->natom, CurrentParm->mass, traj->HasVelocity());
++
++    // If Parm has changed, reset actions for new topology.
++    if (parmHasChanged) {
+       // Set up actions for this parm
+       if (actionList.Setup( &CurrentParm )) {
+         mprintf("WARNING: Could not set up actions for %s: skipping.\n",
+diff --git a/AmberTools/src/cpptraj/src/Frame.cpp b/AmberTools/src/cpptraj/src/Frame.cpp
+index 3a8add6..0adbe67 100644
+--- a/AmberTools/src/cpptraj/src/Frame.cpp
++++ b/AmberTools/src/cpptraj/src/Frame.cpp
+@@ -462,20 +462,29 @@ void Frame::InverseRotate(double *T) {
+   * or box center. Use geometric center if mass is NULL, otherwise center 
+   * of mass will be used.
+   */
+-void Frame::Center(AtomMask *Mask, double *boxcoord, bool useMassIn) {
++void Frame::Center(AtomMask& Mask, bool origin, bool useMassIn) {
+   double center[3];
+ 
+   if (useMassIn)
+-    this->CenterOfMass(Mask, center);
++    this->CenterOfMass(&Mask, center);
+   else
+-    this->GeometricCenter(Mask, center);
++    this->GeometricCenter(&Mask, center);
+   //mprinterr("  FRAME CENTER: %lf %lf %lf\n",center[0],center[1],center[2]); //DEBUG
+ 
+-  // Shift to whatever is in boxcoord (origin or center of box in Action_Center) 
+-  center[0] = boxcoord[0] - center[0]; 
+-  center[1] = boxcoord[1] - center[1]; 
+-  center[2] = boxcoord[2] - center[2];
++  if (origin) {
++    // Shift to coordinate origin (0,0,0)
++    center[0] = -center[0];
++    center[1] = -center[1];
++    center[2] = -center[2];
++  } else {
++    // Shift to box center
++    center[0] = (box[0] / 2) - center[0];
++    center[1] = (box[1] / 2) - center[1];
++    center[2] = (box[2] / 2) - center[2];
++  }
++
+   this->Translate(center);
++
+ }
+ 
+ // Frame::CenterReference()
+@@ -510,6 +519,202 @@ void Frame::ShiftToGeometricCenter( ) {
+   this->Translate(frameCOM);
+ }
+ 
++void Frame::SetupImageTruncoct( double* fcom, AtomMask* ComMask, bool useMass, bool origin )
++{
++  // Set up centering if putting nonortho cell into familiar trunc. oct. shape
++  //if (truncoct) {
++    if (ComMask!=NULL) {
++      // Use center of atoms in mask
++      if (useMass)
++        CenterOfMass(ComMask, fcom);
++      else
++        GeometricCenter(ComMask, fcom);
++    } else if (origin) {
++      // Use origin
++      fcom[0] = 0;
++      fcom[1] = 0;
++      fcom[2] = 0;
++    } else {
++      // Use box center
++      fcom[0] = box[0] / 2;
++      fcom[1] = box[1] / 2;
++      fcom[2] = box[2] / 2;
++    }
++    //fprintf(stdout,"DEBUG: fcom = %lf %lf %lf\n",fcom[0],fcom[1],fcom[2]);
++  //}
++}
++
++// Frame::ImageNonortho()
++void Frame::ImageNonortho(bool origin, double* fcom, double* ucell, double* recip,
++                          bool truncoct, bool center,
++                          bool useMass, std::vector<int> &AtomPairs)
++{
++  //double ucell[9], recip[9], 
++  double boxTrans[3], Coord[3];
++  // fcom and ixyz only needed for truncoct
++  //double fcom[3];
++
++  //BoxToRecip(ucell, recip);
++
++  // Loop over atom pairs
++  for (std::vector<int>::iterator atom = AtomPairs.begin();
++                                  atom != AtomPairs.end();
++                                  atom++)
++  {
++    int firstAtom = *atom;
++    ++atom;
++    int lastAtom = *atom;
++    //if (debug>2)
++    //  mprintf( "  IMAGE processing atoms %i to %i\n", firstAtom+1, lastAtom);
++    // boxTrans will hold calculated translation needed to move atoms back into box
++    boxTrans[0] = 0;
++    boxTrans[1] = 0;
++    boxTrans[2] = 0;
++    // Set up Coord with position to check for imaging based on first atom or 
++    // center of mass of atoms first to last.
++    if (center) {
++      if (useMass)
++        CenterOfMass(Coord,firstAtom,lastAtom);
++      else
++        GeometricCenter(Coord,firstAtom,lastAtom);
++    } else {
++      int atomidx = firstAtom * 3;
++      Coord[0] = X[atomidx];
++      ++atomidx;
++      Coord[1] = X[atomidx];
++      ++atomidx;
++      Coord[2] = X[atomidx];
++    }
++
++    ImageNonortho(boxTrans, Coord, truncoct, origin,
++                  ucell, recip, fcom);
++
++    Translate(boxTrans, firstAtom, lastAtom);
++
++  } // END loop over atom pairs
++}
++
++// Frame::ImageNonortho()
++void Frame::ImageNonortho(double* boxTrans, double* Coord,
++                          bool truncoct, bool origin,
++                          double* ucell, double* recip, double* fcom)
++{
++  double fc[3], ffc[3];
++  int ixyz[3];
++
++  fc[0]=(Coord[0]*recip[0]) + (Coord[1]*recip[1]) + (Coord[2]*recip[2]);
++  fc[1]=(Coord[0]*recip[3]) + (Coord[1]*recip[4]) + (Coord[2]*recip[5]);
++  fc[2]=(Coord[0]*recip[6]) + (Coord[1]*recip[7]) + (Coord[2]*recip[8]);
++
++  if ( origin ) {
++    fc[0] += 0.5;
++    fc[1] += 0.5;
++    fc[2] += 0.5;
++  }
++
++  ffc[0] = floor(fc[0]);
++  ffc[1] = floor(fc[1]);
++  ffc[2] = floor(fc[2]);
++
++  boxTrans[0] -= (ffc[0]*ucell[0] + ffc[1]*ucell[3] + ffc[2]*ucell[6]);
++  boxTrans[1] -= (ffc[0]*ucell[1] + ffc[1]*ucell[4] + ffc[2]*ucell[7]);
++  boxTrans[2] -= (ffc[0]*ucell[2] + ffc[1]*ucell[5] + ffc[2]*ucell[8]);
++
++  // Put into familiar trunc. oct. shape
++  if (truncoct) {
++    Coord[0] += boxTrans[0];
++    Coord[1] += boxTrans[1];
++    Coord[2] += boxTrans[2];
++    MinImageNonOrtho2(Coord, fcom, box, (int)origin, ixyz, ucell, recip);
++    if (ixyz[0] != 0 || ixyz[1] != 0 || ixyz[2] != 0) {
++      boxTrans[0] += (ixyz[0]*ucell[0] + ixyz[1]*ucell[3] + ixyz[2]*ucell[6]);
++      boxTrans[1] += (ixyz[0]*ucell[1] + ixyz[1]*ucell[4] + ixyz[2]*ucell[7]);
++      boxTrans[2] += (ixyz[0]*ucell[2] + ixyz[1]*ucell[5] + ixyz[2]*ucell[8]);
++
++      //if (debug > 2)
++      //  mprintf( "  IMAGING, FAMILIAR OFFSETS ARE %i %i %i\n", 
++      //          ixyz[0], ixyz[1], ixyz[2]);
++    }
++  }
++}
++
++void Frame::SetupImageOrtho(double* bp, double* bm, bool origin) {
++  // Set up boundary information for orthorhombic cell
++  if (origin) {
++    bp[0] = box[0] / 2;
++    bp[1] = box[1] / 2;
++    bp[2] = box[2] / 2;
++    bm[0] = -bp[0];
++    bm[1] = -bp[1];
++    bm[2] = -bp[2];
++  } else {
++    bp[0] = box[0];
++    bp[1] = box[1];
++    bp[2] = box[2];
++    bm[0] = 0;
++    bm[1] = 0;
++    bm[2] = 0;
++  }
++}
++
++// Frame::ImageOrtho()
++void Frame::ImageOrtho(double* bp, double* bm, bool center, bool useMass,
++                       std::vector<int> &AtomPairs)
++{
++  double boxTrans[3], Coord[3];
++
++  // Loop over atom pairs
++  for (std::vector<int>::iterator atom = AtomPairs.begin();
++                                  atom != AtomPairs.end();
++                                  atom++)
++  {
++    int firstAtom = *atom;
++    ++atom;
++    int lastAtom = *atom;
++    //if (debug>2)
++    //  mprintf( "  IMAGE processing atoms %i to %i\n", firstAtom+1, lastAtom);
++    // boxTrans will hold calculated translation needed to move atoms back into box
++    boxTrans[0] = 0;
++    boxTrans[1] = 0;
++    boxTrans[2] = 0;
++    // Set up Coord with position to check for imaging based on first atom or 
++    // center of mass of atoms first to last.
++    if (center) {
++      if (useMass)
++        CenterOfMass(Coord,firstAtom,lastAtom);
++      else
++        GeometricCenter(Coord,firstAtom,lastAtom);
++    } else {
++      int atomidx = firstAtom * 3;
++      Coord[0] = X[atomidx];
++      ++atomidx;
++      Coord[1] = X[atomidx];
++      ++atomidx;
++      Coord[2] = X[atomidx];
++    }
++    ImageOrtho(boxTrans, Coord,bp,bm);
++
++    // Translate atoms according to Coord
++    Translate(boxTrans,firstAtom,lastAtom);
++  } // END loop over atom pairs
++}
++
++void Frame::ImageOrtho(double* boxTrans, double* Coord, double* bp, double* bm)
++{
++    // Determine how far Coord is out of box
++    for (int i=0; i < 3; i++) {
++      while (Coord[i] < bm[i]) {
++        Coord[i] += box[i];
++        boxTrans[i] += box[i];
++      }
++      while (Coord[i] > bp[i]) {
++        Coord[i] -= box[i];
++        boxTrans[i] -= box[i];
++      }
++    }
++}
++
++
+ /* -------------- Coordinate Assignment/Extraction Routines ----------------- */
+ // Frame::printAtomCoord()
+ /** Print XYZ coords of given atom */
+diff --git a/AmberTools/src/cpptraj/src/Frame.h b/AmberTools/src/cpptraj/src/Frame.h
+index fb9be8b..b24f86c 100644
+--- a/AmberTools/src/cpptraj/src/Frame.h
++++ b/AmberTools/src/cpptraj/src/Frame.h
+@@ -53,9 +53,15 @@ class Frame {
+     void Trans_Rot_Trans(double *, double *);
+     void Rotate(double *);
+     void InverseRotate(double *);
+-    void Center(AtomMask *, double *,bool);
++    void Center(AtomMask&, bool,bool);
+     void CenterReference(double *, bool);
+     void ShiftToGeometricCenter();
++    void SetupImageTruncoct(double*, AtomMask*,bool,bool);
++    void ImageNonortho(bool, double*, double*, double*, bool, bool, bool, std::vector<int> &);
++    void ImageNonortho(double*, double*, bool, bool, double*, double*, double*);
++    void SetupImageOrtho(double*, double*, bool);
++    void ImageOrtho(double*,double*, bool, bool, std::vector<int> &);
++    void ImageOrtho(double*, double*, double*, double*);
+     // Coordinate assignment/extraction
+     void printAtomCoord(int);
+     void GetCoord(double *, int);
+diff --git a/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp b/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp
+index 98d1059..c11edc1 100644
+--- a/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp
++++ b/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp
+@@ -14,7 +14,7 @@ int CharmmPsfParmFile::ReadParm(AmberParm &parmOut, CpptrajFile &parmfile) {
+   int bondatoms[8];
+   int currResnum;
+   int psfresnum;
+-  int psfattype;
++  char psfattype[6];
+   int nbond,nlines;
+ 
+   mprintf("    Reading Charmm PSF file %s as topology file.\n",parmOut.parmName);
+@@ -58,8 +58,8 @@ int CharmmPsfParmFile::ReadParm(AmberParm &parmOut, CpptrajFile &parmfile) {
+     //if (buffer[bufferLen-1] == '\n') buffer[bufferLen-1]='\0';
+     // Read line
+     // ATOM# SEGID RES# RES ATNAME ATTYPE CHRG MASS (REST OF COLUMNS ARE LIKELY FOR CMAP AND CHEQ)
+-    sscanf(buffer,"%*i %*s %i %s %s %i %lf %lf",&psfresnum,psfresname,psfname,
+-           &psfattype,parmOut.charge+atom,parmOut.mass+atom);
++    sscanf(buffer,"%*i %*s %i %s %s %s %lf %lf",&psfresnum,psfresname,psfname,
++           psfattype,parmOut.charge+atom,parmOut.mass+atom);
+     // Ensure name has 4 chars
+     PadWithSpaces( psfname );
+     strcpy(parmOut.names[atom],psfname);
+diff --git a/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp b/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp
+index d2a398a..6d060a6 100644
+--- a/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp
++++ b/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp
+@@ -9,6 +9,7 @@
+ // CONSTRUCTOR
+ AmberRestart::AmberRestart() {
+   restartAtoms=0;
++  coordSize_ = 0;
+   frameSize=0;
+   frameBuffer=NULL;
+   numBoxCoords=0;
+@@ -218,6 +219,7 @@ int AmberRestart::setupRead(AmberParm *trajParm) {
+   // For DOS files CR present before newline
+   if (tfile->isDos) frame_lines*=2;
+   frameSize = ((natom3 * 12) + frame_lines);
++  coordSize_ = frameSize;
+   frameBuffer=(char*) malloc(frameSize*sizeof(char));
+   //if (debug>0) mprintf("    Amber Restart frameSize= %i\n",frameSize);
+ 
+@@ -302,13 +304,16 @@ int AmberRestart::readFrame(int set,double *X,double *V,double *box, double *T)
+     return 1;  
+   }
+   // Get velocity from buffer if present
+-  if (hasVelocity && V!=NULL) {
+-    if ( (bufferPosition = BufferToDouble(bufferPosition, V, natom3, 12))==NULL ) {
+-      mprinterr("Error: AmberRestart::getFrame: * detected in velocities of %s\n",
+-              tfile->filename);
+-      return 1;
++  if (hasVelocity) {
++    if (V != NULL) {
++      if ( (bufferPosition = BufferToDouble(bufferPosition, V, natom3, 12))==NULL ) {
++        mprinterr("Error: AmberRestart::getFrame: * detected in velocities of %s\n",
++                tfile->filename);
++        return 1;
++      }
++    } else {
++      bufferPosition += coordSize_;
+     }
+-    //F->V->printAtomCoord(0);
+   }
+   // Get box from buffer if present
+   if (hasBox) {
+diff --git a/AmberTools/src/cpptraj/src/Traj_AmberRestart.h b/AmberTools/src/cpptraj/src/Traj_AmberRestart.h
+index ba21b2a..b231874 100644
+--- a/AmberTools/src/cpptraj/src/Traj_AmberRestart.h
++++ b/AmberTools/src/cpptraj/src/Traj_AmberRestart.h
+@@ -7,6 +7,7 @@ class AmberRestart : public TrajectoryIO {
+     int restartAtoms;     ///< Number of atoms in restart file
+     int natom3;           ///< Number of coords
+     int frameSize;        ///< Size of 1 coord frame in bytes, inc box & velo if present
++    size_t coordSize_;    ///< Size of 1 coord frame in bytes, used for blank reads.
+     char *frameBuffer;    ///< Used to read in restart coord
+     int numBoxCoords;     ///< Number of box coords (3 or 6)
+     double restartTime;   ///< Time in restart file, read in
+diff --git a/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp b/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp
+index 8563938..6074b05 100644
+--- a/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp
++++ b/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp
+@@ -203,7 +203,39 @@ int CharmmDcd::WriteBlock(int blocksize) {
+ /** Call openTraj, which reads the DCD header and all necessary info.
+   */
+ int CharmmDcd::setupRead(AmberParm *trajParm) {
++  size_t boxBytes, dim;
+   if ( openTraj() ) return -1;
++  // DCD file may have less frames than is stored in the header. 
++  // Check the file size against the reported number of frames.
++  if (hasBox)
++    boxBytes = 56; // 6(crds) * 8(double) + 4(hdr) + 4(end hdr)
++  else
++    boxBytes = 0;
++  if (dcd4D)
++    dim = 4;
++  else
++    dim = 3;
++  size_t dimBytes = dim * sizeof(float);
++  size_t frame1Bytes = (((size_t) dcdatom+2         ) * dimBytes) + boxBytes;
++  size_t frameNBytes = (((size_t)(dcdatom - namnf)+2) * dimBytes) + boxBytes;
++  // Header size should be current position after open, which automatically
++  // reads DCD header.
++  size_t headerBytes = (size_t)tfile->IO->Tell();
++  size_t file_size = (size_t)tfile->file_size - headerBytes - frame1Bytes;
++  if ( (file_size % frameNBytes) != 0 ) {
++    mprintf("Warning: %s: Number of frames in DCD file could not be accurately determined.\n",
++            tfile->filename);
++    mprintf("Warning:\t\tFile may be corrupted.\n");
++  }
++  int nframes = (int)(file_size / frameNBytes) + 1; // +1 for first frame
++  if (nframes != dcdframes) {
++    mprintf("Warning: %s: Reported number of frames in DCD file is %i,\n", 
++            tfile->filename, dcdframes);
++    mprintf("Warning:\tactual number of frames is %i. Only reading %i frames.\n",
++            nframes, nframes);
++    dcdframes = nframes;
++  }
++
+   closeTraj();
+   return dcdframes;
+ }
+diff --git a/AmberTools/src/cpptraj/src/TrajectoryFile.cpp b/AmberTools/src/cpptraj/src/TrajectoryFile.cpp
+index e51b442..1fb8d14 100644
+--- a/AmberTools/src/cpptraj/src/TrajectoryFile.cpp
++++ b/AmberTools/src/cpptraj/src/TrajectoryFile.cpp
+@@ -635,6 +635,7 @@ FileFormat TrajectoryFile::getFmtFromArg(ArgList *argIn, FileFormat def) {
+   else if ( argIn->hasKey("restartnc")) writeFormat=AMBERRESTARTNC;
+   else if ( argIn->hasKey("mol2")     ) writeFormat=MOL2FILE;
+   else if ( argIn->hasKey("dcd")      ) writeFormat=CHARMMDCD;
++  else if ( argIn->hasKey("charmm")   ) writeFormat=CHARMMDCD;
+   return writeFormat;
+ }
+ 
+diff --git a/AmberTools/src/cpptraj/src/cpptrajdepend b/AmberTools/src/cpptraj/src/cpptrajdepend
+index c8a9751..27016ab 100644
+--- a/AmberTools/src/cpptraj/src/cpptrajdepend
++++ b/AmberTools/src/cpptraj/src/cpptrajdepend
+@@ -38,13 +38,14 @@ Action_Center.o : Action_Center.cpp Action.h Action_Center.h AmberParm.h ArgList
+ FileIO_Bzip2.o : FileIO_Bzip2.cpp CpptrajStdio.h FileIO.h FileIO_Bzip2.h
+ Action_Hbond.o : Action_Hbond.cpp Action.h Action_Hbond.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
+ DataSet_integer.o : DataSet_integer.cpp CharBuffer.h CpptrajStdio.h DataSet.h DataSet_integer.h MpiRoutines.h
+-Action_Image.o : Action_Image.cpp Action.h Action_Image.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DistRoutines.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
++Action_Image.o : Action_Image.cpp Action.h Action_Image.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
+ Action_Surf.o : Action_Surf.cpp Action.h Action_Surf.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
+ Action_Radgyr.o : Action_Radgyr.cpp Action.h Action_Radgyr.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
+ Action_Mask.o : Action_Mask.cpp Action.h Action_Mask.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h ProgressBar.h Range.h TrajectoryFile.h TrajectoryIO.h
+ Action_Closest.o : Action_Closest.cpp Action.h Action_Closest.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFile.h ParmFileList.h
+ NetcdfRoutines.o : NetcdfRoutines.cpp CpptrajStdio.h NetcdfRoutines.h
+ CpptrajStdio.o : CpptrajStdio.cpp MpiRoutines.h
++Action_AutoImage.o : Action_AutoImage.cpp Action.h Action_AutoImage.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DistRoutines.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
+ Mol2FileRoutines.o : Mol2FileRoutines.cpp CharBuffer.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h Mol2FileRoutines.h Name.h
+ Action_NAstruct.o : Action_NAstruct.cpp Action.h Action_NAstruct.h AmberParm.h ArgList.h AtomMask.h AxisType.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DistRoutines.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h Range.h vectormath.h
+ DistRoutines.o : DistRoutines.cpp Constants.h DistRoutines.h
+@@ -80,7 +81,7 @@ Action_Jcoupling.o : Action_Jcoupling.cpp Action.h Action_Jcoupling.h AmberParm.
+ TriangleMatrix.o : TriangleMatrix.cpp CpptrajStdio.h TriangleMatrix.h
+ Action_Clustering.o : Action_Clustering.cpp Action.h Action_Clustering.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h ClusterList.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h ProgressBar.h Range.h TrajectoryFile.h TrajectoryIO.h TriangleMatrix.h
+ ClusterList.o : ClusterList.cpp CharBuffer.h ClusterList.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h TriangleMatrix.h
+-Traj_CharmmDcd.o : Traj_CharmmDcd.cpp AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h Name.h Traj_CharmmDcd.h TrajectoryIO.h
++Traj_CharmmDcd.o : Traj_CharmmDcd.cpp AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h Name.h Traj_CharmmDcd.h TrajectoryIO.h
+ Bonds.o : Bonds.cpp Bonds.h CpptrajStdio.h Name.h
+ FileRoutines.o : FileRoutines.cpp FileRoutines.h
+ Action_Pairwise.o : Action_Pairwise.cpp Action.h Action_Pairwise.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h ProgressBar.h Range.h TrajectoryFile.h TrajectoryIO.h vectormath.h
+diff --git a/AmberTools/src/cpptraj/src/cpptrajfiles b/AmberTools/src/cpptraj/src/cpptrajfiles
+index f7ecc50..9c05282 100644
+--- a/AmberTools/src/cpptraj/src/cpptrajfiles
++++ b/AmberTools/src/cpptraj/src/cpptrajfiles
+@@ -10,7 +10,7 @@ SOURCE=main.cpp AmberParm.cpp \
+        Action_DSSP.cpp DataSet_string.cpp Action_Center.cpp FileIO_Bzip2.cpp \
+        Action_Hbond.cpp DataSet_integer.cpp Action_Image.cpp Action_Surf.cpp \
+        Action_Radgyr.cpp Action_Mask.cpp Action_Closest.cpp \
+-       NetcdfRoutines.cpp CpptrajStdio.cpp \
++       NetcdfRoutines.cpp CpptrajStdio.cpp Action_AutoImage.cpp \
+        Mol2FileRoutines.cpp Action_NAstruct.cpp DistRoutines.cpp AxisType.cpp \
+        TorsionRoutines.cpp Action_Pucker.cpp Range.cpp Action_Outtraj.cpp \
+        Action_Rms2d.cpp ProgressBar.cpp TrajectoryIO.cpp \
+@@ -42,7 +42,7 @@ OBJECTS=main.o AmberParm.o \
+         Action_DSSP.o DataSet_string.o Action_Center.o FileIO_Bzip2.o \
+         Action_Hbond.o DataSet_integer.o Action_Image.o Action_Surf.o \
+         Action_Radgyr.o Action_Mask.o Action_Closest.o \
+-        NetcdfRoutines.o CpptrajStdio.o \
++        NetcdfRoutines.o CpptrajStdio.o Action_AutoImage.o \
+         Mol2FileRoutines.o Action_NAstruct.o DistRoutines.o AxisType.o \
+         TorsionRoutines.o Action_Pucker.o Range.o Action_Outtraj.o \
+         Action_Rms2d.o ProgressBar.o TrajectoryIO.o \
+@@ -74,7 +74,7 @@ HEADERS=AmberParm.h \
+         Action_DSSP.h DataSet_string.h Action_Center.h FileIO_Bzip2.h \
+         Action_Hbond.h DataSet_integer.h Action_Image.h Action_Surf.h \
+         Action_Radgyr.h Action_Mask.h Action_Closest.h \
+-        NetcdfRoutines.h CpptrajStdio.h \
++        NetcdfRoutines.h CpptrajStdio.h Action_AutoImage.h \
+         Mol2FileRoutines.h Action_NAstruct.h DistRoutines.h AxisType.h \
+         TorsionRoutines.h Action_Pucker.h Range.h Action_Outtraj.h \
+         Action_Rms2d.h ProgressBar.h TrajectoryIO.h \
+diff --git a/AmberTools/src/cpptraj/src/main.cpp b/AmberTools/src/cpptraj/src/main.cpp
+index 23f290e..4fc0434 100644
+--- a/AmberTools/src/cpptraj/src/main.cpp
++++ b/AmberTools/src/cpptraj/src/main.cpp
+@@ -9,7 +9,7 @@
+ #include <cstdio>
+ #include <cstdlib> // atoi
+ #ifndef CPPTRAJ_VERSION_STRING
+-#define CPPTRAJ_VERSION_STRING "V12.1"
++#define CPPTRAJ_VERSION_STRING "V12.4"
+ #define CPPTRAJ_INTERNAL_VERSION "V2.4.7b"
+ #endif
+ 
+diff --git a/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py b/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py
+index b01b891..0349ba9 100644
+--- a/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py
++++ b/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py
+@@ -1152,7 +1152,7 @@ class BindingStatistics(object):
+       classes and returns the average and standard deviation of that diff.
+       """
+       if len(self.data[key1]) != len(other.data[key2]):
+-         return (self.data[key1].avg() - self.data[key2].avg(),
++         return (self.data[key1].avg() - other.data[key2].avg(),
+                  sqrt(self.data[key1].stdev()**2 + other.data[key2].stdev()**2))
+       
+       mydiff = self.data[key1] - other.data[key2]
+diff --git a/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py b/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py
+index dd010e7..6a2cd98 100644
+--- a/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py
++++ b/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py
+@@ -104,7 +104,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+ 
+       if not stability:
+          # Don't re-run the receptor if we don't have to
+-         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
++         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in receptor -- using unmutated files'
+             shutil.copy('%sreceptor_gb.mdout.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -127,7 +128,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+             calc.Setup()
+             calc.Run()
+ 
+-         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
++         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in ligand -- using unmutated files'
+             shutil.copy('%sligand_gb.mdout.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -166,15 +168,16 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+ 
+       print '  calculating complex contribution...'
+ 
+-      calc = EnergyCalculation(progs['pb'], parmsystem.complex_prmtop,
++      calc = PBEnergyCalculation(progs['pb'], parmsystem.complex_prmtop,
+                    incrd, '%scomplex.%s.%d' % (prefix, trj_sfx, rank), mdin, 
+                    '%scomplex_pb.mdout.%d' % (prefix, rank), 
+                    '_MMPBSA_restrt.%d' % rank)
+       calc.Setup()
+-      calc.Run(stdout=os.devnull)
++      calc.Run()
+ 
+       if not stability:
+-         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
++         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in receptor -- using unmutated files'
+             shutil.copy('%sreceptor_pb.mdout.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -188,14 +191,15 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+             if 'mmpbsa_py_energy' in progs['pb']: incrd = '%sreceptor.pdb' % prefix
+             else: incrd = '%sdummyreceptor.inpcrd' % prefix
+    
+-            calc = EnergyCalculation(progs['pb'], parmsystem.receptor_prmtop,
++            calc = PBEnergyCalculation(progs['pb'], parmsystem.receptor_prmtop,
+                      incrd, '%sreceptor.%s.%d' % (prefix, trj_sfx, rank), mdin,
+                      '%sreceptor_pb.mdout.%d' % (prefix, rank),
+                      '_MMPBSA_restrt.%d' % rank)
+             calc.Setup()
+-            calc.Run(stdout=os.devnull)
++            calc.Run()
+ 
+-         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
++         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in ligand -- using unmutated files'
+             shutil.copy('%sligand_pb.mdout.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -207,12 +211,12 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+             if 'mmpbsa_py_energy' in progs['pb']: incrd = '%sligand.pdb' % prefix
+             else: incrd = '%sdummyligand.inpcrd' % prefix
+    
+-            calc = EnergyCalculation(progs['pb'], parmsystem.ligand_prmtop,
++            calc = PBEnergyCalculation(progs['pb'], parmsystem.ligand_prmtop,
+                      incrd, '%sligand.%s.%d' % (prefix, trj_sfx, rank), mdin,
+                      '%sligand_pb.mdout.%d' % (prefix, rank),
+                      '_MMPBSA_restrt.%d' % rank)
+             calc.Setup()
+-            calc.Run(stdout=os.devnull)
++            calc.Run()
+ 
+       MMPBSA_Timer.StopTimer('pb')
+ 
+@@ -232,7 +236,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+       calc.Run()
+ 
+       if not stability:
+-         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
++         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in receptor -- using unmutated files'
+             shutil.copy('%sreceptor_rism.mdout.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -246,7 +251,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+             calc.Setup()
+             calc.Run()
+                
+-         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
++         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in ligand -- using unmutated files'
+             shutil.copy('%sligand_rism.mdout.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -278,7 +284,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+       calc.Run()
+ 
+       if not stability:
+-         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
++         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in receptor -- using unmutated files'
+             shutil.copy('%sreceptor_nm.out.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -291,7 +298,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
+             calc.Setup()
+             calc.Run()
+ 
+-         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
++         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
++                   and not INPUT['mutant_only']:
+             print '  no mutation found in ligand -- using unmutated files'
+             shutil.copy('%sligand_nm.out.%d' % (
+                         prefix[:prefix.index('mutant')], rank), 
+@@ -605,3 +613,55 @@ class QuasiHarmCalc(Calculation):
+       Calculation.Run(self, stdout=self.output)
+ 
+ #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
++
++class PBEnergyCalculation(EnergyCalculation):
++   """
++   Specially handle the PB calculations to extract warnings and errors PBSA
++   prints to stdout and redirect them to the user
++   """
++   def Run(self, stderr=sys.stderr):
++      """ Runs the program. All command-line arguments must be set before 
++          calling this method. Command-line arguments should be set in Setup()
++      """
++      import re
++      from subprocess import Popen, PIPE
++
++      # If this has not been set up yet
++      # then raise a stink
++      if not self.calc_setup:
++         raise CalcError('Cannot run a calculation without calling its' +
++                        ' its Setup() function!') 
++
++      errorre = re.compile('(pb (?:bomb)|(?:warning))', re.I)
++      # Here, make sure that we could pass a file *OR* a string as stderr.
++      if type(stderr).__name__ == 'str':
++         stderr_is_string = True
++         process_stderr = open(stderr, 'w', 0)
++      else:
++         stderr_is_string = False
++         process_stderr = stderr
++
++      # The Setup() method sets the command-line arguments and makes sure that
++      # all of the CL arguments are set. Now all we have to do is start the 
++      # process and monitor it for success.
++
++      # Popen can only take strings as command-line arguments, so convert 
++      # everything to a string here
++      for i in range(len(self.command_args)):
++         self.command_args[i] = str(self.command_args[i])
++
++      process = Popen(self.command_args, stdin=None, stdout=PIPE,
++                      stderr=process_stderr)
++
++      out, err = process.communicate('')
++      calc_failed = bool(process.wait())
++
++      if stderr_is_string: process_stderr.close()
++
++      if calc_failed:
++         error_list = [s.strip() for s in out.split('\n') 
++                                       if errorre.match(s.strip())]
++         raise CalcError('%s failed with prmtop %s!\n\t' % (self.program,
++                         self.prmtop) + '\n\t'.join(error_list) + '\n')
++
++#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+diff --git a/AmberTools/src/parmed/ParmedTools/ParmedActions.py b/AmberTools/src/parmed/ParmedTools/ParmedActions.py
+index 4dd905f..4ea4a52 100644
+--- a/AmberTools/src/parmed/ParmedTools/ParmedActions.py
++++ b/AmberTools/src/parmed/ParmedTools/ParmedActions.py
+@@ -604,16 +604,15 @@ class changeljsingletype(Action):
+       from math import sqrt
+       from ParmedTools.exceptions import LJ_TypeError
+       # If this is an empty mask do nothing
+-      if not self.orig_radius: return
++      if self.orig_radius is None: return
+       # Make sure we've only selected a single atom type with our mask
+       attype = None
+-      iter = 0
+-      for sel in self.mask.Selection():
++      for i, sel in enumerate(self.mask.Selection()):
+          if sel == 1:
+-            if not attype:
+-               attype = self.parm.parm_data['ATOM_TYPE_INDEX'][iter]
++            if attype is None:
++               attype = self.parm.parm_data['ATOM_TYPE_INDEX'][i]
+             else:
+-               if attype != self.parm.parm_data['ATOM_TYPE_INDEX'][iter]:
++               if attype != self.parm.parm_data['ATOM_TYPE_INDEX'][i]:
+                   raise LJ_TypeError('changeLJSingleType: ' +
+                           'Selection mask has multiple atom types!')
+       # Fill the Lennard-Jones radius and depth arrays to make sure they're
+@@ -631,10 +630,6 @@ class changeljsingletype(Action):
+          bcoef = 2 * wij * rij ** 6
+          self.parm.parm_data['LENNARD_JONES_ACOEF'][lj_index] = acoef
+          self.parm.parm_data['LENNARD_JONES_BCOEF'][lj_index] = bcoef
+-         lj_index = self.parm.parm_data['NONBONDED_PARM_INDEX'][
+-            self.parm.ptr('ntypes') * (attype-1) + i] - 1
+-         self.parm.parm_data['LENNARD_JONES_ACOEF'][lj_index] = acoef
+-         self.parm.parm_data['LENNARD_JONES_BCOEF'][lj_index] = bcoef
+ 
+ #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ 
+diff --git a/AmberTools/src/pbsa/gen_dx_file.F90 b/AmberTools/src/pbsa/gen_dx_file.F90
+index 475b6ef..d50e453 100644
+--- a/AmberTools/src/pbsa/gen_dx_file.F90
++++ b/AmberTools/src/pbsa/gen_dx_file.F90
+@@ -37,6 +37,7 @@ subroutine gen_dx_file(xm,ym,zm,h,gox,goy,goz,voldata,filename,fn,dataname)
+                         end if
+                     end do
+                 end do; end do
++                if (.not.(MOD(cnt,3).eq. 0) ) write(fn,*) ''
+                 write(fn,*) 'attribute "dep" string "positions"'
+                 write(fn,*) 'object "',dataname,'" class field'
+                 write(fn,*) 'component "positions" value 1'
+diff --git a/AmberTools/src/pbsa/pb_force.F90 b/AmberTools/src/pbsa/pb_force.F90
+index 37337bd..52f1edf 100644
+--- a/AmberTools/src/pbsa/pb_force.F90
++++ b/AmberTools/src/pbsa/pb_force.F90
+@@ -1399,7 +1399,7 @@ subroutine pb_fdfrc( pbverbose,pbprint,pbgrid,ifcap,ipb,imin,natom,atmlast,npdec
+                close(64)
+             elseif ( phiform == 2 ) then
+             !write dx format phi
+-               call gen_dx_file(xm,ym,zm,h,gox,goy,goz,phi(1:xmymzm),&
++               call gen_dx_file(xm,ym,zm,h,gox,goy,goz,frcfac*phi(1:xmymzm),&
+                            phifilename,phifilenum,phidataname)
+ !                write(6,*) 'writing potential map in dx format'
+ !                open(67,file='pbsa_phi.dx')
+diff --git a/AmberTools/src/sqm/constants.F90 b/AmberTools/src/sqm/constants.F90
+index 590cc71..c19fd06 100644
+--- a/AmberTools/src/sqm/constants.F90
++++ b/AmberTools/src/sqm/constants.F90
+@@ -84,18 +84,23 @@ module constants
+   !------------------------------------------------------------
+   !     THE ARRAY FC(I) CONTAINS THE FACTORIALS OF (I-1).
+ 
+-  _REAL_, parameter :: FC(1:17) =&
+-       (/ 1.0D0,1.0D0, 2.0D0, 6.0D0, 24.0D0, 120.0D0, 720.0D0, 5040.0D0, &
+-          40320.0D0, 362880.0D0, 3628800.0D0, 39916800.0D0,              &
+-          4.790016D+08, 6.2270208D+09, 8.71782912D+10,                   &
+-          1.307674368D+12, 2.092278989D+13 /)   
++  _REAL_, parameter :: FC(1:25) =&
++       (/ 1.0D0,1.0D0, 2.0D0, 6.0D0, 24.0D0, &
++          120.0D0, 720.0D0, 5040.0D0, 40320.0D0, 362880.0D0, &
++          3628800.0D0, 39916800.0D0, 4.790016D+08, 6.2270208D+09, 8.71782912D+10, &
++          1.307674368D+12, 2.092278989D+13, 3.55687428096D+14, 6.402373705728D+15, 1.21645100408832D+17, &
++          2.43290200817664D+18, 5.109094217170944D+19, 1.12400072777760768D+21, 2.585201673888497664D+22, &
++                  6.2044840173323943936D+23 /)
+   
+-  _REAL_, parameter :: logFC(1:17) = (/ 0.0D0, 0.0D0, 0.6931471805599D0,       &
++  _REAL_, parameter :: logFC(1:25) = (/ 0.0D0, 0.0D0, 0.6931471805599D0,       &
+        &            1.7917594692281D0,  3.1780538303479D0,  4.7874917427820D0, &
+        &            6.5792512120101D0,  8.5251613610654D0, 10.6046029027453D0, &
+        &           12.8018274800815D0, 15.1044125730755D0, 17.5023078458739D0, &
+        &           19.9872144956619D0, 22.5521638531234D0, 25.1912211827387D0, &
+-       &           27.8992713838409D0, 30.6718601061763D0 /)
++       &           27.8992713838409D0, 30.6718601061763D0, 33.5050734501369D0, &
++                   36.3954452080331D0, 39.3398841871995D0, 42.3356164607535D0, &
++                   45.3801388984769D0, 48.4711813518352D0, 51.6066755677644D0, &
++                   54.7847293981123D0 /)
+ 
+   !     DEFINE C COEFFICIENTS FOR ASSOCIATE LEGENDRE POLYNOMIALS.         
+   _REAL_, parameter::CC(1:21,1:3) = reshape ( (/   &      
+diff --git a/AmberTools/src/sqm/depend b/AmberTools/src/sqm/depend
+index 357ef59..0d3db38 100644
+--- a/AmberTools/src/sqm/depend
++++ b/AmberTools/src/sqm/depend
+@@ -599,7 +599,8 @@ qm2_h1elec_d.o: \
+                     rotation.o\
+                     elementOrbitalIndex.o\
+                     slater_overlap.o\
+-                    qmmm_module.o
++                    qmmm_module.o\
++                    utilitiesModule.o
+ 
+ 
+ qm2_h1elec_d.o:   qm2_h1elec_d.F90
+@@ -668,7 +669,8 @@ qm2_parameters.o: \
+                     elementOrbitalIndex.o\
+                     qmmm_qmtheorymodule.o\
+                     parameterReader.o\
+-                    qmmm_module.o
++                    qmmm_module.o\
++                    utilitiesModule.o
+ 
+ 
+ qm2_parameters.o:   qm2_parameters.F90
+@@ -679,7 +681,8 @@ qm2_params_module.o: \
+                     ../include/assert.fh\
+                     ../include/dprec.fh\
+                     elementOrbitalIndex.o\
+-                    qmmm_qmtheorymodule.o
++                    qmmm_qmtheorymodule.o\
++                    constants.o
+ 
+ 
+ qm2_params_module.o:   qm2_params_module.F90
+diff --git a/AmberTools/src/sqm/qm2_parameters.F90 b/AmberTools/src/sqm/qm2_parameters.F90
+index 9985f1f..e762063 100644
+--- a/AmberTools/src/sqm/qm2_parameters.F90
++++ b/AmberTools/src/sqm/qm2_parameters.F90
+@@ -263,6 +263,8 @@ if (currentTheory%MNDOD) then
+   core_chg( 15) = 5; natomic_orbs( 15) = 9; heat_of_form( 15) = 75.570D0 !P 
+   core_chg( 16) = 6; natomic_orbs( 16) = 9; heat_of_form( 16) = 66.400D0 !S
+   core_chg( 17) = 7; natomic_orbs( 17) = 9; heat_of_form( 17) = 28.990D0 !Cl  
++  core_chg( 35) = 7; natomic_orbs( 35) = 9; heat_of_form( 35) = 26.740D0 !Br
++  core_chg( 53) = 7; natomic_orbs( 53) = 9; heat_of_form( 53) = 25.517D0 !I
+ end if
+ 
+ if (currentTheory%AM1D) then 
+diff --git a/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save b/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save
+index 0390673..f9c1daf 100644
+--- a/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save
++++ b/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save
+@@ -1,11 +1,11 @@
+-| Run on Fri Oct 21 16:59:53 2011
++| Run on Thu Aug 23 19:08:46 2012
+ |
+ |Input file:
+ |--------------------------------------------------------------
+ |MMPBSA input file for running per-residue decomp
+ |&general
+ |   startframe=1, endframe=2, interval=1,
+-|   keep_files=2, debug_printlevel=2
++|   keep_files=1, debug_printlevel=2
+ |/
+ |&gb
+ |   igb=5, saltcon=0.1
+@@ -14,7 +14,7 @@
+ |   idecomp=1, print_res='1-10; 200-241', csv_format=0,
+ |/
+ |--------------------------------------------------------------
+-|MMPBSA.py Version=3.0
++|MMPBSA.py Version=12.0
+ |Solvated complex topology file:  ../EstRAL_Files/sol.top
+ |Complex topology file:           ../EstRAL_Files/com.top
+ |Receptor topology file:          ../EstRAL_Files/rec.top
+@@ -38,13 +38,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                  -2027.4585                6.6828              4.7254
+ EEL                     -17102.0128               39.7611             28.1154
+-EGB                      -3036.0661               15.1517             10.7138
+-ESURF                       92.0643                0.2456              0.1737
++EGB                      -3036.2753               15.1544             10.7158
++ESURF                       92.0404                0.2552              0.1805
+ 
+ G gas                   -19129.4713               46.4439             32.8408
+-G solv                   -2944.0018               15.3973             10.8875
++G solv                   -2944.2348               15.4096             10.8963
+ 
+-TOTAL                   -22073.4731               31.0467             21.9533
++TOTAL                   -22073.7061               31.0343             21.9445
+ 
+ 
+ Receptor:
+@@ -52,13 +52,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                  -1963.0469                6.3796              4.5110
+ EEL                     -17062.3941               41.4017             29.2755
+-EGB                      -3045.5263               17.9328             12.6804
+-ESURF                       94.5901                0.3006              0.2125
++EGB                      -3045.7452               17.9344             12.6815
++ESURF                       94.5395                0.3071              0.2171
+ 
+ G gas                   -19025.4410               47.7813             33.7865
+-G solv                   -2950.9362               18.2334             12.8929
++G solv                   -2951.2056               18.2415             12.8987
+ 
+-TOTAL                   -21976.3773               29.5480             20.8936
++TOTAL                   -21976.6467               29.5398             20.8878
+ 
+ 
+ Ligand:
+@@ -66,13 +66,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                     -2.1842                0.9276              0.6559
+ EEL                         -5.8905                0.2643              0.1869
+-EGB                        -28.9823                0.3972              0.2809
+-ESURF                        5.5752                0.0080              0.0057
++EGB                        -28.9847                0.3972              0.2809
++ESURF                        5.5941                0.0255              0.0181
+ 
+ G gas                       -8.0747                1.1919              0.8428
+-G solv                     -23.4071                0.4052              0.2865
++G solv                     -23.3905                0.4228              0.2989
+ 
+-TOTAL                      -31.4819                1.5971              1.1293
++TOTAL                      -31.4653                1.6146              1.1417
+ 
+ 
+ Differences (Complex - Receptor - Ligand):
+@@ -80,13 +80,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                    -62.2274                1.2308              0.8703
+ EEL                        -33.7281                1.3763              0.9732
+-EGB                         38.4425                3.1784              2.2474
+-ESURF                       -8.1010                0.0630              0.0445
++EGB                         38.4546                3.1772              2.2466
++ESURF                       -8.0932                0.0774              0.0547
+ 
+ DELTA G gas                -95.9555                0.1455              0.1029
+-DELTA G solv                30.3415                3.2413              2.2919
++DELTA G solv                30.3614                3.2545              2.3013
+ 
+-DELTA TOTAL                -65.6140                3.0958              2.1890
++DELTA TOTAL                -65.5942                3.1090              2.1984
+ 
+ 
+ -------------------------------------------------------------------------------
+diff --git a/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save b/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save
+index f7cbe88..2135ffe 100644
+--- a/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save
++++ b/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save
+@@ -1,11 +1,11 @@
+-| Run on Fri Oct 21 17:35:19 2011
++| Run on Thu Aug 23 19:09:35 2012
+ |
+ |Input file:
+ |--------------------------------------------------------------
+ |MMPBSA input file for running per-residue decomp
+ |&general
+ |   startframe=1, endframe=2, interval=1,
+-|   keep_files=2, debug_printlevel=2,
++|   keep_files=0, debug_printlevel=2,
+ |/
+ |&gb
+ |   igb=5, saltcon=0.1
+@@ -15,7 +15,7 @@
+ |   csv_format=0,
+ |/
+ |--------------------------------------------------------------
+-|MMPBSA.py Version=3.0
++|MMPBSA.py Version=12.0
+ |Solvated complex topology file:  ../EstRAL_Files/sol.top
+ |Complex topology file:           ../EstRAL_Files/com.top
+ |Receptor topology file:          ../EstRAL_Files/rec.top
+@@ -39,13 +39,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                  -2027.4585                6.6828              4.7254
+ EEL                     -17102.0128               39.7611             28.1154
+-EGB                      -3036.0661               15.1517             10.7138
+-ESURF                       92.0643                0.2456              0.1737
++EGB                      -3036.2753               15.1544             10.7158
++ESURF                       92.0404                0.2552              0.1805
+ 
+ G gas                   -19129.4713               46.4439             32.8408
+-G solv                   -2944.0018               15.3973             10.8875
++G solv                   -2944.2348               15.4096             10.8963
+ 
+-TOTAL                   -22073.4731               31.0467             21.9533
++TOTAL                   -22073.7061               31.0343             21.9445
+ 
+ 
+ Receptor:
+@@ -53,13 +53,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                  -1963.0469                6.3796              4.5110
+ EEL                     -17062.3941               41.4017             29.2755
+-EGB                      -3045.5263               17.9328             12.6804
+-ESURF                       94.5901                0.3006              0.2125
++EGB                      -3045.7452               17.9344             12.6815
++ESURF                       94.5395                0.3071              0.2171
+ 
+ G gas                   -19025.4410               47.7813             33.7865
+-G solv                   -2950.9362               18.2334             12.8929
++G solv                   -2951.2056               18.2415             12.8987
+ 
+-TOTAL                   -21976.3773               29.5480             20.8936
++TOTAL                   -21976.6467               29.5398             20.8878
+ 
+ 
+ Ligand:
+@@ -67,13 +67,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                     -2.1842                0.9276              0.6559
+ EEL                         -5.8905                0.2643              0.1869
+-EGB                        -28.9823                0.3972              0.2809
+-ESURF                        5.5752                0.0080              0.0057
++EGB                        -28.9847                0.3972              0.2809
++ESURF                        5.5941                0.0255              0.0181
+ 
+ G gas                       -8.0747                1.1919              0.8428
+-G solv                     -23.4071                0.4052              0.2865
++G solv                     -23.3905                0.4228              0.2989
+ 
+-TOTAL                      -31.4819                1.5971              1.1293
++TOTAL                      -31.4653                1.6146              1.1417
+ 
+ 
+ Differences (Complex - Receptor - Ligand):
+@@ -81,13 +81,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                    -62.2274                1.2308              0.8703
+ EEL                        -33.7281                1.3763              0.9732
+-EGB                         38.4425                3.1784              2.2474
+-ESURF                       -8.1010                0.0630              0.0445
++EGB                         38.4546                3.1772              2.2466
++ESURF                       -8.0932                0.0774              0.0547
+ 
+ DELTA G gas                -95.9555                0.1455              0.1029
+-DELTA G solv                30.3415                3.2413              2.2919
++DELTA G solv                30.3614                3.2545              2.3013
+ 
+-DELTA TOTAL                -65.6140                3.0958              2.1890
++DELTA TOTAL                -65.5942                3.1090              2.1984
+ 
+ 
+ -------------------------------------------------------------------------------
+diff --git a/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save b/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save
+index 1c6672d..4dc52b5 100644
+--- a/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save
++++ b/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save
+@@ -1,4 +1,4 @@
+-| Run on Sun Feb 19 11:48:15 2012
++| Run on Thu Aug 23 19:12:17 2012
+ |
+ |Input file:
+ |--------------------------------------------------------------
+@@ -13,7 +13,7 @@
+ |   qm_theory='PM3',
+ |/
+ |--------------------------------------------------------------
+-|MMPBSA.py Version=3.1
++|MMPBSA.py Version=12.0
+ |Solvated complex topology file:  ../EstRAL_Files/sol.top
+ |Complex topology file:           ../EstRAL_Files/com.top
+ |Receptor topology file:          ../EstRAL_Files/rec.top
+@@ -38,14 +38,14 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                  -2025.2744                7.6103              5.3813
+ EEL                     -17062.4395               41.4020             29.2756
+-EGB                      -3038.1307               14.7141             10.4045
++EGB                      -3038.3396               14.7163             10.4060
+ ESURF                       96.5366                0.2385              0.1686
+-ESCF                       -21.6928                3.7699              2.6658
++ESCF                       -21.6939                3.7699              2.6657
+ 
+ G gas                   -19087.7139               49.0123             34.6570
+-G solv                   -2941.5940               14.4757             10.2358
++G solv                   -2941.8030               14.4778             10.2374
+ 
+-TOTAL                   -22051.0007               30.7667             21.7554
++TOTAL                   -22051.2107               30.7647             21.7539
+ 
+ 
+ Receptor:
+@@ -53,26 +53,26 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                  -1963.0469                6.3796              4.5110
+ EEL                     -17062.3941               41.4017             29.2755
+-EGB                      -3045.5263               17.9328             12.6804
++EGB                      -3045.7452               17.9344             12.6815
+ ESURF                      100.5546                0.3074              0.2173
+ 
+ G gas                   -19025.4410               47.7813             33.7865
+-G solv                   -2944.9718               17.6255             12.4631
++G solv                   -2945.1907               17.6270             12.4642
+ 
+-TOTAL                   -21970.4127               30.1558             21.3234
++TOTAL                   -21970.6316               30.1543             21.3223
+ 
+ 
+ Ligand:
+ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+-EGB                        -24.0340                0.8659              0.6123
++EGB                        -24.0371                0.8661              0.6124
+ ESURF                        4.4275                0.0229              0.0162
+-ESCF                         6.8997                1.2609              0.8916
++ESCF                         6.9011                1.2609              0.8916
+ 
+ G gas                        0.0000                0.0000              0.0000
+-G solv                     -19.6065                0.8889              0.6285
++G solv                     -19.6096                0.8891              0.6287
+ 
+-TOTAL                      -12.7069                2.1498              1.5201
++TOTAL                      -12.7085                2.1499              1.5202
+ 
+ 
+ Differences (Complex - Receptor - Ligand):
+@@ -80,14 +80,14 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
+ -------------------------------------------------------------------------------
+ VDWAALS                    -62.2274                1.2308              0.8703
+ EEL                         -0.0454                0.0003              0.0002
+-EGB                         31.4297                4.0846              2.8882
++EGB                         31.4427                4.0842              2.8880
+ ESURF                       -8.4454                0.0459              0.0325
+-ESCF                       -28.5925                2.5090              1.7741
++ESCF                       -28.5950                2.5090              1.7741
+ 
+ DELTA G gas                -62.2728                1.2310              0.8705
+-DELTA G solv                22.9843                4.0386              2.8558
++DELTA G solv                22.9973                4.0383              2.8555
+ 
+-DELTA TOTAL                -67.8811                2.7607              1.9521
++DELTA TOTAL                -67.8705                2.7603              1.9519
+ 
+ 
+ -------------------------------------------------------------------------------
+diff --git a/AmberTools/test/parmed/normal_prmtop/final.prmtop.save b/AmberTools/test/parmed/normal_prmtop/final.prmtop.save
+index a7e4428..3ce70b7 100644
+--- a/AmberTools/test/parmed/normal_prmtop/final.prmtop.save
++++ b/AmberTools/test/parmed/normal_prmtop/final.prmtop.save
+@@ -1,4 +1,4 @@
+-%VERSION  VERSION_STAMP = V0001.000  DATE = 02/28/12  13:10:17
++%VERSION  VERSION_STAMP = V0001.000  DATE = 07/08/12  15:11:06
+ %FLAG TITLE
+ %FORMAT(20a4)
+ 
+@@ -1245,63 +1245,63 @@ GLU PHE LEU ASP ALA ASN LEU ALA
+   0.00000000E+00  0.00000000E+00
+ %FLAG LENNARD_JONES_ACOEF
+ %FORMAT(5E16.8)
+-  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.95480466E+05  2.56678134E+03
+-  1.04308023E+06  2.01791425E+04  9.14716912E+00  2.27401052E+04  2.01823541E+02
+-  6.20665997E+04  5.94667300E+01  6.78771368E+04  8.79040886E+02  3.25969625E+03
+-  7.44975864E+05  1.40467023E+03  7.91544157E+05  1.45985502E+04  4.66922514E+04
++  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.96389997E+05  2.56912650E+03
++  1.04498714E+06  2.01791425E+04  9.14716912E+00  2.27608820E+04  2.01823541E+02
++  6.20665997E+04  5.94667300E+01  6.79391534E+04  8.79040886E+02  3.25969625E+03
++  7.44975864E+05  1.40467023E+03  7.92267358E+05  1.45985502E+04  4.66922514E+04
+   5.81803229E+05  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
+   0.00000000E+00  0.00000000E+00  0.00000000E+00  8.82619071E+05  2.27577561E+03
+-  9.24822270E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
+-  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.47841731E+05  1.12780457E+04
++  9.25667242E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
++  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.48433639E+05  1.12780457E+04
+   3.69471530E+04  4.71003287E+05  0.00000000E+00  5.74393458E+05  3.79876399E+05
+-  8.96776989E+04  1.07193646E+02  9.71708117E+04  1.41077189E+03  4.98586848E+03
++  8.96776989E+04  1.07193646E+02  9.72595927E+04  1.41077189E+03  4.98586848E+03
+   6.82786631E+04  0.00000000E+00  8.61541883E+04  5.44261042E+04  7.51607703E+03
+-  5.46147253E+04  4.90239937E+01  5.98885646E+04  7.50063100E+02  2.82099197E+03
++  5.46147253E+04  4.90239937E+01  5.99432824E+04  7.50063100E+02  2.82099197E+03
+   4.09427581E+04  0.00000000E+00  5.30987710E+04  3.23283631E+04  4.33325458E+03
+-  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.18621074E+04  9.55000044E+02
++  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.19277648E+04  9.55000044E+02
+   3.50301067E+03  4.96707306E+04  0.00000000E+00  6.37148278E+04  3.93690817E+04
+   5.34045360E+03  3.03448006E+03  3.76169105E+03  7.91627154E+04  8.90987508E+01
+-  8.59947003E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
++  8.60732702E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
+   7.62451550E+04  4.77908183E+04  6.55825601E+03  3.76169105E+03  4.64559155E+03
+-  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.09861767E+06  4.93469320E+04
++  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.10053510E+06  4.93469320E+04
+   1.42791446E+05  1.61587928E+06  0.00000000E+00  1.86068943E+06  1.32911052E+06
+   2.02461849E+05  1.26338489E+05  1.50848032E+05  1.79647996E+05  4.19430400E+06
+-  9.96389997E+05  2.56912650E+03  1.04403325E+06  2.27608820E+04  6.79391534E+04
+-  7.92267358E+05  0.00000000E+00  9.25667242E+05  6.48433639E+05  9.72595927E+04
+-  5.99432824E+04  7.19277648E+04  8.60732702E+04  2.10053510E+06  1.04498714E+06
+-  8.82619071E+05  2.27577560E+03  9.24822269E+05  2.01619733E+04  6.01816484E+04
++  9.44293233E+05  2.12601181E+03  9.96389997E+05  2.01791425E+04  6.20665998E+04
++  7.44975864E+05  0.00000000E+00  8.82619071E+05  6.06829343E+05  8.96776989E+04
++  5.46147253E+04  6.58473870E+04  7.91627155E+04  2.01562190E+06  9.44293233E+05
++  8.82619071E+05  2.27577560E+03  9.25667242E+05  2.01619733E+04  6.01816484E+04
+   7.01803794E+05  0.00000000E+00  8.19971662E+05  5.74393458E+05  8.61541883E+04
+-  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  9.25667242E+05
++  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  2.00000000E+00
+   8.19971662E+05
+ %FLAG LENNARD_JONES_BCOEF
+ %FORMAT(5E16.8)
+-  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.36907417E+02  2.06278363E+01
+-  6.75612247E+02  6.45756063E+01  7.57919667E-01  6.13981767E+01  3.56012899E+00
+-  1.13252061E+02  1.93248820E+00  1.06076943E+02  7.42992380E+00  1.43076527E+01
+-  7.50714425E+02  1.79702257E+01  6.93079947E+02  5.79323581E+01  1.03606917E+02
++  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.37580700E+02  2.06466831E+01
++  6.76847370E+02  6.45756063E+01  7.57919667E-01  6.14542738E+01  3.56012899E+00
++  1.13252061E+02  1.93248820E+00  1.06173862E+02  7.42992380E+00  1.43076527E+01
++  7.50714425E+02  1.79702257E+01  6.93713186E+02  5.79323581E+01  1.03606917E+02
+   6.99746810E+02  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
+   0.00000000E+00  0.00000000E+00  0.00000000E+00  6.53361429E+02  1.82891803E+01
+-  5.99015525E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
+-  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.26720080E+02  5.08951803E+01
++  5.99562822E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
++  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.27292689E+02  5.08951803E+01
+   9.21192136E+01  6.29300710E+02  0.00000000E+00  5.55666448E+02  5.64885984E+02
+-  1.36131731E+02  2.59456373E+00  1.26919150E+02  9.41257003E+00  1.76949863E+01
++  1.36131731E+02  2.59456373E+00  1.27035111E+02  9.41257003E+00  1.76949863E+01
+   1.25287818E+02  0.00000000E+00  1.12529845E+02  1.11805549E+02  2.17257828E+01
+-  1.05031585E+02  1.73473071E+00  9.85097219E+01  6.78541827E+00  1.31591746E+01
++  1.05031585E+02  1.73473071E+00  9.85997263E+01  6.78541827E+00  1.31591746E+01
+   9.59185913E+01  0.00000000E+00  8.73413012E+01  8.51921330E+01  1.63092814E+01
+-  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.07908863E+02  7.65648470E+00
++  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.08007455E+02  7.65648470E+00
+   1.46638650E+01  1.05648788E+02  0.00000000E+00  9.56748258E+01  9.40124296E+01
+   1.81057616E+01  1.34932874E+01  1.50233639E+01  1.26451907E+02  2.33864085E+00
+-  1.18043746E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
++  1.18151598E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
+   1.04660679E+02  1.03580945E+02  2.00642027E+01  1.50233639E+01  1.66953734E+01
+-  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17824605E+03  1.11203892E+02
++  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17932256E+03  1.11203892E+02
+   1.89165096E+02  1.21753341E+03  0.00000000E+00  1.04466382E+03  1.10369829E+03
+   2.25248294E+02  1.75916126E+02  1.92224012E+02  2.09772716E+02  2.04800000E+03
+-  7.37580700E+02  2.06466831E+01  6.76229527E+02  6.14542738E+01  1.06173862E+02
+-  6.93713186E+02  0.00000000E+00  5.99562822E+02  6.27292689E+02  1.27035111E+02
+-  9.85997263E+01  1.08007455E+02  1.18151598E+02  1.17932256E+03  6.76847370E+02
+-  6.53361429E+02  1.82891803E+01  5.99015525E+02  5.44372327E+01  9.40505981E+01
++  8.01323529E+02  2.09604198E+01  7.37580700E+02  6.45756063E+01  1.13252062E+02
++  7.50714426E+02  0.00000000E+00  6.53361429E+02  6.77220874E+02  1.36131731E+02
++  1.05031585E+02  1.15327881E+02  1.26451907E+02  1.28923404E+03  8.01323529E+02
++  6.53361429E+02  1.82891803E+01  5.99562822E+02  5.44372327E+01  9.40505981E+01
+   6.14502846E+02  0.00000000E+00  5.31102864E+02  5.55666449E+02  1.12529845E+02
+-  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  5.99562822E+02
++  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  4.00000000E+00
+   5.31102864E+02
+ %FLAG BONDS_INC_HYDROGEN
+ %FORMAT(10I8)
+diff --git a/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save b/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save
+index a7e4428..3ce70b7 100644
+--- a/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save
++++ b/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save
+@@ -1,4 +1,4 @@
+-%VERSION  VERSION_STAMP = V0001.000  DATE = 02/28/12  13:10:17
++%VERSION  VERSION_STAMP = V0001.000  DATE = 07/08/12  15:11:06
+ %FLAG TITLE
+ %FORMAT(20a4)
+ 
+@@ -1245,63 +1245,63 @@ GLU PHE LEU ASP ALA ASN LEU ALA
+   0.00000000E+00  0.00000000E+00
+ %FLAG LENNARD_JONES_ACOEF
+ %FORMAT(5E16.8)
+-  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.95480466E+05  2.56678134E+03
+-  1.04308023E+06  2.01791425E+04  9.14716912E+00  2.27401052E+04  2.01823541E+02
+-  6.20665997E+04  5.94667300E+01  6.78771368E+04  8.79040886E+02  3.25969625E+03
+-  7.44975864E+05  1.40467023E+03  7.91544157E+05  1.45985502E+04  4.66922514E+04
++  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.96389997E+05  2.56912650E+03
++  1.04498714E+06  2.01791425E+04  9.14716912E+00  2.27608820E+04  2.01823541E+02
++  6.20665997E+04  5.94667300E+01  6.79391534E+04  8.79040886E+02  3.25969625E+03
++  7.44975864E+05  1.40467023E+03  7.92267358E+05  1.45985502E+04  4.66922514E+04
+   5.81803229E+05  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
+   0.00000000E+00  0.00000000E+00  0.00000000E+00  8.82619071E+05  2.27577561E+03
+-  9.24822270E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
+-  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.47841731E+05  1.12780457E+04
++  9.25667242E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
++  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.48433639E+05  1.12780457E+04
+   3.69471530E+04  4.71003287E+05  0.00000000E+00  5.74393458E+05  3.79876399E+05
+-  8.96776989E+04  1.07193646E+02  9.71708117E+04  1.41077189E+03  4.98586848E+03
++  8.96776989E+04  1.07193646E+02  9.72595927E+04  1.41077189E+03  4.98586848E+03
+   6.82786631E+04  0.00000000E+00  8.61541883E+04  5.44261042E+04  7.51607703E+03
+-  5.46147253E+04  4.90239937E+01  5.98885646E+04  7.50063100E+02  2.82099197E+03
++  5.46147253E+04  4.90239937E+01  5.99432824E+04  7.50063100E+02  2.82099197E+03
+   4.09427581E+04  0.00000000E+00  5.30987710E+04  3.23283631E+04  4.33325458E+03
+-  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.18621074E+04  9.55000044E+02
++  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.19277648E+04  9.55000044E+02
+   3.50301067E+03  4.96707306E+04  0.00000000E+00  6.37148278E+04  3.93690817E+04
+   5.34045360E+03  3.03448006E+03  3.76169105E+03  7.91627154E+04  8.90987508E+01
+-  8.59947003E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
++  8.60732702E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
+   7.62451550E+04  4.77908183E+04  6.55825601E+03  3.76169105E+03  4.64559155E+03
+-  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.09861767E+06  4.93469320E+04
++  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.10053510E+06  4.93469320E+04
+   1.42791446E+05  1.61587928E+06  0.00000000E+00  1.86068943E+06  1.32911052E+06
+   2.02461849E+05  1.26338489E+05  1.50848032E+05  1.79647996E+05  4.19430400E+06
+-  9.96389997E+05  2.56912650E+03  1.04403325E+06  2.27608820E+04  6.79391534E+04
+-  7.92267358E+05  0.00000000E+00  9.25667242E+05  6.48433639E+05  9.72595927E+04
+-  5.99432824E+04  7.19277648E+04  8.60732702E+04  2.10053510E+06  1.04498714E+06
+-  8.82619071E+05  2.27577560E+03  9.24822269E+05  2.01619733E+04  6.01816484E+04
++  9.44293233E+05  2.12601181E+03  9.96389997E+05  2.01791425E+04  6.20665998E+04
++  7.44975864E+05  0.00000000E+00  8.82619071E+05  6.06829343E+05  8.96776989E+04
++  5.46147253E+04  6.58473870E+04  7.91627155E+04  2.01562190E+06  9.44293233E+05
++  8.82619071E+05  2.27577560E+03  9.25667242E+05  2.01619733E+04  6.01816484E+04
+   7.01803794E+05  0.00000000E+00  8.19971662E+05  5.74393458E+05  8.61541883E+04
+-  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  9.25667242E+05
++  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  2.00000000E+00
+   8.19971662E+05
+ %FLAG LENNARD_JONES_BCOEF
+ %FORMAT(5E16.8)
+-  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.36907417E+02  2.06278363E+01
+-  6.75612247E+02  6.45756063E+01  7.57919667E-01  6.13981767E+01  3.56012899E+00
+-  1.13252061E+02  1.93248820E+00  1.06076943E+02  7.42992380E+00  1.43076527E+01
+-  7.50714425E+02  1.79702257E+01  6.93079947E+02  5.79323581E+01  1.03606917E+02
++  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.37580700E+02  2.06466831E+01
++  6.76847370E+02  6.45756063E+01  7.57919667E-01  6.14542738E+01  3.56012899E+00
++  1.13252061E+02  1.93248820E+00  1.06173862E+02  7.42992380E+00  1.43076527E+01
++  7.50714425E+02  1.79702257E+01  6.93713186E+02  5.79323581E+01  1.03606917E+02
+   6.99746810E+02  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
+   0.00000000E+00  0.00000000E+00  0.00000000E+00  6.53361429E+02  1.82891803E+01
+-  5.99015525E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
+-  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.26720080E+02  5.08951803E+01
++  5.99562822E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
++  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.27292689E+02  5.08951803E+01
+   9.21192136E+01  6.29300710E+02  0.00000000E+00  5.55666448E+02  5.64885984E+02
+-  1.36131731E+02  2.59456373E+00  1.26919150E+02  9.41257003E+00  1.76949863E+01
++  1.36131731E+02  2.59456373E+00  1.27035111E+02  9.41257003E+00  1.76949863E+01
+   1.25287818E+02  0.00000000E+00  1.12529845E+02  1.11805549E+02  2.17257828E+01
+-  1.05031585E+02  1.73473071E+00  9.85097219E+01  6.78541827E+00  1.31591746E+01
++  1.05031585E+02  1.73473071E+00  9.85997263E+01  6.78541827E+00  1.31591746E+01
+   9.59185913E+01  0.00000000E+00  8.73413012E+01  8.51921330E+01  1.63092814E+01
+-  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.07908863E+02  7.65648470E+00
++  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.08007455E+02  7.65648470E+00
+   1.46638650E+01  1.05648788E+02  0.00000000E+00  9.56748258E+01  9.40124296E+01
+   1.81057616E+01  1.34932874E+01  1.50233639E+01  1.26451907E+02  2.33864085E+00
+-  1.18043746E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
++  1.18151598E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
+   1.04660679E+02  1.03580945E+02  2.00642027E+01  1.50233639E+01  1.66953734E+01
+-  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17824605E+03  1.11203892E+02
++  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17932256E+03  1.11203892E+02
+   1.89165096E+02  1.21753341E+03  0.00000000E+00  1.04466382E+03  1.10369829E+03
+   2.25248294E+02  1.75916126E+02  1.92224012E+02  2.09772716E+02  2.04800000E+03
+-  7.37580700E+02  2.06466831E+01  6.76229527E+02  6.14542738E+01  1.06173862E+02
+-  6.93713186E+02  0.00000000E+00  5.99562822E+02  6.27292689E+02  1.27035111E+02
+-  9.85997263E+01  1.08007455E+02  1.18151598E+02  1.17932256E+03  6.76847370E+02
+-  6.53361429E+02  1.82891803E+01  5.99015525E+02  5.44372327E+01  9.40505981E+01
++  8.01323529E+02  2.09604198E+01  7.37580700E+02  6.45756063E+01  1.13252062E+02
++  7.50714426E+02  0.00000000E+00  6.53361429E+02  6.77220874E+02  1.36131731E+02
++  1.05031585E+02  1.15327881E+02  1.26451907E+02  1.28923404E+03  8.01323529E+02
++  6.53361429E+02  1.82891803E+01  5.99562822E+02  5.44372327E+01  9.40505981E+01
+   6.14502846E+02  0.00000000E+00  5.31102864E+02  5.55666449E+02  1.12529845E+02
+-  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  5.99562822E+02
++  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  4.00000000E+00
+   5.31102864E+02
+ %FLAG BONDS_INC_HYDROGEN
+ %FORMAT(10I8)
+diff --git a/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save b/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save
+index 0a2a704..d984445 100644
+--- a/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save
++++ b/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save
+@@ -1,4 +1,4 @@
+-%VERSION  VERSION_STAMP = V0001.000  DATE = 02/21/12  17:31:04
++%VERSION  VERSION_STAMP = V0001.000  DATE = 07/08/12  15:11:06
+ %FLAG TITLE
+ %FORMAT(20a4)
+ 
+@@ -1245,63 +1245,63 @@ GLU PHE LEU ASP ALA ASN LEU ALA
+   0.00000000E+00  0.00000000E+00
+ %FLAG LENNARD_JONES_ACOEF
+ %FORMAT(5E16.8)
+-  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.95480466E+05  2.56678134E+03
+-  1.04308023E+06  2.01791425E+04  9.14716912E+00  2.27401052E+04  2.01823541E+02
+-  6.20665997E+04  5.94667300E+01  6.78771368E+04  8.79040886E+02  3.25969625E+03
+-  7.44975864E+05  1.40467023E+03  7.91544157E+05  1.45985502E+04  4.66922514E+04
++  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.96389997E+05  2.56912650E+03
++  1.04498714E+06  2.01791425E+04  9.14716912E+00  2.27608820E+04  2.01823541E+02
++  6.20665997E+04  5.94667300E+01  6.79391534E+04  8.79040886E+02  3.25969625E+03
++  7.44975864E+05  1.40467023E+03  7.92267358E+05  1.45985502E+04  4.66922514E+04
+   5.81803229E+05  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
+   0.00000000E+00  0.00000000E+00  0.00000000E+00  8.82619071E+05  2.27577561E+03
+-  9.24822270E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
+-  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.47841731E+05  1.12780457E+04
++  9.25667242E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
++  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.48433639E+05  1.12780457E+04
+   3.69471530E+04  4.71003287E+05  0.00000000E+00  5.74393458E+05  3.79876399E+05
+-  8.96776989E+04  1.07193646E+02  9.71708117E+04  1.41077189E+03  4.98586848E+03
++  8.96776989E+04  1.07193646E+02  9.72595927E+04  1.41077189E+03  4.98586848E+03
+   6.82786631E+04  0.00000000E+00  8.61541883E+04  5.44261042E+04  7.51607703E+03
+-  5.46147253E+04  4.90239937E+01  5.98885646E+04  7.50063100E+02  2.82099197E+03
++  5.46147253E+04  4.90239937E+01  5.99432824E+04  7.50063100E+02  2.82099197E+03
+   4.09427581E+04  0.00000000E+00  5.30987710E+04  3.23283631E+04  4.33325458E+03
+-  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.18621074E+04  9.55000044E+02
++  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.19277648E+04  9.55000044E+02
+   3.50301067E+03  4.96707306E+04  0.00000000E+00  6.37148278E+04  3.93690817E+04
+   5.34045360E+03  3.03448006E+03  3.76169105E+03  7.91627154E+04  8.90987508E+01
+-  8.59947003E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
++  8.60732702E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
+   7.62451550E+04  4.77908183E+04  6.55825601E+03  3.76169105E+03  4.64559155E+03
+-  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.09861767E+06  4.93469320E+04
++  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.10053510E+06  4.93469320E+04
+   1.42791446E+05  1.61587928E+06  0.00000000E+00  1.86068943E+06  1.32911052E+06
+   2.02461849E+05  1.26338489E+05  1.50848032E+05  1.79647996E+05  4.19430400E+06
+-  9.96389997E+05  2.56912650E+03  1.04403325E+06  2.27608820E+04  6.79391534E+04
+-  7.92267358E+05  0.00000000E+00  9.25667242E+05  6.48433639E+05  9.72595927E+04
+-  5.99432824E+04  7.19277648E+04  8.60732702E+04  2.10053510E+06  1.04498714E+06
+-  8.82619071E+05  2.27577560E+03  9.24822269E+05  2.01619733E+04  6.01816484E+04
++  9.44293233E+05  2.12601181E+03  9.96389997E+05  2.01791425E+04  6.20665998E+04
++  7.44975864E+05  0.00000000E+00  8.82619071E+05  6.06829343E+05  8.96776989E+04
++  5.46147253E+04  6.58473870E+04  7.91627155E+04  2.01562190E+06  9.44293233E+05
++  8.82619071E+05  2.27577560E+03  9.25667242E+05  2.01619733E+04  6.01816484E+04
+   7.01803794E+05  0.00000000E+00  8.19971662E+05  5.74393458E+05  8.61541883E+04
+-  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  9.25667242E+05
++  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  2.00000000E+00
+   8.19971662E+05
+ %FLAG LENNARD_JONES_BCOEF
+ %FORMAT(5E16.8)
+-  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.36907417E+02  2.06278363E+01
+-  6.75612247E+02  6.45756063E+01  7.57919667E-01  6.13981767E+01  3.56012899E+00
+-  1.13252061E+02  1.93248820E+00  1.06076943E+02  7.42992380E+00  1.43076527E+01
+-  7.50714425E+02  1.79702257E+01  6.93079947E+02  5.79323581E+01  1.03606917E+02
++  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.37580700E+02  2.06466831E+01
++  6.76847370E+02  6.45756063E+01  7.57919667E-01  6.14542738E+01  3.56012899E+00
++  1.13252061E+02  1.93248820E+00  1.06173862E+02  7.42992380E+00  1.43076527E+01
++  7.50714425E+02  1.79702257E+01  6.93713186E+02  5.79323581E+01  1.03606917E+02
+   6.99746810E+02  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
+   0.00000000E+00  0.00000000E+00  0.00000000E+00  6.53361429E+02  1.82891803E+01
+-  5.99015525E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
+-  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.26720080E+02  5.08951803E+01
++  5.99562822E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
++  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.27292689E+02  5.08951803E+01
+   9.21192136E+01  6.29300710E+02  0.00000000E+00  5.55666448E+02  5.64885984E+02
+-  1.36131731E+02  2.59456373E+00  1.26919150E+02  9.41257003E+00  1.76949863E+01
++  1.36131731E+02  2.59456373E+00  1.27035111E+02  9.41257003E+00  1.76949863E+01
+   1.25287818E+02  0.00000000E+00  1.12529845E+02  1.11805549E+02  2.17257828E+01
+-  1.05031585E+02  1.73473071E+00  9.85097219E+01  6.78541827E+00  1.31591746E+01
++  1.05031585E+02  1.73473071E+00  9.85997263E+01  6.78541827E+00  1.31591746E+01
+   9.59185913E+01  0.00000000E+00  8.73413012E+01  8.51921330E+01  1.63092814E+01
+-  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.07908863E+02  7.65648470E+00
++  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.08007455E+02  7.65648470E+00
+   1.46638650E+01  1.05648788E+02  0.00000000E+00  9.56748258E+01  9.40124296E+01
+   1.81057616E+01  1.34932874E+01  1.50233639E+01  1.26451907E+02  2.33864085E+00
+-  1.18043746E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
++  1.18151598E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
+   1.04660679E+02  1.03580945E+02  2.00642027E+01  1.50233639E+01  1.66953734E+01
+-  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17824605E+03  1.11203892E+02
++  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17932256E+03  1.11203892E+02
+   1.89165096E+02  1.21753341E+03  0.00000000E+00  1.04466382E+03  1.10369829E+03
+   2.25248294E+02  1.75916126E+02  1.92224012E+02  2.09772716E+02  2.04800000E+03
+-  7.37580700E+02  2.06466831E+01  6.76229527E+02  6.14542738E+01  1.06173862E+02
+-  6.93713186E+02  0.00000000E+00  5.99562822E+02  6.27292689E+02  1.27035111E+02
+-  9.85997263E+01  1.08007455E+02  1.18151598E+02  1.17932256E+03  6.76847370E+02
+-  6.53361429E+02  1.82891803E+01  5.99015525E+02  5.44372327E+01  9.40505981E+01
++  8.01323529E+02  2.09604198E+01  7.37580700E+02  6.45756063E+01  1.13252062E+02
++  7.50714426E+02  0.00000000E+00  6.53361429E+02  6.77220874E+02  1.36131731E+02
++  1.05031585E+02  1.15327881E+02  1.26451907E+02  1.28923404E+03  8.01323529E+02
++  6.53361429E+02  1.82891803E+01  5.99562822E+02  5.44372327E+01  9.40505981E+01
+   6.14502846E+02  0.00000000E+00  5.31102864E+02  5.55666449E+02  1.12529845E+02
+-  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  5.99562822E+02
++  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  4.00000000E+00
+   5.31102864E+02
+ %FLAG BONDS_INC_HYDROGEN
+ %FORMAT(10I8)
+diff --git a/dat/leap/cmd/leaprc.pol12 b/dat/leap/cmd/leaprc.pol12
+deleted file mode 100644
+index 2bb10c7..0000000
+--- a/dat/leap/cmd/leaprc.pol12
++++ /dev/null
+@@ -1,182 +0,0 @@
+-logFile leap.log
+-#
+-# ----- leaprc for loading pol12, the 2012 pol. force field, no lone pairs
+-#
+-#
+-addAtomTypes {
+-	{ "H"   "H" "sp3" }
+-	{ "HO"  "H" "sp3" }
+-	{ "HS"  "H" "sp3" }
+-	{ "H1"  "H" "sp3" }
+-	{ "H2"  "H" "sp3" }
+-	{ "H3"  "H" "sp3" }
+-	{ "H4"  "H" "sp3" }
+-	{ "H5"  "H" "sp3" }
+-	{ "HW"  "H" "sp3" }
+-	{ "HC"  "H" "sp3" }
+-	{ "HA"  "H" "sp3" }
+-	{ "HP"  "H" "sp3" }
+-	{ "OH"  "O" "sp3" }
+-	{ "OS"  "O" "sp3" }
+-	{ "O"   "O" "sp2" }
+-	{ "O2"  "O" "sp2" }
+-	{ "OW"  "O" "sp3" }
+-	{ "CT"  "C" "sp3" }
+-	{ "CH"  "C" "sp3" }
+-	{ "C2"  "C" "sp3" }
+-	{ "C3"  "C" "sp3" }
+-	{ "C"   "C" "sp2" }
+-	{ "C*"  "C" "sp2" }
+-	{ "CA"  "C" "sp2" }
+-	{ "CB"  "C" "sp2" }
+-	{ "CC"  "C" "sp2" }
+-	{ "CN"  "C" "sp2" }
+-	{ "CM"  "C" "sp2" }
+-	{ "CK"  "C" "sp2" }
+-	{ "CQ"  "C" "sp2" }
+-	{ "CD"  "C" "sp2" }
+-	{ "CE"  "C" "sp2" }
+-	{ "CF"  "C" "sp2" }
+-	{ "CP"  "C" "sp2" }
+-	{ "CI"  "C" "sp2" }
+-	{ "CJ"  "C" "sp2" }
+-	{ "CW"  "C" "sp2" }
+-	{ "CV"  "C" "sp2" }
+-	{ "CR"  "C" "sp2" }
+-	{ "CA"  "C" "sp2" }
+-	{ "CY"  "C" "sp2" }
+-	{ "C0"  "Ca" "sp3" }
+-	{ "MG"  "Mg" "sp3" }
+-	{ "N"   "N" "sp2" }
+-	{ "NA"  "N" "sp2" }
+-	{ "N2"  "N" "sp2" }
+-	{ "N*"  "N" "sp2" }
+-	{ "NP"  "N" "sp2" }
+-	{ "NQ"  "N" "sp2" }
+-	{ "NB"  "N" "sp2" }
+-	{ "NC"  "N" "sp2" }
+-	{ "NT"  "N" "sp3" }
+-	{ "N3"  "N" "sp3" }
+-	{ "S"   "S" "sp3" }
+-	{ "SH"  "S" "sp3" }
+-	{ "P"   "P" "sp3" }
+-	{ "EP"  ""  "sp3" }
+-	{ "F"   "F" "sp3" }
+-	{ "CL"  "Cl" "sp3" }
+-	{ "BR"  "Br" "sp3" }
+-	{ "I"   "I"  "sp3" }
+-	{ "FE"  "Fe" "sp3" }
+-# things should be there
+-        { "IM"  "Cl" "sp3" }
+-        { "IP"  "Na" "sp3" }
+-        { "Li"  "Li"  "sp3" }
+-        { "K"  "K"  "sp3" }
+-        { "Rb"  "Rb"  "sp3" }
+-        { "Cs"  "Cs"  "sp3" }
+-        { "Zn"  "Zn"  "sp3" }
+-        { "IB"  "Na"  "sp3" }
+-# "new" types
+-        { "H0"  "H" "sp3" }
+-
+-}
+-#
+-#	Load the main parameter set.
+-#
+-set default DIPOLE_DAMP_FACTOR 2.5873
+-set default sceescalefactor 1.0
+-set default scnbscalefactor 2.0
+-set default CMAP on
+-
+-parm11 = loadamberparams parmpol12.dat
+-parmpol= loadamberparams frcmod.pol12
+-#
+-#	Load main chain and terminating 
+-#	amino acid libraries.
+-#
+-loadOff aminoctpol12.lib
+-loadOff aminontpol12.lib
+-loadOff aminopol12.lib
+-
+-loadOff ions94.lib
+-loadOff solvents.lib
+-#HOH = TP3
+-#WAT = TP3
+-HOH = PL3
+-WAT = PL3
+-
+-#
+-#	Define the PDB name map for the amino acids and DNA.
+-#
+-addPdbResMap {
+-  { 0 "ALA" "NALA" } { 1 "ALA" "CALA" }
+-  { 0 "ARG" "NARG" } { 1 "ARG" "CARG" }
+-  { 0 "ASN" "NASN" } { 1 "ASN" "CASN" }
+-  { 0 "ASP" "NASP" } { 1 "ASP" "CASP" }
+-  { 0 "CYS" "NCYS" } { 1 "CYS" "CCYS" }
+-  { 0 "CYX" "NCYX" } { 1 "CYX" "CCYX" }
+-  { 0 "GLN" "NGLN" } { 1 "GLN" "CGLN" }
+-  { 0 "GLU" "NGLU" } { 1 "GLU" "CGLU" }
+-  { 0 "GLY" "NGLY" } { 1 "GLY" "CGLY" }
+-  { 0 "HID" "NHID" } { 1 "HID" "CHID" }
+-  { 0 "HIE" "NHIE" } { 1 "HIE" "CHIE" }
+-  { 0 "HIP" "NHIP" } { 1 "HIP" "CHIP" }
+-  { 0 "ILE" "NILE" } { 1 "ILE" "CILE" }
+-  { 0 "LEU" "NLEU" } { 1 "LEU" "CLEU" }
+-  { 0 "LYS" "NLYS" } { 1 "LYS" "CLYS" }
+-  { 0 "MET" "NMET" } { 1 "MET" "CMET" }
+-  { 0 "PHE" "NPHE" } { 1 "PHE" "CPHE" }
+-  { 0 "PRO" "NPRO" } { 1 "PRO" "CPRO" }
+-  { 0 "SER" "NSER" } { 1 "SER" "CSER" }
+-  { 0 "THR" "NTHR" } { 1 "THR" "CTHR" }
+-  { 0 "TRP" "NTRP" } { 1 "TRP" "CTRP" }
+-  { 0 "TYR" "NTYR" } { 1 "TYR" "CTYR" }
+-  { 0 "VAL" "NVAL" } { 1 "VAL" "CVAL" }
+-  { 0 "HIS" "NHIS" } { 1 "HIS" "CHIS" }
+-  { 0 "GUA" "DG5"  } { 1 "GUA" "DG3"  } { "GUA" "DG" }
+-  { 0 "ADE" "DA5"  } { 1 "ADE" "DA3"  } { "ADE" "DA" }
+-  { 0 "CYT" "DC5"  } { 1 "CYT" "DC3"  } { "CYT" "DC" }
+-  { 0 "THY" "DT5"  } { 1 "THY" "DT3"  } { "THY" "DT" }
+-  { 0 "G" "DG5"  } { 1 "G" "DG3"  } { "G" "DG" } { "GN" "DGN" }
+-  { 0 "A" "DA5"  } { 1 "A" "DA3"  } { "A" "DA" } { "AN" "DAN" }
+-  { 0 "C" "DC5"  } { 1 "C" "DC3"  } { "C" "DC" } { "CN" "DCN" }
+-  { 0 "T" "DT5"  } { 1 "T" "DT3"  } { "T" "DT" } { "TN" "DTN" }
+-  { 0 "C5" "DC5" }
+-  { 0 "G5" "DG5" }
+-  { 0 "A5" "DA5" }
+-  { 0 "T5" "DT5" }
+-  { 1 "C3" "DC3" }
+-  { 1 "G3" "DG3" }
+-  { 1 "A3" "DA3" }
+-  { 1 "T3" "DT3" }
+-
+-}
+-
+-addPdbAtomMap {
+-  { "O5*" "O5'" }
+-  { "C5*" "C5'" }
+-  { "C4*" "C4'" }
+-  { "O4*" "O4'" }
+-  { "C3*" "C3'" }
+-  { "O3*" "O3'" }
+-  { "C2*" "C2'" }
+-  { "C1*" "C1'" }
+-  { "C5M" "C7"  }
+-  { "H1*" "H1'" }
+-  { "H2*1" "H2'1" }
+-  { "H2*2" "H2'2" }
+-  { "H3*" "H3'" }
+-  { "H4*" "H4'" }
+-  { "H5*1" "H5'1" }
+-  { "H5*2" "H5'2" }
+-# old ff atom names -> new
+-  { "O1'" "O4'" }
+-  { "OA"  "O1P" }
+-  { "OB"  "O2P" }
+-}
+-
+-#
+-# assumed that most often proteins use HIE
+-#
+-NHIS = NHIE
+-HIS = HIE
+-CHIS = CHIE
+diff --git a/dat/leap/lib/aminoctpol12.lib b/dat/leap/lib/aminoctpol12.lib
+deleted file mode 100644
+index fa60138..0000000
+--- a/dat/leap/lib/aminoctpol12.lib
++++ /dev/null
+@@ -1,3677 +0,0 @@
+-!!index array str
+- "CALA"
+- "CARG"
+- "CASH"
+- "CASN"
+- "CASP"
+- "CCYM"
+- "CCYS"
+- "CCYX"
+- "CGLH"
+- "CGLN"
+- "CGLU"
+- "CGLY"
+- "CHID"
+- "CHIE"
+- "CHIP"
+- "CILE"
+- "CLEU"
+- "CLYN"
+- "CLYS"
+- "CMET"
+- "CPHE"
+- "CPRO"
+- "CSER"
+- "CTHR"
+- "CTRP"
+- "CTYR"
+- "CVAL"
+- "NME"
+-!entry.CALA.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.139420
+- "HA" "H1" 0 1 131072 4 1 0.100300
+- "CB" "CT" 0 1 131072 5 6 -0.168880
+- "HB1" "HC" 0 1 131072 6 1 0.087020
+- "HB2" "HC" 0 1 131072 7 1 0.087020
+- "HB3" "HC" 0 1 131072 8 1 0.087020
+- "C" "C" 0 1 131072 9 6 0.705530
+- "O" "O2" 0 1 131072 10 8 -0.822990
+- "OXT" "O2" 0 1 131072 11 8 -0.822990
+-!entry.CALA.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB1" "HC" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CALA.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CALA.unit.childsequence single int
+- 2
+-!entry.CALA.unit.connect array int
+- 1
+- 0
+-!entry.CALA.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 9 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 9 10 1
+- 9 11 1
+-!entry.CALA.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+-!entry.CALA.unit.name single str
+- "CALA"
+-!entry.CALA.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 3.877484 3.115795 2.131197
+- 4.075059 4.623017 1.205786
+- 2.496995 3.801075 1.241379
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CALA.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CALA.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CALA" 1 12 1 "p" 0
+-!entry.CALA.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CALA.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CALA.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CARG.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.246160
+- "HA" "H1" 0 1 131072 4 1 0.166180
+- "CB" "CT" 0 1 131072 5 6 0.246480
+- "HB2" "HC" 0 1 131072 6 1 -0.008560
+- "HB3" "HC" 0 1 131072 7 1 -0.008560
+- "CG" "CT" 0 1 131072 8 6 -0.353440
+- "HG2" "HC" 0 1 131072 9 1 0.103290
+- "HG3" "HC" 0 1 131072 10 1 0.103290
+- "CD" "CT" 0 1 131072 11 6 0.608250
+- "HD2" "H1" 0 1 131072 12 1 -0.078660
+- "HD3" "H1" 0 1 131072 13 1 -0.078660
+- "NE" "N2" 0 1 131072 14 7 -0.792460
+- "HE" "H" 0 1 131072 15 1 0.406710
+- "CZ" "CA" 0 1 131072 16 6 1.125120
+- "NH1" "N2" 0 1 131072 17 7 -0.963900
+- "HH11" "H" 0 1 131072 18 1 0.447010
+- "HH12" "H" 0 1 131072 19 1 0.447010
+- "NH2" "N2" 0 1 131072 20 7 -0.963900
+- "HH21" "H" 0 1 131072 21 1 0.447010
+- "HH22" "H" 0 1 131072 22 1 0.447010
+- "C" "C" 0 1 131072 23 6 0.705530
+- "O" "O2" 0 1 131072 24 8 -0.822990
+- "OXT" "O2" 0 1 131072 25 8 -0.822990
+-!entry.CARG.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "H1" 0 -1 0.0
+- "HD3" "H1" 0 -1 0.0
+- "NE" "N2" 0 -1 0.0
+- "HE" "H" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "NH1" "N2" 0 -1 0.0
+- "HH11" "H" 0 -1 0.0
+- "HH12" "H" 0 -1 0.0
+- "NH2" "N2" 0 -1 0.0
+- "HH21" "H" 0 -1 0.0
+- "HH22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CARG.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CARG.unit.childsequence single int
+- 2
+-!entry.CARG.unit.connect array int
+- 1
+- 0
+-!entry.CARG.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 23 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 16 17 1
+- 16 20 1
+- 17 18 1
+- 17 19 1
+- 20 21 1
+- 20 22 1
+- 23 24 1
+- 23 25 1
+-!entry.CARG.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+- "R" 1 "A" 25
+-!entry.CARG.unit.name single str
+- "CARG"
+-!entry.CARG.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.540320 7.142723 2.424483
+- 5.151805 7.375492 1.655065
+- 4.364284 8.040989 3.389382
+- 3.575026 7.807606 4.434133
+- 3.088949 6.925423 4.508848
+- 3.465367 8.513631 5.147998
+- 5.006254 9.201287 3.286991
+- 5.604855 9.375325 2.492329
+- 4.892216 9.903045 4.004368
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CARG.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CARG.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CARG" 1 26 1 "p" 0
+-!entry.CARG.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CARG.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CARG.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CASH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 0.020630
+- "HA" "H1" 0 1 131072 4 1 0.028510
+- "CB" "CT" 0 1 131072 5 6 -0.181320
+- "HB2" "HC" 0 1 131072 6 1 0.139090
+- "HB3" "HC" 0 1 131072 7 1 0.139090
+- "CG" "C" 0 1 131072 8 6 0.590540
+- "OD1" "O" 0 1 131072 9 8 -0.551750
+- "OD2" "OH" 0 1 131072 10 8 -0.583910
+- "HD2" "HO" 0 1 131072 11 1 0.452180
+- "C" "C" 0 1 131072 12 6 0.705530
+- "O" "O2" 0 1 131072 13 8 -0.822990
+- "OXT" "O2" 0 1 131072 14 8 -0.822990
+-!entry.CASH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O" 0 -1 0.0
+- "OD2" "OH" 0 -1 0.0
+- "HD2" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CASH.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CASH.unit.childsequence single int
+- 2
+-!entry.CASH.unit.connect array int
+- 1
+- 0
+-!entry.CASH.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 12 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 10 11 1
+- 12 13 1
+- 12 14 1
+-!entry.CASH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+-!entry.CASH.unit.name single str
+- "CASH"
+-!entry.CASH.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.275101 5.011380 1.194527
+- 3.669108 5.954940 0.620011
+- 5.407731 5.091879 1.740667
+- 5.742902 5.987179 1.652920
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CASH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CASH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CASH" 1 15 1 "p" 0
+-!entry.CASH.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CASH.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CASH.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CASN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.052240
+- "HA" "H1" 0 1 131072 4 1 0.042740
+- "CB" "CT" 0 1 131072 5 6 -0.207320
+- "HB2" "HC" 0 1 131072 6 1 0.119980
+- "HB3" "HC" 0 1 131072 7 1 0.119980
+- "CG" "C" 0 1 131072 8 6 0.659810
+- "OD1" "O" 0 1 131072 9 8 -0.563050
+- "ND2" "N" 0 1 131072 10 7 -0.856360
+- "HD21" "H" 0 1 131072 11 1 0.394760
+- "HD22" "H" 0 1 131072 12 1 0.394760
+- "C" "C" 0 1 131072 13 6 0.705530
+- "O" "O2" 0 1 131072 14 8 -0.822990
+- "OXT" "O2" 0 1 131072 15 8 -0.822990
+-!entry.CASN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O" 0 -1 0.0
+- "ND2" "N" 0 -1 0.0
+- "HD21" "H" 0 -1 0.0
+- "HD22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CASN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CASN.unit.childsequence single int
+- 2
+-!entry.CASN.unit.connect array int
+- 1
+- 0
+-!entry.CASN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 13 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 10 11 1
+- 10 12 1
+- 13 14 1
+- 13 15 1
+-!entry.CASN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+-!entry.CASN.unit.name single str
+- "CASN"
+-!entry.CASN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.253700 5.017112 1.232144
+- 5.005299 5.340406 0.315072
+- 3.984885 5.817909 2.265917
+- 4.408015 6.733702 2.314743
+- 3.359611 5.504297 2.994464
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CASN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CASN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CASN" 1 16 1 "p" 0
+-!entry.CASN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CASN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CASN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CASP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.132120
+- "HA" "H1" 0 1 131072 4 1 0.050730
+- "CB" "CT" 0 1 131072 5 6 -0.282900
+- "HB2" "HC" 0 1 131072 6 1 0.084070
+- "HB3" "HC" 0 1 131072 7 1 0.084070
+- "CG" "C" 0 1 131072 8 6 0.894610
+- "OD1" "O2" 0 1 131072 9 8 -0.822700
+- "OD2" "O2" 0 1 131072 10 8 -0.822700
+- "C" "C" 0 1 131072 11 6 0.705530
+- "O" "O2" 0 1 131072 12 8 -0.822990
+- "OXT" "O2" 0 1 131072 13 8 -0.822990
+-!entry.CASP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O2" 0 -1 0.0
+- "OD2" "O2" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CASP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CASP.unit.childsequence single int
+- 2
+-!entry.CASP.unit.connect array int
+- 1
+- 0
+-!entry.CASP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 11 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 11 12 1
+- 11 13 1
+-!entry.CASP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+-!entry.CASP.unit.name single str
+- "CASP"
+-!entry.CASP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.275101 5.011380 1.194527
+- 3.669108 5.954940 0.620011
+- 5.407731 5.091879 1.740667
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CASP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CASP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CASP" 1 14 1 "p" 0
+-!entry.CASP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CASP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CASP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CCYM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "HN" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.165660
+- "HA" "H1" 0 1 131072 4 1 0.090680
+- "CB" "CT" 0 1 131072 5 6 0.044510
+- "HB3" "H1" 0 1 131072 6 1 0.006690
+- "HB2" "H1" 0 1 131072 7 1 0.006690
+- "SG" "SH" 0 1 131072 8 16 -0.929850
+- "C" "C" 0 1 131072 9 6 0.705530
+- "O" "O2" 0 1 131072 10 8 -0.822990
+- "OXT" "O2" 0 1 131072 11 8 -0.822990
+-!entry.CCYM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "HN" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "SG" "SH" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CCYM.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CCYM.unit.childsequence single int
+- 2
+-!entry.CCYM.unit.connect array int
+- 1
+- 0
+-!entry.CCYM.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 9 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 9 10 1
+- 9 11 1
+-!entry.CCYM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+-!entry.CCYM.unit.name single str
+- "CCYM"
+-!entry.CCYM.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 3.877484 3.115795 2.131197
+- 2.496995 3.801075 1.241379
+- 4.309573 5.303523 1.366036
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CCYM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CCYM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CCYM" 1 12 1 "p" 0
+-!entry.CCYM.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CCYM.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CCYM.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CCYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.010480
+- "HA" "H1" 0 1 131072 4 1 0.057060
+- "CB" "CT" 0 1 131072 5 6 -0.033990
+- "HB2" "H1" 0 1 131072 6 1 0.066220
+- "HB3" "H1" 0 1 131072 7 1 0.066220
+- "SG" "SH" 0 1 131072 8 16 -0.244870
+- "HG" "HS" 0 1 131072 9 1 0.152900
+- "C" "C" 0 1 131072 10 6 0.705530
+- "O" "O2" 0 1 131072 11 8 -0.822990
+- "OXT" "O2" 0 1 131072 12 8 -0.822990
+-!entry.CCYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "SH" 0 -1 0.0
+- "HG" "HS" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CCYS.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CCYS.unit.childsequence single int
+- 2
+-!entry.CCYS.unit.connect array int
+- 1
+- 0
+-!entry.CCYS.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 10 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 10 11 1
+- 10 12 1
+-!entry.CCYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+-!entry.CCYS.unit.name single str
+- "CCYS"
+-!entry.CCYS.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 3.725392 5.622018 2.517640
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CCYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CCYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CCYS" 1 13 1 "p" 0
+-!entry.CCYS.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CCYS.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CCYS.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CCYX.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.030070
+- "HA" "H1" 0 1 131072 4 1 0.037000
+- "CB" "CT" 0 1 131072 5 6 -0.043690
+- "HB2" "H1" 0 1 131072 6 1 0.084380
+- "HB3" "H1" 0 1 131072 7 1 0.084380
+- "SG" "S" 0 1 131072 8 16 -0.078940
+- "C" "C" 0 1 131072 9 6 0.705530
+- "O" "O2" 0 1 131072 10 8 -0.822990
+- "OXT" "O2" 0 1 131072 11 8 -0.822990
+-!entry.CCYX.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "S" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CCYX.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CCYX.unit.childsequence single int
+- 2
+-!entry.CCYX.unit.connect array int
+- 1
+- 0
+-!entry.CCYX.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 9 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 9 10 1
+- 9 11 1
+-!entry.CCYX.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+-!entry.CCYX.unit.name single str
+- "CCYX"
+-!entry.CCYX.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CCYX.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 8 0 0 0
+-!entry.CCYX.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CCYX" 1 12 1 "p" 0
+-!entry.CCYX.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CCYX.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CCYX.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CGLH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.165080
+- "HA" "H1" 0 1 131072 4 1 0.120280
+- "CB" "CT" 0 1 131072 5 6 0.110660
+- "HB2" "HC" 0 1 131072 6 1 0.016640
+- "HB3" "HC" 0 1 131072 7 1 0.016640
+- "CG" "CT" 0 1 131072 8 6 -0.317930
+- "HG2" "HC" 0 1 131072 9 1 0.173880
+- "HG3" "HC" 0 1 131072 10 1 0.173880
+- "CD" "C" 0 1 131072 11 6 0.664690
+- "OE1" "O" 0 1 131072 12 8 -0.583590
+- "OE2" "OH" 0 1 131072 13 8 -0.613880
+- "HE2" "HO" 0 1 131072 14 1 0.456870
+- "C" "C" 0 1 131072 15 6 0.705530
+- "O" "O2" 0 1 131072 16 8 -0.822990
+- "OXT" "O2" 0 1 131072 17 8 -0.822990
+-!entry.CGLH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O" 0 -1 0.0
+- "OE2" "OH" 0 -1 0.0
+- "HE2" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CGLH.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLH.unit.childsequence single int
+- 2
+-!entry.CGLH.unit.connect array int
+- 1
+- 0
+-!entry.CGLH.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 15 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 15 16 1
+- 15 17 1
+-!entry.CGLH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.CGLH.unit.name single str
+- "CGLH"
+-!entry.CGLH.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 5.347413 4.849843 1.186158
+- 3.966923 5.535124 0.296342
+- 3.873732 5.805369 2.428706
+- 4.594590 5.679012 3.454376
+- 2.855965 6.542070 2.333721
+- 2.710526 6.996624 3.166684
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CGLH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CGLH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CGLH" 1 18 1 "p" 0
+-!entry.CGLH.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CGLH.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLH.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CGLN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.174080
+- "HA" "H1" 0 1 131072 4 1 0.063260
+- "CB" "CT" 0 1 131072 5 6 0.396380
+- "HB2" "HC" 0 1 131072 6 1 -0.058620
+- "HB3" "HC" 0 1 131072 7 1 -0.058620
+- "CG" "CT" 0 1 131072 8 6 -0.593580
+- "HG2" "HC" 0 1 131072 9 1 0.218390
+- "HG3" "HC" 0 1 131072 10 1 0.218390
+- "CD" "C" 0 1 131072 11 6 0.770410
+- "OE1" "O" 0 1 131072 12 8 -0.650910
+- "NE2" "N" 0 1 131072 13 7 -0.874140
+- "HE21" "H" 0 1 131072 14 1 0.398090
+- "HE22" "H" 0 1 131072 15 1 0.398090
+- "C" "C" 0 1 131072 16 6 0.705530
+- "O" "O2" 0 1 131072 17 8 -0.822990
+- "OXT" "O2" 0 1 131072 18 8 -0.822990
+-!entry.CGLN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O" 0 -1 0.0
+- "NE2" "N" 0 -1 0.0
+- "HE21" "H" 0 -1 0.0
+- "HE22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CGLN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLN.unit.childsequence single int
+- 2
+-!entry.CGLN.unit.connect array int
+- 1
+- 0
+-!entry.CGLN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 16 17 1
+- 16 18 1
+-!entry.CGLN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.CGLN.unit.name single str
+- "CGLN"
+-!entry.CGLN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.906976 5.848443 2.410302
+- 3.138962 5.408349 3.262893
+- 4.458856 7.061523 2.488333
+- 4.248434 7.659045 3.274966
+- 5.084281 7.376210 1.760379
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CGLN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CGLN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CGLN" 1 19 1 "p" 0
+-!entry.CGLN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CGLN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CGLU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.265130
+- "HA" "H1" 0 1 131072 4 1 0.127760
+- "CB" "CT" 0 1 131072 5 6 0.520990
+- "HB2" "HC" 0 1 131072 6 1 -0.129940
+- "HB3" "HC" 0 1 131072 7 1 -0.129940
+- "CG" "CT" 0 1 131072 8 6 -0.693830
+- "HG2" "HC" 0 1 131072 9 1 0.205050
+- "HG3" "HC" 0 1 131072 10 1 0.205050
+- "CD" "C" 0 1 131072 11 6 0.835690
+- "OE1" "O2" 0 1 131072 12 8 -0.811320
+- "OE2" "O2" 0 1 131072 13 8 -0.811320
+- "C" "C" 0 1 131072 14 6 0.705530
+- "O" "O2" 0 1 131072 15 8 -0.822990
+- "OXT" "O2" 0 1 131072 16 8 -0.822990
+-!entry.CGLU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O2" 0 -1 0.0
+- "OE2" "O2" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CGLU.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLU.unit.childsequence single int
+- 2
+-!entry.CGLU.unit.connect array int
+- 1
+- 0
+-!entry.CGLU.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 14 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 14 15 1
+- 14 16 1
+-!entry.CGLU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+-!entry.CGLU.unit.name single str
+- "CGLU"
+-!entry.CGLU.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 5.347413 4.849843 1.186158
+- 3.966923 5.535124 0.296342
+- 3.873732 5.805369 2.428706
+- 4.594590 5.679012 3.454376
+- 2.855965 6.542070 2.333721
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CGLU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CGLU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CGLU" 1 17 1 "p" 0
+-!entry.CGLU.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CGLU.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLU.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CGLY.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.195060
+- "HA2" "H1" 0 1 131072 4 1 0.124060
+- "HA3" "H1" 0 1 131072 5 1 0.124060
+- "C" "C" 0 1 131072 6 6 0.705530
+- "O" "O2" 0 1 131072 7 8 -0.822990
+- "OXT" "O2" 0 1 131072 8 8 -0.822990
+-!entry.CGLY.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA2" "H1" 0 -1 0.0
+- "HA3" "H1" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CGLY.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLY.unit.childsequence single int
+- 2
+-!entry.CGLY.unit.connect array int
+- 1
+- 0
+-!entry.CGLY.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 6 1
+- 6 7 1
+- 6 8 1
+-!entry.CGLY.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+-!entry.CGLY.unit.name single str
+- "CGLY"
+-!entry.CGLY.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.671668 3.400125 0.889824
+- 5.483710 2.686702 -4.438857E-06
+- 5.993369 1.568360 -8.469843E-06
+- 6.214748 3.674642 -2.512987E-06
+-!entry.CGLY.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CGLY.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CGLY" 1 9 1 "p" 0
+-!entry.CGLY.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CGLY.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CGLY.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CHID.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.027370
+- "HA" "H1" 0 1 131072 4 1 0.038450
+- "CB" "CT" 0 1 131072 5 6 -0.339570
+- "HB2" "HC" 0 1 131072 6 1 0.133210
+- "HB3" "HC" 0 1 131072 7 1 0.133210
+- "CG" "CC" 0 1 131072 8 6 0.324210
+- "ND1" "NA" 0 1 131072 9 7 -0.387720
+- "HD1" "H" 0 1 131072 10 1 0.367140
+- "CE1" "CR" 0 1 131072 11 6 0.234580
+- "HE1" "H5" 0 1 131072 12 1 0.060770
+- "NE2" "NB" 0 1 131072 13 7 -0.513820
+- "CD2" "CV" 0 1 131072 14 6 -0.060620
+- "HD2" "H4" 0 1 131072 15 1 0.090590
+- "C" "C" 0 1 131072 16 6 0.705530
+- "O" "O2" 0 1 131072 17 8 -0.822990
+- "OXT" "O2" 0 1 131072 18 8 -0.822990
+-!entry.CHID.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NA" 0 -1 0.0
+- "HD1" "H" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NB" 0 -1 0.0
+- "CD2" "CV" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CHID.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CHID.unit.childsequence single int
+- 2
+-!entry.CHID.unit.connect array int
+- 1
+- 0
+-!entry.CHID.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 14 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 14 15 1
+- 16 17 1
+- 16 18 1
+-!entry.CHID.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.CHID.unit.name single str
+- "CHID"
+-!entry.CHID.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 3.339725 5.691913 3.169805
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CHID.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CHID.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CHID" 1 19 1 "p" 0
+-!entry.CHID.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CHID.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CHID.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CHIE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.124850
+- "HA" "H1" 0 1 131072 4 1 0.066680
+- "CB" "CT" 0 1 131072 5 6 -0.261430
+- "HB2" "HC" 0 1 131072 6 1 0.140860
+- "HB3" "HC" 0 1 131072 7 1 0.140860
+- "CG" "CC" 0 1 131072 8 6 0.443190
+- "ND1" "NB" 0 1 131072 9 7 -0.679990
+- "CE1" "CR" 0 1 131072 10 6 0.325720
+- "HE1" "H5" 0 1 131072 11 1 0.037400
+- "NE2" "NA" 0 1 131072 12 7 -0.315320
+- "HE2" "H" 0 1 131072 13 1 0.339080
+- "CD2" "CW" 0 1 131072 14 6 -0.228430
+- "HD2" "H4" 0 1 131072 15 1 0.169290
+- "C" "C" 0 1 131072 16 6 0.705530
+- "O" "O2" 0 1 131072 17 8 -0.822990
+- "OXT" "O2" 0 1 131072 18 8 -0.822990
+-!entry.CHIE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NB" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NA" 0 -1 0.0
+- "HE2" "H" 0 -1 0.0
+- "CD2" "CW" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CHIE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CHIE.unit.childsequence single int
+- 2
+-!entry.CHIE.unit.connect array int
+- 1
+- 0
+-!entry.CHIE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 14 1
+- 9 10 1
+- 10 11 1
+- 10 12 1
+- 12 13 1
+- 12 14 1
+- 14 15 1
+- 16 17 1
+- 16 18 1
+-!entry.CHIE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.CHIE.unit.name single str
+- "CHIE"
+-!entry.CHIE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.896297 7.605085 0.676854
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CHIE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CHIE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CHIE" 1 19 1 "p" 0
+-!entry.CHIE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CHIE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CHIE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CHIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.029340
+- "HA" "H1" 0 1 131072 4 1 0.065870
+- "CB" "CT" 0 1 131072 5 6 -0.093770
+- "HB2" "HC" 0 1 131072 6 1 0.087980
+- "HB3" "HC" 0 1 131072 7 1 0.087980
+- "CG" "CC" 0 1 131072 8 6 0.263950
+- "ND1" "NA" 0 1 131072 9 7 -0.125480
+- "HD1" "H" 0 1 131072 10 1 0.367860
+- "CE1" "CR" 0 1 131072 11 6 -0.069000
+- "HE1" "H5" 0 1 131072 12 1 0.195860
+- "NE2" "NA" 0 1 131072 13 7 0.034660
+- "HE2" "H" 0 1 131072 14 1 0.297530
+- "CD2" "CW" 0 1 131072 15 6 -0.181280
+- "HD2" "H4" 0 1 131072 16 1 0.150240
+- "C" "C" 0 1 131072 17 6 0.705530
+- "O" "O2" 0 1 131072 18 8 -0.822990
+- "OXT" "O2" 0 1 131072 19 8 -0.822990
+-!entry.CHIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NA" 0 -1 0.0
+- "HD1" "H" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NA" 0 -1 0.0
+- "HE2" "H" 0 -1 0.0
+- "CD2" "CW" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CHIP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CHIP.unit.childsequence single int
+- 2
+-!entry.CHIP.unit.connect array int
+- 1
+- 0
+-!entry.CHIP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 17 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 15 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 17 18 1
+- 17 19 1
+-!entry.CHIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.CHIP.unit.name single str
+- "CHIP"
+-!entry.CHIP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 3.339725 5.691913 3.169805
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.896297 7.605085 0.676854
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CHIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CHIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CHIP" 1 20 1 "p" 0
+-!entry.CHIP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CHIP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CHIP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CILE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.287930
+- "HA" "H1" 0 1 131072 4 1 0.135390
+- "CB" "CT" 0 1 131072 5 6 0.357940
+- "HB" "HC" 0 1 131072 6 1 -0.079320
+- "CG2" "CT" 0 1 131072 7 6 -0.501190
+- "HG21" "HC" 0 1 131072 8 1 0.140430
+- "HG22" "HC" 0 1 131072 9 1 0.140430
+- "HG23" "HC" 0 1 131072 10 1 0.140430
+- "CG1" "CT" 0 1 131072 11 6 -0.081150
+- "HG12" "HC" 0 1 131072 12 1 0.048560
+- "HG13" "HC" 0 1 131072 13 1 0.048560
+- "CD1" "CT" 0 1 131072 14 6 -0.094950
+- "HD11" "HC" 0 1 131072 15 1 0.028620
+- "HD12" "HC" 0 1 131072 16 1 0.028620
+- "HD13" "HC" 0 1 131072 17 1 0.028620
+- "C" "C" 0 1 131072 18 6 0.705530
+- "O" "O2" 0 1 131072 19 8 -0.822990
+- "OXT" "O2" 0 1 131072 20 8 -0.822990
+-!entry.CILE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "HC" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "CG1" "CT" 0 -1 0.0
+- "HG12" "HC" 0 -1 0.0
+- "HG13" "HC" 0 -1 0.0
+- "CD1" "CT" 0 -1 0.0
+- "HD11" "HC" 0 -1 0.0
+- "HD12" "HC" 0 -1 0.0
+- "HD13" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CILE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CILE.unit.childsequence single int
+- 2
+-!entry.CILE.unit.connect array int
+- 1
+- 0
+-!entry.CILE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 18 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 18 19 1
+- 18 20 1
+-!entry.CILE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+-!entry.CILE.unit.name single str
+- "CILE"
+-!entry.CILE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.552136 3.620733 1.245168
+- 2.470128 3.752486 1.245640
+- 3.970045 2.845728 2.490296
+- 5.052053 2.713974 2.490763
+- 3.671561 3.399208 3.380615
+- 3.485650 1.869275 2.490737
+- 4.230204 4.986694 1.245169
+- 5.312310 4.855746 1.245164
+- 3.931820 5.541027 0.355348
+- 3.812294 5.761632 2.490339
+- 4.110777 5.208104 3.380628
+- 4.296689 6.738085 2.490833
+- 2.730286 5.893383 2.490813
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CILE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CILE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CILE" 1 21 1 "p" 0
+-!entry.CILE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CILE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CILE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CLEU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.151630
+- "HA" "H1" 0 1 131072 4 1 0.080730
+- "CB" "CT" 0 1 131072 5 6 -0.251240
+- "HB2" "HC" 0 1 131072 6 1 0.113740
+- "HB3" "HC" 0 1 131072 7 1 0.113740
+- "CG" "CT" 0 1 131072 8 6 0.579270
+- "HG" "HC" 0 1 131072 9 1 -0.096890
+- "CD1" "CT" 0 1 131072 10 6 -0.760610
+- "HD11" "HC" 0 1 131072 11 1 0.197760
+- "HD12" "HC" 0 1 131072 12 1 0.197760
+- "HD13" "HC" 0 1 131072 13 1 0.197760
+- "CD2" "CT" 0 1 131072 14 6 -0.760610
+- "HD21" "HC" 0 1 131072 15 1 0.197760
+- "HD22" "HC" 0 1 131072 16 1 0.197760
+- "HD23" "HC" 0 1 131072 17 1 0.197760
+- "C" "C" 0 1 131072 18 6 0.705530
+- "O" "O2" 0 1 131072 19 8 -0.822990
+- "OXT" "O2" 0 1 131072 20 8 -0.822990
+-!entry.CLEU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG" "HC" 0 -1 0.0
+- "CD1" "CT" 0 -1 0.0
+- "HD11" "HC" 0 -1 0.0
+- "HD12" "HC" 0 -1 0.0
+- "HD13" "HC" 0 -1 0.0
+- "CD2" "CT" 0 -1 0.0
+- "HD21" "HC" 0 -1 0.0
+- "HD22" "HC" 0 -1 0.0
+- "HD23" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CLEU.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CLEU.unit.childsequence single int
+- 2
+-!entry.CLEU.unit.connect array int
+- 1
+- 0
+-!entry.CLEU.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 18 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 14 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 18 19 1
+- 18 20 1
+-!entry.CLEU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+-!entry.CLEU.unit.name single str
+- "CLEU"
+-!entry.CLEU.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.853429 5.762895 -0.062857
+- 2.773449 5.910113 -0.054557
+- 4.351513 6.732052 -0.090203
+- 4.134159 5.185704 -0.943846
+- 3.881105 5.817645 2.426721
+- 4.181626 5.279602 3.325774
+- 4.379198 6.786825 2.400363
+- 2.801135 5.964881 2.435959
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CLEU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CLEU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CLEU" 1 21 1 "p" 0
+-!entry.CLEU.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CLEU.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CLEU.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CLYN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.163200
+- "HA" "H1" 0 1 131072 4 1 0.095860
+- "CB" "CT" 0 1 131072 5 6 0.095690
+- "HB2" "HC" 0 1 131072 6 1 -0.015960
+- "HB3" "HC" 0 1 131072 7 1 -0.015960
+- "CG" "CT" 0 1 131072 8 6 0.018310
+- "HG2" "HC" 0 1 131072 9 1 0.010750
+- "HG3" "HC" 0 1 131072 10 1 0.010750
+- "CD" "CT" 0 1 131072 11 6 -0.229410
+- "HD2" "HC" 0 1 131072 12 1 0.104310
+- "HD3" "HC" 0 1 131072 13 1 0.104310
+- "CE" "CT" 0 1 131072 14 6 0.528910
+- "HE2" "H1" 0 1 131072 15 1 -0.110750
+- "HE3" "H1" 0 1 131072 16 1 -0.110750
+- "NZ" "NT" 0 1 131072 17 7 -0.980200
+- "HZ2" "H" 0 1 131072 18 1 0.355200
+- "HZ3" "H" 0 1 131072 19 1 0.355200
+- "C" "C" 0 1 131072 20 6 0.705530
+- "O" "O2" 0 1 131072 21 8 -0.822990
+- "OXT" "O2" 0 1 131072 22 8 -0.822990
+-!entry.CLYN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HC" 0 -1 0.0
+- "HD3" "HC" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE2" "H1" 0 -1 0.0
+- "HE3" "H1" 0 -1 0.0
+- "NZ" "NT" 0 -1 0.0
+- "HZ2" "H" 0 -1 0.0
+- "HZ3" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CLYN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CLYN.unit.childsequence single int
+- 2
+-!entry.CLYN.unit.connect array int
+- 1
+- 0
+-!entry.CLYN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 20 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 17 18 1
+- 17 19 1
+- 20 21 1
+- 20 22 1
+-!entry.CLYN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+-!entry.CLYN.unit.name single str
+- "CLYN"
+-!entry.CLYN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.578325 7.173410 2.389153
+- 5.658410 7.026987 2.380363
+- 4.277917 7.712267 1.490550
+- 4.199422 7.952309 3.576860
+- 4.661186 8.850226 3.551979
+- 3.198675 8.088466 3.584971
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CLYN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CLYN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CLYN" 1 23 1 "p" 0
+-!entry.CLYN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CLYN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CLYN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CLYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.185190
+- "HA" "H1" 0 1 131072 4 1 0.120990
+- "CB" "CT" 0 1 131072 5 6 0.035190
+- "HB2" "HC" 0 1 131072 6 1 0.015850
+- "HB3" "HC" 0 1 131072 7 1 0.015850
+- "CG" "CT" 0 1 131072 8 6 -0.039190
+- "HG2" "HC" 0 1 131072 9 1 0.047540
+- "HG3" "HC" 0 1 131072 10 1 0.047540
+- "CD" "CT" 0 1 131072 11 6 -0.190030
+- "HD2" "HC" 0 1 131072 12 1 0.094440
+- "HD3" "HC" 0 1 131072 13 1 0.094440
+- "CE" "CT" 0 1 131072 14 6 0.457400
+- "HE2" "HP" 0 1 131072 15 1 -0.049110
+- "HE3" "HP" 0 1 131072 16 1 -0.049110
+- "NZ" "N3" 0 1 131072 17 7 -0.371640
+- "HZ1" "H" 0 1 131072 18 1 0.336030
+- "HZ2" "H" 0 1 131072 19 1 0.336030
+- "HZ3" "H" 0 1 131072 20 1 0.336030
+- "C" "C" 0 1 131072 21 6 0.705530
+- "O" "O2" 0 1 131072 22 8 -0.822990
+- "OXT" "O2" 0 1 131072 23 8 -0.822990
+-!entry.CLYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HC" 0 -1 0.0
+- "HD3" "HC" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE2" "HP" 0 -1 0.0
+- "HE3" "HP" 0 -1 0.0
+- "NZ" "N3" 0 -1 0.0
+- "HZ1" "H" 0 -1 0.0
+- "HZ2" "H" 0 -1 0.0
+- "HZ3" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CLYS.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CLYS.unit.childsequence single int
+- 2
+-!entry.CLYS.unit.connect array int
+- 1
+- 0
+-!entry.CLYS.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 21 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 17 18 1
+- 17 19 1
+- 17 20 1
+- 21 22 1
+- 21 23 1
+-!entry.CLYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+-!entry.CLYS.unit.name single str
+- "CLYS"
+-!entry.CLYS.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.578325 7.173410 2.389153
+- 5.658410 7.026987 2.380363
+- 4.277917 7.712267 1.490550
+- 4.199422 7.952309 3.576860
+- 4.478085 7.453366 4.409628
+- 4.661186 8.850226 3.551979
+- 3.198675 8.088466 3.584971
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CLYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CLYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CLYS" 1 24 1 "p" 0
+-!entry.CLYS.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CLYS.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CLYS.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CMET.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.171820
+- "HA" "H1" 0 1 131072 4 1 0.129660
+- "CB" "CT" 0 1 131072 5 6 0.250160
+- "HB2" "HC" 0 1 131072 6 1 -0.026630
+- "HB3" "HC" 0 1 131072 7 1 -0.026630
+- "CG" "CT" 0 1 131072 8 6 -0.366710
+- "HG2" "H1" 0 1 131072 9 1 0.160270
+- "HG3" "H1" 0 1 131072 10 1 0.160270
+- "SD" "S" 0 1 131072 11 16 -0.122120
+- "CE" "CT" 0 1 131072 12 6 -0.263690
+- "HE1" "H1" 0 1 131072 13 1 0.110100
+- "HE2" "H1" 0 1 131072 14 1 0.110100
+- "HE3" "H1" 0 1 131072 15 1 0.110100
+- "C" "C" 0 1 131072 16 6 0.705530
+- "O" "O2" 0 1 131072 17 8 -0.822990
+- "OXT" "O2" 0 1 131072 18 8 -0.822990
+-!entry.CMET.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "H1" 0 -1 0.0
+- "HG3" "H1" 0 -1 0.0
+- "SD" "S" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE1" "H1" 0 -1 0.0
+- "HE2" "H1" 0 -1 0.0
+- "HE3" "H1" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CMET.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CMET.unit.childsequence single int
+- 2
+-!entry.CMET.unit.connect array int
+- 1
+- 0
+-!entry.CMET.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 12 13 1
+- 12 14 1
+- 12 15 1
+- 16 17 1
+- 16 18 1
+-!entry.CMET.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.CMET.unit.name single str
+- "CMET"
+-!entry.CMET.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.817309 5.981266 2.651708
+- 4.753212 7.463128 2.340949
+- 4.433582 7.904044 1.396741
+- 4.585907 8.175299 3.148985
+- 5.814074 7.218763 2.286554
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CMET.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CMET.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CMET" 1 19 1 "p" 0
+-!entry.CMET.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CMET.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CMET.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CPHE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.072690
+- "HA" "H1" 0 1 131072 4 1 0.053080
+- "CB" "CT" 0 1 131072 5 6 -0.213480
+- "HB2" "HC" 0 1 131072 6 1 0.116210
+- "HB3" "HC" 0 1 131072 7 1 0.116210
+- "CG" "CA" 0 1 131072 8 6 0.197950
+- "CD1" "CA" 0 1 131072 9 6 -0.219910
+- "HD1" "HA" 0 1 131072 10 1 0.142120
+- "CE1" "CA" 0 1 131072 11 6 -0.084720
+- "HE1" "HA" 0 1 131072 12 1 0.108500
+- "CZ" "CA" 0 1 131072 13 6 -0.128160
+- "HZ" "HA" 0 1 131072 14 1 0.091960
+- "CE2" "CA" 0 1 131072 15 6 -0.084720
+- "HE2" "HA" 0 1 131072 16 1 0.108500
+- "CD2" "CA" 0 1 131072 17 6 -0.219910
+- "HD2" "HA" 0 1 131072 18 1 0.142120
+- "C" "C" 0 1 131072 19 6 0.705530
+- "O" "O2" 0 1 131072 20 8 -0.822990
+- "OXT" "O2" 0 1 131072 21 8 -0.822990
+-!entry.CPHE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CA" 0 -1 0.0
+- "CD1" "CA" 0 -1 0.0
+- "HD1" "HA" 0 -1 0.0
+- "CE1" "CA" 0 -1 0.0
+- "HE1" "HA" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "HZ" "HA" 0 -1 0.0
+- "CE2" "CA" 0 -1 0.0
+- "HE2" "HA" 0 -1 0.0
+- "CD2" "CA" 0 -1 0.0
+- "HD2" "HA" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CPHE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CPHE.unit.childsequence single int
+- 2
+-!entry.CPHE.unit.connect array int
+- 1
+- 0
+-!entry.CPHE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 19 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 17 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 17 1
+- 17 18 1
+- 19 20 1
+- 19 21 1
+-!entry.CPHE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+-!entry.CPHE.unit.name single str
+- "CPHE"
+-!entry.CPHE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.911613 5.857250 2.409890
+- 3.236123 5.513843 3.193398
+- 4.490014 7.129513 2.492354
+- 4.264853 7.776651 3.340066
+- 5.357616 7.570591 1.486016
+- 5.807943 8.561138 1.550220
+- 5.646818 6.739407 0.397211
+- 6.322309 7.082817 -0.386295
+- 5.068419 5.467143 0.314744
+- 5.293584 4.820007 -0.532968
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CPHE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CPHE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CPHE" 1 22 1 "p" 0
+-!entry.CPHE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CPHE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CPHE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CPRO.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.251210
+- "CD" "CT" 0 1 131072 2 6 0.062560
+- "HD2" "H1" 0 1 131072 3 1 0.022030
+- "HD3" "H1" 0 1 131072 4 1 0.022010
+- "CG" "CT" 0 1 131072 5 6 0.066380
+- "HG2" "HC" 0 1 131072 6 1 0.007490
+- "HG3" "HC" 0 1 131072 7 1 0.007490
+- "CB" "CT" 0 1 131072 8 6 0.069820
+- "HB2" "HC" 0 1 131072 9 1 0.013210
+- "HB3" "HC" 0 1 131072 10 1 0.013210
+- "CA" "CT" 0 1 131072 11 6 -0.200450
+- "HA" "H1" 0 1 131072 12 1 0.107910
+- "C" "C" 0 1 131072 13 6 0.705530
+- "O" "O2" 0 1 131072 14 8 -0.822990
+- "OXT" "O2" 0 1 131072 15 8 -0.822990
+-!entry.CPRO.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "H1" 0 -1 0.0
+- "HD3" "H1" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CPRO.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CPRO.unit.childsequence single int
+- 2
+-!entry.CPRO.unit.connect array int
+- 1
+- 0
+-!entry.CPRO.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 11 1
+- 2 3 1
+- 2 4 1
+- 2 5 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+-!entry.CPRO.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+-!entry.CPRO.unit.name single str
+- "CPRO"
+-!entry.CPRO.unit.positions table  dbl x  dbl y  dbl z
+- 3.326834 1.557389 -1.603945E-06
+- 4.302147 0.476598 0.080119
+- 4.419998 0.019283 -0.902263
+- 3.955888 -0.274040 0.790574
+- 5.547126 1.172441 0.544693
+- 6.413549 0.741636 0.042879
+- 5.652950 1.047934 1.622376
+- 5.369091 2.628184 0.185227
+- 5.969289 2.861861 -0.694123
+- 5.690642 3.251038 1.019947
+- 3.933610 2.871277 -0.104508
+- 3.611470 3.488570 0.734106
+- 3.505164 3.526392 -1.409783
+- 2.754240 2.939065 -2.185412
+- 3.904907 4.650696 -1.704043
+-!entry.CPRO.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CPRO.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CPRO" 1 16 1 "p" 0
+-!entry.CPRO.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CPRO.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CPRO.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CSER.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.069940
+- "HA" "H1" 0 1 131072 4 1 0.110000
+- "CB" "CT" 0 1 131072 5 6 0.169960
+- "HB2" "H1" 0 1 131072 6 1 0.022900
+- "HB3" "H1" 0 1 131072 7 1 0.022900
+- "OG" "OH" 0 1 131072 8 8 -0.571310
+- "HG" "HO" 0 1 131072 9 1 0.368550
+- "C" "C" 0 1 131072 10 6 0.705530
+- "O" "O2" 0 1 131072 11 8 -0.822990
+- "OXT" "O2" 0 1 131072 12 8 -0.822990
+-!entry.CSER.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "OG" "OH" 0 -1 0.0
+- "HG" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CSER.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CSER.unit.childsequence single int
+- 2
+-!entry.CSER.unit.connect array int
+- 1
+- 0
+-!entry.CSER.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 10 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 10 11 1
+- 10 12 1
+-!entry.CSER.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+-!entry.CSER.unit.name single str
+- "CSER"
+-!entry.CSER.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.230753 4.925145 1.196917
+- 3.983305 5.433814 1.972562
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CSER.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CSER.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CSER" 1 13 1 "p" 0
+-!entry.CSER.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CSER.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CSER.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CTHR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 0.019110
+- "HA" "H1" 0 1 131072 4 1 0.067720
+- "CB" "CT" 0 1 131072 5 6 0.444500
+- "HB" "H1" 0 1 131072 6 1 -0.106110
+- "CG2" "CT" 0 1 131072 7 6 -0.496090
+- "HG21" "HC" 0 1 131072 8 1 0.133070
+- "HG22" "HC" 0 1 131072 9 1 0.133070
+- "HG23" "HC" 0 1 131072 10 1 0.133070
+- "OG1" "OH" 0 1 131072 11 8 -0.724290
+- "HG1" "HO" 0 1 131072 12 1 0.449010
+- "C" "C" 0 1 131072 13 6 0.705530
+- "O" "O2" 0 1 131072 14 8 -0.822990
+- "OXT" "O2" 0 1 131072 15 8 -0.822990
+-!entry.CTHR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "H1" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "OG1" "OH" 0 -1 0.0
+- "HG1" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CTHR.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CTHR.unit.childsequence single int
+- 2
+-!entry.CTHR.unit.connect array int
+- 1
+- 0
+-!entry.CTHR.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 13 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+- 13 14 1
+- 13 15 1
+-!entry.CTHR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+-!entry.CTHR.unit.name single str
+- "CTHR"
+-!entry.CTHR.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 4.075059 4.623017 1.205786
+- 2.065936 3.859425 1.244383
+- 1.567127 2.890627 1.271209
+- 1.784431 4.436953 2.124903
+- 1.764699 4.397847 0.345796
+- 3.971501 2.947413 2.411212
+- 3.724052 3.456082 3.186857
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CTHR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CTHR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CTHR" 1 16 1 "p" 0
+-!entry.CTHR.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CTHR.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CTHR.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CTRP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.090040
+- "HA" "H1" 0 1 131072 4 1 0.084020
+- "CB" "CT" 0 1 131072 5 6 0.040520
+- "HB2" "HC" 0 1 131072 6 1 0.031680
+- "HB3" "HC" 0 1 131072 7 1 0.031680
+- "CG" "C*" 0 1 131072 8 6 -0.293840
+- "CD1" "CW" 0 1 131072 9 6 0.036620
+- "HD1" "H4" 0 1 131072 10 1 0.130250
+- "NE1" "NA" 0 1 131072 11 7 -0.473000
+- "HE1" "H" 0 1 131072 12 1 0.391490
+- "CE2" "CN" 0 1 131072 13 6 0.187500
+- "CZ2" "CA" 0 1 131072 14 6 -0.261570
+- "HZ2" "HA" 0 1 131072 15 1 0.183290
+- "CH2" "CA" 0 1 131072 16 6 -0.178280
+- "HH2" "HA" 0 1 131072 17 1 0.106010
+- "CZ3" "CA" 0 1 131072 18 6 -0.048150
+- "HZ3" "HA" 0 1 131072 19 1 0.086830
+- "CE3" "CA" 0 1 131072 20 6 -0.414910
+- "HE3" "HA" 0 1 131072 21 1 0.219040
+- "CD2" "CB" 0 1 131072 22 6 0.283920
+- "C" "C" 0 1 131072 23 6 0.705530
+- "O" "O2" 0 1 131072 24 8 -0.822990
+- "OXT" "O2" 0 1 131072 25 8 -0.822990
+-!entry.CTRP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C*" 0 -1 0.0
+- "CD1" "CW" 0 -1 0.0
+- "HD1" "H4" 0 -1 0.0
+- "NE1" "NA" 0 -1 0.0
+- "HE1" "H" 0 -1 0.0
+- "CE2" "CN" 0 -1 0.0
+- "CZ2" "CA" 0 -1 0.0
+- "HZ2" "HA" 0 -1 0.0
+- "CH2" "CA" 0 -1 0.0
+- "HH2" "HA" 0 -1 0.0
+- "CZ3" "CA" 0 -1 0.0
+- "HZ3" "HA" 0 -1 0.0
+- "CE3" "CA" 0 -1 0.0
+- "HE3" "HA" 0 -1 0.0
+- "CD2" "CB" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CTRP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CTRP.unit.childsequence single int
+- 2
+-!entry.CTRP.unit.connect array int
+- 1
+- 0
+-!entry.CTRP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 23 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 22 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 22 1
+- 14 15 1
+- 14 16 1
+- 16 17 1
+- 16 18 1
+- 18 19 1
+- 18 20 1
+- 20 21 1
+- 20 22 1
+- 23 24 1
+- 23 25 1
+-!entry.CTRP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+- "R" 1 "A" 25
+-!entry.CTRP.unit.name single str
+- "CTRP"
+-!entry.CTRP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 4.023453 5.931084 2.293240
+- 3.368841 5.705466 3.135071
+- 4.811943 7.073555 1.949808
+- 4.882921 7.922010 2.493118
+- 5.427347 6.842060 0.816764
+- 6.297161 7.689052 0.119605
+- 6.531230 8.676649 0.517050
+- 6.814091 7.187011 -1.069023
+- 7.498074 7.791857 -1.664362
+- 6.482659 5.953119 -1.505101
+- 6.897660 5.575648 -2.439654
+- 5.604041 5.117355 -0.785636
+- 5.358720 4.126570 -1.168080
+- 5.083390 5.623004 0.411545
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CTRP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CTRP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CTRP" 1 26 1 "p" 0
+-!entry.CTRP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CTRP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CTRP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CTYR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.175550
+- "HA" "H1" 0 1 131072 4 1 0.121890
+- "CB" "CT" 0 1 131072 5 6 -0.093730
+- "HB2" "HC" 0 1 131072 6 1 0.086440
+- "HB3" "HC" 0 1 131072 7 1 0.086440
+- "CG" "CA" 0 1 131072 8 6 0.017450
+- "CD1" "CA" 0 1 131072 9 6 -0.128300
+- "HD1" "HA" 0 1 131072 10 1 0.137650
+- "CE1" "CA" 0 1 131072 11 6 -0.334250
+- "HE1" "HA" 0 1 131072 12 1 0.190120
+- "CZ" "CA" 0 1 131072 13 6 0.442000
+- "OH" "OH" 0 1 131072 14 8 -0.544620
+- "HH" "HO" 0 1 131072 15 1 0.382300
+- "CE2" "CA" 0 1 131072 16 6 -0.334250
+- "HE2" "HA" 0 1 131072 17 1 0.190120
+- "CD2" "CA" 0 1 131072 18 6 -0.128300
+- "HD2" "HA" 0 1 131072 19 1 0.137650
+- "C" "C" 0 1 131072 20 6 0.705530
+- "O" "O2" 0 1 131072 21 8 -0.822990
+- "OXT" "O2" 0 1 131072 22 8 -0.822990
+-!entry.CTYR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CA" 0 -1 0.0
+- "CD1" "CA" 0 -1 0.0
+- "HD1" "HA" 0 -1 0.0
+- "CE1" "CA" 0 -1 0.0
+- "HE1" "HA" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "OH" "OH" 0 -1 0.0
+- "HH" "HO" 0 -1 0.0
+- "CE2" "CA" 0 -1 0.0
+- "HE2" "HA" 0 -1 0.0
+- "CD2" "CA" 0 -1 0.0
+- "HD2" "HA" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CTYR.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CTYR.unit.childsequence single int
+- 2
+-!entry.CTYR.unit.connect array int
+- 1
+- 0
+-!entry.CTYR.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 20 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 18 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 16 1
+- 14 15 1
+- 16 17 1
+- 16 18 1
+- 18 19 1
+- 20 21 1
+- 20 22 1
+-!entry.CTYR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+-!entry.CTYR.unit.name single str
+- "CTYR"
+-!entry.CTYR.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 4.059927 5.918911 2.227280
+- 3.400108 5.668218 3.057877
+- 4.699998 7.163547 2.192791
+- 4.538522 7.881891 2.996538
+- 5.547471 7.485542 1.125970
+- 6.169255 8.694617 1.092468
+- 5.956327 9.246984 1.848214
+- 5.754875 6.562900 0.093635
+- 6.414694 6.813595 -0.736962
+- 5.114806 5.318263 0.128119
+- 5.276286 4.599920 -0.675627
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CTYR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CTYR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CTYR" 1 23 1 "p" 0
+-!entry.CTYR.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CTYR.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CTYR.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CVAL.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.213060
+- "HA" "H1" 0 1 131072 4 1 0.122010
+- "CB" "CT" 0 1 131072 5 6 0.550920
+- "HB" "HC" 0 1 131072 6 1 -0.083650
+- "CG1" "CT" 0 1 131072 7 6 -0.705720
+- "HG11" "HC" 0 1 131072 8 1 0.181380
+- "HG12" "HC" 0 1 131072 9 1 0.181380
+- "HG13" "HC" 0 1 131072 10 1 0.181380
+- "CG2" "CT" 0 1 131072 11 6 -0.705720
+- "HG21" "HC" 0 1 131072 12 1 0.181380
+- "HG22" "HC" 0 1 131072 13 1 0.181380
+- "HG23" "HC" 0 1 131072 14 1 0.181380
+- "C" "C" 0 1 131072 15 6 0.705530
+- "O" "O2" 0 1 131072 16 8 -0.822990
+- "OXT" "O2" 0 1 131072 17 8 -0.822990
+-!entry.CVAL.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "HC" 0 -1 0.0
+- "CG1" "CT" 0 -1 0.0
+- "HG11" "HC" 0 -1 0.0
+- "HG12" "HC" 0 -1 0.0
+- "HG13" "HC" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O2" 0 -1 0.0
+- "OXT" "O2" 0 -1 0.0
+-!entry.CVAL.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CVAL.unit.childsequence single int
+- 2
+-!entry.CVAL.unit.connect array int
+- 1
+- 0
+-!entry.CVAL.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 15 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 15 16 1
+- 15 17 1
+-!entry.CVAL.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.CVAL.unit.name single str
+- "CVAL"
+-!entry.CVAL.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.997712 2.900483 2.489542
+- 5.077693 2.753265 2.481244
+- 3.716972 3.477628 3.370558
+- 3.499630 1.931323 2.516834
+- 4.274186 5.009602 1.194577
+- 3.973781 5.548460 0.295972
+- 3.993559 5.587585 2.075079
+- 5.354271 4.863178 1.185788
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+- 6.204455 3.702003 -2.420005E-06
+-!entry.CVAL.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 0 0 0 0 0
+-!entry.CVAL.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CVAL" 1 18 1 "p" 0
+-!entry.CVAL.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CVAL.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CVAL.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NME.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.534190
+- "H" "H" 0 1 131072 2 1 0.339300
+- "CH3" "CT" 0 1 131072 3 6 0.044800
+- "HH31" "H1" 0 1 131072 4 1 0.050030
+- "HH32" "H1" 0 1 131072 5 1 0.050030
+- "HH33" "H1" 0 1 131072 6 1 0.050030
+-!entry.NME.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CH3" "CT" 0 -1 0.0
+- "HH31" "H1" 0 -1 0.0
+- "HH32" "H1" 0 -1 0.0
+- "HH33" "H1" 0 -1 0.0
+-!entry.NME.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NME.unit.childsequence single int
+- 2
+-!entry.NME.unit.connect array int
+- 1
+- 0
+-!entry.NME.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 6 1
+-!entry.NME.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+-!entry.NME.unit.name single str
+- "NME"
+-!entry.NME.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.211504 3.628554 2.348065E-06
+- 4.591993 2.943271 0.889822
+- 4.591988 2.943275 -0.889825
+-!entry.NME.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 3 0 0 0 0
+-!entry.NME.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NME" 1 7 1 "p" 0
+-!entry.NME.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NME.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NME.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+diff --git a/dat/leap/lib/aminontpol12.lib b/dat/leap/lib/aminontpol12.lib
+deleted file mode 100644
+index ead0d89..0000000
+--- a/dat/leap/lib/aminontpol12.lib
++++ /dev/null
+@@ -1,3839 +0,0 @@
+-!!index array str
+- "ACE"
+- "NALA"
+- "NARG"
+- "NASH"
+- "NASN"
+- "NASP"
+- "NCYM"
+- "NCYS"
+- "NCYX"
+- "NGLH"
+- "NGLN"
+- "NGLU"
+- "NGLY"
+- "NHID"
+- "NHIE"
+- "NHIP"
+- "NILE"
+- "NLEU"
+- "NLYN"
+- "NLYS"
+- "NMET"
+- "NPHE"
+- "NPRO"
+- "NSER"
+- "NTHR"
+- "NTRP"
+- "NTYR"
+- "NVAL"
+-!entry.ACE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "HH31" "HC" 0 1 131072 1 1 0.245320
+- "CH3" "CT" 0 1 131072 2 6 -0.841920
+- "HH32" "HC" 0 1 131072 3 1 0.245320
+- "HH33" "HC" 0 1 131072 4 1 0.245320
+- "C" "C" 0 1 131072 5 6 0.730100
+- "O" "O" 0 1 131072 6 8 -0.624140
+-!entry.ACE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "HH31" "HC" 0 -1 0.0
+- "CH3" "CT" 0 -1 0.0
+- "HH32" "HC" 0 -1 0.0
+- "HH33" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ACE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ACE.unit.childsequence single int
+- 2
+-!entry.ACE.unit.connect array int
+- 0
+- 5
+-!entry.ACE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 2 3 1
+- 2 4 1
+- 2 5 1
+- 5 6 1
+-!entry.ACE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+-!entry.ACE.unit.name single str
+- "ACE"
+-!entry.ACE.unit.positions table  dbl x  dbl y  dbl z
+- 2.000001 1.000000 -1.346410E-06
+- 2.000001 2.090000 1.211769E-07
+- 1.486264 2.453849 0.889824
+- 1.486259 2.453852 -0.889820
+- 3.427420 2.640795 -2.981008E-06
+- 4.390580 1.877406 -6.602402E-06
+-!entry.ACE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 5 0 0 0 0
+-!entry.ACE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ACE" 1 7 1 "p" 0
+-!entry.ACE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ACE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ACE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NALA.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.062490
+- "HA" "HP" 0 1 131072 6 1 0.052310
+- "CB" "CT" 0 1 131072 7 6 -0.183710
+- "HB1" "HC" 0 1 131072 8 1 0.085560
+- "HB2" "HC" 0 1 131072 9 1 0.085560
+- "HB3" "HC" 0 1 131072 10 1 0.085560
+- "C" "C" 0 1 131072 11 6 0.670480
+- "O" "O" 0 1 131072 12 8 -0.583250
+-!entry.NALA.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB1" "HC" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NALA.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NALA.unit.childsequence single int
+- 2
+-!entry.NALA.unit.connect array int
+- 0
+- 11
+-!entry.NALA.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+-!entry.NALA.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+-!entry.NALA.unit.name single str
+- "NALA"
+-!entry.NALA.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 3.877484 3.115795 2.131197
+- 4.075059 4.623017 1.205786
+- 2.496995 3.801075 1.241379
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NALA.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 11 0 0 0 0
+-!entry.NALA.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NALA" 1 13 1 "p" 0
+-!entry.NALA.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NALA.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NALA.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NARG.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.086660
+- "HA" "HP" 0 1 131072 6 1 0.033450
+- "CB" "CT" 0 1 131072 7 6 0.605740
+- "HB2" "HC" 0 1 131072 8 1 -0.089670
+- "HB3" "HC" 0 1 131072 9 1 -0.111750
+- "CG" "CT" 0 1 131072 10 6 -0.639700
+- "HG2" "HC" 0 1 131072 11 1 0.145340
+- "HG3" "HC" 0 1 131072 12 1 0.145340
+- "CD" "CT" 0 1 131072 13 6 0.616090
+- "HD2" "H1" 0 1 131072 14 1 -0.083600
+- "HD3" "H1" 0 1 131072 15 1 -0.083600
+- "NE" "N2" 0 1 131072 16 7 -0.781830
+- "HE" "H" 0 1 131072 17 1 0.416010
+- "CZ" "CA" 0 1 131072 18 6 1.114550
+- "NH1" "N2" 0 1 131072 19 7 -0.955440
+- "HH11" "H" 0 1 131072 20 1 0.443490
+- "HH12" "H" 0 1 131072 21 1 0.443490
+- "NH2" "N2" 0 1 131072 22 7 -0.955440
+- "HH21" "H" 0 1 131072 23 1 0.443490
+- "HH22" "H" 0 1 131072 24 1 0.443490
+- "C" "C" 0 1 131072 25 6 0.670480
+- "O" "O" 0 1 131072 26 8 -0.583250
+-!entry.NARG.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "H1" 0 -1 0.0
+- "HD3" "H1" 0 -1 0.0
+- "NE" "N2" 0 -1 0.0
+- "HE" "H" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "NH1" "N2" 0 -1 0.0
+- "HH11" "H" 0 -1 0.0
+- "HH12" "H" 0 -1 0.0
+- "NH2" "N2" 0 -1 0.0
+- "HH21" "H" 0 -1 0.0
+- "HH22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NARG.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NARG.unit.childsequence single int
+- 2
+-!entry.NARG.unit.connect array int
+- 0
+- 25
+-!entry.NARG.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 25 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 13 16 1
+- 16 17 1
+- 16 18 1
+- 18 19 1
+- 18 22 1
+- 19 20 1
+- 19 21 1
+- 22 23 1
+- 22 24 1
+- 25 26 1
+-!entry.NARG.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+- "R" 1 "A" 25
+- "R" 1 "A" 26
+-!entry.NARG.unit.name single str
+- "NARG"
+-!entry.NARG.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.540320 7.142723 2.424483
+- 5.151805 7.375492 1.655065
+- 4.364284 8.040989 3.389382
+- 3.575026 7.807606 4.434133
+- 3.088949 6.925423 4.508848
+- 3.465367 8.513631 5.147998
+- 5.006254 9.201287 3.286991
+- 5.604855 9.375325 2.492329
+- 4.892216 9.903045 4.004368
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NARG.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 25 0 0 0 0
+-!entry.NARG.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NARG" 1 27 1 "p" 0
+-!entry.NARG.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NARG.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NARG.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NASH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 0.084490
+- "HA" "HP" 0 1 131072 6 1 0.002600
+- "CB" "CT" 0 1 131072 7 6 -0.222150
+- "HB2" "HC" 0 1 131072 8 1 0.136250
+- "HB3" "HC" 0 1 131072 9 1 0.136250
+- "CG" "C" 0 1 131072 10 6 0.615590
+- "OD1" "O" 0 1 131072 11 8 -0.553020
+- "OD2" "OH" 0 1 131072 12 8 -0.580780
+- "HD2" "HO" 0 1 131072 13 1 0.443560
+- "C" "C" 0 1 131072 14 6 0.670480
+- "O" "O" 0 1 131072 15 8 -0.583250
+-!entry.NASH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O" 0 -1 0.0
+- "OD2" "OH" 0 -1 0.0
+- "HD2" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NASH.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NASH.unit.childsequence single int
+- 2
+-!entry.NASH.unit.connect array int
+- 0
+- 14
+-!entry.NASH.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 14 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 12 13 1
+- 14 15 1
+-!entry.NASH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+-!entry.NASH.unit.name single str
+- "NASH"
+-!entry.NASH.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.275101 5.011380 1.194527
+- 3.669108 5.954940 0.620011
+- 5.407731 5.091879 1.740667
+- 5.742902 5.987179 1.652920
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NASH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 14 0 0 0 0
+-!entry.NASH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NASH" 1 16 1 "p" 0
+-!entry.NASH.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NASH.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NASH.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NASN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 0.009080
+- "HA" "HP" 0 1 131072 6 1 0.021090
+- "CB" "CT" 0 1 131072 7 6 -0.279860
+- "HB2" "HC" 0 1 131072 8 1 0.139080
+- "HB3" "HC" 0 1 131072 9 1 0.139080
+- "CG" "C" 0 1 131072 10 6 0.649780
+- "OD1" "O" 0 1 131072 11 8 -0.558030
+- "ND2" "N" 0 1 131072 12 7 -0.826350
+- "HD21" "H" 0 1 131072 13 1 0.384460
+- "HD22" "H" 0 1 131072 14 1 0.384460
+- "C" "C" 0 1 131072 15 6 0.670480
+- "O" "O" 0 1 131072 16 8 -0.583250
+-!entry.NASN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O" 0 -1 0.0
+- "ND2" "N" 0 -1 0.0
+- "HD21" "H" 0 -1 0.0
+- "HD22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NASN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NASN.unit.childsequence single int
+- 2
+-!entry.NASN.unit.connect array int
+- 0
+- 15
+-!entry.NASN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 15 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 12 13 1
+- 12 14 1
+- 15 16 1
+-!entry.NASN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+-!entry.NASN.unit.name single str
+- "NASN"
+-!entry.NASN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.253700 5.017112 1.232144
+- 5.005299 5.340406 0.315072
+- 3.984885 5.817909 2.265917
+- 4.408015 6.733702 2.314743
+- 3.359611 5.504297 2.994464
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NASN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 15 0 0 0 0
+-!entry.NASN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NASN" 1 17 1 "p" 0
+-!entry.NASN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NASN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NASN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NASP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.021580
+- "HA" "HP" 0 1 131072 6 1 -0.015560
+- "CB" "CT" 0 1 131072 7 6 -0.319940
+- "HB2" "HC" 0 1 131072 8 1 0.089360
+- "HB3" "HC" 0 1 131072 9 1 0.089360
+- "CG" "C" 0 1 131072 10 6 0.883310
+- "OD1" "O2" 0 1 131072 11 8 -0.821080
+- "OD2" "O2" 0 1 131072 12 8 -0.821080
+- "C" "C" 0 1 131072 13 6 0.670480
+- "O" "O" 0 1 131072 14 8 -0.583250
+-!entry.NASP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O2" 0 -1 0.0
+- "OD2" "O2" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NASP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NASP.unit.childsequence single int
+- 2
+-!entry.NASP.unit.connect array int
+- 0
+- 13
+-!entry.NASP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 13 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 13 14 1
+-!entry.NASP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+-!entry.NASP.unit.name single str
+- "NASP"
+-!entry.NASP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.275101 5.011380 1.194527
+- 3.669108 5.954940 0.620011
+- 5.407731 5.091879 1.740667
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NASP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 13 0 0 0 0
+-!entry.NASP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NASP" 1 15 1 "p" 0
+-!entry.NASP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NASP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NASP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NCYM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.141590
+- "HA" "HP" 0 1 131072 6 1 0.070220
+- "CB" "CT" 0 1 131072 7 6 0.112010
+- "HB2" "H1" 0 1 131072 8 1 -0.023100
+- "HB3" "H1" 0 1 131072 9 1 -0.023100
+- "SG" "SH" 0 1 131072 10 16 -0.931650
+- "C" "C" 0 1 131072 11 6 0.670480
+- "O" "O" 0 1 131072 12 8 -0.583250
+-!entry.NCYM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "SH" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NCYM.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NCYM.unit.childsequence single int
+- 2
+-!entry.NCYM.unit.connect array int
+- 0
+- 11
+-!entry.NCYM.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+-!entry.NCYM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+-!entry.NCYM.unit.name single str
+- "NCYM"
+-!entry.NCYM.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NCYM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 11 0 0 0 0
+-!entry.NCYM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NCYM" 1 13 1 "p" 0
+-!entry.NCYM.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NCYM.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NCYM.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NCYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.008690
+- "HA" "HP" 0 1 131072 6 1 0.055730
+- "CB" "CT" 0 1 131072 7 6 -0.028460
+- "HB2" "H1" 0 1 131072 8 1 0.068320
+- "HB3" "H1" 0 1 131072 9 1 0.068320
+- "SG" "SH" 0 1 131072 10 16 -0.250480
+- "HG" "HS" 0 1 131072 11 1 0.158050
+- "C" "C" 0 1 131072 12 6 0.670480
+- "O" "O" 0 1 131072 13 8 -0.583250
+-!entry.NCYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "SH" 0 -1 0.0
+- "HG" "HS" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NCYS.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NCYS.unit.childsequence single int
+- 2
+-!entry.NCYS.unit.connect array int
+- 0
+- 12
+-!entry.NCYS.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 12 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 12 13 1
+-!entry.NCYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+-!entry.NCYS.unit.name single str
+- "NCYS"
+-!entry.NCYS.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 3.725392 5.622018 2.517640
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NCYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 12 0 0 0 0
+-!entry.NCYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NCYS" 1 14 1 "p" 0
+-!entry.NCYS.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NCYS.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NCYS.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NCYX.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.016590
+- "HA" "HP" 0 1 131072 6 1 0.026230
+- "CB" "CT" 0 1 131072 7 6 -0.036490
+- "HB2" "H1" 0 1 131072 8 1 0.084950
+- "HB3" "H1" 0 1 131072 9 1 0.084950
+- "SG" "S" 0 1 131072 10 16 -0.080260
+- "C" "C" 0 1 131072 11 6 0.670480
+- "O" "O" 0 1 131072 12 8 -0.583250
+-!entry.NCYX.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "S" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NCYX.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NCYX.unit.childsequence single int
+- 2
+-!entry.NCYX.unit.connect array int
+- 0
+- 11
+-!entry.NCYX.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+-!entry.NCYX.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+-!entry.NCYX.unit.name single str
+- "NCYX"
+-!entry.NCYX.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NCYX.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 11 10 0 0 0
+-!entry.NCYX.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NCYX" 1 13 1 "p" 0
+-!entry.NCYX.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NCYX.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NCYX.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NGLH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.058830
+- "HA" "HP" 0 1 131072 6 1 0.038110
+- "CB" "CT" 0 1 131072 7 6 0.146800
+- "HB2" "HC" 0 1 131072 8 1 0.015120
+- "HB3" "HC" 0 1 131072 9 1 0.015120
+- "CG" "CT" 0 1 131072 10 6 -0.424760
+- "HG2" "HC" 0 1 131072 11 1 0.200810
+- "HG3" "HC" 0 1 131072 12 1 0.200810
+- "CD" "C" 0 1 131072 13 6 0.647590
+- "OE1" "O" 0 1 131072 14 8 -0.569530
+- "OE2" "OH" 0 1 131072 15 8 -0.601150
+- "HE2" "HO" 0 1 131072 16 1 0.452700
+- "C" "C" 0 1 131072 17 6 0.670480
+- "O" "O" 0 1 131072 18 8 -0.583250
+-!entry.NGLH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O" 0 -1 0.0
+- "OE2" "OH" 0 -1 0.0
+- "HE2" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NGLH.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLH.unit.childsequence single int
+- 2
+-!entry.NGLH.unit.connect array int
+- 0
+- 17
+-!entry.NGLH.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 17 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 17 18 1
+-!entry.NGLH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.NGLH.unit.name single str
+- "NGLH"
+-!entry.NGLH.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 5.347413 4.849843 1.186158
+- 3.966923 5.535124 0.296342
+- 3.873732 5.805369 2.428706
+- 4.594590 5.679012 3.454376
+- 2.855965 6.542070 2.333721
+- 2.710526 6.996624 3.166684
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NGLH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 17 0 0 0 0
+-!entry.NGLH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NGLH" 1 19 1 "p" 0
+-!entry.NGLH.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NGLH.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLH.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NGLN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.176770
+- "HA" "HP" 0 1 131072 6 1 0.074450
+- "CB" "CT" 0 1 131072 7 6 0.367300
+- "HB2" "HC" 0 1 131072 8 1 -0.042440
+- "HB3" "HC" 0 1 131072 9 1 -0.042440
+- "CG" "CT" 0 1 131072 10 6 -0.651590
+- "HG2" "HC" 0 1 131072 11 1 0.230560
+- "HG3" "HC" 0 1 131072 12 1 0.230560
+- "CD" "C" 0 1 131072 13 6 0.855380
+- "OE1" "O" 0 1 131072 14 8 -0.671160
+- "NE2" "N" 0 1 131072 15 7 -0.907460
+- "HE21" "H" 0 1 131072 16 1 0.398200
+- "HE22" "H" 0 1 131072 17 1 0.398200
+- "C" "C" 0 1 131072 18 6 0.670480
+- "O" "O" 0 1 131072 19 8 -0.583250
+-!entry.NGLN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O" 0 -1 0.0
+- "NE2" "N" 0 -1 0.0
+- "HE21" "H" 0 -1 0.0
+- "HE22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NGLN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLN.unit.childsequence single int
+- 2
+-!entry.NGLN.unit.connect array int
+- 0
+- 18
+-!entry.NGLN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 18 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 17 1
+- 18 19 1
+-!entry.NGLN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.NGLN.unit.name single str
+- "NGLN"
+-!entry.NGLN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.906976 5.848443 2.410302
+- 3.138962 5.408349 3.262893
+- 4.458856 7.061523 2.488333
+- 4.248434 7.659045 3.274966
+- 5.084281 7.376210 1.760379
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NGLN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 18 0 0 0 0
+-!entry.NGLN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NGLN" 1 20 1 "p" 0
+-!entry.NGLN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NGLN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NGLU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.277630
+- "HA" "HP" 0 1 131072 6 1 0.115460
+- "CB" "CT" 0 1 131072 7 6 0.687660
+- "HB2" "HC" 0 1 131072 8 1 -0.198680
+- "HB3" "HC" 0 1 131072 9 1 -0.198680
+- "CG" "CT" 0 1 131072 10 6 -0.615270
+- "HG2" "HC" 0 1 131072 11 1 0.173380
+- "HG3" "HC" 0 1 131072 12 1 0.173380
+- "CD" "C" 0 1 131072 13 6 0.808370
+- "OE1" "O2" 0 1 131072 14 8 -0.802600
+- "OE2" "O2" 0 1 131072 15 8 -0.802600
+- "C" "C" 0 1 131072 16 6 0.670480
+- "O" "O" 0 1 131072 17 8 -0.583250
+-!entry.NGLU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O2" 0 -1 0.0
+- "OE2" "O2" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NGLU.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLU.unit.childsequence single int
+- 2
+-!entry.NGLU.unit.connect array int
+- 0
+- 16
+-!entry.NGLU.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 16 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 16 17 1
+-!entry.NGLU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.NGLU.unit.name single str
+- "NGLU"
+-!entry.NGLU.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 5.347413 4.849843 1.186158
+- 3.966923 5.535124 0.296342
+- 3.873732 5.805369 2.428706
+- 4.594590 5.679012 3.454376
+- 2.855965 6.542070 2.333721
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NGLU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 16 0 0 0 0
+-!entry.NGLU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NGLU" 1 18 1 "p" 0
+-!entry.NGLU.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NGLU.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLU.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NGLY.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.170530
+- "HA2" "HP" 0 1 131072 6 1 0.116660
+- "HA3" "HP" 0 1 131072 7 1 0.116660
+- "C" "C" 0 1 131072 8 6 0.670480
+- "O" "O" 0 1 131072 9 8 -0.583250
+-!entry.NGLY.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA2" "HP" 0 -1 0.0
+- "HA3" "HP" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NGLY.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLY.unit.childsequence single int
+- 2
+-!entry.NGLY.unit.connect array int
+- 0
+- 8
+-!entry.NGLY.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+-!entry.NGLY.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+-!entry.NGLY.unit.name single str
+- "NGLY"
+-!entry.NGLY.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.671668 3.400125 0.889824
+- 5.483710 2.686702 -4.438857E-06
+- 5.993369 1.568360 -8.469843E-06
+-!entry.NGLY.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 8 0 0 0 0
+-!entry.NGLY.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NGLY" 1 10 1 "p" 0
+-!entry.NGLY.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NGLY.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NGLY.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NHID.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.018360
+- "HA" "HP" 0 1 131072 6 1 0.005320
+- "CB" "CT" 0 1 131072 7 6 -0.207970
+- "HB2" "HC" 0 1 131072 8 1 0.122530
+- "HB3" "HC" 0 1 131072 9 1 0.122530
+- "CG" "CC" 0 1 131072 10 6 0.205880
+- "ND1" "NA" 0 1 131072 11 7 -0.380080
+- "HD1" "H" 0 1 131072 12 1 0.357430
+- "CE1" "CR" 0 1 131072 13 6 0.262300
+- "HE1" "H5" 0 1 131072 14 1 0.052860
+- "NE2" "NB" 0 1 131072 15 7 -0.525490
+- "CD2" "CV" 0 1 131072 16 6 -0.029750
+- "HD2" "H4" 0 1 131072 17 1 0.095590
+- "C" "C" 0 1 131072 18 6 0.670480
+- "O" "O" 0 1 131072 19 8 -0.583250
+-!entry.NHID.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NA" 0 -1 0.0
+- "HD1" "H" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NB" 0 -1 0.0
+- "CD2" "CV" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NHID.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NHID.unit.childsequence single int
+- 2
+-!entry.NHID.unit.connect array int
+- 0
+- 18
+-!entry.NHID.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 18 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 16 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 16 17 1
+- 18 19 1
+-!entry.NHID.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.NHID.unit.name single str
+- "NHID"
+-!entry.NHID.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 3.339725 5.691913 3.169805
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NHID.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 18 0 0 0 0
+-!entry.NHID.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NHID" 1 20 1 "p" 0
+-!entry.NHID.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NHID.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NHID.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NHIE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.035930
+- "HA" "HP" 0 1 131072 6 1 0.022090
+- "CB" "CT" 0 1 131072 7 6 -0.326150
+- "HB2" "HC" 0 1 131072 8 1 0.147760
+- "HB3" "HC" 0 1 131072 9 1 0.147760
+- "CG" "CC" 0 1 131072 10 6 0.467290
+- "ND1" "NB" 0 1 131072 11 7 -0.678510
+- "CE1" "CR" 0 1 131072 12 6 0.312370
+- "HE1" "H5" 0 1 131072 13 1 0.042060
+- "NE2" "NA" 0 1 131072 14 7 -0.318040
+- "HE2" "H" 0 1 131072 15 1 0.341000
+- "CD2" "CW" 0 1 131072 16 6 -0.217930
+- "HD2" "H4" 0 1 131072 17 1 0.159020
+- "C" "C" 0 1 131072 18 6 0.670480
+- "O" "O" 0 1 131072 19 8 -0.583250
+-!entry.NHIE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NB" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NA" 0 -1 0.0
+- "HE2" "H" 0 -1 0.0
+- "CD2" "CW" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NHIE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NHIE.unit.childsequence single int
+- 2
+-!entry.NHIE.unit.connect array int
+- 0
+- 18
+-!entry.NHIE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 18 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 16 1
+- 11 12 1
+- 12 13 1
+- 12 14 1
+- 14 15 1
+- 14 16 1
+- 16 17 1
+- 18 19 1
+-!entry.NHIE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.NHIE.unit.name single str
+- "NHIE"
+-!entry.NHIE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.896297 7.605085 0.676854
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NHIE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 18 0 0 0 0
+-!entry.NHIE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NHIE" 1 20 1 "p" 0
+-!entry.NHIE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NHIE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NHIE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NHIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 0.119410
+- "HA" "HP" 0 1 131072 6 1 -0.053970
+- "CB" "CT" 0 1 131072 7 6 -0.059690
+- "HB2" "HC" 0 1 131072 8 1 0.073300
+- "HB3" "HC" 0 1 131072 9 1 0.073300
+- "CG" "CC" 0 1 131072 10 6 0.259530
+- "ND1" "NA" 0 1 131072 11 7 -0.115370
+- "HD1" "H" 0 1 131072 12 1 0.355750
+- "CE1" "CR" 0 1 131072 13 6 -0.085390
+- "HE1" "H5" 0 1 131072 14 1 0.198640
+- "NE2" "NA" 0 1 131072 15 7 0.055360
+- "HE2" "H" 0 1 131072 16 1 0.293500
+- "CD2" "CW" 0 1 131072 17 6 -0.207090
+- "HD2" "H4" 0 1 131072 18 1 0.155510
+- "C" "C" 0 1 131072 19 6 0.670480
+- "O" "O" 0 1 131072 20 8 -0.583250
+-!entry.NHIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NA" 0 -1 0.0
+- "HD1" "H" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NA" 0 -1 0.0
+- "HE2" "H" 0 -1 0.0
+- "CD2" "CW" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NHIP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NHIP.unit.childsequence single int
+- 2
+-!entry.NHIP.unit.connect array int
+- 0
+- 19
+-!entry.NHIP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 19 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 17 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 17 1
+- 17 18 1
+- 19 20 1
+-!entry.NHIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+-!entry.NHIP.unit.name single str
+- "NHIP"
+-!entry.NHIP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 3.339725 5.691913 3.169805
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.896297 7.605085 0.676854
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NHIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 19 0 0 0 0
+-!entry.NHIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NHIP" 1 21 1 "p" 0
+-!entry.NHIP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NHIP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NHIP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NILE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.229690
+- "HA" "HP" 0 1 131072 6 1 0.080520
+- "CB" "CT" 0 1 131072 7 6 0.455630
+- "HB" "HC" 0 1 131072 8 1 -0.113680
+- "CG2" "CT" 0 1 131072 9 6 -0.498950
+- "HG21" "HC" 0 1 131072 10 1 0.129740
+- "HG22" "HC" 0 1 131072 11 1 0.129740
+- "HG23" "HC" 0 1 131072 12 1 0.129740
+- "CG1" "CT" 0 1 131072 13 6 -0.144720
+- "HG12" "HC" 0 1 131072 14 1 0.066780
+- "HG13" "HC" 0 1 131072 15 1 0.066780
+- "CD1" "CT" 0 1 131072 16 6 -0.134770
+- "HD11" "HC" 0 1 131072 17 1 0.041890
+- "HD12" "HC" 0 1 131072 18 1 0.041890
+- "HD13" "HC" 0 1 131072 19 1 0.041890
+- "C" "C" 0 1 131072 20 6 0.670480
+- "O" "O" 0 1 131072 21 8 -0.583250
+-!entry.NILE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "HC" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "CG1" "CT" 0 -1 0.0
+- "HG12" "HC" 0 -1 0.0
+- "HG13" "HC" 0 -1 0.0
+- "CD1" "CT" 0 -1 0.0
+- "HD11" "HC" 0 -1 0.0
+- "HD12" "HC" 0 -1 0.0
+- "HD13" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NILE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NILE.unit.childsequence single int
+- 2
+-!entry.NILE.unit.connect array int
+- 0
+- 20
+-!entry.NILE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 20 1
+- 7 8 1
+- 7 9 1
+- 7 13 1
+- 9 10 1
+- 9 11 1
+- 9 12 1
+- 13 14 1
+- 13 15 1
+- 13 16 1
+- 16 17 1
+- 16 18 1
+- 16 19 1
+- 20 21 1
+-!entry.NILE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+-!entry.NILE.unit.name single str
+- "NILE"
+-!entry.NILE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.552136 3.620733 1.245168
+- 2.470128 3.752486 1.245640
+- 3.970045 2.845728 2.490296
+- 5.052053 2.713974 2.490763
+- 3.671561 3.399208 3.380615
+- 3.485650 1.869275 2.490737
+- 4.230204 4.986694 1.245169
+- 3.931820 5.541027 0.355348
+- 5.312310 4.855746 1.245164
+- 3.812294 5.761632 2.490339
+- 4.110777 5.208104 3.380628
+- 4.296689 6.738085 2.490833
+- 2.730286 5.893383 2.490813
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NILE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 20 0 0 0 0
+-!entry.NILE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NILE" 1 22 1 "p" 0
+-!entry.NILE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NILE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NILE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NLEU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.048190
+- "HA" "HP" 0 1 131072 6 1 0.009070
+- "CB" "CT" 0 1 131072 7 6 -0.232000
+- "HB2" "HC" 0 1 131072 8 1 0.091230
+- "HB3" "HC" 0 1 131072 9 1 0.091230
+- "CG" "CT" 0 1 131072 10 6 0.595680
+- "HG" "HC" 0 1 131072 11 1 -0.106730
+- "CD1" "CT" 0 1 131072 12 6 -0.811380
+- "HD11" "HC" 0 1 131072 13 1 0.214210
+- "HD12" "HC" 0 1 131072 14 1 0.214210
+- "HD13" "HC" 0 1 131072 15 1 0.214210
+- "CD2" "CT" 0 1 131072 16 6 -0.811380
+- "HD21" "HC" 0 1 131072 17 1 0.214210
+- "HD22" "HC" 0 1 131072 18 1 0.214210
+- "HD23" "HC" 0 1 131072 19 1 0.214210
+- "C" "C" 0 1 131072 20 6 0.670480
+- "O" "O" 0 1 131072 21 8 -0.583250
+-!entry.NLEU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG" "HC" 0 -1 0.0
+- "CD1" "CT" 0 -1 0.0
+- "HD11" "HC" 0 -1 0.0
+- "HD12" "HC" 0 -1 0.0
+- "HD13" "HC" 0 -1 0.0
+- "CD2" "CT" 0 -1 0.0
+- "HD21" "HC" 0 -1 0.0
+- "HD22" "HC" 0 -1 0.0
+- "HD23" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NLEU.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NLEU.unit.childsequence single int
+- 2
+-!entry.NLEU.unit.connect array int
+- 0
+- 20
+-!entry.NLEU.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 20 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 16 1
+- 12 13 1
+- 12 14 1
+- 12 15 1
+- 16 17 1
+- 16 18 1
+- 16 19 1
+- 20 21 1
+-!entry.NLEU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+-!entry.NLEU.unit.name single str
+- "NLEU"
+-!entry.NLEU.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.853429 5.762895 -0.062857
+- 2.773449 5.910113 -0.054557
+- 4.351513 6.732052 -0.090203
+- 4.134159 5.185704 -0.943846
+- 3.881105 5.817645 2.426721
+- 4.181626 5.279602 3.325774
+- 4.379198 6.786825 2.400363
+- 2.801135 5.964881 2.435959
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NLEU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 20 0 0 0 0
+-!entry.NLEU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NLEU" 1 22 1 "p" 0
+-!entry.NLEU.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NLEU.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NLEU.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NLYN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.095720
+- "HA" "HP" 0 1 131072 6 1 0.049030
+- "CB" "CT" 0 1 131072 7 6 0.079910
+- "HB2" "HC" 0 1 131072 8 1 -0.013700
+- "HB3" "HC" 0 1 131072 9 1 -0.013700
+- "CG" "CT" 0 1 131072 10 6 0.022200
+- "HG2" "HC" 0 1 131072 11 1 0.016820
+- "HG3" "HC" 0 1 131072 12 1 0.016820
+- "CD" "CT" 0 1 131072 13 6 -0.303010
+- "HD2" "HC" 0 1 131072 14 1 0.123310
+- "HD3" "HC" 0 1 131072 15 1 0.123310
+- "CE" "CT" 0 1 131072 16 6 0.555520
+- "HE2" "HP" 0 1 131072 17 1 -0.113930
+- "HE3" "HP" 0 1 131072 18 1 -0.113930
+- "NZ" "NT" 0 1 131072 19 7 -0.979040
+- "HZ2" "H" 0 1 131072 20 1 0.354450
+- "HZ3" "H" 0 1 131072 21 1 0.354450
+- "C" "C" 0 1 131072 22 6 0.670480
+- "O" "O" 0 1 131072 23 8 -0.583250
+-!entry.NLYN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HC" 0 -1 0.0
+- "HD3" "HC" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE2" "HP" 0 -1 0.0
+- "HE3" "HP" 0 -1 0.0
+- "NZ" "NT" 0 -1 0.0
+- "HZ2" "H" 0 -1 0.0
+- "HZ3" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NLYN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NLYN.unit.childsequence single int
+- 2
+-!entry.NLYN.unit.connect array int
+- 0
+- 22
+-!entry.NLYN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 22 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 13 16 1
+- 16 17 1
+- 16 18 1
+- 16 19 1
+- 19 20 1
+- 19 21 1
+- 22 23 1
+-!entry.NLYN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+-!entry.NLYN.unit.name single str
+- "NLYN"
+-!entry.NLYN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.578325 7.173410 2.389153
+- 5.658410 7.026987 2.380363
+- 4.277917 7.712267 1.490550
+- 4.199422 7.952309 3.576860
+- 4.661186 8.850226 3.551979
+- 3.198675 8.088466 3.584971
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NLYN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 22 0 0 0 0
+-!entry.NLYN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NLYN" 1 24 1 "p" 0
+-!entry.NLYN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NLYN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NLYN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NLYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.109440
+- "HA" "HP" 0 1 131072 6 1 0.074110
+- "CB" "CT" 0 1 131072 7 6 0.027560
+- "HB2" "HC" 0 1 131072 8 1 0.006150
+- "HB3" "HC" 0 1 131072 9 1 0.006150
+- "CG" "CT" 0 1 131072 10 6 -0.012430
+- "HG2" "HC" 0 1 131072 11 1 0.044300
+- "HG3" "HC" 0 1 131072 12 1 0.044300
+- "CD" "CT" 0 1 131072 13 6 -0.229220
+- "HD2" "HC" 0 1 131072 14 1 0.103290
+- "HD3" "HC" 0 1 131072 15 1 0.103290
+- "CE" "CT" 0 1 131072 16 6 0.454620
+- "HE2" "HP" 0 1 131072 17 1 -0.045920
+- "HE3" "HP" 0 1 131072 18 1 -0.045920
+- "NZ" "N3" 0 1 131072 19 7 -0.357710
+- "HZ1" "H" 0 1 131072 20 1 0.333220
+- "HZ2" "H" 0 1 131072 21 1 0.333220
+- "HZ3" "H" 0 1 131072 22 1 0.333220
+- "C" "C" 0 1 131072 23 6 0.670480
+- "O" "O" 0 1 131072 24 8 -0.583250
+-!entry.NLYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HC" 0 -1 0.0
+- "HD3" "HC" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE2" "HP" 0 -1 0.0
+- "HE3" "HP" 0 -1 0.0
+- "NZ" "N3" 0 -1 0.0
+- "HZ1" "H" 0 -1 0.0
+- "HZ2" "H" 0 -1 0.0
+- "HZ3" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NLYS.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NLYS.unit.childsequence single int
+- 2
+-!entry.NLYS.unit.connect array int
+- 0
+- 23
+-!entry.NLYS.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 23 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 13 16 1
+- 16 17 1
+- 16 18 1
+- 16 19 1
+- 19 20 1
+- 19 21 1
+- 19 22 1
+- 23 24 1
+-!entry.NLYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+-!entry.NLYS.unit.name single str
+- "NLYS"
+-!entry.NLYS.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.578325 7.173410 2.389153
+- 5.658410 7.026987 2.380363
+- 4.277917 7.712267 1.490550
+- 4.199422 7.952309 3.576860
+- 4.478085 7.453366 4.409628
+- 4.661186 8.850226 3.551979
+- 3.198675 8.088466 3.584971
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NLYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 23 0 0 0 0
+-!entry.NLYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NLYS" 1 25 1 "p" 0
+-!entry.NLYS.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NLYS.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NLYS.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NMET.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.097630
+- "HA" "HP" 0 1 131072 6 1 0.070210
+- "CB" "CT" 0 1 131072 7 6 0.275580
+- "HB2" "HC" 0 1 131072 8 1 -0.049150
+- "HB3" "HC" 0 1 131072 9 1 -0.049150
+- "CG" "CT" 0 1 131072 10 6 -0.318690
+- "HG2" "H1" 0 1 131072 11 1 0.142380
+- "HG3" "H1" 0 1 131072 12 1 0.142380
+- "SD" "S" 0 1 131072 13 16 -0.124640
+- "CE" "CT" 0 1 131072 14 6 -0.228860
+- "HE1" "H1" 0 1 131072 15 1 0.100120
+- "HE2" "H1" 0 1 131072 16 1 0.100120
+- "HE3" "H1" 0 1 131072 17 1 0.100120
+- "C" "C" 0 1 131072 18 6 0.670480
+- "O" "O" 0 1 131072 19 8 -0.583250
+-!entry.NMET.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "H1" 0 -1 0.0
+- "HG3" "H1" 0 -1 0.0
+- "SD" "S" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE1" "H1" 0 -1 0.0
+- "HE2" "H1" 0 -1 0.0
+- "HE3" "H1" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NMET.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NMET.unit.childsequence single int
+- 2
+-!entry.NMET.unit.connect array int
+- 0
+- 18
+-!entry.NMET.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 18 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 18 19 1
+-!entry.NMET.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.NMET.unit.name single str
+- "NMET"
+-!entry.NMET.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.817309 5.981266 2.651708
+- 4.753212 7.463128 2.340949
+- 4.433582 7.904044 1.396741
+- 4.585907 8.175299 3.148985
+- 5.814074 7.218763 2.286554
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NMET.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 18 0 0 0 0
+-!entry.NMET.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NMET" 1 20 1 "p" 0
+-!entry.NMET.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NMET.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NMET.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NPHE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.033820
+- "HA" "HP" 0 1 131072 6 1 0.035950
+- "CB" "CT" 0 1 131072 7 6 -0.264720
+- "HB2" "HC" 0 1 131072 8 1 0.129600
+- "HB3" "HC" 0 1 131072 9 1 0.129600
+- "CG" "CA" 0 1 131072 10 6 0.233490
+- "CD1" "CA" 0 1 131072 11 6 -0.246420
+- "HD1" "HA" 0 1 131072 12 1 0.151840
+- "CE1" "CA" 0 1 131072 13 6 -0.076860
+- "HE1" "HA" 0 1 131072 14 1 0.108390
+- "CZ" "CA" 0 1 131072 15 6 -0.134740
+- "HZ" "HA" 0 1 131072 16 1 0.093530
+- "CE2" "CA" 0 1 131072 17 6 -0.076860
+- "HE2" "HA" 0 1 131072 18 1 0.108390
+- "CD2" "CA" 0 1 131072 19 6 -0.246420
+- "HD2" "HA" 0 1 131072 20 1 0.151840
+- "C" "C" 0 1 131072 21 6 0.670480
+- "O" "O" 0 1 131072 22 8 -0.583250
+-!entry.NPHE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CA" 0 -1 0.0
+- "CD1" "CA" 0 -1 0.0
+- "HD1" "HA" 0 -1 0.0
+- "CE1" "CA" 0 -1 0.0
+- "HE1" "HA" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "HZ" "HA" 0 -1 0.0
+- "CE2" "CA" 0 -1 0.0
+- "HE2" "HA" 0 -1 0.0
+- "CD2" "CA" 0 -1 0.0
+- "HD2" "HA" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NPHE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NPHE.unit.childsequence single int
+- 2
+-!entry.NPHE.unit.connect array int
+- 0
+- 21
+-!entry.NPHE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 21 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 19 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 17 1
+- 17 18 1
+- 17 19 1
+- 19 20 1
+- 21 22 1
+-!entry.NPHE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+-!entry.NPHE.unit.name single str
+- "NPHE"
+-!entry.NPHE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.911613 5.857250 2.409890
+- 3.236123 5.513843 3.193398
+- 4.490014 7.129513 2.492354
+- 4.264853 7.776651 3.340066
+- 5.357616 7.570591 1.486016
+- 5.807943 8.561138 1.550220
+- 5.646818 6.739407 0.397211
+- 6.322309 7.082817 -0.386295
+- 5.068419 5.467143 0.314744
+- 5.293584 4.820007 -0.532968
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NPHE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 21 0 0 0 0
+-!entry.NPHE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NPHE" 1 23 1 "p" 0
+-!entry.NPHE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NPHE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NPHE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NPRO.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 -0.138570
+- "H2" "H" 0 1 131072 2 1 0.257280
+- "H3" "H" 0 1 131072 3 1 0.257280
+- "CD" "CT" 0 1 131072 4 6 0.227570
+- "HD2" "HP" 0 1 131072 5 1 0.017160
+- "HD3" "HP" 0 1 131072 6 1 0.017150
+- "CG" "CT" 0 1 131072 7 6 -0.073460
+- "HG2" "HC" 0 1 131072 8 1 0.038960
+- "HG3" "HC" 0 1 131072 9 1 0.038960
+- "CB" "CT" 0 1 131072 10 6 0.189500
+- "HB2" "HC" 0 1 131072 11 1 -0.029230
+- "HB3" "HC" 0 1 131072 12 1 -0.029230
+- "CA" "CT" 0 1 131072 13 6 0.104090
+- "HA" "HP" 0 1 131072 14 1 0.035310
+- "C" "C" 0 1 131072 15 6 0.670480
+- "O" "O" 0 1 131072 16 8 -0.583250
+-!entry.NPRO.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HP" 0 -1 0.0
+- "HD3" "HP" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NPRO.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NPRO.unit.childsequence single int
+- 2
+-!entry.NPRO.unit.connect array int
+- 0
+- 15
+-!entry.NPRO.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 13 1
+- 4 5 1
+- 4 6 1
+- 4 7 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+-!entry.NPRO.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+-!entry.NPRO.unit.name single str
+- "NPRO"
+-!entry.NPRO.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 4.293514 0.460336 0.080119
+- 4.408169 0.002209 -0.902263
+- 3.942023 -0.287867 0.790574
+- 5.543321 1.147470 0.544693
+- 6.406715 0.710627 0.042879
+- 5.648273 1.022228 1.622376
+- 5.375453 2.604421 0.185227
+- 5.977268 2.833902 -0.694123
+- 5.701345 3.225015 1.019947
+- 3.941704 2.857529 -0.104508
+- 3.623882 3.477056 0.734106
+- 3.517842 3.515620 -1.409783
+- 2.762837 2.933549 -2.185412
+-!entry.NPRO.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 15 0 0 0 0
+-!entry.NPRO.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NPRO" 1 17 1 "p" 0
+-!entry.NPRO.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NPRO.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NPRO.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NSER.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 0.006090
+- "HA" "HP" 0 1 131072 6 1 0.050540
+- "CB" "CT" 0 1 131072 7 6 0.197970
+- "HB2" "H1" 0 1 131072 8 1 0.017960
+- "HB3" "H1" 0 1 131072 9 1 0.017970
+- "OG" "OH" 0 1 131072 10 8 -0.606020
+- "HG" "HO" 0 1 131072 11 1 0.378280
+- "C" "C" 0 1 131072 12 6 0.670480
+- "O" "O" 0 1 131072 13 8 -0.583250
+-!entry.NSER.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "OG" "OH" 0 -1 0.0
+- "HG" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NSER.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NSER.unit.childsequence single int
+- 2
+-!entry.NSER.unit.connect array int
+- 0
+- 12
+-!entry.NSER.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 12 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 12 13 1
+-!entry.NSER.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+-!entry.NSER.unit.name single str
+- "NSER"
+-!entry.NSER.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.230753 4.925145 1.196917
+- 3.983305 5.433814 1.972562
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NSER.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 12 0 0 0 0
+-!entry.NSER.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NSER" 1 14 1 "p" 0
+-!entry.NSER.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NSER.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NSER.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NTHR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 0.036230
+- "HA" "HP" 0 1 131072 6 1 0.028680
+- "CB" "CT" 0 1 131072 7 6 0.563540
+- "HB" "H1" 0 1 131072 8 1 -0.161960
+- "CG2" "CT" 0 1 131072 9 6 -0.574400
+- "HG21" "HC" 0 1 131072 10 1 0.154000
+- "HG22" "HC" 0 1 131072 11 1 0.154000
+- "HG23" "HC" 0 1 131072 12 1 0.154000
+- "OG1" "OH" 0 1 131072 13 8 -0.735860
+- "HG1" "HO" 0 1 131072 14 1 0.444560
+- "C" "C" 0 1 131072 15 6 0.670480
+- "O" "O" 0 1 131072 16 8 -0.583250
+-!entry.NTHR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "H1" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "OG1" "OH" 0 -1 0.0
+- "HG1" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NTHR.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NTHR.unit.childsequence single int
+- 2
+-!entry.NTHR.unit.connect array int
+- 0
+- 15
+-!entry.NTHR.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 15 1
+- 7 8 1
+- 7 9 1
+- 7 13 1
+- 9 10 1
+- 9 11 1
+- 9 12 1
+- 13 14 1
+- 15 16 1
+-!entry.NTHR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+-!entry.NTHR.unit.name single str
+- "NTHR"
+-!entry.NTHR.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 4.075059 4.623017 1.205786
+- 2.065936 3.859425 1.244383
+- 1.567127 2.890627 1.271209
+- 1.784431 4.436953 2.124903
+- 1.764699 4.397847 0.345796
+- 3.971501 2.947413 2.411212
+- 3.724052 3.456082 3.186857
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NTHR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 15 0 0 0 0
+-!entry.NTHR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NTHR" 1 17 1 "p" 0
+-!entry.NTHR.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NTHR.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NTHR.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NTRP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.064400
+- "HA" "HP" 0 1 131072 6 1 0.060910
+- "CB" "CT" 0 1 131072 7 6 0.072380
+- "HB2" "HC" 0 1 131072 8 1 0.023340
+- "HB3" "HC" 0 1 131072 9 1 0.023340
+- "CG" "C*" 0 1 131072 10 6 -0.302580
+- "CD1" "CW" 0 1 131072 11 6 0.030860
+- "HD1" "H4" 0 1 131072 12 1 0.139310
+- "NE1" "NA" 0 1 131072 13 7 -0.480170
+- "HE1" "H" 0 1 131072 14 1 0.392790
+- "CE2" "CN" 0 1 131072 15 6 0.192760
+- "CZ2" "CA" 0 1 131072 16 6 -0.261010
+- "HZ2" "HA" 0 1 131072 17 1 0.183580
+- "CH2" "CA" 0 1 131072 18 6 -0.180740
+- "HH2" "HA" 0 1 131072 19 1 0.106860
+- "CZ3" "CA" 0 1 131072 20 6 -0.044730
+- "HZ3" "HA" 0 1 131072 21 1 0.086480
+- "CE3" "CA" 0 1 131072 22 6 -0.427910
+- "HE3" "HA" 0 1 131072 23 1 0.225690
+- "CD2" "CB" 0 1 131072 24 6 0.286030
+- "C" "C" 0 1 131072 25 6 0.670480
+- "O" "O" 0 1 131072 26 8 -0.583250
+-!entry.NTRP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C*" 0 -1 0.0
+- "CD1" "CW" 0 -1 0.0
+- "HD1" "H4" 0 -1 0.0
+- "NE1" "NA" 0 -1 0.0
+- "HE1" "H" 0 -1 0.0
+- "CE2" "CN" 0 -1 0.0
+- "CZ2" "CA" 0 -1 0.0
+- "HZ2" "HA" 0 -1 0.0
+- "CH2" "CA" 0 -1 0.0
+- "HH2" "HA" 0 -1 0.0
+- "CZ3" "CA" 0 -1 0.0
+- "HZ3" "HA" 0 -1 0.0
+- "CE3" "CA" 0 -1 0.0
+- "HE3" "HA" 0 -1 0.0
+- "CD2" "CB" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NTRP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NTRP.unit.childsequence single int
+- 2
+-!entry.NTRP.unit.connect array int
+- 0
+- 25
+-!entry.NTRP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 25 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 24 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 24 1
+- 16 17 1
+- 16 18 1
+- 18 19 1
+- 18 20 1
+- 20 21 1
+- 20 22 1
+- 22 23 1
+- 22 24 1
+- 25 26 1
+-!entry.NTRP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+- "R" 1 "A" 25
+- "R" 1 "A" 26
+-!entry.NTRP.unit.name single str
+- "NTRP"
+-!entry.NTRP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 4.023453 5.931084 2.293240
+- 3.368841 5.705466 3.135071
+- 4.811943 7.073555 1.949808
+- 4.882921 7.922010 2.493118
+- 5.427347 6.842060 0.816764
+- 6.297161 7.689052 0.119605
+- 6.531230 8.676649 0.517050
+- 6.814091 7.187011 -1.069023
+- 7.498074 7.791857 -1.664362
+- 6.482659 5.953119 -1.505101
+- 6.897660 5.575648 -2.439654
+- 5.604041 5.117355 -0.785636
+- 5.358720 4.126570 -1.168080
+- 5.083390 5.623004 0.411545
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NTRP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 25 0 0 0 0
+-!entry.NTRP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NTRP" 1 27 1 "p" 0
+-!entry.NTRP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NTRP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NTRP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NTYR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.117360
+- "HA" "HP" 0 1 131072 6 1 0.085560
+- "CB" "CT" 0 1 131072 7 6 -0.110270
+- "HB2" "HC" 0 1 131072 8 1 0.083860
+- "HB3" "HC" 0 1 131072 9 1 0.083860
+- "CG" "CA" 0 1 131072 10 6 0.037350
+- "CD1" "CA" 0 1 131072 11 6 -0.143640
+- "HD1" "HA" 0 1 131072 12 1 0.146300
+- "CE1" "CA" 0 1 131072 13 6 -0.334390
+- "HE1" "HA" 0 1 131072 14 1 0.190770
+- "CZ" "CA" 0 1 131072 15 6 0.444500
+- "OH" "OH" 0 1 131072 16 8 -0.546480
+- "HH" "HO" 0 1 131072 17 1 0.383690
+- "CE2" "CA" 0 1 131072 18 6 -0.334390
+- "HE2" "HA" 0 1 131072 19 1 0.190770
+- "CD2" "CA" 0 1 131072 20 6 -0.143640
+- "HD2" "HA" 0 1 131072 21 1 0.146300
+- "C" "C" 0 1 131072 22 6 0.670480
+- "O" "O" 0 1 131072 23 8 -0.583250
+-!entry.NTYR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CA" 0 -1 0.0
+- "CD1" "CA" 0 -1 0.0
+- "HD1" "HA" 0 -1 0.0
+- "CE1" "CA" 0 -1 0.0
+- "HE1" "HA" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "OH" "OH" 0 -1 0.0
+- "HH" "HO" 0 -1 0.0
+- "CE2" "CA" 0 -1 0.0
+- "HE2" "HA" 0 -1 0.0
+- "CD2" "CA" 0 -1 0.0
+- "HD2" "HA" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NTYR.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NTYR.unit.childsequence single int
+- 2
+-!entry.NTYR.unit.connect array int
+- 0
+- 22
+-!entry.NTYR.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 22 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 10 11 1
+- 10 20 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 18 1
+- 16 17 1
+- 18 19 1
+- 18 20 1
+- 20 21 1
+- 22 23 1
+-!entry.NTYR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+-!entry.NTYR.unit.name single str
+- "NTYR"
+-!entry.NTYR.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 4.059927 5.918911 2.227280
+- 3.400108 5.668218 3.057877
+- 4.699998 7.163547 2.192791
+- 4.538522 7.881891 2.996538
+- 5.547471 7.485542 1.125970
+- 6.169255 8.694617 1.092468
+- 5.956327 9.246984 1.848214
+- 5.754875 6.562900 0.093635
+- 6.414694 6.813595 -0.736962
+- 5.114806 5.318263 0.128119
+- 5.276286 4.599920 -0.675627
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NTYR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 22 0 0 0 0
+-!entry.NTYR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NTYR" 1 24 1 "p" 0
+-!entry.NTYR.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NTYR.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NTYR.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.NVAL.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N3" 0 1 131072 1 7 0.351680
+- "H1" "H" 0 1 131072 2 1 0.166100
+- "H2" "H" 0 1 131072 3 1 0.166100
+- "H3" "H" 0 1 131072 4 1 0.166100
+- "CA" "CT" 0 1 131072 5 6 -0.131460
+- "HA" "HP" 0 1 131072 6 1 0.055960
+- "CB" "CT" 0 1 131072 7 6 0.600860
+- "HB" "HC" 0 1 131072 8 1 -0.088610
+- "CG1" "CT" 0 1 131072 9 6 -0.789890
+- "HG11" "HC" 0 1 131072 10 1 0.200970
+- "HG12" "HC" 0 1 131072 11 1 0.200970
+- "HG13" "HC" 0 1 131072 12 1 0.200970
+- "CG2" "CT" 0 1 131072 13 6 -0.789890
+- "HG21" "HC" 0 1 131072 14 1 0.200970
+- "HG22" "HC" 0 1 131072 15 1 0.200970
+- "HG23" "HC" 0 1 131072 16 1 0.200970
+- "C" "C" 0 1 131072 17 6 0.670480
+- "O" "O" 0 1 131072 18 8 -0.583250
+-!entry.NVAL.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N3" 0 -1 0.0
+- "H1" "H" 0 -1 0.0
+- "H2" "H" 0 -1 0.0
+- "H3" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "HP" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "HC" 0 -1 0.0
+- "CG1" "CT" 0 -1 0.0
+- "HG11" "HC" 0 -1 0.0
+- "HG12" "HC" 0 -1 0.0
+- "HG13" "HC" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.NVAL.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NVAL.unit.childsequence single int
+- 2
+-!entry.NVAL.unit.connect array int
+- 0
+- 17
+-!entry.NVAL.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 1 4 1
+- 1 5 1
+- 5 6 1
+- 5 7 1
+- 5 17 1
+- 7 8 1
+- 7 9 1
+- 7 13 1
+- 9 10 1
+- 9 11 1
+- 9 12 1
+- 13 14 1
+- 13 15 1
+- 13 16 1
+- 17 18 1
+-!entry.NVAL.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.NVAL.unit.name single str
+- "NVAL"
+-!entry.NVAL.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 4.046154 0.839991 -2.855245E-06
+- 2.823094 1.499508 -0.874687
+- 2.823097 1.499507 0.874685
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.997712 2.900483 2.489542
+- 5.077693 2.753265 2.481244
+- 3.716972 3.477628 3.370558
+- 3.499630 1.931323 2.516834
+- 4.274186 5.009602 1.194577
+- 3.973781 5.548460 0.295972
+- 3.993559 5.587585 2.075079
+- 5.354271 4.863178 1.185788
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.NVAL.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 0 17 0 0 0 0
+-!entry.NVAL.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "NVAL" 1 19 1 "p" 0
+-!entry.NVAL.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.NVAL.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.NVAL.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+diff --git a/dat/leap/lib/aminopol12.lib b/dat/leap/lib/aminopol12.lib
+deleted file mode 100644
+index ed9039d..0000000
+--- a/dat/leap/lib/aminopol12.lib
++++ /dev/null
+@@ -1,3521 +0,0 @@
+-!!index array str
+- "ALA"
+- "ARG"
+- "ASH"
+- "ASN"
+- "ASP"
+- "CIM"
+- "CIP"
+- "CYM"
+- "CYS"
+- "CYX"
+- "GLH"
+- "GLN"
+- "GLU"
+- "GLY"
+- "HID"
+- "HIE"
+- "HIP"
+- "ILE"
+- "LEU"
+- "LYN"
+- "LYS"
+- "MET"
+- "PHE"
+- "PRO"
+- "SER"
+- "THR"
+- "TRP"
+- "TYR"
+- "VAL"
+-!entry.ALA.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.107660
+- "HA" "H1" 0 1 131072 4 1 0.039730
+- "CB" "CT" 0 1 131072 5 6 -0.131600
+- "HB1" "HC" 0 1 131072 6 1 0.074970
+- "HB2" "HC" 0 1 131072 7 1 0.074970
+- "HB3" "HC" 0 1 131072 8 1 0.074970
+- "C" "C" 0 1 131072 9 6 0.670480
+- "O" "O" 0 1 131072 10 8 -0.583250
+-!entry.ALA.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB1" "HC" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ALA.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ALA.unit.childsequence single int
+- 2
+-!entry.ALA.unit.connect array int
+- 1
+- 9
+-!entry.ALA.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 9 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 9 10 1
+-!entry.ALA.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+-!entry.ALA.unit.name single str
+- "ALA"
+-!entry.ALA.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 3.877484 3.115795 2.131197
+- 4.075059 4.623017 1.205786
+- 2.496995 3.801075 1.241379
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.ALA.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 9 0 0 0 0
+-!entry.ALA.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ALA" 1 11 1 "p" 0
+-!entry.ALA.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ALA.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ALA.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.ARG.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.226630
+- "HA" "H1" 0 1 131072 4 1 0.106720
+- "CB" "CT" 0 1 131072 5 6 0.333990
+- "HB2" "HC" 0 1 131072 6 1 -0.030430
+- "HB3" "HC" 0 1 131072 7 1 -0.030430
+- "CG" "CT" 0 1 131072 8 6 -0.417310
+- "HG2" "HC" 0 1 131072 9 1 0.127030
+- "HG3" "HC" 0 1 131072 10 1 0.127030
+- "CD" "CT" 0 1 131072 11 6 0.599560
+- "HD2" "H1" 0 1 131072 12 1 -0.082670
+- "HD3" "H1" 0 1 131072 13 1 -0.082670
+- "NE" "N2" 0 1 131072 14 7 -0.785780
+- "HE" "H" 0 1 131072 15 1 0.415010
+- "CZ" "CA" 0 1 131072 16 6 1.104320
+- "NH1" "N2" 0 1 131072 17 7 -0.960300
+- "HH11" "H" 0 1 131072 18 1 0.447060
+- "HH12" "H" 0 1 131072 19 1 0.447060
+- "NH2" "N2" 0 1 131072 20 7 -0.960300
+- "HH21" "H" 0 1 131072 21 1 0.447060
+- "HH22" "H" 0 1 131072 22 1 0.447060
+- "C" "C" 0 1 131072 23 6 0.670480
+- "O" "O" 0 1 131072 24 8 -0.583250
+-!entry.ARG.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "H1" 0 -1 0.0
+- "HD3" "H1" 0 -1 0.0
+- "NE" "N2" 0 -1 0.0
+- "HE" "H" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "NH1" "N2" 0 -1 0.0
+- "HH11" "H" 0 -1 0.0
+- "HH12" "H" 0 -1 0.0
+- "NH2" "N2" 0 -1 0.0
+- "HH21" "H" 0 -1 0.0
+- "HH22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ARG.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ARG.unit.childsequence single int
+- 2
+-!entry.ARG.unit.connect array int
+- 1
+- 23
+-!entry.ARG.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 23 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 16 17 1
+- 16 20 1
+- 17 18 1
+- 17 19 1
+- 20 21 1
+- 20 22 1
+- 23 24 1
+-!entry.ARG.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+-!entry.ARG.unit.name single str
+- "ARG"
+-!entry.ARG.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.540320 7.142723 2.424483
+- 5.151805 7.375492 1.655065
+- 4.364284 8.040989 3.389382
+- 3.575026 7.807606 4.434133
+- 3.088949 6.925423 4.508848
+- 3.465367 8.513631 5.147998
+- 5.006254 9.201287 3.286991
+- 5.604855 9.375325 2.492329
+- 4.892216 9.903045 4.004368
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.ARG.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 23 0 0 0 0
+-!entry.ARG.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ARG" 1 25 1 "p" 0
+-!entry.ARG.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ARG.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ARG.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.ASH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 0.002180
+- "HA" "H1" 0 1 131072 4 1 0.013640
+- "CB" "CT" 0 1 131072 5 6 -0.142020
+- "HB2" "HC" 0 1 131072 6 1 0.124360
+- "HB3" "HC" 0 1 131072 7 1 0.124360
+- "CG" "C" 0 1 131072 8 6 0.584300
+- "OD1" "O" 0 1 131072 9 8 -0.548830
+- "OD2" "OH" 0 1 131072 10 8 -0.581530
+- "HD2" "HO" 0 1 131072 11 1 0.448920
+- "C" "C" 0 1 131072 12 6 0.670480
+- "O" "O" 0 1 131072 13 8 -0.583250
+-!entry.ASH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O" 0 -1 0.0
+- "OD2" "OH" 0 -1 0.0
+- "HD2" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ASH.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ASH.unit.childsequence single int
+- 2
+-!entry.ASH.unit.connect array int
+- 1
+- 12
+-!entry.ASH.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 12 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 10 11 1
+- 12 13 1
+-!entry.ASH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+-!entry.ASH.unit.name single str
+- "ASH"
+-!entry.ASH.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.275101 5.011380 1.194527
+- 3.669108 5.954940 0.620011
+- 5.407731 5.091879 1.740667
+- 5.742902 5.987179 1.652920
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.ASH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 12 0 0 0 0
+-!entry.ASH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ASH" 1 14 1 "p" 0
+-!entry.ASH.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ASH.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ASH.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.ASN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.045790
+- "HA" "H1" 0 1 131072 4 1 0.030960
+- "CB" "CT" 0 1 131072 5 6 -0.284870
+- "HB2" "HC" 0 1 131072 6 1 0.150880
+- "HB3" "HC" 0 1 131072 7 1 0.150880
+- "CG" "C" 0 1 131072 8 6 0.619540
+- "OD1" "O" 0 1 131072 9 8 -0.546540
+- "ND2" "N" 0 1 131072 10 7 -0.812900
+- "HD21" "H" 0 1 131072 11 1 0.381610
+- "HD22" "H" 0 1 131072 12 1 0.381610
+- "C" "C" 0 1 131072 13 6 0.670480
+- "O" "O" 0 1 131072 14 8 -0.583250
+-!entry.ASN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O" 0 -1 0.0
+- "ND2" "N" 0 -1 0.0
+- "HD21" "H" 0 -1 0.0
+- "HD22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ASN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ASN.unit.childsequence single int
+- 2
+-!entry.ASN.unit.connect array int
+- 1
+- 13
+-!entry.ASN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 13 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 10 11 1
+- 10 12 1
+- 13 14 1
+-!entry.ASN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+-!entry.ASN.unit.name single str
+- "ASN"
+-!entry.ASN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.253700 5.017112 1.232144
+- 5.005299 5.340406 0.315072
+- 3.984885 5.817909 2.265917
+- 4.408015 6.733702 2.314743
+- 3.359611 5.504297 2.994464
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.ASN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 13 0 0 0 0
+-!entry.ASN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ASN" 1 15 1 "p" 0
+-!entry.ASN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ASN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ASN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.ASP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.155870
+- "HA" "H1" 0 1 131072 4 1 0.001730
+- "CB" "CT" 0 1 131072 5 6 -0.175110
+- "HB2" "HC" 0 1 131072 6 1 0.072670
+- "HB3" "HC" 0 1 131072 7 1 0.072670
+- "CG" "C" 0 1 131072 8 6 0.847270
+- "OD1" "O2" 0 1 131072 9 8 -0.818990
+- "OD2" "O2" 0 1 131072 10 8 -0.818990
+- "C" "C" 0 1 131072 11 6 0.670480
+- "O" "O" 0 1 131072 12 8 -0.583250
+-!entry.ASP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C" 0 -1 0.0
+- "OD1" "O2" 0 -1 0.0
+- "OD2" "O2" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ASP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ASP.unit.childsequence single int
+- 2
+-!entry.ASP.unit.connect array int
+- 1
+- 11
+-!entry.ASP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 11 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 11 12 1
+-!entry.ASP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+-!entry.ASP.unit.name single str
+- "ASP"
+-!entry.ASP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.275101 5.011380 1.194527
+- 3.669108 5.954940 0.620011
+- 5.407731 5.091879 1.740667
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.ASP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 11 0 0 0 0
+-!entry.ASP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ASP" 1 13 1 "p" 0
+-!entry.ASP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ASP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ASP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CIM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "CL-" "IM" 0 1 131072 1 -1 -1.000000
+-!entry.CIM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "CL-" "IM" 0 -1 0.0
+-!entry.CIM.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CIM.unit.childsequence single int
+- 2
+-!entry.CIM.unit.connect array int
+- 1
+- 1
+-!entry.CIM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+-!entry.CIM.unit.name single str
+- "CIM"
+-!entry.CIM.unit.positions table  dbl x  dbl y  dbl z
+- 2.000001 1.000000 -1.346410E-06
+-!entry.CIM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 1 0 0 0 0
+-!entry.CIM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CIM" 1 2 1 "?" 0
+-!entry.CIM.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CIM.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CIM.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+-!entry.CIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "NA+" "IP" 0 1 131072 1 -1 1.000000
+-!entry.CIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "NA+" "IP" 0 -1 0.0
+-!entry.CIP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CIP.unit.childsequence single int
+- 2
+-!entry.CIP.unit.connect array int
+- 1
+- 1
+-!entry.CIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+-!entry.CIP.unit.name single str
+- "CIP"
+-!entry.CIP.unit.positions table  dbl x  dbl y  dbl z
+- 2.000001 1.000000 -1.346410E-06
+-!entry.CIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 1 0 0 0 0
+-!entry.CIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CIP" 1 2 1 "?" 0
+-!entry.CIP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CIP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CIP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+-!entry.CYM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "HN" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.218730
+- "HA" "H1" 0 1 131072 4 1 0.077600
+- "CB" "CT" 0 1 131072 5 6 0.224400
+- "HB3" "H1" 0 1 131072 6 1 -0.057150
+- "HB2" "H1" 0 1 131072 7 1 -0.057150
+- "SG" "SH" 0 1 131072 8 16 -0.943590
+- "C" "C" 0 1 131072 9 6 0.670480
+- "O" "O" 0 1 131072 10 8 -0.583250
+-!entry.CYM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "HN" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "SG" "SH" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.CYM.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CYM.unit.childsequence single int
+- 2
+-!entry.CYM.unit.connect array int
+- 1
+- 9
+-!entry.CYM.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 9 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 9 10 1
+-!entry.CYM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+-!entry.CYM.unit.name single str
+- "CYM"
+-!entry.CYM.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 3.877484 3.115795 2.131197
+- 2.496995 3.801075 1.241379
+- 4.309573 5.303523 1.366036
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.CYM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 9 0 0 0 0
+-!entry.CYM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CYM" 1 11 1 "p" 0
+-!entry.CYM.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CYM.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CYM.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.038240
+- "HA" "H1" 0 1 131072 4 1 0.042360
+- "CB" "CT" 0 1 131072 5 6 0.012160
+- "HB2" "H1" 0 1 131072 6 1 0.051450
+- "HB3" "H1" 0 1 131072 7 1 0.051450
+- "SG" "SH" 0 1 131072 8 16 -0.245770
+- "HG" "HS" 0 1 131072 9 1 0.151970
+- "C" "C" 0 1 131072 10 6 0.670480
+- "O" "O" 0 1 131072 11 8 -0.583250
+-!entry.CYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "SH" 0 -1 0.0
+- "HG" "HS" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.CYS.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CYS.unit.childsequence single int
+- 2
+-!entry.CYS.unit.connect array int
+- 1
+- 10
+-!entry.CYS.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 10 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 10 11 1
+-!entry.CYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+-!entry.CYS.unit.name single str
+- "CYS"
+-!entry.CYS.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 3.725392 5.622018 2.517640
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.CYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 10 0 0 0 0
+-!entry.CYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CYS" 1 12 1 "p" 0
+-!entry.CYS.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CYS.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CYS.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.CYX.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.036230
+- "HA" "H1" 0 1 131072 4 1 0.016940
+- "CB" "CT" 0 1 131072 5 6 -0.039530
+- "HB2" "H1" 0 1 131072 6 1 0.081010
+- "HB3" "H1" 0 1 131072 7 1 0.081010
+- "SG" "S" 0 1 131072 8 16 -0.077820
+- "C" "C" 0 1 131072 9 6 0.670480
+- "O" "O" 0 1 131072 10 8 -0.583250
+-!entry.CYX.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "SG" "S" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.CYX.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CYX.unit.childsequence single int
+- 2
+-!entry.CYX.unit.connect array int
+- 1
+- 9
+-!entry.CYX.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 9 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 9 10 1
+-!entry.CYX.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+-!entry.CYX.unit.name single str
+- "CYX"
+-!entry.CYX.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.309573 5.303523 1.366036
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.CYX.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 9 8 0 0 0
+-!entry.CYX.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "CYX" 1 11 1 "p" 0
+-!entry.CYX.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.CYX.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.CYX.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.GLH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.137720
+- "HA" "H1" 0 1 131072 4 1 0.067770
+- "CB" "CT" 0 1 131072 5 6 0.139840
+- "HB2" "HC" 0 1 131072 6 1 0.014650
+- "HB3" "HC" 0 1 131072 7 1 0.014650
+- "CG" "CT" 0 1 131072 8 6 -0.360940
+- "HG2" "HC" 0 1 131072 9 1 0.184800
+- "HG3" "HC" 0 1 131072 10 1 0.184800
+- "CD" "C" 0 1 131072 11 6 0.639100
+- "OE1" "O" 0 1 131072 12 8 -0.571870
+- "OE2" "OH" 0 1 131072 13 8 -0.605840
+- "HE2" "HO" 0 1 131072 14 1 0.456140
+- "C" "C" 0 1 131072 15 6 0.670480
+- "O" "O" 0 1 131072 16 8 -0.583250
+-!entry.GLH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O" 0 -1 0.0
+- "OE2" "OH" 0 -1 0.0
+- "HE2" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.GLH.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLH.unit.childsequence single int
+- 2
+-!entry.GLH.unit.connect array int
+- 1
+- 15
+-!entry.GLH.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 15 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 15 16 1
+-!entry.GLH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+-!entry.GLH.unit.name single str
+- "GLH"
+-!entry.GLH.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 5.347413 4.849843 1.186158
+- 3.966923 5.535124 0.296342
+- 3.873732 5.805369 2.428706
+- 4.594590 5.679012 3.454376
+- 2.855965 6.542070 2.333721
+- 2.710526 6.996624 3.166684
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.GLH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 15 0 0 0 0
+-!entry.GLH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "GLH" 1 17 1 "p" 0
+-!entry.GLH.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.GLH.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLH.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.GLN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.239260
+- "HA" "H1" 0 1 131072 4 1 0.070250
+- "CB" "CT" 0 1 131072 5 6 0.515970
+- "HB2" "HC" 0 1 131072 6 1 -0.085650
+- "HB3" "HC" 0 1 131072 7 1 -0.085650
+- "CG" "CT" 0 1 131072 8 6 -0.728430
+- "HG2" "HC" 0 1 131072 9 1 0.258090
+- "HG3" "HC" 0 1 131072 10 1 0.258090
+- "CD" "C" 0 1 131072 11 6 0.823540
+- "OE1" "O" 0 1 131072 12 8 -0.668550
+- "NE2" "N" 0 1 131072 13 7 -0.858360
+- "HE21" "H" 0 1 131072 14 1 0.382670
+- "HE22" "H" 0 1 131072 15 1 0.382670
+- "C" "C" 0 1 131072 16 6 0.670480
+- "O" "O" 0 1 131072 17 8 -0.583250
+-!entry.GLN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O" 0 -1 0.0
+- "NE2" "N" 0 -1 0.0
+- "HE21" "H" 0 -1 0.0
+- "HE22" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.GLN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLN.unit.childsequence single int
+- 2
+-!entry.GLN.unit.connect array int
+- 1
+- 16
+-!entry.GLN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 16 17 1
+-!entry.GLN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.GLN.unit.name single str
+- "GLN"
+-!entry.GLN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.906976 5.848443 2.410302
+- 3.138962 5.408349 3.262893
+- 4.458856 7.061523 2.488333
+- 4.248434 7.659045 3.274966
+- 5.084281 7.376210 1.760379
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.GLN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 16 0 0 0 0
+-!entry.GLN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "GLN" 1 18 1 "p" 0
+-!entry.GLN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.GLN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.GLU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.348150
+- "HA" "H1" 0 1 131072 4 1 0.126380
+- "CB" "CT" 0 1 131072 5 6 0.696480
+- "HB2" "HC" 0 1 131072 6 1 -0.186180
+- "HB3" "HC" 0 1 131072 7 1 -0.186180
+- "CG" "CT" 0 1 131072 8 6 -0.662250
+- "HG2" "HC" 0 1 131072 9 1 0.193310
+- "HG3" "HC" 0 1 131072 10 1 0.193310
+- "CD" "C" 0 1 131072 11 6 0.804540
+- "OE1" "O2" 0 1 131072 12 8 -0.802940
+- "OE2" "O2" 0 1 131072 13 8 -0.802940
+- "C" "C" 0 1 131072 14 6 0.670480
+- "O" "O" 0 1 131072 15 8 -0.583250
+-!entry.GLU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "C" 0 -1 0.0
+- "OE1" "O2" 0 -1 0.0
+- "OE2" "O2" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.GLU.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLU.unit.childsequence single int
+- 2
+-!entry.GLU.unit.connect array int
+- 1
+- 14
+-!entry.GLU.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 14 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 14 15 1
+-!entry.GLU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+-!entry.GLU.unit.name single str
+- "GLU"
+-!entry.GLU.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 5.347413 4.849843 1.186158
+- 3.966923 5.535124 0.296342
+- 3.873732 5.805369 2.428706
+- 4.594590 5.679012 3.454376
+- 2.855965 6.542070 2.333721
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.GLU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 14 0 0 0 0
+-!entry.GLU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "GLU" 1 16 1 "p" 0
+-!entry.GLU.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.GLU.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLU.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.GLY.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.277560
+- "HA2" "H0" 0 1 131072 4 -1 0.151470
+- "HA3" "H0" 0 1 131072 5 -1 0.151470
+- "C" "C" 0 1 131072 6 6 0.670480
+- "O" "O" 0 1 131072 7 8 -0.583250
+-!entry.GLY.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA2" "H0" 0 -1 0.0
+- "HA3" "H0" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.GLY.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLY.unit.childsequence single int
+- 2
+-!entry.GLY.unit.connect array int
+- 1
+- 6
+-!entry.GLY.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 6 1
+- 6 7 1
+-!entry.GLY.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+-!entry.GLY.unit.name single str
+- "GLY"
+-!entry.GLY.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.671668 3.400125 0.889824
+- 5.483710 2.686702 -4.438857E-06
+- 5.993369 1.568360 -8.469843E-06
+-!entry.GLY.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 6 0 0 0 0
+-!entry.GLY.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "GLY" 1 8 1 "p" 0
+-!entry.GLY.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.GLY.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.GLY.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.HID.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.046110
+- "HA" "H1" 0 1 131072 4 1 -0.008910
+- "CB" "CT" 0 1 131072 5 6 -0.213070
+- "HB2" "HC" 0 1 131072 6 1 0.111650
+- "HB3" "HC" 0 1 131072 7 1 0.111650
+- "CG" "CC" 0 1 131072 8 6 0.275120
+- "ND1" "NA" 0 1 131072 9 7 -0.364930
+- "HD1" "H" 0 1 131072 10 1 0.352330
+- "CE1" "CR" 0 1 131072 11 6 0.226080
+- "HE1" "H5" 0 1 131072 12 1 0.060700
+- "NE2" "NB" 0 1 131072 13 7 -0.504470
+- "CD2" "CV" 0 1 131072 14 6 -0.070100
+- "HD2" "H4" 0 1 131072 15 1 0.095440
+- "C" "C" 0 1 131072 16 6 0.670480
+- "O" "O" 0 1 131072 17 8 -0.583250
+-!entry.HID.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NA" 0 -1 0.0
+- "HD1" "H" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NB" 0 -1 0.0
+- "CD2" "CV" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.HID.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.HID.unit.childsequence single int
+- 2
+-!entry.HID.unit.connect array int
+- 1
+- 16
+-!entry.HID.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 14 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 14 15 1
+- 16 17 1
+-!entry.HID.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.HID.unit.name single str
+- "HID"
+-!entry.HID.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 3.339725 5.691913 3.169805
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.HID.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 16 0 0 0 0
+-!entry.HID.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "HID" 1 18 1 "p" 0
+-!entry.HID.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.HID.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.HID.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.HIE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.125440
+- "HA" "H1" 0 1 131072 4 1 0.030840
+- "CB" "CT" 0 1 131072 5 6 -0.214440
+- "HB2" "HC" 0 1 131072 6 1 0.140600
+- "HB3" "HC" 0 1 131072 7 1 0.140600
+- "CG" "CC" 0 1 131072 8 6 0.385250
+- "ND1" "NB" 0 1 131072 9 7 -0.681670
+- "CE1" "CR" 0 1 131072 10 6 0.349170
+- "HE1" "H5" 0 1 131072 11 1 0.030760
+- "NE2" "NA" 0 1 131072 12 7 -0.327570
+- "HE2" "H" 0 1 131072 13 1 0.341080
+- "CD2" "CW" 0 1 131072 14 6 -0.206690
+- "HD2" "H4" 0 1 131072 15 1 0.162890
+- "C" "C" 0 1 131072 16 6 0.670480
+- "O" "O" 0 1 131072 17 8 -0.583250
+-!entry.HIE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NB" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NA" 0 -1 0.0
+- "HE2" "H" 0 -1 0.0
+- "CD2" "CW" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.HIE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.HIE.unit.childsequence single int
+- 2
+-!entry.HIE.unit.connect array int
+- 1
+- 16
+-!entry.HIE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 14 1
+- 9 10 1
+- 10 11 1
+- 10 12 1
+- 12 13 1
+- 12 14 1
+- 14 15 1
+- 16 17 1
+-!entry.HIE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.HIE.unit.name single str
+- "HIE"
+-!entry.HIE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.896297 7.605085 0.676854
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.HIE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 16 0 0 0 0
+-!entry.HIE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "HIE" 1 18 1 "p" 0
+-!entry.HIE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.HIE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.HIE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.HIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 0.017840
+- "HA" "H1" 0 1 131072 4 1 -0.000340
+- "CB" "CT" 0 1 131072 5 6 -0.074410
+- "HB2" "HC" 0 1 131072 6 1 0.084140
+- "HB3" "HC" 0 1 131072 7 1 0.084140
+- "CG" "CC" 0 1 131072 8 6 0.259530
+- "ND1" "NA" 0 1 131072 9 7 -0.134860
+- "HD1" "H" 0 1 131072 10 1 0.376730
+- "CE1" "CR" 0 1 131072 11 6 -0.086920
+- "HE1" "H5" 0 1 131072 12 1 0.197160
+- "NE2" "NA" 0 1 131072 13 7 0.089780
+- "HE2" "H" 0 1 131072 14 1 0.285300
+- "CD2" "CW" 0 1 131072 15 6 -0.259230
+- "HD2" "H4" 0 1 131072 16 1 0.186520
+- "C" "C" 0 1 131072 17 6 0.670480
+- "O" "O" 0 1 131072 18 8 -0.583250
+-!entry.HIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CC" 0 -1 0.0
+- "ND1" "NA" 0 -1 0.0
+- "HD1" "H" 0 -1 0.0
+- "CE1" "CR" 0 -1 0.0
+- "HE1" "H5" 0 -1 0.0
+- "NE2" "NA" 0 -1 0.0
+- "HE2" "H" 0 -1 0.0
+- "CD2" "CW" 0 -1 0.0
+- "HD2" "H4" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.HIP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.HIP.unit.childsequence single int
+- 2
+-!entry.HIP.unit.connect array int
+- 1
+- 17
+-!entry.HIP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 17 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 15 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 17 18 1
+-!entry.HIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+-!entry.HIP.unit.name single str
+- "HIP"
+-!entry.HIP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.942782 5.885086 2.382972
+- 3.339725 5.691913 3.169805
+- 4.624274 6.997642 2.182500
+- 4.563048 7.811875 2.904563
+- 5.294011 6.891451 1.061663
+- 5.896297 7.605085 0.676854
+- 5.058974 5.678868 0.492453
+- 5.537741 5.417846 -0.451343
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.HIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 17 0 0 0 0
+-!entry.HIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "HIP" 1 19 1 "p" 0
+-!entry.HIP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.HIP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.HIP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.ILE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.319670
+- "HA" "H1" 0 1 131072 4 1 0.149580
+- "CB" "CT" 0 1 131072 5 6 0.330640
+- "HB" "HC" 0 1 131072 6 1 -0.064360
+- "CG2" "CT" 0 1 131072 7 6 -0.412720
+- "HG21" "HC" 0 1 131072 8 1 0.117730
+- "HG22" "HC" 0 1 131072 9 1 0.117730
+- "HG23" "HC" 0 1 131072 10 1 0.117730
+- "CG1" "CT" 0 1 131072 11 6 -0.127860
+- "HG12" "HC" 0 1 131072 12 1 0.051810
+- "HG13" "HC" 0 1 131072 13 1 0.051810
+- "CD1" "CT" 0 1 131072 14 6 -0.024360
+- "HD11" "HC" 0 1 131072 15 1 0.012440
+- "HD12" "HC" 0 1 131072 16 1 0.012440
+- "HD13" "HC" 0 1 131072 17 1 0.012440
+- "C" "C" 0 1 131072 18 6 0.670480
+- "O" "O" 0 1 131072 19 8 -0.583250
+-!entry.ILE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "HC" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "CG1" "CT" 0 -1 0.0
+- "HG12" "HC" 0 -1 0.0
+- "HG13" "HC" 0 -1 0.0
+- "CD1" "CT" 0 -1 0.0
+- "HD11" "HC" 0 -1 0.0
+- "HD12" "HC" 0 -1 0.0
+- "HD13" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.ILE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ILE.unit.childsequence single int
+- 2
+-!entry.ILE.unit.connect array int
+- 1
+- 18
+-!entry.ILE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 18 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 18 19 1
+-!entry.ILE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.ILE.unit.name single str
+- "ILE"
+-!entry.ILE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.552136 3.620733 1.245168
+- 2.470128 3.752486 1.245640
+- 3.970045 2.845728 2.490296
+- 5.052053 2.713974 2.490763
+- 3.671561 3.399208 3.380615
+- 3.485650 1.869275 2.490737
+- 4.230204 4.986694 1.245169
+- 5.312310 4.855746 1.245164
+- 3.931820 5.541027 0.355348
+- 3.812294 5.761632 2.490339
+- 4.110777 5.208104 3.380628
+- 4.296689 6.738085 2.490833
+- 2.730286 5.893383 2.490813
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.ILE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 18 0 0 0 0
+-!entry.ILE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "ILE" 1 20 1 "p" 0
+-!entry.ILE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.ILE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.ILE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.LEU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.116580
+- "HA" "H1" 0 1 131072 4 1 0.026810
+- "CB" "CT" 0 1 131072 5 6 -0.227760
+- "HB2" "HC" 0 1 131072 6 1 0.095470
+- "HB3" "HC" 0 1 131072 7 1 0.095470
+- "CG" "CT" 0 1 131072 8 6 0.606550
+- "HG" "HC" 0 1 131072 9 1 -0.114060
+- "CD1" "CT" 0 1 131072 10 6 -0.794260
+- "HD11" "HC" 0 1 131072 11 1 0.208000
+- "HD12" "HC" 0 1 131072 12 1 0.208000
+- "HD13" "HC" 0 1 131072 13 1 0.208000
+- "CD2" "CT" 0 1 131072 14 6 -0.794260
+- "HD21" "HC" 0 1 131072 15 1 0.208000
+- "HD22" "HC" 0 1 131072 16 1 0.208000
+- "HD23" "HC" 0 1 131072 17 1 0.208000
+- "C" "C" 0 1 131072 18 6 0.670480
+- "O" "O" 0 1 131072 19 8 -0.583250
+-!entry.LEU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG" "HC" 0 -1 0.0
+- "CD1" "CT" 0 -1 0.0
+- "HD11" "HC" 0 -1 0.0
+- "HD12" "HC" 0 -1 0.0
+- "HD13" "HC" 0 -1 0.0
+- "CD2" "CT" 0 -1 0.0
+- "HD21" "HC" 0 -1 0.0
+- "HD22" "HC" 0 -1 0.0
+- "HD23" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.LEU.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.LEU.unit.childsequence single int
+- 2
+-!entry.LEU.unit.connect array int
+- 1
+- 18
+-!entry.LEU.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 18 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 14 1
+- 10 11 1
+- 10 12 1
+- 10 13 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 18 19 1
+-!entry.LEU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+-!entry.LEU.unit.name single str
+- "LEU"
+-!entry.LEU.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.853429 5.762895 -0.062857
+- 2.773449 5.910113 -0.054557
+- 4.351513 6.732052 -0.090203
+- 4.134159 5.185704 -0.943846
+- 3.881105 5.817645 2.426721
+- 4.181626 5.279602 3.325774
+- 4.379198 6.786825 2.400363
+- 2.801135 5.964881 2.435959
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.LEU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 18 0 0 0 0
+-!entry.LEU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "LEU" 1 20 1 "p" 0
+-!entry.LEU.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.LEU.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.LEU.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.LYN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.181890
+- "HA" "H1" 0 1 131072 4 1 0.074160
+- "CB" "CT" 0 1 131072 5 6 0.078320
+- "HB2" "HC" 0 1 131072 6 1 -0.000500
+- "HB3" "HC" 0 1 131072 7 1 -0.000500
+- "CG" "CT" 0 1 131072 8 6 0.004490
+- "HG2" "HC" 0 1 131072 9 1 0.023890
+- "HG3" "HC" 0 1 131072 10 1 0.023890
+- "CD" "CT" 0 1 131072 11 6 -0.277170
+- "HD2" "HC" 0 1 131072 12 1 0.112690
+- "HD3" "HC" 0 1 131072 13 1 0.112690
+- "CE" "CT" 0 1 131072 14 6 0.554010
+- "HE2" "H1" 0 1 131072 15 1 -0.114200
+- "HE3" "H1" 0 1 131072 16 1 -0.114200
+- "NZ" "NT" 0 1 131072 17 7 -0.979220
+- "HZ2" "H" 0 1 131072 18 1 0.354460
+- "HZ3" "H" 0 1 131072 19 1 0.354460
+- "C" "C" 0 1 131072 20 6 0.670480
+- "O" "O" 0 1 131072 21 8 -0.583250
+-!entry.LYN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HC" 0 -1 0.0
+- "HD3" "HC" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE2" "H1" 0 -1 0.0
+- "HE3" "H1" 0 -1 0.0
+- "NZ" "NT" 0 -1 0.0
+- "HZ2" "H" 0 -1 0.0
+- "HZ3" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.LYN.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.LYN.unit.childsequence single int
+- 2
+-!entry.LYN.unit.connect array int
+- 1
+- 20
+-!entry.LYN.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 20 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 17 18 1
+- 17 19 1
+- 20 21 1
+-!entry.LYN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+-!entry.LYN.unit.name single str
+- "LYN"
+-!entry.LYN.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.578325 7.173410 2.389153
+- 5.658410 7.026987 2.380363
+- 4.277917 7.712267 1.490550
+- 4.199422 7.952309 3.576860
+- 4.661186 8.850226 3.551979
+- 3.198675 8.088466 3.584971
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.LYN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 20 0 0 0 0
+-!entry.LYN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "LYN" 1 22 1 "p" 0
+-!entry.LYN.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.LYN.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.LYN.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.LYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.181230
+- "HA" "H1" 0 1 131072 4 1 0.099160
+- "CB" "CT" 0 1 131072 5 6 0.004110
+- "HB2" "HC" 0 1 131072 6 1 0.027580
+- "HB3" "HC" 0 1 131072 7 1 0.027580
+- "CG" "CT" 0 1 131072 8 6 -0.053270
+- "HG2" "HC" 0 1 131072 9 1 0.053050
+- "HG3" "HC" 0 1 131072 10 1 0.053050
+- "CD" "CT" 0 1 131072 11 6 -0.201370
+- "HD2" "HC" 0 1 131072 12 1 0.095630
+- "HD3" "HC" 0 1 131072 13 1 0.095630
+- "CE" "CT" 0 1 131072 14 6 0.465480
+- "HE2" "HP" 0 1 131072 15 1 -0.049170
+- "HE3" "HP" 0 1 131072 16 1 -0.049170
+- "NZ" "N3" 0 1 131072 17 7 -0.366380
+- "HZ1" "H" 0 1 131072 18 1 0.334900
+- "HZ2" "H" 0 1 131072 19 1 0.334900
+- "HZ3" "H" 0 1 131072 20 1 0.334900
+- "C" "C" 0 1 131072 21 6 0.670480
+- "O" "O" 0 1 131072 22 8 -0.583250
+-!entry.LYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "HC" 0 -1 0.0
+- "HD3" "HC" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE2" "HP" 0 -1 0.0
+- "HE3" "HP" 0 -1 0.0
+- "NZ" "N3" 0 -1 0.0
+- "HZ1" "H" 0 -1 0.0
+- "HZ2" "H" 0 -1 0.0
+- "HZ3" "H" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.LYS.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.LYS.unit.childsequence single int
+- 2
+-!entry.LYS.unit.connect array int
+- 1
+- 21
+-!entry.LYS.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 21 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 14 15 1
+- 14 16 1
+- 14 17 1
+- 17 18 1
+- 17 19 1
+- 17 20 1
+- 21 22 1
+-!entry.LYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+-!entry.LYS.unit.name single str
+- "LYS"
+-!entry.LYS.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.881105 5.817645 2.426721
+- 2.801135 5.964881 2.435959
+- 4.181626 5.279602 3.325774
+- 4.578325 7.173410 2.389153
+- 5.658410 7.026987 2.380363
+- 4.277917 7.712267 1.490550
+- 4.199422 7.952309 3.576860
+- 4.478085 7.453366 4.409628
+- 4.661186 8.850226 3.551979
+- 3.198675 8.088466 3.584971
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.LYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 21 0 0 0 0
+-!entry.LYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "LYS" 1 23 1 "p" 0
+-!entry.LYS.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.LYS.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.LYS.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.MET.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.152290
+- "HA" "H1" 0 1 131072 4 1 0.080630
+- "CB" "CT" 0 1 131072 5 6 0.271900
+- "HB2" "HC" 0 1 131072 6 1 -0.049340
+- "HB3" "HC" 0 1 131072 7 1 -0.049340
+- "CG" "CT" 0 1 131072 8 6 -0.289240
+- "HG2" "H1" 0 1 131072 9 1 0.138580
+- "HG3" "H1" 0 1 131072 10 1 0.138580
+- "SD" "S" 0 1 131072 11 16 -0.127450
+- "CE" "CT" 0 1 131072 12 6 -0.275560
+- "HE1" "H1" 0 1 131072 13 1 0.112970
+- "HE2" "H1" 0 1 131072 14 1 0.112970
+- "HE3" "H1" 0 1 131072 15 1 0.112970
+- "C" "C" 0 1 131072 16 6 0.670480
+- "O" "O" 0 1 131072 17 8 -0.583250
+-!entry.MET.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "H1" 0 -1 0.0
+- "HG3" "H1" 0 -1 0.0
+- "SD" "S" 0 -1 0.0
+- "CE" "CT" 0 -1 0.0
+- "HE1" "H1" 0 -1 0.0
+- "HE2" "H1" 0 -1 0.0
+- "HE3" "H1" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.MET.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.MET.unit.childsequence single int
+- 2
+-!entry.MET.unit.connect array int
+- 1
+- 16
+-!entry.MET.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 16 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 12 13 1
+- 12 14 1
+- 12 15 1
+- 16 17 1
+-!entry.MET.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+-!entry.MET.unit.name single str
+- "MET"
+-!entry.MET.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.274186 5.009602 1.194577
+- 5.354271 4.863178 1.185788
+- 3.973781 5.548460 0.295972
+- 3.817309 5.981266 2.651708
+- 4.753212 7.463128 2.340949
+- 4.433582 7.904044 1.396741
+- 4.585907 8.175299 3.148985
+- 5.814074 7.218763 2.286554
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.MET.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 16 0 0 0 0
+-!entry.MET.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "MET" 1 18 1 "p" 0
+-!entry.MET.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.MET.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.MET.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.PHE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.097530
+- "HA" "H1" 0 1 131072 4 1 0.021040
+- "CB" "CT" 0 1 131072 5 6 -0.127300
+- "HB2" "HC" 0 1 131072 6 1 0.103640
+- "HB3" "HC" 0 1 131072 7 1 0.103640
+- "CG" "CA" 0 1 131072 8 6 0.128890
+- "CD1" "CA" 0 1 131072 9 6 -0.194310
+- "HD1" "HA" 0 1 131072 10 1 0.141910
+- "CE1" "CA" 0 1 131072 11 6 -0.098170
+- "HE1" "HA" 0 1 131072 12 1 0.108820
+- "CZ" "CA" 0 1 131072 13 6 -0.112640
+- "HZ" "HA" 0 1 131072 14 1 0.089140
+- "CE2" "CA" 0 1 131072 15 6 -0.098170
+- "HE2" "HA" 0 1 131072 16 1 0.108820
+- "CD2" "CA" 0 1 131072 17 6 -0.194310
+- "HD2" "HA" 0 1 131072 18 1 0.141910
+- "C" "C" 0 1 131072 19 6 0.670480
+- "O" "O" 0 1 131072 20 8 -0.583250
+-!entry.PHE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CA" 0 -1 0.0
+- "CD1" "CA" 0 -1 0.0
+- "HD1" "HA" 0 -1 0.0
+- "CE1" "CA" 0 -1 0.0
+- "HE1" "HA" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "HZ" "HA" 0 -1 0.0
+- "CE2" "CA" 0 -1 0.0
+- "HE2" "HA" 0 -1 0.0
+- "CD2" "CA" 0 -1 0.0
+- "HD2" "HA" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.PHE.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.PHE.unit.childsequence single int
+- 2
+-!entry.PHE.unit.connect array int
+- 1
+- 19
+-!entry.PHE.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 19 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 17 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 15 1
+- 15 16 1
+- 15 17 1
+- 17 18 1
+- 19 20 1
+-!entry.PHE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+-!entry.PHE.unit.name single str
+- "PHE"
+-!entry.PHE.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 3.911613 5.857250 2.409890
+- 3.236123 5.513843 3.193398
+- 4.490014 7.129513 2.492354
+- 4.264853 7.776651 3.340066
+- 5.357616 7.570591 1.486016
+- 5.807943 8.561138 1.550220
+- 5.646818 6.739407 0.397211
+- 6.322309 7.082817 -0.386295
+- 5.068419 5.467143 0.314744
+- 5.293584 4.820007 -0.532968
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.PHE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 19 0 0 0 0
+-!entry.PHE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "PHE" 1 21 1 "p" 0
+-!entry.PHE.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.PHE.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.PHE.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.PRO.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.259820
+- "CD" "CT" 0 1 131072 2 6 0.070890
+- "HD2" "H1" 0 1 131072 3 1 0.019250
+- "HD3" "H1" 0 1 131072 4 1 0.019260
+- "CG" "CT" 0 1 131072 5 6 0.067960
+- "HG2" "HC" 0 1 131072 6 1 0.009600
+- "HG3" "HC" 0 1 131072 7 1 0.009600
+- "CB" "CT" 0 1 131072 8 6 0.038490
+- "HB2" "HC" 0 1 131072 9 1 0.020120
+- "HB3" "HC" 0 1 131072 10 1 0.020120
+- "CA" "CT" 0 1 131072 11 6 -0.194650
+- "HA" "H1" 0 1 131072 12 1 0.091950
+- "C" "C" 0 1 131072 13 6 0.670480
+- "O" "O" 0 1 131072 14 8 -0.583250
+-!entry.PRO.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "CD" "CT" 0 -1 0.0
+- "HD2" "H1" 0 -1 0.0
+- "HD3" "H1" 0 -1 0.0
+- "CG" "CT" 0 -1 0.0
+- "HG2" "HC" 0 -1 0.0
+- "HG3" "HC" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.PRO.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.PRO.unit.childsequence single int
+- 2
+-!entry.PRO.unit.connect array int
+- 1
+- 13
+-!entry.PRO.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 11 1
+- 2 3 1
+- 2 4 1
+- 2 5 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 10 1
+- 8 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+-!entry.PRO.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+-!entry.PRO.unit.name single str
+- "PRO"
+-!entry.PRO.unit.positions table  dbl x  dbl y  dbl z
+- 3.326834 1.557389 -1.603945E-06
+- 4.302147 0.476598 0.080119
+- 4.419998 0.019283 -0.902263
+- 3.955888 -0.274040 0.790574
+- 5.547126 1.172441 0.544693
+- 6.413549 0.741636 0.042879
+- 5.652950 1.047934 1.622376
+- 5.369091 2.628184 0.185227
+- 5.969289 2.861861 -0.694123
+- 5.690642 3.251038 1.019947
+- 3.933610 2.871277 -0.104508
+- 3.611470 3.488570 0.734106
+- 3.505164 3.526392 -1.409783
+- 2.754240 2.939065 -2.185412
+-!entry.PRO.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 13 0 0 0 0
+-!entry.PRO.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "PRO" 1 15 1 "p" 0
+-!entry.PRO.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.PRO.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.PRO.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.SER.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.066190
+- "HA" "H1" 0 1 131072 4 1 0.078820
+- "CB" "CT" 0 1 131072 5 6 0.185370
+- "HB2" "H1" 0 1 131072 6 1 0.025410
+- "HB3" "H1" 0 1 131072 7 1 0.025410
+- "OG" "OH" 0 1 131072 8 8 -0.602470
+- "HG" "HO" 0 1 131072 9 1 0.379030
+- "C" "C" 0 1 131072 10 6 0.670480
+- "O" "O" 0 1 131072 11 8 -0.583250
+-!entry.SER.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "H1" 0 -1 0.0
+- "HB3" "H1" 0 -1 0.0
+- "OG" "OH" 0 -1 0.0
+- "HG" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.SER.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.SER.unit.childsequence single int
+- 2
+-!entry.SER.unit.connect array int
+- 1
+- 10
+-!entry.SER.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 10 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 10 11 1
+-!entry.SER.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+-!entry.SER.unit.name single str
+- "SER"
+-!entry.SER.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.230753 4.925145 1.196917
+- 3.983305 5.433814 1.972562
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.SER.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 10 0 0 0 0
+-!entry.SER.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "SER" 1 12 1 "p" 0
+-!entry.SER.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.SER.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.SER.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.THR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.022270
+- "HA" "H1" 0 1 131072 4 1 0.053100
+- "CB" "CT" 0 1 131072 5 6 0.522850
+- "HB" "H1" 0 1 131072 6 1 -0.139050
+- "CG2" "CT" 0 1 131072 7 6 -0.588650
+- "HG21" "HC" 0 1 131072 8 1 0.162040
+- "HG22" "HC" 0 1 131072 9 1 0.162040
+- "HG23" "HC" 0 1 131072 10 1 0.162040
+- "OG1" "OH" 0 1 131072 11 8 -0.739400
+- "HG1" "HO" 0 1 131072 12 1 0.452680
+- "C" "C" 0 1 131072 13 6 0.670480
+- "O" "O" 0 1 131072 14 8 -0.583250
+-!entry.THR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "H1" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "OG1" "OH" 0 -1 0.0
+- "HG1" "HO" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.THR.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.THR.unit.childsequence single int
+- 2
+-!entry.THR.unit.connect array int
+- 1
+- 13
+-!entry.THR.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 13 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+- 13 14 1
+-!entry.THR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+-!entry.THR.unit.name single str
+- "THR"
+-!entry.THR.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 4.075059 4.623017 1.205786
+- 2.065936 3.859425 1.244383
+- 1.567127 2.890627 1.271209
+- 1.784431 4.436953 2.124903
+- 1.764699 4.397847 0.345796
+- 3.971501 2.947413 2.411212
+- 3.724052 3.456082 3.186857
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.THR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 13 0 0 0 0
+-!entry.THR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "THR" 1 15 1 "p" 0
+-!entry.THR.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.THR.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.THR.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.TRP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.094050
+- "HA" "H1" 0 1 131072 4 1 0.058350
+- "CB" "CT" 0 1 131072 5 6 0.034010
+- "HB2" "HC" 0 1 131072 6 1 0.031520
+- "HB3" "HC" 0 1 131072 7 1 0.031520
+- "CG" "C*" 0 1 131072 8 6 -0.279060
+- "CD1" "CW" 0 1 131072 9 6 0.030520
+- "HD1" "H4" 0 1 131072 10 1 0.136990
+- "NE1" "NA" 0 1 131072 11 7 -0.483180
+- "HE1" "H" 0 1 131072 12 1 0.393090
+- "CE2" "CN" 0 1 131072 13 6 0.203200
+- "CZ2" "CA" 0 1 131072 14 6 -0.272110
+- "HZ2" "HA" 0 1 131072 15 1 0.185390
+- "CH2" "CA" 0 1 131072 16 6 -0.171160
+- "HH2" "HA" 0 1 131072 17 1 0.105360
+- "CZ3" "CA" 0 1 131072 18 6 -0.058970
+- "HZ3" "HA" 0 1 131072 19 1 0.088920
+- "CE3" "CA" 0 1 131072 20 6 -0.403270
+- "HE3" "HA" 0 1 131072 21 1 0.216660
+- "CD2" "CB" 0 1 131072 22 6 0.271650
+- "C" "C" 0 1 131072 23 6 0.670480
+- "O" "O" 0 1 131072 24 8 -0.583250
+-!entry.TRP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "C*" 0 -1 0.0
+- "CD1" "CW" 0 -1 0.0
+- "HD1" "H4" 0 -1 0.0
+- "NE1" "NA" 0 -1 0.0
+- "HE1" "H" 0 -1 0.0
+- "CE2" "CN" 0 -1 0.0
+- "CZ2" "CA" 0 -1 0.0
+- "HZ2" "HA" 0 -1 0.0
+- "CH2" "CA" 0 -1 0.0
+- "HH2" "HA" 0 -1 0.0
+- "CZ3" "CA" 0 -1 0.0
+- "HZ3" "HA" 0 -1 0.0
+- "CE3" "CA" 0 -1 0.0
+- "HE3" "HA" 0 -1 0.0
+- "CD2" "CB" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.TRP.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.TRP.unit.childsequence single int
+- 2
+-!entry.TRP.unit.connect array int
+- 1
+- 23
+-!entry.TRP.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 23 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 22 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 22 1
+- 14 15 1
+- 14 16 1
+- 16 17 1
+- 16 18 1
+- 18 19 1
+- 18 20 1
+- 20 21 1
+- 20 22 1
+- 23 24 1
+-!entry.TRP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+- "R" 1 "A" 22
+- "R" 1 "A" 23
+- "R" 1 "A" 24
+-!entry.TRP.unit.name single str
+- "TRP"
+-!entry.TRP.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.200813 5.026064 1.321087
+- 4.023453 5.931084 2.293240
+- 3.368841 5.705466 3.135071
+- 4.811943 7.073555 1.949808
+- 4.882921 7.922010 2.493118
+- 5.427347 6.842060 0.816764
+- 6.297161 7.689052 0.119605
+- 6.531230 8.676649 0.517050
+- 6.814091 7.187011 -1.069023
+- 7.498074 7.791857 -1.664362
+- 6.482659 5.953119 -1.505101
+- 6.897660 5.575648 -2.439654
+- 5.604041 5.117355 -0.785636
+- 5.358720 4.126570 -1.168080
+- 5.083390 5.623004 0.411545
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.TRP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 23 0 0 0 0
+-!entry.TRP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "TRP" 1 25 1 "p" 0
+-!entry.TRP.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.TRP.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.TRP.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.TYR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.176100
+- "HA" "H1" 0 1 131072 4 1 0.082580
+- "CB" "CT" 0 1 131072 5 6 -0.032040
+- "HB2" "HC" 0 1 131072 6 1 0.077470
+- "HB3" "HC" 0 1 131072 7 1 0.077470
+- "CG" "CA" 0 1 131072 8 6 -0.034160
+- "CD1" "CA" 0 1 131072 9 6 -0.120710
+- "HD1" "HA" 0 1 131072 10 1 0.140120
+- "CE1" "CA" 0 1 131072 11 6 -0.333900
+- "HE1" "HA" 0 1 131072 12 1 0.188970
+- "CZ" "CA" 0 1 131072 13 6 0.442780
+- "OH" "OH" 0 1 131072 14 8 -0.541860
+- "HH" "HO" 0 1 131072 15 1 0.380280
+- "CE2" "CA" 0 1 131072 16 6 -0.333900
+- "HE2" "HA" 0 1 131072 17 1 0.188970
+- "CD2" "CA" 0 1 131072 18 6 -0.120710
+- "HD2" "HA" 0 1 131072 19 1 0.140120
+- "C" "C" 0 1 131072 20 6 0.670480
+- "O" "O" 0 1 131072 21 8 -0.583250
+-!entry.TYR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB2" "HC" 0 -1 0.0
+- "HB3" "HC" 0 -1 0.0
+- "CG" "CA" 0 -1 0.0
+- "CD1" "CA" 0 -1 0.0
+- "HD1" "HA" 0 -1 0.0
+- "CE1" "CA" 0 -1 0.0
+- "HE1" "HA" 0 -1 0.0
+- "CZ" "CA" 0 -1 0.0
+- "OH" "OH" 0 -1 0.0
+- "HH" "HO" 0 -1 0.0
+- "CE2" "CA" 0 -1 0.0
+- "HE2" "HA" 0 -1 0.0
+- "CD2" "CA" 0 -1 0.0
+- "HD2" "HA" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.TYR.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.TYR.unit.childsequence single int
+- 2
+-!entry.TYR.unit.connect array int
+- 1
+- 20
+-!entry.TYR.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 20 1
+- 5 6 1
+- 5 7 1
+- 5 8 1
+- 8 9 1
+- 8 18 1
+- 9 10 1
+- 9 11 1
+- 11 12 1
+- 11 13 1
+- 13 14 1
+- 13 16 1
+- 14 15 1
+- 16 17 1
+- 16 18 1
+- 18 19 1
+- 20 21 1
+-!entry.TYR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+- "R" 1 "A" 17
+- "R" 1 "A" 18
+- "R" 1 "A" 19
+- "R" 1 "A" 20
+- "R" 1 "A" 21
+-!entry.TYR.unit.name single str
+- "TYR"
+-!entry.TYR.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.877484 3.115795 2.131197
+- 4.267328 4.996267 1.194946
+- 4.059927 5.918911 2.227280
+- 3.400108 5.668218 3.057877
+- 4.699998 7.163547 2.192791
+- 4.538522 7.881891 2.996538
+- 5.547471 7.485542 1.125970
+- 6.169255 8.694617 1.092468
+- 5.956327 9.246984 1.848214
+- 5.754875 6.562900 0.093635
+- 6.414694 6.813595 -0.736962
+- 5.114806 5.318263 0.128119
+- 5.276286 4.599920 -0.675627
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.TYR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 20 0 0 0 0
+-!entry.TYR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "TYR" 1 22 1 "p" 0
+-!entry.TYR.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.TYR.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.TYR.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+-!entry.VAL.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
+- "N" "N" 0 1 131072 1 7 -0.404070
+- "H" "H" 0 1 131072 2 1 0.291460
+- "CA" "CT" 0 1 131072 3 6 -0.248670
+- "HA" "H1" 0 1 131072 4 1 0.096610
+- "CB" "CT" 0 1 131072 5 6 0.652680
+- "HB" "HC" 0 1 131072 6 1 -0.125280
+- "CG1" "CT" 0 1 131072 7 6 -0.741410
+- "HG11" "HC" 0 1 131072 8 1 0.188810
+- "HG12" "HC" 0 1 131072 9 1 0.188810
+- "HG13" "HC" 0 1 131072 10 1 0.188810
+- "CG2" "CT" 0 1 131072 11 6 -0.741410
+- "HG21" "HC" 0 1 131072 12 1 0.188810
+- "HG22" "HC" 0 1 131072 13 1 0.188810
+- "HG23" "HC" 0 1 131072 14 1 0.188810
+- "C" "C" 0 1 131072 15 6 0.670480
+- "O" "O" 0 1 131072 16 8 -0.583250
+-!entry.VAL.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
+- "N" "N" 0 -1 0.0
+- "H" "H" 0 -1 0.0
+- "CA" "CT" 0 -1 0.0
+- "HA" "H1" 0 -1 0.0
+- "CB" "CT" 0 -1 0.0
+- "HB" "HC" 0 -1 0.0
+- "CG1" "CT" 0 -1 0.0
+- "HG11" "HC" 0 -1 0.0
+- "HG12" "HC" 0 -1 0.0
+- "HG13" "HC" 0 -1 0.0
+- "CG2" "CT" 0 -1 0.0
+- "HG21" "HC" 0 -1 0.0
+- "HG22" "HC" 0 -1 0.0
+- "HG23" "HC" 0 -1 0.0
+- "C" "C" 0 -1 0.0
+- "O" "O" 0 -1 0.0
+-!entry.VAL.unit.boundbox array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.VAL.unit.childsequence single int
+- 2
+-!entry.VAL.unit.connect array int
+- 1
+- 15
+-!entry.VAL.unit.connectivity table  int atom1x  int atom2x  int flags
+- 1 2 1
+- 1 3 1
+- 3 4 1
+- 3 5 1
+- 3 15 1
+- 5 6 1
+- 5 7 1
+- 5 11 1
+- 7 8 1
+- 7 9 1
+- 7 10 1
+- 11 12 1
+- 11 13 1
+- 11 14 1
+- 15 16 1
+-!entry.VAL.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
+- "U" 0 "R" 1
+- "R" 1 "A" 1
+- "R" 1 "A" 2
+- "R" 1 "A" 3
+- "R" 1 "A" 4
+- "R" 1 "A" 5
+- "R" 1 "A" 6
+- "R" 1 "A" 7
+- "R" 1 "A" 8
+- "R" 1 "A" 9
+- "R" 1 "A" 10
+- "R" 1 "A" 11
+- "R" 1 "A" 12
+- "R" 1 "A" 13
+- "R" 1 "A" 14
+- "R" 1 "A" 15
+- "R" 1 "A" 16
+-!entry.VAL.unit.name single str
+- "VAL"
+-!entry.VAL.unit.positions table  dbl x  dbl y  dbl z
+- 3.325770 1.547909 -1.607204E-06
+- 3.909407 0.723611 -2.739882E-06
+- 3.970048 2.845795 -1.311163E-07
+- 3.671663 3.400129 -0.889820
+- 3.576965 3.653838 1.232143
+- 2.496995 3.801075 1.241379
+- 3.997712 2.900483 2.489542
+- 5.077693 2.753265 2.481244
+- 3.716972 3.477628 3.370558
+- 3.499630 1.931323 2.516834
+- 4.274186 5.009602 1.194577
+- 3.973781 5.548460 0.295972
+- 3.993559 5.587585 2.075079
+- 5.354271 4.863178 1.185788
+- 5.485541 2.705207 -4.398755E-06
+- 6.008824 1.593175 -8.449768E-06
+-!entry.VAL.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
+- 1 15 0 0 0 0
+-!entry.VAL.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
+- "VAL" 1 17 1 "p" 0
+-!entry.VAL.unit.residuesPdbSequenceNumber array int
+- 0
+-!entry.VAL.unit.solventcap array dbl
+- -1.000000
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+-!entry.VAL.unit.velocities table  dbl x  dbl y  dbl z
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+- 0.0 0.0 0.0
+diff --git a/dat/leap/parm/frcmod.pol12 b/dat/leap/parm/frcmod.pol12
+deleted file mode 100644
+index cff8162..0000000
+--- a/dat/leap/parm/frcmod.pol12
++++ /dev/null
+@@ -1,180 +0,0 @@
+-Mainchain torsion parameters
+-IPOL
+-  4
+-
+-MASS
+-
+-BOND
+-
+-ANGL
+-
+-DIHEDRAL
+-C -N -CT-C    1    0.79            0.0        -1.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
+-C -N -CT-C    1    1.24            0.0        -2.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
+-C -N -CT-C    1    0.42            0.0         3.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
+-N -CT-C -N    1    1.96            0.0        -1.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
+-N -CT-C -N    1    1.37          180.0        -2.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
+-N -CT-C -N    1    0.42          180.0         3.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
+-CT-CT-N -C    1    0.02          180.0        -1.  1.0  2.0 
+-CT-CT-N -C    1    0.65            0.0         2.  1.0  2.0 
+-H1-CT-N -C    1    0.99          180.0        -1.  1.0  2.0 
+-H1-CT-N -C    1    0.80            0.0         2.  1.0  2.0 
+-CT-CT-C -N    1    1.34            0.0        -1.  1.0  2.0 
+-CT-CT-C -N    1    0.50          180.0         2.  1.0  2.0 
+-H1-CT-C -N    1    0.09          180.0        -2.  1.0  2.0 
+-H1-CT-C -N    1    1.14            0.0         1.  1.0  2.0 
+-
+-NONBON
+-
+-CMAP
+-%FLAG CMAP_COUNT 3
+-%FLAG CMAP_TITLE
+-ALA CMAP
+-%FLAG CMAP_RESLIST 26
+-ALA ASP SER THR LEU ILE VAL ASN GLN ARG
+-HID HIE HIP TRP PHE TYR GLU ASP LYS LYN
+-CYS CYX MET ASH GLH CYM
+-%FLAG CMAP_RESOLUTION 18
+-%FLAG CMAP_PARAMETER
+-   0.6996   0.7109   0.7452   0.8985   1.2822   1.4924   0.8283   0.0309
+-   0.1762  -0.0044  -0.9781  -0.9596  -0.2536   0.2216   0.2768   0.2998
+-   0.3343   0.4811   0.6979   0.5886   0.6524   0.9473   1.2845   1.1558
+-   0.6335   0.2926   0.8031  -0.6203  -1.0679  -0.8046  -0.1339   0.1863
+-   0.2679   0.4891   0.6519   0.7084   0.4314   0.4697   0.7114   1.0596
+-   1.0858   0.7096   0.5322   1.0603  -0.2603  -0.9325  -0.9777  -0.5784
+-  -0.1384  -0.0963   0.0316   0.3500   0.5028   0.4746   0.6188   0.9074
+-   1.1282   1.2028   0.9105   0.6231   1.0358   0.2832  -0.7467  -0.8248
+-  -0.5121  -0.1238  -0.1961  -0.4874  -0.2169   0.2218   0.4082   0.4486
+-   0.9788   1.1395   1.0923   1.0718   0.9625   1.1138   1.3863  -0.1392
+-  -0.7237  -0.2872   0.4985   0.3261  -0.5791  -1.0942  -0.4770   0.2321
+-   0.5573   0.7415   0.5292   0.4950   0.5479   0.9137   1.3146   1.8892
+-   0.9379  -0.6194  -0.6632   0.6898   1.7557   1.5728   0.6566  -0.5970
+-  -0.8672  -0.1900   0.2293   0.4321  -1.0380  -0.5799   0.3862   1.5984
+-   2.3166   2.1500  -0.0677  -1.2216   0.0062   2.3366   3.2155   2.7916
+-   1.8380   0.3829  -0.8178  -1.0808  -1.1518  -1.1570  -1.8094  -0.0773
+-   2.1498   3.7544   3.6406   0.8498  -1.3804  -0.9843   1.5549   3.2365
+-   3.3981   2.9209   2.2171   0.8749  -0.6221  -2.0341  -2.7537  -2.6330
+-  -0.3319   2.8137   3.2646   1.8770   0.3246  -1.2216  -1.4980   0.5532
+-   2.1118   2.6618   2.5746   2.5164   2.1009   0.9974  -1.3076  -2.7967
+-  -2.9532  -2.1699   3.6877   0.8028  -0.7043  -1.5370  -1.7409  -1.0954
+-   0.5853   1.2217   1.6359   1.8122   2.1382   2.1394   1.1467  -1.1553
+-  -2.0555  -1.8169  -1.0220   0.4087   0.0138  -2.0970  -3.0277  -2.8743
+-  -1.2829   0.5478   1.1379   1.4164   1.7734   2.3230   2.4142   1.2562
+-  -1.5766  -1.7018  -0.3087   1.2616   2.6633   2.9485  -1.7710  -2.9352
+-  -3.2016  -2.3880  -0.8571   0.2752   1.2115   1.6828   2.2605   2.5641
+-   1.5681  -1.1818  -2.0490  -0.0671   2.4541   3.1648   1.9621   0.0054
+-  -0.5880  -1.1331  -1.1982  -0.9946  -0.7792  -0.0902   0.9375   1.5375
+-   1.8883   1.4039  -0.3318  -1.8684  -0.9853   1.1723   2.2107   1.9406
+-   1.1240   0.2128   1.1816   0.7833   0.6454   0.3474  -0.5170  -0.9473
+-  -0.1769   0.3671   0.4441  -0.0054  -1.1102  -1.1976   0.1113   1.5763
+-   1.7120   1.7491   1.6278   1.5039   1.8743   1.3537   1.1335   0.8916
+-   0.2183  -0.9854  -1.0827  -0.5687  -0.2308  -0.5702  -0.8166  -0.2464
+-   1.0822   1.2795   1.3026   1.7406   1.9548   2.1020   1.2800   0.9715
+-   0.8172   0.7412   0.5890   0.3522   0.0954  -0.2460  -0.5892  -0.5927
+-  -0.2446   0.9237   1.1241   0.5542   1.0488   1.5582   1.5830   1.4282
+-   0.3882   0.4559   0.4963   0.4920   0.6253   0.9252   0.5006  -0.7605
+-  -0.6854  -0.3495   0.6981   0.6922  -0.0579   0.2654   0.8917   0.9409
+-   0.5017   0.1950   0.2477   0.3903   0.5167   0.6139   0.8817   1.2830
+-   0.7453  -0.3047  -0.4839   0.3175  -0.1271  -0.8020  -0.3850   0.2424
+-   0.4141   0.2357  -0.0419  -0.0473
+-%FLAG CMAP_TITLE
+-GLY CMAP
+-%FLAG CMAP_RESLIST 1
+-GLY
+-%FLAG CMAP_RESOLUTION 18
+-%COMMENT  GLY CMAP from MP2(CBS atz-aqz)+CCSD(T)(adz) correction
+-%COMMENT  from gly-CMAP-optBBV01-gas-formatted-psi-phi.dat
+-%COMMENT  PSI PHI
+-%FLAG CMAP_PARAMETER
+-   1.1507   0.7349   0.5033   0.4851   0.6055   0.6617  -0.1372  -0.4814
+-  -0.4244   3.5760  -0.4244  -0.4814  -0.1372   0.6617   0.6055   0.4851
+-   0.5033   0.7349   0.8169   0.6015   0.5487   0.7802   1.0366   0.9827
+-   0.5364   0.2725   1.1192  -0.5549  -1.1726  -0.9070  -0.1156   0.2913
+-   0.3275   0.4620   0.6558   0.7885   0.7603   0.7381   0.9566   1.2999
+-   1.3313   0.9787   0.8744   1.4168  -0.1690  -1.1676  -1.3768  -1.0856
+-  -0.2490  -0.0108   0.1378   0.4506   0.6648   0.7392   0.9915   1.1016
+-   1.2424   1.3636   1.2423   1.0643   1.4604   0.6995  -0.6354  -1.0819
+-  -0.9636  -0.5145  -0.2270  -0.2924   0.0124   0.4572   0.7197   0.8353
+-   1.1798   1.1241   1.1031   1.2584   1.3540   1.5273   1.8196   0.1895
+-  -0.6672  -0.5774  -0.0897  -0.1227  -0.6643  -0.9178  -0.3044   0.4086
+-   0.7943   1.0196   0.4751   0.3508   0.5391   1.1479   1.6817   2.1172
+-   1.0757  -0.5530  -0.7982   0.1466   0.8419   0.8318   0.3350  -0.6135
+-  -0.8554  -0.2406   0.1999   0.4241  -1.1995  -0.7114   0.4296   1.8756
+-   2.6117   2.1615  -0.1812  -1.4398  -0.4034   1.4799   2.2439   2.0908
+-   1.5528   0.3805  -0.8859  -1.3330  -1.4658  -1.4169  -1.7376   0.0374
+-   2.3126   3.9828   3.4776   0.7125  -1.5839  -1.2740   1.1103   2.4687
+-   2.5524   2.2668   1.9382   0.8766  -0.7227  -2.3671  -3.1074  -2.8081
+-   0.1638   3.0876   3.5261   1.9682   0.2306  -1.3484  -1.5582   0.5419
+-   1.8350   2.0962   1.8764   1.8112   1.6715   0.8664  -1.3883  -2.9899
+-  -3.0123  -1.9469   5.5352   1.0681  -0.6188  -1.6349  -1.9353  -1.1019
+-   0.8247   1.4255   1.5776   1.8010   1.5776   1.4255   0.8247  -1.1019
+-  -1.9353  -1.6349  -0.6188   1.0681   0.1638  -1.9469  -3.0123  -2.9899
+-  -1.3883   0.8664   1.6715   1.8112   1.8764   2.0962   1.8350   0.5419
+-  -1.5582  -1.3484   0.2306   1.9682   3.5261   3.0876  -1.7376  -2.8081
+-  -3.1074  -2.3671  -0.7227   0.8766   1.9382   2.2668   2.5524   2.4687
+-   1.1103  -1.2740  -1.5839   0.7125   3.4776   3.9828   2.3126   0.0374
+-  -1.1995  -1.4169  -1.4658  -1.3330  -0.8859   0.3805   1.5528   2.0908
+-   2.2439   1.4799  -0.4034  -1.4398  -0.1812   2.1615   2.6117   1.8756
+-   0.4296  -0.7114   0.4751   0.4241   0.1999  -0.2406  -0.8554  -0.6135
+-   0.3350   0.8318   0.8419   0.1466  -0.7982  -0.5530   1.0757   2.1172
+-   1.6817   1.1479   0.5391   0.3508   1.1798   1.0196   0.7943   0.4086
+-  -0.3044  -0.9178  -0.6643  -0.1227  -0.0897  -0.5774  -0.6672   0.1895
+-   1.8196   1.5273   1.3540   1.2584   1.1031   1.1241   0.9915   0.8353
+-   0.7197   0.4572   0.0124  -0.2924  -0.2270  -0.5145  -0.9636  -1.0819
+-  -0.6354   0.6995   1.4604   1.0643   1.2423   1.3636   1.2424   1.1016
+-   0.7603   0.7392   0.6648   0.4506   0.1378  -0.0108  -0.2490  -1.0856
+-  -1.3768  -1.1676  -0.1690   1.4168   0.8744   0.9787   1.3313   1.2999
+-   0.9566   0.7381   0.8169   0.7885   0.6558   0.4620   0.3275   0.2913
+-  -0.1156  -0.9070  -1.1726  -0.5549   1.1192   0.2725   0.5364   0.9827
+-   1.0366   0.7802   0.5487   0.6015
+-%FLAG CMAP_TITLE
+-PRO CMAP
+-%FLAG CMAP_RESLIST 1
+-PRO
+-%FLAG CMAP_RESOLUTION 18
+-%COMMENT  PRO CMAP from MP2(atz) correction
+-%COMMENT  PSI PHI
+-%FLAG CMAP_PARAMETER
+- -11.8681 -11.9836 -12.3616 -13.6168 -14.1453 -14.0496 -13.2367 -11.7198
+- -12.3096 -13.3794 -14.8656 -16.1479 -16.2807 -15.2755 -14.2653 -13.6480
+- -13.2047 -12.3285  -6.6149  -6.6085  -6.9286  -8.0418  -8.9648  -9.1397
+-  -8.0198  -7.5099  -8.3788  -9.3943 -10.1089 -10.4542 -10.0455  -9.4001
+-  -8.8431  -8.2531  -7.6409  -6.9275  -2.2957  -2.2463  -2.3664  -3.3373
+-  -4.3855  -4.6521  -3.5502  -3.0913  -3.9517  -5.7538  -5.9899  -5.5195
+-  -4.8746  -4.7226  -4.4199  -3.7774  -3.1315  -2.5488   0.6680   0.7260
+-   0.9072   0.3973  -0.5339  -0.8094   0.0774  -0.6931  -1.1404  -1.1815
+-  -1.1333  -0.6621  -0.7192  -1.4151  -1.1788  -0.0419   1.2083   0.4615
+-   2.1095   4.2916   4.4484   4.5978   2.0399   2.3643   1.5854  -0.6165
+-  -2.3163  -2.1003  -1.6863  -2.0963   1.1545   0.2034   0.3478   1.5816
+-   2.8385   3.6463   1.4654   1.9240   2.1607   2.3294   2.1657   1.1236
+-   0.0568  -1.0419  -1.1277   0.0585   1.0645   0.9305  -0.0229  -1.3432
+-  -1.8853  -0.9112   0.1465   0.8421   0.7720   0.5083   2.0895   4.2326
+-   3.4621   1.6070  -0.1446  -0.4766   0.0496   1.9172   2.8496   2.5803
+-   1.8081   0.4834  -0.8311  -0.9350  -0.4975   0.0686   0.1101   2.1266
+-   4.1675   4.8614   3.2766   0.8449  -1.0386  -0.7694   1.0610   2.6106
+-   2.9484   2.6931   2.3165   1.1273  -0.6244  -1.8051  -1.8110  -1.1012
+-   0.8389   3.2290   4.5077   3.5467   1.5644  -0.8184  -1.6190  -0.0314
+-   1.4359   1.9499   1.9228   2.1114   2.0614   0.8497  -1.6471  -2.9782
+-  -2.4091  -1.0655   2.1214   2.4093   1.8722   0.8322  -0.9802  -2.0624
+-  -0.9195  -0.7585   0.3481   0.2424   0.7417   1.3245   0.8544  -1.4936
+-  -3.4435  -3.2387  -1.8418  -0.1330   1.1045  -0.0764  -1.2071  -2.5678
+-  -3.1670  -2.1847  -1.3846  -1.6251  -1.7513  -1.1878  -0.5694  -0.9375
+-  -3.0564  -4.7386  -4.5548  -3.3367  -2.2528  -0.6426  -2.6725  -4.4937
+-  -5.8072  -6.1904  -5.2607  -4.0146  -3.6532  -3.7922  -3.4941  -3.0741
+-  -3.5874  -5.8952  -8.2189  -7.9584  -6.6024  -5.1969  -2.9854  -5.5137
+-  -7.9466  -9.1555  -9.7366  -9.4550  -8.4636  -7.2113  -6.5882  -6.3548
+-  -6.2295  -6.8226  -8.8572 -11.4670 -11.6480 -10.2777  -8.5312  -6.9800
+-  -8.2061  -5.8153 -11.6999 -12.2452 -12.6181 -13.0581 -13.3102 -12.5095
+- -11.5831 -11.1878 -11.4400 -12.4275 -14.0503 -14.7786 -14.2390 -13.2677
+- -14.5183 -11.0713 -10.6889 -11.0171 -13.0625 -13.4223 -13.6765 -14.3336
+- -14.6319 -14.0585 -16.8736 -16.1852 -15.4669 -15.8732 -16.5863 -16.5814
+- -16.0226 -15.6145 -14.9156 -14.2166 -13.6532 -13.3471 -14.4252 -14.5993
+- -14.7349 -15.6092 -15.9535 -15.6075 -16.3631 -15.6054 -15.8061 -16.5334
+- -17.0429 -16.9562 -16.5669 -16.5470 -15.8568 -15.1665 -15.5102 -15.0609
+- -15.7879 -15.7763 -15.7932 -16.8848 -17.2752 -17.1565 -17.2433 -16.5548
+- -16.1162 -16.6112 -17.8811 -19.0447 -19.4487 -18.9047 -17.8098 -17.1771
+- -17.3673 -16.7746 -17.1505 -16.9534 -16.8516 -18.1603 -18.1481 -18.1358
+- -18.1236 -17.5042 -16.4263 -16.6890 -18.7194 -21.1332 -22.3304 -21.2623
+- -19.7629 -19.1877 -19.2243 -18.4884
+-
+-
+diff --git a/dat/leap/parm/parmpol12.dat b/dat/leap/parm/parmpol12.dat
+deleted file mode 100644
+index 13fefad..0000000
+--- a/dat/leap/parm/parmpol12.dat
++++ /dev/null
+@@ -1,756 +0,0 @@
+-based on PARM99 ff11D1, Thole-Linear SL=2.5874
+-C  12.01         1.2955    2.5874    sp2 C carbonyl group 
+-C2 12.01         1.2955    2.5874    sp2 C
+-CA 12.01         1.2955    2.5874    sp2 C pure aromatic (benzene)
+-CB 12.01         1.2955    2.5874    sp2 aromatic C, 5&6 membered ring junction
+-CC 12.01         1.2955    2.5874    sp2 aromatic C, 5 memb. ring HIS
+-CD 12.01         1.2955    2.5874    sp2 C atom in the middle of: C=CD-CD=C
+-CK 12.01         1.2955    2.5874    sp2 C 5 memb.ring in purines
+-CM 12.01         1.2955    2.5874    sp2 C  pyrimidines in pos. 5 & 6
+-CN 12.01         1.2955    2.5874    sp2 C aromatic 5&6 memb.ring junct.(TRP)
+-CQ 12.01         1.2955    2.5874    sp2 C in 5 mem.ring of purines between 2 N
+-CR 12.01         1.2955    2.5874    sp2 arom as CQ but in HIS
+-CT 12.01         0.9399    2.5874    sp3 aliphatic C
+-CV 12.01         1.2955    2.5874    sp2 arom. 5 memb.ring w/1 N and 1 H (HIS)
+-CW 12.01         1.2955    2.5874    sp2 arom. 5 memb.ring w/1 N-H and 1 H (HIS)
+-C* 12.01         1.2955    2.5874    sp2 arom. 5 memb.ring w/1 subst. (TRP)
+-CY 12.01         1.3916    2.5874    nitrile C (Howard et al.JCC,16,243,1995)
+-CZ 12.01         1.3916    2.5874    sp C (Howard et al.JCC,16,243,1995)
+-C0 40.08                               calcium
+-H  1.008         0.4255    2.5874    H bonded to nitrogen atoms
+-H0 1.008         0.4255    2.5874    for Gly only
+-HC 1.008         0.4255    2.5874    H aliph. bond. to C without electrwd.group
+-H1 1.008         0.4255    2.5874    H aliph. bond. to C with 1 electrwd. group
+-H2 1.008         0.4255    2.5874    H aliph. bond. to C with 2 electrwd.groups
+-H3 1.008         0.4255    2.5874    H aliph. bond. to C with 3 eletrwd.groups
+-HA 1.008         0.4255    2.5874    H arom. bond. to C without elctrwd. groups
+-H4 1.008         0.4255    2.5874    H arom. bond. to C with 1 electrwd. group
+-H5 1.008         0.4255    2.5874    H arom.at C with 2 elctrwd. gr,+HCOO group
+-HO 1.008         0.4255    2.5874    hydroxyl group
+-HS 1.008         0.4255    2.5874    hydrogen bonded to sulphur (pol?)
+-HW 1.008         0.1700    2.4410    H in POL3 water
+-HP 1.008         0.4255    2.5874    H bonded to C next to positively charged gr
+-HZ 1.008         0.4255    2.5874    H bond sp C (Howard et al.JCC,16,243,1995)
+-F  19.00         0.4839    2.5874    fluorine
+-Cl 35.45         2.3707    2.5874    chlorine
+-IM 35.45         2.3707    2.5874    assumed to be Cl- (ion minus)
+-Br 79.90         3.5016    2.5874    bromine
+-I  126.9         5.5787    2.5874    iodine
+-IB 131.0                             'big ion w/ waters' for vacuum (Na+, 6H2O)
+-MG 24.305        0.120     2.5874     magnesium
+-N  14.01         0.9603    2.5874    sp2 nitrogen in amide groups
+-NA 14.01         0.9603    2.5874    sp2 N in 5 memb.ring w/H atom (HIS)
+-NB 14.01         0.9603    2.5874    sp2 N in 5 memb.ring w/LP (HIS,ADE,GUA)
+-NC 14.01         0.9603    2.5874    sp2 N in 6 memb.ring w/LP (ADE,GUA)
+-N2 14.01         0.9603    2.5874    sp2 N in amino groups
+-N3 14.01         0.9603    2.5874    sp3 N for charged amino groups (Lys, etc)
+-NT 14.01         0.9603    2.5874    sp3 N for amino groups amino groups 
+-N* 14.01         0.9603    2.5874    sp2 N 
+-NY 14.01         0.9603    2.5874    nitrile N (Howard et al.JCC,16,243,1995)
+-O  16.00         0.6049    2.5874    carbonyl group oxygen
+-O2 16.00         0.6049    2.5874    carboxyl and phosphate group oxygen
+-OW 16.00         0.5280    2.4410    oxygen in POL3 water
+-OH 16.00         0.6148    2.5874    oxygen in hydroxyl group
+-OS 16.00         0.6148    2.5874    ether and ester oxygen
+-P  30.97         1.7927    2.5874    phosphate,pol:JACS,112,8543,90,K.J.Miller
+-S  32.06         3.1686    2.5874    S in disulfide linkage,pol:JPC,102,2399,98
+-SH 32.06         3.1686    2.5874    S in cystine
+-S4 32.06         2.3149    2.5874    S
+-CU 63.55                             copper
+-FE 55.00                             iron
+-Li  6.94         0.029     2.5874    lithium, ions pol:J.PhysC,11,1541,(1978)
+-IP 22.99         0.250     2.5874    assumed to be Na+ (ion plus)
+-Na 22.99         0.250     2.5874    Na+, ions pol:J.PhysC,11,1541,(1978)
+-K  39.10         1.060     2.5874    potassium
+-Rb 85.47                             rubidium
+-Cs 132.91                            cesium
+-Zn  65.4                             Zn2+ 
+-LP  3.00         0.000               lone pair
+-
+-C   H   HO  N   NA  NB  NC  N2  NT  N2  N3  N*  O   OH  OS  P   O2 
+-OW-HW  320.0    1.0000    ! POL3, SPC/E water
+-HW-HW  553.0    1.6330      POL3, SPC/E water
+-C -C   310.0    1.525       Junmei et al, 1999
+-C -CA  469.0    1.409       JCC,7,(1986),230; (not used any more in TYR)
+-C -CB  447.0    1.419       JCC,7,(1986),230; GUA
+-C -CM  410.0    1.444       JCC,7,(1986),230; THY,URA
+-C -CT  317.0    1.522       JCC,7,(1986),230; AA
+-C -N   490.0    1.335       JCC,7,(1986),230; AA
+-C -N*  424.0    1.383       JCC,7,(1986),230; CYT,URA
+-C -NA  418.0    1.388       JCC,7,(1986),230; GUA.URA
+-C -NC  457.0    1.358       JCC,7,(1986),230; CYT
+-C -O   570.0    1.229       JCC,7,(1986),230; AA,CYT,GUA,THY,URA
+-C -O2  656.0    1.250       JCC,7,(1986),230; GLU,ASP
+-C -OH  450.0    1.364       JCC,7,(1986),230; (not used any more for TYR) 
+-C -OS  450.0    1.323       Junmei et al, 1999
+-C -H4  367.0    1.080       Junmei et al, 1999
+-C -H5  367.0    1.080       Junmei et al, 1999
+-CA-CA  469.0    1.400       JCC,7,(1986),230; BENZENE,PHE,TRP,TYR
+-CA-CB  469.0    1.404       JCC,7,(1986),230; ADE,TRP
+-CA-CM  427.0    1.433       JCC,7,(1986),230; CYT
+-CA-CN  469.0    1.400       JCC,7,(1986),230; TRP
+-CA-CT  317.0    1.510       JCC,7,(1986),230; PHE,TYR
+-CA-HA  367.0    1.080       changed from 340. bsd on C6H6 nmodes; PHE,TRP,TYR
+-CA-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes; no assigned
+-CA-N2  481.0    1.340       JCC,7,(1986),230; ARG,CYT,GUA
+-CA-NA  427.0    1.381       JCC,7,(1986),230; GUA
+-CA-NC  483.0    1.339       JCC,7,(1986),230; ADE,CYT,GUA
+-CA-OH  450.0    1.364       substituted for C-OH in tyr 
+-CB-CB  520.0    1.370       JCC,7,(1986),230; ADE,GUA
+-CB-N*  436.0    1.374       JCC,7,(1986),230; ADE,GUA
+-CB-NB  414.0    1.391       JCC,7,(1986),230; ADE,GUA
+-CB-NC  461.0    1.354       JCC,7,(1986),230; ADE,GUA
+-CD-HA  367.0    1.080       Junmei et al, 1999 
+-CD-CD  469.0    1.400       Junmei et al, 1999
+-CD-CM  549.0    1.350       Junmei et al, 1999
+-CD-CT  317.0    1.510       Junmei et al, 1999
+-CK-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes; ADE,GUA
+-CK-N*  440.0    1.371       JCC,7,(1986),230; ADE,GUA
+-CK-NB  529.0    1.304       JCC,7,(1986),230; ADE,GUA
+-CM-CM  549.0    1.350       JCC,7,(1986),230; CYT,THY,URA
+-CM-CT  317.0    1.510       JCC,7,(1986),230; THY
+-CM-HA  367.0    1.080       changed from 340. bsd on C6H6 nmodes; CYT,URA
+-CM-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes; CYT,URA
+-CM-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes; not assigned
+-CM-N*  448.0    1.365       JCC,7,(1986),230; CYT,THY,URA
+-CM-OS  480.0    1.240       Junmei et al, 1999
+-CQ-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes; ADE
+-CQ-NC  502.0    1.324       JCC,7,(1986),230; ADE
+-CT-CT  310.0    1.526       JCC,7,(1986),230; AA, SUGARS
+-CT-HC  340.0    1.090       changed from 331 bsd on NMA nmodes; AA, SUGARS
+-CT-H0  340.0    1.090       changed from 331 bsd on NMA nmodes; AA, RIBOSE
+-CT-H1  340.0    1.090       changed from 331 bsd on NMA nmodes; AA, RIBOSE
+-CT-H2  340.0    1.090       changed from 331 bsd on NMA nmodes; SUGARS
+-CT-H3  340.0    1.090       changed from 331 bsd on NMA nmodes; not assigned
+-CT-HP  340.0    1.090       changed from 331; AA-lysine, methyl ammonium cation
+-CT-N*  337.0    1.475       JCC,7,(1986),230; ADE,CYT,GUA,THY,URA
+-CT-N2  337.0    1.463       JCC,7,(1986),230; ARG
+-CT-OH  320.0    1.410       JCC,7,(1986),230; SUGARS
+-CT-OS  320.0    1.410       JCC,7,(1986),230; NUCLEIC ACIDS
+-C*-HC  367.0    1.080       changed from 340. bsd on C6H6 nmodes, not needed AA
+-C*-CB  388.0    1.459       JCC,7,(1986),230; TRP
+-C*-CT  317.0    1.495       JCC,7,(1986),230; TRP
+-C*-CW  546.0    1.352       JCC,7,(1986),230; TRP
+-CB-CN  447.0    1.419       JCC,7,(1986),230; TRP
+-CC-CT  317.0    1.504       JCC,7,(1986),230; HIS
+-CC-CV  512.0    1.375       JCC,7,(1986),230; HIS(delta)
+-CC-CW  518.0    1.371       JCC,7,(1986),230; HIS(epsilon)
+-CC-NA  422.0    1.385       JCC,7,(1986),230; HIS
+-CC-NB  410.0    1.394       JCC,7,(1986),230; HIS
+-CN-NA  428.0    1.380       JCC,7,(1986),230; TRP
+-CR-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes;HIS
+-CR-NA  477.0    1.343       JCC,7,(1986),230; HIS
+-CR-NB  488.0    1.335       JCC,7,(1986),230; HIS
+-CT-N   337.0    1.449       JCC,7,(1986),230; AA
+-CT-N3  367.0    1.471       JCC,7,(1986),230; LYS
+-CT-NT  367.0    1.471       for neutral amines 
+-CT-S   227.0    1.810       changed from 222.0 based on dimethylS nmodes
+-CT-SH  237.0    1.810       changed from 222.0 based on methanethiol nmodes
+-CT-CY  400.0    1.458       Howard et al JCC.16,243,1995
+-CT-CZ  400.0    1.459       Howard et al JCC,16,243,1995
+-CV-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes; HIS
+-CV-NB  410.0    1.394       JCC,7,(1986),230; HIS
+-CW-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes;HIS(epsilon,+)
+-CW-NA  427.0    1.381       JCC,7,(1986),230; HIS,TRP
+-CY-NY  600.0    1.150       Howard et al JCC,16,243,1995
+-CZ-CZ  600.0    1.206       Howard et al JCC,16,243,1995
+-CZ-HZ  400.0    1.056       Howard et al JCC,16,243,1995
+-O2-P   525.0    1.480       JCC,7,(1986),230; NA PHOSPHATES
+-OH-P   230.0    1.610       JCC,7,(1986),230; NA PHOSPHATES
+-OS-P   230.0    1.610       JCC,7,(1986),230; NA PHOSPHATES
+-H -N2  434.0    1.010       JCC,7,(1986),230; ADE,CYT,GUA,ARG
+-H -N*  434.0    1.010       for plain unmethylated bases ADE,CYT,GUA,ARG
+-H -NA  434.0    1.010       JCC,7,(1986),230; GUA,URA,HIS
+-H -N   434.0    1.010       JCC,7,(1986),230; AA
+-H -N3  434.0    1.010       JCC,7,(1986),230; LYS    
+-H -NT  434.0    1.010       for neutral amines 
+-HO-OH  553.0    0.960       JCC,7,(1986),230; SUGARS,SER,TYR
+-HO-OS  553.0    0.960       JCC,7,(1986),230; NUCLEOTIDE ENDS
+-HS-SH  274.0    1.336       JCC,7,(1986),230; CYS
+-S -S   166.0    2.038       JCC,7,(1986),230; CYX   (SCHERAGA)
+-F -CT  367.0    1.380       JCC,13,(1992),963;CF4; R0=1.332 FOR CHF3
+-Cl-CT  232.0    1.766       6-31g* opt
+-Br-CT  159.0    1.944       Junmei et al,99 
+-I -CT  148.0    2.166       Junmei et al,99 
+-F -CA  386.0    1.359       Junmei et al,99 
+-Cl-CA  193.0    1.727       Junmei et al,99 
+-I -CA  171.0    2.075       Junmei et al,99 
+-Br-CA  172.0    1.890       Junmei et al,99
+-LP-O   600.0    0.200       or 0.35
+-LP-OH  600.0    0.200       or 0.35
+-LP-OS  600.0    0.200       or 0.35
+-LP-N3  600.0    0.200       or 0.35
+-LP-NT  600.0    0.200       or 0.35
+-LP-NB  600.0    0.200       or 0.35 histidines, nucleic acids
+-LP-NC  600.0    0.200       or 0.35 nucleic acids
+-LP-S   600.0    0.700       cys,cyx,met
+-LP-SH  600.0    0.700       cys,cyx
+-
+-HW-OW-HW    100.      104.52    TIP3P water
+-HW-HW-OW      0.      127.74    (found in crystallographic water with 3 bonds)
+-C -C -O     80.0      120.00    Junmei et al, 1999 acrolein
+-C -C -OH    80.0      120.00    Junmei et al, 1999
+-CA-C -CA    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes; AA
+-CA-C -OH    70.0      120.00    AA (not used in tyr)
+-CB-C -NA    70.0      111.30    NA
+-CB-C -O     80.0      128.80
+-CM-C -NA    70.0      114.10
+-CM-C -O     80.0      125.30
+-CT-C -O     80.0      120.40
+-CT-C -O2    70.0      117.00
+-CT-C -N     70.0      116.60    AA general
+-CT-C -CT    63.0      117.00    Junmei et al, 1999
+-CT-C -OS    80.0      115.00    Junmei et al, 1999
+-CT-C -OH    80.0      110.00    Junmei et al, 1999
+-N*-C -NA    70.0      115.40
+-N*-C -NC    70.0      118.60
+-N*-C -O     80.0      120.90
+-NA-C -O     80.0      120.60
+-NC-C -O     80.0      122.50
+-N -C -O     80.0      122.90    AA general
+-O -C -O     80.0      126.00    AA COO- terminal residues
+-O -C -OH    80.0      120.00    (check with Junmei for: theta0:120.0?)
+-O -C -OS    80.0      125.00    Junmei et al, 1999
+-O2-C -O2    80.0      126.00    AA GLU            (SCH JPC 79,2379)
+-H4-C -C     50.0      120.00    Junmei et al, 1999 
+-H4-C -CM    50.0      115.00    Junmei et al, 1999 
+-H4-C -CT    50.0      115.00    Junmei et al, 1999
+-H4-C -O     50.0      120.00    Junmei et al, 1999
+-H4-C -OH    50.0      120.00    Junmei et al, 1999
+-H5-C -N     50.0      120.00    Junmei et al, 1999
+-H5-C -O     50.0      119.00    Junmei et al, 1999
+-H5-C -OH    50.0      107.00    Junmei et al, 1999
+-H5-C -OS    50.0      107.00    Junmei et al, 1999
+-C -CA-CA    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes
+-C -CA-HA    50.0      120.00    AA (not used in tyr)
+-CA-CA-CA    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes
+-CA-CA-CB    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes
+-CA-CA-CT    70.0      120.00
+-CA-CA-HA    50.0      120.00
+-CA-CA-H4    50.0      120.00
+-CA-CA-OH    70.0      120.00    replacement in tyr
+-CA-CA-CN    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes; AA trp
+-CB-CA-HA    50.0      120.00
+-CB-CA-H4    50.0      120.00
+-CB-CA-N2    70.0      123.50
+-CB-CA-NC    70.0      117.30
+-CM-CA-N2    70.0      120.10
+-CM-CA-NC    70.0      121.50
+-CN-CA-HA    50.0      120.00    AA trp
+-NA-CA-NC    70.0      123.30
+-N2-CA-NA    70.0      116.00
+-N2-CA-NC    70.0      119.30
+-N2-CA-N2    70.0      120.00    AA arg
+-F -CA-CA    70.0      121.00    Junmei et al,99 
+-Cl-CA-CA    70.0      118.80    Junmei et al,99 
+-Br-CA-CA    70.0      118.80    Junmei et al,99
+-I -CA-CA    70.0      118.80    Junmei et al,99 
+-C -CB-CB    63.0      119.20    changed from 85.0  bsd on C6H6 nmodes; NA gua
+-C -CB-NB    70.0      130.00
+-CA-CB-CB    63.0      117.30    changed from 85.0  bsd on C6H6 nmodes; NA ade
+-CA-CB-NB    70.0      132.40    
+-CB-CB-N*    70.0      106.20
+-CB-CB-NB    70.0      110.40
+-CB-CB-NC    70.0      127.70
+-C*-CB-CA    63.0      134.90    changed from 85.0  bsd on C6H6 nmodes; AA trp
+-C*-CB-CN    63.0      108.80    changed from 85.0  bsd on C6H6 nmodes; AA trp
+-CA-CB-CN    63.0      116.20    changed from 85.0  bsd on C6H6 nmodes; AA trp
+-N*-CB-NC    70.0      126.20
+-CD-CD-CM    63.0      120.00    Junmei et al, 1999
+-CD-CD-CT    70.0      120.00    Junmei et al, 1999
+-CM-CD-CT    70.0      120.00    Junmei et al, 1999
+-HA-CD-HA    35.0      119.00    Junmei et al, 1999
+-HA-CD-CD    50.0      120.00    Junmei et al, 1999
+-HA-CD-CM    50.0      120.00    Junmei et al, 1999
+-H5-CK-N*    50.0      123.05
+-H5-CK-NB    50.0      123.05
+-N*-CK-NB    70.0      113.90
+-C -CM-CM    63.0      120.70    changed from 85.0  bsd on C6H6 nmodes; NA thy
+-C -CM-CT    70.0      119.70
+-C -CM-HA    50.0      119.70
+-C -CM-H4    50.0      119.70
+-CA-CM-CM    63.0      117.00    changed from 85.0  bsd on C6H6 nmodes; NA cyt
+-CA-CM-HA    50.0      123.30
+-CA-CM-H4    50.0      123.30
+-CM-CM-CT    70.0      119.70
+-CM-CM-HA    50.0      119.70
+-CM-CM-H4    50.0      119.70
+-CM-CM-N*    70.0      121.20
+-CM-CM-OS    80.0      125.00    Junmei et al, 1999
+-H4-CM-N*    50.0      119.10
+-H4-CM-OS    50.0      113.00    Junmei et al, 1999
+-HA-CM-HA    35.0      120.00    Junmei et al, 1999
+-HA-CM-CD    50.0      120.00    Junmei et al, 1999
+-HA-CM-CT    50.0      120.00    Junmei et al, 1999
+-NC-CQ-NC    70.0      129.10
+-H5-CQ-NC    50.0      115.45
+-H0-CT-H0    35.0      109.50
+-H0-CT-N     50.0      109.50    AA general  changed based on NMA nmodes
+-C -CT-H0    50.0      109.50    AA general  changed based on NMA nmodes
+-H1-CT-H1    35.0      109.50
+-H1-CT-N*    50.0      109.50    changed based on NMA nmodes
+-H1-CT-OH    50.0      109.50    changed based on NMA nmodes 
+-H1-CT-OS    50.0      109.50    changed based on NMA nmodes 
+-H1-CT-CM    50.0      109.50    Junmei et al, 1999 
+-H1-CT-CY    50.0      110.00    Junmei et al, 1999
+-H1-CT-CZ    50.0      110.00    Junmei et al, 1999
+-H1-CT-N     50.0      109.50    AA general  changed based on NMA nmodes
+-H1-CT-S     50.0      109.50    AA cys     changed based on NMA nmodes
+-H1-CT-SH    50.0      109.50    AA cyx     changed based on NMA nmodes
+-H1-CT-N2    50.0      109.50    AA arg     changed based on NMA nmodes
+-H1-CT-NT    50.0      109.50    neutral amines 
+-H2-CT-H2    35.0      109.50    AA lys
+-H2-CT-N*    50.0      109.50    changed based on NMA nmodes
+-H2-CT-OS    50.0      109.50    changed based on NMA nmodes
+-HP-CT-HP    35.0      109.50    AA lys, ch3nh4+
+-HP-CT-N3    50.0      109.50    AA lys, ch3nh3+, changed based on NMA nmodes
+-HC-CT-HC    35.0      109.50
+-HC-CT-CM    50.0      109.50    changed based on NMA nmodes
+-HC-CT-CD    50.0      109.50    Junmei et al, 1999
+-HC-CT-CZ    50.0      110.00    Junmei et al, 1999
+-C -CT-H1    50.0      109.50    AA general  changed based on NMA nmodes
+-C -CT-HP    50.0      109.50    AA zwitterion  changed based on NMA nmodes
+-C -CT-HC    50.0      109.50    AA gln      changed based on NMA nmodes
+-C -CT-N     63.0      110.10    AA general
+-C -CT-N3    80.0      111.20    AA amino terminal residues
+-C -CT-CT    63.0      111.10    AA general
+-C -CT-OS    60.0      109.50    Junmei et al, 1999
+-CA-CT-HC    50.0      109.50    AA tyr     changed based on NMA nmodes
+-CC-CT-CT    63.0      113.10    AA his
+-CC-CT-HC    50.0      109.50    AA his     changed based on NMA nmodes
+-CM-CT-CT    63.0      111.00    Junmei et al, 1999 (last change: Mar24,99)
+-CM-CT-OS    50.0      109.50    Junmei et al, 1999
+-CT-CT-CT    40.0      109.50
+-CT-CT-HC    50.0      109.50    changed based on NMA nmodes
+-CT-CT-H1    50.0      109.50    changed based on NMA nmodes
+-CT-CT-H2    50.0      109.50    changed based on NMA nmodes
+-CT-CT-HP    50.0      109.50    changed based on NMA nmodes
+-CT-CT-N*    50.0      109.50
+-CT-CT-OH    50.0      109.50
+-CT-CT-OS    50.0      109.50
+-CT-CT-S     50.0      114.70    AA cyx            (SCHERAGA  JPC 79,1428)
+-CT-CT-SH    50.0      108.60    AA cys
+-CT-CT-CA    63.0      114.00    AA phe tyr          (SCH JPC  79,2379)
+-CT-CT-N2    80.0      111.20    AA arg             (JCP 76, 1439)
+-CT-CT-N     80.0      109.70    AA ala, general    (JACS 94, 2657)
+-CT-CT-N3    80.0      111.20    AA lys             (JCP 76, 1439)
+-CT-CT-NT    80.0      111.20    neutral amines 
+-CT-CT-CY    63.0      110.00    Junmei et al, 1999    
+-CT-CT-CZ    63.0      110.00    Junmei et al, 1999
+-C*-CT-CT    63.0      115.60    AA trp
+-C*-CT-HC    50.0      109.50    AA trp    changed based on NMA nmodes
+-OS-CT-OS   160.0      101.00    Junmei et al, 1999
+-OS-CT-CY    50.0      110.00    Junmei et al, 1999
+-OS-CT-CZ    50.0      110.00    Junmei et al, 1999
+-OS-CT-N*    50.0      109.50
+-F -CT-F     77.0      109.10    JCC,13,(1992),963;
+-F -CT-H1    50.0      109.50    JCC,13,(1992),963;
+-F -CT-CT    50.0      109.00    
+-F -CT-H2    50.0      109.50  
+-Cl-CT-CT    50.0      108.50    (6-31g* opt value)
+-Cl-CT-H1    50.0      108.50    (6-31g* opt value)  
+-Br-CT-CT    50.0      108.00    Junmei et al 99 
+-Br-CT-H1    50.0      106.50    Junmei et al 99 
+-I -CT-CT    50.0      106.00    Junmei et al,99 
+-CT-CC-NA    70.0      120.00    AA his
+-CT-CC-CV    70.0      120.00    AA his
+-CT-CC-NB    70.0      120.00    AA his
+-CV-CC-NA    70.0      120.00    AA his
+-CW-CC-NA    70.0      120.00    AA his
+-CW-CC-NB    70.0      120.00    AA his
+-CT-CC-CW    70.0      120.00    AA his
+-H5-CR-NA    50.0      120.00    AA his
+-H5-CR-NB    50.0      120.00    AA his
+-NA-CR-NA    70.0      120.00    AA his
+-NA-CR-NB    70.0      120.00    AA his
+-CC-CV-H4    50.0      120.00    AA his
+-CC-CV-NB    70.0      120.00    AA his
+-H4-CV-NB    50.0      120.00    AA his
+-CC-CW-H4    50.0      120.00    AA his
+-CC-CW-NA    70.0      120.00    AA his
+-C*-CW-H4    50.0      120.00    AA trp
+-C*-CW-NA    70.0      108.70    AA trp
+-H4-CW-NA    50.0      120.00    AA his
+-CB-C*-CT    70.0      128.60    AA trp
+-CB-C*-CW    63.0      106.40    changed from 85.0  bsd on C6H6 nmodes; AA trp
+-CT-C*-CW    70.0      125.00    AA trp
+-CA-CN-CB    63.0      122.70    changed from 85.0  bsd on C6H6 nmodes; AA trp
+-CA-CN-NA    70.0      132.80    AA trp
+-CB-CN-NA    70.0      104.40    AA trp
+-CT-CY-NY    80.0      180.00    Junmei et al, 1999
+-CT-CZ-CZ    80.0      180.00    Junmei et al, 1999
+-CZ-CZ-HZ    50.0      180.00    Junmei et al, 1999
+-C -N -CT    50.0      121.90    AA general
+-C -N -H     50.0      120.00    AA general, gln, asn,changed based on NMA nmodes
+-CT-N -H     50.0      118.04    AA general,     changed based on NMA nmodes
+-CT-N -CT    50.0      118.00    AA pro             (DETAR JACS 99,1232)
+-H -N -H     35.0      120.00    ade,cyt,gua,gln,asn     **
+-C -N*-CM    70.0      121.60
+-C -N*-CT    70.0      117.60
+-C -N*-H     50.0      119.20    changed based on NMA nmodes
+-CB-N*-CK    70.0      105.40
+-CB-N*-CT    70.0      125.80
+-CB-N*-H     50.0      125.80    for unmethylated n.a. bases,chngd bsd NMA nmodes
+-CK-N*-CT    70.0      128.80
+-CK-N*-H     50.0      128.80    for unmethylated n.a. bases,chngd bsd NMA nmodes
+-CM-N*-CT    70.0      121.20
+-CM-N*-H     50.0      121.20    for unmethylated n.a. bases,chngd bsd NMA nmodes
+-CA-N2-H     50.0      120.00    
+-CA-N2-CT    50.0      123.20    AA arg
+-CT-N2-H     50.0      118.40    AA arg
+-H -N2-H     35.0      120.00    
+-CT-N3-H     50.0      109.50    AA lys,     changed based on NMA nmodes
+-CT-N3-CT    50.0      109.50    AA pro/nt
+-H -N3-H     35.0      109.50    AA lys, AA(end)
+-CT-NT-H     50.0      109.50    neutral amines 
+-CT-NT-CT    50.0      109.50    neutral amines 
+-H -NT-H     35.0      109.50    neutral amines 
+-C -NA-C     70.0      126.40
+-C -NA-CA    70.0      125.20
+-C -NA-H     50.0      116.80    changed based on NMA nmodes
+-CA-NA-H     50.0      118.00    changed based on NMA nmodes
+-CC-NA-CR    70.0      120.00    AA his
+-CC-NA-H     50.0      120.00    AA his,    changed based on NMA nmodes
+-CR-NA-CW    70.0      120.00    AA his
+-CR-NA-H     50.0      120.00    AA his,    changed based on NMA nmodes
+-CW-NA-H     50.0      120.00    AA his,    changed based on NMA nmodes
+-CN-NA-CW    70.0      111.60    AA trp
+-CN-NA-H     50.0      123.10    AA trp,    changed based on NMA nmodes
+-CB-NB-CK    70.0      103.80
+-CC-NB-CR    70.0      117.00    AA his
+-CR-NB-CV    70.0      117.00    AA his
+-C -NC-CA    70.0      120.50
+-CA-NC-CB    70.0      112.20
+-CA-NC-CQ    70.0      118.60
+-CB-NC-CQ    70.0      111.00
+-C -OH-HO    50.0      113.00    (not used in tyr anymore)
+-CA-OH-HO    50.0      113.00    replacement in tyr
+-CT-OH-HO    55.0      108.50
+-HO-OH-P     45.0      108.50
+-C -OS-CT    60.0      117.00    Junmei et al, 1999
+-CM-OS-CT    60.0      117.00    Junmei et al, 1999
+-CT-OS-CT    60.0      109.50
+-CT-OS-P    100.0      120.50
+-P -OS-P    100.0      120.50
+-O2-P -OH    45.0      108.23
+-O2-P -O2   140.0      119.90
+-O2-P -OS   100.0      108.23
+-OH-P -OS    45.0      102.60
+-OS-P -OS    45.0      102.60
+-CT-S -CT    62.0       98.90    AA met
+-CT-S -S     68.0      103.70    AA cyx             (SCHERAGA  JPC 79,1428)
+-CT-SH-HS    43.0       96.00    changed from 44.0 based on methanethiol nmodes
+-HS-SH-HS    35.0       92.07    AA cys
+-CB-NB-LP   150.0       126.0    NA
+-CC-NB-LP   150.0       126.0    his,NA
+-CK-NB-LP   150.0       126.0    NA
+-CR-NB-LP   150.0       126.0    his,NA
+-CV-NB-LP   150.0       126.0    his,NA
+-C -NC-LP   150.0       120.0    NA
+-CA-NC-LP   150.0       120.0    NA
+-CB-NC-LP   150.0       120.0    NA
+-CQ-NC-LP   150.0       120.0    NA
+-CT-N3-LP   150.0       109.5    in neutral lysine
+-H -N3-LP   150.0       109.5    in neutral lysine
+-CT-NT-LP   150.0       109.5
+-H -NT-LP   150.0       109.5
+-C -O -LP   150.0       120.0
+-LP-O -LP   150.0       120.0
+-C -OH-LP   150.0       120.0
+-CT-OH-LP   150.0       109.5
+-HO-OH-LP   150.0       109.5
+-LP-OH-LP   150.0       109.5
+-C -OS-LP   150.0       109.5 
+-CM-OS-LP   150.0       109.5    methyl vinyl ether
+-CT-OS-LP   150.0       109.5
+-LP-OS-LP   150.0       109.5
+-CT-S -LP   150.0        90.0    cys,cyx,met
+-CT-SH-LP   150.0        90.0    cys,cyx,met
+-P -OS-LP   150.0       109.5    NA
+-LP-S -LP   150.0       180.0    cys,cyx,met
+-LP-SH-LP   150.0       180.0    cys,cyx,met
+-HS-SH-LP   150.0        90.0    cys  
+-
+-X -C -C -X    4   14.50        180.0     2.         Junmei et al, 1999
+-X -C -CA-X    4   14.50        180.0     2.         intrpol.bsd.on C6H6
+-X -C -CB-X    4   12.00        180.0     2.         intrpol.bsd.on C6H6
+-X -C -CM-X    4    8.70        180.0     2.         intrpol.bsd.on C6H6
+-X -C -CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
+-X -C -N -X    4   10.00        180.0     2.         AA,NMA
+-X -C -N*-X    4    5.80        180.0     2.         JCC,7,(1986),230
+-X -C -NA-X    4    5.40        180.0     2.         JCC,7,(1986),230
+-X -C -NC-X    2    8.00        180.0     2.         JCC,7,(1986),230
+-X -C -O -X    4   11.20        180.0     2.         Junmei et al, 1999
+-X -C -OH-X    2    4.60        180.0     2.         Junmei et al, 1999
+-X -C -OS-X    2    5.40        180.0     2.         Junmei et al, 1999
+-X -CA-CA-X    4   14.50        180.0     2.         intrpol.bsd.on C6H6
+-X -CA-CB-X    4   14.00        180.0     2.         intrpol.bsd.on C6H6
+-X -CA-CM-X    4   10.20        180.0     2.         intrpol.bsd.on C6H6
+-X -CA-CN-X    4   14.50        180.0     2.         reinterpolated 93'
+-X -CA-CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
+-X -CA-N2-X    4    9.60        180.0     2.         reinterpolated 93'
+-X -CA-NA-X    4    6.00        180.0     2.         JCC,7,(1986),230
+-X -CA-NC-X    2    9.60        180.0     2.         JCC,7,(1986),230
+-X -CA-OH-X    2    1.80        180.0     2.         Junmei et al, 99
+-X -CB-CB-X    4   21.80        180.0     2.         intrpol.bsd.on C6H6
+-X -CB-CN-X    4   12.00        180.0     2.         reinterpolated 93'
+-X -CB-N*-X    4    6.60        180.0     2.         JCC,7,(1986),230
+-X -CB-NB-X    2    5.10        180.0     2.         JCC,7,(1986),230
+-X -CB-NC-X    2    8.30        180.0     2.         JCC,7,(1986),230
+-X -CC-CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
+-X -CC-CV-X    4   20.60        180.0     2.         intrpol.bsd.on C6H6
+-X -CC-CW-X    4   21.50        180.0     2.         intrpol.bsd.on C6H6
+-X -CC-NA-X    4    5.60        180.0     2.         JCC,7,(1986),230
+-X -CC-NB-X    2    4.80        180.0     2.         JCC,7,(1986),230
+-X -CD-CD-X    4    4.00        180.0     2.         Junmei et al, 1999
+-X -CD-CT-X    6    0.00          0.0     2.         Junmei et al, 1999
+-X -CD-CM-X    4   26.60        180.0     2.         Junmei et al, 1999
+-X -CK-N*-X    4    6.80        180.0     2.         JCC,7,(1986),230
+-X -CK-NB-X    2   20.00        180.0     2.         JCC,7,(1986),230
+-X -CM-CM-X    4   26.60        180.0     2.         intrpol.bsd.on C6H6
+-X -CM-CT-X    6    0.00          0.0     3.         JCC,7,(1986),230
+-X -CM-N*-X    4    7.40        180.0     2.         JCC,7,(1986),230
+-X -CM-OS-X    2    2.10        180.0     2.         Junmei et al, 1999
+-X -CN-NA-X    4    6.10        180.0     2.         reinterpolated 93'
+-X -CQ-NC-X    2   13.60        180.0     2.         JCC,7,(1986),230
+-X -CT-CT-X    9    1.40          0.0     3.         JCC,7,(1986),230
+-X -CT-CY-X    3    0.00          0.0     1.         Junmei et al, 1999
+-X -CT-CZ-X    3    0.00          0.0     1.         Junmei et al, 1999
+-X -CT-N -X    6    0.00          0.0     2.         JCC,7,(1986),230
+-X -CT-N*-X    6    0.00          0.0     2.         JCC,7,(1986),230
+-X -CT-N2-X    6    0.00          0.0     3.         JCC,7,(1986),230
+-X -CT-NT-X    6    1.80          0.0     3.         Junmei et al, 1999
+-X -CT-N3-X    9    1.40          0.0     3.         JCC,7,(1986),230
+-X -CT-OH-X    3    0.50          0.0     3.         JCC,7,(1986),230
+-X -CT-OS-X    3    1.15          0.0     3.         JCC,7,(1986),230
+-X -CT-S -X    3    1.00          0.0     3.         JCC,7,(1986),230
+-X -CT-SH-X    3    0.75          0.0     3.         JCC,7,(1986),230
+-X -C*-CB-X    4    6.70        180.0     2.         intrpol.bsd.onC6H6aa
+-X -C*-CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
+-X -C*-CW-X    4   26.10        180.0     2.         intrpol.bsd.on C6H6
+-X -CR-NA-X    4    9.30        180.0     2.         JCC,7,(1986),230
+-X -CR-NB-X    2   10.00        180.0     2.         JCC,7,(1986),230
+-X -CV-NB-X    2    4.80        180.0     2.         JCC,7,(1986),230
+-X -CW-NA-X    4    6.00        180.0     2.         JCC,7,(1986),230
+-X -OH-P -X    3    0.75          0.0     3.         JCC,7,(1986),230
+-X -OS-P -X    3    0.75          0.0     3.         JCC,7,(1986),230
+-N -CT-C -N    1    1.700       180.000  -1.
+-N -CT-C -N    1    2.000       180.000   2.
+-C -N -CT-C    1    0.850       180.000  -2.
+-C -N -CT-C    1    0.800         0.000   1.
+-CT-CT-N -C    1    0.50        180.0    -4.         phi,psi,parm94
+-CT-CT-N -C    1    0.15        180.0    -3.         phi,psi,parm94
+-CT-CT-N -C    1    0.00          0.0    -2.         JCC,7,(1986),230
+-CT-CT-N -C    1    0.53          0.0     1.         phi,psi,parm94
+-CT-CT-C -N    1    0.100         0.0    -4.         phi,psi,parm94
+-CT-CT-C -N    1    0.07          0.0     2.         phi,psi,parm94
+-H -N -C -O    1    2.50        180.0    -2.         JCC,7,(1986),230
+-H -N -C -O    1    2.00          0.0     1.         J.C.cistrans-NMA DE
+-CT-S -S -CT   1    3.50          0.0    -2.         JCC,7,(1986),230
+-CT-S -S -CT   1    0.60          0.0     3.         JCC,7,(1986),230
+-OH-P -OS-CT   1    0.25          0.0    -3.         JCC,7,(1986),230
+-OH-P -OS-CT   1    1.20          0.0     2.         gg&gt ene.631g*/mp2
+-OS-P -OS-CT   1    0.25          0.0    -3.         JCC,7,(1986),230
+-OS-P -OS-CT   1    1.20          0.0     2.         gg&gt ene.631g*/mp2
+-H1-CT-C -O    1    0.80          0.0    -1.         Junmei et al, 1999
+-H1-CT-C -O    1    0.00          0.0    -2.         Explicit of wild card X-C-CT-X
+-H1-CT-C -O    1    0.08        180.0     3.         Junmei et al, 1999
+-HC-CT-C -O    1    0.80          0.0    -1.         Junmei et al, 1999
+-HC-CT-C -O    1    0.00          0.0    -2.         Explicit of wild card X-C-CT-X
+-HC-CT-C -O    1    0.08        180.0     3.         Junmei et al, 1999
+-HC-CT-CT-HC   1    0.15          0.0     3.         Junmei et al, 1999
+-HC-CT-CT-CT   1    0.16          0.0     3.         Junmei et al, 1999
+-HC-CT-CM-CM   1    0.38        180.0    -3.         Junmei et al, 1999
+-HC-CT-CM-CM   1    1.15          0.0     1.         Junmei et al, 1999
+-HO-OH-CT-CT   1    0.16          0.0    -3.         Junmei et al, 1999
+-HO-OH-CT-CT   1    0.25          0.0     1.         Junmei et al, 1999
+-HO-OH-C -O    1    2.30        180.0    -2.         Junmei et al, 1999
+-HO-OH-C -O    1    0.00          0.0     1.         Junmei et al, 2011, actyle acid density optimization
+-CM-CM-C -O    1    2.175       180.0    -2.         Junmei et al, 1999
+-CM-CM-C -O    1    0.30          0.0     3.         Junmei et al, 1999
+-CT-CM-CM-CT   1    6.65        180.0    -2.         Junmei et al, 1999
+-CT-CM-CM-CT   1    1.90        180.0     1.         Junmei et al, 1999
+-CT-CT-CT-CT   1    0.18          0.0    -3.         Junmei et al, 1999
+-CT-CT-CT-CT   1    0.25        180.0    -2.         Junmei et al, 1999
+-CT-CT-CT-CT   1    0.20        180.0     1.         Junmei et al, 1999
+-CT-CT-NT-CT   1    0.30          0.0    -3.         Junmei et al, 1999
+-CT-CT-NT-CT   1    0.48        180.0     2.         Junmei et al, 1999
+-CT-CT-OS-CT   1    0.383         0.0    -3.
+-CT-CT-OS-CT   1    0.1         180.0     2.
+-CT-CT-OS-C    1    0.383         0.0    -3.         Junmei et al, 1999
+-CT-CT-OS-C    1    0.80        180.0     1.         Junmei et al, 1999
+-CT-OS-CT-OS   1    0.10          0.0    -3.         Junmei et al, 1999
+-CT-OS-CT-OS   1    0.85        180.0    -2.         Junmei et al, 1999
+-CT-OS-CT-OS   1    1.35        180.0     1.         Junmei et al, 1999
+-CT-OS-CT-N*   1    0.383         0.0    -3.         parm98.dat, TC,PC,PAK
+-CT-OS-CT-N*   1    0.65          0.0     2.         Piotr et al.
+-CT-CZ-CZ-HZ   1    0.00          0.0     1.         Junmei et al, 1999
+-O -C -OS-CT   1    2.70        180.0    -2.         Junmei et al, 1999
+-O -C -OS-CT   1    1.40        180.0     1.         Junmei et al, 1999
+-OS-CT-N*-CK   1    0.00        000.0    -2.         parm98, TC,PC,PAK
+-OS-CT-N*-CK   1    2.50          0.0     1.         parm98, TC,PC,PAK
+-OS-CT-N*-CM   1    0.00        000.0    -2.         parm98, TC,PC,PAK
+-OS-CT-N*-CM   1    2.50          0.0     1.         parm98, TC,PC,PAK
+-OS-CT-CT-OS   1    0.144         0.0    -3.         parm98, TC,PC,PAK
+-OS-CT-CT-OS   1    1.175         0.0     2.         Piotr et al.     
+-OS-CT-CT-OH   1    0.144         0.0    -3.         parm98, TC,PC,PAK
+-OS-CT-CT-OH   1    1.175         0.0     2.         parm98, TC,PC,PAK
+-OH-CT-CT-OH   1    0.144         0.0    -3.         parm98, TC,PC,PAK
+-OH-CT-CT-OH   1    1.175         0.0     2.         parm98, TC,PC,PAK 
+-F -CT-CT-F    1    0.000         0.0    -3.         JCC,7,(1986),230
+-F -CT-CT-F    1    1.20        180.0     1.         Junmei et al, 1999
+-Cl-CT-CT-Cl   1    0.000         0.0    -3.         JCC,7,(1986),230
+-Cl-CT-CT-Cl   1    0.45        180.0     1.         Junmei et al, 1999
+-Br-CT-CT-Br   1    0.000         0.0    -3.         JCC,7,(1986),230
+-Br-CT-CT-Br   1    0.00        180.0     1.         Junmei et al, 1999
+-H1-CT-CT-OS   1    0.000         0.0    -3.         JCC,7,(1986),230
+-H1-CT-CT-OS   1    0.25          0.0     1.         Junmei et al, 1999
+-H1-CT-CT-OH   1    0.000         0.0    -3.         JCC,7,(1986),230
+-H1-CT-CT-OH   1    0.25          0.0     1.         Junmei et al, 1999
+-H1-CT-CT-F    1    0.000         0.0    -3.         JCC,7,(1986),230
+-H1-CT-CT-F    1    0.19          0.0     1.         Junmei et al, 1999
+-H1-CT-CT-Cl   1    0.000         0.0    -3.         JCC,7,(1986),230
+-H1-CT-CT-Cl   1    0.25          0.0     1.         Junmei et al, 1999
+-H1-CT-CT-Br   1    0.000         0.0    -3.         JCC,7,(1986),230
+-H1-CT-CT-Br   1    0.55          0.0     1.         Junmei et al, 1999
+-HC-CT-CT-OS   1    0.000         0.0    -3.         JCC,7,(1986),230
+-HC-CT-CT-OS   1    0.25          0.0     1.         Junmei et al, 1999
+-HC-CT-CT-OH   1    0.000         0.0    -3.         JCC,7,(1986),230
+-HC-CT-CT-OH   1    0.25          0.0     1.         Junmei et al, 1999
+-HC-CT-CT-F    1    0.000         0.0    -3.         JCC,7,(1986),230
+-HC-CT-CT-F    1    0.19          0.0     1.         Junmei et al, 1999
+-HC-CT-CT-Cl   1    0.000         0.0    -3.         JCC,7,(1986),230
+-HC-CT-CT-Cl   1    0.25          0.0     1.         Junmei et al, 1999
+-HC-CT-CT-Br   1    0.000         0.0    -3.         JCC,7,(1986),230
+-HC-CT-CT-Br   1    0.55          0.0     1.         Junmei et al, 1999
+-H1-CT-NT-LP   1    0.000         0.000   3.
+-CT-CT-NT-LP   1    0.000         0.000   3.
+-CT-C -N -LP   1    0.000       180.000   2.
+-O -C -N -LP   1    0.000       180.000   2.
+-H1-CT-OH-LP   1    0.000         0.000   3.
+-CT-CT-OH-LP   1    0.000         0.000   3.
+-H1-CT-OS-LP   1    0.000         0.000   3.
+-H2-CT-OS-LP   1    0.000         0.000   3.
+-CT-CT-OS-LP   1    0.000         0.000   3.
+-CM-CM-OS-LP   1    0.000       180.000   2.
+-HA-CM-OS-LP   1    0.000       180.000   2.
+-H4-CM-OS-LP   1    0.000       180.000   2.
+-
+-X -X -C -O          10.5         180.          2.           JCC,7,(1986),230
+-X -O2-C -O2         10.5         180.          2.           JCC,7,(1986),230
+-X -X -N -H          1.0          180.          2.           JCC,7,(1986),230
+-X -X -N2-H          1.0          180.          2.           JCC,7,(1986),230
+-X -X -NA-H          1.0          180.          2.           JCC,7,(1986),230
+-X -N2-CA-N2         10.5         180.          2.           JCC,7,(1986),230
+-X -CT-N -CT         1.0          180.          2.           JCC,7,(1986),230
+-X -X -CA-HA         1.1          180.          2.           bsd.on C6H6 nmodes
+-X -X -CW-H4         1.1          180.          2.
+-X -X -CR-H5         1.1          180.          2.
+-X -X -CV-H4         1.1          180.          2.
+-X -X -CQ-H5         1.1          180.          2.
+-X -X -CK-H5         1.1          180.          2.
+-X -X -CM-H4         1.1          180.          2.
+-X -X -CM-HA         1.1          180.          2.
+-X -X -CA-H4         1.1          180.          2.           bsd.on C6H6 nmodes 
+-X -X -CA-H5         1.1          180.          2.           bsd.on C6H6 nmodes
+-CB-CK-N*-CT         1.0          180.          2.
+-C -CM-N*-CT         1.0          180.          2.           dac guess, 9/94
+-C -CM-CM-CT         1.1          180.          2. 
+-CT-O -C -OH         10.5         180.          2.
+-CT-CV-CC-NA         1.1          180.          2.
+-CT-CW-CC-NB         1.1          180.          2.
+-CT-CW-CC-NA         1.1          180.          2.
+-CB-CT-C*-CW         1.1          180.          2.
+-CA-CA-CA-CT         1.1          180.          2. 
+-C -CM-CM-CT         1.1          180.          2.           dac guess, 9/94
+-CM-N2-CA-NC         1.1          180.          2.           dac guess, 9/94
+-CB-N2-CA-NC         1.1          180.          2.           dac, 10/94
+-N2-NA-CA-NC         1.1          180.          2.           dac, 10/94
+-CA-CA-C -OH         1.1          180.          2.           (not used in tyr!)
+-CA-CA-CA-OH         1.1          180.          2.           in tyr
+-H5-O -C -OH         1.1          180.          2.           Junmei et al.1999
+-H5-O -C -OS         1.1          180.          2.           
+-CM-CT-CM-HA         1.1          180.          2.           Junmei et al.1999
+-Br-CA-CA-CA         1.1          180.          2.           Junmei et al.1999
+-CM-H4-C -O          1.1          180.          2.           Junmei et al.1999
+-C -CT-N -H          1.1          180.          2.           Junmei et al.1999
+-C -CT-N -O          1.1          180.          2.           Junmei et al.1999
+-
+-  HW  OW  0000.     0000.                                4.  flag for fast water
+-
+-N   NA  N2  N*  NC  NB  NY
+-C*  CA  CB  CC  CD  CK  CM  CN  CQ  CR  CV  CW  CZ
+-
+-MOD4      RE
+-  H           0.9000  0.0008             Junmei optimization
+-  HO          0.6000  0.0000             Junmei optimization
+-  HS          0.6000  0.0157             Junmei optimization
+-  HC          1.3992  0.0326             Junmei optimization
+-  H0          1.2992  0.0326             Junmei optimization
+-  H1          1.2992  0.0326             Junmei optimization
+-  H2          1.1992  0.0326             Junmei optimization
+-  H3          1.0992  0.0326             Junmei optimization
+-  H4          1.5424  0.0052             Junmei optimization
+-  H5          1.4924  0.0052             Junmei optimization
+-  HA          1.5924  0.0052             Junmei optimization
+-  HP          0.9000  0.0008             Junmei optimization
+-  HZ          1.4590  0.0150             H bonded to sp C (Howard et al JCC 16)
+-  HW          0.0000  0.0000             TIP3P, POL3, SPC/E water models
+-  OW          1.7980  0.1560             POL3 water model
+-  O           1.6582  0.2146             Junmei optimization
+-  OH          1.7895  0.0752             Junmei optimization
+-  O2          1.4062  1.3962             Junmei optimization
+-  OS          1.7127  0.1385             Junmei optimization
+-  C           2.1034  0.0267             Junmei optimization
+-  C2          1.8446  0.1290             Junmei optimization
+-  CY          1.9295  0.1836             Junmei optimization
+-  CT          2.0242  0.0538             Junmei optimization
+-  C*          1.8738  0.1068             Junmei optimization
+-  N           1.8714  0.1312             Junmei optimization
+-  NT          1.9500  0.0450             Junmei optimization
+-  N3          1.9500  0.0450             Junmei optimization
+-  S           1.9980  0.2530             Junmei optimization
+-  SH          1.9980  0.2530             Junmei optimization
+-  P           2.1000  0.2000             JCC,7,(1986),230; 
+-  IM          2.47    0.1                Cl- Smith & Dang, JCP 1994,100:5,3757
+-  Li          1.1370  0.0183             Li+ Aqvist JPC 1990,94,8021. (adapted)
+-  IP          1.8680  0.00277            Na+ Aqvist JPC 1990,94,8021. (adapted)
+-  Na          1.8680  0.00277            Na+ Aqvist JPC 1990,94,8021. (adapted)
+-  K           2.6580  0.000328           K+  Aqvist JPC 1990,94,8021. (adapted)
+-  Rb          2.9560  0.00017            Rb+ Aqvist JPC 1990,94,8021. (adapted)
+-  Cs          3.3950  0.0000806          Cs+ Aqvist JPC 1990,94,8021. (adapted)
+-  MG          0.7926  0.8947             Mg2+ Aqvist JPC 1990,94,8021.(adapted)
+-  C0          1.7131  0.459789           Ca2+ Aqvist JPC 1990,94,8021.(adapted)
+-  Zn          1.10    0.0125             Zn2+, Merz,PAK, JACS,113,8262,(1991) 
+-  F           1.75    0.061              Gough et al. JCC 13,(1992),963.
+-  Cl          1.948   0.265              Fox, JPCB,102,8070,(98),flex.mdl CHCl3
+-  Br          2.22    0.320              Junmei(?)
+-  I           2.35    0.40               JCC,7,(1986),230;  
+-  IB          5.0     0.1                solvated ion for vacuum approximation
+-  LP          0.00    0.0000             lone pair
+- 
+-END
+-
+-
+-####################################################
+-Polarizabilities:
+-Mg2+  0.120
+-F-    0.9743
+-
+-
+-additional parameters of LP
+-
+-H1-CT-NT-LP   1       0.000       0.000       3.000
+-CT-CT-NT-LP   1       0.000       0.000       3.000
+-CT-C -N -LP   1       0.000     180.000       2.000
+-O -C -N -LP   1       0.000     180.000       2.000
+-H1-CT-OH-LP   1       0.000       0.000       3.000
+-CT-CT-OH-LP   1       0.000       0.000       3.000
+-H1-CT-OS-LP   1       0.000       0.000       3.000
+-H2-CT-OS-LP   1       0.000       0.000       3.000
+-CT-CT-OS-LP   1       0.000       0.000       3.000
+-CM-CM-OS-LP   1       0.000     180.000       2.000
+-HA-CM-OS-LP   1       0.000     180.000       2.000
+-H4-CM-OS-LP   1       0.000     180.000       2.000
+-
+-
+diff --git a/patch_amber.py b/patch_amber.py
+index 84d90c4..2b5ae7a 100755
+--- a/patch_amber.py
++++ b/patch_amber.py
+@@ -25,7 +25,7 @@ Acknowledgements/Contributions from others
+    * Tyler Luchko made helpful contributions to the user-interface
+ """
+ # Load common os module and package into top level namespace
+-from os import path, getenv
++from os import path, getenv, chmod
+ 
+ # Global variables. Other ones that change less frequently can be found below
+ # the Patch class definitions.
+@@ -230,9 +230,11 @@ class Patch(object):
+       """
+       # This regex matches lines that start like "+++ path/to/file.cpp"
+       modfile = re.compile(r'\+\+\+ \.*\/*[\w\-\/\.\+]+[\w\-\.\+]+\.*\w*')
+-      selffile = re.compile('\\+\\+\\+ %s' % path.split(sys.argv[0])[1])
++      selffile = re.compile(r'\+\+\+ %s' % path.split(sys.argv[0])[1])
++      newfile = re.compile(r'new file mode (\d{3})+')
+       patch = open(self.name, 'r')
+       files_modified = []
++      newfile_modes = []
+       for line in patch:
+          if modfile.match(line):
+             filename = modfile.findall(line)[0].strip('+++').strip()
+@@ -247,8 +249,17 @@ class Patch(object):
+          elif selffile.match(line):
+             filename = path.split(sys.argv[0])[1]
+             if not filename in files_modified: files_modified.append(filename)
++         elif newfile.match(line):
++            ftmp = newfile.match(line).groups()
++            if isinstance(ftmp, tuple):
++               if len(ftmp) == 2:
++                  newfile_modes.append(ftmp[1])
++               elif len(ftmp) == 1:
++                  newfile_modes.append(ftmp[0])
++            elif isinstance(ftmp, str):
++               newfile_modes.append(ftmp)
+       patch.close()
+-      return files_modified
++      return files_modified, newfile_modes
+ 
+    #========================================
+ 
+@@ -331,7 +342,7 @@ class PatchBz2(Patch):
+       
+       print 'Decompressing %s with %s' % (patch_file, bunzip)
+ 
+-      process = Popen([bunzip, patch_file], stdout=PIPE, stderr=PIPE)
++      process = Popen([bunzip, '-f', patch_file], stdout=PIPE, stderr=PIPE)
+ 
+       (output, error) = process.communicate('')
+ 
+@@ -340,8 +351,8 @@ class PatchBz2(Patch):
+                           patch_file, error))
+          sys.exit(1)
+ 
+-      # Get rid of the file extension
+-      patch_file = patch_file.strip('.bz2')
++      # Get rid of the file extension (.bz2)
++      patch_file = patch_file[:len(patch_file)-4]
+       Patch.__init__(self, patch_file)
+ 
+ #~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~
+@@ -370,7 +381,7 @@ class PatchGz(Patch):
+       
+       print 'Decompressing %s with %s' % (patch_file, gunzip)
+ 
+-      process = Popen([gunzip, patch_file], stdout=PIPE, stderr=PIPE)
++      process = Popen([gunzip, '-f', patch_file], stdout=PIPE, stderr=PIPE)
+ 
+       (output, error) = process.communicate('')
+ 
+@@ -379,14 +390,14 @@ class PatchGz(Patch):
+                           patch_file, error))
+          sys.exit(1)
+ 
+-      # Get rid of the file extension
+-      patch_file = patch_file.strip('.gz')
++      # Get rid of the file extension (.gz)
++      patch_file = patch_file[:len(patch_file)-3]
+       Patch.__init__(self, patch_file)
+ 
+ #~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~
+ 
+ # The list of searched suffixes for patch names (ASCII, Bzip2, Gzip)
+-patch_suffixes = ('', '.bz2', '.gz')
++patch_suffixes = ('', '.bz2_', '.gz_')
+ # The corresponding classes for each patch suffix listed above IN SAME ORDER
+ patch_classes = (Patch, PatchBz2, PatchGz)
+ # This is the description printed with the program usage message
+@@ -413,14 +424,18 @@ def download_patch(search_location, patch_number, save_loc):
+          if 'timed out' in str(err):
+             print >> sys.stderr, 'Timed out connecting to server'
+             sys.exit(1)
+-         raise err
++         continue
+       # A 404 code means we didn't find it
+       if url_patch.getcode() == 404:
+          url_patch.close()
+          continue
+       # Otherwise we found it, so use urlretrieve to download the file
+       url_patch.close()
+-      local_patch = path.join(save_loc, fixname)
++      # Hack for compressed patch files
++      if fixname.endswith('_'):
++         local_patch = path.join(save_loc, fixname[:len(fixname)-1])
++      else:
++         local_patch = path.join(save_loc, fixname)
+       print '  Downloading %s' % fixname
+       urllib.urlretrieve(search_location + fixname, local_patch)
+       # Now that we have the patch file saved, return the appropriate PatchClass
+@@ -484,8 +499,8 @@ def describe_patch(patch, full=True, hide_prefix=True):
+    if patch.author(): print '  Author:         ', patch.author()
+    if patch.date(): print '  Created on:     ', patch.date()
+    if patch.programs(): print '  Programs fixed: ', ', '.join(patch.programs())
+-   if patch.files_edited():
+-      print '  Files affected: ', ('\n%19s' % ' ').join(patch.files_edited())
++   if patch.files_edited()[0]:
++      print '  Files affected: ', ('\n%19s' % ' ').join(patch.files_edited()[0])
+    if full: print '\n', patch.description()
+    print ''
+ 
+@@ -513,18 +528,32 @@ def _files_present(patch):
+    return -2: Same as -1, except we also modify this program (as in 2)
+    """
+ 
+-   edfiles = patch.files_edited()
++   edfiles, newmodes = patch.files_edited()
+    if not edfiles:
+       print >> sys.stderr, ('Fatal Error: The patch "%s" does not edit any ' +
+                             'files!') % patch.name
+       sys.exit(1)
+    fname = edfiles[0]
+    ret_code = 1
++   newfile_count = 0
+    if ('src/sander' in fname or 'src/pmemd' in fname) and not path.isdir(
+             path.join(getenv('AMBERHOME'), 'src', 'pmemd', 'src')):
+       ret_code = 0
+    if fname == path.split(sys.argv[0])[1]:
+       ret_code = 2
++   elif not path.exists(path.join(getenv('AMBERHOME'), fname)):
++      _mkdir(path.join(getenv('AMBERHOME'), path.split(fname)[0]))
++      print 'Creating file %s' % (path.join(getenv('AMBERHOME'), fname))
++      tmpfile = open(path.join(getenv('AMBERHOME'), fname), 'w')
++      tmpfile.close()
++      try:
++         print 'Changing mode to %s' % (newmodes[0])
++         # chmod takes octal numbers, so convert the octal number
++         chmod(path.join(getenv('AMBERHOME'), fname), int(newmodes[0], 8))
++         newfile_count += 1
++      except IndexError:
++         # If our patch didn't have mode info, don't pitch a fit
++         pass
+    for i in range(1,len(edfiles)):
+       fname = edfiles[i]
+       # If ret_code is already 1, then our first file matched one we had,
+@@ -544,6 +573,15 @@ def _files_present(patch):
+          print 'Creating file %s' % (path.join(getenv('AMBERHOME'), fname))
+          tmpfile = open(path.join(getenv('AMBERHOME'), fname), 'w')
+          tmpfile.close()
++         try:
++            print 'Changing mode to %s' % (newmodes[newfile_count])
++            # chmod takes octal numbers, so convert the octal number
++            chmod(path.join(getenv('AMBERHOME'), fname),
++                  int(newmodes[newfile_count], 8))
++            newfile_count += 1
++         except IndexError:
++            # Don't pitch a fit if our patch file didn't have permission info
++            pass
+ 
+    return ret_code
+ 
+@@ -775,7 +813,7 @@ if __name__ == '__main__':
+          sys.exit(1)
+       if opt.apply_patch: single_patch = Patch(opt.apply_patch)
+       else: single_patch = Patch(opt.reverse_patch)
+-      if not single_patch.files_edited():
++      if not single_patch.files_edited()[0]:
+          print >> sys.stderr, 'Fatal Error: Bad patch. Could not find the ' + \
+                'files that were supposed to be edited!'
+       # Print out message based on whether we're applying forward or reverse


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/sci:master commit in: patches/
@ 2014-11-11 15:48 Justin Lecher
  0 siblings, 0 replies; 7+ messages in thread
From: Justin Lecher @ 2014-11-11 15:48 UTC (permalink / raw
  To: gentoo-commits

commit:     793dbfb7a854cd66c8f4bc932da69f8b335403ff
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 11 08:47:11 2014 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Tue Nov 11 15:48:11 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=793dbfb7

remove redundant patch

Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

---
 patches/ambertools-12-bugfix_14-26.patch | 14856 -----------------------------
 1 file changed, 14856 deletions(-)

diff --git a/patches/ambertools-12-bugfix_14-26.patch b/patches/ambertools-12-bugfix_14-26.patch
deleted file mode 100644
index da9712c..0000000
--- a/patches/ambertools-12-bugfix_14-26.patch
+++ /dev/null
@@ -1,14856 +0,0 @@
-diff --git a/AmberTools/src/configure2 b/AmberTools/src/configure2
-index 25d3f0a..9ce5ef0 100755
---- a/AmberTools/src/configure2
-+++ b/AmberTools/src/configure2
-@@ -24,17 +24,19 @@ Usage: ./configure [flags] compiler
-                      in your PATH; Note: you must first configure and build 
-                      a serial AmberTools.
-       -cuda          Builds the NVIDIA GPU version of pmemd (pmemd.cuda and
--                     pmemd.cuda.MPI) with default SPDP hybrid precision.
-+                     pmemd.cuda.MPI) with default SPFP mixed single/double/
-+                     fixed-point precision.
-                      (Note: Set CUDA_HOME to your cuda build tools installation
-                      path.)
--      -cuda_SPDP     Currently just an alias to CUDA
--      -cuda_DPDP     Builds the NVIDIA GPU version of pmemd (pmemd.cuda and
--                     pmemd.cuda.MPI) with full double precision. (Considerably
--                     slower than SPDP for many cards without a meaningful gain
--                     in accuracy)
--      -cuda_SPSP     Builds the NVIDIA GPU version of pmemd (pmemd.cuda and
--                     pmemd.cuda.MPI) with full single precision. (Not a good
--                     choice for production runs!)
-+      -cuda_SPDP     Builds the NVIDIA GPU version of pmemd (pmemd_SPDP.cuda and
-+                     pmemd.cuda_SPDP.MPI) with SPDP hybrid precision. (This was
-+                     the default for previous versions of AMBER but has now been
-+                     superseded by the SPFP mixed precision model).
-+      -cuda_DPDP     Builds the NVIDIA GPU version of pmemd (pmemd.cuda_DPDP and
-+                     pmemd.cuda_DPDP.MPI) with full double precision. (Considerably
-+                     slower than SPDP and SPFP for many cards without a meaningful
-+                     gain in accuracy)
-+      -cuda_SPFP     Currently an alias to -cuda.
-       -openmp        Use OpenMP pragmas to parallelize NAB and paramfit
-                      (not available for pgi).
-                      Do not use -openmp and -mpi at the same time. Type "make
-@@ -149,8 +151,8 @@ fi
- #------------------------------------------------------------------------------
- mpi='no'
- mpinab=''
--cuda='no'
--cuda_SPSP='no'
-+cuda_SPFP='no'
-+cuda_SPDP='no'
- cuda_DPDP='no'
- scali='no'
- scalapack='no'
-@@ -222,9 +224,9 @@ if [ $# -lt 1 ]; then usage; fi
- while [ $# -gt 0 ]; do
-     case "$1" in
-         -mpi)           mpi='yes'; mpinab='mpi'; mdgx='no';mtkpp='' ;;
--        -cuda)          cuda='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
--        -cuda_SPDP)     cuda='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
--        -cuda_SPSP)     cuda_SPSP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
-+        -cuda)          cuda_SPFP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
-+        -cuda_SPFP)     cuda_SPFP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
-+        -cuda_SPDP)     cuda_SPDP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
-         -cuda_DPDP)     cuda_DPDP='yes';rism='no';pbsaflag='';mdgx='no';mtkpp='' ;;
-         -scali)         scali='yes' ;;
-         -scalapack)     scalapack='yes' ;;
-@@ -443,22 +445,22 @@ if [ "$noX11" = "false" ]; then
-         echo "       On old Fedora OS's install the xorg-x11-devel package."
-         echo "       On RedHat OS's install the XFree86-devel package."
-         echo "       On Ubuntu OS's install the xorg-dev package."
--	echo "       To build Amber without XLEaP, re-run configure with '-no-X11:"
--        echo "            `mod_command_args '' '-no-X11'`"
--	exit 1
-+        echo "       To build Amber without XLEaP, re-run configure with '-noX11:"
-+        echo "            `mod_command_args '' '-noX11'`"
-+        exit 1
-     fi
- 
-     if [ -d /usr/include/X11/extensions ]
-     then
-         empty_statement=
--    else
-+    elif [ "$is_mac" = "no" ]; then
-         echo "ERROR: the X11 extensions headers are not in the usual location!"
-         echo "       To search for them try the command: locate X11/extensions"
-         echo "       On new Fedora OSes install libXext-devel"
-         echo "       On RedHat OSes install libXext-devel"
--	echo "       To build Amber without XLEaP, re-run configure with '-no-X11:"
--        echo "            `mod_command_args '' '-no-X11'`"
--	exit 1
-+        echo "       To build Amber without XLEaP, re-run configure with '-noX11:"
-+        echo "            `mod_command_args '' '-noX11'`"
-+        exit 1
-     fi
- fi
- 
-@@ -544,7 +546,7 @@ fi
- #------------------------------------------------------------------------------
- #  Determine which type of installation we're doing
- #------------------------------------------------------------------------------
--if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-    if [ "$mpi" = 'yes' ]; then
-       installtype='cuda_parallel'
-    else
-@@ -559,7 +561,7 @@ fi
- #------------------------------------------------------------------------------
- #  Check for cuda incompatibilities or missing files:
- #------------------------------------------------------------------------------
--if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-     if [ -z "$CUDA_HOME" ]; then
-         echo "Error: CUDA_HOME is not set. This must point to your NVIDIA tools installation"
-         exit 1
-@@ -572,25 +574,26 @@ if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-         echo "Error: nvcc cuda compiler not found in $CUDA_HOME/bin/"
-         exit 1
-     fi
--    #Check for mixing of cuda with cuda_SPSP or cuda_DPDP debugging options.
--    #cuda      = SPDP mixed precision (default)
--    #cuda_SPSP = SPSP single precision only - except shake (debug option!)
-+    #Check for mixing of cuda with cuda_SPDP or cuda_DPDP debugging options.
-+    #cuda      = SPFP mixed single/double/fixed-point precision (default)
-+    #cuda_SPFP = SPFP mixed single/double/fixed-point precision (default)
-+    #cuda_SPDP = SPDP hybrid single/double precision (debug option!)
-     #cuda_DPDP = DPDP double precision only (debug option!)
--    if [ "$cuda" = 'yes' ]; then
--      if [ "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
--        echo "Error: specification of -cuda, -cuda_SPSP and -cuda_DPDP are mutually exclusive"
-+    if [ "$cuda_SPFP" = 'yes' ]; then
-+      if [ "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+        echo "Error: specification of -cuda, -cuda_SPDP and -cuda_DPDP are mutually exclusive"
-         exit 1
-       fi
-     fi
--    if [ "$cuda_SPSP" = 'yes' ]; then
--      if [ "$cuda" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
--        echo "Error: specification of -cuda, -cuda_SPSP and -cuda_DPDP are mutually exclusive"
-+    if [ "$cuda_SPDP" = 'yes' ]; then
-+      if [ "$cuda_SPFP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+        echo "Error: specification of -cuda, -cuda_SPDP and -cuda_DPDP are mutually exclusive"
-         exit 1
-       fi
-     fi
-     if [ "$cuda_DPDP" = 'yes' ]; then
--      if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' ]; then
--        echo "Error: specification of -cuda, -cuda_SPSP and -cuda_DPDP are mutually exclusive"
-+      if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' ]; then
-+        echo "Error: specification of -cuda, -cuda_SPDP and -cuda_DPDP are mutually exclusive"
-         exit 1
-       fi
-     fi
-@@ -736,14 +739,15 @@ gnu)
-     pmemd_coptflags="$coptflags"
- 
-     #CUDA Specifics
--    if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+    if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-       pmemd_cu_includes='-I$(CUDA_HOME)/include -IB40C -IB40C/KernelCommon'
-       pmemd_cu_defines='-DCUDA'
-       pmemd_cu_libs='./cuda/cuda.a -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib -lcurand -lcufft -lcudart'
-       if [ "$optimise" = 'no' ]; then
--        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
-+        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
-       else
--        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O3 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
-+	#2012/05/30 - Removed -O3 here because of 'possible' performance regression. - Scott sees this. Ross can't reproduce it.
-+        nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
-       fi
-       if [ "$mpi" = 'yes' ]; then
-         mpi_inc=`(mpicc -show 2>&1) | awk 'BEGIN{i=0} {while (i < NF) {if ( substr($i, 1, 2) == "-I" ) {printf("%s ", $i);}; i++;}}'`
-@@ -752,8 +756,11 @@ gnu)
-         pmemd_coptflags="$coptflags -DMPICH_IGNORE_CXX_SEEK"
-       fi
-     fi
--    if [ "$cuda_SPSP" = 'yes' ]; then
--      pmemd_cu_defines="$pmemd_cu_defines -Duse_SPSP"
-+    if [ "$cuda_SPFP" = 'yes' ]; then
-+      pmemd_cu_defines="$pmemd_cu_defines -Duse_SPFP"
-+    fi
-+    if [ "$cuda_SPDP" = 'yes' ]; then
-+      pmemd_cu_defines="$pmemd_cu_defines -Duse_SPDP"
-     fi
-     if [ "$cuda_DPDP" = 'yes' ]; then
-       pmemd_cu_defines="$pmemd_cu_defines -Duse_DPDP"
-@@ -1001,7 +1008,7 @@ intel)
-       fi
- 
-       #CUDA Specifics
--      if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+      if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
- 
-         # -ipo (multi-file Interprocedural Optimizations optimizations) causes issues with 
-         #  CUDA c code linking. Leave at a single-file IPO for the moment MJW
-@@ -1012,9 +1019,10 @@ intel)
-         pmemd_cu_defines='-DCUDA'
-         pmemd_cu_libs='./cuda/cuda.a -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib -lcurand -lcufft -lcudart'
-         if [ "$optimise" = 'yes' ]; then
--            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O3 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
-+	#2012/05/30 - Removed -O3 here because of 'possible' performance regression. - Scott sees this. Ross can't reproduce it.
-+            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
-         else
--            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20'
-+            nvcc='$(CUDA_HOME)/bin/nvcc -use_fast_math -O0 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30'
-         fi
- 
-         if [ "$mpi" = 'yes' ]; then
-@@ -1024,8 +1032,11 @@ intel)
-           pmemd_coptflags="$pmemd_coptflags -DMPICH_IGNORE_CXX_SEEK"
-         fi
-       fi
--      if [ "$cuda_SPSP" = 'yes' ]; then
--        pmemd_cu_defines="$pmemd_cu_defines -Duse_SPSP"
-+      if [ "$cuda_SPFP" = 'yes' ]; then
-+        pmemd_cu_defines="$pmemd_cu_defines -Duse_SPFP"
-+      fi
-+      if [ "$cuda_SPDP" = 'yes' ]; then
-+        pmemd_cu_defines="$pmemd_cu_defines -Duse_SPDP"
-       fi
-       if [ "$cuda_DPDP" = 'yes' ]; then
-         pmemd_cu_defines="$pmemd_cu_defines -Duse_DPDP"
-@@ -1131,7 +1142,7 @@ pgi)
-         foptflags="$foptflags -fastsse"
-     fi
- 
--    if [ "$cuda" = "yes" -o "$cuda_SPSP" = "yes" -o "$cuda_DPDP" = "yes" ]; then
-+    if [ "$cuda_SPFP" = "yes" -o "$cuda_SPDP" = "yes" -o "$cuda_DPDP" = "yes" ]; then
-         echo "ERROR: cuda is not available for pgi."
-         echo "       Please re-run configure without CUDA flags to use this compiler:"
-         echo "            `mod_command_args '-cuda -cuda_SPDP -cuda_DPDP' ''`"
-@@ -1258,7 +1269,7 @@ solaris)
-         flibs_arch="$flibs_arch $SCALAPACKHOME/scalapack_SUN64.a $BLACSHOME/blacsF77init_MPI-SUN64-0.a $BLACSHOME/blacs_MPI-SUN64-0.a $BLACSHOME/blacsCinit_MPI-SUN64-0.a -lmpi"
-     fi
- 
--    if [ "$cuda" = 'yes' -o "$cuda_SPSP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+    if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-         echo "ERROR: cuda is not available for solaris."
-         echo "       Please re-run configure without CUDA flags to use this compiler:"
-         echo "            `mod_command_args '-cuda -cuda_SPDP -cuda_DPDP' ''`"
-@@ -1306,6 +1317,13 @@ open64)
-        echo "open64 setting is experimental."
-     fi
- 
-+    if [ "$cuda_SPFP" = 'yes' -o "$cuda_SPDP" = 'yes' -o "$cuda_DPDP" = 'yes' ]; then
-+        echo "ERROR: CUDA is not compatible with this compiler"
-+        echo "       Please re-run configure without CUDA flags to use this compiler:"
-+        echo "            `mod_command_args '-cuda -cuda_SPDP -cuda_DPDP' ''`"
-+        exit 1
-+    fi
-+
-     if [ "$mpi" = 'yes' ]; then
-        ld=' mpif90 '
-     else
-diff --git a/AmberTools/src/cpptraj/src/ActionList.cpp b/AmberTools/src/cpptraj/src/ActionList.cpp
-index db3a157..f999e7f 100644
---- a/AmberTools/src/cpptraj/src/ActionList.cpp
-+++ b/AmberTools/src/cpptraj/src/ActionList.cpp
-@@ -33,6 +33,7 @@
- #include "Action_Rotdif.h"
- #include "Action_RunningAvg.h"
- #include "Action_RmsAvgCorr.h"
-+#include "Action_AutoImage.h"
- 
- // CONSTRUCTOR
- ActionList::ActionList() {
-@@ -77,7 +78,7 @@ int ActionList::AddAction(ArgList &argIn) {
-   else if (argIn.CommandIs("secstruct"))      {Act=new DSSP;    }
-   else if (argIn.CommandIs("center"))         {Act=new Center;  }
-   else if (argIn.CommandIs("hbond"))          {Act=new Hbond;   }
--  else if (argIn.CommandIs("image"))          {Act=new Image;   }
-+  else if (argIn.CommandIs("image"))          {Act=new Action_Image;   }
-   else if (argIn.CommandIs("surf"))           {Act=new Surf;    }
-   else if (argIn.CommandIs("radgyr"))         {Act=new Radgyr;  }
-   else if (argIn.CommandIs("mask"))           {Act=new ActionMask;}
-@@ -101,6 +102,7 @@ int ActionList::AddAction(ArgList &argIn) {
-   else if (argIn.CommandIs("runningaverage")) {Act=new RunningAvg;}
-   else if (argIn.CommandIs("runavg"))         {Act=new RunningAvg;}
-   else if (argIn.CommandIs("rmsavgcorr"))     {Act=new RmsAvgCorr;}
-+  else if (argIn.CommandIs("autoimage"))      {Act=new Action_AutoImage;}
-   // PTRAJ
-   else if (argIn.CommandIs("atomicfluct") ||
-            argIn.CommandIs("atomicfluct3D") ||
-diff --git a/AmberTools/src/cpptraj/src/Action_AutoImage.cpp b/AmberTools/src/cpptraj/src/Action_AutoImage.cpp
-index e69de29..ca61dc6 100644
---- a/AmberTools/src/cpptraj/src/Action_AutoImage.cpp
-+++ b/AmberTools/src/cpptraj/src/Action_AutoImage.cpp
-@@ -0,0 +1,273 @@
-+#include "Action_AutoImage.h"
-+#include "CpptrajStdio.h"
-+#include "DistRoutines.h"
-+
-+// CONSTRUCTOR
-+Action_AutoImage::Action_AutoImage() :
-+  origin_(false),
-+  ortho_(false),
-+  center_(false),
-+  truncoct_(false),
-+  triclinic_(OFF)
-+{}
-+
-+// Action_AutoImage::init()
-+/** Usage: autoimage <mask> | anchor <mask> [fixed <fmask>] [mobile <mmask>]
-+  *                  [origin] [familiar | triclinic]
-+  */
-+int Action_AutoImage::init() {
-+  // Get keywords
-+  origin_ = actionArgs.hasKey("origin");
-+  center_ = actionArgs.hasKey("center");
-+  if (actionArgs.hasKey("familiar")) triclinic_ = FAMILIAR;
-+  if (actionArgs.hasKey("triclinic")) triclinic_ = FORCE;
-+  anchor_ = actionArgs.getKeyString("anchor",NULL);
-+  fixed_  = actionArgs.getKeyString("fixed",NULL);
-+  mobile_ = actionArgs.getKeyString("mobile",NULL);
-+  // Get mask expression for anchor if none yet specified
-+  if (anchor_==NULL)  
-+    anchor_ = actionArgs.getNextMask();
-+
-+  mprintf("    AUTOIMAGE: To");
-+  if (origin_)
-+    mprintf(" origin");
-+  else
-+    mprintf(" box center");
-+  mprintf(" based on");
-+  if (center_)
-+    mprintf(" center of mass");
-+  else
-+    mprintf(" first atom position");
-+  if (anchor_!=NULL)
-+    mprintf(", anchor mask is [%s]\n", anchor_);
-+  else
-+    mprintf(", anchor is first molecule.\n");
-+  if (fixed_!=NULL)
-+    mprintf("\tAtoms in mask [%s] will be fixed to anchor region.\n", fixed_);
-+  if (mobile_!=NULL)
-+    mprintf("\tAtoms in mask [%s] will be imaged independently of anchor region.\n",
-+            mobile_);
-+
-+  return 0;
-+}
-+
-+// Action_AutoImage::SetupAtomRanges()
-+/** Based on the given atom mask expression determine what molecules are
-+  * selected by the mask.
-+  * \return A list of atom pairs that mark the beginning and end of each
-+  *         selected molecule.
-+  */
-+Action_AutoImage::pairList Action_AutoImage::SetupAtomRanges( const char* maskexpr )
-+{
-+  pairList imageList;
-+  AtomMask Mask1;
-+  if (Mask1.SetMaskString( (char*)maskexpr )) return imageList;
-+
-+  if (currentParm->SetupCharMask( Mask1, activeReference )) return imageList;
-+  if (Mask1.None()) return imageList;
-+
-+  int* AtomsPerMol = currentParm->AtomsPerMol_ptr();
-+  int firstAtom = 0;
-+  int lastAtom = 0;
-+  for (int molnum = 0; molnum < currentParm->Nmol(); ++molnum)
-+  {
-+    firstAtom = lastAtom;
-+    lastAtom += AtomsPerMol[ molnum ];
-+    // Check that each atom in the range is in Mask1
-+    bool rangeIsValid = true;
-+    for (int atom = firstAtom; atom < lastAtom; ++atom) {
-+      if (!Mask1.AtomInCharMask(atom)) {
-+        rangeIsValid = false;
-+        break;
-+      }
-+    }
-+    if (rangeIsValid) {
-+      imageList.push_back( firstAtom );
-+      imageList.push_back( lastAtom );
-+    }
-+  }
-+  mprintf("\tMask [%s] corresponds to %zu molecules\n", Mask1.MaskString(), imageList.size()/2);
-+  return imageList;
-+}
-+
-+// Action_AutoImage::setup()
-+int Action_AutoImage::setup() {
-+  bool fixedauto = false;
-+  bool mobileauto = false;
-+
-+  // Require molecule info
-+  int* AtomsPerMol = currentParm->AtomsPerMol_ptr();
-+  if (AtomsPerMol == NULL) {
-+    mprinterr("Error: AutoImage: No molecule information in %s\n", currentParm->parmName);
-+    return 1;
-+  }
-+  // Determine Box info
-+  if (currentParm->boxType==NOBOX) {
-+    mprintf("Warning: Image::setup: Parm %s does not contain box information.\n",
-+            currentParm->parmName);
-+    return 1;
-+  }
-+  ortho_ = false;
-+  if (currentParm->boxType==ORTHO && triclinic_==OFF) ortho_=true;
-+  // If box is originally truncated oct and not forcing triclinic, 
-+  // turn familiar on.
-+  if (AmberIfbox( currentParm->Box[4] )==2 && triclinic_!=FORCE && triclinic_!=FAMILIAR) {
-+    mprintf("\tOriginal box is truncated octahedron, turning on 'familiar'.\n");
-+    triclinic_=FAMILIAR;
-+  }
-+
-+  // Set up anchor region
-+  if (anchor_!=NULL) {
-+    anchorList_ = SetupAtomRanges( anchor_ );
-+  } else {
-+    anchorList_.clear();
-+    anchorList_.push_back( 0 );
-+    anchorList_.push_back( AtomsPerMol[0] );
-+  }
-+  if (anchorList_.empty() || anchorList_.size() > 2) {
-+    mprinterr("Error: Anchor mask [%s] corresponds to %zu mols, should only be 1.\n",
-+              anchor_, anchorList_.size() / 2);
-+    return 1;
-+  }
-+  // Set up mask for centering anchor
-+  anchorMask_.AddAtomRange( anchorList_[0], anchorList_[1] );
-+  int anchormolnum = currentParm->atomToMolecule( anchorList_[0] );
-+  mprintf("\tAnchor molecule is %i\n", anchormolnum+1);
-+  // Set up fixed region
-+  if (fixed_!=NULL) 
-+    fixedList_ = SetupAtomRanges( fixed_ );
-+  else 
-+    fixedauto = true;
-+  // Set up mobile region
-+  if (mobile_!=NULL)
-+    mobileList_ = SetupAtomRanges( mobile_ );
-+  else
-+    mobileauto = true;
-+  // Automatic search through molecules for fixed/mobile
-+  if (fixedauto || mobileauto) {
-+    int firstAtom = 0;
-+    int lastAtom = 0;
-+    for (int molnum = 0; molnum < currentParm->Nmol(); ++molnum)
-+    {
-+      firstAtom = lastAtom;
-+      lastAtom += AtomsPerMol[ molnum ];
-+      // Skip the anchor molecule
-+      if (molnum != anchormolnum) { 
-+        // Solvent and 1 atom molecules (prob. ions) go in mobile list,
-+        // everything else into fixed list.
-+        bool isSolventMol = false;
-+        if ( currentParm->solventMask != NULL && currentParm->solventMask[firstAtom] == 'T' )
-+          isSolventMol = true;
-+        if ( isSolventMol || (lastAtom - firstAtom) == 1 ) 
-+        {
-+          if (mobileauto) {
-+            mobileList_.push_back( firstAtom );
-+            mobileList_.push_back( lastAtom  );
-+          }
-+        } else {
-+          if (fixedauto) {
-+            fixedList_.push_back( firstAtom );
-+            fixedList_.push_back( lastAtom  );
-+          }
-+        }
-+      }
-+    }
-+  }
-+  // DEBUG: Print fixed and mobile lists
-+  if (!fixedList_.empty()) {
-+    mprintf("\tThe following molecules are fixed to anchor:");
-+    for (pairList::iterator atom = fixedList_.begin(); 
-+                            atom != fixedList_.end(); atom += 2)
-+      mprintf(" %i", currentParm->atomToMolecule( *atom ) + 1 );
-+    mprintf("\n");
-+  }
-+  mprintf("\t%zu molecules are mobile.\n", mobileList_.size() / 2 );
-+  //mprintf("\tThe following molecules are mobile:\n");
-+  //for (pairList::iterator atom = mobileList_.begin(); 
-+  //                        atom != mobileList_.end(); atom += 2)
-+  //  mprintf("\t\t%i\n", (*currentParm)[ *atom ].Mol()+1 );
-+
-+  truncoct_ = (triclinic_==FAMILIAR);
-+
-+  return 0;
-+}
-+
-+// Action_AutoImage::action()
-+int Action_AutoImage::action() {
-+  double center[3], ucell[9], recip[9], imagedcenter[3], framecenter[3];
-+  double fcom[3];
-+  double bp[3], bm[3];
-+  double Trans[3];
-+
-+  // Center w.r.t. anchor
-+  currentFrame->Center( anchorMask_, origin_, useMass);
-+  // Determine whether anchor center is at box center or coordinate origin
-+  if (origin_) {
-+    center[0] = 0;
-+    center[1] = 0;
-+    center[2] = 0;
-+  } else {
-+    center[0] = currentFrame->box[0] / 2;
-+    center[1] = currentFrame->box[1] / 2;
-+    center[2] = currentFrame->box[2] / 2;
-+  }
-+
-+  // Setup imaging, and image everything in currentFrame 
-+  // according to mobileList. 
-+  if (ortho_) {
-+    currentFrame->SetupImageOrtho(bp, bm, origin_);
-+    currentFrame->ImageOrtho(bp, bm, center_, useMass, mobileList_);
-+  } else {
-+    currentFrame->BoxToRecip(ucell, recip);
-+    if (truncoct_)
-+      currentFrame->SetupImageTruncoct( fcom, NULL, useMass, origin_ );
-+    currentFrame->ImageNonortho(origin_, fcom, ucell, recip, truncoct_,
-+                                center_, useMass, mobileList_);
-+  }  
-+
-+  // For each molecule defined by atom pairs in fixedList, determine if the
-+  // imaged position is closer to anchor center than the current position.
-+  // Always use molecule center when imaging fixedList.
-+  for (pairList::iterator atom1 = fixedList_.begin();
-+                          atom1 != fixedList_.end(); ++atom1)
-+  {
-+    int firstAtom = *atom1;
-+    ++atom1;
-+    int lastAtom = *atom1;
-+    Trans[0] = 0;
-+    Trans[1] = 0;
-+    Trans[2] = 0;
-+    if (useMass) 
-+      currentFrame->CenterOfMass(framecenter, firstAtom, lastAtom);
-+    else
-+      currentFrame->GeometricCenter(framecenter, firstAtom, lastAtom);
-+    // NOTE: imaging routines will modify input coords.
-+    imagedcenter[0] = framecenter[0];
-+    imagedcenter[1] = framecenter[1];
-+    imagedcenter[2] = framecenter[2];
-+    if (ortho_)
-+      currentFrame->ImageOrtho(Trans, imagedcenter, bp, bm);
-+    else
-+      currentFrame->ImageNonortho(Trans, imagedcenter, truncoct_, origin_, ucell, recip, fcom);
-+    // If molecule was imaged, determine whether imaged position is closer to anchor.
-+    if (Trans[0] != 0 || Trans[1] != 0 || Trans[2] != 0) {
-+      imagedcenter[0] = framecenter[0] + Trans[0];
-+      imagedcenter[1] = framecenter[1] + Trans[1];
-+      imagedcenter[2] = framecenter[2] + Trans[2];
-+      double framedist2 = DIST2_NoImage( center, framecenter );
-+      double imageddist2 = DIST2_NoImage( center, imagedcenter );
-+      //mprintf("DBG: [%5i] Fixed @%i-%i frame dist2=%lf, imaged dist2=%lf\n", frameNum,
-+      //        firstAtom+1, lastAtom+1,
-+      //        framedist2, imageddist2);
-+      if (imageddist2 < framedist2) {
-+        // Imaging these atoms moved them closer to anchor. Update coords in currentFrame.
-+        currentFrame->Translate(Trans, firstAtom, lastAtom);
-+        //for (int idx = firstAtom*3; idx < lastAtom*3; ++idx)
-+        //  (*currentFrame)[idx] = fixedFrame[idx];
-+      }
-+    }
-+  }
-+    
-+  return 0;
-+}
-+
-diff --git a/AmberTools/src/cpptraj/src/Action_AutoImage.h b/AmberTools/src/cpptraj/src/Action_AutoImage.h
-index e69de29..5ee24d6 100644
---- a/AmberTools/src/cpptraj/src/Action_AutoImage.h
-+++ b/AmberTools/src/cpptraj/src/Action_AutoImage.h
-@@ -0,0 +1,32 @@
-+#ifndef INC_ACTION_AUTOIMAGE_H
-+#define INC_ACTION_AUTOIMAGE_H
-+#include "Action.h"
-+class Action_AutoImage : public Action {
-+  public:
-+    Action_AutoImage();
-+
-+  private:
-+    int init();
-+    int setup();
-+    int action();
-+
-+    AtomMask anchorMask_; ///< Used to center anchor region.
-+    char* anchor_;  ///< Mask expression for anchor region.
-+    char* fixed_;   ///< Mask expression for fixed region.
-+    char* mobile_;  ///< Mask expression for mobile region.
-+
-+    bool origin_;         ///< If true imaging occurs w.r.t. coordinate origin.
-+    bool ortho_;          ///< If true imaging is orthogonal.
-+    bool center_;         ///< If true imaging of mobile region uses molecule center.
-+    bool truncoct_;
-+    enum TriclinicArg {OFF, FORCE, FAMILIAR};
-+    TriclinicArg triclinic_; ///< Determine whether triclinic code should be used.
-+
-+    typedef std::vector<int> pairList;
-+    pairList anchorList_;
-+    pairList fixedList_;
-+    pairList mobileList_;
-+
-+    pairList SetupAtomRanges(const char*);
-+};
-+#endif
-diff --git a/AmberTools/src/cpptraj/src/Action_Center.cpp b/AmberTools/src/cpptraj/src/Action_Center.cpp
-index a496a7f..cb841b8 100644
---- a/AmberTools/src/cpptraj/src/Action_Center.cpp
-+++ b/AmberTools/src/cpptraj/src/Action_Center.cpp
-@@ -68,14 +68,7 @@ int Center::setup() {
-   */
- int Center::action() {
- 
--  // Set up box
--  if (!origin) {
--    box[0] = currentFrame->box[0] / 2.0;
--    box[1] = currentFrame->box[1] / 2.0;
--    box[2] = currentFrame->box[2] / 2.0;
--  }
--  
--  currentFrame->Center(&Mask1, box, useMass);
-+  currentFrame->Center(Mask1, origin, useMass);
- 
-   return 0;
- } 
-diff --git a/AmberTools/src/cpptraj/src/Action_Image.cpp b/AmberTools/src/cpptraj/src/Action_Image.cpp
-index 023b26a..5e1dec8 100644
---- a/AmberTools/src/cpptraj/src/Action_Image.cpp
-+++ b/AmberTools/src/cpptraj/src/Action_Image.cpp
-@@ -1,26 +1,26 @@
--// Image 
--#include <cmath> //for floor
-+// Action_Image 
- #include "Action_Image.h"
--#include "DistRoutines.h"
- #include "CpptrajStdio.h"
- 
- // CONSTRUCTOR
--Image::Image() {
-+Action_Image::Action_Image() :
-+  ComMask_(NULL),
-+  origin_(false),
-+  center_(false),
-+  ortho_(false),
-+  truncoct_(false),
-+  triclinic_(OFF)
-+{
-   //fprintf(stderr,"Image Con\n");
--  ComMask=NULL;
--  origin = false;
--  center = false;
--  ortho = false;
-   useMass = true;
--  triclinic = OFF;
- } 
- 
- // DESTRUCTOR
--Image::~Image() {
--  if (ComMask!=NULL) delete ComMask;
-+Action_Image::~Action_Image() {
-+  if (ComMask_!=NULL) delete ComMask_;
- }
- 
--// Image::init()
-+// Action_Image::init()
- /** Expected call: image [origin] [center] [triclinic | familiar [com <mask>]] <mask>  
-   * - origin: center at 0.0, 0.0, 0.0, otherwise center at box center.
-   * - center: Use center of mass for imaging, otherwise use first atom.
-@@ -33,86 +33,86 @@ Image::~Image() {
- // Check order is:
- //    1) Keywords
- //    2) Masks
--int Image::init() {
-+int Action_Image::init() {
-   char *mask1;
- 
-   // Get keywords
--  origin = actionArgs.hasKey("origin");
--  center = actionArgs.hasKey("center");
--  if (actionArgs.hasKey("familiar")) triclinic = FAMILIAR;
--  if (actionArgs.hasKey("triclinic")) triclinic = FORCE;
-+  origin_ = actionArgs.hasKey("origin");
-+  center_ = actionArgs.hasKey("center");
-+  if (actionArgs.hasKey("familiar")) triclinic_ = FAMILIAR;
-+  if (actionArgs.hasKey("triclinic")) triclinic_ = FORCE;
- 
-   // Get Masks
--  if (triclinic == FAMILIAR) {
-+  if (triclinic_ == FAMILIAR) {
-     mask1 = actionArgs.getKeyString("com",NULL);
-     if (mask1!=NULL) {
--      ComMask = new AtomMask();
--      ComMask->SetMaskString(mask1);
-+      ComMask_ = new AtomMask();
-+      ComMask_->SetMaskString(mask1);
-     }
-   }
-   mask1 = actionArgs.getNextMask();
--  Mask1.SetMaskString(mask1);
-+  Mask1_.SetMaskString(mask1);
-   
-   mprintf("    IMAGE: To");
--  if (origin)
-+  if (origin_)
-     mprintf(" origin");
-   else
-     mprintf(" box center");
-   mprintf(" based on");
--  if (center)
-+  if (center_)
-     mprintf(" center of mass");
-   else
-     mprintf(" first atom position");
--  mprintf(" using atoms in mask %s\n",Mask1.MaskString());
--  if (triclinic == FORCE)
-+  mprintf(" using atoms in mask %s\n",Mask1_.MaskString());
-+  if (triclinic_ == FORCE)
-     mprintf( "           Triclinic On.\n");
--  else if (triclinic == FAMILIAR) {
-+  else if (triclinic_ == FAMILIAR) {
-     mprintf( "           Triclinic On, familiar shape");
--    if (ComMask!=NULL) 
--      mprintf( " centering on atoms in mask %s", ComMask->MaskString());
-+    if (ComMask_!=NULL) 
-+      mprintf( " centering on atoms in mask %s", ComMask_->MaskString());
-     mprintf(".\n");
-   }
- 
-   return 0;
- }
- 
--// Image::setup()
-+// Action_Image::setup()
- /** Set Imaging up for this parmtop. Get masks etc.
-   * currentParm is set in Action::Setup
-   */
--int Image::setup() {
--  atomPair apair;
-+int Action_Image::setup() {
-+  //atomPair apair;
- 
--  if ( currentParm->SetupCharMask( Mask1, activeReference ) ) return 1;
--  if (Mask1.None()) {
-+  if ( currentParm->SetupCharMask( Mask1_, activeReference ) ) return 1;
-+  if (Mask1_.None()) {
-     mprintf("Warning: Image::setup: Mask contains 0 atoms.\n");
-     return 1;
-   }
- 
--  if (currentParm->boxType==NOBOX) {
-+  if (currentParm->boxType == NOBOX) {
-     mprintf("Warning: Image::setup: Parm %s does not contain box information.\n",
-             currentParm->parmName);
-     return 1;
-   }
- 
--  ortho = false;  
--  if (currentParm->boxType==ORTHO && triclinic==OFF) ortho=true;
-+  ortho_ = false;  
-+  if (currentParm->boxType == ORTHO && triclinic_==OFF) ortho_=true;
- 
-   // If box is originally truncated oct and not forcing triclinic, 
-   // turn familiar on.
--  if (AmberIfbox(currentParm->Box[5])==2 && triclinic!=FORCE && triclinic!=FAMILIAR) {
-+  if ( AmberIfbox( currentParm->Box[4] ) == 2 && triclinic_!=FORCE && triclinic_!=FAMILIAR) {
-     mprintf("\tOriginal box is truncated octahedron, turning on 'familiar'.\n");
--    triclinic=FAMILIAR;
-+    triclinic_=FAMILIAR;
-   }
- 
--  if (triclinic == FAMILIAR) {
--    if (ComMask!=NULL) {
--      if ( currentParm->SetupIntegerMask( *ComMask, activeReference) ) return 1;
--      if (ComMask->None()) {
-+  if (triclinic_ == FAMILIAR) {
-+    if (ComMask_!=NULL) {
-+      if ( currentParm->SetupIntegerMask( *ComMask_, activeReference ) ) return 1;
-+      if (ComMask_->None()) {
-         mprintf("Warning: Image::setup: Mask for 'familiar com' contains no atoms.\n");
-         return 1;
-       }
--      mprintf("\tcom: mask [%s] contains %i atoms.\n",ComMask->MaskString(),ComMask->Nselected);
-+      mprintf("\tcom: mask [%s] contains %i atoms.\n",ComMask_->MaskString(),ComMask_->Nselected);
-     }
-   }
- 
-@@ -120,178 +120,64 @@ int Image::setup() {
-   // Currently imaging by molecule only, so each pair will be the first and
-   // last atom of each molecule. Check that all atoms between first and last
-   // are actually in the mask.
--  imageList.clear();
--  imageList.reserve( currentParm->Nmol() );
--  apair.firstAtom = 0;
--  apair.lastAtom = 0;
--  for (int mol = 0; mol < currentParm->Nmol(); mol++) {
--    apair.firstAtom = apair.lastAtom;
--    apair.lastAtom = apair.firstAtom + currentParm->AtomsPerMol(mol);
-+  imageList_.clear();
-+  imageList_.reserve( currentParm->Nmol() );
-+  int* AtomsPerMol = currentParm->AtomsPerMol_ptr();
-+  if (AtomsPerMol == NULL) {
-+    mprinterr("Error: Image: No molecule information in %s\n", currentParm->parmName);
-+    return 1;
-+  } 
-+  int firstAtom = 0;
-+  int lastAtom = 0;
-+  
-+  for (int molnum = 0; molnum < currentParm->Nmol(); ++molnum) 
-+  {
-+    firstAtom = lastAtom;
-+    lastAtom += AtomsPerMol[ molnum ];
-     // Check that each atom in the range is in Mask1
-     bool rangeIsValid = true;
--    for (int atom = apair.firstAtom; atom < apair.lastAtom; atom++)
--      if (!Mask1.AtomInCharMask(atom)) {rangeIsValid = false; break;}
--    if (rangeIsValid) imageList.push_back( apair );
-+    for (int atom = firstAtom; atom < lastAtom; atom++) {
-+      if (!Mask1_.AtomInCharMask(atom)) {
-+        rangeIsValid = false; 
-+        break;
-+      }
-+    }
-+    if (rangeIsValid) {
-+      imageList_.push_back( firstAtom );
-+      imageList_.push_back( lastAtom );
-+    }
-   }
--  mprintf("\tNumber of molecules to be imaged is %u based on mask [%s]\n", imageList.size(),
--           Mask1.MaskString()); 
-+  mprintf("\tNumber of molecules to be imaged is %u based on mask [%s]\n", imageList_.size()/2,
-+           Mask1_.MaskString()); 
-   // DEBUG: Print all pairs
--  //for (std::vector<atomPair>::iterator ap = imageList.begin();
--  //                                     ap != imageList.end();
--  //                                     ap++)
--  //{
--  //  mprintf("\tPair: %i - %i\n",(*ap).firstAtom+1,(*ap).lastAtom);
--  //}
-+  if (debug>0) {
-+    for (std::vector<int>::iterator ap = imageList_.begin();
-+                                    ap != imageList_.end(); ap+=2)
-+      mprintf("\t\tMol First-Last atom#: %i - %i\n", (*ap)+1, *(ap+1) );
-+  }
-+
-+  // Truncoct flag
-+  truncoct_ = (triclinic_==FAMILIAR);
- 
-   return 0;  
- }
- 
--// Image::action()
--int Image::action() {
--  // Orthorhombic
--  double bp[3];
--  double bm[3];
--  // Non-orthorhombic
--  double ucell[9];
--  double recip[9];
--  double fc[3], ffc[3];
--  // Familiar
--  double fcom[3];
--  int ixyz[3];
--  // General
--  double boxTrans[3];
--  double Coord[3];
--
--  // Set up information for orthorhombic cell
--  if (ortho) {
--    if ( origin ) {
--      bp[0] = currentFrame->box[0] / 2.0;
--      bp[1] = currentFrame->box[1] / 2.0;
--      bp[2] = currentFrame->box[2] / 2.0;
--      bm[0] = -bp[0]; 
--      bm[1] = -bp[1];
--      bm[2] = -bp[2]; 
--    } else {
--      bp[0] = currentFrame->box[0];
--      bp[1] = currentFrame->box[1];
--      bp[2] = currentFrame->box[2];
--      bm[0] = 0.0;
--      bm[1] = 0.0; 
--      bm[2] = 0.0; 
--    }
--
--  // Set up information for non-orthorhombic cell
-+// Action_Image::action()
-+int Action_Image::action() {
-+  // Ortho
-+  double bp[3], bm[3];
-+  // Nonortho
-+  double ucell[9], recip[9], fcom[3];
-+  
-+  if (ortho_) {
-+    currentFrame->SetupImageOrtho(bp, bm, origin_);
-+    currentFrame->ImageOrtho(bp, bm, center_, useMass, imageList_);
-   } else {
--    // NOTE: Does this need to be done every time?
--    currentFrame->BoxToRecip(ucell, recip);
--    // Set up centering if putting nonortho cell into familiar trunc. oct. shape
--    if (triclinic == FAMILIAR) {
--      // Use center of mask of atoms in mask
--      if (ComMask!=NULL) {
--        if (useMass)
--          currentFrame->CenterOfMass(ComMask, fcom);
--        else
--          currentFrame->GeometricCenter(ComMask,fcom);
--      // Use origin
--      } else if (origin) {
--        fcom[0]=0.0;
--        fcom[1]=0.0;
--        fcom[2]=0.0;
--      // Use box center
--      } else {
--        fcom[0]=currentFrame->box[0] / 2.0; 
--        fcom[1]=currentFrame->box[1] / 2.0; 
--        fcom[2]=currentFrame->box[2] / 2.0;
--      }
--      //fprintf(stdout,"DEBUG: fcom = %lf %lf %lf\n",fcom[0],fcom[1],fcom[2]);
--    } 
-+    currentFrame->BoxToRecip( ucell, recip );
-+    if (truncoct_)
-+      currentFrame->SetupImageTruncoct( fcom, ComMask_, useMass, origin_ );
-+    currentFrame->ImageNonortho(origin_, fcom, ucell, recip, truncoct_,
-+                                center_, useMass, imageList_);
-   }
--
--  // Loop over Atom pairs
--  for (std::vector<atomPair>::iterator apair = imageList.begin();
--                                       apair != imageList.end();
--                                       apair++)
--  {
--    int firstAtom = (*apair).firstAtom;
--    int lastAtom  = (*apair).lastAtom;
--
--    //if (debug>2)
--    //  mprintf( "  IMAGE processing atoms %i to %i\n", firstAtom+1, lastAtom); 
--
--    // boxTrans will hold calculated translation needed to move atoms back into box
--    boxTrans[0] = 0.0;
--    boxTrans[1] = 0.0;
--    boxTrans[2] = 0.0;
--
--    // Set up position based on first atom or center of mass
--    if (center) { 
--      if (useMass)
--        currentFrame->CenterOfMass(Coord,firstAtom,lastAtom);
--      else
--        currentFrame->GeometricCenter(Coord,firstAtom,lastAtom);
--    } else
--      currentFrame->GetCoord(Coord,firstAtom);
--
--    // ORTHORHOMBIC
--    if (ortho) {
--      // Determine how far coords are out of box
--      for (int i=0; i<3; i++) {
--        while (Coord[i] < bm[i]) {
--          Coord[i] += currentFrame->box[i];
--          boxTrans[i] += currentFrame->box[i];
--        }
--        while (Coord[i] > bp[i]) {
--          Coord[i] -= currentFrame->box[i];
--          boxTrans[i] -= currentFrame->box[i];
--        }
--      }
--
--    // NON-ORTHORHOMBIC    
--    } else {
--      fc[0]=(Coord[0]*recip[0]) + (Coord[1]*recip[1]) + (Coord[2]*recip[2]);
--      fc[1]=(Coord[0]*recip[3]) + (Coord[1]*recip[4]) + (Coord[2]*recip[5]);
--      fc[2]=(Coord[0]*recip[6]) + (Coord[1]*recip[7]) + (Coord[2]*recip[8]);
--
--      if ( origin ) {
--        fc[0] += 0.5;
--        fc[1] += 0.5;
--        fc[2] += 0.5;
--      }
--
--      ffc[0] = floor(fc[0]);
--      ffc[1] = floor(fc[1]);
--      ffc[2] = floor(fc[2]);
--
--      boxTrans[0] -= (ffc[0]*ucell[0] + ffc[1]*ucell[3] + ffc[2]*ucell[6]);
--      boxTrans[1] -= (ffc[0]*ucell[1] + ffc[1]*ucell[4] + ffc[2]*ucell[7]);
--      boxTrans[2] -= (ffc[0]*ucell[2] + ffc[1]*ucell[5] + ffc[2]*ucell[8]);
--
--      // Put into familiar trunc. oct. shape
--      if (triclinic == FAMILIAR) {
--        Coord[0] += boxTrans[0];
--        Coord[1] += boxTrans[1];
--        Coord[2] += boxTrans[2];
--        MinImageNonOrtho2(Coord, fcom, currentFrame->box, (int)origin, ixyz, ucell, recip);
--        if (ixyz[0] != 0 || ixyz[1] != 0 || ixyz[2] != 0) {
--          boxTrans[0] += (ixyz[0]*ucell[0] + ixyz[1]*ucell[3] + ixyz[2]*ucell[6]);
--          boxTrans[1] += (ixyz[0]*ucell[1] + ixyz[1]*ucell[4] + ixyz[2]*ucell[7]);
--          boxTrans[2] += (ixyz[0]*ucell[2] + ixyz[1]*ucell[5] + ixyz[2]*ucell[8]);
--
--          //if (debug > 2)
--          //  mprintf( "  IMAGING, FAMILIAR OFFSETS ARE %i %i %i\n", 
--          //          ixyz[0], ixyz[1], ixyz[2]);
--        }
--      }  
--    }    
--   
--    //fprintf(stdout,"DEBUG: BoxTrans: %lf %lf %lf\n",boxTrans[0],boxTrans[1],boxTrans[2]);
--
--    // Translate atoms back into the box
--    currentFrame->Translate(boxTrans,firstAtom,lastAtom);
--
--  } // END loop over atom pairs 
--
-   return 0;
- } 
--
--
-diff --git a/AmberTools/src/cpptraj/src/Action_Image.h b/AmberTools/src/cpptraj/src/Action_Image.h
-index ba233c1..139246e 100644
---- a/AmberTools/src/cpptraj/src/Action_Image.h
-+++ b/AmberTools/src/cpptraj/src/Action_Image.h
-@@ -1,31 +1,28 @@
- #ifndef INC_ACTION_IMAGE_H
- #define INC_ACTION_IMAGE_H
--// Class: Image
-+// Class: Action_Image
- /// Action to wrap coordinates back into primary box
- #include "Action.h"
--class Image: public Action {
-+class Action_Image: public Action {
-+  public:
-+    Action_Image();
-+    ~Action_Image();
-+  private:
-     /// Only atoms in Mask1 will be imaged
--    AtomMask Mask1;
-+    AtomMask Mask1_;
-     /// If defined, image w.r.t. the center of atoms in ComMask.
--    AtomMask *ComMask;
-+    AtomMask *ComMask_;
-     /// If true image w.r.t. coordinate origin, otherwise box center
--    bool origin;
-+    bool origin_;
-     /// If true molecules will be imaged w.r.t. their center, otherwise first atom will be used
--    bool center;
-+    bool center_;
-     /// True if orthorhombic cell, false otherwise.
--    bool ortho;
-+    bool ortho_;
-+    bool truncoct_;
-     enum TriclinicArg {OFF, FORCE, FAMILIAR};
--    TriclinicArg triclinic;
--    struct atomPair {
--      int firstAtom;
--      int lastAtom;
--    };
-+    TriclinicArg triclinic_;
-     /// Vector containing atom ranges to be imaged (first to last)
--    std::vector<atomPair> imageList; 
--
--  public:
--    Image();
--    ~Image();
-+    std::vector<int> imageList_; 
- 
-     int init();
-     int setup();
-diff --git a/AmberTools/src/cpptraj/src/CpptrajState.cpp b/AmberTools/src/cpptraj/src/CpptrajState.cpp
-index 7aa0e9e..4ce4228 100644
---- a/AmberTools/src/cpptraj/src/CpptrajState.cpp
-+++ b/AmberTools/src/cpptraj/src/CpptrajState.cpp
-@@ -209,11 +209,16 @@ int CpptrajState::Run() {
-     }
-     // Set current parm from current traj.
-     CurrentParm = traj->TrajParm();
-+    // Check if parm has changed
-+    bool parmHasChanged = (lastPindex != CurrentParm->pindex);
- 
--    // If Parm has changed, reset Frame and actions for new topology.
--    if (lastPindex != CurrentParm->pindex) {
--      // Set up the incoming trajectory frame for this parm
-+    // If Parm has changed or trajectory velocity status has changed,
-+    // reset the frame.
-+    if (parmHasChanged || ((TrajFrame.V != NULL) != traj->HasVelocity()))
-       TrajFrame.SetupFrameV(CurrentParm->natom, CurrentParm->mass, traj->HasVelocity());
-+
-+    // If Parm has changed, reset actions for new topology.
-+    if (parmHasChanged) {
-       // Set up actions for this parm
-       if (actionList.Setup( &CurrentParm )) {
-         mprintf("WARNING: Could not set up actions for %s: skipping.\n",
-diff --git a/AmberTools/src/cpptraj/src/Frame.cpp b/AmberTools/src/cpptraj/src/Frame.cpp
-index 3a8add6..0adbe67 100644
---- a/AmberTools/src/cpptraj/src/Frame.cpp
-+++ b/AmberTools/src/cpptraj/src/Frame.cpp
-@@ -462,20 +462,29 @@ void Frame::InverseRotate(double *T) {
-   * or box center. Use geometric center if mass is NULL, otherwise center 
-   * of mass will be used.
-   */
--void Frame::Center(AtomMask *Mask, double *boxcoord, bool useMassIn) {
-+void Frame::Center(AtomMask& Mask, bool origin, bool useMassIn) {
-   double center[3];
- 
-   if (useMassIn)
--    this->CenterOfMass(Mask, center);
-+    this->CenterOfMass(&Mask, center);
-   else
--    this->GeometricCenter(Mask, center);
-+    this->GeometricCenter(&Mask, center);
-   //mprinterr("  FRAME CENTER: %lf %lf %lf\n",center[0],center[1],center[2]); //DEBUG
- 
--  // Shift to whatever is in boxcoord (origin or center of box in Action_Center) 
--  center[0] = boxcoord[0] - center[0]; 
--  center[1] = boxcoord[1] - center[1]; 
--  center[2] = boxcoord[2] - center[2];
-+  if (origin) {
-+    // Shift to coordinate origin (0,0,0)
-+    center[0] = -center[0];
-+    center[1] = -center[1];
-+    center[2] = -center[2];
-+  } else {
-+    // Shift to box center
-+    center[0] = (box[0] / 2) - center[0];
-+    center[1] = (box[1] / 2) - center[1];
-+    center[2] = (box[2] / 2) - center[2];
-+  }
-+
-   this->Translate(center);
-+
- }
- 
- // Frame::CenterReference()
-@@ -510,6 +519,202 @@ void Frame::ShiftToGeometricCenter( ) {
-   this->Translate(frameCOM);
- }
- 
-+void Frame::SetupImageTruncoct( double* fcom, AtomMask* ComMask, bool useMass, bool origin )
-+{
-+  // Set up centering if putting nonortho cell into familiar trunc. oct. shape
-+  //if (truncoct) {
-+    if (ComMask!=NULL) {
-+      // Use center of atoms in mask
-+      if (useMass)
-+        CenterOfMass(ComMask, fcom);
-+      else
-+        GeometricCenter(ComMask, fcom);
-+    } else if (origin) {
-+      // Use origin
-+      fcom[0] = 0;
-+      fcom[1] = 0;
-+      fcom[2] = 0;
-+    } else {
-+      // Use box center
-+      fcom[0] = box[0] / 2;
-+      fcom[1] = box[1] / 2;
-+      fcom[2] = box[2] / 2;
-+    }
-+    //fprintf(stdout,"DEBUG: fcom = %lf %lf %lf\n",fcom[0],fcom[1],fcom[2]);
-+  //}
-+}
-+
-+// Frame::ImageNonortho()
-+void Frame::ImageNonortho(bool origin, double* fcom, double* ucell, double* recip,
-+                          bool truncoct, bool center,
-+                          bool useMass, std::vector<int> &AtomPairs)
-+{
-+  //double ucell[9], recip[9], 
-+  double boxTrans[3], Coord[3];
-+  // fcom and ixyz only needed for truncoct
-+  //double fcom[3];
-+
-+  //BoxToRecip(ucell, recip);
-+
-+  // Loop over atom pairs
-+  for (std::vector<int>::iterator atom = AtomPairs.begin();
-+                                  atom != AtomPairs.end();
-+                                  atom++)
-+  {
-+    int firstAtom = *atom;
-+    ++atom;
-+    int lastAtom = *atom;
-+    //if (debug>2)
-+    //  mprintf( "  IMAGE processing atoms %i to %i\n", firstAtom+1, lastAtom);
-+    // boxTrans will hold calculated translation needed to move atoms back into box
-+    boxTrans[0] = 0;
-+    boxTrans[1] = 0;
-+    boxTrans[2] = 0;
-+    // Set up Coord with position to check for imaging based on first atom or 
-+    // center of mass of atoms first to last.
-+    if (center) {
-+      if (useMass)
-+        CenterOfMass(Coord,firstAtom,lastAtom);
-+      else
-+        GeometricCenter(Coord,firstAtom,lastAtom);
-+    } else {
-+      int atomidx = firstAtom * 3;
-+      Coord[0] = X[atomidx];
-+      ++atomidx;
-+      Coord[1] = X[atomidx];
-+      ++atomidx;
-+      Coord[2] = X[atomidx];
-+    }
-+
-+    ImageNonortho(boxTrans, Coord, truncoct, origin,
-+                  ucell, recip, fcom);
-+
-+    Translate(boxTrans, firstAtom, lastAtom);
-+
-+  } // END loop over atom pairs
-+}
-+
-+// Frame::ImageNonortho()
-+void Frame::ImageNonortho(double* boxTrans, double* Coord,
-+                          bool truncoct, bool origin,
-+                          double* ucell, double* recip, double* fcom)
-+{
-+  double fc[3], ffc[3];
-+  int ixyz[3];
-+
-+  fc[0]=(Coord[0]*recip[0]) + (Coord[1]*recip[1]) + (Coord[2]*recip[2]);
-+  fc[1]=(Coord[0]*recip[3]) + (Coord[1]*recip[4]) + (Coord[2]*recip[5]);
-+  fc[2]=(Coord[0]*recip[6]) + (Coord[1]*recip[7]) + (Coord[2]*recip[8]);
-+
-+  if ( origin ) {
-+    fc[0] += 0.5;
-+    fc[1] += 0.5;
-+    fc[2] += 0.5;
-+  }
-+
-+  ffc[0] = floor(fc[0]);
-+  ffc[1] = floor(fc[1]);
-+  ffc[2] = floor(fc[2]);
-+
-+  boxTrans[0] -= (ffc[0]*ucell[0] + ffc[1]*ucell[3] + ffc[2]*ucell[6]);
-+  boxTrans[1] -= (ffc[0]*ucell[1] + ffc[1]*ucell[4] + ffc[2]*ucell[7]);
-+  boxTrans[2] -= (ffc[0]*ucell[2] + ffc[1]*ucell[5] + ffc[2]*ucell[8]);
-+
-+  // Put into familiar trunc. oct. shape
-+  if (truncoct) {
-+    Coord[0] += boxTrans[0];
-+    Coord[1] += boxTrans[1];
-+    Coord[2] += boxTrans[2];
-+    MinImageNonOrtho2(Coord, fcom, box, (int)origin, ixyz, ucell, recip);
-+    if (ixyz[0] != 0 || ixyz[1] != 0 || ixyz[2] != 0) {
-+      boxTrans[0] += (ixyz[0]*ucell[0] + ixyz[1]*ucell[3] + ixyz[2]*ucell[6]);
-+      boxTrans[1] += (ixyz[0]*ucell[1] + ixyz[1]*ucell[4] + ixyz[2]*ucell[7]);
-+      boxTrans[2] += (ixyz[0]*ucell[2] + ixyz[1]*ucell[5] + ixyz[2]*ucell[8]);
-+
-+      //if (debug > 2)
-+      //  mprintf( "  IMAGING, FAMILIAR OFFSETS ARE %i %i %i\n", 
-+      //          ixyz[0], ixyz[1], ixyz[2]);
-+    }
-+  }
-+}
-+
-+void Frame::SetupImageOrtho(double* bp, double* bm, bool origin) {
-+  // Set up boundary information for orthorhombic cell
-+  if (origin) {
-+    bp[0] = box[0] / 2;
-+    bp[1] = box[1] / 2;
-+    bp[2] = box[2] / 2;
-+    bm[0] = -bp[0];
-+    bm[1] = -bp[1];
-+    bm[2] = -bp[2];
-+  } else {
-+    bp[0] = box[0];
-+    bp[1] = box[1];
-+    bp[2] = box[2];
-+    bm[0] = 0;
-+    bm[1] = 0;
-+    bm[2] = 0;
-+  }
-+}
-+
-+// Frame::ImageOrtho()
-+void Frame::ImageOrtho(double* bp, double* bm, bool center, bool useMass,
-+                       std::vector<int> &AtomPairs)
-+{
-+  double boxTrans[3], Coord[3];
-+
-+  // Loop over atom pairs
-+  for (std::vector<int>::iterator atom = AtomPairs.begin();
-+                                  atom != AtomPairs.end();
-+                                  atom++)
-+  {
-+    int firstAtom = *atom;
-+    ++atom;
-+    int lastAtom = *atom;
-+    //if (debug>2)
-+    //  mprintf( "  IMAGE processing atoms %i to %i\n", firstAtom+1, lastAtom);
-+    // boxTrans will hold calculated translation needed to move atoms back into box
-+    boxTrans[0] = 0;
-+    boxTrans[1] = 0;
-+    boxTrans[2] = 0;
-+    // Set up Coord with position to check for imaging based on first atom or 
-+    // center of mass of atoms first to last.
-+    if (center) {
-+      if (useMass)
-+        CenterOfMass(Coord,firstAtom,lastAtom);
-+      else
-+        GeometricCenter(Coord,firstAtom,lastAtom);
-+    } else {
-+      int atomidx = firstAtom * 3;
-+      Coord[0] = X[atomidx];
-+      ++atomidx;
-+      Coord[1] = X[atomidx];
-+      ++atomidx;
-+      Coord[2] = X[atomidx];
-+    }
-+    ImageOrtho(boxTrans, Coord,bp,bm);
-+
-+    // Translate atoms according to Coord
-+    Translate(boxTrans,firstAtom,lastAtom);
-+  } // END loop over atom pairs
-+}
-+
-+void Frame::ImageOrtho(double* boxTrans, double* Coord, double* bp, double* bm)
-+{
-+    // Determine how far Coord is out of box
-+    for (int i=0; i < 3; i++) {
-+      while (Coord[i] < bm[i]) {
-+        Coord[i] += box[i];
-+        boxTrans[i] += box[i];
-+      }
-+      while (Coord[i] > bp[i]) {
-+        Coord[i] -= box[i];
-+        boxTrans[i] -= box[i];
-+      }
-+    }
-+}
-+
-+
- /* -------------- Coordinate Assignment/Extraction Routines ----------------- */
- // Frame::printAtomCoord()
- /** Print XYZ coords of given atom */
-diff --git a/AmberTools/src/cpptraj/src/Frame.h b/AmberTools/src/cpptraj/src/Frame.h
-index fb9be8b..b24f86c 100644
---- a/AmberTools/src/cpptraj/src/Frame.h
-+++ b/AmberTools/src/cpptraj/src/Frame.h
-@@ -53,9 +53,15 @@ class Frame {
-     void Trans_Rot_Trans(double *, double *);
-     void Rotate(double *);
-     void InverseRotate(double *);
--    void Center(AtomMask *, double *,bool);
-+    void Center(AtomMask&, bool,bool);
-     void CenterReference(double *, bool);
-     void ShiftToGeometricCenter();
-+    void SetupImageTruncoct(double*, AtomMask*,bool,bool);
-+    void ImageNonortho(bool, double*, double*, double*, bool, bool, bool, std::vector<int> &);
-+    void ImageNonortho(double*, double*, bool, bool, double*, double*, double*);
-+    void SetupImageOrtho(double*, double*, bool);
-+    void ImageOrtho(double*,double*, bool, bool, std::vector<int> &);
-+    void ImageOrtho(double*, double*, double*, double*);
-     // Coordinate assignment/extraction
-     void printAtomCoord(int);
-     void GetCoord(double *, int);
-diff --git a/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp b/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp
-index 98d1059..c11edc1 100644
---- a/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp
-+++ b/AmberTools/src/cpptraj/src/Parm_CharmmPsf.cpp
-@@ -14,7 +14,7 @@ int CharmmPsfParmFile::ReadParm(AmberParm &parmOut, CpptrajFile &parmfile) {
-   int bondatoms[8];
-   int currResnum;
-   int psfresnum;
--  int psfattype;
-+  char psfattype[6];
-   int nbond,nlines;
- 
-   mprintf("    Reading Charmm PSF file %s as topology file.\n",parmOut.parmName);
-@@ -58,8 +58,8 @@ int CharmmPsfParmFile::ReadParm(AmberParm &parmOut, CpptrajFile &parmfile) {
-     //if (buffer[bufferLen-1] == '\n') buffer[bufferLen-1]='\0';
-     // Read line
-     // ATOM# SEGID RES# RES ATNAME ATTYPE CHRG MASS (REST OF COLUMNS ARE LIKELY FOR CMAP AND CHEQ)
--    sscanf(buffer,"%*i %*s %i %s %s %i %lf %lf",&psfresnum,psfresname,psfname,
--           &psfattype,parmOut.charge+atom,parmOut.mass+atom);
-+    sscanf(buffer,"%*i %*s %i %s %s %s %lf %lf",&psfresnum,psfresname,psfname,
-+           psfattype,parmOut.charge+atom,parmOut.mass+atom);
-     // Ensure name has 4 chars
-     PadWithSpaces( psfname );
-     strcpy(parmOut.names[atom],psfname);
-diff --git a/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp b/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp
-index d2a398a..6d060a6 100644
---- a/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp
-+++ b/AmberTools/src/cpptraj/src/Traj_AmberRestart.cpp
-@@ -9,6 +9,7 @@
- // CONSTRUCTOR
- AmberRestart::AmberRestart() {
-   restartAtoms=0;
-+  coordSize_ = 0;
-   frameSize=0;
-   frameBuffer=NULL;
-   numBoxCoords=0;
-@@ -218,6 +219,7 @@ int AmberRestart::setupRead(AmberParm *trajParm) {
-   // For DOS files CR present before newline
-   if (tfile->isDos) frame_lines*=2;
-   frameSize = ((natom3 * 12) + frame_lines);
-+  coordSize_ = frameSize;
-   frameBuffer=(char*) malloc(frameSize*sizeof(char));
-   //if (debug>0) mprintf("    Amber Restart frameSize= %i\n",frameSize);
- 
-@@ -302,13 +304,16 @@ int AmberRestart::readFrame(int set,double *X,double *V,double *box, double *T)
-     return 1;  
-   }
-   // Get velocity from buffer if present
--  if (hasVelocity && V!=NULL) {
--    if ( (bufferPosition = BufferToDouble(bufferPosition, V, natom3, 12))==NULL ) {
--      mprinterr("Error: AmberRestart::getFrame: * detected in velocities of %s\n",
--              tfile->filename);
--      return 1;
-+  if (hasVelocity) {
-+    if (V != NULL) {
-+      if ( (bufferPosition = BufferToDouble(bufferPosition, V, natom3, 12))==NULL ) {
-+        mprinterr("Error: AmberRestart::getFrame: * detected in velocities of %s\n",
-+                tfile->filename);
-+        return 1;
-+      }
-+    } else {
-+      bufferPosition += coordSize_;
-     }
--    //F->V->printAtomCoord(0);
-   }
-   // Get box from buffer if present
-   if (hasBox) {
-diff --git a/AmberTools/src/cpptraj/src/Traj_AmberRestart.h b/AmberTools/src/cpptraj/src/Traj_AmberRestart.h
-index ba21b2a..b231874 100644
---- a/AmberTools/src/cpptraj/src/Traj_AmberRestart.h
-+++ b/AmberTools/src/cpptraj/src/Traj_AmberRestart.h
-@@ -7,6 +7,7 @@ class AmberRestart : public TrajectoryIO {
-     int restartAtoms;     ///< Number of atoms in restart file
-     int natom3;           ///< Number of coords
-     int frameSize;        ///< Size of 1 coord frame in bytes, inc box & velo if present
-+    size_t coordSize_;    ///< Size of 1 coord frame in bytes, used for blank reads.
-     char *frameBuffer;    ///< Used to read in restart coord
-     int numBoxCoords;     ///< Number of box coords (3 or 6)
-     double restartTime;   ///< Time in restart file, read in
-diff --git a/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp b/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp
-index 8563938..6074b05 100644
---- a/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp
-+++ b/AmberTools/src/cpptraj/src/Traj_CharmmDcd.cpp
-@@ -203,7 +203,39 @@ int CharmmDcd::WriteBlock(int blocksize) {
- /** Call openTraj, which reads the DCD header and all necessary info.
-   */
- int CharmmDcd::setupRead(AmberParm *trajParm) {
-+  size_t boxBytes, dim;
-   if ( openTraj() ) return -1;
-+  // DCD file may have less frames than is stored in the header. 
-+  // Check the file size against the reported number of frames.
-+  if (hasBox)
-+    boxBytes = 56; // 6(crds) * 8(double) + 4(hdr) + 4(end hdr)
-+  else
-+    boxBytes = 0;
-+  if (dcd4D)
-+    dim = 4;
-+  else
-+    dim = 3;
-+  size_t dimBytes = dim * sizeof(float);
-+  size_t frame1Bytes = (((size_t) dcdatom+2         ) * dimBytes) + boxBytes;
-+  size_t frameNBytes = (((size_t)(dcdatom - namnf)+2) * dimBytes) + boxBytes;
-+  // Header size should be current position after open, which automatically
-+  // reads DCD header.
-+  size_t headerBytes = (size_t)tfile->IO->Tell();
-+  size_t file_size = (size_t)tfile->file_size - headerBytes - frame1Bytes;
-+  if ( (file_size % frameNBytes) != 0 ) {
-+    mprintf("Warning: %s: Number of frames in DCD file could not be accurately determined.\n",
-+            tfile->filename);
-+    mprintf("Warning:\t\tFile may be corrupted.\n");
-+  }
-+  int nframes = (int)(file_size / frameNBytes) + 1; // +1 for first frame
-+  if (nframes != dcdframes) {
-+    mprintf("Warning: %s: Reported number of frames in DCD file is %i,\n", 
-+            tfile->filename, dcdframes);
-+    mprintf("Warning:\tactual number of frames is %i. Only reading %i frames.\n",
-+            nframes, nframes);
-+    dcdframes = nframes;
-+  }
-+
-   closeTraj();
-   return dcdframes;
- }
-diff --git a/AmberTools/src/cpptraj/src/TrajectoryFile.cpp b/AmberTools/src/cpptraj/src/TrajectoryFile.cpp
-index e51b442..1fb8d14 100644
---- a/AmberTools/src/cpptraj/src/TrajectoryFile.cpp
-+++ b/AmberTools/src/cpptraj/src/TrajectoryFile.cpp
-@@ -635,6 +635,7 @@ FileFormat TrajectoryFile::getFmtFromArg(ArgList *argIn, FileFormat def) {
-   else if ( argIn->hasKey("restartnc")) writeFormat=AMBERRESTARTNC;
-   else if ( argIn->hasKey("mol2")     ) writeFormat=MOL2FILE;
-   else if ( argIn->hasKey("dcd")      ) writeFormat=CHARMMDCD;
-+  else if ( argIn->hasKey("charmm")   ) writeFormat=CHARMMDCD;
-   return writeFormat;
- }
- 
-diff --git a/AmberTools/src/cpptraj/src/cpptrajdepend b/AmberTools/src/cpptraj/src/cpptrajdepend
-index c8a9751..27016ab 100644
---- a/AmberTools/src/cpptraj/src/cpptrajdepend
-+++ b/AmberTools/src/cpptraj/src/cpptrajdepend
-@@ -38,13 +38,14 @@ Action_Center.o : Action_Center.cpp Action.h Action_Center.h AmberParm.h ArgList
- FileIO_Bzip2.o : FileIO_Bzip2.cpp CpptrajStdio.h FileIO.h FileIO_Bzip2.h
- Action_Hbond.o : Action_Hbond.cpp Action.h Action_Hbond.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
- DataSet_integer.o : DataSet_integer.cpp CharBuffer.h CpptrajStdio.h DataSet.h DataSet_integer.h MpiRoutines.h
--Action_Image.o : Action_Image.cpp Action.h Action_Image.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DistRoutines.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
-+Action_Image.o : Action_Image.cpp Action.h Action_Image.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
- Action_Surf.o : Action_Surf.cpp Action.h Action_Surf.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
- Action_Radgyr.o : Action_Radgyr.cpp Action.h Action_Radgyr.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
- Action_Mask.o : Action_Mask.cpp Action.h Action_Mask.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h ProgressBar.h Range.h TrajectoryFile.h TrajectoryIO.h
- Action_Closest.o : Action_Closest.cpp Action.h Action_Closest.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFile.h ParmFileList.h
- NetcdfRoutines.o : NetcdfRoutines.cpp CpptrajStdio.h NetcdfRoutines.h
- CpptrajStdio.o : CpptrajStdio.cpp MpiRoutines.h
-+Action_AutoImage.o : Action_AutoImage.cpp Action.h Action_AutoImage.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DistRoutines.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h
- Mol2FileRoutines.o : Mol2FileRoutines.cpp CharBuffer.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h Mol2FileRoutines.h Name.h
- Action_NAstruct.o : Action_NAstruct.cpp Action.h Action_NAstruct.h AmberParm.h ArgList.h AtomMask.h AxisType.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DistRoutines.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h Range.h vectormath.h
- DistRoutines.o : DistRoutines.cpp Constants.h DistRoutines.h
-@@ -80,7 +81,7 @@ Action_Jcoupling.o : Action_Jcoupling.cpp Action.h Action_Jcoupling.h AmberParm.
- TriangleMatrix.o : TriangleMatrix.cpp CpptrajStdio.h TriangleMatrix.h
- Action_Clustering.o : Action_Clustering.cpp Action.h Action_Clustering.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h ClusterList.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h ProgressBar.h Range.h TrajectoryFile.h TrajectoryIO.h TriangleMatrix.h
- ClusterList.o : ClusterList.cpp CharBuffer.h ClusterList.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h TriangleMatrix.h
--Traj_CharmmDcd.o : Traj_CharmmDcd.cpp AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h Name.h Traj_CharmmDcd.h TrajectoryIO.h
-+Traj_CharmmDcd.o : Traj_CharmmDcd.cpp AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h Constants.h CpptrajFile.h CpptrajStdio.h FileIO.h FileRoutines.h Name.h Traj_CharmmDcd.h TrajectoryIO.h
- Bonds.o : Bonds.cpp Bonds.h CpptrajStdio.h Name.h
- FileRoutines.o : FileRoutines.cpp FileRoutines.h
- Action_Pairwise.o : Action_Pairwise.cpp Action.h Action_Pairwise.h AmberParm.h ArgList.h AtomMask.h Bonds.h BoxType.h CharBuffer.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h FileIO.h FileRoutines.h Frame.h FrameList.h Name.h ParmFileList.h ProgressBar.h Range.h TrajectoryFile.h TrajectoryIO.h vectormath.h
-diff --git a/AmberTools/src/cpptraj/src/cpptrajfiles b/AmberTools/src/cpptraj/src/cpptrajfiles
-index f7ecc50..9c05282 100644
---- a/AmberTools/src/cpptraj/src/cpptrajfiles
-+++ b/AmberTools/src/cpptraj/src/cpptrajfiles
-@@ -10,7 +10,7 @@ SOURCE=main.cpp AmberParm.cpp \
-        Action_DSSP.cpp DataSet_string.cpp Action_Center.cpp FileIO_Bzip2.cpp \
-        Action_Hbond.cpp DataSet_integer.cpp Action_Image.cpp Action_Surf.cpp \
-        Action_Radgyr.cpp Action_Mask.cpp Action_Closest.cpp \
--       NetcdfRoutines.cpp CpptrajStdio.cpp \
-+       NetcdfRoutines.cpp CpptrajStdio.cpp Action_AutoImage.cpp \
-        Mol2FileRoutines.cpp Action_NAstruct.cpp DistRoutines.cpp AxisType.cpp \
-        TorsionRoutines.cpp Action_Pucker.cpp Range.cpp Action_Outtraj.cpp \
-        Action_Rms2d.cpp ProgressBar.cpp TrajectoryIO.cpp \
-@@ -42,7 +42,7 @@ OBJECTS=main.o AmberParm.o \
-         Action_DSSP.o DataSet_string.o Action_Center.o FileIO_Bzip2.o \
-         Action_Hbond.o DataSet_integer.o Action_Image.o Action_Surf.o \
-         Action_Radgyr.o Action_Mask.o Action_Closest.o \
--        NetcdfRoutines.o CpptrajStdio.o \
-+        NetcdfRoutines.o CpptrajStdio.o Action_AutoImage.o \
-         Mol2FileRoutines.o Action_NAstruct.o DistRoutines.o AxisType.o \
-         TorsionRoutines.o Action_Pucker.o Range.o Action_Outtraj.o \
-         Action_Rms2d.o ProgressBar.o TrajectoryIO.o \
-@@ -74,7 +74,7 @@ HEADERS=AmberParm.h \
-         Action_DSSP.h DataSet_string.h Action_Center.h FileIO_Bzip2.h \
-         Action_Hbond.h DataSet_integer.h Action_Image.h Action_Surf.h \
-         Action_Radgyr.h Action_Mask.h Action_Closest.h \
--        NetcdfRoutines.h CpptrajStdio.h \
-+        NetcdfRoutines.h CpptrajStdio.h Action_AutoImage.h \
-         Mol2FileRoutines.h Action_NAstruct.h DistRoutines.h AxisType.h \
-         TorsionRoutines.h Action_Pucker.h Range.h Action_Outtraj.h \
-         Action_Rms2d.h ProgressBar.h TrajectoryIO.h \
-diff --git a/AmberTools/src/cpptraj/src/main.cpp b/AmberTools/src/cpptraj/src/main.cpp
-index 23f290e..4fc0434 100644
---- a/AmberTools/src/cpptraj/src/main.cpp
-+++ b/AmberTools/src/cpptraj/src/main.cpp
-@@ -9,7 +9,7 @@
- #include <cstdio>
- #include <cstdlib> // atoi
- #ifndef CPPTRAJ_VERSION_STRING
--#define CPPTRAJ_VERSION_STRING "V12.1"
-+#define CPPTRAJ_VERSION_STRING "V12.4"
- #define CPPTRAJ_INTERNAL_VERSION "V2.4.7b"
- #endif
- 
-diff --git a/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py b/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py
-index b01b891..0349ba9 100644
---- a/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py
-+++ b/AmberTools/src/mmpbsa_py/MMPBSA_mods/amber_outputs.py
-@@ -1152,7 +1152,7 @@ class BindingStatistics(object):
-       classes and returns the average and standard deviation of that diff.
-       """
-       if len(self.data[key1]) != len(other.data[key2]):
--         return (self.data[key1].avg() - self.data[key2].avg(),
-+         return (self.data[key1].avg() - other.data[key2].avg(),
-                  sqrt(self.data[key1].stdev()**2 + other.data[key2].stdev()**2))
-       
-       mydiff = self.data[key1] - other.data[key2]
-diff --git a/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py b/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py
-index dd010e7..6a2cd98 100644
---- a/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py
-+++ b/AmberTools/src/mmpbsa_py/MMPBSA_mods/calculation.py
-@@ -104,7 +104,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
- 
-       if not stability:
-          # Don't re-run the receptor if we don't have to
--         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
-+         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in receptor -- using unmutated files'
-             shutil.copy('%sreceptor_gb.mdout.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -127,7 +128,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-             calc.Setup()
-             calc.Run()
- 
--         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
-+         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in ligand -- using unmutated files'
-             shutil.copy('%sligand_gb.mdout.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -166,15 +168,16 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
- 
-       print '  calculating complex contribution...'
- 
--      calc = EnergyCalculation(progs['pb'], parmsystem.complex_prmtop,
-+      calc = PBEnergyCalculation(progs['pb'], parmsystem.complex_prmtop,
-                    incrd, '%scomplex.%s.%d' % (prefix, trj_sfx, rank), mdin, 
-                    '%scomplex_pb.mdout.%d' % (prefix, rank), 
-                    '_MMPBSA_restrt.%d' % rank)
-       calc.Setup()
--      calc.Run(stdout=os.devnull)
-+      calc.Run()
- 
-       if not stability:
--         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
-+         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in receptor -- using unmutated files'
-             shutil.copy('%sreceptor_pb.mdout.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -188,14 +191,15 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-             if 'mmpbsa_py_energy' in progs['pb']: incrd = '%sreceptor.pdb' % prefix
-             else: incrd = '%sdummyreceptor.inpcrd' % prefix
-    
--            calc = EnergyCalculation(progs['pb'], parmsystem.receptor_prmtop,
-+            calc = PBEnergyCalculation(progs['pb'], parmsystem.receptor_prmtop,
-                      incrd, '%sreceptor.%s.%d' % (prefix, trj_sfx, rank), mdin,
-                      '%sreceptor_pb.mdout.%d' % (prefix, rank),
-                      '_MMPBSA_restrt.%d' % rank)
-             calc.Setup()
--            calc.Run(stdout=os.devnull)
-+            calc.Run()
- 
--         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
-+         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in ligand -- using unmutated files'
-             shutil.copy('%sligand_pb.mdout.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -207,12 +211,12 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-             if 'mmpbsa_py_energy' in progs['pb']: incrd = '%sligand.pdb' % prefix
-             else: incrd = '%sdummyligand.inpcrd' % prefix
-    
--            calc = EnergyCalculation(progs['pb'], parmsystem.ligand_prmtop,
-+            calc = PBEnergyCalculation(progs['pb'], parmsystem.ligand_prmtop,
-                      incrd, '%sligand.%s.%d' % (prefix, trj_sfx, rank), mdin,
-                      '%sligand_pb.mdout.%d' % (prefix, rank),
-                      '_MMPBSA_restrt.%d' % rank)
-             calc.Setup()
--            calc.Run(stdout=os.devnull)
-+            calc.Run()
- 
-       MMPBSA_Timer.StopTimer('pb')
- 
-@@ -232,7 +236,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-       calc.Run()
- 
-       if not stability:
--         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
-+         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in receptor -- using unmutated files'
-             shutil.copy('%sreceptor_rism.mdout.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -246,7 +251,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-             calc.Setup()
-             calc.Run()
-                
--         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
-+         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in ligand -- using unmutated files'
-             shutil.copy('%sligand_rism.mdout.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -278,7 +284,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-       calc.Run()
- 
-       if not stability:
--         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop:
-+         if mutant and FILES.receptor_prmtop == FILES.mutant_receptor_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in receptor -- using unmutated files'
-             shutil.copy('%sreceptor_nm.out.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -291,7 +298,8 @@ def run_calculations(FILES, INPUT, rank, MMPBSA_Timer, extern_progs, prefix,
-             calc.Setup()
-             calc.Run()
- 
--         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop:
-+         if mutant and FILES.ligand_prmtop == FILES.mutant_ligand_prmtop \
-+                   and not INPUT['mutant_only']:
-             print '  no mutation found in ligand -- using unmutated files'
-             shutil.copy('%sligand_nm.out.%d' % (
-                         prefix[:prefix.index('mutant')], rank), 
-@@ -605,3 +613,55 @@ class QuasiHarmCalc(Calculation):
-       Calculation.Run(self, stdout=self.output)
- 
- #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+
-+class PBEnergyCalculation(EnergyCalculation):
-+   """
-+   Specially handle the PB calculations to extract warnings and errors PBSA
-+   prints to stdout and redirect them to the user
-+   """
-+   def Run(self, stderr=sys.stderr):
-+      """ Runs the program. All command-line arguments must be set before 
-+          calling this method. Command-line arguments should be set in Setup()
-+      """
-+      import re
-+      from subprocess import Popen, PIPE
-+
-+      # If this has not been set up yet
-+      # then raise a stink
-+      if not self.calc_setup:
-+         raise CalcError('Cannot run a calculation without calling its' +
-+                        ' its Setup() function!') 
-+
-+      errorre = re.compile('(pb (?:bomb)|(?:warning))', re.I)
-+      # Here, make sure that we could pass a file *OR* a string as stderr.
-+      if type(stderr).__name__ == 'str':
-+         stderr_is_string = True
-+         process_stderr = open(stderr, 'w', 0)
-+      else:
-+         stderr_is_string = False
-+         process_stderr = stderr
-+
-+      # The Setup() method sets the command-line arguments and makes sure that
-+      # all of the CL arguments are set. Now all we have to do is start the 
-+      # process and monitor it for success.
-+
-+      # Popen can only take strings as command-line arguments, so convert 
-+      # everything to a string here
-+      for i in range(len(self.command_args)):
-+         self.command_args[i] = str(self.command_args[i])
-+
-+      process = Popen(self.command_args, stdin=None, stdout=PIPE,
-+                      stderr=process_stderr)
-+
-+      out, err = process.communicate('')
-+      calc_failed = bool(process.wait())
-+
-+      if stderr_is_string: process_stderr.close()
-+
-+      if calc_failed:
-+         error_list = [s.strip() for s in out.split('\n') 
-+                                       if errorre.match(s.strip())]
-+         raise CalcError('%s failed with prmtop %s!\n\t' % (self.program,
-+                         self.prmtop) + '\n\t'.join(error_list) + '\n')
-+
-+#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-diff --git a/AmberTools/src/parmed/ParmedTools/ParmedActions.py b/AmberTools/src/parmed/ParmedTools/ParmedActions.py
-index 4dd905f..4ea4a52 100644
---- a/AmberTools/src/parmed/ParmedTools/ParmedActions.py
-+++ b/AmberTools/src/parmed/ParmedTools/ParmedActions.py
-@@ -604,16 +604,15 @@ class changeljsingletype(Action):
-       from math import sqrt
-       from ParmedTools.exceptions import LJ_TypeError
-       # If this is an empty mask do nothing
--      if not self.orig_radius: return
-+      if self.orig_radius is None: return
-       # Make sure we've only selected a single atom type with our mask
-       attype = None
--      iter = 0
--      for sel in self.mask.Selection():
-+      for i, sel in enumerate(self.mask.Selection()):
-          if sel == 1:
--            if not attype:
--               attype = self.parm.parm_data['ATOM_TYPE_INDEX'][iter]
-+            if attype is None:
-+               attype = self.parm.parm_data['ATOM_TYPE_INDEX'][i]
-             else:
--               if attype != self.parm.parm_data['ATOM_TYPE_INDEX'][iter]:
-+               if attype != self.parm.parm_data['ATOM_TYPE_INDEX'][i]:
-                   raise LJ_TypeError('changeLJSingleType: ' +
-                           'Selection mask has multiple atom types!')
-       # Fill the Lennard-Jones radius and depth arrays to make sure they're
-@@ -631,10 +630,6 @@ class changeljsingletype(Action):
-          bcoef = 2 * wij * rij ** 6
-          self.parm.parm_data['LENNARD_JONES_ACOEF'][lj_index] = acoef
-          self.parm.parm_data['LENNARD_JONES_BCOEF'][lj_index] = bcoef
--         lj_index = self.parm.parm_data['NONBONDED_PARM_INDEX'][
--            self.parm.ptr('ntypes') * (attype-1) + i] - 1
--         self.parm.parm_data['LENNARD_JONES_ACOEF'][lj_index] = acoef
--         self.parm.parm_data['LENNARD_JONES_BCOEF'][lj_index] = bcoef
- 
- #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- 
-diff --git a/AmberTools/src/pbsa/gen_dx_file.F90 b/AmberTools/src/pbsa/gen_dx_file.F90
-index 475b6ef..d50e453 100644
---- a/AmberTools/src/pbsa/gen_dx_file.F90
-+++ b/AmberTools/src/pbsa/gen_dx_file.F90
-@@ -37,6 +37,7 @@ subroutine gen_dx_file(xm,ym,zm,h,gox,goy,goz,voldata,filename,fn,dataname)
-                         end if
-                     end do
-                 end do; end do
-+                if (.not.(MOD(cnt,3).eq. 0) ) write(fn,*) ''
-                 write(fn,*) 'attribute "dep" string "positions"'
-                 write(fn,*) 'object "',dataname,'" class field'
-                 write(fn,*) 'component "positions" value 1'
-diff --git a/AmberTools/src/pbsa/pb_force.F90 b/AmberTools/src/pbsa/pb_force.F90
-index 37337bd..52f1edf 100644
---- a/AmberTools/src/pbsa/pb_force.F90
-+++ b/AmberTools/src/pbsa/pb_force.F90
-@@ -1399,7 +1399,7 @@ subroutine pb_fdfrc( pbverbose,pbprint,pbgrid,ifcap,ipb,imin,natom,atmlast,npdec
-                close(64)
-             elseif ( phiform == 2 ) then
-             !write dx format phi
--               call gen_dx_file(xm,ym,zm,h,gox,goy,goz,phi(1:xmymzm),&
-+               call gen_dx_file(xm,ym,zm,h,gox,goy,goz,frcfac*phi(1:xmymzm),&
-                            phifilename,phifilenum,phidataname)
- !                write(6,*) 'writing potential map in dx format'
- !                open(67,file='pbsa_phi.dx')
-diff --git a/AmberTools/src/sqm/constants.F90 b/AmberTools/src/sqm/constants.F90
-index 590cc71..c19fd06 100644
---- a/AmberTools/src/sqm/constants.F90
-+++ b/AmberTools/src/sqm/constants.F90
-@@ -84,18 +84,23 @@ module constants
-   !------------------------------------------------------------
-   !     THE ARRAY FC(I) CONTAINS THE FACTORIALS OF (I-1).
- 
--  _REAL_, parameter :: FC(1:17) =&
--       (/ 1.0D0,1.0D0, 2.0D0, 6.0D0, 24.0D0, 120.0D0, 720.0D0, 5040.0D0, &
--          40320.0D0, 362880.0D0, 3628800.0D0, 39916800.0D0,              &
--          4.790016D+08, 6.2270208D+09, 8.71782912D+10,                   &
--          1.307674368D+12, 2.092278989D+13 /)   
-+  _REAL_, parameter :: FC(1:25) =&
-+       (/ 1.0D0,1.0D0, 2.0D0, 6.0D0, 24.0D0, &
-+          120.0D0, 720.0D0, 5040.0D0, 40320.0D0, 362880.0D0, &
-+          3628800.0D0, 39916800.0D0, 4.790016D+08, 6.2270208D+09, 8.71782912D+10, &
-+          1.307674368D+12, 2.092278989D+13, 3.55687428096D+14, 6.402373705728D+15, 1.21645100408832D+17, &
-+          2.43290200817664D+18, 5.109094217170944D+19, 1.12400072777760768D+21, 2.585201673888497664D+22, &
-+                  6.2044840173323943936D+23 /)
-   
--  _REAL_, parameter :: logFC(1:17) = (/ 0.0D0, 0.0D0, 0.6931471805599D0,       &
-+  _REAL_, parameter :: logFC(1:25) = (/ 0.0D0, 0.0D0, 0.6931471805599D0,       &
-        &            1.7917594692281D0,  3.1780538303479D0,  4.7874917427820D0, &
-        &            6.5792512120101D0,  8.5251613610654D0, 10.6046029027453D0, &
-        &           12.8018274800815D0, 15.1044125730755D0, 17.5023078458739D0, &
-        &           19.9872144956619D0, 22.5521638531234D0, 25.1912211827387D0, &
--       &           27.8992713838409D0, 30.6718601061763D0 /)
-+       &           27.8992713838409D0, 30.6718601061763D0, 33.5050734501369D0, &
-+                   36.3954452080331D0, 39.3398841871995D0, 42.3356164607535D0, &
-+                   45.3801388984769D0, 48.4711813518352D0, 51.6066755677644D0, &
-+                   54.7847293981123D0 /)
- 
-   !     DEFINE C COEFFICIENTS FOR ASSOCIATE LEGENDRE POLYNOMIALS.         
-   _REAL_, parameter::CC(1:21,1:3) = reshape ( (/   &      
-diff --git a/AmberTools/src/sqm/depend b/AmberTools/src/sqm/depend
-index 357ef59..0d3db38 100644
---- a/AmberTools/src/sqm/depend
-+++ b/AmberTools/src/sqm/depend
-@@ -599,7 +599,8 @@ qm2_h1elec_d.o: \
-                     rotation.o\
-                     elementOrbitalIndex.o\
-                     slater_overlap.o\
--                    qmmm_module.o
-+                    qmmm_module.o\
-+                    utilitiesModule.o
- 
- 
- qm2_h1elec_d.o:   qm2_h1elec_d.F90
-@@ -668,7 +669,8 @@ qm2_parameters.o: \
-                     elementOrbitalIndex.o\
-                     qmmm_qmtheorymodule.o\
-                     parameterReader.o\
--                    qmmm_module.o
-+                    qmmm_module.o\
-+                    utilitiesModule.o
- 
- 
- qm2_parameters.o:   qm2_parameters.F90
-@@ -679,7 +681,8 @@ qm2_params_module.o: \
-                     ../include/assert.fh\
-                     ../include/dprec.fh\
-                     elementOrbitalIndex.o\
--                    qmmm_qmtheorymodule.o
-+                    qmmm_qmtheorymodule.o\
-+                    constants.o
- 
- 
- qm2_params_module.o:   qm2_params_module.F90
-diff --git a/AmberTools/src/sqm/qm2_parameters.F90 b/AmberTools/src/sqm/qm2_parameters.F90
-index 9985f1f..e762063 100644
---- a/AmberTools/src/sqm/qm2_parameters.F90
-+++ b/AmberTools/src/sqm/qm2_parameters.F90
-@@ -263,6 +263,8 @@ if (currentTheory%MNDOD) then
-   core_chg( 15) = 5; natomic_orbs( 15) = 9; heat_of_form( 15) = 75.570D0 !P 
-   core_chg( 16) = 6; natomic_orbs( 16) = 9; heat_of_form( 16) = 66.400D0 !S
-   core_chg( 17) = 7; natomic_orbs( 17) = 9; heat_of_form( 17) = 28.990D0 !Cl  
-+  core_chg( 35) = 7; natomic_orbs( 35) = 9; heat_of_form( 35) = 26.740D0 !Br
-+  core_chg( 53) = 7; natomic_orbs( 53) = 9; heat_of_form( 53) = 25.517D0 !I
- end if
- 
- if (currentTheory%AM1D) then 
-diff --git a/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save b/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save
-index 0390673..f9c1daf 100644
---- a/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save
-+++ b/AmberTools/test/mmpbsa_py/04_Per_Residue_Decomp/FINAL_RESULTS_MMPBSA.dat.save
-@@ -1,11 +1,11 @@
--| Run on Fri Oct 21 16:59:53 2011
-+| Run on Thu Aug 23 19:08:46 2012
- |
- |Input file:
- |--------------------------------------------------------------
- |MMPBSA input file for running per-residue decomp
- |&general
- |   startframe=1, endframe=2, interval=1,
--|   keep_files=2, debug_printlevel=2
-+|   keep_files=1, debug_printlevel=2
- |/
- |&gb
- |   igb=5, saltcon=0.1
-@@ -14,7 +14,7 @@
- |   idecomp=1, print_res='1-10; 200-241', csv_format=0,
- |/
- |--------------------------------------------------------------
--|MMPBSA.py Version=3.0
-+|MMPBSA.py Version=12.0
- |Solvated complex topology file:  ../EstRAL_Files/sol.top
- |Complex topology file:           ../EstRAL_Files/com.top
- |Receptor topology file:          ../EstRAL_Files/rec.top
-@@ -38,13 +38,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                  -2027.4585                6.6828              4.7254
- EEL                     -17102.0128               39.7611             28.1154
--EGB                      -3036.0661               15.1517             10.7138
--ESURF                       92.0643                0.2456              0.1737
-+EGB                      -3036.2753               15.1544             10.7158
-+ESURF                       92.0404                0.2552              0.1805
- 
- G gas                   -19129.4713               46.4439             32.8408
--G solv                   -2944.0018               15.3973             10.8875
-+G solv                   -2944.2348               15.4096             10.8963
- 
--TOTAL                   -22073.4731               31.0467             21.9533
-+TOTAL                   -22073.7061               31.0343             21.9445
- 
- 
- Receptor:
-@@ -52,13 +52,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                  -1963.0469                6.3796              4.5110
- EEL                     -17062.3941               41.4017             29.2755
--EGB                      -3045.5263               17.9328             12.6804
--ESURF                       94.5901                0.3006              0.2125
-+EGB                      -3045.7452               17.9344             12.6815
-+ESURF                       94.5395                0.3071              0.2171
- 
- G gas                   -19025.4410               47.7813             33.7865
--G solv                   -2950.9362               18.2334             12.8929
-+G solv                   -2951.2056               18.2415             12.8987
- 
--TOTAL                   -21976.3773               29.5480             20.8936
-+TOTAL                   -21976.6467               29.5398             20.8878
- 
- 
- Ligand:
-@@ -66,13 +66,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                     -2.1842                0.9276              0.6559
- EEL                         -5.8905                0.2643              0.1869
--EGB                        -28.9823                0.3972              0.2809
--ESURF                        5.5752                0.0080              0.0057
-+EGB                        -28.9847                0.3972              0.2809
-+ESURF                        5.5941                0.0255              0.0181
- 
- G gas                       -8.0747                1.1919              0.8428
--G solv                     -23.4071                0.4052              0.2865
-+G solv                     -23.3905                0.4228              0.2989
- 
--TOTAL                      -31.4819                1.5971              1.1293
-+TOTAL                      -31.4653                1.6146              1.1417
- 
- 
- Differences (Complex - Receptor - Ligand):
-@@ -80,13 +80,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                    -62.2274                1.2308              0.8703
- EEL                        -33.7281                1.3763              0.9732
--EGB                         38.4425                3.1784              2.2474
--ESURF                       -8.1010                0.0630              0.0445
-+EGB                         38.4546                3.1772              2.2466
-+ESURF                       -8.0932                0.0774              0.0547
- 
- DELTA G gas                -95.9555                0.1455              0.1029
--DELTA G solv                30.3415                3.2413              2.2919
-+DELTA G solv                30.3614                3.2545              2.3013
- 
--DELTA TOTAL                -65.6140                3.0958              2.1890
-+DELTA TOTAL                -65.5942                3.1090              2.1984
- 
- 
- -------------------------------------------------------------------------------
-diff --git a/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save b/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save
-index f7cbe88..2135ffe 100644
---- a/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save
-+++ b/AmberTools/test/mmpbsa_py/05_Pairwise_Decomp/FINAL_RESULTS_MMPBSA.dat.save
-@@ -1,11 +1,11 @@
--| Run on Fri Oct 21 17:35:19 2011
-+| Run on Thu Aug 23 19:09:35 2012
- |
- |Input file:
- |--------------------------------------------------------------
- |MMPBSA input file for running per-residue decomp
- |&general
- |   startframe=1, endframe=2, interval=1,
--|   keep_files=2, debug_printlevel=2,
-+|   keep_files=0, debug_printlevel=2,
- |/
- |&gb
- |   igb=5, saltcon=0.1
-@@ -15,7 +15,7 @@
- |   csv_format=0,
- |/
- |--------------------------------------------------------------
--|MMPBSA.py Version=3.0
-+|MMPBSA.py Version=12.0
- |Solvated complex topology file:  ../EstRAL_Files/sol.top
- |Complex topology file:           ../EstRAL_Files/com.top
- |Receptor topology file:          ../EstRAL_Files/rec.top
-@@ -39,13 +39,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                  -2027.4585                6.6828              4.7254
- EEL                     -17102.0128               39.7611             28.1154
--EGB                      -3036.0661               15.1517             10.7138
--ESURF                       92.0643                0.2456              0.1737
-+EGB                      -3036.2753               15.1544             10.7158
-+ESURF                       92.0404                0.2552              0.1805
- 
- G gas                   -19129.4713               46.4439             32.8408
--G solv                   -2944.0018               15.3973             10.8875
-+G solv                   -2944.2348               15.4096             10.8963
- 
--TOTAL                   -22073.4731               31.0467             21.9533
-+TOTAL                   -22073.7061               31.0343             21.9445
- 
- 
- Receptor:
-@@ -53,13 +53,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                  -1963.0469                6.3796              4.5110
- EEL                     -17062.3941               41.4017             29.2755
--EGB                      -3045.5263               17.9328             12.6804
--ESURF                       94.5901                0.3006              0.2125
-+EGB                      -3045.7452               17.9344             12.6815
-+ESURF                       94.5395                0.3071              0.2171
- 
- G gas                   -19025.4410               47.7813             33.7865
--G solv                   -2950.9362               18.2334             12.8929
-+G solv                   -2951.2056               18.2415             12.8987
- 
--TOTAL                   -21976.3773               29.5480             20.8936
-+TOTAL                   -21976.6467               29.5398             20.8878
- 
- 
- Ligand:
-@@ -67,13 +67,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                     -2.1842                0.9276              0.6559
- EEL                         -5.8905                0.2643              0.1869
--EGB                        -28.9823                0.3972              0.2809
--ESURF                        5.5752                0.0080              0.0057
-+EGB                        -28.9847                0.3972              0.2809
-+ESURF                        5.5941                0.0255              0.0181
- 
- G gas                       -8.0747                1.1919              0.8428
--G solv                     -23.4071                0.4052              0.2865
-+G solv                     -23.3905                0.4228              0.2989
- 
--TOTAL                      -31.4819                1.5971              1.1293
-+TOTAL                      -31.4653                1.6146              1.1417
- 
- 
- Differences (Complex - Receptor - Ligand):
-@@ -81,13 +81,13 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                    -62.2274                1.2308              0.8703
- EEL                        -33.7281                1.3763              0.9732
--EGB                         38.4425                3.1784              2.2474
--ESURF                       -8.1010                0.0630              0.0445
-+EGB                         38.4546                3.1772              2.2466
-+ESURF                       -8.0932                0.0774              0.0547
- 
- DELTA G gas                -95.9555                0.1455              0.1029
--DELTA G solv                30.3415                3.2413              2.2919
-+DELTA G solv                30.3614                3.2545              2.3013
- 
--DELTA TOTAL                -65.6140                3.0958              2.1890
-+DELTA TOTAL                -65.5942                3.1090              2.1984
- 
- 
- -------------------------------------------------------------------------------
-diff --git a/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save b/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save
-index 1c6672d..4dc52b5 100644
---- a/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save
-+++ b/AmberTools/test/mmpbsa_py/10_QM_MMGBSA/FINAL_RESULTS_MMPBSA.dat.save
-@@ -1,4 +1,4 @@
--| Run on Sun Feb 19 11:48:15 2012
-+| Run on Thu Aug 23 19:12:17 2012
- |
- |Input file:
- |--------------------------------------------------------------
-@@ -13,7 +13,7 @@
- |   qm_theory='PM3',
- |/
- |--------------------------------------------------------------
--|MMPBSA.py Version=3.1
-+|MMPBSA.py Version=12.0
- |Solvated complex topology file:  ../EstRAL_Files/sol.top
- |Complex topology file:           ../EstRAL_Files/com.top
- |Receptor topology file:          ../EstRAL_Files/rec.top
-@@ -38,14 +38,14 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                  -2025.2744                7.6103              5.3813
- EEL                     -17062.4395               41.4020             29.2756
--EGB                      -3038.1307               14.7141             10.4045
-+EGB                      -3038.3396               14.7163             10.4060
- ESURF                       96.5366                0.2385              0.1686
--ESCF                       -21.6928                3.7699              2.6658
-+ESCF                       -21.6939                3.7699              2.6657
- 
- G gas                   -19087.7139               49.0123             34.6570
--G solv                   -2941.5940               14.4757             10.2358
-+G solv                   -2941.8030               14.4778             10.2374
- 
--TOTAL                   -22051.0007               30.7667             21.7554
-+TOTAL                   -22051.2107               30.7647             21.7539
- 
- 
- Receptor:
-@@ -53,26 +53,26 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                  -1963.0469                6.3796              4.5110
- EEL                     -17062.3941               41.4017             29.2755
--EGB                      -3045.5263               17.9328             12.6804
-+EGB                      -3045.7452               17.9344             12.6815
- ESURF                      100.5546                0.3074              0.2173
- 
- G gas                   -19025.4410               47.7813             33.7865
--G solv                   -2944.9718               17.6255             12.4631
-+G solv                   -2945.1907               17.6270             12.4642
- 
--TOTAL                   -21970.4127               30.1558             21.3234
-+TOTAL                   -21970.6316               30.1543             21.3223
- 
- 
- Ligand:
- Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
--EGB                        -24.0340                0.8659              0.6123
-+EGB                        -24.0371                0.8661              0.6124
- ESURF                        4.4275                0.0229              0.0162
--ESCF                         6.8997                1.2609              0.8916
-+ESCF                         6.9011                1.2609              0.8916
- 
- G gas                        0.0000                0.0000              0.0000
--G solv                     -19.6065                0.8889              0.6285
-+G solv                     -19.6096                0.8891              0.6287
- 
--TOTAL                      -12.7069                2.1498              1.5201
-+TOTAL                      -12.7085                2.1499              1.5202
- 
- 
- Differences (Complex - Receptor - Ligand):
-@@ -80,14 +80,14 @@ Energy Component            Average              Std. Dev.   Std. Err. of Mean
- -------------------------------------------------------------------------------
- VDWAALS                    -62.2274                1.2308              0.8703
- EEL                         -0.0454                0.0003              0.0002
--EGB                         31.4297                4.0846              2.8882
-+EGB                         31.4427                4.0842              2.8880
- ESURF                       -8.4454                0.0459              0.0325
--ESCF                       -28.5925                2.5090              1.7741
-+ESCF                       -28.5950                2.5090              1.7741
- 
- DELTA G gas                -62.2728                1.2310              0.8705
--DELTA G solv                22.9843                4.0386              2.8558
-+DELTA G solv                22.9973                4.0383              2.8555
- 
--DELTA TOTAL                -67.8811                2.7607              1.9521
-+DELTA TOTAL                -67.8705                2.7603              1.9519
- 
- 
- -------------------------------------------------------------------------------
-diff --git a/AmberTools/test/parmed/normal_prmtop/final.prmtop.save b/AmberTools/test/parmed/normal_prmtop/final.prmtop.save
-index a7e4428..3ce70b7 100644
---- a/AmberTools/test/parmed/normal_prmtop/final.prmtop.save
-+++ b/AmberTools/test/parmed/normal_prmtop/final.prmtop.save
-@@ -1,4 +1,4 @@
--%VERSION  VERSION_STAMP = V0001.000  DATE = 02/28/12  13:10:17
-+%VERSION  VERSION_STAMP = V0001.000  DATE = 07/08/12  15:11:06
- %FLAG TITLE
- %FORMAT(20a4)
- 
-@@ -1245,63 +1245,63 @@ GLU PHE LEU ASP ALA ASN LEU ALA
-   0.00000000E+00  0.00000000E+00
- %FLAG LENNARD_JONES_ACOEF
- %FORMAT(5E16.8)
--  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.95480466E+05  2.56678134E+03
--  1.04308023E+06  2.01791425E+04  9.14716912E+00  2.27401052E+04  2.01823541E+02
--  6.20665997E+04  5.94667300E+01  6.78771368E+04  8.79040886E+02  3.25969625E+03
--  7.44975864E+05  1.40467023E+03  7.91544157E+05  1.45985502E+04  4.66922514E+04
-+  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.96389997E+05  2.56912650E+03
-+  1.04498714E+06  2.01791425E+04  9.14716912E+00  2.27608820E+04  2.01823541E+02
-+  6.20665997E+04  5.94667300E+01  6.79391534E+04  8.79040886E+02  3.25969625E+03
-+  7.44975864E+05  1.40467023E+03  7.92267358E+05  1.45985502E+04  4.66922514E+04
-   5.81803229E+05  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
-   0.00000000E+00  0.00000000E+00  0.00000000E+00  8.82619071E+05  2.27577561E+03
--  9.24822270E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
--  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.47841731E+05  1.12780457E+04
-+  9.25667242E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
-+  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.48433639E+05  1.12780457E+04
-   3.69471530E+04  4.71003287E+05  0.00000000E+00  5.74393458E+05  3.79876399E+05
--  8.96776989E+04  1.07193646E+02  9.71708117E+04  1.41077189E+03  4.98586848E+03
-+  8.96776989E+04  1.07193646E+02  9.72595927E+04  1.41077189E+03  4.98586848E+03
-   6.82786631E+04  0.00000000E+00  8.61541883E+04  5.44261042E+04  7.51607703E+03
--  5.46147253E+04  4.90239937E+01  5.98885646E+04  7.50063100E+02  2.82099197E+03
-+  5.46147253E+04  4.90239937E+01  5.99432824E+04  7.50063100E+02  2.82099197E+03
-   4.09427581E+04  0.00000000E+00  5.30987710E+04  3.23283631E+04  4.33325458E+03
--  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.18621074E+04  9.55000044E+02
-+  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.19277648E+04  9.55000044E+02
-   3.50301067E+03  4.96707306E+04  0.00000000E+00  6.37148278E+04  3.93690817E+04
-   5.34045360E+03  3.03448006E+03  3.76169105E+03  7.91627154E+04  8.90987508E+01
--  8.59947003E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
-+  8.60732702E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
-   7.62451550E+04  4.77908183E+04  6.55825601E+03  3.76169105E+03  4.64559155E+03
--  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.09861767E+06  4.93469320E+04
-+  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.10053510E+06  4.93469320E+04
-   1.42791446E+05  1.61587928E+06  0.00000000E+00  1.86068943E+06  1.32911052E+06
-   2.02461849E+05  1.26338489E+05  1.50848032E+05  1.79647996E+05  4.19430400E+06
--  9.96389997E+05  2.56912650E+03  1.04403325E+06  2.27608820E+04  6.79391534E+04
--  7.92267358E+05  0.00000000E+00  9.25667242E+05  6.48433639E+05  9.72595927E+04
--  5.99432824E+04  7.19277648E+04  8.60732702E+04  2.10053510E+06  1.04498714E+06
--  8.82619071E+05  2.27577560E+03  9.24822269E+05  2.01619733E+04  6.01816484E+04
-+  9.44293233E+05  2.12601181E+03  9.96389997E+05  2.01791425E+04  6.20665998E+04
-+  7.44975864E+05  0.00000000E+00  8.82619071E+05  6.06829343E+05  8.96776989E+04
-+  5.46147253E+04  6.58473870E+04  7.91627155E+04  2.01562190E+06  9.44293233E+05
-+  8.82619071E+05  2.27577560E+03  9.25667242E+05  2.01619733E+04  6.01816484E+04
-   7.01803794E+05  0.00000000E+00  8.19971662E+05  5.74393458E+05  8.61541883E+04
--  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  9.25667242E+05
-+  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  2.00000000E+00
-   8.19971662E+05
- %FLAG LENNARD_JONES_BCOEF
- %FORMAT(5E16.8)
--  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.36907417E+02  2.06278363E+01
--  6.75612247E+02  6.45756063E+01  7.57919667E-01  6.13981767E+01  3.56012899E+00
--  1.13252061E+02  1.93248820E+00  1.06076943E+02  7.42992380E+00  1.43076527E+01
--  7.50714425E+02  1.79702257E+01  6.93079947E+02  5.79323581E+01  1.03606917E+02
-+  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.37580700E+02  2.06466831E+01
-+  6.76847370E+02  6.45756063E+01  7.57919667E-01  6.14542738E+01  3.56012899E+00
-+  1.13252061E+02  1.93248820E+00  1.06173862E+02  7.42992380E+00  1.43076527E+01
-+  7.50714425E+02  1.79702257E+01  6.93713186E+02  5.79323581E+01  1.03606917E+02
-   6.99746810E+02  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
-   0.00000000E+00  0.00000000E+00  0.00000000E+00  6.53361429E+02  1.82891803E+01
--  5.99015525E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
--  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.26720080E+02  5.08951803E+01
-+  5.99562822E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
-+  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.27292689E+02  5.08951803E+01
-   9.21192136E+01  6.29300710E+02  0.00000000E+00  5.55666448E+02  5.64885984E+02
--  1.36131731E+02  2.59456373E+00  1.26919150E+02  9.41257003E+00  1.76949863E+01
-+  1.36131731E+02  2.59456373E+00  1.27035111E+02  9.41257003E+00  1.76949863E+01
-   1.25287818E+02  0.00000000E+00  1.12529845E+02  1.11805549E+02  2.17257828E+01
--  1.05031585E+02  1.73473071E+00  9.85097219E+01  6.78541827E+00  1.31591746E+01
-+  1.05031585E+02  1.73473071E+00  9.85997263E+01  6.78541827E+00  1.31591746E+01
-   9.59185913E+01  0.00000000E+00  8.73413012E+01  8.51921330E+01  1.63092814E+01
--  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.07908863E+02  7.65648470E+00
-+  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.08007455E+02  7.65648470E+00
-   1.46638650E+01  1.05648788E+02  0.00000000E+00  9.56748258E+01  9.40124296E+01
-   1.81057616E+01  1.34932874E+01  1.50233639E+01  1.26451907E+02  2.33864085E+00
--  1.18043746E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
-+  1.18151598E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
-   1.04660679E+02  1.03580945E+02  2.00642027E+01  1.50233639E+01  1.66953734E+01
--  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17824605E+03  1.11203892E+02
-+  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17932256E+03  1.11203892E+02
-   1.89165096E+02  1.21753341E+03  0.00000000E+00  1.04466382E+03  1.10369829E+03
-   2.25248294E+02  1.75916126E+02  1.92224012E+02  2.09772716E+02  2.04800000E+03
--  7.37580700E+02  2.06466831E+01  6.76229527E+02  6.14542738E+01  1.06173862E+02
--  6.93713186E+02  0.00000000E+00  5.99562822E+02  6.27292689E+02  1.27035111E+02
--  9.85997263E+01  1.08007455E+02  1.18151598E+02  1.17932256E+03  6.76847370E+02
--  6.53361429E+02  1.82891803E+01  5.99015525E+02  5.44372327E+01  9.40505981E+01
-+  8.01323529E+02  2.09604198E+01  7.37580700E+02  6.45756063E+01  1.13252062E+02
-+  7.50714426E+02  0.00000000E+00  6.53361429E+02  6.77220874E+02  1.36131731E+02
-+  1.05031585E+02  1.15327881E+02  1.26451907E+02  1.28923404E+03  8.01323529E+02
-+  6.53361429E+02  1.82891803E+01  5.99562822E+02  5.44372327E+01  9.40505981E+01
-   6.14502846E+02  0.00000000E+00  5.31102864E+02  5.55666449E+02  1.12529845E+02
--  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  5.99562822E+02
-+  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  4.00000000E+00
-   5.31102864E+02
- %FLAG BONDS_INC_HYDROGEN
- %FORMAT(10I8)
-diff --git a/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save b/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save
-index a7e4428..3ce70b7 100644
---- a/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save
-+++ b/AmberTools/test/parmed/normal_prmtop/prmtop.add_AtNum.save
-@@ -1,4 +1,4 @@
--%VERSION  VERSION_STAMP = V0001.000  DATE = 02/28/12  13:10:17
-+%VERSION  VERSION_STAMP = V0001.000  DATE = 07/08/12  15:11:06
- %FLAG TITLE
- %FORMAT(20a4)
- 
-@@ -1245,63 +1245,63 @@ GLU PHE LEU ASP ALA ASN LEU ALA
-   0.00000000E+00  0.00000000E+00
- %FLAG LENNARD_JONES_ACOEF
- %FORMAT(5E16.8)
--  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.95480466E+05  2.56678134E+03
--  1.04308023E+06  2.01791425E+04  9.14716912E+00  2.27401052E+04  2.01823541E+02
--  6.20665997E+04  5.94667300E+01  6.78771368E+04  8.79040886E+02  3.25969625E+03
--  7.44975864E+05  1.40467023E+03  7.91544157E+05  1.45985502E+04  4.66922514E+04
-+  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.96389997E+05  2.56912650E+03
-+  1.04498714E+06  2.01791425E+04  9.14716912E+00  2.27608820E+04  2.01823541E+02
-+  6.20665997E+04  5.94667300E+01  6.79391534E+04  8.79040886E+02  3.25969625E+03
-+  7.44975864E+05  1.40467023E+03  7.92267358E+05  1.45985502E+04  4.66922514E+04
-   5.81803229E+05  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
-   0.00000000E+00  0.00000000E+00  0.00000000E+00  8.82619071E+05  2.27577561E+03
--  9.24822270E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
--  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.47841731E+05  1.12780457E+04
-+  9.25667242E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
-+  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.48433639E+05  1.12780457E+04
-   3.69471530E+04  4.71003287E+05  0.00000000E+00  5.74393458E+05  3.79876399E+05
--  8.96776989E+04  1.07193646E+02  9.71708117E+04  1.41077189E+03  4.98586848E+03
-+  8.96776989E+04  1.07193646E+02  9.72595927E+04  1.41077189E+03  4.98586848E+03
-   6.82786631E+04  0.00000000E+00  8.61541883E+04  5.44261042E+04  7.51607703E+03
--  5.46147253E+04  4.90239937E+01  5.98885646E+04  7.50063100E+02  2.82099197E+03
-+  5.46147253E+04  4.90239937E+01  5.99432824E+04  7.50063100E+02  2.82099197E+03
-   4.09427581E+04  0.00000000E+00  5.30987710E+04  3.23283631E+04  4.33325458E+03
--  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.18621074E+04  9.55000044E+02
-+  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.19277648E+04  9.55000044E+02
-   3.50301067E+03  4.96707306E+04  0.00000000E+00  6.37148278E+04  3.93690817E+04
-   5.34045360E+03  3.03448006E+03  3.76169105E+03  7.91627154E+04  8.90987508E+01
--  8.59947003E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
-+  8.60732702E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
-   7.62451550E+04  4.77908183E+04  6.55825601E+03  3.76169105E+03  4.64559155E+03
--  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.09861767E+06  4.93469320E+04
-+  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.10053510E+06  4.93469320E+04
-   1.42791446E+05  1.61587928E+06  0.00000000E+00  1.86068943E+06  1.32911052E+06
-   2.02461849E+05  1.26338489E+05  1.50848032E+05  1.79647996E+05  4.19430400E+06
--  9.96389997E+05  2.56912650E+03  1.04403325E+06  2.27608820E+04  6.79391534E+04
--  7.92267358E+05  0.00000000E+00  9.25667242E+05  6.48433639E+05  9.72595927E+04
--  5.99432824E+04  7.19277648E+04  8.60732702E+04  2.10053510E+06  1.04498714E+06
--  8.82619071E+05  2.27577560E+03  9.24822269E+05  2.01619733E+04  6.01816484E+04
-+  9.44293233E+05  2.12601181E+03  9.96389997E+05  2.01791425E+04  6.20665998E+04
-+  7.44975864E+05  0.00000000E+00  8.82619071E+05  6.06829343E+05  8.96776989E+04
-+  5.46147253E+04  6.58473870E+04  7.91627155E+04  2.01562190E+06  9.44293233E+05
-+  8.82619071E+05  2.27577560E+03  9.25667242E+05  2.01619733E+04  6.01816484E+04
-   7.01803794E+05  0.00000000E+00  8.19971662E+05  5.74393458E+05  8.61541883E+04
--  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  9.25667242E+05
-+  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  2.00000000E+00
-   8.19971662E+05
- %FLAG LENNARD_JONES_BCOEF
- %FORMAT(5E16.8)
--  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.36907417E+02  2.06278363E+01
--  6.75612247E+02  6.45756063E+01  7.57919667E-01  6.13981767E+01  3.56012899E+00
--  1.13252061E+02  1.93248820E+00  1.06076943E+02  7.42992380E+00  1.43076527E+01
--  7.50714425E+02  1.79702257E+01  6.93079947E+02  5.79323581E+01  1.03606917E+02
-+  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.37580700E+02  2.06466831E+01
-+  6.76847370E+02  6.45756063E+01  7.57919667E-01  6.14542738E+01  3.56012899E+00
-+  1.13252061E+02  1.93248820E+00  1.06173862E+02  7.42992380E+00  1.43076527E+01
-+  7.50714425E+02  1.79702257E+01  6.93713186E+02  5.79323581E+01  1.03606917E+02
-   6.99746810E+02  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
-   0.00000000E+00  0.00000000E+00  0.00000000E+00  6.53361429E+02  1.82891803E+01
--  5.99015525E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
--  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.26720080E+02  5.08951803E+01
-+  5.99562822E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
-+  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.27292689E+02  5.08951803E+01
-   9.21192136E+01  6.29300710E+02  0.00000000E+00  5.55666448E+02  5.64885984E+02
--  1.36131731E+02  2.59456373E+00  1.26919150E+02  9.41257003E+00  1.76949863E+01
-+  1.36131731E+02  2.59456373E+00  1.27035111E+02  9.41257003E+00  1.76949863E+01
-   1.25287818E+02  0.00000000E+00  1.12529845E+02  1.11805549E+02  2.17257828E+01
--  1.05031585E+02  1.73473071E+00  9.85097219E+01  6.78541827E+00  1.31591746E+01
-+  1.05031585E+02  1.73473071E+00  9.85997263E+01  6.78541827E+00  1.31591746E+01
-   9.59185913E+01  0.00000000E+00  8.73413012E+01  8.51921330E+01  1.63092814E+01
--  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.07908863E+02  7.65648470E+00
-+  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.08007455E+02  7.65648470E+00
-   1.46638650E+01  1.05648788E+02  0.00000000E+00  9.56748258E+01  9.40124296E+01
-   1.81057616E+01  1.34932874E+01  1.50233639E+01  1.26451907E+02  2.33864085E+00
--  1.18043746E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
-+  1.18151598E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
-   1.04660679E+02  1.03580945E+02  2.00642027E+01  1.50233639E+01  1.66953734E+01
--  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17824605E+03  1.11203892E+02
-+  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17932256E+03  1.11203892E+02
-   1.89165096E+02  1.21753341E+03  0.00000000E+00  1.04466382E+03  1.10369829E+03
-   2.25248294E+02  1.75916126E+02  1.92224012E+02  2.09772716E+02  2.04800000E+03
--  7.37580700E+02  2.06466831E+01  6.76229527E+02  6.14542738E+01  1.06173862E+02
--  6.93713186E+02  0.00000000E+00  5.99562822E+02  6.27292689E+02  1.27035111E+02
--  9.85997263E+01  1.08007455E+02  1.18151598E+02  1.17932256E+03  6.76847370E+02
--  6.53361429E+02  1.82891803E+01  5.99015525E+02  5.44372327E+01  9.40505981E+01
-+  8.01323529E+02  2.09604198E+01  7.37580700E+02  6.45756063E+01  1.13252062E+02
-+  7.50714426E+02  0.00000000E+00  6.53361429E+02  6.77220874E+02  1.36131731E+02
-+  1.05031585E+02  1.15327881E+02  1.26451907E+02  1.28923404E+03  8.01323529E+02
-+  6.53361429E+02  1.82891803E+01  5.99562822E+02  5.44372327E+01  9.40505981E+01
-   6.14502846E+02  0.00000000E+00  5.31102864E+02  5.55666449E+02  1.12529845E+02
--  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  5.99562822E+02
-+  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  4.00000000E+00
-   5.31102864E+02
- %FLAG BONDS_INC_HYDROGEN
- %FORMAT(10I8)
-diff --git a/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save b/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save
-index 0a2a704..d984445 100644
---- a/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save
-+++ b/AmberTools/test/parmed/normal_prmtop/prmtop.new_lj.save
-@@ -1,4 +1,4 @@
--%VERSION  VERSION_STAMP = V0001.000  DATE = 02/21/12  17:31:04
-+%VERSION  VERSION_STAMP = V0001.000  DATE = 07/08/12  15:11:06
- %FLAG TITLE
- %FORMAT(20a4)
- 
-@@ -1245,63 +1245,63 @@ GLU PHE LEU ASP ALA ASN LEU ALA
-   0.00000000E+00  0.00000000E+00
- %FLAG LENNARD_JONES_ACOEF
- %FORMAT(5E16.8)
--  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.95480466E+05  2.56678134E+03
--  1.04308023E+06  2.01791425E+04  9.14716912E+00  2.27401052E+04  2.01823541E+02
--  6.20665997E+04  5.94667300E+01  6.78771368E+04  8.79040886E+02  3.25969625E+03
--  7.44975864E+05  1.40467023E+03  7.91544157E+05  1.45985502E+04  4.66922514E+04
-+  9.44293233E+05  2.12601181E+03  1.39982777E-01  9.96389997E+05  2.56912650E+03
-+  1.04498714E+06  2.01791425E+04  9.14716912E+00  2.27608820E+04  2.01823541E+02
-+  6.20665997E+04  5.94667300E+01  6.79391534E+04  8.79040886E+02  3.25969625E+03
-+  7.44975864E+05  1.40467023E+03  7.92267358E+05  1.45985502E+04  4.66922514E+04
-   5.81803229E+05  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
-   0.00000000E+00  0.00000000E+00  0.00000000E+00  8.82619071E+05  2.27577561E+03
--  9.24822270E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
--  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.47841731E+05  1.12780457E+04
-+  9.25667242E+05  2.01619733E+04  6.01816484E+04  7.01803794E+05  0.00000000E+00
-+  8.19971662E+05  6.06829342E+05  1.02595236E+03  6.48433639E+05  1.12780457E+04
-   3.69471530E+04  4.71003287E+05  0.00000000E+00  5.74393458E+05  3.79876399E+05
--  8.96776989E+04  1.07193646E+02  9.71708117E+04  1.41077189E+03  4.98586848E+03
-+  8.96776989E+04  1.07193646E+02  9.72595927E+04  1.41077189E+03  4.98586848E+03
-   6.82786631E+04  0.00000000E+00  8.61541883E+04  5.44261042E+04  7.51607703E+03
--  5.46147253E+04  4.90239937E+01  5.98885646E+04  7.50063100E+02  2.82099197E+03
-+  5.46147253E+04  4.90239937E+01  5.99432824E+04  7.50063100E+02  2.82099197E+03
-   4.09427581E+04  0.00000000E+00  5.30987710E+04  3.23283631E+04  4.33325458E+03
--  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.18621074E+04  9.55000044E+02
-+  2.43828624E+03  6.58473870E+04  6.63368273E+01  7.19277648E+04  9.55000044E+02
-   3.50301067E+03  4.96707306E+04  0.00000000E+00  6.37148278E+04  3.93690817E+04
-   5.34045360E+03  3.03448006E+03  3.76169105E+03  7.91627154E+04  8.90987508E+01
--  8.59947003E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
-+  8.60732702E+04  1.21014911E+03  4.33325458E+03  6.00750218E+04  0.00000000E+00
-   7.62451550E+04  4.77908183E+04  6.55825601E+03  3.76169105E+03  4.64559155E+03
--  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.09861767E+06  4.93469320E+04
-+  5.71629601E+03  2.01562190E+06  5.97860700E+03  2.10053510E+06  4.93469320E+04
-   1.42791446E+05  1.61587928E+06  0.00000000E+00  1.86068943E+06  1.32911052E+06
-   2.02461849E+05  1.26338489E+05  1.50848032E+05  1.79647996E+05  4.19430400E+06
--  9.96389997E+05  2.56912650E+03  1.04403325E+06  2.27608820E+04  6.79391534E+04
--  7.92267358E+05  0.00000000E+00  9.25667242E+05  6.48433639E+05  9.72595927E+04
--  5.99432824E+04  7.19277648E+04  8.60732702E+04  2.10053510E+06  1.04498714E+06
--  8.82619071E+05  2.27577560E+03  9.24822269E+05  2.01619733E+04  6.01816484E+04
-+  9.44293233E+05  2.12601181E+03  9.96389997E+05  2.01791425E+04  6.20665998E+04
-+  7.44975864E+05  0.00000000E+00  8.82619071E+05  6.06829343E+05  8.96776989E+04
-+  5.46147253E+04  6.58473870E+04  7.91627155E+04  2.01562190E+06  9.44293233E+05
-+  8.82619071E+05  2.27577560E+03  9.25667242E+05  2.01619733E+04  6.01816484E+04
-   7.01803794E+05  0.00000000E+00  8.19971662E+05  5.74393458E+05  8.61541883E+04
--  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  9.25667242E+05
-+  5.30987710E+04  6.37148277E+04  7.62451551E+04  1.86068943E+06  2.00000000E+00
-   8.19971662E+05
- %FLAG LENNARD_JONES_BCOEF
- %FORMAT(5E16.8)
--  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.36907417E+02  2.06278363E+01
--  6.75612247E+02  6.45756063E+01  7.57919667E-01  6.13981767E+01  3.56012899E+00
--  1.13252061E+02  1.93248820E+00  1.06076943E+02  7.42992380E+00  1.43076527E+01
--  7.50714425E+02  1.79702257E+01  6.93079947E+02  5.79323581E+01  1.03606917E+02
-+  8.01323529E+02  2.09604198E+01  9.37598976E-02  7.37580700E+02  2.06466831E+01
-+  6.76847370E+02  6.45756063E+01  7.57919667E-01  6.14542738E+01  3.56012899E+00
-+  1.13252061E+02  1.93248820E+00  1.06173862E+02  7.42992380E+00  1.43076527E+01
-+  7.50714425E+02  1.79702257E+01  6.93713186E+02  5.79323581E+01  1.03606917E+02
-   6.99746810E+02  0.00000000E+00  0.00000000E+00  0.00000000E+00  0.00000000E+00
-   0.00000000E+00  0.00000000E+00  0.00000000E+00  6.53361429E+02  1.82891803E+01
--  5.99015525E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
--  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.26720080E+02  5.08951803E+01
-+  5.99562822E+02  5.44372326E+01  9.40505980E+01  6.14502845E+02  0.00000000E+00
-+  5.31102864E+02  6.77220874E+02  1.53505284E+01  6.27292689E+02  5.08951803E+01
-   9.21192136E+01  6.29300710E+02  0.00000000E+00  5.55666448E+02  5.64885984E+02
--  1.36131731E+02  2.59456373E+00  1.26919150E+02  9.41257003E+00  1.76949863E+01
-+  1.36131731E+02  2.59456373E+00  1.27035111E+02  9.41257003E+00  1.76949863E+01
-   1.25287818E+02  0.00000000E+00  1.12529845E+02  1.11805549E+02  2.17257828E+01
--  1.05031585E+02  1.73473071E+00  9.85097219E+01  6.78541827E+00  1.31591746E+01
-+  1.05031585E+02  1.73473071E+00  9.85997263E+01  6.78541827E+00  1.31591746E+01
-   9.59185913E+01  0.00000000E+00  8.73413012E+01  8.51921330E+01  1.63092814E+01
--  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.07908863E+02  7.65648470E+00
-+  1.20953369E+01  1.15327881E+02  2.01792524E+00  1.08007455E+02  7.65648470E+00
-   1.46638650E+01  1.05648788E+02  0.00000000E+00  9.56748258E+01  9.40124296E+01
-   1.81057616E+01  1.34932874E+01  1.50233639E+01  1.26451907E+02  2.33864085E+00
--  1.18043746E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
-+  1.18151598E+02  8.61880722E+00  1.63092814E+01  1.16187983E+02  0.00000000E+00
-   1.04660679E+02  1.03580945E+02  2.00642027E+01  1.50233639E+01  1.66953734E+01
--  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17824605E+03  1.11203892E+02
-+  1.85196588E+01  1.28923404E+03  3.87070358E+01  1.17932256E+03  1.11203892E+02
-   1.89165096E+02  1.21753341E+03  0.00000000E+00  1.04466382E+03  1.10369829E+03
-   2.25248294E+02  1.75916126E+02  1.92224012E+02  2.09772716E+02  2.04800000E+03
--  7.37580700E+02  2.06466831E+01  6.76229527E+02  6.14542738E+01  1.06173862E+02
--  6.93713186E+02  0.00000000E+00  5.99562822E+02  6.27292689E+02  1.27035111E+02
--  9.85997263E+01  1.08007455E+02  1.18151598E+02  1.17932256E+03  6.76847370E+02
--  6.53361429E+02  1.82891803E+01  5.99015525E+02  5.44372327E+01  9.40505981E+01
-+  8.01323529E+02  2.09604198E+01  7.37580700E+02  6.45756063E+01  1.13252062E+02
-+  7.50714426E+02  0.00000000E+00  6.53361429E+02  6.77220874E+02  1.36131731E+02
-+  1.05031585E+02  1.15327881E+02  1.26451907E+02  1.28923404E+03  8.01323529E+02
-+  6.53361429E+02  1.82891803E+01  5.99562822E+02  5.44372327E+01  9.40505981E+01
-   6.14502846E+02  0.00000000E+00  5.31102864E+02  5.55666449E+02  1.12529845E+02
--  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  5.99562822E+02
-+  8.73413013E+01  9.56748257E+01  1.04660679E+02  1.04466382E+03  4.00000000E+00
-   5.31102864E+02
- %FLAG BONDS_INC_HYDROGEN
- %FORMAT(10I8)
-diff --git a/dat/leap/cmd/leaprc.pol12 b/dat/leap/cmd/leaprc.pol12
-deleted file mode 100644
-index 2bb10c7..0000000
---- a/dat/leap/cmd/leaprc.pol12
-+++ /dev/null
-@@ -1,182 +0,0 @@
--logFile leap.log
--#
--# ----- leaprc for loading pol12, the 2012 pol. force field, no lone pairs
--#
--#
--addAtomTypes {
--	{ "H"   "H" "sp3" }
--	{ "HO"  "H" "sp3" }
--	{ "HS"  "H" "sp3" }
--	{ "H1"  "H" "sp3" }
--	{ "H2"  "H" "sp3" }
--	{ "H3"  "H" "sp3" }
--	{ "H4"  "H" "sp3" }
--	{ "H5"  "H" "sp3" }
--	{ "HW"  "H" "sp3" }
--	{ "HC"  "H" "sp3" }
--	{ "HA"  "H" "sp3" }
--	{ "HP"  "H" "sp3" }
--	{ "OH"  "O" "sp3" }
--	{ "OS"  "O" "sp3" }
--	{ "O"   "O" "sp2" }
--	{ "O2"  "O" "sp2" }
--	{ "OW"  "O" "sp3" }
--	{ "CT"  "C" "sp3" }
--	{ "CH"  "C" "sp3" }
--	{ "C2"  "C" "sp3" }
--	{ "C3"  "C" "sp3" }
--	{ "C"   "C" "sp2" }
--	{ "C*"  "C" "sp2" }
--	{ "CA"  "C" "sp2" }
--	{ "CB"  "C" "sp2" }
--	{ "CC"  "C" "sp2" }
--	{ "CN"  "C" "sp2" }
--	{ "CM"  "C" "sp2" }
--	{ "CK"  "C" "sp2" }
--	{ "CQ"  "C" "sp2" }
--	{ "CD"  "C" "sp2" }
--	{ "CE"  "C" "sp2" }
--	{ "CF"  "C" "sp2" }
--	{ "CP"  "C" "sp2" }
--	{ "CI"  "C" "sp2" }
--	{ "CJ"  "C" "sp2" }
--	{ "CW"  "C" "sp2" }
--	{ "CV"  "C" "sp2" }
--	{ "CR"  "C" "sp2" }
--	{ "CA"  "C" "sp2" }
--	{ "CY"  "C" "sp2" }
--	{ "C0"  "Ca" "sp3" }
--	{ "MG"  "Mg" "sp3" }
--	{ "N"   "N" "sp2" }
--	{ "NA"  "N" "sp2" }
--	{ "N2"  "N" "sp2" }
--	{ "N*"  "N" "sp2" }
--	{ "NP"  "N" "sp2" }
--	{ "NQ"  "N" "sp2" }
--	{ "NB"  "N" "sp2" }
--	{ "NC"  "N" "sp2" }
--	{ "NT"  "N" "sp3" }
--	{ "N3"  "N" "sp3" }
--	{ "S"   "S" "sp3" }
--	{ "SH"  "S" "sp3" }
--	{ "P"   "P" "sp3" }
--	{ "EP"  ""  "sp3" }
--	{ "F"   "F" "sp3" }
--	{ "CL"  "Cl" "sp3" }
--	{ "BR"  "Br" "sp3" }
--	{ "I"   "I"  "sp3" }
--	{ "FE"  "Fe" "sp3" }
--# things should be there
--        { "IM"  "Cl" "sp3" }
--        { "IP"  "Na" "sp3" }
--        { "Li"  "Li"  "sp3" }
--        { "K"  "K"  "sp3" }
--        { "Rb"  "Rb"  "sp3" }
--        { "Cs"  "Cs"  "sp3" }
--        { "Zn"  "Zn"  "sp3" }
--        { "IB"  "Na"  "sp3" }
--# "new" types
--        { "H0"  "H" "sp3" }
--
--}
--#
--#	Load the main parameter set.
--#
--set default DIPOLE_DAMP_FACTOR 2.5873
--set default sceescalefactor 1.0
--set default scnbscalefactor 2.0
--set default CMAP on
--
--parm11 = loadamberparams parmpol12.dat
--parmpol= loadamberparams frcmod.pol12
--#
--#	Load main chain and terminating 
--#	amino acid libraries.
--#
--loadOff aminoctpol12.lib
--loadOff aminontpol12.lib
--loadOff aminopol12.lib
--
--loadOff ions94.lib
--loadOff solvents.lib
--#HOH = TP3
--#WAT = TP3
--HOH = PL3
--WAT = PL3
--
--#
--#	Define the PDB name map for the amino acids and DNA.
--#
--addPdbResMap {
--  { 0 "ALA" "NALA" } { 1 "ALA" "CALA" }
--  { 0 "ARG" "NARG" } { 1 "ARG" "CARG" }
--  { 0 "ASN" "NASN" } { 1 "ASN" "CASN" }
--  { 0 "ASP" "NASP" } { 1 "ASP" "CASP" }
--  { 0 "CYS" "NCYS" } { 1 "CYS" "CCYS" }
--  { 0 "CYX" "NCYX" } { 1 "CYX" "CCYX" }
--  { 0 "GLN" "NGLN" } { 1 "GLN" "CGLN" }
--  { 0 "GLU" "NGLU" } { 1 "GLU" "CGLU" }
--  { 0 "GLY" "NGLY" } { 1 "GLY" "CGLY" }
--  { 0 "HID" "NHID" } { 1 "HID" "CHID" }
--  { 0 "HIE" "NHIE" } { 1 "HIE" "CHIE" }
--  { 0 "HIP" "NHIP" } { 1 "HIP" "CHIP" }
--  { 0 "ILE" "NILE" } { 1 "ILE" "CILE" }
--  { 0 "LEU" "NLEU" } { 1 "LEU" "CLEU" }
--  { 0 "LYS" "NLYS" } { 1 "LYS" "CLYS" }
--  { 0 "MET" "NMET" } { 1 "MET" "CMET" }
--  { 0 "PHE" "NPHE" } { 1 "PHE" "CPHE" }
--  { 0 "PRO" "NPRO" } { 1 "PRO" "CPRO" }
--  { 0 "SER" "NSER" } { 1 "SER" "CSER" }
--  { 0 "THR" "NTHR" } { 1 "THR" "CTHR" }
--  { 0 "TRP" "NTRP" } { 1 "TRP" "CTRP" }
--  { 0 "TYR" "NTYR" } { 1 "TYR" "CTYR" }
--  { 0 "VAL" "NVAL" } { 1 "VAL" "CVAL" }
--  { 0 "HIS" "NHIS" } { 1 "HIS" "CHIS" }
--  { 0 "GUA" "DG5"  } { 1 "GUA" "DG3"  } { "GUA" "DG" }
--  { 0 "ADE" "DA5"  } { 1 "ADE" "DA3"  } { "ADE" "DA" }
--  { 0 "CYT" "DC5"  } { 1 "CYT" "DC3"  } { "CYT" "DC" }
--  { 0 "THY" "DT5"  } { 1 "THY" "DT3"  } { "THY" "DT" }
--  { 0 "G" "DG5"  } { 1 "G" "DG3"  } { "G" "DG" } { "GN" "DGN" }
--  { 0 "A" "DA5"  } { 1 "A" "DA3"  } { "A" "DA" } { "AN" "DAN" }
--  { 0 "C" "DC5"  } { 1 "C" "DC3"  } { "C" "DC" } { "CN" "DCN" }
--  { 0 "T" "DT5"  } { 1 "T" "DT3"  } { "T" "DT" } { "TN" "DTN" }
--  { 0 "C5" "DC5" }
--  { 0 "G5" "DG5" }
--  { 0 "A5" "DA5" }
--  { 0 "T5" "DT5" }
--  { 1 "C3" "DC3" }
--  { 1 "G3" "DG3" }
--  { 1 "A3" "DA3" }
--  { 1 "T3" "DT3" }
--
--}
--
--addPdbAtomMap {
--  { "O5*" "O5'" }
--  { "C5*" "C5'" }
--  { "C4*" "C4'" }
--  { "O4*" "O4'" }
--  { "C3*" "C3'" }
--  { "O3*" "O3'" }
--  { "C2*" "C2'" }
--  { "C1*" "C1'" }
--  { "C5M" "C7"  }
--  { "H1*" "H1'" }
--  { "H2*1" "H2'1" }
--  { "H2*2" "H2'2" }
--  { "H3*" "H3'" }
--  { "H4*" "H4'" }
--  { "H5*1" "H5'1" }
--  { "H5*2" "H5'2" }
--# old ff atom names -> new
--  { "O1'" "O4'" }
--  { "OA"  "O1P" }
--  { "OB"  "O2P" }
--}
--
--#
--# assumed that most often proteins use HIE
--#
--NHIS = NHIE
--HIS = HIE
--CHIS = CHIE
-diff --git a/dat/leap/lib/aminoctpol12.lib b/dat/leap/lib/aminoctpol12.lib
-deleted file mode 100644
-index fa60138..0000000
---- a/dat/leap/lib/aminoctpol12.lib
-+++ /dev/null
-@@ -1,3677 +0,0 @@
--!!index array str
-- "CALA"
-- "CARG"
-- "CASH"
-- "CASN"
-- "CASP"
-- "CCYM"
-- "CCYS"
-- "CCYX"
-- "CGLH"
-- "CGLN"
-- "CGLU"
-- "CGLY"
-- "CHID"
-- "CHIE"
-- "CHIP"
-- "CILE"
-- "CLEU"
-- "CLYN"
-- "CLYS"
-- "CMET"
-- "CPHE"
-- "CPRO"
-- "CSER"
-- "CTHR"
-- "CTRP"
-- "CTYR"
-- "CVAL"
-- "NME"
--!entry.CALA.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.139420
-- "HA" "H1" 0 1 131072 4 1 0.100300
-- "CB" "CT" 0 1 131072 5 6 -0.168880
-- "HB1" "HC" 0 1 131072 6 1 0.087020
-- "HB2" "HC" 0 1 131072 7 1 0.087020
-- "HB3" "HC" 0 1 131072 8 1 0.087020
-- "C" "C" 0 1 131072 9 6 0.705530
-- "O" "O2" 0 1 131072 10 8 -0.822990
-- "OXT" "O2" 0 1 131072 11 8 -0.822990
--!entry.CALA.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB1" "HC" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CALA.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CALA.unit.childsequence single int
-- 2
--!entry.CALA.unit.connect array int
-- 1
-- 0
--!entry.CALA.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 9 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 9 10 1
-- 9 11 1
--!entry.CALA.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
--!entry.CALA.unit.name single str
-- "CALA"
--!entry.CALA.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 3.877484 3.115795 2.131197
-- 4.075059 4.623017 1.205786
-- 2.496995 3.801075 1.241379
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CALA.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CALA.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CALA" 1 12 1 "p" 0
--!entry.CALA.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CALA.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CALA.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CARG.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.246160
-- "HA" "H1" 0 1 131072 4 1 0.166180
-- "CB" "CT" 0 1 131072 5 6 0.246480
-- "HB2" "HC" 0 1 131072 6 1 -0.008560
-- "HB3" "HC" 0 1 131072 7 1 -0.008560
-- "CG" "CT" 0 1 131072 8 6 -0.353440
-- "HG2" "HC" 0 1 131072 9 1 0.103290
-- "HG3" "HC" 0 1 131072 10 1 0.103290
-- "CD" "CT" 0 1 131072 11 6 0.608250
-- "HD2" "H1" 0 1 131072 12 1 -0.078660
-- "HD3" "H1" 0 1 131072 13 1 -0.078660
-- "NE" "N2" 0 1 131072 14 7 -0.792460
-- "HE" "H" 0 1 131072 15 1 0.406710
-- "CZ" "CA" 0 1 131072 16 6 1.125120
-- "NH1" "N2" 0 1 131072 17 7 -0.963900
-- "HH11" "H" 0 1 131072 18 1 0.447010
-- "HH12" "H" 0 1 131072 19 1 0.447010
-- "NH2" "N2" 0 1 131072 20 7 -0.963900
-- "HH21" "H" 0 1 131072 21 1 0.447010
-- "HH22" "H" 0 1 131072 22 1 0.447010
-- "C" "C" 0 1 131072 23 6 0.705530
-- "O" "O2" 0 1 131072 24 8 -0.822990
-- "OXT" "O2" 0 1 131072 25 8 -0.822990
--!entry.CARG.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "H1" 0 -1 0.0
-- "HD3" "H1" 0 -1 0.0
-- "NE" "N2" 0 -1 0.0
-- "HE" "H" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "NH1" "N2" 0 -1 0.0
-- "HH11" "H" 0 -1 0.0
-- "HH12" "H" 0 -1 0.0
-- "NH2" "N2" 0 -1 0.0
-- "HH21" "H" 0 -1 0.0
-- "HH22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CARG.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CARG.unit.childsequence single int
-- 2
--!entry.CARG.unit.connect array int
-- 1
-- 0
--!entry.CARG.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 23 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 16 17 1
-- 16 20 1
-- 17 18 1
-- 17 19 1
-- 20 21 1
-- 20 22 1
-- 23 24 1
-- 23 25 1
--!entry.CARG.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
-- "R" 1 "A" 25
--!entry.CARG.unit.name single str
-- "CARG"
--!entry.CARG.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.540320 7.142723 2.424483
-- 5.151805 7.375492 1.655065
-- 4.364284 8.040989 3.389382
-- 3.575026 7.807606 4.434133
-- 3.088949 6.925423 4.508848
-- 3.465367 8.513631 5.147998
-- 5.006254 9.201287 3.286991
-- 5.604855 9.375325 2.492329
-- 4.892216 9.903045 4.004368
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CARG.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CARG.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CARG" 1 26 1 "p" 0
--!entry.CARG.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CARG.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CARG.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CASH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 0.020630
-- "HA" "H1" 0 1 131072 4 1 0.028510
-- "CB" "CT" 0 1 131072 5 6 -0.181320
-- "HB2" "HC" 0 1 131072 6 1 0.139090
-- "HB3" "HC" 0 1 131072 7 1 0.139090
-- "CG" "C" 0 1 131072 8 6 0.590540
-- "OD1" "O" 0 1 131072 9 8 -0.551750
-- "OD2" "OH" 0 1 131072 10 8 -0.583910
-- "HD2" "HO" 0 1 131072 11 1 0.452180
-- "C" "C" 0 1 131072 12 6 0.705530
-- "O" "O2" 0 1 131072 13 8 -0.822990
-- "OXT" "O2" 0 1 131072 14 8 -0.822990
--!entry.CASH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O" 0 -1 0.0
-- "OD2" "OH" 0 -1 0.0
-- "HD2" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CASH.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CASH.unit.childsequence single int
-- 2
--!entry.CASH.unit.connect array int
-- 1
-- 0
--!entry.CASH.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 12 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 10 11 1
-- 12 13 1
-- 12 14 1
--!entry.CASH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
--!entry.CASH.unit.name single str
-- "CASH"
--!entry.CASH.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.275101 5.011380 1.194527
-- 3.669108 5.954940 0.620011
-- 5.407731 5.091879 1.740667
-- 5.742902 5.987179 1.652920
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CASH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CASH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CASH" 1 15 1 "p" 0
--!entry.CASH.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CASH.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CASH.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CASN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.052240
-- "HA" "H1" 0 1 131072 4 1 0.042740
-- "CB" "CT" 0 1 131072 5 6 -0.207320
-- "HB2" "HC" 0 1 131072 6 1 0.119980
-- "HB3" "HC" 0 1 131072 7 1 0.119980
-- "CG" "C" 0 1 131072 8 6 0.659810
-- "OD1" "O" 0 1 131072 9 8 -0.563050
-- "ND2" "N" 0 1 131072 10 7 -0.856360
-- "HD21" "H" 0 1 131072 11 1 0.394760
-- "HD22" "H" 0 1 131072 12 1 0.394760
-- "C" "C" 0 1 131072 13 6 0.705530
-- "O" "O2" 0 1 131072 14 8 -0.822990
-- "OXT" "O2" 0 1 131072 15 8 -0.822990
--!entry.CASN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O" 0 -1 0.0
-- "ND2" "N" 0 -1 0.0
-- "HD21" "H" 0 -1 0.0
-- "HD22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CASN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CASN.unit.childsequence single int
-- 2
--!entry.CASN.unit.connect array int
-- 1
-- 0
--!entry.CASN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 13 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 10 11 1
-- 10 12 1
-- 13 14 1
-- 13 15 1
--!entry.CASN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
--!entry.CASN.unit.name single str
-- "CASN"
--!entry.CASN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.253700 5.017112 1.232144
-- 5.005299 5.340406 0.315072
-- 3.984885 5.817909 2.265917
-- 4.408015 6.733702 2.314743
-- 3.359611 5.504297 2.994464
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CASN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CASN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CASN" 1 16 1 "p" 0
--!entry.CASN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CASN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CASN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CASP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.132120
-- "HA" "H1" 0 1 131072 4 1 0.050730
-- "CB" "CT" 0 1 131072 5 6 -0.282900
-- "HB2" "HC" 0 1 131072 6 1 0.084070
-- "HB3" "HC" 0 1 131072 7 1 0.084070
-- "CG" "C" 0 1 131072 8 6 0.894610
-- "OD1" "O2" 0 1 131072 9 8 -0.822700
-- "OD2" "O2" 0 1 131072 10 8 -0.822700
-- "C" "C" 0 1 131072 11 6 0.705530
-- "O" "O2" 0 1 131072 12 8 -0.822990
-- "OXT" "O2" 0 1 131072 13 8 -0.822990
--!entry.CASP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O2" 0 -1 0.0
-- "OD2" "O2" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CASP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CASP.unit.childsequence single int
-- 2
--!entry.CASP.unit.connect array int
-- 1
-- 0
--!entry.CASP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 11 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 11 12 1
-- 11 13 1
--!entry.CASP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
--!entry.CASP.unit.name single str
-- "CASP"
--!entry.CASP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.275101 5.011380 1.194527
-- 3.669108 5.954940 0.620011
-- 5.407731 5.091879 1.740667
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CASP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CASP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CASP" 1 14 1 "p" 0
--!entry.CASP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CASP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CASP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CCYM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "HN" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.165660
-- "HA" "H1" 0 1 131072 4 1 0.090680
-- "CB" "CT" 0 1 131072 5 6 0.044510
-- "HB3" "H1" 0 1 131072 6 1 0.006690
-- "HB2" "H1" 0 1 131072 7 1 0.006690
-- "SG" "SH" 0 1 131072 8 16 -0.929850
-- "C" "C" 0 1 131072 9 6 0.705530
-- "O" "O2" 0 1 131072 10 8 -0.822990
-- "OXT" "O2" 0 1 131072 11 8 -0.822990
--!entry.CCYM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "HN" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "SG" "SH" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CCYM.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CCYM.unit.childsequence single int
-- 2
--!entry.CCYM.unit.connect array int
-- 1
-- 0
--!entry.CCYM.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 9 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 9 10 1
-- 9 11 1
--!entry.CCYM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
--!entry.CCYM.unit.name single str
-- "CCYM"
--!entry.CCYM.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 3.877484 3.115795 2.131197
-- 2.496995 3.801075 1.241379
-- 4.309573 5.303523 1.366036
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CCYM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CCYM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CCYM" 1 12 1 "p" 0
--!entry.CCYM.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CCYM.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CCYM.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CCYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.010480
-- "HA" "H1" 0 1 131072 4 1 0.057060
-- "CB" "CT" 0 1 131072 5 6 -0.033990
-- "HB2" "H1" 0 1 131072 6 1 0.066220
-- "HB3" "H1" 0 1 131072 7 1 0.066220
-- "SG" "SH" 0 1 131072 8 16 -0.244870
-- "HG" "HS" 0 1 131072 9 1 0.152900
-- "C" "C" 0 1 131072 10 6 0.705530
-- "O" "O2" 0 1 131072 11 8 -0.822990
-- "OXT" "O2" 0 1 131072 12 8 -0.822990
--!entry.CCYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "SH" 0 -1 0.0
-- "HG" "HS" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CCYS.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CCYS.unit.childsequence single int
-- 2
--!entry.CCYS.unit.connect array int
-- 1
-- 0
--!entry.CCYS.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 10 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 10 11 1
-- 10 12 1
--!entry.CCYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
--!entry.CCYS.unit.name single str
-- "CCYS"
--!entry.CCYS.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 3.725392 5.622018 2.517640
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CCYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CCYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CCYS" 1 13 1 "p" 0
--!entry.CCYS.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CCYS.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CCYS.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CCYX.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.030070
-- "HA" "H1" 0 1 131072 4 1 0.037000
-- "CB" "CT" 0 1 131072 5 6 -0.043690
-- "HB2" "H1" 0 1 131072 6 1 0.084380
-- "HB3" "H1" 0 1 131072 7 1 0.084380
-- "SG" "S" 0 1 131072 8 16 -0.078940
-- "C" "C" 0 1 131072 9 6 0.705530
-- "O" "O2" 0 1 131072 10 8 -0.822990
-- "OXT" "O2" 0 1 131072 11 8 -0.822990
--!entry.CCYX.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "S" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CCYX.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CCYX.unit.childsequence single int
-- 2
--!entry.CCYX.unit.connect array int
-- 1
-- 0
--!entry.CCYX.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 9 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 9 10 1
-- 9 11 1
--!entry.CCYX.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
--!entry.CCYX.unit.name single str
-- "CCYX"
--!entry.CCYX.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CCYX.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 8 0 0 0
--!entry.CCYX.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CCYX" 1 12 1 "p" 0
--!entry.CCYX.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CCYX.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CCYX.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CGLH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.165080
-- "HA" "H1" 0 1 131072 4 1 0.120280
-- "CB" "CT" 0 1 131072 5 6 0.110660
-- "HB2" "HC" 0 1 131072 6 1 0.016640
-- "HB3" "HC" 0 1 131072 7 1 0.016640
-- "CG" "CT" 0 1 131072 8 6 -0.317930
-- "HG2" "HC" 0 1 131072 9 1 0.173880
-- "HG3" "HC" 0 1 131072 10 1 0.173880
-- "CD" "C" 0 1 131072 11 6 0.664690
-- "OE1" "O" 0 1 131072 12 8 -0.583590
-- "OE2" "OH" 0 1 131072 13 8 -0.613880
-- "HE2" "HO" 0 1 131072 14 1 0.456870
-- "C" "C" 0 1 131072 15 6 0.705530
-- "O" "O2" 0 1 131072 16 8 -0.822990
-- "OXT" "O2" 0 1 131072 17 8 -0.822990
--!entry.CGLH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O" 0 -1 0.0
-- "OE2" "OH" 0 -1 0.0
-- "HE2" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CGLH.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLH.unit.childsequence single int
-- 2
--!entry.CGLH.unit.connect array int
-- 1
-- 0
--!entry.CGLH.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 15 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 15 16 1
-- 15 17 1
--!entry.CGLH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.CGLH.unit.name single str
-- "CGLH"
--!entry.CGLH.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 5.347413 4.849843 1.186158
-- 3.966923 5.535124 0.296342
-- 3.873732 5.805369 2.428706
-- 4.594590 5.679012 3.454376
-- 2.855965 6.542070 2.333721
-- 2.710526 6.996624 3.166684
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CGLH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CGLH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CGLH" 1 18 1 "p" 0
--!entry.CGLH.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CGLH.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLH.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CGLN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.174080
-- "HA" "H1" 0 1 131072 4 1 0.063260
-- "CB" "CT" 0 1 131072 5 6 0.396380
-- "HB2" "HC" 0 1 131072 6 1 -0.058620
-- "HB3" "HC" 0 1 131072 7 1 -0.058620
-- "CG" "CT" 0 1 131072 8 6 -0.593580
-- "HG2" "HC" 0 1 131072 9 1 0.218390
-- "HG3" "HC" 0 1 131072 10 1 0.218390
-- "CD" "C" 0 1 131072 11 6 0.770410
-- "OE1" "O" 0 1 131072 12 8 -0.650910
-- "NE2" "N" 0 1 131072 13 7 -0.874140
-- "HE21" "H" 0 1 131072 14 1 0.398090
-- "HE22" "H" 0 1 131072 15 1 0.398090
-- "C" "C" 0 1 131072 16 6 0.705530
-- "O" "O2" 0 1 131072 17 8 -0.822990
-- "OXT" "O2" 0 1 131072 18 8 -0.822990
--!entry.CGLN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O" 0 -1 0.0
-- "NE2" "N" 0 -1 0.0
-- "HE21" "H" 0 -1 0.0
-- "HE22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CGLN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLN.unit.childsequence single int
-- 2
--!entry.CGLN.unit.connect array int
-- 1
-- 0
--!entry.CGLN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 16 17 1
-- 16 18 1
--!entry.CGLN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.CGLN.unit.name single str
-- "CGLN"
--!entry.CGLN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.906976 5.848443 2.410302
-- 3.138962 5.408349 3.262893
-- 4.458856 7.061523 2.488333
-- 4.248434 7.659045 3.274966
-- 5.084281 7.376210 1.760379
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CGLN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CGLN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CGLN" 1 19 1 "p" 0
--!entry.CGLN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CGLN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CGLU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.265130
-- "HA" "H1" 0 1 131072 4 1 0.127760
-- "CB" "CT" 0 1 131072 5 6 0.520990
-- "HB2" "HC" 0 1 131072 6 1 -0.129940
-- "HB3" "HC" 0 1 131072 7 1 -0.129940
-- "CG" "CT" 0 1 131072 8 6 -0.693830
-- "HG2" "HC" 0 1 131072 9 1 0.205050
-- "HG3" "HC" 0 1 131072 10 1 0.205050
-- "CD" "C" 0 1 131072 11 6 0.835690
-- "OE1" "O2" 0 1 131072 12 8 -0.811320
-- "OE2" "O2" 0 1 131072 13 8 -0.811320
-- "C" "C" 0 1 131072 14 6 0.705530
-- "O" "O2" 0 1 131072 15 8 -0.822990
-- "OXT" "O2" 0 1 131072 16 8 -0.822990
--!entry.CGLU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O2" 0 -1 0.0
-- "OE2" "O2" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CGLU.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLU.unit.childsequence single int
-- 2
--!entry.CGLU.unit.connect array int
-- 1
-- 0
--!entry.CGLU.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 14 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 14 15 1
-- 14 16 1
--!entry.CGLU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
--!entry.CGLU.unit.name single str
-- "CGLU"
--!entry.CGLU.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 5.347413 4.849843 1.186158
-- 3.966923 5.535124 0.296342
-- 3.873732 5.805369 2.428706
-- 4.594590 5.679012 3.454376
-- 2.855965 6.542070 2.333721
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CGLU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CGLU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CGLU" 1 17 1 "p" 0
--!entry.CGLU.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CGLU.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLU.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CGLY.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.195060
-- "HA2" "H1" 0 1 131072 4 1 0.124060
-- "HA3" "H1" 0 1 131072 5 1 0.124060
-- "C" "C" 0 1 131072 6 6 0.705530
-- "O" "O2" 0 1 131072 7 8 -0.822990
-- "OXT" "O2" 0 1 131072 8 8 -0.822990
--!entry.CGLY.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA2" "H1" 0 -1 0.0
-- "HA3" "H1" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CGLY.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLY.unit.childsequence single int
-- 2
--!entry.CGLY.unit.connect array int
-- 1
-- 0
--!entry.CGLY.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 6 1
-- 6 7 1
-- 6 8 1
--!entry.CGLY.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
--!entry.CGLY.unit.name single str
-- "CGLY"
--!entry.CGLY.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.671668 3.400125 0.889824
-- 5.483710 2.686702 -4.438857E-06
-- 5.993369 1.568360 -8.469843E-06
-- 6.214748 3.674642 -2.512987E-06
--!entry.CGLY.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CGLY.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CGLY" 1 9 1 "p" 0
--!entry.CGLY.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CGLY.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CGLY.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CHID.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.027370
-- "HA" "H1" 0 1 131072 4 1 0.038450
-- "CB" "CT" 0 1 131072 5 6 -0.339570
-- "HB2" "HC" 0 1 131072 6 1 0.133210
-- "HB3" "HC" 0 1 131072 7 1 0.133210
-- "CG" "CC" 0 1 131072 8 6 0.324210
-- "ND1" "NA" 0 1 131072 9 7 -0.387720
-- "HD1" "H" 0 1 131072 10 1 0.367140
-- "CE1" "CR" 0 1 131072 11 6 0.234580
-- "HE1" "H5" 0 1 131072 12 1 0.060770
-- "NE2" "NB" 0 1 131072 13 7 -0.513820
-- "CD2" "CV" 0 1 131072 14 6 -0.060620
-- "HD2" "H4" 0 1 131072 15 1 0.090590
-- "C" "C" 0 1 131072 16 6 0.705530
-- "O" "O2" 0 1 131072 17 8 -0.822990
-- "OXT" "O2" 0 1 131072 18 8 -0.822990
--!entry.CHID.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NA" 0 -1 0.0
-- "HD1" "H" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NB" 0 -1 0.0
-- "CD2" "CV" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CHID.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CHID.unit.childsequence single int
-- 2
--!entry.CHID.unit.connect array int
-- 1
-- 0
--!entry.CHID.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 14 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 14 15 1
-- 16 17 1
-- 16 18 1
--!entry.CHID.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.CHID.unit.name single str
-- "CHID"
--!entry.CHID.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 3.339725 5.691913 3.169805
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CHID.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CHID.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CHID" 1 19 1 "p" 0
--!entry.CHID.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CHID.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CHID.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CHIE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.124850
-- "HA" "H1" 0 1 131072 4 1 0.066680
-- "CB" "CT" 0 1 131072 5 6 -0.261430
-- "HB2" "HC" 0 1 131072 6 1 0.140860
-- "HB3" "HC" 0 1 131072 7 1 0.140860
-- "CG" "CC" 0 1 131072 8 6 0.443190
-- "ND1" "NB" 0 1 131072 9 7 -0.679990
-- "CE1" "CR" 0 1 131072 10 6 0.325720
-- "HE1" "H5" 0 1 131072 11 1 0.037400
-- "NE2" "NA" 0 1 131072 12 7 -0.315320
-- "HE2" "H" 0 1 131072 13 1 0.339080
-- "CD2" "CW" 0 1 131072 14 6 -0.228430
-- "HD2" "H4" 0 1 131072 15 1 0.169290
-- "C" "C" 0 1 131072 16 6 0.705530
-- "O" "O2" 0 1 131072 17 8 -0.822990
-- "OXT" "O2" 0 1 131072 18 8 -0.822990
--!entry.CHIE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NB" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NA" 0 -1 0.0
-- "HE2" "H" 0 -1 0.0
-- "CD2" "CW" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CHIE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CHIE.unit.childsequence single int
-- 2
--!entry.CHIE.unit.connect array int
-- 1
-- 0
--!entry.CHIE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 14 1
-- 9 10 1
-- 10 11 1
-- 10 12 1
-- 12 13 1
-- 12 14 1
-- 14 15 1
-- 16 17 1
-- 16 18 1
--!entry.CHIE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.CHIE.unit.name single str
-- "CHIE"
--!entry.CHIE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.896297 7.605085 0.676854
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CHIE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CHIE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CHIE" 1 19 1 "p" 0
--!entry.CHIE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CHIE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CHIE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CHIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.029340
-- "HA" "H1" 0 1 131072 4 1 0.065870
-- "CB" "CT" 0 1 131072 5 6 -0.093770
-- "HB2" "HC" 0 1 131072 6 1 0.087980
-- "HB3" "HC" 0 1 131072 7 1 0.087980
-- "CG" "CC" 0 1 131072 8 6 0.263950
-- "ND1" "NA" 0 1 131072 9 7 -0.125480
-- "HD1" "H" 0 1 131072 10 1 0.367860
-- "CE1" "CR" 0 1 131072 11 6 -0.069000
-- "HE1" "H5" 0 1 131072 12 1 0.195860
-- "NE2" "NA" 0 1 131072 13 7 0.034660
-- "HE2" "H" 0 1 131072 14 1 0.297530
-- "CD2" "CW" 0 1 131072 15 6 -0.181280
-- "HD2" "H4" 0 1 131072 16 1 0.150240
-- "C" "C" 0 1 131072 17 6 0.705530
-- "O" "O2" 0 1 131072 18 8 -0.822990
-- "OXT" "O2" 0 1 131072 19 8 -0.822990
--!entry.CHIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NA" 0 -1 0.0
-- "HD1" "H" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NA" 0 -1 0.0
-- "HE2" "H" 0 -1 0.0
-- "CD2" "CW" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CHIP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CHIP.unit.childsequence single int
-- 2
--!entry.CHIP.unit.connect array int
-- 1
-- 0
--!entry.CHIP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 17 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 15 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 17 18 1
-- 17 19 1
--!entry.CHIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.CHIP.unit.name single str
-- "CHIP"
--!entry.CHIP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 3.339725 5.691913 3.169805
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.896297 7.605085 0.676854
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CHIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CHIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CHIP" 1 20 1 "p" 0
--!entry.CHIP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CHIP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CHIP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CILE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.287930
-- "HA" "H1" 0 1 131072 4 1 0.135390
-- "CB" "CT" 0 1 131072 5 6 0.357940
-- "HB" "HC" 0 1 131072 6 1 -0.079320
-- "CG2" "CT" 0 1 131072 7 6 -0.501190
-- "HG21" "HC" 0 1 131072 8 1 0.140430
-- "HG22" "HC" 0 1 131072 9 1 0.140430
-- "HG23" "HC" 0 1 131072 10 1 0.140430
-- "CG1" "CT" 0 1 131072 11 6 -0.081150
-- "HG12" "HC" 0 1 131072 12 1 0.048560
-- "HG13" "HC" 0 1 131072 13 1 0.048560
-- "CD1" "CT" 0 1 131072 14 6 -0.094950
-- "HD11" "HC" 0 1 131072 15 1 0.028620
-- "HD12" "HC" 0 1 131072 16 1 0.028620
-- "HD13" "HC" 0 1 131072 17 1 0.028620
-- "C" "C" 0 1 131072 18 6 0.705530
-- "O" "O2" 0 1 131072 19 8 -0.822990
-- "OXT" "O2" 0 1 131072 20 8 -0.822990
--!entry.CILE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "HC" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "CG1" "CT" 0 -1 0.0
-- "HG12" "HC" 0 -1 0.0
-- "HG13" "HC" 0 -1 0.0
-- "CD1" "CT" 0 -1 0.0
-- "HD11" "HC" 0 -1 0.0
-- "HD12" "HC" 0 -1 0.0
-- "HD13" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CILE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CILE.unit.childsequence single int
-- 2
--!entry.CILE.unit.connect array int
-- 1
-- 0
--!entry.CILE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 18 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 18 19 1
-- 18 20 1
--!entry.CILE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
--!entry.CILE.unit.name single str
-- "CILE"
--!entry.CILE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.552136 3.620733 1.245168
-- 2.470128 3.752486 1.245640
-- 3.970045 2.845728 2.490296
-- 5.052053 2.713974 2.490763
-- 3.671561 3.399208 3.380615
-- 3.485650 1.869275 2.490737
-- 4.230204 4.986694 1.245169
-- 5.312310 4.855746 1.245164
-- 3.931820 5.541027 0.355348
-- 3.812294 5.761632 2.490339
-- 4.110777 5.208104 3.380628
-- 4.296689 6.738085 2.490833
-- 2.730286 5.893383 2.490813
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CILE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CILE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CILE" 1 21 1 "p" 0
--!entry.CILE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CILE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CILE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CLEU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.151630
-- "HA" "H1" 0 1 131072 4 1 0.080730
-- "CB" "CT" 0 1 131072 5 6 -0.251240
-- "HB2" "HC" 0 1 131072 6 1 0.113740
-- "HB3" "HC" 0 1 131072 7 1 0.113740
-- "CG" "CT" 0 1 131072 8 6 0.579270
-- "HG" "HC" 0 1 131072 9 1 -0.096890
-- "CD1" "CT" 0 1 131072 10 6 -0.760610
-- "HD11" "HC" 0 1 131072 11 1 0.197760
-- "HD12" "HC" 0 1 131072 12 1 0.197760
-- "HD13" "HC" 0 1 131072 13 1 0.197760
-- "CD2" "CT" 0 1 131072 14 6 -0.760610
-- "HD21" "HC" 0 1 131072 15 1 0.197760
-- "HD22" "HC" 0 1 131072 16 1 0.197760
-- "HD23" "HC" 0 1 131072 17 1 0.197760
-- "C" "C" 0 1 131072 18 6 0.705530
-- "O" "O2" 0 1 131072 19 8 -0.822990
-- "OXT" "O2" 0 1 131072 20 8 -0.822990
--!entry.CLEU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG" "HC" 0 -1 0.0
-- "CD1" "CT" 0 -1 0.0
-- "HD11" "HC" 0 -1 0.0
-- "HD12" "HC" 0 -1 0.0
-- "HD13" "HC" 0 -1 0.0
-- "CD2" "CT" 0 -1 0.0
-- "HD21" "HC" 0 -1 0.0
-- "HD22" "HC" 0 -1 0.0
-- "HD23" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CLEU.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CLEU.unit.childsequence single int
-- 2
--!entry.CLEU.unit.connect array int
-- 1
-- 0
--!entry.CLEU.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 18 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 14 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 18 19 1
-- 18 20 1
--!entry.CLEU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
--!entry.CLEU.unit.name single str
-- "CLEU"
--!entry.CLEU.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.853429 5.762895 -0.062857
-- 2.773449 5.910113 -0.054557
-- 4.351513 6.732052 -0.090203
-- 4.134159 5.185704 -0.943846
-- 3.881105 5.817645 2.426721
-- 4.181626 5.279602 3.325774
-- 4.379198 6.786825 2.400363
-- 2.801135 5.964881 2.435959
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CLEU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CLEU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CLEU" 1 21 1 "p" 0
--!entry.CLEU.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CLEU.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CLEU.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CLYN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.163200
-- "HA" "H1" 0 1 131072 4 1 0.095860
-- "CB" "CT" 0 1 131072 5 6 0.095690
-- "HB2" "HC" 0 1 131072 6 1 -0.015960
-- "HB3" "HC" 0 1 131072 7 1 -0.015960
-- "CG" "CT" 0 1 131072 8 6 0.018310
-- "HG2" "HC" 0 1 131072 9 1 0.010750
-- "HG3" "HC" 0 1 131072 10 1 0.010750
-- "CD" "CT" 0 1 131072 11 6 -0.229410
-- "HD2" "HC" 0 1 131072 12 1 0.104310
-- "HD3" "HC" 0 1 131072 13 1 0.104310
-- "CE" "CT" 0 1 131072 14 6 0.528910
-- "HE2" "H1" 0 1 131072 15 1 -0.110750
-- "HE3" "H1" 0 1 131072 16 1 -0.110750
-- "NZ" "NT" 0 1 131072 17 7 -0.980200
-- "HZ2" "H" 0 1 131072 18 1 0.355200
-- "HZ3" "H" 0 1 131072 19 1 0.355200
-- "C" "C" 0 1 131072 20 6 0.705530
-- "O" "O2" 0 1 131072 21 8 -0.822990
-- "OXT" "O2" 0 1 131072 22 8 -0.822990
--!entry.CLYN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HC" 0 -1 0.0
-- "HD3" "HC" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE2" "H1" 0 -1 0.0
-- "HE3" "H1" 0 -1 0.0
-- "NZ" "NT" 0 -1 0.0
-- "HZ2" "H" 0 -1 0.0
-- "HZ3" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CLYN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CLYN.unit.childsequence single int
-- 2
--!entry.CLYN.unit.connect array int
-- 1
-- 0
--!entry.CLYN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 20 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 17 18 1
-- 17 19 1
-- 20 21 1
-- 20 22 1
--!entry.CLYN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
--!entry.CLYN.unit.name single str
-- "CLYN"
--!entry.CLYN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.578325 7.173410 2.389153
-- 5.658410 7.026987 2.380363
-- 4.277917 7.712267 1.490550
-- 4.199422 7.952309 3.576860
-- 4.661186 8.850226 3.551979
-- 3.198675 8.088466 3.584971
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CLYN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CLYN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CLYN" 1 23 1 "p" 0
--!entry.CLYN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CLYN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CLYN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CLYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.185190
-- "HA" "H1" 0 1 131072 4 1 0.120990
-- "CB" "CT" 0 1 131072 5 6 0.035190
-- "HB2" "HC" 0 1 131072 6 1 0.015850
-- "HB3" "HC" 0 1 131072 7 1 0.015850
-- "CG" "CT" 0 1 131072 8 6 -0.039190
-- "HG2" "HC" 0 1 131072 9 1 0.047540
-- "HG3" "HC" 0 1 131072 10 1 0.047540
-- "CD" "CT" 0 1 131072 11 6 -0.190030
-- "HD2" "HC" 0 1 131072 12 1 0.094440
-- "HD3" "HC" 0 1 131072 13 1 0.094440
-- "CE" "CT" 0 1 131072 14 6 0.457400
-- "HE2" "HP" 0 1 131072 15 1 -0.049110
-- "HE3" "HP" 0 1 131072 16 1 -0.049110
-- "NZ" "N3" 0 1 131072 17 7 -0.371640
-- "HZ1" "H" 0 1 131072 18 1 0.336030
-- "HZ2" "H" 0 1 131072 19 1 0.336030
-- "HZ3" "H" 0 1 131072 20 1 0.336030
-- "C" "C" 0 1 131072 21 6 0.705530
-- "O" "O2" 0 1 131072 22 8 -0.822990
-- "OXT" "O2" 0 1 131072 23 8 -0.822990
--!entry.CLYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HC" 0 -1 0.0
-- "HD3" "HC" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE2" "HP" 0 -1 0.0
-- "HE3" "HP" 0 -1 0.0
-- "NZ" "N3" 0 -1 0.0
-- "HZ1" "H" 0 -1 0.0
-- "HZ2" "H" 0 -1 0.0
-- "HZ3" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CLYS.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CLYS.unit.childsequence single int
-- 2
--!entry.CLYS.unit.connect array int
-- 1
-- 0
--!entry.CLYS.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 21 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 17 18 1
-- 17 19 1
-- 17 20 1
-- 21 22 1
-- 21 23 1
--!entry.CLYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
--!entry.CLYS.unit.name single str
-- "CLYS"
--!entry.CLYS.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.578325 7.173410 2.389153
-- 5.658410 7.026987 2.380363
-- 4.277917 7.712267 1.490550
-- 4.199422 7.952309 3.576860
-- 4.478085 7.453366 4.409628
-- 4.661186 8.850226 3.551979
-- 3.198675 8.088466 3.584971
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CLYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CLYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CLYS" 1 24 1 "p" 0
--!entry.CLYS.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CLYS.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CLYS.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CMET.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.171820
-- "HA" "H1" 0 1 131072 4 1 0.129660
-- "CB" "CT" 0 1 131072 5 6 0.250160
-- "HB2" "HC" 0 1 131072 6 1 -0.026630
-- "HB3" "HC" 0 1 131072 7 1 -0.026630
-- "CG" "CT" 0 1 131072 8 6 -0.366710
-- "HG2" "H1" 0 1 131072 9 1 0.160270
-- "HG3" "H1" 0 1 131072 10 1 0.160270
-- "SD" "S" 0 1 131072 11 16 -0.122120
-- "CE" "CT" 0 1 131072 12 6 -0.263690
-- "HE1" "H1" 0 1 131072 13 1 0.110100
-- "HE2" "H1" 0 1 131072 14 1 0.110100
-- "HE3" "H1" 0 1 131072 15 1 0.110100
-- "C" "C" 0 1 131072 16 6 0.705530
-- "O" "O2" 0 1 131072 17 8 -0.822990
-- "OXT" "O2" 0 1 131072 18 8 -0.822990
--!entry.CMET.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "H1" 0 -1 0.0
-- "HG3" "H1" 0 -1 0.0
-- "SD" "S" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE1" "H1" 0 -1 0.0
-- "HE2" "H1" 0 -1 0.0
-- "HE3" "H1" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CMET.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CMET.unit.childsequence single int
-- 2
--!entry.CMET.unit.connect array int
-- 1
-- 0
--!entry.CMET.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 12 13 1
-- 12 14 1
-- 12 15 1
-- 16 17 1
-- 16 18 1
--!entry.CMET.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.CMET.unit.name single str
-- "CMET"
--!entry.CMET.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.817309 5.981266 2.651708
-- 4.753212 7.463128 2.340949
-- 4.433582 7.904044 1.396741
-- 4.585907 8.175299 3.148985
-- 5.814074 7.218763 2.286554
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CMET.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CMET.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CMET" 1 19 1 "p" 0
--!entry.CMET.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CMET.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CMET.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CPHE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.072690
-- "HA" "H1" 0 1 131072 4 1 0.053080
-- "CB" "CT" 0 1 131072 5 6 -0.213480
-- "HB2" "HC" 0 1 131072 6 1 0.116210
-- "HB3" "HC" 0 1 131072 7 1 0.116210
-- "CG" "CA" 0 1 131072 8 6 0.197950
-- "CD1" "CA" 0 1 131072 9 6 -0.219910
-- "HD1" "HA" 0 1 131072 10 1 0.142120
-- "CE1" "CA" 0 1 131072 11 6 -0.084720
-- "HE1" "HA" 0 1 131072 12 1 0.108500
-- "CZ" "CA" 0 1 131072 13 6 -0.128160
-- "HZ" "HA" 0 1 131072 14 1 0.091960
-- "CE2" "CA" 0 1 131072 15 6 -0.084720
-- "HE2" "HA" 0 1 131072 16 1 0.108500
-- "CD2" "CA" 0 1 131072 17 6 -0.219910
-- "HD2" "HA" 0 1 131072 18 1 0.142120
-- "C" "C" 0 1 131072 19 6 0.705530
-- "O" "O2" 0 1 131072 20 8 -0.822990
-- "OXT" "O2" 0 1 131072 21 8 -0.822990
--!entry.CPHE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CA" 0 -1 0.0
-- "CD1" "CA" 0 -1 0.0
-- "HD1" "HA" 0 -1 0.0
-- "CE1" "CA" 0 -1 0.0
-- "HE1" "HA" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "HZ" "HA" 0 -1 0.0
-- "CE2" "CA" 0 -1 0.0
-- "HE2" "HA" 0 -1 0.0
-- "CD2" "CA" 0 -1 0.0
-- "HD2" "HA" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CPHE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CPHE.unit.childsequence single int
-- 2
--!entry.CPHE.unit.connect array int
-- 1
-- 0
--!entry.CPHE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 19 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 17 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 17 1
-- 17 18 1
-- 19 20 1
-- 19 21 1
--!entry.CPHE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
--!entry.CPHE.unit.name single str
-- "CPHE"
--!entry.CPHE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.911613 5.857250 2.409890
-- 3.236123 5.513843 3.193398
-- 4.490014 7.129513 2.492354
-- 4.264853 7.776651 3.340066
-- 5.357616 7.570591 1.486016
-- 5.807943 8.561138 1.550220
-- 5.646818 6.739407 0.397211
-- 6.322309 7.082817 -0.386295
-- 5.068419 5.467143 0.314744
-- 5.293584 4.820007 -0.532968
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CPHE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CPHE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CPHE" 1 22 1 "p" 0
--!entry.CPHE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CPHE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CPHE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CPRO.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.251210
-- "CD" "CT" 0 1 131072 2 6 0.062560
-- "HD2" "H1" 0 1 131072 3 1 0.022030
-- "HD3" "H1" 0 1 131072 4 1 0.022010
-- "CG" "CT" 0 1 131072 5 6 0.066380
-- "HG2" "HC" 0 1 131072 6 1 0.007490
-- "HG3" "HC" 0 1 131072 7 1 0.007490
-- "CB" "CT" 0 1 131072 8 6 0.069820
-- "HB2" "HC" 0 1 131072 9 1 0.013210
-- "HB3" "HC" 0 1 131072 10 1 0.013210
-- "CA" "CT" 0 1 131072 11 6 -0.200450
-- "HA" "H1" 0 1 131072 12 1 0.107910
-- "C" "C" 0 1 131072 13 6 0.705530
-- "O" "O2" 0 1 131072 14 8 -0.822990
-- "OXT" "O2" 0 1 131072 15 8 -0.822990
--!entry.CPRO.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "H1" 0 -1 0.0
-- "HD3" "H1" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CPRO.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CPRO.unit.childsequence single int
-- 2
--!entry.CPRO.unit.connect array int
-- 1
-- 0
--!entry.CPRO.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 11 1
-- 2 3 1
-- 2 4 1
-- 2 5 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
--!entry.CPRO.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
--!entry.CPRO.unit.name single str
-- "CPRO"
--!entry.CPRO.unit.positions table  dbl x  dbl y  dbl z
-- 3.326834 1.557389 -1.603945E-06
-- 4.302147 0.476598 0.080119
-- 4.419998 0.019283 -0.902263
-- 3.955888 -0.274040 0.790574
-- 5.547126 1.172441 0.544693
-- 6.413549 0.741636 0.042879
-- 5.652950 1.047934 1.622376
-- 5.369091 2.628184 0.185227
-- 5.969289 2.861861 -0.694123
-- 5.690642 3.251038 1.019947
-- 3.933610 2.871277 -0.104508
-- 3.611470 3.488570 0.734106
-- 3.505164 3.526392 -1.409783
-- 2.754240 2.939065 -2.185412
-- 3.904907 4.650696 -1.704043
--!entry.CPRO.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CPRO.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CPRO" 1 16 1 "p" 0
--!entry.CPRO.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CPRO.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CPRO.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CSER.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.069940
-- "HA" "H1" 0 1 131072 4 1 0.110000
-- "CB" "CT" 0 1 131072 5 6 0.169960
-- "HB2" "H1" 0 1 131072 6 1 0.022900
-- "HB3" "H1" 0 1 131072 7 1 0.022900
-- "OG" "OH" 0 1 131072 8 8 -0.571310
-- "HG" "HO" 0 1 131072 9 1 0.368550
-- "C" "C" 0 1 131072 10 6 0.705530
-- "O" "O2" 0 1 131072 11 8 -0.822990
-- "OXT" "O2" 0 1 131072 12 8 -0.822990
--!entry.CSER.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "OG" "OH" 0 -1 0.0
-- "HG" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CSER.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CSER.unit.childsequence single int
-- 2
--!entry.CSER.unit.connect array int
-- 1
-- 0
--!entry.CSER.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 10 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 10 11 1
-- 10 12 1
--!entry.CSER.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
--!entry.CSER.unit.name single str
-- "CSER"
--!entry.CSER.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.230753 4.925145 1.196917
-- 3.983305 5.433814 1.972562
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CSER.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CSER.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CSER" 1 13 1 "p" 0
--!entry.CSER.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CSER.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CSER.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CTHR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 0.019110
-- "HA" "H1" 0 1 131072 4 1 0.067720
-- "CB" "CT" 0 1 131072 5 6 0.444500
-- "HB" "H1" 0 1 131072 6 1 -0.106110
-- "CG2" "CT" 0 1 131072 7 6 -0.496090
-- "HG21" "HC" 0 1 131072 8 1 0.133070
-- "HG22" "HC" 0 1 131072 9 1 0.133070
-- "HG23" "HC" 0 1 131072 10 1 0.133070
-- "OG1" "OH" 0 1 131072 11 8 -0.724290
-- "HG1" "HO" 0 1 131072 12 1 0.449010
-- "C" "C" 0 1 131072 13 6 0.705530
-- "O" "O2" 0 1 131072 14 8 -0.822990
-- "OXT" "O2" 0 1 131072 15 8 -0.822990
--!entry.CTHR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "H1" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "OG1" "OH" 0 -1 0.0
-- "HG1" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CTHR.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CTHR.unit.childsequence single int
-- 2
--!entry.CTHR.unit.connect array int
-- 1
-- 0
--!entry.CTHR.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 13 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
-- 13 14 1
-- 13 15 1
--!entry.CTHR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
--!entry.CTHR.unit.name single str
-- "CTHR"
--!entry.CTHR.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 4.075059 4.623017 1.205786
-- 2.065936 3.859425 1.244383
-- 1.567127 2.890627 1.271209
-- 1.784431 4.436953 2.124903
-- 1.764699 4.397847 0.345796
-- 3.971501 2.947413 2.411212
-- 3.724052 3.456082 3.186857
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CTHR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CTHR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CTHR" 1 16 1 "p" 0
--!entry.CTHR.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CTHR.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CTHR.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CTRP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.090040
-- "HA" "H1" 0 1 131072 4 1 0.084020
-- "CB" "CT" 0 1 131072 5 6 0.040520
-- "HB2" "HC" 0 1 131072 6 1 0.031680
-- "HB3" "HC" 0 1 131072 7 1 0.031680
-- "CG" "C*" 0 1 131072 8 6 -0.293840
-- "CD1" "CW" 0 1 131072 9 6 0.036620
-- "HD1" "H4" 0 1 131072 10 1 0.130250
-- "NE1" "NA" 0 1 131072 11 7 -0.473000
-- "HE1" "H" 0 1 131072 12 1 0.391490
-- "CE2" "CN" 0 1 131072 13 6 0.187500
-- "CZ2" "CA" 0 1 131072 14 6 -0.261570
-- "HZ2" "HA" 0 1 131072 15 1 0.183290
-- "CH2" "CA" 0 1 131072 16 6 -0.178280
-- "HH2" "HA" 0 1 131072 17 1 0.106010
-- "CZ3" "CA" 0 1 131072 18 6 -0.048150
-- "HZ3" "HA" 0 1 131072 19 1 0.086830
-- "CE3" "CA" 0 1 131072 20 6 -0.414910
-- "HE3" "HA" 0 1 131072 21 1 0.219040
-- "CD2" "CB" 0 1 131072 22 6 0.283920
-- "C" "C" 0 1 131072 23 6 0.705530
-- "O" "O2" 0 1 131072 24 8 -0.822990
-- "OXT" "O2" 0 1 131072 25 8 -0.822990
--!entry.CTRP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C*" 0 -1 0.0
-- "CD1" "CW" 0 -1 0.0
-- "HD1" "H4" 0 -1 0.0
-- "NE1" "NA" 0 -1 0.0
-- "HE1" "H" 0 -1 0.0
-- "CE2" "CN" 0 -1 0.0
-- "CZ2" "CA" 0 -1 0.0
-- "HZ2" "HA" 0 -1 0.0
-- "CH2" "CA" 0 -1 0.0
-- "HH2" "HA" 0 -1 0.0
-- "CZ3" "CA" 0 -1 0.0
-- "HZ3" "HA" 0 -1 0.0
-- "CE3" "CA" 0 -1 0.0
-- "HE3" "HA" 0 -1 0.0
-- "CD2" "CB" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CTRP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CTRP.unit.childsequence single int
-- 2
--!entry.CTRP.unit.connect array int
-- 1
-- 0
--!entry.CTRP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 23 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 22 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 22 1
-- 14 15 1
-- 14 16 1
-- 16 17 1
-- 16 18 1
-- 18 19 1
-- 18 20 1
-- 20 21 1
-- 20 22 1
-- 23 24 1
-- 23 25 1
--!entry.CTRP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
-- "R" 1 "A" 25
--!entry.CTRP.unit.name single str
-- "CTRP"
--!entry.CTRP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 4.023453 5.931084 2.293240
-- 3.368841 5.705466 3.135071
-- 4.811943 7.073555 1.949808
-- 4.882921 7.922010 2.493118
-- 5.427347 6.842060 0.816764
-- 6.297161 7.689052 0.119605
-- 6.531230 8.676649 0.517050
-- 6.814091 7.187011 -1.069023
-- 7.498074 7.791857 -1.664362
-- 6.482659 5.953119 -1.505101
-- 6.897660 5.575648 -2.439654
-- 5.604041 5.117355 -0.785636
-- 5.358720 4.126570 -1.168080
-- 5.083390 5.623004 0.411545
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CTRP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CTRP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CTRP" 1 26 1 "p" 0
--!entry.CTRP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CTRP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CTRP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CTYR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.175550
-- "HA" "H1" 0 1 131072 4 1 0.121890
-- "CB" "CT" 0 1 131072 5 6 -0.093730
-- "HB2" "HC" 0 1 131072 6 1 0.086440
-- "HB3" "HC" 0 1 131072 7 1 0.086440
-- "CG" "CA" 0 1 131072 8 6 0.017450
-- "CD1" "CA" 0 1 131072 9 6 -0.128300
-- "HD1" "HA" 0 1 131072 10 1 0.137650
-- "CE1" "CA" 0 1 131072 11 6 -0.334250
-- "HE1" "HA" 0 1 131072 12 1 0.190120
-- "CZ" "CA" 0 1 131072 13 6 0.442000
-- "OH" "OH" 0 1 131072 14 8 -0.544620
-- "HH" "HO" 0 1 131072 15 1 0.382300
-- "CE2" "CA" 0 1 131072 16 6 -0.334250
-- "HE2" "HA" 0 1 131072 17 1 0.190120
-- "CD2" "CA" 0 1 131072 18 6 -0.128300
-- "HD2" "HA" 0 1 131072 19 1 0.137650
-- "C" "C" 0 1 131072 20 6 0.705530
-- "O" "O2" 0 1 131072 21 8 -0.822990
-- "OXT" "O2" 0 1 131072 22 8 -0.822990
--!entry.CTYR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CA" 0 -1 0.0
-- "CD1" "CA" 0 -1 0.0
-- "HD1" "HA" 0 -1 0.0
-- "CE1" "CA" 0 -1 0.0
-- "HE1" "HA" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "OH" "OH" 0 -1 0.0
-- "HH" "HO" 0 -1 0.0
-- "CE2" "CA" 0 -1 0.0
-- "HE2" "HA" 0 -1 0.0
-- "CD2" "CA" 0 -1 0.0
-- "HD2" "HA" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CTYR.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CTYR.unit.childsequence single int
-- 2
--!entry.CTYR.unit.connect array int
-- 1
-- 0
--!entry.CTYR.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 20 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 18 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 16 1
-- 14 15 1
-- 16 17 1
-- 16 18 1
-- 18 19 1
-- 20 21 1
-- 20 22 1
--!entry.CTYR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
--!entry.CTYR.unit.name single str
-- "CTYR"
--!entry.CTYR.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 4.059927 5.918911 2.227280
-- 3.400108 5.668218 3.057877
-- 4.699998 7.163547 2.192791
-- 4.538522 7.881891 2.996538
-- 5.547471 7.485542 1.125970
-- 6.169255 8.694617 1.092468
-- 5.956327 9.246984 1.848214
-- 5.754875 6.562900 0.093635
-- 6.414694 6.813595 -0.736962
-- 5.114806 5.318263 0.128119
-- 5.276286 4.599920 -0.675627
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CTYR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CTYR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CTYR" 1 23 1 "p" 0
--!entry.CTYR.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CTYR.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CTYR.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CVAL.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.213060
-- "HA" "H1" 0 1 131072 4 1 0.122010
-- "CB" "CT" 0 1 131072 5 6 0.550920
-- "HB" "HC" 0 1 131072 6 1 -0.083650
-- "CG1" "CT" 0 1 131072 7 6 -0.705720
-- "HG11" "HC" 0 1 131072 8 1 0.181380
-- "HG12" "HC" 0 1 131072 9 1 0.181380
-- "HG13" "HC" 0 1 131072 10 1 0.181380
-- "CG2" "CT" 0 1 131072 11 6 -0.705720
-- "HG21" "HC" 0 1 131072 12 1 0.181380
-- "HG22" "HC" 0 1 131072 13 1 0.181380
-- "HG23" "HC" 0 1 131072 14 1 0.181380
-- "C" "C" 0 1 131072 15 6 0.705530
-- "O" "O2" 0 1 131072 16 8 -0.822990
-- "OXT" "O2" 0 1 131072 17 8 -0.822990
--!entry.CVAL.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "HC" 0 -1 0.0
-- "CG1" "CT" 0 -1 0.0
-- "HG11" "HC" 0 -1 0.0
-- "HG12" "HC" 0 -1 0.0
-- "HG13" "HC" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O2" 0 -1 0.0
-- "OXT" "O2" 0 -1 0.0
--!entry.CVAL.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CVAL.unit.childsequence single int
-- 2
--!entry.CVAL.unit.connect array int
-- 1
-- 0
--!entry.CVAL.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 15 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 15 16 1
-- 15 17 1
--!entry.CVAL.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.CVAL.unit.name single str
-- "CVAL"
--!entry.CVAL.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.997712 2.900483 2.489542
-- 5.077693 2.753265 2.481244
-- 3.716972 3.477628 3.370558
-- 3.499630 1.931323 2.516834
-- 4.274186 5.009602 1.194577
-- 3.973781 5.548460 0.295972
-- 3.993559 5.587585 2.075079
-- 5.354271 4.863178 1.185788
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
-- 6.204455 3.702003 -2.420005E-06
--!entry.CVAL.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 0 0 0 0 0
--!entry.CVAL.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CVAL" 1 18 1 "p" 0
--!entry.CVAL.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CVAL.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CVAL.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NME.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.534190
-- "H" "H" 0 1 131072 2 1 0.339300
-- "CH3" "CT" 0 1 131072 3 6 0.044800
-- "HH31" "H1" 0 1 131072 4 1 0.050030
-- "HH32" "H1" 0 1 131072 5 1 0.050030
-- "HH33" "H1" 0 1 131072 6 1 0.050030
--!entry.NME.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CH3" "CT" 0 -1 0.0
-- "HH31" "H1" 0 -1 0.0
-- "HH32" "H1" 0 -1 0.0
-- "HH33" "H1" 0 -1 0.0
--!entry.NME.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NME.unit.childsequence single int
-- 2
--!entry.NME.unit.connect array int
-- 1
-- 0
--!entry.NME.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 6 1
--!entry.NME.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
--!entry.NME.unit.name single str
-- "NME"
--!entry.NME.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.211504 3.628554 2.348065E-06
-- 4.591993 2.943271 0.889822
-- 4.591988 2.943275 -0.889825
--!entry.NME.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 3 0 0 0 0
--!entry.NME.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NME" 1 7 1 "p" 0
--!entry.NME.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NME.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NME.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-diff --git a/dat/leap/lib/aminontpol12.lib b/dat/leap/lib/aminontpol12.lib
-deleted file mode 100644
-index ead0d89..0000000
---- a/dat/leap/lib/aminontpol12.lib
-+++ /dev/null
-@@ -1,3839 +0,0 @@
--!!index array str
-- "ACE"
-- "NALA"
-- "NARG"
-- "NASH"
-- "NASN"
-- "NASP"
-- "NCYM"
-- "NCYS"
-- "NCYX"
-- "NGLH"
-- "NGLN"
-- "NGLU"
-- "NGLY"
-- "NHID"
-- "NHIE"
-- "NHIP"
-- "NILE"
-- "NLEU"
-- "NLYN"
-- "NLYS"
-- "NMET"
-- "NPHE"
-- "NPRO"
-- "NSER"
-- "NTHR"
-- "NTRP"
-- "NTYR"
-- "NVAL"
--!entry.ACE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "HH31" "HC" 0 1 131072 1 1 0.245320
-- "CH3" "CT" 0 1 131072 2 6 -0.841920
-- "HH32" "HC" 0 1 131072 3 1 0.245320
-- "HH33" "HC" 0 1 131072 4 1 0.245320
-- "C" "C" 0 1 131072 5 6 0.730100
-- "O" "O" 0 1 131072 6 8 -0.624140
--!entry.ACE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "HH31" "HC" 0 -1 0.0
-- "CH3" "CT" 0 -1 0.0
-- "HH32" "HC" 0 -1 0.0
-- "HH33" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ACE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ACE.unit.childsequence single int
-- 2
--!entry.ACE.unit.connect array int
-- 0
-- 5
--!entry.ACE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 2 3 1
-- 2 4 1
-- 2 5 1
-- 5 6 1
--!entry.ACE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
--!entry.ACE.unit.name single str
-- "ACE"
--!entry.ACE.unit.positions table  dbl x  dbl y  dbl z
-- 2.000001 1.000000 -1.346410E-06
-- 2.000001 2.090000 1.211769E-07
-- 1.486264 2.453849 0.889824
-- 1.486259 2.453852 -0.889820
-- 3.427420 2.640795 -2.981008E-06
-- 4.390580 1.877406 -6.602402E-06
--!entry.ACE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 5 0 0 0 0
--!entry.ACE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ACE" 1 7 1 "p" 0
--!entry.ACE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ACE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ACE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NALA.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.062490
-- "HA" "HP" 0 1 131072 6 1 0.052310
-- "CB" "CT" 0 1 131072 7 6 -0.183710
-- "HB1" "HC" 0 1 131072 8 1 0.085560
-- "HB2" "HC" 0 1 131072 9 1 0.085560
-- "HB3" "HC" 0 1 131072 10 1 0.085560
-- "C" "C" 0 1 131072 11 6 0.670480
-- "O" "O" 0 1 131072 12 8 -0.583250
--!entry.NALA.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB1" "HC" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NALA.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NALA.unit.childsequence single int
-- 2
--!entry.NALA.unit.connect array int
-- 0
-- 11
--!entry.NALA.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
--!entry.NALA.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
--!entry.NALA.unit.name single str
-- "NALA"
--!entry.NALA.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 3.877484 3.115795 2.131197
-- 4.075059 4.623017 1.205786
-- 2.496995 3.801075 1.241379
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NALA.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 11 0 0 0 0
--!entry.NALA.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NALA" 1 13 1 "p" 0
--!entry.NALA.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NALA.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NALA.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NARG.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.086660
-- "HA" "HP" 0 1 131072 6 1 0.033450
-- "CB" "CT" 0 1 131072 7 6 0.605740
-- "HB2" "HC" 0 1 131072 8 1 -0.089670
-- "HB3" "HC" 0 1 131072 9 1 -0.111750
-- "CG" "CT" 0 1 131072 10 6 -0.639700
-- "HG2" "HC" 0 1 131072 11 1 0.145340
-- "HG3" "HC" 0 1 131072 12 1 0.145340
-- "CD" "CT" 0 1 131072 13 6 0.616090
-- "HD2" "H1" 0 1 131072 14 1 -0.083600
-- "HD3" "H1" 0 1 131072 15 1 -0.083600
-- "NE" "N2" 0 1 131072 16 7 -0.781830
-- "HE" "H" 0 1 131072 17 1 0.416010
-- "CZ" "CA" 0 1 131072 18 6 1.114550
-- "NH1" "N2" 0 1 131072 19 7 -0.955440
-- "HH11" "H" 0 1 131072 20 1 0.443490
-- "HH12" "H" 0 1 131072 21 1 0.443490
-- "NH2" "N2" 0 1 131072 22 7 -0.955440
-- "HH21" "H" 0 1 131072 23 1 0.443490
-- "HH22" "H" 0 1 131072 24 1 0.443490
-- "C" "C" 0 1 131072 25 6 0.670480
-- "O" "O" 0 1 131072 26 8 -0.583250
--!entry.NARG.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "H1" 0 -1 0.0
-- "HD3" "H1" 0 -1 0.0
-- "NE" "N2" 0 -1 0.0
-- "HE" "H" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "NH1" "N2" 0 -1 0.0
-- "HH11" "H" 0 -1 0.0
-- "HH12" "H" 0 -1 0.0
-- "NH2" "N2" 0 -1 0.0
-- "HH21" "H" 0 -1 0.0
-- "HH22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NARG.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NARG.unit.childsequence single int
-- 2
--!entry.NARG.unit.connect array int
-- 0
-- 25
--!entry.NARG.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 25 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 13 16 1
-- 16 17 1
-- 16 18 1
-- 18 19 1
-- 18 22 1
-- 19 20 1
-- 19 21 1
-- 22 23 1
-- 22 24 1
-- 25 26 1
--!entry.NARG.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
-- "R" 1 "A" 25
-- "R" 1 "A" 26
--!entry.NARG.unit.name single str
-- "NARG"
--!entry.NARG.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.540320 7.142723 2.424483
-- 5.151805 7.375492 1.655065
-- 4.364284 8.040989 3.389382
-- 3.575026 7.807606 4.434133
-- 3.088949 6.925423 4.508848
-- 3.465367 8.513631 5.147998
-- 5.006254 9.201287 3.286991
-- 5.604855 9.375325 2.492329
-- 4.892216 9.903045 4.004368
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NARG.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 25 0 0 0 0
--!entry.NARG.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NARG" 1 27 1 "p" 0
--!entry.NARG.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NARG.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NARG.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NASH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 0.084490
-- "HA" "HP" 0 1 131072 6 1 0.002600
-- "CB" "CT" 0 1 131072 7 6 -0.222150
-- "HB2" "HC" 0 1 131072 8 1 0.136250
-- "HB3" "HC" 0 1 131072 9 1 0.136250
-- "CG" "C" 0 1 131072 10 6 0.615590
-- "OD1" "O" 0 1 131072 11 8 -0.553020
-- "OD2" "OH" 0 1 131072 12 8 -0.580780
-- "HD2" "HO" 0 1 131072 13 1 0.443560
-- "C" "C" 0 1 131072 14 6 0.670480
-- "O" "O" 0 1 131072 15 8 -0.583250
--!entry.NASH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O" 0 -1 0.0
-- "OD2" "OH" 0 -1 0.0
-- "HD2" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NASH.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NASH.unit.childsequence single int
-- 2
--!entry.NASH.unit.connect array int
-- 0
-- 14
--!entry.NASH.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 14 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 12 13 1
-- 14 15 1
--!entry.NASH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
--!entry.NASH.unit.name single str
-- "NASH"
--!entry.NASH.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.275101 5.011380 1.194527
-- 3.669108 5.954940 0.620011
-- 5.407731 5.091879 1.740667
-- 5.742902 5.987179 1.652920
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NASH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 14 0 0 0 0
--!entry.NASH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NASH" 1 16 1 "p" 0
--!entry.NASH.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NASH.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NASH.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NASN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 0.009080
-- "HA" "HP" 0 1 131072 6 1 0.021090
-- "CB" "CT" 0 1 131072 7 6 -0.279860
-- "HB2" "HC" 0 1 131072 8 1 0.139080
-- "HB3" "HC" 0 1 131072 9 1 0.139080
-- "CG" "C" 0 1 131072 10 6 0.649780
-- "OD1" "O" 0 1 131072 11 8 -0.558030
-- "ND2" "N" 0 1 131072 12 7 -0.826350
-- "HD21" "H" 0 1 131072 13 1 0.384460
-- "HD22" "H" 0 1 131072 14 1 0.384460
-- "C" "C" 0 1 131072 15 6 0.670480
-- "O" "O" 0 1 131072 16 8 -0.583250
--!entry.NASN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O" 0 -1 0.0
-- "ND2" "N" 0 -1 0.0
-- "HD21" "H" 0 -1 0.0
-- "HD22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NASN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NASN.unit.childsequence single int
-- 2
--!entry.NASN.unit.connect array int
-- 0
-- 15
--!entry.NASN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 15 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 12 13 1
-- 12 14 1
-- 15 16 1
--!entry.NASN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
--!entry.NASN.unit.name single str
-- "NASN"
--!entry.NASN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.253700 5.017112 1.232144
-- 5.005299 5.340406 0.315072
-- 3.984885 5.817909 2.265917
-- 4.408015 6.733702 2.314743
-- 3.359611 5.504297 2.994464
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NASN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 15 0 0 0 0
--!entry.NASN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NASN" 1 17 1 "p" 0
--!entry.NASN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NASN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NASN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NASP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.021580
-- "HA" "HP" 0 1 131072 6 1 -0.015560
-- "CB" "CT" 0 1 131072 7 6 -0.319940
-- "HB2" "HC" 0 1 131072 8 1 0.089360
-- "HB3" "HC" 0 1 131072 9 1 0.089360
-- "CG" "C" 0 1 131072 10 6 0.883310
-- "OD1" "O2" 0 1 131072 11 8 -0.821080
-- "OD2" "O2" 0 1 131072 12 8 -0.821080
-- "C" "C" 0 1 131072 13 6 0.670480
-- "O" "O" 0 1 131072 14 8 -0.583250
--!entry.NASP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O2" 0 -1 0.0
-- "OD2" "O2" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NASP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NASP.unit.childsequence single int
-- 2
--!entry.NASP.unit.connect array int
-- 0
-- 13
--!entry.NASP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 13 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 13 14 1
--!entry.NASP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
--!entry.NASP.unit.name single str
-- "NASP"
--!entry.NASP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.275101 5.011380 1.194527
-- 3.669108 5.954940 0.620011
-- 5.407731 5.091879 1.740667
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NASP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 13 0 0 0 0
--!entry.NASP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NASP" 1 15 1 "p" 0
--!entry.NASP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NASP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NASP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NCYM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.141590
-- "HA" "HP" 0 1 131072 6 1 0.070220
-- "CB" "CT" 0 1 131072 7 6 0.112010
-- "HB2" "H1" 0 1 131072 8 1 -0.023100
-- "HB3" "H1" 0 1 131072 9 1 -0.023100
-- "SG" "SH" 0 1 131072 10 16 -0.931650
-- "C" "C" 0 1 131072 11 6 0.670480
-- "O" "O" 0 1 131072 12 8 -0.583250
--!entry.NCYM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "SH" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NCYM.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NCYM.unit.childsequence single int
-- 2
--!entry.NCYM.unit.connect array int
-- 0
-- 11
--!entry.NCYM.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
--!entry.NCYM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
--!entry.NCYM.unit.name single str
-- "NCYM"
--!entry.NCYM.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NCYM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 11 0 0 0 0
--!entry.NCYM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NCYM" 1 13 1 "p" 0
--!entry.NCYM.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NCYM.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NCYM.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NCYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.008690
-- "HA" "HP" 0 1 131072 6 1 0.055730
-- "CB" "CT" 0 1 131072 7 6 -0.028460
-- "HB2" "H1" 0 1 131072 8 1 0.068320
-- "HB3" "H1" 0 1 131072 9 1 0.068320
-- "SG" "SH" 0 1 131072 10 16 -0.250480
-- "HG" "HS" 0 1 131072 11 1 0.158050
-- "C" "C" 0 1 131072 12 6 0.670480
-- "O" "O" 0 1 131072 13 8 -0.583250
--!entry.NCYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "SH" 0 -1 0.0
-- "HG" "HS" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NCYS.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NCYS.unit.childsequence single int
-- 2
--!entry.NCYS.unit.connect array int
-- 0
-- 12
--!entry.NCYS.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 12 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 12 13 1
--!entry.NCYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
--!entry.NCYS.unit.name single str
-- "NCYS"
--!entry.NCYS.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 3.725392 5.622018 2.517640
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NCYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 12 0 0 0 0
--!entry.NCYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NCYS" 1 14 1 "p" 0
--!entry.NCYS.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NCYS.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NCYS.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NCYX.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.016590
-- "HA" "HP" 0 1 131072 6 1 0.026230
-- "CB" "CT" 0 1 131072 7 6 -0.036490
-- "HB2" "H1" 0 1 131072 8 1 0.084950
-- "HB3" "H1" 0 1 131072 9 1 0.084950
-- "SG" "S" 0 1 131072 10 16 -0.080260
-- "C" "C" 0 1 131072 11 6 0.670480
-- "O" "O" 0 1 131072 12 8 -0.583250
--!entry.NCYX.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "S" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NCYX.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NCYX.unit.childsequence single int
-- 2
--!entry.NCYX.unit.connect array int
-- 0
-- 11
--!entry.NCYX.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
--!entry.NCYX.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
--!entry.NCYX.unit.name single str
-- "NCYX"
--!entry.NCYX.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NCYX.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 11 10 0 0 0
--!entry.NCYX.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NCYX" 1 13 1 "p" 0
--!entry.NCYX.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NCYX.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NCYX.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NGLH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.058830
-- "HA" "HP" 0 1 131072 6 1 0.038110
-- "CB" "CT" 0 1 131072 7 6 0.146800
-- "HB2" "HC" 0 1 131072 8 1 0.015120
-- "HB3" "HC" 0 1 131072 9 1 0.015120
-- "CG" "CT" 0 1 131072 10 6 -0.424760
-- "HG2" "HC" 0 1 131072 11 1 0.200810
-- "HG3" "HC" 0 1 131072 12 1 0.200810
-- "CD" "C" 0 1 131072 13 6 0.647590
-- "OE1" "O" 0 1 131072 14 8 -0.569530
-- "OE2" "OH" 0 1 131072 15 8 -0.601150
-- "HE2" "HO" 0 1 131072 16 1 0.452700
-- "C" "C" 0 1 131072 17 6 0.670480
-- "O" "O" 0 1 131072 18 8 -0.583250
--!entry.NGLH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O" 0 -1 0.0
-- "OE2" "OH" 0 -1 0.0
-- "HE2" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NGLH.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLH.unit.childsequence single int
-- 2
--!entry.NGLH.unit.connect array int
-- 0
-- 17
--!entry.NGLH.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 17 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 17 18 1
--!entry.NGLH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.NGLH.unit.name single str
-- "NGLH"
--!entry.NGLH.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 5.347413 4.849843 1.186158
-- 3.966923 5.535124 0.296342
-- 3.873732 5.805369 2.428706
-- 4.594590 5.679012 3.454376
-- 2.855965 6.542070 2.333721
-- 2.710526 6.996624 3.166684
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NGLH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 17 0 0 0 0
--!entry.NGLH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NGLH" 1 19 1 "p" 0
--!entry.NGLH.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NGLH.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLH.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NGLN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.176770
-- "HA" "HP" 0 1 131072 6 1 0.074450
-- "CB" "CT" 0 1 131072 7 6 0.367300
-- "HB2" "HC" 0 1 131072 8 1 -0.042440
-- "HB3" "HC" 0 1 131072 9 1 -0.042440
-- "CG" "CT" 0 1 131072 10 6 -0.651590
-- "HG2" "HC" 0 1 131072 11 1 0.230560
-- "HG3" "HC" 0 1 131072 12 1 0.230560
-- "CD" "C" 0 1 131072 13 6 0.855380
-- "OE1" "O" 0 1 131072 14 8 -0.671160
-- "NE2" "N" 0 1 131072 15 7 -0.907460
-- "HE21" "H" 0 1 131072 16 1 0.398200
-- "HE22" "H" 0 1 131072 17 1 0.398200
-- "C" "C" 0 1 131072 18 6 0.670480
-- "O" "O" 0 1 131072 19 8 -0.583250
--!entry.NGLN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O" 0 -1 0.0
-- "NE2" "N" 0 -1 0.0
-- "HE21" "H" 0 -1 0.0
-- "HE22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NGLN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLN.unit.childsequence single int
-- 2
--!entry.NGLN.unit.connect array int
-- 0
-- 18
--!entry.NGLN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 18 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 17 1
-- 18 19 1
--!entry.NGLN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.NGLN.unit.name single str
-- "NGLN"
--!entry.NGLN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.906976 5.848443 2.410302
-- 3.138962 5.408349 3.262893
-- 4.458856 7.061523 2.488333
-- 4.248434 7.659045 3.274966
-- 5.084281 7.376210 1.760379
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NGLN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 18 0 0 0 0
--!entry.NGLN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NGLN" 1 20 1 "p" 0
--!entry.NGLN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NGLN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NGLU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.277630
-- "HA" "HP" 0 1 131072 6 1 0.115460
-- "CB" "CT" 0 1 131072 7 6 0.687660
-- "HB2" "HC" 0 1 131072 8 1 -0.198680
-- "HB3" "HC" 0 1 131072 9 1 -0.198680
-- "CG" "CT" 0 1 131072 10 6 -0.615270
-- "HG2" "HC" 0 1 131072 11 1 0.173380
-- "HG3" "HC" 0 1 131072 12 1 0.173380
-- "CD" "C" 0 1 131072 13 6 0.808370
-- "OE1" "O2" 0 1 131072 14 8 -0.802600
-- "OE2" "O2" 0 1 131072 15 8 -0.802600
-- "C" "C" 0 1 131072 16 6 0.670480
-- "O" "O" 0 1 131072 17 8 -0.583250
--!entry.NGLU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O2" 0 -1 0.0
-- "OE2" "O2" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NGLU.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLU.unit.childsequence single int
-- 2
--!entry.NGLU.unit.connect array int
-- 0
-- 16
--!entry.NGLU.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 16 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 16 17 1
--!entry.NGLU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.NGLU.unit.name single str
-- "NGLU"
--!entry.NGLU.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 5.347413 4.849843 1.186158
-- 3.966923 5.535124 0.296342
-- 3.873732 5.805369 2.428706
-- 4.594590 5.679012 3.454376
-- 2.855965 6.542070 2.333721
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NGLU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 16 0 0 0 0
--!entry.NGLU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NGLU" 1 18 1 "p" 0
--!entry.NGLU.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NGLU.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLU.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NGLY.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.170530
-- "HA2" "HP" 0 1 131072 6 1 0.116660
-- "HA3" "HP" 0 1 131072 7 1 0.116660
-- "C" "C" 0 1 131072 8 6 0.670480
-- "O" "O" 0 1 131072 9 8 -0.583250
--!entry.NGLY.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA2" "HP" 0 -1 0.0
-- "HA3" "HP" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NGLY.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLY.unit.childsequence single int
-- 2
--!entry.NGLY.unit.connect array int
-- 0
-- 8
--!entry.NGLY.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
--!entry.NGLY.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
--!entry.NGLY.unit.name single str
-- "NGLY"
--!entry.NGLY.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.671668 3.400125 0.889824
-- 5.483710 2.686702 -4.438857E-06
-- 5.993369 1.568360 -8.469843E-06
--!entry.NGLY.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 8 0 0 0 0
--!entry.NGLY.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NGLY" 1 10 1 "p" 0
--!entry.NGLY.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NGLY.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NGLY.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NHID.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.018360
-- "HA" "HP" 0 1 131072 6 1 0.005320
-- "CB" "CT" 0 1 131072 7 6 -0.207970
-- "HB2" "HC" 0 1 131072 8 1 0.122530
-- "HB3" "HC" 0 1 131072 9 1 0.122530
-- "CG" "CC" 0 1 131072 10 6 0.205880
-- "ND1" "NA" 0 1 131072 11 7 -0.380080
-- "HD1" "H" 0 1 131072 12 1 0.357430
-- "CE1" "CR" 0 1 131072 13 6 0.262300
-- "HE1" "H5" 0 1 131072 14 1 0.052860
-- "NE2" "NB" 0 1 131072 15 7 -0.525490
-- "CD2" "CV" 0 1 131072 16 6 -0.029750
-- "HD2" "H4" 0 1 131072 17 1 0.095590
-- "C" "C" 0 1 131072 18 6 0.670480
-- "O" "O" 0 1 131072 19 8 -0.583250
--!entry.NHID.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NA" 0 -1 0.0
-- "HD1" "H" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NB" 0 -1 0.0
-- "CD2" "CV" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NHID.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NHID.unit.childsequence single int
-- 2
--!entry.NHID.unit.connect array int
-- 0
-- 18
--!entry.NHID.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 18 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 16 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 16 17 1
-- 18 19 1
--!entry.NHID.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.NHID.unit.name single str
-- "NHID"
--!entry.NHID.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 3.339725 5.691913 3.169805
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NHID.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 18 0 0 0 0
--!entry.NHID.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NHID" 1 20 1 "p" 0
--!entry.NHID.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NHID.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NHID.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NHIE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.035930
-- "HA" "HP" 0 1 131072 6 1 0.022090
-- "CB" "CT" 0 1 131072 7 6 -0.326150
-- "HB2" "HC" 0 1 131072 8 1 0.147760
-- "HB3" "HC" 0 1 131072 9 1 0.147760
-- "CG" "CC" 0 1 131072 10 6 0.467290
-- "ND1" "NB" 0 1 131072 11 7 -0.678510
-- "CE1" "CR" 0 1 131072 12 6 0.312370
-- "HE1" "H5" 0 1 131072 13 1 0.042060
-- "NE2" "NA" 0 1 131072 14 7 -0.318040
-- "HE2" "H" 0 1 131072 15 1 0.341000
-- "CD2" "CW" 0 1 131072 16 6 -0.217930
-- "HD2" "H4" 0 1 131072 17 1 0.159020
-- "C" "C" 0 1 131072 18 6 0.670480
-- "O" "O" 0 1 131072 19 8 -0.583250
--!entry.NHIE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NB" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NA" 0 -1 0.0
-- "HE2" "H" 0 -1 0.0
-- "CD2" "CW" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NHIE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NHIE.unit.childsequence single int
-- 2
--!entry.NHIE.unit.connect array int
-- 0
-- 18
--!entry.NHIE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 18 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 16 1
-- 11 12 1
-- 12 13 1
-- 12 14 1
-- 14 15 1
-- 14 16 1
-- 16 17 1
-- 18 19 1
--!entry.NHIE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.NHIE.unit.name single str
-- "NHIE"
--!entry.NHIE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.896297 7.605085 0.676854
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NHIE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 18 0 0 0 0
--!entry.NHIE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NHIE" 1 20 1 "p" 0
--!entry.NHIE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NHIE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NHIE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NHIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 0.119410
-- "HA" "HP" 0 1 131072 6 1 -0.053970
-- "CB" "CT" 0 1 131072 7 6 -0.059690
-- "HB2" "HC" 0 1 131072 8 1 0.073300
-- "HB3" "HC" 0 1 131072 9 1 0.073300
-- "CG" "CC" 0 1 131072 10 6 0.259530
-- "ND1" "NA" 0 1 131072 11 7 -0.115370
-- "HD1" "H" 0 1 131072 12 1 0.355750
-- "CE1" "CR" 0 1 131072 13 6 -0.085390
-- "HE1" "H5" 0 1 131072 14 1 0.198640
-- "NE2" "NA" 0 1 131072 15 7 0.055360
-- "HE2" "H" 0 1 131072 16 1 0.293500
-- "CD2" "CW" 0 1 131072 17 6 -0.207090
-- "HD2" "H4" 0 1 131072 18 1 0.155510
-- "C" "C" 0 1 131072 19 6 0.670480
-- "O" "O" 0 1 131072 20 8 -0.583250
--!entry.NHIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NA" 0 -1 0.0
-- "HD1" "H" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NA" 0 -1 0.0
-- "HE2" "H" 0 -1 0.0
-- "CD2" "CW" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NHIP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NHIP.unit.childsequence single int
-- 2
--!entry.NHIP.unit.connect array int
-- 0
-- 19
--!entry.NHIP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 19 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 17 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 17 1
-- 17 18 1
-- 19 20 1
--!entry.NHIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
--!entry.NHIP.unit.name single str
-- "NHIP"
--!entry.NHIP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 3.339725 5.691913 3.169805
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.896297 7.605085 0.676854
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NHIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 19 0 0 0 0
--!entry.NHIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NHIP" 1 21 1 "p" 0
--!entry.NHIP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NHIP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NHIP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NILE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.229690
-- "HA" "HP" 0 1 131072 6 1 0.080520
-- "CB" "CT" 0 1 131072 7 6 0.455630
-- "HB" "HC" 0 1 131072 8 1 -0.113680
-- "CG2" "CT" 0 1 131072 9 6 -0.498950
-- "HG21" "HC" 0 1 131072 10 1 0.129740
-- "HG22" "HC" 0 1 131072 11 1 0.129740
-- "HG23" "HC" 0 1 131072 12 1 0.129740
-- "CG1" "CT" 0 1 131072 13 6 -0.144720
-- "HG12" "HC" 0 1 131072 14 1 0.066780
-- "HG13" "HC" 0 1 131072 15 1 0.066780
-- "CD1" "CT" 0 1 131072 16 6 -0.134770
-- "HD11" "HC" 0 1 131072 17 1 0.041890
-- "HD12" "HC" 0 1 131072 18 1 0.041890
-- "HD13" "HC" 0 1 131072 19 1 0.041890
-- "C" "C" 0 1 131072 20 6 0.670480
-- "O" "O" 0 1 131072 21 8 -0.583250
--!entry.NILE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "HC" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "CG1" "CT" 0 -1 0.0
-- "HG12" "HC" 0 -1 0.0
-- "HG13" "HC" 0 -1 0.0
-- "CD1" "CT" 0 -1 0.0
-- "HD11" "HC" 0 -1 0.0
-- "HD12" "HC" 0 -1 0.0
-- "HD13" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NILE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NILE.unit.childsequence single int
-- 2
--!entry.NILE.unit.connect array int
-- 0
-- 20
--!entry.NILE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 20 1
-- 7 8 1
-- 7 9 1
-- 7 13 1
-- 9 10 1
-- 9 11 1
-- 9 12 1
-- 13 14 1
-- 13 15 1
-- 13 16 1
-- 16 17 1
-- 16 18 1
-- 16 19 1
-- 20 21 1
--!entry.NILE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
--!entry.NILE.unit.name single str
-- "NILE"
--!entry.NILE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.552136 3.620733 1.245168
-- 2.470128 3.752486 1.245640
-- 3.970045 2.845728 2.490296
-- 5.052053 2.713974 2.490763
-- 3.671561 3.399208 3.380615
-- 3.485650 1.869275 2.490737
-- 4.230204 4.986694 1.245169
-- 3.931820 5.541027 0.355348
-- 5.312310 4.855746 1.245164
-- 3.812294 5.761632 2.490339
-- 4.110777 5.208104 3.380628
-- 4.296689 6.738085 2.490833
-- 2.730286 5.893383 2.490813
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NILE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 20 0 0 0 0
--!entry.NILE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NILE" 1 22 1 "p" 0
--!entry.NILE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NILE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NILE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NLEU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.048190
-- "HA" "HP" 0 1 131072 6 1 0.009070
-- "CB" "CT" 0 1 131072 7 6 -0.232000
-- "HB2" "HC" 0 1 131072 8 1 0.091230
-- "HB3" "HC" 0 1 131072 9 1 0.091230
-- "CG" "CT" 0 1 131072 10 6 0.595680
-- "HG" "HC" 0 1 131072 11 1 -0.106730
-- "CD1" "CT" 0 1 131072 12 6 -0.811380
-- "HD11" "HC" 0 1 131072 13 1 0.214210
-- "HD12" "HC" 0 1 131072 14 1 0.214210
-- "HD13" "HC" 0 1 131072 15 1 0.214210
-- "CD2" "CT" 0 1 131072 16 6 -0.811380
-- "HD21" "HC" 0 1 131072 17 1 0.214210
-- "HD22" "HC" 0 1 131072 18 1 0.214210
-- "HD23" "HC" 0 1 131072 19 1 0.214210
-- "C" "C" 0 1 131072 20 6 0.670480
-- "O" "O" 0 1 131072 21 8 -0.583250
--!entry.NLEU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG" "HC" 0 -1 0.0
-- "CD1" "CT" 0 -1 0.0
-- "HD11" "HC" 0 -1 0.0
-- "HD12" "HC" 0 -1 0.0
-- "HD13" "HC" 0 -1 0.0
-- "CD2" "CT" 0 -1 0.0
-- "HD21" "HC" 0 -1 0.0
-- "HD22" "HC" 0 -1 0.0
-- "HD23" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NLEU.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NLEU.unit.childsequence single int
-- 2
--!entry.NLEU.unit.connect array int
-- 0
-- 20
--!entry.NLEU.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 20 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 16 1
-- 12 13 1
-- 12 14 1
-- 12 15 1
-- 16 17 1
-- 16 18 1
-- 16 19 1
-- 20 21 1
--!entry.NLEU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
--!entry.NLEU.unit.name single str
-- "NLEU"
--!entry.NLEU.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.853429 5.762895 -0.062857
-- 2.773449 5.910113 -0.054557
-- 4.351513 6.732052 -0.090203
-- 4.134159 5.185704 -0.943846
-- 3.881105 5.817645 2.426721
-- 4.181626 5.279602 3.325774
-- 4.379198 6.786825 2.400363
-- 2.801135 5.964881 2.435959
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NLEU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 20 0 0 0 0
--!entry.NLEU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NLEU" 1 22 1 "p" 0
--!entry.NLEU.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NLEU.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NLEU.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NLYN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.095720
-- "HA" "HP" 0 1 131072 6 1 0.049030
-- "CB" "CT" 0 1 131072 7 6 0.079910
-- "HB2" "HC" 0 1 131072 8 1 -0.013700
-- "HB3" "HC" 0 1 131072 9 1 -0.013700
-- "CG" "CT" 0 1 131072 10 6 0.022200
-- "HG2" "HC" 0 1 131072 11 1 0.016820
-- "HG3" "HC" 0 1 131072 12 1 0.016820
-- "CD" "CT" 0 1 131072 13 6 -0.303010
-- "HD2" "HC" 0 1 131072 14 1 0.123310
-- "HD3" "HC" 0 1 131072 15 1 0.123310
-- "CE" "CT" 0 1 131072 16 6 0.555520
-- "HE2" "HP" 0 1 131072 17 1 -0.113930
-- "HE3" "HP" 0 1 131072 18 1 -0.113930
-- "NZ" "NT" 0 1 131072 19 7 -0.979040
-- "HZ2" "H" 0 1 131072 20 1 0.354450
-- "HZ3" "H" 0 1 131072 21 1 0.354450
-- "C" "C" 0 1 131072 22 6 0.670480
-- "O" "O" 0 1 131072 23 8 -0.583250
--!entry.NLYN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HC" 0 -1 0.0
-- "HD3" "HC" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE2" "HP" 0 -1 0.0
-- "HE3" "HP" 0 -1 0.0
-- "NZ" "NT" 0 -1 0.0
-- "HZ2" "H" 0 -1 0.0
-- "HZ3" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NLYN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NLYN.unit.childsequence single int
-- 2
--!entry.NLYN.unit.connect array int
-- 0
-- 22
--!entry.NLYN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 22 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 13 16 1
-- 16 17 1
-- 16 18 1
-- 16 19 1
-- 19 20 1
-- 19 21 1
-- 22 23 1
--!entry.NLYN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
--!entry.NLYN.unit.name single str
-- "NLYN"
--!entry.NLYN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.578325 7.173410 2.389153
-- 5.658410 7.026987 2.380363
-- 4.277917 7.712267 1.490550
-- 4.199422 7.952309 3.576860
-- 4.661186 8.850226 3.551979
-- 3.198675 8.088466 3.584971
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NLYN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 22 0 0 0 0
--!entry.NLYN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NLYN" 1 24 1 "p" 0
--!entry.NLYN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NLYN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NLYN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NLYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.109440
-- "HA" "HP" 0 1 131072 6 1 0.074110
-- "CB" "CT" 0 1 131072 7 6 0.027560
-- "HB2" "HC" 0 1 131072 8 1 0.006150
-- "HB3" "HC" 0 1 131072 9 1 0.006150
-- "CG" "CT" 0 1 131072 10 6 -0.012430
-- "HG2" "HC" 0 1 131072 11 1 0.044300
-- "HG3" "HC" 0 1 131072 12 1 0.044300
-- "CD" "CT" 0 1 131072 13 6 -0.229220
-- "HD2" "HC" 0 1 131072 14 1 0.103290
-- "HD3" "HC" 0 1 131072 15 1 0.103290
-- "CE" "CT" 0 1 131072 16 6 0.454620
-- "HE2" "HP" 0 1 131072 17 1 -0.045920
-- "HE3" "HP" 0 1 131072 18 1 -0.045920
-- "NZ" "N3" 0 1 131072 19 7 -0.357710
-- "HZ1" "H" 0 1 131072 20 1 0.333220
-- "HZ2" "H" 0 1 131072 21 1 0.333220
-- "HZ3" "H" 0 1 131072 22 1 0.333220
-- "C" "C" 0 1 131072 23 6 0.670480
-- "O" "O" 0 1 131072 24 8 -0.583250
--!entry.NLYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HC" 0 -1 0.0
-- "HD3" "HC" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE2" "HP" 0 -1 0.0
-- "HE3" "HP" 0 -1 0.0
-- "NZ" "N3" 0 -1 0.0
-- "HZ1" "H" 0 -1 0.0
-- "HZ2" "H" 0 -1 0.0
-- "HZ3" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NLYS.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NLYS.unit.childsequence single int
-- 2
--!entry.NLYS.unit.connect array int
-- 0
-- 23
--!entry.NLYS.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 23 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 13 16 1
-- 16 17 1
-- 16 18 1
-- 16 19 1
-- 19 20 1
-- 19 21 1
-- 19 22 1
-- 23 24 1
--!entry.NLYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
--!entry.NLYS.unit.name single str
-- "NLYS"
--!entry.NLYS.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.578325 7.173410 2.389153
-- 5.658410 7.026987 2.380363
-- 4.277917 7.712267 1.490550
-- 4.199422 7.952309 3.576860
-- 4.478085 7.453366 4.409628
-- 4.661186 8.850226 3.551979
-- 3.198675 8.088466 3.584971
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NLYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 23 0 0 0 0
--!entry.NLYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NLYS" 1 25 1 "p" 0
--!entry.NLYS.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NLYS.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NLYS.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NMET.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.097630
-- "HA" "HP" 0 1 131072 6 1 0.070210
-- "CB" "CT" 0 1 131072 7 6 0.275580
-- "HB2" "HC" 0 1 131072 8 1 -0.049150
-- "HB3" "HC" 0 1 131072 9 1 -0.049150
-- "CG" "CT" 0 1 131072 10 6 -0.318690
-- "HG2" "H1" 0 1 131072 11 1 0.142380
-- "HG3" "H1" 0 1 131072 12 1 0.142380
-- "SD" "S" 0 1 131072 13 16 -0.124640
-- "CE" "CT" 0 1 131072 14 6 -0.228860
-- "HE1" "H1" 0 1 131072 15 1 0.100120
-- "HE2" "H1" 0 1 131072 16 1 0.100120
-- "HE3" "H1" 0 1 131072 17 1 0.100120
-- "C" "C" 0 1 131072 18 6 0.670480
-- "O" "O" 0 1 131072 19 8 -0.583250
--!entry.NMET.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "H1" 0 -1 0.0
-- "HG3" "H1" 0 -1 0.0
-- "SD" "S" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE1" "H1" 0 -1 0.0
-- "HE2" "H1" 0 -1 0.0
-- "HE3" "H1" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NMET.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NMET.unit.childsequence single int
-- 2
--!entry.NMET.unit.connect array int
-- 0
-- 18
--!entry.NMET.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 18 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 18 19 1
--!entry.NMET.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.NMET.unit.name single str
-- "NMET"
--!entry.NMET.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.817309 5.981266 2.651708
-- 4.753212 7.463128 2.340949
-- 4.433582 7.904044 1.396741
-- 4.585907 8.175299 3.148985
-- 5.814074 7.218763 2.286554
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NMET.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 18 0 0 0 0
--!entry.NMET.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NMET" 1 20 1 "p" 0
--!entry.NMET.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NMET.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NMET.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NPHE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.033820
-- "HA" "HP" 0 1 131072 6 1 0.035950
-- "CB" "CT" 0 1 131072 7 6 -0.264720
-- "HB2" "HC" 0 1 131072 8 1 0.129600
-- "HB3" "HC" 0 1 131072 9 1 0.129600
-- "CG" "CA" 0 1 131072 10 6 0.233490
-- "CD1" "CA" 0 1 131072 11 6 -0.246420
-- "HD1" "HA" 0 1 131072 12 1 0.151840
-- "CE1" "CA" 0 1 131072 13 6 -0.076860
-- "HE1" "HA" 0 1 131072 14 1 0.108390
-- "CZ" "CA" 0 1 131072 15 6 -0.134740
-- "HZ" "HA" 0 1 131072 16 1 0.093530
-- "CE2" "CA" 0 1 131072 17 6 -0.076860
-- "HE2" "HA" 0 1 131072 18 1 0.108390
-- "CD2" "CA" 0 1 131072 19 6 -0.246420
-- "HD2" "HA" 0 1 131072 20 1 0.151840
-- "C" "C" 0 1 131072 21 6 0.670480
-- "O" "O" 0 1 131072 22 8 -0.583250
--!entry.NPHE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CA" 0 -1 0.0
-- "CD1" "CA" 0 -1 0.0
-- "HD1" "HA" 0 -1 0.0
-- "CE1" "CA" 0 -1 0.0
-- "HE1" "HA" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "HZ" "HA" 0 -1 0.0
-- "CE2" "CA" 0 -1 0.0
-- "HE2" "HA" 0 -1 0.0
-- "CD2" "CA" 0 -1 0.0
-- "HD2" "HA" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NPHE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NPHE.unit.childsequence single int
-- 2
--!entry.NPHE.unit.connect array int
-- 0
-- 21
--!entry.NPHE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 21 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 19 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 17 1
-- 17 18 1
-- 17 19 1
-- 19 20 1
-- 21 22 1
--!entry.NPHE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
--!entry.NPHE.unit.name single str
-- "NPHE"
--!entry.NPHE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.911613 5.857250 2.409890
-- 3.236123 5.513843 3.193398
-- 4.490014 7.129513 2.492354
-- 4.264853 7.776651 3.340066
-- 5.357616 7.570591 1.486016
-- 5.807943 8.561138 1.550220
-- 5.646818 6.739407 0.397211
-- 6.322309 7.082817 -0.386295
-- 5.068419 5.467143 0.314744
-- 5.293584 4.820007 -0.532968
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NPHE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 21 0 0 0 0
--!entry.NPHE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NPHE" 1 23 1 "p" 0
--!entry.NPHE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NPHE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NPHE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NPRO.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 -0.138570
-- "H2" "H" 0 1 131072 2 1 0.257280
-- "H3" "H" 0 1 131072 3 1 0.257280
-- "CD" "CT" 0 1 131072 4 6 0.227570
-- "HD2" "HP" 0 1 131072 5 1 0.017160
-- "HD3" "HP" 0 1 131072 6 1 0.017150
-- "CG" "CT" 0 1 131072 7 6 -0.073460
-- "HG2" "HC" 0 1 131072 8 1 0.038960
-- "HG3" "HC" 0 1 131072 9 1 0.038960
-- "CB" "CT" 0 1 131072 10 6 0.189500
-- "HB2" "HC" 0 1 131072 11 1 -0.029230
-- "HB3" "HC" 0 1 131072 12 1 -0.029230
-- "CA" "CT" 0 1 131072 13 6 0.104090
-- "HA" "HP" 0 1 131072 14 1 0.035310
-- "C" "C" 0 1 131072 15 6 0.670480
-- "O" "O" 0 1 131072 16 8 -0.583250
--!entry.NPRO.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HP" 0 -1 0.0
-- "HD3" "HP" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NPRO.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NPRO.unit.childsequence single int
-- 2
--!entry.NPRO.unit.connect array int
-- 0
-- 15
--!entry.NPRO.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 13 1
-- 4 5 1
-- 4 6 1
-- 4 7 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
--!entry.NPRO.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
--!entry.NPRO.unit.name single str
-- "NPRO"
--!entry.NPRO.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 4.293514 0.460336 0.080119
-- 4.408169 0.002209 -0.902263
-- 3.942023 -0.287867 0.790574
-- 5.543321 1.147470 0.544693
-- 6.406715 0.710627 0.042879
-- 5.648273 1.022228 1.622376
-- 5.375453 2.604421 0.185227
-- 5.977268 2.833902 -0.694123
-- 5.701345 3.225015 1.019947
-- 3.941704 2.857529 -0.104508
-- 3.623882 3.477056 0.734106
-- 3.517842 3.515620 -1.409783
-- 2.762837 2.933549 -2.185412
--!entry.NPRO.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 15 0 0 0 0
--!entry.NPRO.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NPRO" 1 17 1 "p" 0
--!entry.NPRO.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NPRO.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NPRO.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NSER.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 0.006090
-- "HA" "HP" 0 1 131072 6 1 0.050540
-- "CB" "CT" 0 1 131072 7 6 0.197970
-- "HB2" "H1" 0 1 131072 8 1 0.017960
-- "HB3" "H1" 0 1 131072 9 1 0.017970
-- "OG" "OH" 0 1 131072 10 8 -0.606020
-- "HG" "HO" 0 1 131072 11 1 0.378280
-- "C" "C" 0 1 131072 12 6 0.670480
-- "O" "O" 0 1 131072 13 8 -0.583250
--!entry.NSER.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "OG" "OH" 0 -1 0.0
-- "HG" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NSER.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NSER.unit.childsequence single int
-- 2
--!entry.NSER.unit.connect array int
-- 0
-- 12
--!entry.NSER.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 12 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 12 13 1
--!entry.NSER.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
--!entry.NSER.unit.name single str
-- "NSER"
--!entry.NSER.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.230753 4.925145 1.196917
-- 3.983305 5.433814 1.972562
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NSER.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 12 0 0 0 0
--!entry.NSER.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NSER" 1 14 1 "p" 0
--!entry.NSER.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NSER.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NSER.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NTHR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 0.036230
-- "HA" "HP" 0 1 131072 6 1 0.028680
-- "CB" "CT" 0 1 131072 7 6 0.563540
-- "HB" "H1" 0 1 131072 8 1 -0.161960
-- "CG2" "CT" 0 1 131072 9 6 -0.574400
-- "HG21" "HC" 0 1 131072 10 1 0.154000
-- "HG22" "HC" 0 1 131072 11 1 0.154000
-- "HG23" "HC" 0 1 131072 12 1 0.154000
-- "OG1" "OH" 0 1 131072 13 8 -0.735860
-- "HG1" "HO" 0 1 131072 14 1 0.444560
-- "C" "C" 0 1 131072 15 6 0.670480
-- "O" "O" 0 1 131072 16 8 -0.583250
--!entry.NTHR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "H1" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "OG1" "OH" 0 -1 0.0
-- "HG1" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NTHR.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NTHR.unit.childsequence single int
-- 2
--!entry.NTHR.unit.connect array int
-- 0
-- 15
--!entry.NTHR.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 15 1
-- 7 8 1
-- 7 9 1
-- 7 13 1
-- 9 10 1
-- 9 11 1
-- 9 12 1
-- 13 14 1
-- 15 16 1
--!entry.NTHR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
--!entry.NTHR.unit.name single str
-- "NTHR"
--!entry.NTHR.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 4.075059 4.623017 1.205786
-- 2.065936 3.859425 1.244383
-- 1.567127 2.890627 1.271209
-- 1.784431 4.436953 2.124903
-- 1.764699 4.397847 0.345796
-- 3.971501 2.947413 2.411212
-- 3.724052 3.456082 3.186857
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NTHR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 15 0 0 0 0
--!entry.NTHR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NTHR" 1 17 1 "p" 0
--!entry.NTHR.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NTHR.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NTHR.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NTRP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.064400
-- "HA" "HP" 0 1 131072 6 1 0.060910
-- "CB" "CT" 0 1 131072 7 6 0.072380
-- "HB2" "HC" 0 1 131072 8 1 0.023340
-- "HB3" "HC" 0 1 131072 9 1 0.023340
-- "CG" "C*" 0 1 131072 10 6 -0.302580
-- "CD1" "CW" 0 1 131072 11 6 0.030860
-- "HD1" "H4" 0 1 131072 12 1 0.139310
-- "NE1" "NA" 0 1 131072 13 7 -0.480170
-- "HE1" "H" 0 1 131072 14 1 0.392790
-- "CE2" "CN" 0 1 131072 15 6 0.192760
-- "CZ2" "CA" 0 1 131072 16 6 -0.261010
-- "HZ2" "HA" 0 1 131072 17 1 0.183580
-- "CH2" "CA" 0 1 131072 18 6 -0.180740
-- "HH2" "HA" 0 1 131072 19 1 0.106860
-- "CZ3" "CA" 0 1 131072 20 6 -0.044730
-- "HZ3" "HA" 0 1 131072 21 1 0.086480
-- "CE3" "CA" 0 1 131072 22 6 -0.427910
-- "HE3" "HA" 0 1 131072 23 1 0.225690
-- "CD2" "CB" 0 1 131072 24 6 0.286030
-- "C" "C" 0 1 131072 25 6 0.670480
-- "O" "O" 0 1 131072 26 8 -0.583250
--!entry.NTRP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C*" 0 -1 0.0
-- "CD1" "CW" 0 -1 0.0
-- "HD1" "H4" 0 -1 0.0
-- "NE1" "NA" 0 -1 0.0
-- "HE1" "H" 0 -1 0.0
-- "CE2" "CN" 0 -1 0.0
-- "CZ2" "CA" 0 -1 0.0
-- "HZ2" "HA" 0 -1 0.0
-- "CH2" "CA" 0 -1 0.0
-- "HH2" "HA" 0 -1 0.0
-- "CZ3" "CA" 0 -1 0.0
-- "HZ3" "HA" 0 -1 0.0
-- "CE3" "CA" 0 -1 0.0
-- "HE3" "HA" 0 -1 0.0
-- "CD2" "CB" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NTRP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NTRP.unit.childsequence single int
-- 2
--!entry.NTRP.unit.connect array int
-- 0
-- 25
--!entry.NTRP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 25 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 24 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 24 1
-- 16 17 1
-- 16 18 1
-- 18 19 1
-- 18 20 1
-- 20 21 1
-- 20 22 1
-- 22 23 1
-- 22 24 1
-- 25 26 1
--!entry.NTRP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
-- "R" 1 "A" 25
-- "R" 1 "A" 26
--!entry.NTRP.unit.name single str
-- "NTRP"
--!entry.NTRP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 4.023453 5.931084 2.293240
-- 3.368841 5.705466 3.135071
-- 4.811943 7.073555 1.949808
-- 4.882921 7.922010 2.493118
-- 5.427347 6.842060 0.816764
-- 6.297161 7.689052 0.119605
-- 6.531230 8.676649 0.517050
-- 6.814091 7.187011 -1.069023
-- 7.498074 7.791857 -1.664362
-- 6.482659 5.953119 -1.505101
-- 6.897660 5.575648 -2.439654
-- 5.604041 5.117355 -0.785636
-- 5.358720 4.126570 -1.168080
-- 5.083390 5.623004 0.411545
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NTRP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 25 0 0 0 0
--!entry.NTRP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NTRP" 1 27 1 "p" 0
--!entry.NTRP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NTRP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NTRP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NTYR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.117360
-- "HA" "HP" 0 1 131072 6 1 0.085560
-- "CB" "CT" 0 1 131072 7 6 -0.110270
-- "HB2" "HC" 0 1 131072 8 1 0.083860
-- "HB3" "HC" 0 1 131072 9 1 0.083860
-- "CG" "CA" 0 1 131072 10 6 0.037350
-- "CD1" "CA" 0 1 131072 11 6 -0.143640
-- "HD1" "HA" 0 1 131072 12 1 0.146300
-- "CE1" "CA" 0 1 131072 13 6 -0.334390
-- "HE1" "HA" 0 1 131072 14 1 0.190770
-- "CZ" "CA" 0 1 131072 15 6 0.444500
-- "OH" "OH" 0 1 131072 16 8 -0.546480
-- "HH" "HO" 0 1 131072 17 1 0.383690
-- "CE2" "CA" 0 1 131072 18 6 -0.334390
-- "HE2" "HA" 0 1 131072 19 1 0.190770
-- "CD2" "CA" 0 1 131072 20 6 -0.143640
-- "HD2" "HA" 0 1 131072 21 1 0.146300
-- "C" "C" 0 1 131072 22 6 0.670480
-- "O" "O" 0 1 131072 23 8 -0.583250
--!entry.NTYR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CA" 0 -1 0.0
-- "CD1" "CA" 0 -1 0.0
-- "HD1" "HA" 0 -1 0.0
-- "CE1" "CA" 0 -1 0.0
-- "HE1" "HA" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "OH" "OH" 0 -1 0.0
-- "HH" "HO" 0 -1 0.0
-- "CE2" "CA" 0 -1 0.0
-- "HE2" "HA" 0 -1 0.0
-- "CD2" "CA" 0 -1 0.0
-- "HD2" "HA" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NTYR.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NTYR.unit.childsequence single int
-- 2
--!entry.NTYR.unit.connect array int
-- 0
-- 22
--!entry.NTYR.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 22 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 10 11 1
-- 10 20 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 18 1
-- 16 17 1
-- 18 19 1
-- 18 20 1
-- 20 21 1
-- 22 23 1
--!entry.NTYR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
--!entry.NTYR.unit.name single str
-- "NTYR"
--!entry.NTYR.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 4.059927 5.918911 2.227280
-- 3.400108 5.668218 3.057877
-- 4.699998 7.163547 2.192791
-- 4.538522 7.881891 2.996538
-- 5.547471 7.485542 1.125970
-- 6.169255 8.694617 1.092468
-- 5.956327 9.246984 1.848214
-- 5.754875 6.562900 0.093635
-- 6.414694 6.813595 -0.736962
-- 5.114806 5.318263 0.128119
-- 5.276286 4.599920 -0.675627
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NTYR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 22 0 0 0 0
--!entry.NTYR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NTYR" 1 24 1 "p" 0
--!entry.NTYR.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NTYR.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NTYR.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.NVAL.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N3" 0 1 131072 1 7 0.351680
-- "H1" "H" 0 1 131072 2 1 0.166100
-- "H2" "H" 0 1 131072 3 1 0.166100
-- "H3" "H" 0 1 131072 4 1 0.166100
-- "CA" "CT" 0 1 131072 5 6 -0.131460
-- "HA" "HP" 0 1 131072 6 1 0.055960
-- "CB" "CT" 0 1 131072 7 6 0.600860
-- "HB" "HC" 0 1 131072 8 1 -0.088610
-- "CG1" "CT" 0 1 131072 9 6 -0.789890
-- "HG11" "HC" 0 1 131072 10 1 0.200970
-- "HG12" "HC" 0 1 131072 11 1 0.200970
-- "HG13" "HC" 0 1 131072 12 1 0.200970
-- "CG2" "CT" 0 1 131072 13 6 -0.789890
-- "HG21" "HC" 0 1 131072 14 1 0.200970
-- "HG22" "HC" 0 1 131072 15 1 0.200970
-- "HG23" "HC" 0 1 131072 16 1 0.200970
-- "C" "C" 0 1 131072 17 6 0.670480
-- "O" "O" 0 1 131072 18 8 -0.583250
--!entry.NVAL.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N3" 0 -1 0.0
-- "H1" "H" 0 -1 0.0
-- "H2" "H" 0 -1 0.0
-- "H3" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "HP" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "HC" 0 -1 0.0
-- "CG1" "CT" 0 -1 0.0
-- "HG11" "HC" 0 -1 0.0
-- "HG12" "HC" 0 -1 0.0
-- "HG13" "HC" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.NVAL.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NVAL.unit.childsequence single int
-- 2
--!entry.NVAL.unit.connect array int
-- 0
-- 17
--!entry.NVAL.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 1 4 1
-- 1 5 1
-- 5 6 1
-- 5 7 1
-- 5 17 1
-- 7 8 1
-- 7 9 1
-- 7 13 1
-- 9 10 1
-- 9 11 1
-- 9 12 1
-- 13 14 1
-- 13 15 1
-- 13 16 1
-- 17 18 1
--!entry.NVAL.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.NVAL.unit.name single str
-- "NVAL"
--!entry.NVAL.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 4.046154 0.839991 -2.855245E-06
-- 2.823094 1.499508 -0.874687
-- 2.823097 1.499507 0.874685
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.997712 2.900483 2.489542
-- 5.077693 2.753265 2.481244
-- 3.716972 3.477628 3.370558
-- 3.499630 1.931323 2.516834
-- 4.274186 5.009602 1.194577
-- 3.973781 5.548460 0.295972
-- 3.993559 5.587585 2.075079
-- 5.354271 4.863178 1.185788
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.NVAL.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 0 17 0 0 0 0
--!entry.NVAL.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "NVAL" 1 19 1 "p" 0
--!entry.NVAL.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.NVAL.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.NVAL.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-diff --git a/dat/leap/lib/aminopol12.lib b/dat/leap/lib/aminopol12.lib
-deleted file mode 100644
-index ed9039d..0000000
---- a/dat/leap/lib/aminopol12.lib
-+++ /dev/null
-@@ -1,3521 +0,0 @@
--!!index array str
-- "ALA"
-- "ARG"
-- "ASH"
-- "ASN"
-- "ASP"
-- "CIM"
-- "CIP"
-- "CYM"
-- "CYS"
-- "CYX"
-- "GLH"
-- "GLN"
-- "GLU"
-- "GLY"
-- "HID"
-- "HIE"
-- "HIP"
-- "ILE"
-- "LEU"
-- "LYN"
-- "LYS"
-- "MET"
-- "PHE"
-- "PRO"
-- "SER"
-- "THR"
-- "TRP"
-- "TYR"
-- "VAL"
--!entry.ALA.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.107660
-- "HA" "H1" 0 1 131072 4 1 0.039730
-- "CB" "CT" 0 1 131072 5 6 -0.131600
-- "HB1" "HC" 0 1 131072 6 1 0.074970
-- "HB2" "HC" 0 1 131072 7 1 0.074970
-- "HB3" "HC" 0 1 131072 8 1 0.074970
-- "C" "C" 0 1 131072 9 6 0.670480
-- "O" "O" 0 1 131072 10 8 -0.583250
--!entry.ALA.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB1" "HC" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ALA.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ALA.unit.childsequence single int
-- 2
--!entry.ALA.unit.connect array int
-- 1
-- 9
--!entry.ALA.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 9 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 9 10 1
--!entry.ALA.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
--!entry.ALA.unit.name single str
-- "ALA"
--!entry.ALA.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 3.877484 3.115795 2.131197
-- 4.075059 4.623017 1.205786
-- 2.496995 3.801075 1.241379
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.ALA.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 9 0 0 0 0
--!entry.ALA.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ALA" 1 11 1 "p" 0
--!entry.ALA.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ALA.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ALA.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.ARG.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.226630
-- "HA" "H1" 0 1 131072 4 1 0.106720
-- "CB" "CT" 0 1 131072 5 6 0.333990
-- "HB2" "HC" 0 1 131072 6 1 -0.030430
-- "HB3" "HC" 0 1 131072 7 1 -0.030430
-- "CG" "CT" 0 1 131072 8 6 -0.417310
-- "HG2" "HC" 0 1 131072 9 1 0.127030
-- "HG3" "HC" 0 1 131072 10 1 0.127030
-- "CD" "CT" 0 1 131072 11 6 0.599560
-- "HD2" "H1" 0 1 131072 12 1 -0.082670
-- "HD3" "H1" 0 1 131072 13 1 -0.082670
-- "NE" "N2" 0 1 131072 14 7 -0.785780
-- "HE" "H" 0 1 131072 15 1 0.415010
-- "CZ" "CA" 0 1 131072 16 6 1.104320
-- "NH1" "N2" 0 1 131072 17 7 -0.960300
-- "HH11" "H" 0 1 131072 18 1 0.447060
-- "HH12" "H" 0 1 131072 19 1 0.447060
-- "NH2" "N2" 0 1 131072 20 7 -0.960300
-- "HH21" "H" 0 1 131072 21 1 0.447060
-- "HH22" "H" 0 1 131072 22 1 0.447060
-- "C" "C" 0 1 131072 23 6 0.670480
-- "O" "O" 0 1 131072 24 8 -0.583250
--!entry.ARG.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "H1" 0 -1 0.0
-- "HD3" "H1" 0 -1 0.0
-- "NE" "N2" 0 -1 0.0
-- "HE" "H" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "NH1" "N2" 0 -1 0.0
-- "HH11" "H" 0 -1 0.0
-- "HH12" "H" 0 -1 0.0
-- "NH2" "N2" 0 -1 0.0
-- "HH21" "H" 0 -1 0.0
-- "HH22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ARG.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ARG.unit.childsequence single int
-- 2
--!entry.ARG.unit.connect array int
-- 1
-- 23
--!entry.ARG.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 23 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 16 17 1
-- 16 20 1
-- 17 18 1
-- 17 19 1
-- 20 21 1
-- 20 22 1
-- 23 24 1
--!entry.ARG.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
--!entry.ARG.unit.name single str
-- "ARG"
--!entry.ARG.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.540320 7.142723 2.424483
-- 5.151805 7.375492 1.655065
-- 4.364284 8.040989 3.389382
-- 3.575026 7.807606 4.434133
-- 3.088949 6.925423 4.508848
-- 3.465367 8.513631 5.147998
-- 5.006254 9.201287 3.286991
-- 5.604855 9.375325 2.492329
-- 4.892216 9.903045 4.004368
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.ARG.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 23 0 0 0 0
--!entry.ARG.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ARG" 1 25 1 "p" 0
--!entry.ARG.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ARG.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ARG.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.ASH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 0.002180
-- "HA" "H1" 0 1 131072 4 1 0.013640
-- "CB" "CT" 0 1 131072 5 6 -0.142020
-- "HB2" "HC" 0 1 131072 6 1 0.124360
-- "HB3" "HC" 0 1 131072 7 1 0.124360
-- "CG" "C" 0 1 131072 8 6 0.584300
-- "OD1" "O" 0 1 131072 9 8 -0.548830
-- "OD2" "OH" 0 1 131072 10 8 -0.581530
-- "HD2" "HO" 0 1 131072 11 1 0.448920
-- "C" "C" 0 1 131072 12 6 0.670480
-- "O" "O" 0 1 131072 13 8 -0.583250
--!entry.ASH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O" 0 -1 0.0
-- "OD2" "OH" 0 -1 0.0
-- "HD2" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ASH.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ASH.unit.childsequence single int
-- 2
--!entry.ASH.unit.connect array int
-- 1
-- 12
--!entry.ASH.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 12 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 10 11 1
-- 12 13 1
--!entry.ASH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
--!entry.ASH.unit.name single str
-- "ASH"
--!entry.ASH.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.275101 5.011380 1.194527
-- 3.669108 5.954940 0.620011
-- 5.407731 5.091879 1.740667
-- 5.742902 5.987179 1.652920
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.ASH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 12 0 0 0 0
--!entry.ASH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ASH" 1 14 1 "p" 0
--!entry.ASH.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ASH.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ASH.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.ASN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.045790
-- "HA" "H1" 0 1 131072 4 1 0.030960
-- "CB" "CT" 0 1 131072 5 6 -0.284870
-- "HB2" "HC" 0 1 131072 6 1 0.150880
-- "HB3" "HC" 0 1 131072 7 1 0.150880
-- "CG" "C" 0 1 131072 8 6 0.619540
-- "OD1" "O" 0 1 131072 9 8 -0.546540
-- "ND2" "N" 0 1 131072 10 7 -0.812900
-- "HD21" "H" 0 1 131072 11 1 0.381610
-- "HD22" "H" 0 1 131072 12 1 0.381610
-- "C" "C" 0 1 131072 13 6 0.670480
-- "O" "O" 0 1 131072 14 8 -0.583250
--!entry.ASN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O" 0 -1 0.0
-- "ND2" "N" 0 -1 0.0
-- "HD21" "H" 0 -1 0.0
-- "HD22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ASN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ASN.unit.childsequence single int
-- 2
--!entry.ASN.unit.connect array int
-- 1
-- 13
--!entry.ASN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 13 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 10 11 1
-- 10 12 1
-- 13 14 1
--!entry.ASN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
--!entry.ASN.unit.name single str
-- "ASN"
--!entry.ASN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.253700 5.017112 1.232144
-- 5.005299 5.340406 0.315072
-- 3.984885 5.817909 2.265917
-- 4.408015 6.733702 2.314743
-- 3.359611 5.504297 2.994464
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.ASN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 13 0 0 0 0
--!entry.ASN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ASN" 1 15 1 "p" 0
--!entry.ASN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ASN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ASN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.ASP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.155870
-- "HA" "H1" 0 1 131072 4 1 0.001730
-- "CB" "CT" 0 1 131072 5 6 -0.175110
-- "HB2" "HC" 0 1 131072 6 1 0.072670
-- "HB3" "HC" 0 1 131072 7 1 0.072670
-- "CG" "C" 0 1 131072 8 6 0.847270
-- "OD1" "O2" 0 1 131072 9 8 -0.818990
-- "OD2" "O2" 0 1 131072 10 8 -0.818990
-- "C" "C" 0 1 131072 11 6 0.670480
-- "O" "O" 0 1 131072 12 8 -0.583250
--!entry.ASP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C" 0 -1 0.0
-- "OD1" "O2" 0 -1 0.0
-- "OD2" "O2" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ASP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ASP.unit.childsequence single int
-- 2
--!entry.ASP.unit.connect array int
-- 1
-- 11
--!entry.ASP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 11 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 11 12 1
--!entry.ASP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
--!entry.ASP.unit.name single str
-- "ASP"
--!entry.ASP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.275101 5.011380 1.194527
-- 3.669108 5.954940 0.620011
-- 5.407731 5.091879 1.740667
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.ASP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 11 0 0 0 0
--!entry.ASP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ASP" 1 13 1 "p" 0
--!entry.ASP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ASP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ASP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CIM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "CL-" "IM" 0 1 131072 1 -1 -1.000000
--!entry.CIM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "CL-" "IM" 0 -1 0.0
--!entry.CIM.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CIM.unit.childsequence single int
-- 2
--!entry.CIM.unit.connect array int
-- 1
-- 1
--!entry.CIM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
--!entry.CIM.unit.name single str
-- "CIM"
--!entry.CIM.unit.positions table  dbl x  dbl y  dbl z
-- 2.000001 1.000000 -1.346410E-06
--!entry.CIM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 1 0 0 0 0
--!entry.CIM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CIM" 1 2 1 "?" 0
--!entry.CIM.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CIM.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CIM.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
--!entry.CIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "NA+" "IP" 0 1 131072 1 -1 1.000000
--!entry.CIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "NA+" "IP" 0 -1 0.0
--!entry.CIP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CIP.unit.childsequence single int
-- 2
--!entry.CIP.unit.connect array int
-- 1
-- 1
--!entry.CIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
--!entry.CIP.unit.name single str
-- "CIP"
--!entry.CIP.unit.positions table  dbl x  dbl y  dbl z
-- 2.000001 1.000000 -1.346410E-06
--!entry.CIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 1 0 0 0 0
--!entry.CIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CIP" 1 2 1 "?" 0
--!entry.CIP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CIP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CIP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
--!entry.CYM.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "HN" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.218730
-- "HA" "H1" 0 1 131072 4 1 0.077600
-- "CB" "CT" 0 1 131072 5 6 0.224400
-- "HB3" "H1" 0 1 131072 6 1 -0.057150
-- "HB2" "H1" 0 1 131072 7 1 -0.057150
-- "SG" "SH" 0 1 131072 8 16 -0.943590
-- "C" "C" 0 1 131072 9 6 0.670480
-- "O" "O" 0 1 131072 10 8 -0.583250
--!entry.CYM.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "HN" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "SG" "SH" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.CYM.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CYM.unit.childsequence single int
-- 2
--!entry.CYM.unit.connect array int
-- 1
-- 9
--!entry.CYM.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 9 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 9 10 1
--!entry.CYM.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
--!entry.CYM.unit.name single str
-- "CYM"
--!entry.CYM.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 3.877484 3.115795 2.131197
-- 2.496995 3.801075 1.241379
-- 4.309573 5.303523 1.366036
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.CYM.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 9 0 0 0 0
--!entry.CYM.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CYM" 1 11 1 "p" 0
--!entry.CYM.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CYM.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CYM.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.038240
-- "HA" "H1" 0 1 131072 4 1 0.042360
-- "CB" "CT" 0 1 131072 5 6 0.012160
-- "HB2" "H1" 0 1 131072 6 1 0.051450
-- "HB3" "H1" 0 1 131072 7 1 0.051450
-- "SG" "SH" 0 1 131072 8 16 -0.245770
-- "HG" "HS" 0 1 131072 9 1 0.151970
-- "C" "C" 0 1 131072 10 6 0.670480
-- "O" "O" 0 1 131072 11 8 -0.583250
--!entry.CYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "SH" 0 -1 0.0
-- "HG" "HS" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.CYS.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CYS.unit.childsequence single int
-- 2
--!entry.CYS.unit.connect array int
-- 1
-- 10
--!entry.CYS.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 10 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 10 11 1
--!entry.CYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
--!entry.CYS.unit.name single str
-- "CYS"
--!entry.CYS.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 3.725392 5.622018 2.517640
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.CYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 10 0 0 0 0
--!entry.CYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CYS" 1 12 1 "p" 0
--!entry.CYS.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CYS.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CYS.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.CYX.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.036230
-- "HA" "H1" 0 1 131072 4 1 0.016940
-- "CB" "CT" 0 1 131072 5 6 -0.039530
-- "HB2" "H1" 0 1 131072 6 1 0.081010
-- "HB3" "H1" 0 1 131072 7 1 0.081010
-- "SG" "S" 0 1 131072 8 16 -0.077820
-- "C" "C" 0 1 131072 9 6 0.670480
-- "O" "O" 0 1 131072 10 8 -0.583250
--!entry.CYX.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "SG" "S" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.CYX.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CYX.unit.childsequence single int
-- 2
--!entry.CYX.unit.connect array int
-- 1
-- 9
--!entry.CYX.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 9 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 9 10 1
--!entry.CYX.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
--!entry.CYX.unit.name single str
-- "CYX"
--!entry.CYX.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.309573 5.303523 1.366036
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.CYX.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 9 8 0 0 0
--!entry.CYX.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "CYX" 1 11 1 "p" 0
--!entry.CYX.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.CYX.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.CYX.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.GLH.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.137720
-- "HA" "H1" 0 1 131072 4 1 0.067770
-- "CB" "CT" 0 1 131072 5 6 0.139840
-- "HB2" "HC" 0 1 131072 6 1 0.014650
-- "HB3" "HC" 0 1 131072 7 1 0.014650
-- "CG" "CT" 0 1 131072 8 6 -0.360940
-- "HG2" "HC" 0 1 131072 9 1 0.184800
-- "HG3" "HC" 0 1 131072 10 1 0.184800
-- "CD" "C" 0 1 131072 11 6 0.639100
-- "OE1" "O" 0 1 131072 12 8 -0.571870
-- "OE2" "OH" 0 1 131072 13 8 -0.605840
-- "HE2" "HO" 0 1 131072 14 1 0.456140
-- "C" "C" 0 1 131072 15 6 0.670480
-- "O" "O" 0 1 131072 16 8 -0.583250
--!entry.GLH.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O" 0 -1 0.0
-- "OE2" "OH" 0 -1 0.0
-- "HE2" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.GLH.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLH.unit.childsequence single int
-- 2
--!entry.GLH.unit.connect array int
-- 1
-- 15
--!entry.GLH.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 15 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 15 16 1
--!entry.GLH.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
--!entry.GLH.unit.name single str
-- "GLH"
--!entry.GLH.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 5.347413 4.849843 1.186158
-- 3.966923 5.535124 0.296342
-- 3.873732 5.805369 2.428706
-- 4.594590 5.679012 3.454376
-- 2.855965 6.542070 2.333721
-- 2.710526 6.996624 3.166684
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.GLH.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 15 0 0 0 0
--!entry.GLH.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "GLH" 1 17 1 "p" 0
--!entry.GLH.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.GLH.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLH.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.GLN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.239260
-- "HA" "H1" 0 1 131072 4 1 0.070250
-- "CB" "CT" 0 1 131072 5 6 0.515970
-- "HB2" "HC" 0 1 131072 6 1 -0.085650
-- "HB3" "HC" 0 1 131072 7 1 -0.085650
-- "CG" "CT" 0 1 131072 8 6 -0.728430
-- "HG2" "HC" 0 1 131072 9 1 0.258090
-- "HG3" "HC" 0 1 131072 10 1 0.258090
-- "CD" "C" 0 1 131072 11 6 0.823540
-- "OE1" "O" 0 1 131072 12 8 -0.668550
-- "NE2" "N" 0 1 131072 13 7 -0.858360
-- "HE21" "H" 0 1 131072 14 1 0.382670
-- "HE22" "H" 0 1 131072 15 1 0.382670
-- "C" "C" 0 1 131072 16 6 0.670480
-- "O" "O" 0 1 131072 17 8 -0.583250
--!entry.GLN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O" 0 -1 0.0
-- "NE2" "N" 0 -1 0.0
-- "HE21" "H" 0 -1 0.0
-- "HE22" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.GLN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLN.unit.childsequence single int
-- 2
--!entry.GLN.unit.connect array int
-- 1
-- 16
--!entry.GLN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 16 17 1
--!entry.GLN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.GLN.unit.name single str
-- "GLN"
--!entry.GLN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.906976 5.848443 2.410302
-- 3.138962 5.408349 3.262893
-- 4.458856 7.061523 2.488333
-- 4.248434 7.659045 3.274966
-- 5.084281 7.376210 1.760379
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.GLN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 16 0 0 0 0
--!entry.GLN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "GLN" 1 18 1 "p" 0
--!entry.GLN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.GLN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.GLU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.348150
-- "HA" "H1" 0 1 131072 4 1 0.126380
-- "CB" "CT" 0 1 131072 5 6 0.696480
-- "HB2" "HC" 0 1 131072 6 1 -0.186180
-- "HB3" "HC" 0 1 131072 7 1 -0.186180
-- "CG" "CT" 0 1 131072 8 6 -0.662250
-- "HG2" "HC" 0 1 131072 9 1 0.193310
-- "HG3" "HC" 0 1 131072 10 1 0.193310
-- "CD" "C" 0 1 131072 11 6 0.804540
-- "OE1" "O2" 0 1 131072 12 8 -0.802940
-- "OE2" "O2" 0 1 131072 13 8 -0.802940
-- "C" "C" 0 1 131072 14 6 0.670480
-- "O" "O" 0 1 131072 15 8 -0.583250
--!entry.GLU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "C" 0 -1 0.0
-- "OE1" "O2" 0 -1 0.0
-- "OE2" "O2" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.GLU.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLU.unit.childsequence single int
-- 2
--!entry.GLU.unit.connect array int
-- 1
-- 14
--!entry.GLU.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 14 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 14 15 1
--!entry.GLU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
--!entry.GLU.unit.name single str
-- "GLU"
--!entry.GLU.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 5.347413 4.849843 1.186158
-- 3.966923 5.535124 0.296342
-- 3.873732 5.805369 2.428706
-- 4.594590 5.679012 3.454376
-- 2.855965 6.542070 2.333721
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.GLU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 14 0 0 0 0
--!entry.GLU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "GLU" 1 16 1 "p" 0
--!entry.GLU.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.GLU.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLU.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.GLY.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.277560
-- "HA2" "H0" 0 1 131072 4 -1 0.151470
-- "HA3" "H0" 0 1 131072 5 -1 0.151470
-- "C" "C" 0 1 131072 6 6 0.670480
-- "O" "O" 0 1 131072 7 8 -0.583250
--!entry.GLY.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA2" "H0" 0 -1 0.0
-- "HA3" "H0" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.GLY.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLY.unit.childsequence single int
-- 2
--!entry.GLY.unit.connect array int
-- 1
-- 6
--!entry.GLY.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 6 1
-- 6 7 1
--!entry.GLY.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
--!entry.GLY.unit.name single str
-- "GLY"
--!entry.GLY.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.671668 3.400125 0.889824
-- 5.483710 2.686702 -4.438857E-06
-- 5.993369 1.568360 -8.469843E-06
--!entry.GLY.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 6 0 0 0 0
--!entry.GLY.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "GLY" 1 8 1 "p" 0
--!entry.GLY.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.GLY.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.GLY.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.HID.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.046110
-- "HA" "H1" 0 1 131072 4 1 -0.008910
-- "CB" "CT" 0 1 131072 5 6 -0.213070
-- "HB2" "HC" 0 1 131072 6 1 0.111650
-- "HB3" "HC" 0 1 131072 7 1 0.111650
-- "CG" "CC" 0 1 131072 8 6 0.275120
-- "ND1" "NA" 0 1 131072 9 7 -0.364930
-- "HD1" "H" 0 1 131072 10 1 0.352330
-- "CE1" "CR" 0 1 131072 11 6 0.226080
-- "HE1" "H5" 0 1 131072 12 1 0.060700
-- "NE2" "NB" 0 1 131072 13 7 -0.504470
-- "CD2" "CV" 0 1 131072 14 6 -0.070100
-- "HD2" "H4" 0 1 131072 15 1 0.095440
-- "C" "C" 0 1 131072 16 6 0.670480
-- "O" "O" 0 1 131072 17 8 -0.583250
--!entry.HID.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NA" 0 -1 0.0
-- "HD1" "H" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NB" 0 -1 0.0
-- "CD2" "CV" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.HID.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.HID.unit.childsequence single int
-- 2
--!entry.HID.unit.connect array int
-- 1
-- 16
--!entry.HID.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 14 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 14 15 1
-- 16 17 1
--!entry.HID.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.HID.unit.name single str
-- "HID"
--!entry.HID.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 3.339725 5.691913 3.169805
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.HID.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 16 0 0 0 0
--!entry.HID.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "HID" 1 18 1 "p" 0
--!entry.HID.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.HID.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.HID.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.HIE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.125440
-- "HA" "H1" 0 1 131072 4 1 0.030840
-- "CB" "CT" 0 1 131072 5 6 -0.214440
-- "HB2" "HC" 0 1 131072 6 1 0.140600
-- "HB3" "HC" 0 1 131072 7 1 0.140600
-- "CG" "CC" 0 1 131072 8 6 0.385250
-- "ND1" "NB" 0 1 131072 9 7 -0.681670
-- "CE1" "CR" 0 1 131072 10 6 0.349170
-- "HE1" "H5" 0 1 131072 11 1 0.030760
-- "NE2" "NA" 0 1 131072 12 7 -0.327570
-- "HE2" "H" 0 1 131072 13 1 0.341080
-- "CD2" "CW" 0 1 131072 14 6 -0.206690
-- "HD2" "H4" 0 1 131072 15 1 0.162890
-- "C" "C" 0 1 131072 16 6 0.670480
-- "O" "O" 0 1 131072 17 8 -0.583250
--!entry.HIE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NB" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NA" 0 -1 0.0
-- "HE2" "H" 0 -1 0.0
-- "CD2" "CW" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.HIE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.HIE.unit.childsequence single int
-- 2
--!entry.HIE.unit.connect array int
-- 1
-- 16
--!entry.HIE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 14 1
-- 9 10 1
-- 10 11 1
-- 10 12 1
-- 12 13 1
-- 12 14 1
-- 14 15 1
-- 16 17 1
--!entry.HIE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.HIE.unit.name single str
-- "HIE"
--!entry.HIE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.896297 7.605085 0.676854
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.HIE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 16 0 0 0 0
--!entry.HIE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "HIE" 1 18 1 "p" 0
--!entry.HIE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.HIE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.HIE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.HIP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 0.017840
-- "HA" "H1" 0 1 131072 4 1 -0.000340
-- "CB" "CT" 0 1 131072 5 6 -0.074410
-- "HB2" "HC" 0 1 131072 6 1 0.084140
-- "HB3" "HC" 0 1 131072 7 1 0.084140
-- "CG" "CC" 0 1 131072 8 6 0.259530
-- "ND1" "NA" 0 1 131072 9 7 -0.134860
-- "HD1" "H" 0 1 131072 10 1 0.376730
-- "CE1" "CR" 0 1 131072 11 6 -0.086920
-- "HE1" "H5" 0 1 131072 12 1 0.197160
-- "NE2" "NA" 0 1 131072 13 7 0.089780
-- "HE2" "H" 0 1 131072 14 1 0.285300
-- "CD2" "CW" 0 1 131072 15 6 -0.259230
-- "HD2" "H4" 0 1 131072 16 1 0.186520
-- "C" "C" 0 1 131072 17 6 0.670480
-- "O" "O" 0 1 131072 18 8 -0.583250
--!entry.HIP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CC" 0 -1 0.0
-- "ND1" "NA" 0 -1 0.0
-- "HD1" "H" 0 -1 0.0
-- "CE1" "CR" 0 -1 0.0
-- "HE1" "H5" 0 -1 0.0
-- "NE2" "NA" 0 -1 0.0
-- "HE2" "H" 0 -1 0.0
-- "CD2" "CW" 0 -1 0.0
-- "HD2" "H4" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.HIP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.HIP.unit.childsequence single int
-- 2
--!entry.HIP.unit.connect array int
-- 1
-- 17
--!entry.HIP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 17 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 15 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 17 18 1
--!entry.HIP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
--!entry.HIP.unit.name single str
-- "HIP"
--!entry.HIP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.942782 5.885086 2.382972
-- 3.339725 5.691913 3.169805
-- 4.624274 6.997642 2.182500
-- 4.563048 7.811875 2.904563
-- 5.294011 6.891451 1.061663
-- 5.896297 7.605085 0.676854
-- 5.058974 5.678868 0.492453
-- 5.537741 5.417846 -0.451343
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.HIP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 17 0 0 0 0
--!entry.HIP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "HIP" 1 19 1 "p" 0
--!entry.HIP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.HIP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.HIP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.ILE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.319670
-- "HA" "H1" 0 1 131072 4 1 0.149580
-- "CB" "CT" 0 1 131072 5 6 0.330640
-- "HB" "HC" 0 1 131072 6 1 -0.064360
-- "CG2" "CT" 0 1 131072 7 6 -0.412720
-- "HG21" "HC" 0 1 131072 8 1 0.117730
-- "HG22" "HC" 0 1 131072 9 1 0.117730
-- "HG23" "HC" 0 1 131072 10 1 0.117730
-- "CG1" "CT" 0 1 131072 11 6 -0.127860
-- "HG12" "HC" 0 1 131072 12 1 0.051810
-- "HG13" "HC" 0 1 131072 13 1 0.051810
-- "CD1" "CT" 0 1 131072 14 6 -0.024360
-- "HD11" "HC" 0 1 131072 15 1 0.012440
-- "HD12" "HC" 0 1 131072 16 1 0.012440
-- "HD13" "HC" 0 1 131072 17 1 0.012440
-- "C" "C" 0 1 131072 18 6 0.670480
-- "O" "O" 0 1 131072 19 8 -0.583250
--!entry.ILE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "HC" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "CG1" "CT" 0 -1 0.0
-- "HG12" "HC" 0 -1 0.0
-- "HG13" "HC" 0 -1 0.0
-- "CD1" "CT" 0 -1 0.0
-- "HD11" "HC" 0 -1 0.0
-- "HD12" "HC" 0 -1 0.0
-- "HD13" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.ILE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ILE.unit.childsequence single int
-- 2
--!entry.ILE.unit.connect array int
-- 1
-- 18
--!entry.ILE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 18 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 18 19 1
--!entry.ILE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.ILE.unit.name single str
-- "ILE"
--!entry.ILE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.552136 3.620733 1.245168
-- 2.470128 3.752486 1.245640
-- 3.970045 2.845728 2.490296
-- 5.052053 2.713974 2.490763
-- 3.671561 3.399208 3.380615
-- 3.485650 1.869275 2.490737
-- 4.230204 4.986694 1.245169
-- 5.312310 4.855746 1.245164
-- 3.931820 5.541027 0.355348
-- 3.812294 5.761632 2.490339
-- 4.110777 5.208104 3.380628
-- 4.296689 6.738085 2.490833
-- 2.730286 5.893383 2.490813
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.ILE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 18 0 0 0 0
--!entry.ILE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "ILE" 1 20 1 "p" 0
--!entry.ILE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.ILE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.ILE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.LEU.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.116580
-- "HA" "H1" 0 1 131072 4 1 0.026810
-- "CB" "CT" 0 1 131072 5 6 -0.227760
-- "HB2" "HC" 0 1 131072 6 1 0.095470
-- "HB3" "HC" 0 1 131072 7 1 0.095470
-- "CG" "CT" 0 1 131072 8 6 0.606550
-- "HG" "HC" 0 1 131072 9 1 -0.114060
-- "CD1" "CT" 0 1 131072 10 6 -0.794260
-- "HD11" "HC" 0 1 131072 11 1 0.208000
-- "HD12" "HC" 0 1 131072 12 1 0.208000
-- "HD13" "HC" 0 1 131072 13 1 0.208000
-- "CD2" "CT" 0 1 131072 14 6 -0.794260
-- "HD21" "HC" 0 1 131072 15 1 0.208000
-- "HD22" "HC" 0 1 131072 16 1 0.208000
-- "HD23" "HC" 0 1 131072 17 1 0.208000
-- "C" "C" 0 1 131072 18 6 0.670480
-- "O" "O" 0 1 131072 19 8 -0.583250
--!entry.LEU.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG" "HC" 0 -1 0.0
-- "CD1" "CT" 0 -1 0.0
-- "HD11" "HC" 0 -1 0.0
-- "HD12" "HC" 0 -1 0.0
-- "HD13" "HC" 0 -1 0.0
-- "CD2" "CT" 0 -1 0.0
-- "HD21" "HC" 0 -1 0.0
-- "HD22" "HC" 0 -1 0.0
-- "HD23" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.LEU.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.LEU.unit.childsequence single int
-- 2
--!entry.LEU.unit.connect array int
-- 1
-- 18
--!entry.LEU.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 18 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 14 1
-- 10 11 1
-- 10 12 1
-- 10 13 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 18 19 1
--!entry.LEU.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
--!entry.LEU.unit.name single str
-- "LEU"
--!entry.LEU.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.853429 5.762895 -0.062857
-- 2.773449 5.910113 -0.054557
-- 4.351513 6.732052 -0.090203
-- 4.134159 5.185704 -0.943846
-- 3.881105 5.817645 2.426721
-- 4.181626 5.279602 3.325774
-- 4.379198 6.786825 2.400363
-- 2.801135 5.964881 2.435959
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.LEU.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 18 0 0 0 0
--!entry.LEU.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "LEU" 1 20 1 "p" 0
--!entry.LEU.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.LEU.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.LEU.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.LYN.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.181890
-- "HA" "H1" 0 1 131072 4 1 0.074160
-- "CB" "CT" 0 1 131072 5 6 0.078320
-- "HB2" "HC" 0 1 131072 6 1 -0.000500
-- "HB3" "HC" 0 1 131072 7 1 -0.000500
-- "CG" "CT" 0 1 131072 8 6 0.004490
-- "HG2" "HC" 0 1 131072 9 1 0.023890
-- "HG3" "HC" 0 1 131072 10 1 0.023890
-- "CD" "CT" 0 1 131072 11 6 -0.277170
-- "HD2" "HC" 0 1 131072 12 1 0.112690
-- "HD3" "HC" 0 1 131072 13 1 0.112690
-- "CE" "CT" 0 1 131072 14 6 0.554010
-- "HE2" "H1" 0 1 131072 15 1 -0.114200
-- "HE3" "H1" 0 1 131072 16 1 -0.114200
-- "NZ" "NT" 0 1 131072 17 7 -0.979220
-- "HZ2" "H" 0 1 131072 18 1 0.354460
-- "HZ3" "H" 0 1 131072 19 1 0.354460
-- "C" "C" 0 1 131072 20 6 0.670480
-- "O" "O" 0 1 131072 21 8 -0.583250
--!entry.LYN.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HC" 0 -1 0.0
-- "HD3" "HC" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE2" "H1" 0 -1 0.0
-- "HE3" "H1" 0 -1 0.0
-- "NZ" "NT" 0 -1 0.0
-- "HZ2" "H" 0 -1 0.0
-- "HZ3" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.LYN.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.LYN.unit.childsequence single int
-- 2
--!entry.LYN.unit.connect array int
-- 1
-- 20
--!entry.LYN.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 20 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 17 18 1
-- 17 19 1
-- 20 21 1
--!entry.LYN.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
--!entry.LYN.unit.name single str
-- "LYN"
--!entry.LYN.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.578325 7.173410 2.389153
-- 5.658410 7.026987 2.380363
-- 4.277917 7.712267 1.490550
-- 4.199422 7.952309 3.576860
-- 4.661186 8.850226 3.551979
-- 3.198675 8.088466 3.584971
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.LYN.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 20 0 0 0 0
--!entry.LYN.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "LYN" 1 22 1 "p" 0
--!entry.LYN.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.LYN.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.LYN.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.LYS.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.181230
-- "HA" "H1" 0 1 131072 4 1 0.099160
-- "CB" "CT" 0 1 131072 5 6 0.004110
-- "HB2" "HC" 0 1 131072 6 1 0.027580
-- "HB3" "HC" 0 1 131072 7 1 0.027580
-- "CG" "CT" 0 1 131072 8 6 -0.053270
-- "HG2" "HC" 0 1 131072 9 1 0.053050
-- "HG3" "HC" 0 1 131072 10 1 0.053050
-- "CD" "CT" 0 1 131072 11 6 -0.201370
-- "HD2" "HC" 0 1 131072 12 1 0.095630
-- "HD3" "HC" 0 1 131072 13 1 0.095630
-- "CE" "CT" 0 1 131072 14 6 0.465480
-- "HE2" "HP" 0 1 131072 15 1 -0.049170
-- "HE3" "HP" 0 1 131072 16 1 -0.049170
-- "NZ" "N3" 0 1 131072 17 7 -0.366380
-- "HZ1" "H" 0 1 131072 18 1 0.334900
-- "HZ2" "H" 0 1 131072 19 1 0.334900
-- "HZ3" "H" 0 1 131072 20 1 0.334900
-- "C" "C" 0 1 131072 21 6 0.670480
-- "O" "O" 0 1 131072 22 8 -0.583250
--!entry.LYS.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "HC" 0 -1 0.0
-- "HD3" "HC" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE2" "HP" 0 -1 0.0
-- "HE3" "HP" 0 -1 0.0
-- "NZ" "N3" 0 -1 0.0
-- "HZ1" "H" 0 -1 0.0
-- "HZ2" "H" 0 -1 0.0
-- "HZ3" "H" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.LYS.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.LYS.unit.childsequence single int
-- 2
--!entry.LYS.unit.connect array int
-- 1
-- 21
--!entry.LYS.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 21 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 14 15 1
-- 14 16 1
-- 14 17 1
-- 17 18 1
-- 17 19 1
-- 17 20 1
-- 21 22 1
--!entry.LYS.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
--!entry.LYS.unit.name single str
-- "LYS"
--!entry.LYS.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.881105 5.817645 2.426721
-- 2.801135 5.964881 2.435959
-- 4.181626 5.279602 3.325774
-- 4.578325 7.173410 2.389153
-- 5.658410 7.026987 2.380363
-- 4.277917 7.712267 1.490550
-- 4.199422 7.952309 3.576860
-- 4.478085 7.453366 4.409628
-- 4.661186 8.850226 3.551979
-- 3.198675 8.088466 3.584971
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.LYS.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 21 0 0 0 0
--!entry.LYS.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "LYS" 1 23 1 "p" 0
--!entry.LYS.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.LYS.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.LYS.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.MET.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.152290
-- "HA" "H1" 0 1 131072 4 1 0.080630
-- "CB" "CT" 0 1 131072 5 6 0.271900
-- "HB2" "HC" 0 1 131072 6 1 -0.049340
-- "HB3" "HC" 0 1 131072 7 1 -0.049340
-- "CG" "CT" 0 1 131072 8 6 -0.289240
-- "HG2" "H1" 0 1 131072 9 1 0.138580
-- "HG3" "H1" 0 1 131072 10 1 0.138580
-- "SD" "S" 0 1 131072 11 16 -0.127450
-- "CE" "CT" 0 1 131072 12 6 -0.275560
-- "HE1" "H1" 0 1 131072 13 1 0.112970
-- "HE2" "H1" 0 1 131072 14 1 0.112970
-- "HE3" "H1" 0 1 131072 15 1 0.112970
-- "C" "C" 0 1 131072 16 6 0.670480
-- "O" "O" 0 1 131072 17 8 -0.583250
--!entry.MET.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "H1" 0 -1 0.0
-- "HG3" "H1" 0 -1 0.0
-- "SD" "S" 0 -1 0.0
-- "CE" "CT" 0 -1 0.0
-- "HE1" "H1" 0 -1 0.0
-- "HE2" "H1" 0 -1 0.0
-- "HE3" "H1" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.MET.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.MET.unit.childsequence single int
-- 2
--!entry.MET.unit.connect array int
-- 1
-- 16
--!entry.MET.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 16 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 12 13 1
-- 12 14 1
-- 12 15 1
-- 16 17 1
--!entry.MET.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
--!entry.MET.unit.name single str
-- "MET"
--!entry.MET.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.274186 5.009602 1.194577
-- 5.354271 4.863178 1.185788
-- 3.973781 5.548460 0.295972
-- 3.817309 5.981266 2.651708
-- 4.753212 7.463128 2.340949
-- 4.433582 7.904044 1.396741
-- 4.585907 8.175299 3.148985
-- 5.814074 7.218763 2.286554
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.MET.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 16 0 0 0 0
--!entry.MET.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "MET" 1 18 1 "p" 0
--!entry.MET.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.MET.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.MET.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.PHE.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.097530
-- "HA" "H1" 0 1 131072 4 1 0.021040
-- "CB" "CT" 0 1 131072 5 6 -0.127300
-- "HB2" "HC" 0 1 131072 6 1 0.103640
-- "HB3" "HC" 0 1 131072 7 1 0.103640
-- "CG" "CA" 0 1 131072 8 6 0.128890
-- "CD1" "CA" 0 1 131072 9 6 -0.194310
-- "HD1" "HA" 0 1 131072 10 1 0.141910
-- "CE1" "CA" 0 1 131072 11 6 -0.098170
-- "HE1" "HA" 0 1 131072 12 1 0.108820
-- "CZ" "CA" 0 1 131072 13 6 -0.112640
-- "HZ" "HA" 0 1 131072 14 1 0.089140
-- "CE2" "CA" 0 1 131072 15 6 -0.098170
-- "HE2" "HA" 0 1 131072 16 1 0.108820
-- "CD2" "CA" 0 1 131072 17 6 -0.194310
-- "HD2" "HA" 0 1 131072 18 1 0.141910
-- "C" "C" 0 1 131072 19 6 0.670480
-- "O" "O" 0 1 131072 20 8 -0.583250
--!entry.PHE.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CA" 0 -1 0.0
-- "CD1" "CA" 0 -1 0.0
-- "HD1" "HA" 0 -1 0.0
-- "CE1" "CA" 0 -1 0.0
-- "HE1" "HA" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "HZ" "HA" 0 -1 0.0
-- "CE2" "CA" 0 -1 0.0
-- "HE2" "HA" 0 -1 0.0
-- "CD2" "CA" 0 -1 0.0
-- "HD2" "HA" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.PHE.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.PHE.unit.childsequence single int
-- 2
--!entry.PHE.unit.connect array int
-- 1
-- 19
--!entry.PHE.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 19 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 17 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 15 1
-- 15 16 1
-- 15 17 1
-- 17 18 1
-- 19 20 1
--!entry.PHE.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
--!entry.PHE.unit.name single str
-- "PHE"
--!entry.PHE.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 3.911613 5.857250 2.409890
-- 3.236123 5.513843 3.193398
-- 4.490014 7.129513 2.492354
-- 4.264853 7.776651 3.340066
-- 5.357616 7.570591 1.486016
-- 5.807943 8.561138 1.550220
-- 5.646818 6.739407 0.397211
-- 6.322309 7.082817 -0.386295
-- 5.068419 5.467143 0.314744
-- 5.293584 4.820007 -0.532968
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.PHE.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 19 0 0 0 0
--!entry.PHE.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "PHE" 1 21 1 "p" 0
--!entry.PHE.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.PHE.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.PHE.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.PRO.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.259820
-- "CD" "CT" 0 1 131072 2 6 0.070890
-- "HD2" "H1" 0 1 131072 3 1 0.019250
-- "HD3" "H1" 0 1 131072 4 1 0.019260
-- "CG" "CT" 0 1 131072 5 6 0.067960
-- "HG2" "HC" 0 1 131072 6 1 0.009600
-- "HG3" "HC" 0 1 131072 7 1 0.009600
-- "CB" "CT" 0 1 131072 8 6 0.038490
-- "HB2" "HC" 0 1 131072 9 1 0.020120
-- "HB3" "HC" 0 1 131072 10 1 0.020120
-- "CA" "CT" 0 1 131072 11 6 -0.194650
-- "HA" "H1" 0 1 131072 12 1 0.091950
-- "C" "C" 0 1 131072 13 6 0.670480
-- "O" "O" 0 1 131072 14 8 -0.583250
--!entry.PRO.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "CD" "CT" 0 -1 0.0
-- "HD2" "H1" 0 -1 0.0
-- "HD3" "H1" 0 -1 0.0
-- "CG" "CT" 0 -1 0.0
-- "HG2" "HC" 0 -1 0.0
-- "HG3" "HC" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.PRO.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.PRO.unit.childsequence single int
-- 2
--!entry.PRO.unit.connect array int
-- 1
-- 13
--!entry.PRO.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 11 1
-- 2 3 1
-- 2 4 1
-- 2 5 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 10 1
-- 8 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
--!entry.PRO.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
--!entry.PRO.unit.name single str
-- "PRO"
--!entry.PRO.unit.positions table  dbl x  dbl y  dbl z
-- 3.326834 1.557389 -1.603945E-06
-- 4.302147 0.476598 0.080119
-- 4.419998 0.019283 -0.902263
-- 3.955888 -0.274040 0.790574
-- 5.547126 1.172441 0.544693
-- 6.413549 0.741636 0.042879
-- 5.652950 1.047934 1.622376
-- 5.369091 2.628184 0.185227
-- 5.969289 2.861861 -0.694123
-- 5.690642 3.251038 1.019947
-- 3.933610 2.871277 -0.104508
-- 3.611470 3.488570 0.734106
-- 3.505164 3.526392 -1.409783
-- 2.754240 2.939065 -2.185412
--!entry.PRO.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 13 0 0 0 0
--!entry.PRO.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "PRO" 1 15 1 "p" 0
--!entry.PRO.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.PRO.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.PRO.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.SER.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.066190
-- "HA" "H1" 0 1 131072 4 1 0.078820
-- "CB" "CT" 0 1 131072 5 6 0.185370
-- "HB2" "H1" 0 1 131072 6 1 0.025410
-- "HB3" "H1" 0 1 131072 7 1 0.025410
-- "OG" "OH" 0 1 131072 8 8 -0.602470
-- "HG" "HO" 0 1 131072 9 1 0.379030
-- "C" "C" 0 1 131072 10 6 0.670480
-- "O" "O" 0 1 131072 11 8 -0.583250
--!entry.SER.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "H1" 0 -1 0.0
-- "HB3" "H1" 0 -1 0.0
-- "OG" "OH" 0 -1 0.0
-- "HG" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.SER.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.SER.unit.childsequence single int
-- 2
--!entry.SER.unit.connect array int
-- 1
-- 10
--!entry.SER.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 10 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 10 11 1
--!entry.SER.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
--!entry.SER.unit.name single str
-- "SER"
--!entry.SER.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.230753 4.925145 1.196917
-- 3.983305 5.433814 1.972562
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.SER.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 10 0 0 0 0
--!entry.SER.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "SER" 1 12 1 "p" 0
--!entry.SER.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.SER.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.SER.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.THR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.022270
-- "HA" "H1" 0 1 131072 4 1 0.053100
-- "CB" "CT" 0 1 131072 5 6 0.522850
-- "HB" "H1" 0 1 131072 6 1 -0.139050
-- "CG2" "CT" 0 1 131072 7 6 -0.588650
-- "HG21" "HC" 0 1 131072 8 1 0.162040
-- "HG22" "HC" 0 1 131072 9 1 0.162040
-- "HG23" "HC" 0 1 131072 10 1 0.162040
-- "OG1" "OH" 0 1 131072 11 8 -0.739400
-- "HG1" "HO" 0 1 131072 12 1 0.452680
-- "C" "C" 0 1 131072 13 6 0.670480
-- "O" "O" 0 1 131072 14 8 -0.583250
--!entry.THR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "H1" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "OG1" "OH" 0 -1 0.0
-- "HG1" "HO" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.THR.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.THR.unit.childsequence single int
-- 2
--!entry.THR.unit.connect array int
-- 1
-- 13
--!entry.THR.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 13 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
-- 13 14 1
--!entry.THR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
--!entry.THR.unit.name single str
-- "THR"
--!entry.THR.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 4.075059 4.623017 1.205786
-- 2.065936 3.859425 1.244383
-- 1.567127 2.890627 1.271209
-- 1.784431 4.436953 2.124903
-- 1.764699 4.397847 0.345796
-- 3.971501 2.947413 2.411212
-- 3.724052 3.456082 3.186857
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.THR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 13 0 0 0 0
--!entry.THR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "THR" 1 15 1 "p" 0
--!entry.THR.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.THR.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.THR.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.TRP.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.094050
-- "HA" "H1" 0 1 131072 4 1 0.058350
-- "CB" "CT" 0 1 131072 5 6 0.034010
-- "HB2" "HC" 0 1 131072 6 1 0.031520
-- "HB3" "HC" 0 1 131072 7 1 0.031520
-- "CG" "C*" 0 1 131072 8 6 -0.279060
-- "CD1" "CW" 0 1 131072 9 6 0.030520
-- "HD1" "H4" 0 1 131072 10 1 0.136990
-- "NE1" "NA" 0 1 131072 11 7 -0.483180
-- "HE1" "H" 0 1 131072 12 1 0.393090
-- "CE2" "CN" 0 1 131072 13 6 0.203200
-- "CZ2" "CA" 0 1 131072 14 6 -0.272110
-- "HZ2" "HA" 0 1 131072 15 1 0.185390
-- "CH2" "CA" 0 1 131072 16 6 -0.171160
-- "HH2" "HA" 0 1 131072 17 1 0.105360
-- "CZ3" "CA" 0 1 131072 18 6 -0.058970
-- "HZ3" "HA" 0 1 131072 19 1 0.088920
-- "CE3" "CA" 0 1 131072 20 6 -0.403270
-- "HE3" "HA" 0 1 131072 21 1 0.216660
-- "CD2" "CB" 0 1 131072 22 6 0.271650
-- "C" "C" 0 1 131072 23 6 0.670480
-- "O" "O" 0 1 131072 24 8 -0.583250
--!entry.TRP.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "C*" 0 -1 0.0
-- "CD1" "CW" 0 -1 0.0
-- "HD1" "H4" 0 -1 0.0
-- "NE1" "NA" 0 -1 0.0
-- "HE1" "H" 0 -1 0.0
-- "CE2" "CN" 0 -1 0.0
-- "CZ2" "CA" 0 -1 0.0
-- "HZ2" "HA" 0 -1 0.0
-- "CH2" "CA" 0 -1 0.0
-- "HH2" "HA" 0 -1 0.0
-- "CZ3" "CA" 0 -1 0.0
-- "HZ3" "HA" 0 -1 0.0
-- "CE3" "CA" 0 -1 0.0
-- "HE3" "HA" 0 -1 0.0
-- "CD2" "CB" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.TRP.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.TRP.unit.childsequence single int
-- 2
--!entry.TRP.unit.connect array int
-- 1
-- 23
--!entry.TRP.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 23 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 22 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 22 1
-- 14 15 1
-- 14 16 1
-- 16 17 1
-- 16 18 1
-- 18 19 1
-- 18 20 1
-- 20 21 1
-- 20 22 1
-- 23 24 1
--!entry.TRP.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
-- "R" 1 "A" 22
-- "R" 1 "A" 23
-- "R" 1 "A" 24
--!entry.TRP.unit.name single str
-- "TRP"
--!entry.TRP.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.200813 5.026064 1.321087
-- 4.023453 5.931084 2.293240
-- 3.368841 5.705466 3.135071
-- 4.811943 7.073555 1.949808
-- 4.882921 7.922010 2.493118
-- 5.427347 6.842060 0.816764
-- 6.297161 7.689052 0.119605
-- 6.531230 8.676649 0.517050
-- 6.814091 7.187011 -1.069023
-- 7.498074 7.791857 -1.664362
-- 6.482659 5.953119 -1.505101
-- 6.897660 5.575648 -2.439654
-- 5.604041 5.117355 -0.785636
-- 5.358720 4.126570 -1.168080
-- 5.083390 5.623004 0.411545
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.TRP.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 23 0 0 0 0
--!entry.TRP.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "TRP" 1 25 1 "p" 0
--!entry.TRP.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.TRP.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.TRP.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.TYR.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.176100
-- "HA" "H1" 0 1 131072 4 1 0.082580
-- "CB" "CT" 0 1 131072 5 6 -0.032040
-- "HB2" "HC" 0 1 131072 6 1 0.077470
-- "HB3" "HC" 0 1 131072 7 1 0.077470
-- "CG" "CA" 0 1 131072 8 6 -0.034160
-- "CD1" "CA" 0 1 131072 9 6 -0.120710
-- "HD1" "HA" 0 1 131072 10 1 0.140120
-- "CE1" "CA" 0 1 131072 11 6 -0.333900
-- "HE1" "HA" 0 1 131072 12 1 0.188970
-- "CZ" "CA" 0 1 131072 13 6 0.442780
-- "OH" "OH" 0 1 131072 14 8 -0.541860
-- "HH" "HO" 0 1 131072 15 1 0.380280
-- "CE2" "CA" 0 1 131072 16 6 -0.333900
-- "HE2" "HA" 0 1 131072 17 1 0.188970
-- "CD2" "CA" 0 1 131072 18 6 -0.120710
-- "HD2" "HA" 0 1 131072 19 1 0.140120
-- "C" "C" 0 1 131072 20 6 0.670480
-- "O" "O" 0 1 131072 21 8 -0.583250
--!entry.TYR.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB2" "HC" 0 -1 0.0
-- "HB3" "HC" 0 -1 0.0
-- "CG" "CA" 0 -1 0.0
-- "CD1" "CA" 0 -1 0.0
-- "HD1" "HA" 0 -1 0.0
-- "CE1" "CA" 0 -1 0.0
-- "HE1" "HA" 0 -1 0.0
-- "CZ" "CA" 0 -1 0.0
-- "OH" "OH" 0 -1 0.0
-- "HH" "HO" 0 -1 0.0
-- "CE2" "CA" 0 -1 0.0
-- "HE2" "HA" 0 -1 0.0
-- "CD2" "CA" 0 -1 0.0
-- "HD2" "HA" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.TYR.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.TYR.unit.childsequence single int
-- 2
--!entry.TYR.unit.connect array int
-- 1
-- 20
--!entry.TYR.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 20 1
-- 5 6 1
-- 5 7 1
-- 5 8 1
-- 8 9 1
-- 8 18 1
-- 9 10 1
-- 9 11 1
-- 11 12 1
-- 11 13 1
-- 13 14 1
-- 13 16 1
-- 14 15 1
-- 16 17 1
-- 16 18 1
-- 18 19 1
-- 20 21 1
--!entry.TYR.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
-- "R" 1 "A" 17
-- "R" 1 "A" 18
-- "R" 1 "A" 19
-- "R" 1 "A" 20
-- "R" 1 "A" 21
--!entry.TYR.unit.name single str
-- "TYR"
--!entry.TYR.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.877484 3.115795 2.131197
-- 4.267328 4.996267 1.194946
-- 4.059927 5.918911 2.227280
-- 3.400108 5.668218 3.057877
-- 4.699998 7.163547 2.192791
-- 4.538522 7.881891 2.996538
-- 5.547471 7.485542 1.125970
-- 6.169255 8.694617 1.092468
-- 5.956327 9.246984 1.848214
-- 5.754875 6.562900 0.093635
-- 6.414694 6.813595 -0.736962
-- 5.114806 5.318263 0.128119
-- 5.276286 4.599920 -0.675627
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.TYR.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 20 0 0 0 0
--!entry.TYR.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "TYR" 1 22 1 "p" 0
--!entry.TYR.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.TYR.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.TYR.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
--!entry.VAL.unit.atoms table  str name  str type  int typex  int resx  int flags  int seq  int elmnt  dbl chg
-- "N" "N" 0 1 131072 1 7 -0.404070
-- "H" "H" 0 1 131072 2 1 0.291460
-- "CA" "CT" 0 1 131072 3 6 -0.248670
-- "HA" "H1" 0 1 131072 4 1 0.096610
-- "CB" "CT" 0 1 131072 5 6 0.652680
-- "HB" "HC" 0 1 131072 6 1 -0.125280
-- "CG1" "CT" 0 1 131072 7 6 -0.741410
-- "HG11" "HC" 0 1 131072 8 1 0.188810
-- "HG12" "HC" 0 1 131072 9 1 0.188810
-- "HG13" "HC" 0 1 131072 10 1 0.188810
-- "CG2" "CT" 0 1 131072 11 6 -0.741410
-- "HG21" "HC" 0 1 131072 12 1 0.188810
-- "HG22" "HC" 0 1 131072 13 1 0.188810
-- "HG23" "HC" 0 1 131072 14 1 0.188810
-- "C" "C" 0 1 131072 15 6 0.670480
-- "O" "O" 0 1 131072 16 8 -0.583250
--!entry.VAL.unit.atomspertinfo table  str pname  str ptype  int ptypex  int pelmnt  dbl pchg
-- "N" "N" 0 -1 0.0
-- "H" "H" 0 -1 0.0
-- "CA" "CT" 0 -1 0.0
-- "HA" "H1" 0 -1 0.0
-- "CB" "CT" 0 -1 0.0
-- "HB" "HC" 0 -1 0.0
-- "CG1" "CT" 0 -1 0.0
-- "HG11" "HC" 0 -1 0.0
-- "HG12" "HC" 0 -1 0.0
-- "HG13" "HC" 0 -1 0.0
-- "CG2" "CT" 0 -1 0.0
-- "HG21" "HC" 0 -1 0.0
-- "HG22" "HC" 0 -1 0.0
-- "HG23" "HC" 0 -1 0.0
-- "C" "C" 0 -1 0.0
-- "O" "O" 0 -1 0.0
--!entry.VAL.unit.boundbox array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.VAL.unit.childsequence single int
-- 2
--!entry.VAL.unit.connect array int
-- 1
-- 15
--!entry.VAL.unit.connectivity table  int atom1x  int atom2x  int flags
-- 1 2 1
-- 1 3 1
-- 3 4 1
-- 3 5 1
-- 3 15 1
-- 5 6 1
-- 5 7 1
-- 5 11 1
-- 7 8 1
-- 7 9 1
-- 7 10 1
-- 11 12 1
-- 11 13 1
-- 11 14 1
-- 15 16 1
--!entry.VAL.unit.hierarchy table  str abovetype  int abovex  str belowtype  int belowx
-- "U" 0 "R" 1
-- "R" 1 "A" 1
-- "R" 1 "A" 2
-- "R" 1 "A" 3
-- "R" 1 "A" 4
-- "R" 1 "A" 5
-- "R" 1 "A" 6
-- "R" 1 "A" 7
-- "R" 1 "A" 8
-- "R" 1 "A" 9
-- "R" 1 "A" 10
-- "R" 1 "A" 11
-- "R" 1 "A" 12
-- "R" 1 "A" 13
-- "R" 1 "A" 14
-- "R" 1 "A" 15
-- "R" 1 "A" 16
--!entry.VAL.unit.name single str
-- "VAL"
--!entry.VAL.unit.positions table  dbl x  dbl y  dbl z
-- 3.325770 1.547909 -1.607204E-06
-- 3.909407 0.723611 -2.739882E-06
-- 3.970048 2.845795 -1.311163E-07
-- 3.671663 3.400129 -0.889820
-- 3.576965 3.653838 1.232143
-- 2.496995 3.801075 1.241379
-- 3.997712 2.900483 2.489542
-- 5.077693 2.753265 2.481244
-- 3.716972 3.477628 3.370558
-- 3.499630 1.931323 2.516834
-- 4.274186 5.009602 1.194577
-- 3.973781 5.548460 0.295972
-- 3.993559 5.587585 2.075079
-- 5.354271 4.863178 1.185788
-- 5.485541 2.705207 -4.398755E-06
-- 6.008824 1.593175 -8.449768E-06
--!entry.VAL.unit.residueconnect table  int c1x  int c2x  int c3x  int c4x  int c5x  int c6x
-- 1 15 0 0 0 0
--!entry.VAL.unit.residues table  str name  int seq  int childseq  int startatomx  str restype  int imagingx
-- "VAL" 1 17 1 "p" 0
--!entry.VAL.unit.residuesPdbSequenceNumber array int
-- 0
--!entry.VAL.unit.solventcap array dbl
-- -1.000000
-- 0.0
-- 0.0
-- 0.0
-- 0.0
--!entry.VAL.unit.velocities table  dbl x  dbl y  dbl z
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-- 0.0 0.0 0.0
-diff --git a/dat/leap/parm/frcmod.pol12 b/dat/leap/parm/frcmod.pol12
-deleted file mode 100644
-index cff8162..0000000
---- a/dat/leap/parm/frcmod.pol12
-+++ /dev/null
-@@ -1,180 +0,0 @@
--Mainchain torsion parameters
--IPOL
--  4
--
--MASS
--
--BOND
--
--ANGL
--
--DIHEDRAL
--C -N -CT-C    1    0.79            0.0        -1.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
--C -N -CT-C    1    1.24            0.0        -2.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
--C -N -CT-C    1    0.42            0.0         3.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
--N -CT-C -N    1    1.96            0.0        -1.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
--N -CT-C -N    1    1.37          180.0        -2.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
--N -CT-C -N    1    0.42          180.0         3.  1.0  2.0 frm gly phi-psi gas map MP2(CBS, atz-aqz)+CCSD(T)(adz)
--CT-CT-N -C    1    0.02          180.0        -1.  1.0  2.0 
--CT-CT-N -C    1    0.65            0.0         2.  1.0  2.0 
--H1-CT-N -C    1    0.99          180.0        -1.  1.0  2.0 
--H1-CT-N -C    1    0.80            0.0         2.  1.0  2.0 
--CT-CT-C -N    1    1.34            0.0        -1.  1.0  2.0 
--CT-CT-C -N    1    0.50          180.0         2.  1.0  2.0 
--H1-CT-C -N    1    0.09          180.0        -2.  1.0  2.0 
--H1-CT-C -N    1    1.14            0.0         1.  1.0  2.0 
--
--NONBON
--
--CMAP
--%FLAG CMAP_COUNT 3
--%FLAG CMAP_TITLE
--ALA CMAP
--%FLAG CMAP_RESLIST 26
--ALA ASP SER THR LEU ILE VAL ASN GLN ARG
--HID HIE HIP TRP PHE TYR GLU ASP LYS LYN
--CYS CYX MET ASH GLH CYM
--%FLAG CMAP_RESOLUTION 18
--%FLAG CMAP_PARAMETER
--   0.6996   0.7109   0.7452   0.8985   1.2822   1.4924   0.8283   0.0309
--   0.1762  -0.0044  -0.9781  -0.9596  -0.2536   0.2216   0.2768   0.2998
--   0.3343   0.4811   0.6979   0.5886   0.6524   0.9473   1.2845   1.1558
--   0.6335   0.2926   0.8031  -0.6203  -1.0679  -0.8046  -0.1339   0.1863
--   0.2679   0.4891   0.6519   0.7084   0.4314   0.4697   0.7114   1.0596
--   1.0858   0.7096   0.5322   1.0603  -0.2603  -0.9325  -0.9777  -0.5784
--  -0.1384  -0.0963   0.0316   0.3500   0.5028   0.4746   0.6188   0.9074
--   1.1282   1.2028   0.9105   0.6231   1.0358   0.2832  -0.7467  -0.8248
--  -0.5121  -0.1238  -0.1961  -0.4874  -0.2169   0.2218   0.4082   0.4486
--   0.9788   1.1395   1.0923   1.0718   0.9625   1.1138   1.3863  -0.1392
--  -0.7237  -0.2872   0.4985   0.3261  -0.5791  -1.0942  -0.4770   0.2321
--   0.5573   0.7415   0.5292   0.4950   0.5479   0.9137   1.3146   1.8892
--   0.9379  -0.6194  -0.6632   0.6898   1.7557   1.5728   0.6566  -0.5970
--  -0.8672  -0.1900   0.2293   0.4321  -1.0380  -0.5799   0.3862   1.5984
--   2.3166   2.1500  -0.0677  -1.2216   0.0062   2.3366   3.2155   2.7916
--   1.8380   0.3829  -0.8178  -1.0808  -1.1518  -1.1570  -1.8094  -0.0773
--   2.1498   3.7544   3.6406   0.8498  -1.3804  -0.9843   1.5549   3.2365
--   3.3981   2.9209   2.2171   0.8749  -0.6221  -2.0341  -2.7537  -2.6330
--  -0.3319   2.8137   3.2646   1.8770   0.3246  -1.2216  -1.4980   0.5532
--   2.1118   2.6618   2.5746   2.5164   2.1009   0.9974  -1.3076  -2.7967
--  -2.9532  -2.1699   3.6877   0.8028  -0.7043  -1.5370  -1.7409  -1.0954
--   0.5853   1.2217   1.6359   1.8122   2.1382   2.1394   1.1467  -1.1553
--  -2.0555  -1.8169  -1.0220   0.4087   0.0138  -2.0970  -3.0277  -2.8743
--  -1.2829   0.5478   1.1379   1.4164   1.7734   2.3230   2.4142   1.2562
--  -1.5766  -1.7018  -0.3087   1.2616   2.6633   2.9485  -1.7710  -2.9352
--  -3.2016  -2.3880  -0.8571   0.2752   1.2115   1.6828   2.2605   2.5641
--   1.5681  -1.1818  -2.0490  -0.0671   2.4541   3.1648   1.9621   0.0054
--  -0.5880  -1.1331  -1.1982  -0.9946  -0.7792  -0.0902   0.9375   1.5375
--   1.8883   1.4039  -0.3318  -1.8684  -0.9853   1.1723   2.2107   1.9406
--   1.1240   0.2128   1.1816   0.7833   0.6454   0.3474  -0.5170  -0.9473
--  -0.1769   0.3671   0.4441  -0.0054  -1.1102  -1.1976   0.1113   1.5763
--   1.7120   1.7491   1.6278   1.5039   1.8743   1.3537   1.1335   0.8916
--   0.2183  -0.9854  -1.0827  -0.5687  -0.2308  -0.5702  -0.8166  -0.2464
--   1.0822   1.2795   1.3026   1.7406   1.9548   2.1020   1.2800   0.9715
--   0.8172   0.7412   0.5890   0.3522   0.0954  -0.2460  -0.5892  -0.5927
--  -0.2446   0.9237   1.1241   0.5542   1.0488   1.5582   1.5830   1.4282
--   0.3882   0.4559   0.4963   0.4920   0.6253   0.9252   0.5006  -0.7605
--  -0.6854  -0.3495   0.6981   0.6922  -0.0579   0.2654   0.8917   0.9409
--   0.5017   0.1950   0.2477   0.3903   0.5167   0.6139   0.8817   1.2830
--   0.7453  -0.3047  -0.4839   0.3175  -0.1271  -0.8020  -0.3850   0.2424
--   0.4141   0.2357  -0.0419  -0.0473
--%FLAG CMAP_TITLE
--GLY CMAP
--%FLAG CMAP_RESLIST 1
--GLY
--%FLAG CMAP_RESOLUTION 18
--%COMMENT  GLY CMAP from MP2(CBS atz-aqz)+CCSD(T)(adz) correction
--%COMMENT  from gly-CMAP-optBBV01-gas-formatted-psi-phi.dat
--%COMMENT  PSI PHI
--%FLAG CMAP_PARAMETER
--   1.1507   0.7349   0.5033   0.4851   0.6055   0.6617  -0.1372  -0.4814
--  -0.4244   3.5760  -0.4244  -0.4814  -0.1372   0.6617   0.6055   0.4851
--   0.5033   0.7349   0.8169   0.6015   0.5487   0.7802   1.0366   0.9827
--   0.5364   0.2725   1.1192  -0.5549  -1.1726  -0.9070  -0.1156   0.2913
--   0.3275   0.4620   0.6558   0.7885   0.7603   0.7381   0.9566   1.2999
--   1.3313   0.9787   0.8744   1.4168  -0.1690  -1.1676  -1.3768  -1.0856
--  -0.2490  -0.0108   0.1378   0.4506   0.6648   0.7392   0.9915   1.1016
--   1.2424   1.3636   1.2423   1.0643   1.4604   0.6995  -0.6354  -1.0819
--  -0.9636  -0.5145  -0.2270  -0.2924   0.0124   0.4572   0.7197   0.8353
--   1.1798   1.1241   1.1031   1.2584   1.3540   1.5273   1.8196   0.1895
--  -0.6672  -0.5774  -0.0897  -0.1227  -0.6643  -0.9178  -0.3044   0.4086
--   0.7943   1.0196   0.4751   0.3508   0.5391   1.1479   1.6817   2.1172
--   1.0757  -0.5530  -0.7982   0.1466   0.8419   0.8318   0.3350  -0.6135
--  -0.8554  -0.2406   0.1999   0.4241  -1.1995  -0.7114   0.4296   1.8756
--   2.6117   2.1615  -0.1812  -1.4398  -0.4034   1.4799   2.2439   2.0908
--   1.5528   0.3805  -0.8859  -1.3330  -1.4658  -1.4169  -1.7376   0.0374
--   2.3126   3.9828   3.4776   0.7125  -1.5839  -1.2740   1.1103   2.4687
--   2.5524   2.2668   1.9382   0.8766  -0.7227  -2.3671  -3.1074  -2.8081
--   0.1638   3.0876   3.5261   1.9682   0.2306  -1.3484  -1.5582   0.5419
--   1.8350   2.0962   1.8764   1.8112   1.6715   0.8664  -1.3883  -2.9899
--  -3.0123  -1.9469   5.5352   1.0681  -0.6188  -1.6349  -1.9353  -1.1019
--   0.8247   1.4255   1.5776   1.8010   1.5776   1.4255   0.8247  -1.1019
--  -1.9353  -1.6349  -0.6188   1.0681   0.1638  -1.9469  -3.0123  -2.9899
--  -1.3883   0.8664   1.6715   1.8112   1.8764   2.0962   1.8350   0.5419
--  -1.5582  -1.3484   0.2306   1.9682   3.5261   3.0876  -1.7376  -2.8081
--  -3.1074  -2.3671  -0.7227   0.8766   1.9382   2.2668   2.5524   2.4687
--   1.1103  -1.2740  -1.5839   0.7125   3.4776   3.9828   2.3126   0.0374
--  -1.1995  -1.4169  -1.4658  -1.3330  -0.8859   0.3805   1.5528   2.0908
--   2.2439   1.4799  -0.4034  -1.4398  -0.1812   2.1615   2.6117   1.8756
--   0.4296  -0.7114   0.4751   0.4241   0.1999  -0.2406  -0.8554  -0.6135
--   0.3350   0.8318   0.8419   0.1466  -0.7982  -0.5530   1.0757   2.1172
--   1.6817   1.1479   0.5391   0.3508   1.1798   1.0196   0.7943   0.4086
--  -0.3044  -0.9178  -0.6643  -0.1227  -0.0897  -0.5774  -0.6672   0.1895
--   1.8196   1.5273   1.3540   1.2584   1.1031   1.1241   0.9915   0.8353
--   0.7197   0.4572   0.0124  -0.2924  -0.2270  -0.5145  -0.9636  -1.0819
--  -0.6354   0.6995   1.4604   1.0643   1.2423   1.3636   1.2424   1.1016
--   0.7603   0.7392   0.6648   0.4506   0.1378  -0.0108  -0.2490  -1.0856
--  -1.3768  -1.1676  -0.1690   1.4168   0.8744   0.9787   1.3313   1.2999
--   0.9566   0.7381   0.8169   0.7885   0.6558   0.4620   0.3275   0.2913
--  -0.1156  -0.9070  -1.1726  -0.5549   1.1192   0.2725   0.5364   0.9827
--   1.0366   0.7802   0.5487   0.6015
--%FLAG CMAP_TITLE
--PRO CMAP
--%FLAG CMAP_RESLIST 1
--PRO
--%FLAG CMAP_RESOLUTION 18
--%COMMENT  PRO CMAP from MP2(atz) correction
--%COMMENT  PSI PHI
--%FLAG CMAP_PARAMETER
-- -11.8681 -11.9836 -12.3616 -13.6168 -14.1453 -14.0496 -13.2367 -11.7198
-- -12.3096 -13.3794 -14.8656 -16.1479 -16.2807 -15.2755 -14.2653 -13.6480
-- -13.2047 -12.3285  -6.6149  -6.6085  -6.9286  -8.0418  -8.9648  -9.1397
--  -8.0198  -7.5099  -8.3788  -9.3943 -10.1089 -10.4542 -10.0455  -9.4001
--  -8.8431  -8.2531  -7.6409  -6.9275  -2.2957  -2.2463  -2.3664  -3.3373
--  -4.3855  -4.6521  -3.5502  -3.0913  -3.9517  -5.7538  -5.9899  -5.5195
--  -4.8746  -4.7226  -4.4199  -3.7774  -3.1315  -2.5488   0.6680   0.7260
--   0.9072   0.3973  -0.5339  -0.8094   0.0774  -0.6931  -1.1404  -1.1815
--  -1.1333  -0.6621  -0.7192  -1.4151  -1.1788  -0.0419   1.2083   0.4615
--   2.1095   4.2916   4.4484   4.5978   2.0399   2.3643   1.5854  -0.6165
--  -2.3163  -2.1003  -1.6863  -2.0963   1.1545   0.2034   0.3478   1.5816
--   2.8385   3.6463   1.4654   1.9240   2.1607   2.3294   2.1657   1.1236
--   0.0568  -1.0419  -1.1277   0.0585   1.0645   0.9305  -0.0229  -1.3432
--  -1.8853  -0.9112   0.1465   0.8421   0.7720   0.5083   2.0895   4.2326
--   3.4621   1.6070  -0.1446  -0.4766   0.0496   1.9172   2.8496   2.5803
--   1.8081   0.4834  -0.8311  -0.9350  -0.4975   0.0686   0.1101   2.1266
--   4.1675   4.8614   3.2766   0.8449  -1.0386  -0.7694   1.0610   2.6106
--   2.9484   2.6931   2.3165   1.1273  -0.6244  -1.8051  -1.8110  -1.1012
--   0.8389   3.2290   4.5077   3.5467   1.5644  -0.8184  -1.6190  -0.0314
--   1.4359   1.9499   1.9228   2.1114   2.0614   0.8497  -1.6471  -2.9782
--  -2.4091  -1.0655   2.1214   2.4093   1.8722   0.8322  -0.9802  -2.0624
--  -0.9195  -0.7585   0.3481   0.2424   0.7417   1.3245   0.8544  -1.4936
--  -3.4435  -3.2387  -1.8418  -0.1330   1.1045  -0.0764  -1.2071  -2.5678
--  -3.1670  -2.1847  -1.3846  -1.6251  -1.7513  -1.1878  -0.5694  -0.9375
--  -3.0564  -4.7386  -4.5548  -3.3367  -2.2528  -0.6426  -2.6725  -4.4937
--  -5.8072  -6.1904  -5.2607  -4.0146  -3.6532  -3.7922  -3.4941  -3.0741
--  -3.5874  -5.8952  -8.2189  -7.9584  -6.6024  -5.1969  -2.9854  -5.5137
--  -7.9466  -9.1555  -9.7366  -9.4550  -8.4636  -7.2113  -6.5882  -6.3548
--  -6.2295  -6.8226  -8.8572 -11.4670 -11.6480 -10.2777  -8.5312  -6.9800
--  -8.2061  -5.8153 -11.6999 -12.2452 -12.6181 -13.0581 -13.3102 -12.5095
-- -11.5831 -11.1878 -11.4400 -12.4275 -14.0503 -14.7786 -14.2390 -13.2677
-- -14.5183 -11.0713 -10.6889 -11.0171 -13.0625 -13.4223 -13.6765 -14.3336
-- -14.6319 -14.0585 -16.8736 -16.1852 -15.4669 -15.8732 -16.5863 -16.5814
-- -16.0226 -15.6145 -14.9156 -14.2166 -13.6532 -13.3471 -14.4252 -14.5993
-- -14.7349 -15.6092 -15.9535 -15.6075 -16.3631 -15.6054 -15.8061 -16.5334
-- -17.0429 -16.9562 -16.5669 -16.5470 -15.8568 -15.1665 -15.5102 -15.0609
-- -15.7879 -15.7763 -15.7932 -16.8848 -17.2752 -17.1565 -17.2433 -16.5548
-- -16.1162 -16.6112 -17.8811 -19.0447 -19.4487 -18.9047 -17.8098 -17.1771
-- -17.3673 -16.7746 -17.1505 -16.9534 -16.8516 -18.1603 -18.1481 -18.1358
-- -18.1236 -17.5042 -16.4263 -16.6890 -18.7194 -21.1332 -22.3304 -21.2623
-- -19.7629 -19.1877 -19.2243 -18.4884
--
--
-diff --git a/dat/leap/parm/parmpol12.dat b/dat/leap/parm/parmpol12.dat
-deleted file mode 100644
-index 13fefad..0000000
---- a/dat/leap/parm/parmpol12.dat
-+++ /dev/null
-@@ -1,756 +0,0 @@
--based on PARM99 ff11D1, Thole-Linear SL=2.5874
--C  12.01         1.2955    2.5874    sp2 C carbonyl group 
--C2 12.01         1.2955    2.5874    sp2 C
--CA 12.01         1.2955    2.5874    sp2 C pure aromatic (benzene)
--CB 12.01         1.2955    2.5874    sp2 aromatic C, 5&6 membered ring junction
--CC 12.01         1.2955    2.5874    sp2 aromatic C, 5 memb. ring HIS
--CD 12.01         1.2955    2.5874    sp2 C atom in the middle of: C=CD-CD=C
--CK 12.01         1.2955    2.5874    sp2 C 5 memb.ring in purines
--CM 12.01         1.2955    2.5874    sp2 C  pyrimidines in pos. 5 & 6
--CN 12.01         1.2955    2.5874    sp2 C aromatic 5&6 memb.ring junct.(TRP)
--CQ 12.01         1.2955    2.5874    sp2 C in 5 mem.ring of purines between 2 N
--CR 12.01         1.2955    2.5874    sp2 arom as CQ but in HIS
--CT 12.01         0.9399    2.5874    sp3 aliphatic C
--CV 12.01         1.2955    2.5874    sp2 arom. 5 memb.ring w/1 N and 1 H (HIS)
--CW 12.01         1.2955    2.5874    sp2 arom. 5 memb.ring w/1 N-H and 1 H (HIS)
--C* 12.01         1.2955    2.5874    sp2 arom. 5 memb.ring w/1 subst. (TRP)
--CY 12.01         1.3916    2.5874    nitrile C (Howard et al.JCC,16,243,1995)
--CZ 12.01         1.3916    2.5874    sp C (Howard et al.JCC,16,243,1995)
--C0 40.08                               calcium
--H  1.008         0.4255    2.5874    H bonded to nitrogen atoms
--H0 1.008         0.4255    2.5874    for Gly only
--HC 1.008         0.4255    2.5874    H aliph. bond. to C without electrwd.group
--H1 1.008         0.4255    2.5874    H aliph. bond. to C with 1 electrwd. group
--H2 1.008         0.4255    2.5874    H aliph. bond. to C with 2 electrwd.groups
--H3 1.008         0.4255    2.5874    H aliph. bond. to C with 3 eletrwd.groups
--HA 1.008         0.4255    2.5874    H arom. bond. to C without elctrwd. groups
--H4 1.008         0.4255    2.5874    H arom. bond. to C with 1 electrwd. group
--H5 1.008         0.4255    2.5874    H arom.at C with 2 elctrwd. gr,+HCOO group
--HO 1.008         0.4255    2.5874    hydroxyl group
--HS 1.008         0.4255    2.5874    hydrogen bonded to sulphur (pol?)
--HW 1.008         0.1700    2.4410    H in POL3 water
--HP 1.008         0.4255    2.5874    H bonded to C next to positively charged gr
--HZ 1.008         0.4255    2.5874    H bond sp C (Howard et al.JCC,16,243,1995)
--F  19.00         0.4839    2.5874    fluorine
--Cl 35.45         2.3707    2.5874    chlorine
--IM 35.45         2.3707    2.5874    assumed to be Cl- (ion minus)
--Br 79.90         3.5016    2.5874    bromine
--I  126.9         5.5787    2.5874    iodine
--IB 131.0                             'big ion w/ waters' for vacuum (Na+, 6H2O)
--MG 24.305        0.120     2.5874     magnesium
--N  14.01         0.9603    2.5874    sp2 nitrogen in amide groups
--NA 14.01         0.9603    2.5874    sp2 N in 5 memb.ring w/H atom (HIS)
--NB 14.01         0.9603    2.5874    sp2 N in 5 memb.ring w/LP (HIS,ADE,GUA)
--NC 14.01         0.9603    2.5874    sp2 N in 6 memb.ring w/LP (ADE,GUA)
--N2 14.01         0.9603    2.5874    sp2 N in amino groups
--N3 14.01         0.9603    2.5874    sp3 N for charged amino groups (Lys, etc)
--NT 14.01         0.9603    2.5874    sp3 N for amino groups amino groups 
--N* 14.01         0.9603    2.5874    sp2 N 
--NY 14.01         0.9603    2.5874    nitrile N (Howard et al.JCC,16,243,1995)
--O  16.00         0.6049    2.5874    carbonyl group oxygen
--O2 16.00         0.6049    2.5874    carboxyl and phosphate group oxygen
--OW 16.00         0.5280    2.4410    oxygen in POL3 water
--OH 16.00         0.6148    2.5874    oxygen in hydroxyl group
--OS 16.00         0.6148    2.5874    ether and ester oxygen
--P  30.97         1.7927    2.5874    phosphate,pol:JACS,112,8543,90,K.J.Miller
--S  32.06         3.1686    2.5874    S in disulfide linkage,pol:JPC,102,2399,98
--SH 32.06         3.1686    2.5874    S in cystine
--S4 32.06         2.3149    2.5874    S
--CU 63.55                             copper
--FE 55.00                             iron
--Li  6.94         0.029     2.5874    lithium, ions pol:J.PhysC,11,1541,(1978)
--IP 22.99         0.250     2.5874    assumed to be Na+ (ion plus)
--Na 22.99         0.250     2.5874    Na+, ions pol:J.PhysC,11,1541,(1978)
--K  39.10         1.060     2.5874    potassium
--Rb 85.47                             rubidium
--Cs 132.91                            cesium
--Zn  65.4                             Zn2+ 
--LP  3.00         0.000               lone pair
--
--C   H   HO  N   NA  NB  NC  N2  NT  N2  N3  N*  O   OH  OS  P   O2 
--OW-HW  320.0    1.0000    ! POL3, SPC/E water
--HW-HW  553.0    1.6330      POL3, SPC/E water
--C -C   310.0    1.525       Junmei et al, 1999
--C -CA  469.0    1.409       JCC,7,(1986),230; (not used any more in TYR)
--C -CB  447.0    1.419       JCC,7,(1986),230; GUA
--C -CM  410.0    1.444       JCC,7,(1986),230; THY,URA
--C -CT  317.0    1.522       JCC,7,(1986),230; AA
--C -N   490.0    1.335       JCC,7,(1986),230; AA
--C -N*  424.0    1.383       JCC,7,(1986),230; CYT,URA
--C -NA  418.0    1.388       JCC,7,(1986),230; GUA.URA
--C -NC  457.0    1.358       JCC,7,(1986),230; CYT
--C -O   570.0    1.229       JCC,7,(1986),230; AA,CYT,GUA,THY,URA
--C -O2  656.0    1.250       JCC,7,(1986),230; GLU,ASP
--C -OH  450.0    1.364       JCC,7,(1986),230; (not used any more for TYR) 
--C -OS  450.0    1.323       Junmei et al, 1999
--C -H4  367.0    1.080       Junmei et al, 1999
--C -H5  367.0    1.080       Junmei et al, 1999
--CA-CA  469.0    1.400       JCC,7,(1986),230; BENZENE,PHE,TRP,TYR
--CA-CB  469.0    1.404       JCC,7,(1986),230; ADE,TRP
--CA-CM  427.0    1.433       JCC,7,(1986),230; CYT
--CA-CN  469.0    1.400       JCC,7,(1986),230; TRP
--CA-CT  317.0    1.510       JCC,7,(1986),230; PHE,TYR
--CA-HA  367.0    1.080       changed from 340. bsd on C6H6 nmodes; PHE,TRP,TYR
--CA-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes; no assigned
--CA-N2  481.0    1.340       JCC,7,(1986),230; ARG,CYT,GUA
--CA-NA  427.0    1.381       JCC,7,(1986),230; GUA
--CA-NC  483.0    1.339       JCC,7,(1986),230; ADE,CYT,GUA
--CA-OH  450.0    1.364       substituted for C-OH in tyr 
--CB-CB  520.0    1.370       JCC,7,(1986),230; ADE,GUA
--CB-N*  436.0    1.374       JCC,7,(1986),230; ADE,GUA
--CB-NB  414.0    1.391       JCC,7,(1986),230; ADE,GUA
--CB-NC  461.0    1.354       JCC,7,(1986),230; ADE,GUA
--CD-HA  367.0    1.080       Junmei et al, 1999 
--CD-CD  469.0    1.400       Junmei et al, 1999
--CD-CM  549.0    1.350       Junmei et al, 1999
--CD-CT  317.0    1.510       Junmei et al, 1999
--CK-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes; ADE,GUA
--CK-N*  440.0    1.371       JCC,7,(1986),230; ADE,GUA
--CK-NB  529.0    1.304       JCC,7,(1986),230; ADE,GUA
--CM-CM  549.0    1.350       JCC,7,(1986),230; CYT,THY,URA
--CM-CT  317.0    1.510       JCC,7,(1986),230; THY
--CM-HA  367.0    1.080       changed from 340. bsd on C6H6 nmodes; CYT,URA
--CM-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes; CYT,URA
--CM-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes; not assigned
--CM-N*  448.0    1.365       JCC,7,(1986),230; CYT,THY,URA
--CM-OS  480.0    1.240       Junmei et al, 1999
--CQ-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes; ADE
--CQ-NC  502.0    1.324       JCC,7,(1986),230; ADE
--CT-CT  310.0    1.526       JCC,7,(1986),230; AA, SUGARS
--CT-HC  340.0    1.090       changed from 331 bsd on NMA nmodes; AA, SUGARS
--CT-H0  340.0    1.090       changed from 331 bsd on NMA nmodes; AA, RIBOSE
--CT-H1  340.0    1.090       changed from 331 bsd on NMA nmodes; AA, RIBOSE
--CT-H2  340.0    1.090       changed from 331 bsd on NMA nmodes; SUGARS
--CT-H3  340.0    1.090       changed from 331 bsd on NMA nmodes; not assigned
--CT-HP  340.0    1.090       changed from 331; AA-lysine, methyl ammonium cation
--CT-N*  337.0    1.475       JCC,7,(1986),230; ADE,CYT,GUA,THY,URA
--CT-N2  337.0    1.463       JCC,7,(1986),230; ARG
--CT-OH  320.0    1.410       JCC,7,(1986),230; SUGARS
--CT-OS  320.0    1.410       JCC,7,(1986),230; NUCLEIC ACIDS
--C*-HC  367.0    1.080       changed from 340. bsd on C6H6 nmodes, not needed AA
--C*-CB  388.0    1.459       JCC,7,(1986),230; TRP
--C*-CT  317.0    1.495       JCC,7,(1986),230; TRP
--C*-CW  546.0    1.352       JCC,7,(1986),230; TRP
--CB-CN  447.0    1.419       JCC,7,(1986),230; TRP
--CC-CT  317.0    1.504       JCC,7,(1986),230; HIS
--CC-CV  512.0    1.375       JCC,7,(1986),230; HIS(delta)
--CC-CW  518.0    1.371       JCC,7,(1986),230; HIS(epsilon)
--CC-NA  422.0    1.385       JCC,7,(1986),230; HIS
--CC-NB  410.0    1.394       JCC,7,(1986),230; HIS
--CN-NA  428.0    1.380       JCC,7,(1986),230; TRP
--CR-H5  367.0    1.080       changed from 340. bsd on C6H6 nmodes;HIS
--CR-NA  477.0    1.343       JCC,7,(1986),230; HIS
--CR-NB  488.0    1.335       JCC,7,(1986),230; HIS
--CT-N   337.0    1.449       JCC,7,(1986),230; AA
--CT-N3  367.0    1.471       JCC,7,(1986),230; LYS
--CT-NT  367.0    1.471       for neutral amines 
--CT-S   227.0    1.810       changed from 222.0 based on dimethylS nmodes
--CT-SH  237.0    1.810       changed from 222.0 based on methanethiol nmodes
--CT-CY  400.0    1.458       Howard et al JCC.16,243,1995
--CT-CZ  400.0    1.459       Howard et al JCC,16,243,1995
--CV-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes; HIS
--CV-NB  410.0    1.394       JCC,7,(1986),230; HIS
--CW-H4  367.0    1.080       changed from 340. bsd on C6H6 nmodes;HIS(epsilon,+)
--CW-NA  427.0    1.381       JCC,7,(1986),230; HIS,TRP
--CY-NY  600.0    1.150       Howard et al JCC,16,243,1995
--CZ-CZ  600.0    1.206       Howard et al JCC,16,243,1995
--CZ-HZ  400.0    1.056       Howard et al JCC,16,243,1995
--O2-P   525.0    1.480       JCC,7,(1986),230; NA PHOSPHATES
--OH-P   230.0    1.610       JCC,7,(1986),230; NA PHOSPHATES
--OS-P   230.0    1.610       JCC,7,(1986),230; NA PHOSPHATES
--H -N2  434.0    1.010       JCC,7,(1986),230; ADE,CYT,GUA,ARG
--H -N*  434.0    1.010       for plain unmethylated bases ADE,CYT,GUA,ARG
--H -NA  434.0    1.010       JCC,7,(1986),230; GUA,URA,HIS
--H -N   434.0    1.010       JCC,7,(1986),230; AA
--H -N3  434.0    1.010       JCC,7,(1986),230; LYS    
--H -NT  434.0    1.010       for neutral amines 
--HO-OH  553.0    0.960       JCC,7,(1986),230; SUGARS,SER,TYR
--HO-OS  553.0    0.960       JCC,7,(1986),230; NUCLEOTIDE ENDS
--HS-SH  274.0    1.336       JCC,7,(1986),230; CYS
--S -S   166.0    2.038       JCC,7,(1986),230; CYX   (SCHERAGA)
--F -CT  367.0    1.380       JCC,13,(1992),963;CF4; R0=1.332 FOR CHF3
--Cl-CT  232.0    1.766       6-31g* opt
--Br-CT  159.0    1.944       Junmei et al,99 
--I -CT  148.0    2.166       Junmei et al,99 
--F -CA  386.0    1.359       Junmei et al,99 
--Cl-CA  193.0    1.727       Junmei et al,99 
--I -CA  171.0    2.075       Junmei et al,99 
--Br-CA  172.0    1.890       Junmei et al,99
--LP-O   600.0    0.200       or 0.35
--LP-OH  600.0    0.200       or 0.35
--LP-OS  600.0    0.200       or 0.35
--LP-N3  600.0    0.200       or 0.35
--LP-NT  600.0    0.200       or 0.35
--LP-NB  600.0    0.200       or 0.35 histidines, nucleic acids
--LP-NC  600.0    0.200       or 0.35 nucleic acids
--LP-S   600.0    0.700       cys,cyx,met
--LP-SH  600.0    0.700       cys,cyx
--
--HW-OW-HW    100.      104.52    TIP3P water
--HW-HW-OW      0.      127.74    (found in crystallographic water with 3 bonds)
--C -C -O     80.0      120.00    Junmei et al, 1999 acrolein
--C -C -OH    80.0      120.00    Junmei et al, 1999
--CA-C -CA    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes; AA
--CA-C -OH    70.0      120.00    AA (not used in tyr)
--CB-C -NA    70.0      111.30    NA
--CB-C -O     80.0      128.80
--CM-C -NA    70.0      114.10
--CM-C -O     80.0      125.30
--CT-C -O     80.0      120.40
--CT-C -O2    70.0      117.00
--CT-C -N     70.0      116.60    AA general
--CT-C -CT    63.0      117.00    Junmei et al, 1999
--CT-C -OS    80.0      115.00    Junmei et al, 1999
--CT-C -OH    80.0      110.00    Junmei et al, 1999
--N*-C -NA    70.0      115.40
--N*-C -NC    70.0      118.60
--N*-C -O     80.0      120.90
--NA-C -O     80.0      120.60
--NC-C -O     80.0      122.50
--N -C -O     80.0      122.90    AA general
--O -C -O     80.0      126.00    AA COO- terminal residues
--O -C -OH    80.0      120.00    (check with Junmei for: theta0:120.0?)
--O -C -OS    80.0      125.00    Junmei et al, 1999
--O2-C -O2    80.0      126.00    AA GLU            (SCH JPC 79,2379)
--H4-C -C     50.0      120.00    Junmei et al, 1999 
--H4-C -CM    50.0      115.00    Junmei et al, 1999 
--H4-C -CT    50.0      115.00    Junmei et al, 1999
--H4-C -O     50.0      120.00    Junmei et al, 1999
--H4-C -OH    50.0      120.00    Junmei et al, 1999
--H5-C -N     50.0      120.00    Junmei et al, 1999
--H5-C -O     50.0      119.00    Junmei et al, 1999
--H5-C -OH    50.0      107.00    Junmei et al, 1999
--H5-C -OS    50.0      107.00    Junmei et al, 1999
--C -CA-CA    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes
--C -CA-HA    50.0      120.00    AA (not used in tyr)
--CA-CA-CA    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes
--CA-CA-CB    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes
--CA-CA-CT    70.0      120.00
--CA-CA-HA    50.0      120.00
--CA-CA-H4    50.0      120.00
--CA-CA-OH    70.0      120.00    replacement in tyr
--CA-CA-CN    63.0      120.00    changed from 85.0  bsd on C6H6 nmodes; AA trp
--CB-CA-HA    50.0      120.00
--CB-CA-H4    50.0      120.00
--CB-CA-N2    70.0      123.50
--CB-CA-NC    70.0      117.30
--CM-CA-N2    70.0      120.10
--CM-CA-NC    70.0      121.50
--CN-CA-HA    50.0      120.00    AA trp
--NA-CA-NC    70.0      123.30
--N2-CA-NA    70.0      116.00
--N2-CA-NC    70.0      119.30
--N2-CA-N2    70.0      120.00    AA arg
--F -CA-CA    70.0      121.00    Junmei et al,99 
--Cl-CA-CA    70.0      118.80    Junmei et al,99 
--Br-CA-CA    70.0      118.80    Junmei et al,99
--I -CA-CA    70.0      118.80    Junmei et al,99 
--C -CB-CB    63.0      119.20    changed from 85.0  bsd on C6H6 nmodes; NA gua
--C -CB-NB    70.0      130.00
--CA-CB-CB    63.0      117.30    changed from 85.0  bsd on C6H6 nmodes; NA ade
--CA-CB-NB    70.0      132.40    
--CB-CB-N*    70.0      106.20
--CB-CB-NB    70.0      110.40
--CB-CB-NC    70.0      127.70
--C*-CB-CA    63.0      134.90    changed from 85.0  bsd on C6H6 nmodes; AA trp
--C*-CB-CN    63.0      108.80    changed from 85.0  bsd on C6H6 nmodes; AA trp
--CA-CB-CN    63.0      116.20    changed from 85.0  bsd on C6H6 nmodes; AA trp
--N*-CB-NC    70.0      126.20
--CD-CD-CM    63.0      120.00    Junmei et al, 1999
--CD-CD-CT    70.0      120.00    Junmei et al, 1999
--CM-CD-CT    70.0      120.00    Junmei et al, 1999
--HA-CD-HA    35.0      119.00    Junmei et al, 1999
--HA-CD-CD    50.0      120.00    Junmei et al, 1999
--HA-CD-CM    50.0      120.00    Junmei et al, 1999
--H5-CK-N*    50.0      123.05
--H5-CK-NB    50.0      123.05
--N*-CK-NB    70.0      113.90
--C -CM-CM    63.0      120.70    changed from 85.0  bsd on C6H6 nmodes; NA thy
--C -CM-CT    70.0      119.70
--C -CM-HA    50.0      119.70
--C -CM-H4    50.0      119.70
--CA-CM-CM    63.0      117.00    changed from 85.0  bsd on C6H6 nmodes; NA cyt
--CA-CM-HA    50.0      123.30
--CA-CM-H4    50.0      123.30
--CM-CM-CT    70.0      119.70
--CM-CM-HA    50.0      119.70
--CM-CM-H4    50.0      119.70
--CM-CM-N*    70.0      121.20
--CM-CM-OS    80.0      125.00    Junmei et al, 1999
--H4-CM-N*    50.0      119.10
--H4-CM-OS    50.0      113.00    Junmei et al, 1999
--HA-CM-HA    35.0      120.00    Junmei et al, 1999
--HA-CM-CD    50.0      120.00    Junmei et al, 1999
--HA-CM-CT    50.0      120.00    Junmei et al, 1999
--NC-CQ-NC    70.0      129.10
--H5-CQ-NC    50.0      115.45
--H0-CT-H0    35.0      109.50
--H0-CT-N     50.0      109.50    AA general  changed based on NMA nmodes
--C -CT-H0    50.0      109.50    AA general  changed based on NMA nmodes
--H1-CT-H1    35.0      109.50
--H1-CT-N*    50.0      109.50    changed based on NMA nmodes
--H1-CT-OH    50.0      109.50    changed based on NMA nmodes 
--H1-CT-OS    50.0      109.50    changed based on NMA nmodes 
--H1-CT-CM    50.0      109.50    Junmei et al, 1999 
--H1-CT-CY    50.0      110.00    Junmei et al, 1999
--H1-CT-CZ    50.0      110.00    Junmei et al, 1999
--H1-CT-N     50.0      109.50    AA general  changed based on NMA nmodes
--H1-CT-S     50.0      109.50    AA cys     changed based on NMA nmodes
--H1-CT-SH    50.0      109.50    AA cyx     changed based on NMA nmodes
--H1-CT-N2    50.0      109.50    AA arg     changed based on NMA nmodes
--H1-CT-NT    50.0      109.50    neutral amines 
--H2-CT-H2    35.0      109.50    AA lys
--H2-CT-N*    50.0      109.50    changed based on NMA nmodes
--H2-CT-OS    50.0      109.50    changed based on NMA nmodes
--HP-CT-HP    35.0      109.50    AA lys, ch3nh4+
--HP-CT-N3    50.0      109.50    AA lys, ch3nh3+, changed based on NMA nmodes
--HC-CT-HC    35.0      109.50
--HC-CT-CM    50.0      109.50    changed based on NMA nmodes
--HC-CT-CD    50.0      109.50    Junmei et al, 1999
--HC-CT-CZ    50.0      110.00    Junmei et al, 1999
--C -CT-H1    50.0      109.50    AA general  changed based on NMA nmodes
--C -CT-HP    50.0      109.50    AA zwitterion  changed based on NMA nmodes
--C -CT-HC    50.0      109.50    AA gln      changed based on NMA nmodes
--C -CT-N     63.0      110.10    AA general
--C -CT-N3    80.0      111.20    AA amino terminal residues
--C -CT-CT    63.0      111.10    AA general
--C -CT-OS    60.0      109.50    Junmei et al, 1999
--CA-CT-HC    50.0      109.50    AA tyr     changed based on NMA nmodes
--CC-CT-CT    63.0      113.10    AA his
--CC-CT-HC    50.0      109.50    AA his     changed based on NMA nmodes
--CM-CT-CT    63.0      111.00    Junmei et al, 1999 (last change: Mar24,99)
--CM-CT-OS    50.0      109.50    Junmei et al, 1999
--CT-CT-CT    40.0      109.50
--CT-CT-HC    50.0      109.50    changed based on NMA nmodes
--CT-CT-H1    50.0      109.50    changed based on NMA nmodes
--CT-CT-H2    50.0      109.50    changed based on NMA nmodes
--CT-CT-HP    50.0      109.50    changed based on NMA nmodes
--CT-CT-N*    50.0      109.50
--CT-CT-OH    50.0      109.50
--CT-CT-OS    50.0      109.50
--CT-CT-S     50.0      114.70    AA cyx            (SCHERAGA  JPC 79,1428)
--CT-CT-SH    50.0      108.60    AA cys
--CT-CT-CA    63.0      114.00    AA phe tyr          (SCH JPC  79,2379)
--CT-CT-N2    80.0      111.20    AA arg             (JCP 76, 1439)
--CT-CT-N     80.0      109.70    AA ala, general    (JACS 94, 2657)
--CT-CT-N3    80.0      111.20    AA lys             (JCP 76, 1439)
--CT-CT-NT    80.0      111.20    neutral amines 
--CT-CT-CY    63.0      110.00    Junmei et al, 1999    
--CT-CT-CZ    63.0      110.00    Junmei et al, 1999
--C*-CT-CT    63.0      115.60    AA trp
--C*-CT-HC    50.0      109.50    AA trp    changed based on NMA nmodes
--OS-CT-OS   160.0      101.00    Junmei et al, 1999
--OS-CT-CY    50.0      110.00    Junmei et al, 1999
--OS-CT-CZ    50.0      110.00    Junmei et al, 1999
--OS-CT-N*    50.0      109.50
--F -CT-F     77.0      109.10    JCC,13,(1992),963;
--F -CT-H1    50.0      109.50    JCC,13,(1992),963;
--F -CT-CT    50.0      109.00    
--F -CT-H2    50.0      109.50  
--Cl-CT-CT    50.0      108.50    (6-31g* opt value)
--Cl-CT-H1    50.0      108.50    (6-31g* opt value)  
--Br-CT-CT    50.0      108.00    Junmei et al 99 
--Br-CT-H1    50.0      106.50    Junmei et al 99 
--I -CT-CT    50.0      106.00    Junmei et al,99 
--CT-CC-NA    70.0      120.00    AA his
--CT-CC-CV    70.0      120.00    AA his
--CT-CC-NB    70.0      120.00    AA his
--CV-CC-NA    70.0      120.00    AA his
--CW-CC-NA    70.0      120.00    AA his
--CW-CC-NB    70.0      120.00    AA his
--CT-CC-CW    70.0      120.00    AA his
--H5-CR-NA    50.0      120.00    AA his
--H5-CR-NB    50.0      120.00    AA his
--NA-CR-NA    70.0      120.00    AA his
--NA-CR-NB    70.0      120.00    AA his
--CC-CV-H4    50.0      120.00    AA his
--CC-CV-NB    70.0      120.00    AA his
--H4-CV-NB    50.0      120.00    AA his
--CC-CW-H4    50.0      120.00    AA his
--CC-CW-NA    70.0      120.00    AA his
--C*-CW-H4    50.0      120.00    AA trp
--C*-CW-NA    70.0      108.70    AA trp
--H4-CW-NA    50.0      120.00    AA his
--CB-C*-CT    70.0      128.60    AA trp
--CB-C*-CW    63.0      106.40    changed from 85.0  bsd on C6H6 nmodes; AA trp
--CT-C*-CW    70.0      125.00    AA trp
--CA-CN-CB    63.0      122.70    changed from 85.0  bsd on C6H6 nmodes; AA trp
--CA-CN-NA    70.0      132.80    AA trp
--CB-CN-NA    70.0      104.40    AA trp
--CT-CY-NY    80.0      180.00    Junmei et al, 1999
--CT-CZ-CZ    80.0      180.00    Junmei et al, 1999
--CZ-CZ-HZ    50.0      180.00    Junmei et al, 1999
--C -N -CT    50.0      121.90    AA general
--C -N -H     50.0      120.00    AA general, gln, asn,changed based on NMA nmodes
--CT-N -H     50.0      118.04    AA general,     changed based on NMA nmodes
--CT-N -CT    50.0      118.00    AA pro             (DETAR JACS 99,1232)
--H -N -H     35.0      120.00    ade,cyt,gua,gln,asn     **
--C -N*-CM    70.0      121.60
--C -N*-CT    70.0      117.60
--C -N*-H     50.0      119.20    changed based on NMA nmodes
--CB-N*-CK    70.0      105.40
--CB-N*-CT    70.0      125.80
--CB-N*-H     50.0      125.80    for unmethylated n.a. bases,chngd bsd NMA nmodes
--CK-N*-CT    70.0      128.80
--CK-N*-H     50.0      128.80    for unmethylated n.a. bases,chngd bsd NMA nmodes
--CM-N*-CT    70.0      121.20
--CM-N*-H     50.0      121.20    for unmethylated n.a. bases,chngd bsd NMA nmodes
--CA-N2-H     50.0      120.00    
--CA-N2-CT    50.0      123.20    AA arg
--CT-N2-H     50.0      118.40    AA arg
--H -N2-H     35.0      120.00    
--CT-N3-H     50.0      109.50    AA lys,     changed based on NMA nmodes
--CT-N3-CT    50.0      109.50    AA pro/nt
--H -N3-H     35.0      109.50    AA lys, AA(end)
--CT-NT-H     50.0      109.50    neutral amines 
--CT-NT-CT    50.0      109.50    neutral amines 
--H -NT-H     35.0      109.50    neutral amines 
--C -NA-C     70.0      126.40
--C -NA-CA    70.0      125.20
--C -NA-H     50.0      116.80    changed based on NMA nmodes
--CA-NA-H     50.0      118.00    changed based on NMA nmodes
--CC-NA-CR    70.0      120.00    AA his
--CC-NA-H     50.0      120.00    AA his,    changed based on NMA nmodes
--CR-NA-CW    70.0      120.00    AA his
--CR-NA-H     50.0      120.00    AA his,    changed based on NMA nmodes
--CW-NA-H     50.0      120.00    AA his,    changed based on NMA nmodes
--CN-NA-CW    70.0      111.60    AA trp
--CN-NA-H     50.0      123.10    AA trp,    changed based on NMA nmodes
--CB-NB-CK    70.0      103.80
--CC-NB-CR    70.0      117.00    AA his
--CR-NB-CV    70.0      117.00    AA his
--C -NC-CA    70.0      120.50
--CA-NC-CB    70.0      112.20
--CA-NC-CQ    70.0      118.60
--CB-NC-CQ    70.0      111.00
--C -OH-HO    50.0      113.00    (not used in tyr anymore)
--CA-OH-HO    50.0      113.00    replacement in tyr
--CT-OH-HO    55.0      108.50
--HO-OH-P     45.0      108.50
--C -OS-CT    60.0      117.00    Junmei et al, 1999
--CM-OS-CT    60.0      117.00    Junmei et al, 1999
--CT-OS-CT    60.0      109.50
--CT-OS-P    100.0      120.50
--P -OS-P    100.0      120.50
--O2-P -OH    45.0      108.23
--O2-P -O2   140.0      119.90
--O2-P -OS   100.0      108.23
--OH-P -OS    45.0      102.60
--OS-P -OS    45.0      102.60
--CT-S -CT    62.0       98.90    AA met
--CT-S -S     68.0      103.70    AA cyx             (SCHERAGA  JPC 79,1428)
--CT-SH-HS    43.0       96.00    changed from 44.0 based on methanethiol nmodes
--HS-SH-HS    35.0       92.07    AA cys
--CB-NB-LP   150.0       126.0    NA
--CC-NB-LP   150.0       126.0    his,NA
--CK-NB-LP   150.0       126.0    NA
--CR-NB-LP   150.0       126.0    his,NA
--CV-NB-LP   150.0       126.0    his,NA
--C -NC-LP   150.0       120.0    NA
--CA-NC-LP   150.0       120.0    NA
--CB-NC-LP   150.0       120.0    NA
--CQ-NC-LP   150.0       120.0    NA
--CT-N3-LP   150.0       109.5    in neutral lysine
--H -N3-LP   150.0       109.5    in neutral lysine
--CT-NT-LP   150.0       109.5
--H -NT-LP   150.0       109.5
--C -O -LP   150.0       120.0
--LP-O -LP   150.0       120.0
--C -OH-LP   150.0       120.0
--CT-OH-LP   150.0       109.5
--HO-OH-LP   150.0       109.5
--LP-OH-LP   150.0       109.5
--C -OS-LP   150.0       109.5 
--CM-OS-LP   150.0       109.5    methyl vinyl ether
--CT-OS-LP   150.0       109.5
--LP-OS-LP   150.0       109.5
--CT-S -LP   150.0        90.0    cys,cyx,met
--CT-SH-LP   150.0        90.0    cys,cyx,met
--P -OS-LP   150.0       109.5    NA
--LP-S -LP   150.0       180.0    cys,cyx,met
--LP-SH-LP   150.0       180.0    cys,cyx,met
--HS-SH-LP   150.0        90.0    cys  
--
--X -C -C -X    4   14.50        180.0     2.         Junmei et al, 1999
--X -C -CA-X    4   14.50        180.0     2.         intrpol.bsd.on C6H6
--X -C -CB-X    4   12.00        180.0     2.         intrpol.bsd.on C6H6
--X -C -CM-X    4    8.70        180.0     2.         intrpol.bsd.on C6H6
--X -C -CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
--X -C -N -X    4   10.00        180.0     2.         AA,NMA
--X -C -N*-X    4    5.80        180.0     2.         JCC,7,(1986),230
--X -C -NA-X    4    5.40        180.0     2.         JCC,7,(1986),230
--X -C -NC-X    2    8.00        180.0     2.         JCC,7,(1986),230
--X -C -O -X    4   11.20        180.0     2.         Junmei et al, 1999
--X -C -OH-X    2    4.60        180.0     2.         Junmei et al, 1999
--X -C -OS-X    2    5.40        180.0     2.         Junmei et al, 1999
--X -CA-CA-X    4   14.50        180.0     2.         intrpol.bsd.on C6H6
--X -CA-CB-X    4   14.00        180.0     2.         intrpol.bsd.on C6H6
--X -CA-CM-X    4   10.20        180.0     2.         intrpol.bsd.on C6H6
--X -CA-CN-X    4   14.50        180.0     2.         reinterpolated 93'
--X -CA-CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
--X -CA-N2-X    4    9.60        180.0     2.         reinterpolated 93'
--X -CA-NA-X    4    6.00        180.0     2.         JCC,7,(1986),230
--X -CA-NC-X    2    9.60        180.0     2.         JCC,7,(1986),230
--X -CA-OH-X    2    1.80        180.0     2.         Junmei et al, 99
--X -CB-CB-X    4   21.80        180.0     2.         intrpol.bsd.on C6H6
--X -CB-CN-X    4   12.00        180.0     2.         reinterpolated 93'
--X -CB-N*-X    4    6.60        180.0     2.         JCC,7,(1986),230
--X -CB-NB-X    2    5.10        180.0     2.         JCC,7,(1986),230
--X -CB-NC-X    2    8.30        180.0     2.         JCC,7,(1986),230
--X -CC-CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
--X -CC-CV-X    4   20.60        180.0     2.         intrpol.bsd.on C6H6
--X -CC-CW-X    4   21.50        180.0     2.         intrpol.bsd.on C6H6
--X -CC-NA-X    4    5.60        180.0     2.         JCC,7,(1986),230
--X -CC-NB-X    2    4.80        180.0     2.         JCC,7,(1986),230
--X -CD-CD-X    4    4.00        180.0     2.         Junmei et al, 1999
--X -CD-CT-X    6    0.00          0.0     2.         Junmei et al, 1999
--X -CD-CM-X    4   26.60        180.0     2.         Junmei et al, 1999
--X -CK-N*-X    4    6.80        180.0     2.         JCC,7,(1986),230
--X -CK-NB-X    2   20.00        180.0     2.         JCC,7,(1986),230
--X -CM-CM-X    4   26.60        180.0     2.         intrpol.bsd.on C6H6
--X -CM-CT-X    6    0.00          0.0     3.         JCC,7,(1986),230
--X -CM-N*-X    4    7.40        180.0     2.         JCC,7,(1986),230
--X -CM-OS-X    2    2.10        180.0     2.         Junmei et al, 1999
--X -CN-NA-X    4    6.10        180.0     2.         reinterpolated 93'
--X -CQ-NC-X    2   13.60        180.0     2.         JCC,7,(1986),230
--X -CT-CT-X    9    1.40          0.0     3.         JCC,7,(1986),230
--X -CT-CY-X    3    0.00          0.0     1.         Junmei et al, 1999
--X -CT-CZ-X    3    0.00          0.0     1.         Junmei et al, 1999
--X -CT-N -X    6    0.00          0.0     2.         JCC,7,(1986),230
--X -CT-N*-X    6    0.00          0.0     2.         JCC,7,(1986),230
--X -CT-N2-X    6    0.00          0.0     3.         JCC,7,(1986),230
--X -CT-NT-X    6    1.80          0.0     3.         Junmei et al, 1999
--X -CT-N3-X    9    1.40          0.0     3.         JCC,7,(1986),230
--X -CT-OH-X    3    0.50          0.0     3.         JCC,7,(1986),230
--X -CT-OS-X    3    1.15          0.0     3.         JCC,7,(1986),230
--X -CT-S -X    3    1.00          0.0     3.         JCC,7,(1986),230
--X -CT-SH-X    3    0.75          0.0     3.         JCC,7,(1986),230
--X -C*-CB-X    4    6.70        180.0     2.         intrpol.bsd.onC6H6aa
--X -C*-CT-X    6    0.00          0.0     2.         JCC,7,(1986),230
--X -C*-CW-X    4   26.10        180.0     2.         intrpol.bsd.on C6H6
--X -CR-NA-X    4    9.30        180.0     2.         JCC,7,(1986),230
--X -CR-NB-X    2   10.00        180.0     2.         JCC,7,(1986),230
--X -CV-NB-X    2    4.80        180.0     2.         JCC,7,(1986),230
--X -CW-NA-X    4    6.00        180.0     2.         JCC,7,(1986),230
--X -OH-P -X    3    0.75          0.0     3.         JCC,7,(1986),230
--X -OS-P -X    3    0.75          0.0     3.         JCC,7,(1986),230
--N -CT-C -N    1    1.700       180.000  -1.
--N -CT-C -N    1    2.000       180.000   2.
--C -N -CT-C    1    0.850       180.000  -2.
--C -N -CT-C    1    0.800         0.000   1.
--CT-CT-N -C    1    0.50        180.0    -4.         phi,psi,parm94
--CT-CT-N -C    1    0.15        180.0    -3.         phi,psi,parm94
--CT-CT-N -C    1    0.00          0.0    -2.         JCC,7,(1986),230
--CT-CT-N -C    1    0.53          0.0     1.         phi,psi,parm94
--CT-CT-C -N    1    0.100         0.0    -4.         phi,psi,parm94
--CT-CT-C -N    1    0.07          0.0     2.         phi,psi,parm94
--H -N -C -O    1    2.50        180.0    -2.         JCC,7,(1986),230
--H -N -C -O    1    2.00          0.0     1.         J.C.cistrans-NMA DE
--CT-S -S -CT   1    3.50          0.0    -2.         JCC,7,(1986),230
--CT-S -S -CT   1    0.60          0.0     3.         JCC,7,(1986),230
--OH-P -OS-CT   1    0.25          0.0    -3.         JCC,7,(1986),230
--OH-P -OS-CT   1    1.20          0.0     2.         gg&gt ene.631g*/mp2
--OS-P -OS-CT   1    0.25          0.0    -3.         JCC,7,(1986),230
--OS-P -OS-CT   1    1.20          0.0     2.         gg&gt ene.631g*/mp2
--H1-CT-C -O    1    0.80          0.0    -1.         Junmei et al, 1999
--H1-CT-C -O    1    0.00          0.0    -2.         Explicit of wild card X-C-CT-X
--H1-CT-C -O    1    0.08        180.0     3.         Junmei et al, 1999
--HC-CT-C -O    1    0.80          0.0    -1.         Junmei et al, 1999
--HC-CT-C -O    1    0.00          0.0    -2.         Explicit of wild card X-C-CT-X
--HC-CT-C -O    1    0.08        180.0     3.         Junmei et al, 1999
--HC-CT-CT-HC   1    0.15          0.0     3.         Junmei et al, 1999
--HC-CT-CT-CT   1    0.16          0.0     3.         Junmei et al, 1999
--HC-CT-CM-CM   1    0.38        180.0    -3.         Junmei et al, 1999
--HC-CT-CM-CM   1    1.15          0.0     1.         Junmei et al, 1999
--HO-OH-CT-CT   1    0.16          0.0    -3.         Junmei et al, 1999
--HO-OH-CT-CT   1    0.25          0.0     1.         Junmei et al, 1999
--HO-OH-C -O    1    2.30        180.0    -2.         Junmei et al, 1999
--HO-OH-C -O    1    0.00          0.0     1.         Junmei et al, 2011, actyle acid density optimization
--CM-CM-C -O    1    2.175       180.0    -2.         Junmei et al, 1999
--CM-CM-C -O    1    0.30          0.0     3.         Junmei et al, 1999
--CT-CM-CM-CT   1    6.65        180.0    -2.         Junmei et al, 1999
--CT-CM-CM-CT   1    1.90        180.0     1.         Junmei et al, 1999
--CT-CT-CT-CT   1    0.18          0.0    -3.         Junmei et al, 1999
--CT-CT-CT-CT   1    0.25        180.0    -2.         Junmei et al, 1999
--CT-CT-CT-CT   1    0.20        180.0     1.         Junmei et al, 1999
--CT-CT-NT-CT   1    0.30          0.0    -3.         Junmei et al, 1999
--CT-CT-NT-CT   1    0.48        180.0     2.         Junmei et al, 1999
--CT-CT-OS-CT   1    0.383         0.0    -3.
--CT-CT-OS-CT   1    0.1         180.0     2.
--CT-CT-OS-C    1    0.383         0.0    -3.         Junmei et al, 1999
--CT-CT-OS-C    1    0.80        180.0     1.         Junmei et al, 1999
--CT-OS-CT-OS   1    0.10          0.0    -3.         Junmei et al, 1999
--CT-OS-CT-OS   1    0.85        180.0    -2.         Junmei et al, 1999
--CT-OS-CT-OS   1    1.35        180.0     1.         Junmei et al, 1999
--CT-OS-CT-N*   1    0.383         0.0    -3.         parm98.dat, TC,PC,PAK
--CT-OS-CT-N*   1    0.65          0.0     2.         Piotr et al.
--CT-CZ-CZ-HZ   1    0.00          0.0     1.         Junmei et al, 1999
--O -C -OS-CT   1    2.70        180.0    -2.         Junmei et al, 1999
--O -C -OS-CT   1    1.40        180.0     1.         Junmei et al, 1999
--OS-CT-N*-CK   1    0.00        000.0    -2.         parm98, TC,PC,PAK
--OS-CT-N*-CK   1    2.50          0.0     1.         parm98, TC,PC,PAK
--OS-CT-N*-CM   1    0.00        000.0    -2.         parm98, TC,PC,PAK
--OS-CT-N*-CM   1    2.50          0.0     1.         parm98, TC,PC,PAK
--OS-CT-CT-OS   1    0.144         0.0    -3.         parm98, TC,PC,PAK
--OS-CT-CT-OS   1    1.175         0.0     2.         Piotr et al.     
--OS-CT-CT-OH   1    0.144         0.0    -3.         parm98, TC,PC,PAK
--OS-CT-CT-OH   1    1.175         0.0     2.         parm98, TC,PC,PAK
--OH-CT-CT-OH   1    0.144         0.0    -3.         parm98, TC,PC,PAK
--OH-CT-CT-OH   1    1.175         0.0     2.         parm98, TC,PC,PAK 
--F -CT-CT-F    1    0.000         0.0    -3.         JCC,7,(1986),230
--F -CT-CT-F    1    1.20        180.0     1.         Junmei et al, 1999
--Cl-CT-CT-Cl   1    0.000         0.0    -3.         JCC,7,(1986),230
--Cl-CT-CT-Cl   1    0.45        180.0     1.         Junmei et al, 1999
--Br-CT-CT-Br   1    0.000         0.0    -3.         JCC,7,(1986),230
--Br-CT-CT-Br   1    0.00        180.0     1.         Junmei et al, 1999
--H1-CT-CT-OS   1    0.000         0.0    -3.         JCC,7,(1986),230
--H1-CT-CT-OS   1    0.25          0.0     1.         Junmei et al, 1999
--H1-CT-CT-OH   1    0.000         0.0    -3.         JCC,7,(1986),230
--H1-CT-CT-OH   1    0.25          0.0     1.         Junmei et al, 1999
--H1-CT-CT-F    1    0.000         0.0    -3.         JCC,7,(1986),230
--H1-CT-CT-F    1    0.19          0.0     1.         Junmei et al, 1999
--H1-CT-CT-Cl   1    0.000         0.0    -3.         JCC,7,(1986),230
--H1-CT-CT-Cl   1    0.25          0.0     1.         Junmei et al, 1999
--H1-CT-CT-Br   1    0.000         0.0    -3.         JCC,7,(1986),230
--H1-CT-CT-Br   1    0.55          0.0     1.         Junmei et al, 1999
--HC-CT-CT-OS   1    0.000         0.0    -3.         JCC,7,(1986),230
--HC-CT-CT-OS   1    0.25          0.0     1.         Junmei et al, 1999
--HC-CT-CT-OH   1    0.000         0.0    -3.         JCC,7,(1986),230
--HC-CT-CT-OH   1    0.25          0.0     1.         Junmei et al, 1999
--HC-CT-CT-F    1    0.000         0.0    -3.         JCC,7,(1986),230
--HC-CT-CT-F    1    0.19          0.0     1.         Junmei et al, 1999
--HC-CT-CT-Cl   1    0.000         0.0    -3.         JCC,7,(1986),230
--HC-CT-CT-Cl   1    0.25          0.0     1.         Junmei et al, 1999
--HC-CT-CT-Br   1    0.000         0.0    -3.         JCC,7,(1986),230
--HC-CT-CT-Br   1    0.55          0.0     1.         Junmei et al, 1999
--H1-CT-NT-LP   1    0.000         0.000   3.
--CT-CT-NT-LP   1    0.000         0.000   3.
--CT-C -N -LP   1    0.000       180.000   2.
--O -C -N -LP   1    0.000       180.000   2.
--H1-CT-OH-LP   1    0.000         0.000   3.
--CT-CT-OH-LP   1    0.000         0.000   3.
--H1-CT-OS-LP   1    0.000         0.000   3.
--H2-CT-OS-LP   1    0.000         0.000   3.
--CT-CT-OS-LP   1    0.000         0.000   3.
--CM-CM-OS-LP   1    0.000       180.000   2.
--HA-CM-OS-LP   1    0.000       180.000   2.
--H4-CM-OS-LP   1    0.000       180.000   2.
--
--X -X -C -O          10.5         180.          2.           JCC,7,(1986),230
--X -O2-C -O2         10.5         180.          2.           JCC,7,(1986),230
--X -X -N -H          1.0          180.          2.           JCC,7,(1986),230
--X -X -N2-H          1.0          180.          2.           JCC,7,(1986),230
--X -X -NA-H          1.0          180.          2.           JCC,7,(1986),230
--X -N2-CA-N2         10.5         180.          2.           JCC,7,(1986),230
--X -CT-N -CT         1.0          180.          2.           JCC,7,(1986),230
--X -X -CA-HA         1.1          180.          2.           bsd.on C6H6 nmodes
--X -X -CW-H4         1.1          180.          2.
--X -X -CR-H5         1.1          180.          2.
--X -X -CV-H4         1.1          180.          2.
--X -X -CQ-H5         1.1          180.          2.
--X -X -CK-H5         1.1          180.          2.
--X -X -CM-H4         1.1          180.          2.
--X -X -CM-HA         1.1          180.          2.
--X -X -CA-H4         1.1          180.          2.           bsd.on C6H6 nmodes 
--X -X -CA-H5         1.1          180.          2.           bsd.on C6H6 nmodes
--CB-CK-N*-CT         1.0          180.          2.
--C -CM-N*-CT         1.0          180.          2.           dac guess, 9/94
--C -CM-CM-CT         1.1          180.          2. 
--CT-O -C -OH         10.5         180.          2.
--CT-CV-CC-NA         1.1          180.          2.
--CT-CW-CC-NB         1.1          180.          2.
--CT-CW-CC-NA         1.1          180.          2.
--CB-CT-C*-CW         1.1          180.          2.
--CA-CA-CA-CT         1.1          180.          2. 
--C -CM-CM-CT         1.1          180.          2.           dac guess, 9/94
--CM-N2-CA-NC         1.1          180.          2.           dac guess, 9/94
--CB-N2-CA-NC         1.1          180.          2.           dac, 10/94
--N2-NA-CA-NC         1.1          180.          2.           dac, 10/94
--CA-CA-C -OH         1.1          180.          2.           (not used in tyr!)
--CA-CA-CA-OH         1.1          180.          2.           in tyr
--H5-O -C -OH         1.1          180.          2.           Junmei et al.1999
--H5-O -C -OS         1.1          180.          2.           
--CM-CT-CM-HA         1.1          180.          2.           Junmei et al.1999
--Br-CA-CA-CA         1.1          180.          2.           Junmei et al.1999
--CM-H4-C -O          1.1          180.          2.           Junmei et al.1999
--C -CT-N -H          1.1          180.          2.           Junmei et al.1999
--C -CT-N -O          1.1          180.          2.           Junmei et al.1999
--
--  HW  OW  0000.     0000.                                4.  flag for fast water
--
--N   NA  N2  N*  NC  NB  NY
--C*  CA  CB  CC  CD  CK  CM  CN  CQ  CR  CV  CW  CZ
--
--MOD4      RE
--  H           0.9000  0.0008             Junmei optimization
--  HO          0.6000  0.0000             Junmei optimization
--  HS          0.6000  0.0157             Junmei optimization
--  HC          1.3992  0.0326             Junmei optimization
--  H0          1.2992  0.0326             Junmei optimization
--  H1          1.2992  0.0326             Junmei optimization
--  H2          1.1992  0.0326             Junmei optimization
--  H3          1.0992  0.0326             Junmei optimization
--  H4          1.5424  0.0052             Junmei optimization
--  H5          1.4924  0.0052             Junmei optimization
--  HA          1.5924  0.0052             Junmei optimization
--  HP          0.9000  0.0008             Junmei optimization
--  HZ          1.4590  0.0150             H bonded to sp C (Howard et al JCC 16)
--  HW          0.0000  0.0000             TIP3P, POL3, SPC/E water models
--  OW          1.7980  0.1560             POL3 water model
--  O           1.6582  0.2146             Junmei optimization
--  OH          1.7895  0.0752             Junmei optimization
--  O2          1.4062  1.3962             Junmei optimization
--  OS          1.7127  0.1385             Junmei optimization
--  C           2.1034  0.0267             Junmei optimization
--  C2          1.8446  0.1290             Junmei optimization
--  CY          1.9295  0.1836             Junmei optimization
--  CT          2.0242  0.0538             Junmei optimization
--  C*          1.8738  0.1068             Junmei optimization
--  N           1.8714  0.1312             Junmei optimization
--  NT          1.9500  0.0450             Junmei optimization
--  N3          1.9500  0.0450             Junmei optimization
--  S           1.9980  0.2530             Junmei optimization
--  SH          1.9980  0.2530             Junmei optimization
--  P           2.1000  0.2000             JCC,7,(1986),230; 
--  IM          2.47    0.1                Cl- Smith & Dang, JCP 1994,100:5,3757
--  Li          1.1370  0.0183             Li+ Aqvist JPC 1990,94,8021. (adapted)
--  IP          1.8680  0.00277            Na+ Aqvist JPC 1990,94,8021. (adapted)
--  Na          1.8680  0.00277            Na+ Aqvist JPC 1990,94,8021. (adapted)
--  K           2.6580  0.000328           K+  Aqvist JPC 1990,94,8021. (adapted)
--  Rb          2.9560  0.00017            Rb+ Aqvist JPC 1990,94,8021. (adapted)
--  Cs          3.3950  0.0000806          Cs+ Aqvist JPC 1990,94,8021. (adapted)
--  MG          0.7926  0.8947             Mg2+ Aqvist JPC 1990,94,8021.(adapted)
--  C0          1.7131  0.459789           Ca2+ Aqvist JPC 1990,94,8021.(adapted)
--  Zn          1.10    0.0125             Zn2+, Merz,PAK, JACS,113,8262,(1991) 
--  F           1.75    0.061              Gough et al. JCC 13,(1992),963.
--  Cl          1.948   0.265              Fox, JPCB,102,8070,(98),flex.mdl CHCl3
--  Br          2.22    0.320              Junmei(?)
--  I           2.35    0.40               JCC,7,(1986),230;  
--  IB          5.0     0.1                solvated ion for vacuum approximation
--  LP          0.00    0.0000             lone pair
-- 
--END
--
--
--####################################################
--Polarizabilities:
--Mg2+  0.120
--F-    0.9743
--
--
--additional parameters of LP
--
--H1-CT-NT-LP   1       0.000       0.000       3.000
--CT-CT-NT-LP   1       0.000       0.000       3.000
--CT-C -N -LP   1       0.000     180.000       2.000
--O -C -N -LP   1       0.000     180.000       2.000
--H1-CT-OH-LP   1       0.000       0.000       3.000
--CT-CT-OH-LP   1       0.000       0.000       3.000
--H1-CT-OS-LP   1       0.000       0.000       3.000
--H2-CT-OS-LP   1       0.000       0.000       3.000
--CT-CT-OS-LP   1       0.000       0.000       3.000
--CM-CM-OS-LP   1       0.000     180.000       2.000
--HA-CM-OS-LP   1       0.000     180.000       2.000
--H4-CM-OS-LP   1       0.000     180.000       2.000
--
--
-diff --git a/patch_amber.py b/patch_amber.py
-index 84d90c4..2b5ae7a 100755
---- a/patch_amber.py
-+++ b/patch_amber.py
-@@ -25,7 +25,7 @@ Acknowledgements/Contributions from others
-    * Tyler Luchko made helpful contributions to the user-interface
- """
- # Load common os module and package into top level namespace
--from os import path, getenv
-+from os import path, getenv, chmod
- 
- # Global variables. Other ones that change less frequently can be found below
- # the Patch class definitions.
-@@ -230,9 +230,11 @@ class Patch(object):
-       """
-       # This regex matches lines that start like "+++ path/to/file.cpp"
-       modfile = re.compile(r'\+\+\+ \.*\/*[\w\-\/\.\+]+[\w\-\.\+]+\.*\w*')
--      selffile = re.compile('\\+\\+\\+ %s' % path.split(sys.argv[0])[1])
-+      selffile = re.compile(r'\+\+\+ %s' % path.split(sys.argv[0])[1])
-+      newfile = re.compile(r'new file mode (\d{3})+')
-       patch = open(self.name, 'r')
-       files_modified = []
-+      newfile_modes = []
-       for line in patch:
-          if modfile.match(line):
-             filename = modfile.findall(line)[0].strip('+++').strip()
-@@ -247,8 +249,17 @@ class Patch(object):
-          elif selffile.match(line):
-             filename = path.split(sys.argv[0])[1]
-             if not filename in files_modified: files_modified.append(filename)
-+         elif newfile.match(line):
-+            ftmp = newfile.match(line).groups()
-+            if isinstance(ftmp, tuple):
-+               if len(ftmp) == 2:
-+                  newfile_modes.append(ftmp[1])
-+               elif len(ftmp) == 1:
-+                  newfile_modes.append(ftmp[0])
-+            elif isinstance(ftmp, str):
-+               newfile_modes.append(ftmp)
-       patch.close()
--      return files_modified
-+      return files_modified, newfile_modes
- 
-    #========================================
- 
-@@ -331,7 +342,7 @@ class PatchBz2(Patch):
-       
-       print 'Decompressing %s with %s' % (patch_file, bunzip)
- 
--      process = Popen([bunzip, patch_file], stdout=PIPE, stderr=PIPE)
-+      process = Popen([bunzip, '-f', patch_file], stdout=PIPE, stderr=PIPE)
- 
-       (output, error) = process.communicate('')
- 
-@@ -340,8 +351,8 @@ class PatchBz2(Patch):
-                           patch_file, error))
-          sys.exit(1)
- 
--      # Get rid of the file extension
--      patch_file = patch_file.strip('.bz2')
-+      # Get rid of the file extension (.bz2)
-+      patch_file = patch_file[:len(patch_file)-4]
-       Patch.__init__(self, patch_file)
- 
- #~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~
-@@ -370,7 +381,7 @@ class PatchGz(Patch):
-       
-       print 'Decompressing %s with %s' % (patch_file, gunzip)
- 
--      process = Popen([gunzip, patch_file], stdout=PIPE, stderr=PIPE)
-+      process = Popen([gunzip, '-f', patch_file], stdout=PIPE, stderr=PIPE)
- 
-       (output, error) = process.communicate('')
- 
-@@ -379,14 +390,14 @@ class PatchGz(Patch):
-                           patch_file, error))
-          sys.exit(1)
- 
--      # Get rid of the file extension
--      patch_file = patch_file.strip('.gz')
-+      # Get rid of the file extension (.gz)
-+      patch_file = patch_file[:len(patch_file)-3]
-       Patch.__init__(self, patch_file)
- 
- #~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~
- 
- # The list of searched suffixes for patch names (ASCII, Bzip2, Gzip)
--patch_suffixes = ('', '.bz2', '.gz')
-+patch_suffixes = ('', '.bz2_', '.gz_')
- # The corresponding classes for each patch suffix listed above IN SAME ORDER
- patch_classes = (Patch, PatchBz2, PatchGz)
- # This is the description printed with the program usage message
-@@ -413,14 +424,18 @@ def download_patch(search_location, patch_number, save_loc):
-          if 'timed out' in str(err):
-             print >> sys.stderr, 'Timed out connecting to server'
-             sys.exit(1)
--         raise err
-+         continue
-       # A 404 code means we didn't find it
-       if url_patch.getcode() == 404:
-          url_patch.close()
-          continue
-       # Otherwise we found it, so use urlretrieve to download the file
-       url_patch.close()
--      local_patch = path.join(save_loc, fixname)
-+      # Hack for compressed patch files
-+      if fixname.endswith('_'):
-+         local_patch = path.join(save_loc, fixname[:len(fixname)-1])
-+      else:
-+         local_patch = path.join(save_loc, fixname)
-       print '  Downloading %s' % fixname
-       urllib.urlretrieve(search_location + fixname, local_patch)
-       # Now that we have the patch file saved, return the appropriate PatchClass
-@@ -484,8 +499,8 @@ def describe_patch(patch, full=True, hide_prefix=True):
-    if patch.author(): print '  Author:         ', patch.author()
-    if patch.date(): print '  Created on:     ', patch.date()
-    if patch.programs(): print '  Programs fixed: ', ', '.join(patch.programs())
--   if patch.files_edited():
--      print '  Files affected: ', ('\n%19s' % ' ').join(patch.files_edited())
-+   if patch.files_edited()[0]:
-+      print '  Files affected: ', ('\n%19s' % ' ').join(patch.files_edited()[0])
-    if full: print '\n', patch.description()
-    print ''
- 
-@@ -513,18 +528,32 @@ def _files_present(patch):
-    return -2: Same as -1, except we also modify this program (as in 2)
-    """
- 
--   edfiles = patch.files_edited()
-+   edfiles, newmodes = patch.files_edited()
-    if not edfiles:
-       print >> sys.stderr, ('Fatal Error: The patch "%s" does not edit any ' +
-                             'files!') % patch.name
-       sys.exit(1)
-    fname = edfiles[0]
-    ret_code = 1
-+   newfile_count = 0
-    if ('src/sander' in fname or 'src/pmemd' in fname) and not path.isdir(
-             path.join(getenv('AMBERHOME'), 'src', 'pmemd', 'src')):
-       ret_code = 0
-    if fname == path.split(sys.argv[0])[1]:
-       ret_code = 2
-+   elif not path.exists(path.join(getenv('AMBERHOME'), fname)):
-+      _mkdir(path.join(getenv('AMBERHOME'), path.split(fname)[0]))
-+      print 'Creating file %s' % (path.join(getenv('AMBERHOME'), fname))
-+      tmpfile = open(path.join(getenv('AMBERHOME'), fname), 'w')
-+      tmpfile.close()
-+      try:
-+         print 'Changing mode to %s' % (newmodes[0])
-+         # chmod takes octal numbers, so convert the octal number
-+         chmod(path.join(getenv('AMBERHOME'), fname), int(newmodes[0], 8))
-+         newfile_count += 1
-+      except IndexError:
-+         # If our patch didn't have mode info, don't pitch a fit
-+         pass
-    for i in range(1,len(edfiles)):
-       fname = edfiles[i]
-       # If ret_code is already 1, then our first file matched one we had,
-@@ -544,6 +573,15 @@ def _files_present(patch):
-          print 'Creating file %s' % (path.join(getenv('AMBERHOME'), fname))
-          tmpfile = open(path.join(getenv('AMBERHOME'), fname), 'w')
-          tmpfile.close()
-+         try:
-+            print 'Changing mode to %s' % (newmodes[newfile_count])
-+            # chmod takes octal numbers, so convert the octal number
-+            chmod(path.join(getenv('AMBERHOME'), fname),
-+                  int(newmodes[newfile_count], 8))
-+            newfile_count += 1
-+         except IndexError:
-+            # Don't pitch a fit if our patch file didn't have permission info
-+            pass
- 
-    return ret_code
- 
-@@ -775,7 +813,7 @@ if __name__ == '__main__':
-          sys.exit(1)
-       if opt.apply_patch: single_patch = Patch(opt.apply_patch)
-       else: single_patch = Patch(opt.reverse_patch)
--      if not single_patch.files_edited():
-+      if not single_patch.files_edited()[0]:
-          print >> sys.stderr, 'Fatal Error: Bad patch. Could not find the ' + \
-                'files that were supposed to be edited!'
-       # Print out message based on whether we're applying forward or reverse


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/sci:master commit in: patches/
@ 2014-11-13  0:15 Christoph Junghans
  0 siblings, 0 replies; 7+ messages in thread
From: Christoph Junghans @ 2014-11-13  0:15 UTC (permalink / raw
  To: gentoo-commits

commit:     df0695149a3fa01865c93eefcfce342bf58c5162
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 12 11:36:00 2014 +0000
Commit:     Christoph Junghans <ottxor <AT> gentoo <DOT> org>
CommitDate: Wed Nov 12 11:36:00 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=df069514

Move large patch to patch dir

Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

---
 ...cfs-move-mdd-ofd-proc-handling-to-seq_fil.patch | 2082 ++++++++++++++++++++
 1 file changed, 2082 insertions(+)

diff --git a/patches/0002-LU-3319-procfs-move-mdd-ofd-proc-handling-to-seq_fil.patch b/patches/0002-LU-3319-procfs-move-mdd-ofd-proc-handling-to-seq_fil.patch
new file mode 100644
index 0000000..813446c
--- /dev/null
+++ b/patches/0002-LU-3319-procfs-move-mdd-ofd-proc-handling-to-seq_fil.patch
@@ -0,0 +1,2082 @@
+From 9071634fd9db37a6121fdfbd817162f782661202 Mon Sep 17 00:00:00 2001
+From: James Simmons <uja.ornl@gmail.com>
+Date: Mon, 5 May 2014 10:02:21 -0400
+Subject: [PATCH 2/3] LU-3319 procfs: move mdd/ofd proc handling to seq_files
+
+With 3.10 linux kernel and above proc handling now only
+uses struct seq_files. This patch migrates the mdd/ofd
+layer proc entries over to using seq_files.
+
+Signed-off-by: James Simmons <uja.ornl@gmail.com>
+Change-Id: I61b7df6bfd5efd0f12e3ca1a1813b7b62d493168
+---
+ lustre/include/lustre_lfsck.h  |   6 +-
+ lustre/lfsck/lfsck_internal.h  |   9 +-
+ lustre/lfsck/lfsck_layout.c    | 132 ++++-------
+ lustre/lfsck/lfsck_lib.c       |  88 +++-----
+ lustre/lfsck/lfsck_namespace.c |  75 ++-----
+ lustre/mdd/mdd_device.c        |  25 +--
+ lustre/mdd/mdd_internal.h      |   1 -
+ lustre/mdd/mdd_lproc.c         | 302 ++++++++++++-------------
+ lustre/ofd/lproc_ofd.c         | 490 +++++++++++++++++++++--------------------
+ lustre/ofd/ofd_dev.c           |  90 ++++----
+ lustre/ofd/ofd_internal.h      |   6 +-
+ 11 files changed, 543 insertions(+), 681 deletions(-)
+
+diff --git a/lustre/include/lustre_lfsck.h b/lustre/include/lustre_lfsck.h
+index 0d6f666..5adbffe 100644
+--- a/lustre/include/lustre_lfsck.h
++++ b/lustre/include/lustre_lfsck.h
+@@ -148,12 +148,12 @@ int lfsck_in_notify(const struct lu_env *env, struct dt_device *key,
+ int lfsck_query(const struct lu_env *env, struct dt_device *key,
+ 		struct lfsck_request *lr);
+ 
+-int lfsck_get_speed(struct dt_device *key, void *buf, int len);
++int lfsck_get_speed(struct seq_file *m, struct dt_device *key);
+ int lfsck_set_speed(struct dt_device *key, int val);
+-int lfsck_get_windows(struct dt_device *key, void *buf, int len);
++int lfsck_get_windows(struct seq_file *m, struct dt_device *key);
+ int lfsck_set_windows(struct dt_device *key, int val);
+ 
+-int lfsck_dump(struct dt_device *key, void *buf, int len, enum lfsck_type type);
++int lfsck_dump(struct seq_file *m, struct dt_device *key, enum lfsck_type type);
+ 
+ static inline void lfsck_pack_rfa(struct lfsck_request *lr,
+ 				  const struct lu_fid *fid)
+diff --git a/lustre/lfsck/lfsck_internal.h b/lustre/lfsck/lfsck_internal.h
+index 24b84ae..203ad74 100644
+--- a/lustre/lfsck/lfsck_internal.h
++++ b/lustre/lfsck/lfsck_internal.h
+@@ -303,8 +303,7 @@ struct lfsck_operations {
+ 
+ 	int (*lfsck_dump)(const struct lu_env *env,
+ 			  struct lfsck_component *com,
+-			  char *buf,
+-			  int len);
++			  struct seq_file *m);
+ 
+ 	int (*lfsck_double_scan)(const struct lu_env *env,
+ 				 struct lfsck_component *com);
+@@ -590,10 +589,10 @@ void lfsck_component_cleanup(const struct lu_env *env,
+ 			     struct lfsck_component *com);
+ void lfsck_instance_cleanup(const struct lu_env *env,
+ 			    struct lfsck_instance *lfsck);
+-int lfsck_bits_dump(char **buf, int *len, int bits, const char *names[],
++int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
+ 		    const char *prefix);
+-int lfsck_time_dump(char **buf, int *len, __u64 time, const char *prefix);
+-int lfsck_pos_dump(char **buf, int *len, struct lfsck_position *pos,
++int lfsck_time_dump(struct seq_file *m, __u64 time, const char *prefix);
++int lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
+ 		   const char *prefix);
+ void lfsck_pos_fill(const struct lu_env *env, struct lfsck_instance *lfsck,
+ 		    struct lfsck_position *pos, bool init);
+diff --git a/lustre/lfsck/lfsck_layout.c b/lustre/lfsck/lfsck_layout.c
+index ced2e4d..e2df62d 100644
+--- a/lustre/lfsck/lfsck_layout.c
++++ b/lustre/lfsck/lfsck_layout.c
+@@ -492,7 +492,7 @@ static struct lfsck_rbtree_node *lfsck_rbtree_new(const struct lu_env *env,
+ 		return ERR_PTR(-ENOMEM);
+ 	}
+ 
+-	rb_init_node(&lrn->lrn_node);
++	RB_CLEAR_NODE(&lrn->lrn_node);
+ 	lrn->lrn_seq = fid_seq(fid);
+ 	lrn->lrn_first_oid = fid_oid(fid) & ~LFSCK_RBTREE_BITMAP_MASK;
+ 	atomic_set(&lrn->lrn_known_count, 0);
+@@ -4873,69 +4873,53 @@ static int lfsck_layout_slave_post(const struct lu_env *env,
+ }
+ 
+ static int lfsck_layout_dump(const struct lu_env *env,
+-			     struct lfsck_component *com, char *buf, int len)
++			     struct lfsck_component *com, struct seq_file *m)
+ {
+ 	struct lfsck_instance	*lfsck = com->lc_lfsck;
+ 	struct lfsck_bookmark	*bk    = &lfsck->li_bookmark_ram;
+ 	struct lfsck_layout	*lo    = com->lc_file_ram;
+-	int			 save  = len;
+-	int			 ret   = -ENOSPC;
+ 	int			 rc;
+ 
+ 	down_read(&com->lc_sem);
+-	rc = snprintf(buf, len,
+-		      "name: lfsck_layout\n"
++	seq_printf(m, "name: lfsck_layout\n"
+ 		      "magic: %#x\n"
+ 		      "version: %d\n"
+ 		      "status: %s\n",
+ 		      lo->ll_magic,
+ 		      bk->lb_version,
+ 		      lfsck_status2names(lo->ll_status));
+-	if (rc <= 0)
+-		goto out;
+ 
+-	buf += rc;
+-	len -= rc;
+-	rc = lfsck_bits_dump(&buf, &len, lo->ll_flags, lfsck_flags_names,
+-			     "flags");
++	rc = lfsck_bits_dump(m, lo->ll_flags, lfsck_flags_names, "flags");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_bits_dump(&buf, &len, bk->lb_param, lfsck_param_names,
+-			     "param");
++	rc = lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_time_dump(&buf, &len, lo->ll_time_last_complete,
++	rc = lfsck_time_dump(m, lo->ll_time_last_complete,
+ 			     "time_since_last_completed");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_time_dump(&buf, &len, lo->ll_time_latest_start,
++	rc = lfsck_time_dump(m, lo->ll_time_latest_start,
+ 			     "time_since_latest_start");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_time_dump(&buf, &len, lo->ll_time_last_checkpoint,
++	rc = lfsck_time_dump(m, lo->ll_time_last_checkpoint,
+ 			     "time_since_last_checkpoint");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = snprintf(buf, len,
+-		      "latest_start_position: "LPU64"\n"
++	seq_printf(m, "latest_start_position: "LPU64"\n"
+ 		      "last_checkpoint_position: "LPU64"\n"
+ 		      "first_failure_position: "LPU64"\n",
+ 		      lo->ll_pos_latest_start,
+ 		      lo->ll_pos_last_checkpoint,
+ 		      lo->ll_pos_first_inconsistent);
+-	if (rc <= 0)
+-		goto out;
+ 
+-	buf += rc;
+-	len -= rc;
+-
+-	rc = snprintf(buf, len,
+-		      "success_count: %u\n"
++	seq_printf(m, "success_count: %u\n"
+ 		      "repaired_dangling: "LPU64"\n"
+ 		      "repaired_unmatched_pair: "LPU64"\n"
+ 		      "repaired_multiple_referenced: "LPU64"\n"
+@@ -4955,11 +4939,6 @@ static int lfsck_layout_dump(const struct lu_env *env,
+ 		      lo->ll_objs_skipped,
+ 		      lo->ll_objs_failed_phase1,
+ 		      lo->ll_objs_failed_phase2);
+-	if (rc <= 0)
+-		goto out;
+-
+-	buf += rc;
+-	len -= rc;
+ 
+ 	if (lo->ll_status == LS_SCANNING_PHASE1) {
+ 		__u64 pos;
+@@ -4977,8 +4956,7 @@ static int lfsck_layout_dump(const struct lu_env *env,
+ 			do_div(new_checked, duration);
+ 		if (rtime != 0)
+ 			do_div(speed, rtime);
+-		rc = snprintf(buf, len,
+-			      "checked_phase1: "LPU64"\n"
++		seq_printf(m, "checked_phase1: "LPU64"\n"
+ 			      "checked_phase2: "LPU64"\n"
+ 			      "run_time_phase1: %u seconds\n"
+ 			      "run_time_phase2: %u seconds\n"
+@@ -4992,11 +4970,6 @@ static int lfsck_layout_dump(const struct lu_env *env,
+ 			      lo->ll_run_time_phase2,
+ 			      speed,
+ 			      new_checked);
+-		if (rc <= 0)
+-			goto out;
+-
+-		buf += rc;
+-		len -= rc;
+ 
+ 		LASSERT(lfsck->li_di_oit != NULL);
+ 
+@@ -5009,12 +4982,8 @@ static int lfsck_layout_dump(const struct lu_env *env,
+ 		pos = iops->store(env, lfsck->li_di_oit);
+ 		if (!lfsck->li_current_oit_processed)
+ 			pos--;
+-		rc = snprintf(buf, len, "current_position: "LPU64"\n", pos);
+-		if (rc <= 0)
+-			goto out;
++		seq_printf(m, "current_position: "LPU64"\n", pos);
+ 
+-		buf += rc;
+-		len -= rc;
+ 	} else if (lo->ll_status == LS_SCANNING_PHASE2) {
+ 		cfs_duration_t duration = cfs_time_current() -
+ 					  lfsck->li_time_last_checkpoint;
+@@ -5032,29 +5001,26 @@ static int lfsck_layout_dump(const struct lu_env *env,
+ 			do_div(speed1, lo->ll_run_time_phase1);
+ 		if (rtime != 0)
+ 			do_div(speed2, rtime);
+-		rc = snprintf(buf, len,
+-			      "checked_phase1: "LPU64"\n"
+-			      "checked_phase2: "LPU64"\n"
+-			      "run_time_phase1: %u seconds\n"
+-			      "run_time_phase2: %u seconds\n"
+-			      "average_speed_phase1: "LPU64" items/sec\n"
+-			      "average_speed_phase2: "LPU64" items/sec\n"
+-			      "real-time_speed_phase1: N/A\n"
+-			      "real-time_speed_phase2: "LPU64" items/sec\n"
+-			      "current_position: "DFID"\n",
+-			      lo->ll_objs_checked_phase1,
+-			      checked,
+-			      lo->ll_run_time_phase1,
+-			      rtime,
+-			      speed1,
+-			      speed2,
+-			      new_checked,
+-			      PFID(&com->lc_fid_latest_scanned_phase2));
++		rc = seq_printf(m, "checked_phase1: "LPU64"\n"
++				"checked_phase2: "LPU64"\n"
++				"run_time_phase1: %u seconds\n"
++				"run_time_phase2: %u seconds\n"
++				"average_speed_phase1: "LPU64" items/sec\n"
++				"average_speed_phase2: "LPU64" items/sec\n"
++				"real-time_speed_phase1: N/A\n"
++				"real-time_speed_phase2: "LPU64" items/sec\n"
++				"current_position: "DFID"\n",
++				lo->ll_objs_checked_phase1,
++				checked,
++				lo->ll_run_time_phase1,
++				rtime,
++				speed1,
++				speed2,
++				new_checked,
++				PFID(&com->lc_fid_latest_scanned_phase2));
+ 		if (rc <= 0)
+ 			goto out;
+ 
+-		buf += rc;
+-		len -= rc;
+ 	} else {
+ 		__u64 speed1 = lo->ll_objs_checked_phase1;
+ 		__u64 speed2 = lo->ll_objs_checked_phase2;
+@@ -5063,34 +5029,26 @@ static int lfsck_layout_dump(const struct lu_env *env,
+ 			do_div(speed1, lo->ll_run_time_phase1);
+ 		if (lo->ll_run_time_phase2 != 0)
+ 			do_div(speed2, lo->ll_run_time_phase2);
+-		rc = snprintf(buf, len,
+-			      "checked_phase1: "LPU64"\n"
+-			      "checked_phase2: "LPU64"\n"
+-			      "run_time_phase1: %u seconds\n"
+-			      "run_time_phase2: %u seconds\n"
+-			      "average_speed_phase1: "LPU64" items/sec\n"
+-			      "average_speed_phase2: "LPU64" objs/sec\n"
+-			      "real-time_speed_phase1: N/A\n"
+-			      "real-time_speed_phase2: N/A\n"
+-			      "current_position: N/A\n",
+-			      lo->ll_objs_checked_phase1,
+-			      lo->ll_objs_checked_phase2,
+-			      lo->ll_run_time_phase1,
+-			      lo->ll_run_time_phase2,
+-			      speed1,
+-			      speed2);
+-		if (rc <= 0)
+-			goto out;
+-
+-		buf += rc;
+-		len -= rc;
++		seq_printf(m, "checked_phase1: "LPU64"\n"
++			   "checked_phase2: "LPU64"\n"
++			   "run_time_phase1: %u seconds\n"
++			   "run_time_phase2: %u seconds\n"
++			   "average_speed_phase1: "LPU64" items/sec\n"
++			   "average_speed_phase2: "LPU64" objs/sec\n"
++			   "real-time_speed_phase1: N/A\n"
++			   "real-time_speed_phase2: N/A\n"
++			   "current_position: N/A\n",
++			   lo->ll_objs_checked_phase1,
++			   lo->ll_objs_checked_phase2,
++			   lo->ll_run_time_phase1,
++			   lo->ll_run_time_phase2,
++			   speed1,
++			   speed2);
+ 	}
+-	ret = save - len;
+-
+ out:
+ 	up_read(&com->lc_sem);
+ 
+-	return ret;
++	return rc;
+ }
+ 
+ static int lfsck_layout_master_double_scan(const struct lu_env *env,
+diff --git a/lustre/lfsck/lfsck_lib.c b/lustre/lfsck/lfsck_lib.c
+index db73616..f6f1cce 100644
+--- a/lustre/lfsck/lfsck_lib.c
++++ b/lustre/lfsck/lfsck_lib.c
+@@ -900,21 +900,15 @@ static inline int lfsck_instance_add(struct lfsck_instance *lfsck)
+ 	return 0;
+ }
+ 
+-int lfsck_bits_dump(char **buf, int *len, int bits, const char *names[],
++int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
+ 		    const char *prefix)
+ {
+-	int save = *len;
+ 	int flag;
+-	int rc;
+ 	int i;
+ 	bool newline = (bits != 0 ? false : true);
+ 
+-	rc = snprintf(*buf, *len, "%s:%c", prefix, newline ? '\n' : ' ');
+-	if (rc <= 0)
+-		return -ENOSPC;
++	seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
+ 
+-	*buf += rc;
+-	*len -= rc;
+ 	for (i = 0, flag = 1; bits != 0; i++, flag = 1 << i) {
+ 		if (flag & bits) {
+ 			bits &= ~flag;
+@@ -922,69 +916,43 @@ int lfsck_bits_dump(char **buf, int *len, int bits, const char *names[],
+ 				if (bits == 0)
+ 					newline = true;
+ 
+-				rc = snprintf(*buf, *len, "%s%c", names[i],
+-					      newline ? '\n' : ',');
+-				if (rc <= 0)
+-					return -ENOSPC;
+-
+-				*buf += rc;
+-				*len -= rc;
++				seq_printf(m, "%s%c", names[i],
++					   newline ? '\n' : ',');
+ 			}
+ 		}
+ 	}
+ 
+-	if (!newline) {
+-		rc = snprintf(*buf, *len, "\n");
+-		if (rc <= 0)
+-			return -ENOSPC;
+-
+-		*buf += rc;
+-		*len -= rc;
+-	}
+-
+-	return save - *len;
++	if (!newline)
++		seq_printf(m, "\n");
++	return 0;
+ }
+ 
+-int lfsck_time_dump(char **buf, int *len, __u64 time, const char *prefix)
++int lfsck_time_dump(struct seq_file *m, __u64 time, const char *prefix)
+ {
+-	int rc;
+-
+ 	if (time != 0)
+-		rc = snprintf(*buf, *len, "%s: "LPU64" seconds\n", prefix,
+-			      cfs_time_current_sec() - time);
++		seq_printf(m, "%s: "LPU64" seconds\n", prefix,
++			  cfs_time_current_sec() - time);
+ 	else
+-		rc = snprintf(*buf, *len, "%s: N/A\n", prefix);
+-	if (rc <= 0)
+-		return -ENOSPC;
+-
+-	*buf += rc;
+-	*len -= rc;
+-	return rc;
++		seq_printf(m, "%s: N/A\n", prefix);
++	return 0;
+ }
+ 
+-int lfsck_pos_dump(char **buf, int *len, struct lfsck_position *pos,
++int lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
+ 		   const char *prefix)
+ {
+-	int rc;
+-
+ 	if (fid_is_zero(&pos->lp_dir_parent)) {
+ 		if (pos->lp_oit_cookie == 0)
+-			rc = snprintf(*buf, *len, "%s: N/A, N/A, N/A\n",
+-				      prefix);
++			seq_printf(m, "%s: N/A, N/A, N/A\n",
++				   prefix);
+ 		else
+-			rc = snprintf(*buf, *len, "%s: "LPU64", N/A, N/A\n",
+-				      prefix, pos->lp_oit_cookie);
++			seq_printf(m, "%s: "LPU64", N/A, N/A\n",
++				   prefix, pos->lp_oit_cookie);
+ 	} else {
+-		rc = snprintf(*buf, *len, "%s: "LPU64", "DFID", "LPU64"\n",
+-			      prefix, pos->lp_oit_cookie,
+-			      PFID(&pos->lp_dir_parent), pos->lp_dir_cookie);
++		seq_printf(m, "%s: "LPU64", "DFID", "LPU64"\n",
++			   prefix, pos->lp_oit_cookie,
++			   PFID(&pos->lp_dir_parent), pos->lp_dir_cookie);
+ 	}
+-	if (rc <= 0)
+-		return -ENOSPC;
+-
+-	*buf += rc;
+-	*len -= rc;
+-	return rc;
++	return 0;
+ }
+ 
+ void lfsck_pos_fill(const struct lu_env *env, struct lfsck_instance *lfsck,
+@@ -1670,7 +1638,7 @@ int lfsck_async_request(const struct lu_env *env, struct obd_export *exp,
+ 
+ /* external interfaces */
+ 
+-int lfsck_get_speed(struct dt_device *key, void *buf, int len)
++int lfsck_get_speed(struct seq_file *m, struct dt_device *key)
+ {
+ 	struct lu_env		env;
+ 	struct lfsck_instance  *lfsck;
+@@ -1683,8 +1651,7 @@ int lfsck_get_speed(struct dt_device *key, void *buf, int len)
+ 
+ 	lfsck = lfsck_instance_find(key, true, false);
+ 	if (likely(lfsck != NULL)) {
+-		rc = snprintf(buf, len, "%u\n",
+-			      lfsck->li_bookmark_ram.lb_speed_limit);
++		seq_printf(m, "%u\n", lfsck->li_bookmark_ram.lb_speed_limit);
+ 		lfsck_instance_put(&env, lfsck);
+ 	} else {
+ 		rc = -ENXIO;
+@@ -1724,7 +1691,7 @@ int lfsck_set_speed(struct dt_device *key, int val)
+ }
+ EXPORT_SYMBOL(lfsck_set_speed);
+ 
+-int lfsck_get_windows(struct dt_device *key, void *buf, int len)
++int lfsck_get_windows(struct seq_file *m, struct dt_device *key)
+ {
+ 	struct lu_env		env;
+ 	struct lfsck_instance  *lfsck;
+@@ -1737,8 +1704,7 @@ int lfsck_get_windows(struct dt_device *key, void *buf, int len)
+ 
+ 	lfsck = lfsck_instance_find(key, true, false);
+ 	if (likely(lfsck != NULL)) {
+-		rc = snprintf(buf, len, "%u\n",
+-			      lfsck->li_bookmark_ram.lb_async_windows);
++		seq_printf(m, "%u\n", lfsck->li_bookmark_ram.lb_async_windows);
+ 		lfsck_instance_put(&env, lfsck);
+ 	} else {
+ 		rc = -ENXIO;
+@@ -1788,7 +1754,7 @@ int lfsck_set_windows(struct dt_device *key, int val)
+ }
+ EXPORT_SYMBOL(lfsck_set_windows);
+ 
+-int lfsck_dump(struct dt_device *key, void *buf, int len, enum lfsck_type type)
++int lfsck_dump(struct seq_file *m, struct dt_device *key, enum lfsck_type type)
+ {
+ 	struct lu_env		env;
+ 	struct lfsck_instance  *lfsck;
+@@ -1804,7 +1770,7 @@ int lfsck_dump(struct dt_device *key, void *buf, int len, enum lfsck_type type)
+ 	if (likely(lfsck != NULL)) {
+ 		com = lfsck_component_find(lfsck, type);
+ 		if (likely(com != NULL)) {
+-			rc = com->lc_ops->lfsck_dump(&env, com, buf, len);
++			rc = com->lc_ops->lfsck_dump(&env, com, m);
+ 			lfsck_component_put(&env, com);
+ 		} else {
+ 			rc = -ENOTSUPP;
+diff --git a/lustre/lfsck/lfsck_namespace.c b/lustre/lfsck/lfsck_namespace.c
+index 4dccb70..fc9a0dc 100644
+--- a/lustre/lfsck/lfsck_namespace.c
++++ b/lustre/lfsck/lfsck_namespace.c
+@@ -1099,65 +1099,56 @@ static int lfsck_namespace_post(const struct lu_env *env,
+ 
+ static int
+ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+-		     char *buf, int len)
++		     struct seq_file *m)
+ {
+ 	struct lfsck_instance	*lfsck = com->lc_lfsck;
+ 	struct lfsck_bookmark	*bk    = &lfsck->li_bookmark_ram;
+ 	struct lfsck_namespace	*ns    = com->lc_file_ram;
+-	int			 save  = len;
+-	int			 ret   = -ENOSPC;
+ 	int			 rc;
+ 
+ 	down_read(&com->lc_sem);
+-	rc = snprintf(buf, len,
+-		      "name: lfsck_namespace\n"
+-		      "magic: %#x\n"
+-		      "version: %d\n"
+-		      "status: %s\n",
+-		      ns->ln_magic,
+-		      bk->lb_version,
+-		      lfsck_status2names(ns->ln_status));
+-	if (rc <= 0)
+-		goto out;
+-
+-	buf += rc;
+-	len -= rc;
+-	rc = lfsck_bits_dump(&buf, &len, ns->ln_flags, lfsck_flags_names,
+-			     "flags");
++	seq_printf(m, "name: lfsck_namespace\n"
++		   "magic: %#x\n"
++		   "version: %d\n"
++		   "status: %s\n",
++		   ns->ln_magic,
++		   bk->lb_version,
++		   lfsck_status2names(ns->ln_status));
++
++	rc = lfsck_bits_dump(m, ns->ln_flags, lfsck_flags_names, "flags");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_bits_dump(&buf, &len, bk->lb_param, lfsck_param_names,
+-			     "param");
++	rc = lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_time_dump(&buf, &len, ns->ln_time_last_complete,
++	rc = lfsck_time_dump(m, ns->ln_time_last_complete,
+ 			     "time_since_last_completed");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_time_dump(&buf, &len, ns->ln_time_latest_start,
++	rc = lfsck_time_dump(m, ns->ln_time_latest_start,
+ 			     "time_since_latest_start");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_time_dump(&buf, &len, ns->ln_time_last_checkpoint,
++	rc = lfsck_time_dump(m, ns->ln_time_last_checkpoint,
+ 			     "time_since_last_checkpoint");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_pos_dump(&buf, &len, &ns->ln_pos_latest_start,
++	rc = lfsck_pos_dump(m, &ns->ln_pos_latest_start,
+ 			    "latest_start_position");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_pos_dump(&buf, &len, &ns->ln_pos_last_checkpoint,
++	rc = lfsck_pos_dump(m, &ns->ln_pos_last_checkpoint,
+ 			    "last_checkpoint_position");
+ 	if (rc < 0)
+ 		goto out;
+ 
+-	rc = lfsck_pos_dump(&buf, &len, &ns->ln_pos_first_inconsistent,
++	rc = lfsck_pos_dump(m, &ns->ln_pos_first_inconsistent,
+ 			    "first_failure_position");
+ 	if (rc < 0)
+ 		goto out;
+@@ -1177,8 +1168,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			do_div(new_checked, duration);
+ 		if (rtime != 0)
+ 			do_div(speed, rtime);
+-		rc = snprintf(buf, len,
+-			      "checked_phase1: "LPU64"\n"
++		seq_printf(m, "checked_phase1: "LPU64"\n"
+ 			      "checked_phase2: "LPU64"\n"
+ 			      "updated_phase1: "LPU64"\n"
+ 			      "updated_phase2: "LPU64"\n"
+@@ -1214,11 +1204,6 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			      ns->ln_run_time_phase2,
+ 			      speed,
+ 			      new_checked);
+-		if (rc <= 0)
+-			goto out;
+-
+-		buf += rc;
+-		len -= rc;
+ 
+ 		LASSERT(lfsck->li_di_oit != NULL);
+ 
+@@ -1247,9 +1232,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			pos.lp_dir_cookie = 0;
+ 		}
+ 		spin_unlock(&lfsck->li_lock);
+-		rc = lfsck_pos_dump(&buf, &len, &pos, "current_position");
+-		if (rc <= 0)
+-			goto out;
++		lfsck_pos_dump(m, &pos, "current_position");
+ 	} else if (ns->ln_status == LS_SCANNING_PHASE2) {
+ 		cfs_duration_t duration = cfs_time_current() -
+ 					  lfsck->li_time_last_checkpoint;
+@@ -1267,8 +1250,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			do_div(speed1, ns->ln_run_time_phase1);
+ 		if (rtime != 0)
+ 			do_div(speed2, rtime);
+-		rc = snprintf(buf, len,
+-			      "checked_phase1: "LPU64"\n"
++		seq_printf(m, "checked_phase1: "LPU64"\n"
+ 			      "checked_phase2: "LPU64"\n"
+ 			      "updated_phase1: "LPU64"\n"
+ 			      "updated_phase2: "LPU64"\n"
+@@ -1307,11 +1289,6 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			      speed2,
+ 			      new_checked,
+ 			      PFID(&ns->ln_fid_latest_scanned_phase2));
+-		if (rc <= 0)
+-			goto out;
+-
+-		buf += rc;
+-		len -= rc;
+ 	} else {
+ 		__u64 speed1 = ns->ln_items_checked;
+ 		__u64 speed2 = ns->ln_objs_checked_phase2;
+@@ -1320,8 +1297,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			do_div(speed1, ns->ln_run_time_phase1);
+ 		if (ns->ln_run_time_phase2 != 0)
+ 			do_div(speed2, ns->ln_run_time_phase2);
+-		rc = snprintf(buf, len,
+-			      "checked_phase1: "LPU64"\n"
++		seq_printf(m, "checked_phase1: "LPU64"\n"
+ 			      "checked_phase2: "LPU64"\n"
+ 			      "updated_phase1: "LPU64"\n"
+ 			      "updated_phase2: "LPU64"\n"
+@@ -1358,17 +1334,10 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
+ 			      ns->ln_run_time_phase2,
+ 			      speed1,
+ 			      speed2);
+-		if (rc <= 0)
+-			goto out;
+-
+-		buf += rc;
+-		len -= rc;
+ 	}
+-	ret = save - len;
+-
+ out:
+ 	up_read(&com->lc_sem);
+-	return ret;
++	return 0;
+ }
+ 
+ static int lfsck_namespace_double_scan_main(void *args)
+diff --git a/lustre/mdd/mdd_device.c b/lustre/mdd/mdd_device.c
+index 4f0baa4..f6deaca 100644
+--- a/lustre/mdd/mdd_device.c
++++ b/lustre/mdd/mdd_device.c
+@@ -889,16 +889,16 @@ static int mdd_process_config(const struct lu_env *env,
+         ENTRY;
+ 
+         switch (cfg->lcfg_command) {
+-        case LCFG_PARAM: {
+-                struct lprocfs_static_vars lvars;
+-
+-                lprocfs_mdd_init_vars(&lvars);
+-                rc = class_process_proc_param(PARAM_MDD, lvars.obd_vars, cfg,m);
+-                if (rc > 0 || rc == -ENOSYS)
+-                        /* we don't understand; pass it on */
+-                        rc = next->ld_ops->ldo_process_config(env, next, cfg);
+-                break;
+-        }
++	case LCFG_PARAM: {
++		struct obd_device *obd = mdd2obd_dev(m);
++
++		rc = class_process_proc_seq_param(PARAM_MDD, obd->obd_vars,
++						  cfg, m);
++		if (rc > 0 || rc == -ENOSYS)
++			/* we don't understand; pass it on */
++			rc = next->ld_ops->ldo_process_config(env, next, cfg);
++		break;
++	}
+         case LCFG_SETUP:
+                 rc = next->ld_ops->ldo_process_config(env, next, cfg);
+                 if (rc)
+@@ -1566,11 +1566,8 @@ LU_CONTEXT_KEY_DEFINE(mdd, LCT_MD_THREAD);
+ 
+ static int __init mdd_mod_init(void)
+ {
+-	struct lprocfs_static_vars lvars;
+ 	int rc;
+ 
+-	lprocfs_mdd_init_vars(&lvars);
+-
+ 	rc = lu_kmem_init(mdd_caches);
+ 	if (rc)
+ 		return rc;
+@@ -1586,7 +1583,7 @@ static int __init mdd_mod_init(void)
+ 
+ 	rc = class_register_type(&mdd_obd_device_ops, NULL, true, NULL,
+ #ifndef HAVE_ONLY_PROCFS_SEQ
+-				 lvars.module_vars,
++				 NULL,
+ #endif
+ 				 LUSTRE_MDD_NAME, &mdd_device_type);
+ 	if (rc)
+diff --git a/lustre/mdd/mdd_internal.h b/lustre/mdd/mdd_internal.h
+index 4411892..37698f8 100644
+--- a/lustre/mdd/mdd_internal.h
++++ b/lustre/mdd/mdd_internal.h
+@@ -248,7 +248,6 @@ int orph_declare_index_delete(const struct lu_env *, struct mdd_object *,
+                               struct thandle *);
+ 
+ /* mdd_lproc.c */
+-void lprocfs_mdd_init_vars(struct lprocfs_static_vars *lvars);
+ int mdd_procfs_init(struct mdd_device *mdd, const char *name);
+ int mdd_procfs_fini(struct mdd_device *mdd);
+ 
+diff --git a/lustre/mdd/mdd_lproc.c b/lustre/mdd/mdd_lproc.c
+index de379b3..7ac4afa 100644
+--- a/lustre/mdd/mdd_lproc.c
++++ b/lustre/mdd/mdd_lproc.c
+@@ -49,56 +49,14 @@
+ #include <libcfs/libcfs_string.h>
+ #include "mdd_internal.h"
+ 
+-int mdd_procfs_init(struct mdd_device *mdd, const char *name)
+-{
+-        struct lprocfs_static_vars lvars;
+-        struct obd_type     *type;
+-        int                  rc;
+-        ENTRY;
+-
+-	/* at the moment there is no linkage between lu_type
+-	 * and obd_type, so we lookup obd_type this way */
+-	type = class_search_type(LUSTRE_MDD_NAME);
+-
+-        LASSERT(name != NULL);
+-        LASSERT(type != NULL);
+-
+-        /* Find the type procroot and add the proc entry for this device */
+-        lprocfs_mdd_init_vars(&lvars);
+-        mdd->mdd_proc_entry = lprocfs_register(name, type->typ_procroot,
+-                                               lvars.obd_vars, mdd);
+-        if (IS_ERR(mdd->mdd_proc_entry)) {
+-                rc = PTR_ERR(mdd->mdd_proc_entry);
+-                CERROR("Error %d setting up lprocfs for %s\n",
+-                       rc, name);
+-                mdd->mdd_proc_entry = NULL;
+-                GOTO(out, rc);
+-        }
+-
+-	rc = 0;
+-
+-        EXIT;
+-out:
+-        if (rc)
+-               mdd_procfs_fini(mdd);
+-        return rc;
+-}
+-
+-int mdd_procfs_fini(struct mdd_device *mdd)
+-{
+-        if (mdd->mdd_proc_entry) {
+-                 lprocfs_remove(&mdd->mdd_proc_entry);
+-                 mdd->mdd_proc_entry = NULL;
+-        }
+-        RETURN(0);
+-}
+-
+-static int lprocfs_wr_atime_diff(struct file *file, const char *buffer,
+-                                 unsigned long count, void *data)
++static ssize_t
++mdd_atime_diff_seq_write(struct file *file, const char *buffer,
++			 size_t count, loff_t *off)
+ {
+-        struct mdd_device *mdd = data;
+-        char kernbuf[20], *end;
+-        unsigned long diff = 0;
++	struct seq_file *m = file->private_data;
++	struct mdd_device *mdd = m->private;
++	char kernbuf[20], *end;
++	unsigned long diff = 0;
+ 
+         if (count > (sizeof(kernbuf) - 1))
+                 return -EINVAL;
+@@ -116,37 +74,35 @@ static int lprocfs_wr_atime_diff(struct file *file, const char *buffer,
+         return count;
+ }
+ 
+-static int lprocfs_rd_atime_diff(char *page, char **start, off_t off,
+-                                 int count, int *eof, void *data)
++static int mdd_atime_diff_seq_show(struct seq_file *m, void *data)
+ {
+-        struct mdd_device *mdd = data;
++	struct mdd_device *mdd = m->private;
+ 
+-        *eof = 1;
+-        return snprintf(page, count, "%lu\n", mdd->mdd_atime_diff);
++	return seq_printf(m, "%lu\n", mdd->mdd_atime_diff);
+ }
+-
++LPROC_SEQ_FOPS(mdd_atime_diff);
+ 
+ /**** changelogs ****/
+-static int lprocfs_rd_changelog_mask(char *page, char **start, off_t off,
+-                                     int count, int *eof, void *data)
++static int mdd_changelog_mask_seq_show(struct seq_file *m, void *data)
+ {
+-        struct mdd_device *mdd = data;
+-        int i = 0, rc = 0;
+-
+-        *eof = 1;
+-        while (i < CL_LAST) {
+-                if (mdd->mdd_cl.mc_mask & (1 << i))
+-                        rc += snprintf(page + rc, count - rc, "%s ",
+-                                       changelog_type2str(i));
+-                i++;
+-        }
+-        return rc;
++	struct mdd_device *mdd = m->private;
++	int i = 0;
++
++	while (i < CL_LAST) {
++		if (mdd->mdd_cl.mc_mask & (1 << i))
++			seq_printf(m, "%s ", changelog_type2str(i));
++		i++;
++	}
++	seq_printf(m, "\n");
++	return 0;
+ }
+ 
+-static int lprocfs_wr_changelog_mask(struct file *file, const char *buffer,
+-				     unsigned long count, void *data)
++static ssize_t
++mdd_changelog_mask_seq_write(struct file *file, const char *buffer,
++			     size_t count, loff_t *off)
+ {
+-	struct mdd_device *mdd = data;
++	struct seq_file *m = file->private_data;
++	struct mdd_device *mdd = m->private;
+ 	char *kernbuf;
+ 	int rc;
+ 	ENTRY;
+@@ -168,45 +124,32 @@ out:
+ 	OBD_FREE(kernbuf, PAGE_CACHE_SIZE);
+ 	return rc;
+ }
+-
+-struct cucb_data {
+-        char *page;
+-        int count;
+-        int idx;
+-};
++LPROC_SEQ_FOPS(mdd_changelog_mask);
+ 
+ static int lprocfs_changelog_users_cb(const struct lu_env *env,
+ 				      struct llog_handle *llh,
+ 				      struct llog_rec_hdr *hdr, void *data)
+ {
+-        struct llog_changelog_user_rec *rec;
+-        struct cucb_data *cucb = (struct cucb_data *)data;
++	struct llog_changelog_user_rec *rec;
++	struct seq_file *m = data;
+ 
+-        LASSERT(llh->lgh_hdr->llh_flags & LLOG_F_IS_PLAIN);
++	LASSERT(llh->lgh_hdr->llh_flags & LLOG_F_IS_PLAIN);
+ 
+-        rec = (struct llog_changelog_user_rec *)hdr;
++	rec = (struct llog_changelog_user_rec *)hdr;
+ 
+-        cucb->idx += snprintf(cucb->page + cucb->idx, cucb->count - cucb->idx,
+-                              CHANGELOG_USER_PREFIX"%-3d "LPU64"\n",
+-                              rec->cur_id, rec->cur_endrec);
+-        if (cucb->idx >= cucb->count)
+-                return -ENOSPC;
+-
+-        return 0;
++	seq_printf(m, CHANGELOG_USER_PREFIX"%-3d "LPU64"\n",
++		   rec->cur_id, rec->cur_endrec);
++	return 0;
+ }
+ 
+-static int lprocfs_rd_changelog_users(char *page, char **start, off_t off,
+-                                      int count, int *eof, void *data)
++static int mdd_changelog_users_seq_show(struct seq_file *m, void *data)
+ {
+ 	struct lu_env		 env;
+-	struct mdd_device	*mdd = data;
++	struct mdd_device	*mdd = m->private;
+ 	struct llog_ctxt	*ctxt;
+-	struct cucb_data	 cucb;
+ 	__u64			 cur;
+ 	int			 rc;
+ 
+-        *eof = 1;
+-
+         ctxt = llog_get_context(mdd2obd_dev(mdd),
+ 				LLOG_CHANGELOG_USER_ORIG_CTXT);
+         if (ctxt == NULL)
+@@ -223,37 +166,32 @@ static int lprocfs_rd_changelog_users(char *page, char **start, off_t off,
+ 	cur = mdd->mdd_cl.mc_index;
+ 	spin_unlock(&mdd->mdd_cl.mc_lock);
+ 
+-        cucb.count = count;
+-        cucb.page = page;
+-        cucb.idx = 0;
+-
+-        cucb.idx += snprintf(cucb.page + cucb.idx, cucb.count - cucb.idx,
+-                              "current index: "LPU64"\n", cur);
+-
+-        cucb.idx += snprintf(cucb.page + cucb.idx, cucb.count - cucb.idx,
+-                              "%-5s %s\n", "ID", "index");
++	seq_printf(m, "current index: "LPU64"\n", cur);
++	seq_printf(m, "%-5s %s\n", "ID", "index");
+ 
+ 	llog_cat_process(&env, ctxt->loc_handle, lprocfs_changelog_users_cb,
+-			 &cucb, 0, 0);
++			 m, 0, 0);
+ 
+ 	lu_env_fini(&env);
+ 	llog_ctxt_put(ctxt);
+-	return cucb.idx;
++	return 0;
+ }
++LPROC_SEQ_FOPS_RO(mdd_changelog_users);
+ 
+-static int lprocfs_rd_sync_perm(char *page, char **start, off_t off,
+-                                int count, int *eof, void *data)
++static int mdd_sync_perm_seq_show(struct seq_file *m, void *data)
+ {
+-        struct mdd_device *mdd = data;
++	struct mdd_device *mdd = m->private;
+ 
+-        LASSERT(mdd != NULL);
+-        return snprintf(page, count, "%d\n", mdd->mdd_sync_permission);
++	LASSERT(mdd != NULL);
++	return seq_printf(m, "%d\n", mdd->mdd_sync_permission);
+ }
+ 
+-static int lprocfs_wr_sync_perm(struct file *file, const char *buffer,
+-                                unsigned long count, void *data)
++static ssize_t
++mdd_sync_perm_seq_write(struct file *file, const char *buffer,
++			size_t count, loff_t *off)
+ {
+-        struct mdd_device *mdd = data;
++	struct seq_file *m = file->private_data;
++	struct mdd_device *mdd = m->private;
+         int val, rc;
+ 
+         LASSERT(mdd != NULL);
+@@ -264,22 +202,22 @@ static int lprocfs_wr_sync_perm(struct file *file, const char *buffer,
+         mdd->mdd_sync_permission = !!val;
+         return count;
+ }
++LPROC_SEQ_FOPS(mdd_sync_perm);
+ 
+-static int lprocfs_rd_lfsck_speed_limit(char *page, char **start, off_t off,
+-					int count, int *eof, void *data)
++static int mdd_lfsck_speed_limit_seq_show(struct seq_file *m, void *data)
+ {
+-	struct mdd_device *mdd = data;
++	struct mdd_device *mdd = m->private;
+ 
+ 	LASSERT(mdd != NULL);
+-	*eof = 1;
+-
+-	return lfsck_get_speed(mdd->mdd_bottom, page, count);
++	return lfsck_get_speed(m, mdd->mdd_bottom);
+ }
+ 
+-static int lprocfs_wr_lfsck_speed_limit(struct file *file, const char *buffer,
+-					unsigned long count, void *data)
++static ssize_t
++mdd_lfsck_speed_limit_seq_write(struct file *file, const char *buffer,
++				size_t count, loff_t *off)
+ {
+-	struct mdd_device *mdd = data;
++	struct seq_file *m = file->private_data;
++	struct mdd_device *mdd = m->private;
+ 	__u32 val;
+ 	int rc;
+ 
+@@ -291,25 +229,22 @@ static int lprocfs_wr_lfsck_speed_limit(struct file *file, const char *buffer,
+ 	rc = lfsck_set_speed(mdd->mdd_bottom, val);
+ 	return rc != 0 ? rc : count;
+ }
++LPROC_SEQ_FOPS(mdd_lfsck_speed_limit);
+ 
+-static int lprocfs_rd_lfsck_async_windows(char *page, char **start, off_t off,
+-					  int count, int *eof, void *data)
++static int mdd_lfsck_async_windows_seq_show(struct seq_file *m, void *data)
+ {
+-	struct mdd_device *mdd = data;
+-	int		   rc;
++	struct mdd_device *mdd = m->private;
+ 
+ 	LASSERT(mdd != NULL);
+-	*eof = 1;
+-
+-	rc = lfsck_get_windows(mdd->mdd_bottom, page, count);
+-
+-	return rc != 0 ? rc : count;
++	return lfsck_get_windows(m, mdd->mdd_bottom);
+ }
+ 
+-static int lprocfs_wr_lfsck_async_windows(struct file *file, const char *buffer,
+-					  unsigned long count, void *data)
++static ssize_t
++mdd_lfsck_async_windows_seq_write(struct file *file, const char *buffer,
++				  size_t count, loff_t *off)
+ {
+-	struct mdd_device *mdd = data;
++	struct seq_file   *m = file->private_data;
++	struct mdd_device *mdd = m->private;
+ 	__u32		   val;
+ 	int		   rc;
+ 
+@@ -320,54 +255,87 @@ static int lprocfs_wr_lfsck_async_windows(struct file *file, const char *buffer,
+ 
+ 	return rc != 0 ? rc : count;
+ }
++LPROC_SEQ_FOPS(mdd_lfsck_async_windows);
+ 
+-static int lprocfs_rd_lfsck_namespace(char *page, char **start, off_t off,
+-				      int count, int *eof, void *data)
++static int mdd_lfsck_namespace_seq_show(struct seq_file *m, void *data)
+ {
+-	struct mdd_device *mdd = data;
+-	int rc;
++	struct mdd_device *mdd = m->private;
+ 
+ 	LASSERT(mdd != NULL);
+-	*eof = 1;
+ 
+-	rc = lfsck_dump(mdd->mdd_bottom, page, count, LT_NAMESPACE);
+-	return rc;
++	return lfsck_dump(m, mdd->mdd_bottom, LT_NAMESPACE);
+ }
++LPROC_SEQ_FOPS_RO(mdd_lfsck_namespace);
+ 
+-static int lprocfs_rd_lfsck_layout(char *page, char **start, off_t off,
+-				   int count, int *eof, void *data)
++static int mdd_lfsck_layout_seq_show(struct seq_file *m, void *data)
+ {
+-	struct mdd_device *mdd = data;
++	struct mdd_device *mdd = m->private;
+ 
+ 	LASSERT(mdd != NULL);
+-	*eof = 1;
+ 
+-	return lfsck_dump(mdd->mdd_bottom, page, count, LT_LAYOUT);
++	return lfsck_dump(m, mdd->mdd_bottom, LT_LAYOUT);
+ }
+-
+-static struct lprocfs_vars lprocfs_mdd_obd_vars[] = {
+-        { "atime_diff",      lprocfs_rd_atime_diff, lprocfs_wr_atime_diff, 0 },
+-        { "changelog_mask",  lprocfs_rd_changelog_mask,
+-                             lprocfs_wr_changelog_mask, 0 },
+-        { "changelog_users", lprocfs_rd_changelog_users, 0, 0},
+-        { "sync_permission", lprocfs_rd_sync_perm, lprocfs_wr_sync_perm, 0 },
+-	{ "lfsck_speed_limit", lprocfs_rd_lfsck_speed_limit,
+-			       lprocfs_wr_lfsck_speed_limit, 0 },
+-	{ "lfsck_async_windows", lprocfs_rd_lfsck_async_windows,
+-				 lprocfs_wr_lfsck_async_windows, 0 },
+-	{ "lfsck_namespace", lprocfs_rd_lfsck_namespace, 0, 0 },
+-	{ "lfsck_layout", lprocfs_rd_lfsck_layout, 0, 0 },
++LPROC_SEQ_FOPS_RO(mdd_lfsck_layout);
++
++static struct lprocfs_seq_vars lprocfs_mdd_obd_vars[] = {
++	{ .name =	"atime_diff",
++	  .fops =	&mdd_atime_diff_fops		},
++	{ .name =	"changelog_mask",
++	  .fops =	&mdd_changelog_mask_fops	},
++	{ .name =	"changelog_users",
++	  .fops =	&mdd_changelog_users_fops	},
++	{ .name =	"sync_permission",
++	  .fops =	&mdd_sync_perm_fops		},
++	{ .name =	"lfsck_speed_limit",
++	  .fops =	&mdd_lfsck_speed_limit_fops	},
++	{ .name =	"lfsck_async_windows",
++	  .fops =	&mdd_lfsck_async_windows_fops	},
++	{ .name =	"lfsck_namespace",
++	  .fops =	&mdd_lfsck_namespace_fops	},
++	{ .name	=	"lfsck_layout",
++	  .fops	=	&mdd_lfsck_layout_fops		},
+ 	{ 0 }
+ };
+ 
+-static struct lprocfs_vars lprocfs_mdd_module_vars[] = {
+-        { "num_refs",   lprocfs_rd_numrefs, 0, 0 },
+-        { 0 }
+-};
+-
+-void lprocfs_mdd_init_vars(struct lprocfs_static_vars *lvars)
++int mdd_procfs_init(struct mdd_device *mdd, const char *name)
+ {
+-        lvars->module_vars  = lprocfs_mdd_module_vars;
+-        lvars->obd_vars     = lprocfs_mdd_obd_vars;
++	struct obd_device *obd = class_name2obd(name);
++	struct obd_type   *type;
++	int		   rc;
++	ENTRY;
++
++	/* at the moment there is no linkage between lu_type
++	 * and obd_type, so we lookup obd_type this way */
++	type = class_search_type(LUSTRE_MDD_NAME);
++
++	LASSERT(name != NULL);
++	LASSERT(type != NULL);
++	LASSERT(obd  != NULL);
++
++	/* Find the type procroot and add the proc entry for this device */
++	obd->obd_vars = lprocfs_mdd_obd_vars;
++	mdd->mdd_proc_entry = lprocfs_seq_register(name, type->typ_procroot,
++						   obd->obd_vars, mdd);
++	if (IS_ERR(mdd->mdd_proc_entry)) {
++		rc = PTR_ERR(mdd->mdd_proc_entry);
++		CERROR("Error %d setting up lprocfs for %s\n",
++		       rc, name);
++		mdd->mdd_proc_entry = NULL;
++		GOTO(out, rc);
++	}
++	rc = 0;
++	EXIT;
++out:
++	if (rc)
++		mdd_procfs_fini(mdd);
++	return rc;
+ }
+ 
++int mdd_procfs_fini(struct mdd_device *mdd)
++{
++	if (mdd->mdd_proc_entry) {
++		lprocfs_remove(&mdd->mdd_proc_entry);
++		mdd->mdd_proc_entry = NULL;
++	}
++	RETURN(0);
++}
+diff --git a/lustre/ofd/lproc_ofd.c b/lustre/ofd/lproc_ofd.c
+index 359b373..fcde82a 100644
+--- a/lustre/ofd/lproc_ofd.c
++++ b/lustre/ofd/lproc_ofd.c
+@@ -47,81 +47,75 @@
+ 
+ #ifdef LPROCFS
+ 
+-static int lprocfs_ofd_rd_seqs(char *page, char **start, off_t off,
+-				int count, int *eof, void *data)
++static int ofd_seqs_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	*eof = 1;
+-	return snprintf(page, count, "%u\n", ofd->ofd_seq_count);
++	return seq_printf(m, "%u\n", ofd->ofd_seq_count);
+ }
++LPROC_SEQ_FOPS_RO(ofd_seqs);
+ 
+-static int lprocfs_ofd_rd_tot_dirty(char *page, char **start, off_t off,
+-				    int count, int *eof, void *data)
++static int ofd_tot_dirty_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd;
+ 
+ 	LASSERT(obd != NULL);
+ 	ofd = ofd_dev(obd->obd_lu_dev);
+-	*eof = 1;
+-	return snprintf(page, count, LPU64"\n", ofd->ofd_tot_dirty);
++	return seq_printf(m, LPU64"\n", ofd->ofd_tot_dirty);
+ }
++LPROC_SEQ_FOPS_RO(ofd_tot_dirty);
+ 
+-static int lprocfs_ofd_rd_tot_granted(char *page, char **start, off_t off,
+-				      int count, int *eof, void *data)
++static int ofd_tot_granted_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd;
+ 
+ 	LASSERT(obd != NULL);
+ 	ofd = ofd_dev(obd->obd_lu_dev);
+-	*eof = 1;
+-	return snprintf(page, count, LPU64"\n", ofd->ofd_tot_granted);
++	return seq_printf(m, LPU64"\n", ofd->ofd_tot_granted);
+ }
++LPROC_SEQ_FOPS_RO(ofd_tot_granted);
+ 
+-static int lprocfs_ofd_rd_tot_pending(char *page, char **start, off_t off,
+-				      int count, int *eof, void *data)
++static int ofd_tot_pending_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd;
+ 
+ 	LASSERT(obd != NULL);
+ 	ofd = ofd_dev(obd->obd_lu_dev);
+-	*eof = 1;
+-	return snprintf(page, count, LPU64"\n", ofd->ofd_tot_pending);
++	return seq_printf(m, LPU64"\n", ofd->ofd_tot_pending);
+ }
++LPROC_SEQ_FOPS_RO(ofd_tot_pending);
+ 
+-static int lprocfs_ofd_rd_grant_precreate(char *page, char **start, off_t off,
+-					  int count, int *eof, void *data)
++static int ofd_grant_precreate_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 
+ 	LASSERT(obd != NULL);
+-	*eof = 1;
+-	return snprintf(page, count, "%ld\n",
+-			obd->obd_self_export->exp_filter_data.fed_grant);
++	return seq_printf(m, "%ld\n",
++			  obd->obd_self_export->exp_filter_data.fed_grant);
+ }
++LPROC_SEQ_FOPS_RO(ofd_grant_precreate);
+ 
+-static int lprocfs_ofd_rd_grant_ratio(char *page, char **start, off_t off,
+-				      int count, int *eof, void *data)
++static int ofd_grant_ratio_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd;
+ 
+ 	LASSERT(obd != NULL);
+ 	ofd = ofd_dev(obd->obd_lu_dev);
+-	*eof = 1;
+-	return snprintf(page, count, "%d%%\n",
+-			(int) ofd_grant_reserved(ofd, 100));
++	return seq_printf(m, "%d%%\n",
++			  (int) ofd_grant_reserved(ofd, 100));
+ }
+ 
+-static int lprocfs_ofd_wr_grant_ratio(struct file *file,
+-				      const char __user *buffer,
+-				      unsigned long count, void *data)
++static ssize_t
++ofd_grant_ratio_seq_write(struct file *file, const char __user *buffer,
++			  size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = (struct obd_device *)data;
++	struct seq_file         *m = file->private_data;
++	struct obd_device       *obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	int			 val;
+ 	int			 rc;
+@@ -145,24 +139,24 @@ static int lprocfs_ofd_wr_grant_ratio(struct file *file,
+ 	spin_unlock(&ofd->ofd_grant_lock);
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_grant_ratio);
+ 
+-static int lprocfs_ofd_rd_precreate_batch(char *page, char **start, off_t off,
+-					  int count, int *eof, void *data)
++static int ofd_precreate_batch_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd;
+ 
+ 	LASSERT(obd != NULL);
+ 	ofd = ofd_dev(obd->obd_lu_dev);
+-	*eof = 1;
+-	return snprintf(page, count, "%d\n", ofd->ofd_precreate_batch);
++	return seq_printf(m, "%d\n", ofd->ofd_precreate_batch);
+ }
+ 
+-static int lprocfs_ofd_wr_precreate_batch(struct file *file,
+-					  const char __user *buffer,
+-					  unsigned long count, void *data)
++static ssize_t
++ofd_precreate_batch_seq_write(struct file *file, const char __user *buffer,
++			      size_t count, loff_t *off)
+ {
+-	struct obd_device *obd = (struct obd_device *)data;
++	struct seq_file	  *m = file->private_data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 	int val;
+ 	int rc;
+@@ -179,11 +173,11 @@ static int lprocfs_ofd_wr_precreate_batch(struct file *file,
+ 	spin_unlock(&ofd->ofd_batch_lock);
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_precreate_batch);
+ 
+-static int lprocfs_ofd_rd_last_id(char *page, char **start, off_t off,
+-				  int count, int *eof, void *data)
++static int ofd_last_id_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd;
+ 	struct ofd_seq		*oseq = NULL;
+ 	int			retval = 0, rc;
+@@ -201,35 +195,32 @@ static int lprocfs_ofd_rd_last_id(char *page, char **start, off_t off,
+ 		      fid_idif_seq(ostid_id(&oseq->os_oi),
+ 				   ofd->ofd_lut.lut_lsd.lsd_osd_index) :
+ 		      ostid_seq(&oseq->os_oi);
+-		rc = snprintf(page, count, DOSTID"\n", seq,
+-			      ostid_id(&oseq->os_oi));
++		rc = seq_printf(m, DOSTID"\n", seq, ostid_id(&oseq->os_oi));
+ 		if (rc < 0) {
+ 			retval = rc;
+ 			break;
+ 		}
+-		page += rc;
+-		count -= rc;
+ 		retval += rc;
+ 	}
+ 	read_unlock(&ofd->ofd_seq_list_lock);
+ 	return retval;
+ }
++LPROC_SEQ_FOPS_RO(ofd_last_id);
+ 
+-int lprocfs_ofd_rd_fmd_max_num(char *page, char **start, off_t off,
+-			       int count, int *eof, void *data)
++static int ofd_fmd_max_num_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
+-	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+-	int			 rc;
++	struct obd_device *obd = m->private;
++	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	rc = snprintf(page, count, "%u\n", ofd->ofd_fmd_max_num);
+-	return rc;
++	return seq_printf(m, "%u\n", ofd->ofd_fmd_max_num);
+ }
+ 
+-int lprocfs_ofd_wr_fmd_max_num(struct file *file, const char __user *buffer,
+-			       unsigned long count, void *data)
++static ssize_t
++ofd_fmd_max_num_seq_write(struct file *file, const char __user *buffer,
++			  size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	int			 val;
+ 	int			 rc;
+@@ -244,22 +235,22 @@ int lprocfs_ofd_wr_fmd_max_num(struct file *file, const char __user *buffer,
+ 	ofd->ofd_fmd_max_num = val;
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_fmd_max_num);
+ 
+-int lprocfs_ofd_rd_fmd_max_age(char *page, char **start, off_t off,
+-			       int count, int *eof, void *data)
++static int ofd_fmd_max_age_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
+-	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+-	int			 rc;
++	struct obd_device *obd = m->private;
++	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	rc = snprintf(page, count, "%ld\n", ofd->ofd_fmd_max_age / HZ);
+-	return rc;
++	return seq_printf(m, "%ld\n", ofd->ofd_fmd_max_age / HZ);
+ }
+ 
+-int lprocfs_ofd_wr_fmd_max_age(struct file *file, const char __user *buffer,
+-			       unsigned long count, void *data)
++static ssize_t
++ofd_fmd_max_age_seq_write(struct file *file, const char __user *buffer,
++			  size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	int			 val;
+ 	int			 rc;
+@@ -274,22 +265,22 @@ int lprocfs_ofd_wr_fmd_max_age(struct file *file, const char __user *buffer,
+ 	ofd->ofd_fmd_max_age = val * HZ;
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_fmd_max_age);
+ 
+-static int lprocfs_ofd_rd_capa(char *page, char **start, off_t off,
+-			       int count, int *eof, void *data)
++static int ofd_capa_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
+-	int			 rc;
++	struct obd_device	*obd = m->private;
+ 
+-	rc = snprintf(page, count, "capability on: %s\n",
+-		      obd->u.filter.fo_fl_oss_capa ? "oss" : "");
+-	return rc;
++	return seq_printf(m, "capability on: %s\n",
++			  obd->u.filter.fo_fl_oss_capa ? "oss" : "");
+ }
+ 
+-static int lprocfs_ofd_wr_capa(struct file *file, const char __user *buffer,
+-			       unsigned long count, void *data)
++static ssize_t
++ofd_capa_seq_write(struct file *file, const char *__user buffer, size_t count,
++		   loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	int			 val, rc;
+ 
+ 	rc = lprocfs_write_helper(buffer, count, &val);
+@@ -308,28 +299,29 @@ static int lprocfs_ofd_wr_capa(struct file *file, const char __user *buffer,
+ 		      val ? "enabled" : "disabled");
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_capa);
+ 
+-static int lprocfs_ofd_rd_capa_count(char *page, char **start, off_t off,
+-				     int count, int *eof, void *data)
++static int ofd_capa_count_seq_show(struct seq_file *m, void *data)
+ {
+-	return snprintf(page, count, "%d %d\n",
+-			capa_count[CAPA_SITE_CLIENT],
+-			capa_count[CAPA_SITE_SERVER]);
++	return seq_printf(m, "%d %d\n", capa_count[CAPA_SITE_CLIENT],
++			  capa_count[CAPA_SITE_SERVER]);
+ }
++LPROC_SEQ_FOPS_RO(ofd_capa_count);
+ 
+-int lprocfs_ofd_rd_degraded(char *page, char **start, off_t off,
+-			    int count, int *eof, void *data)
++static int ofd_degraded_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	return snprintf(page, count, "%u\n", ofd->ofd_raid_degraded);
++	return seq_printf(m, "%u\n", ofd->ofd_raid_degraded);
+ }
+ 
+-int lprocfs_ofd_wr_degraded(struct file *file, const char __user *buffer,
+-			    unsigned long count, void *data)
++static ssize_t
++ofd_degraded_seq_write(struct file *file, const char __user *buffer,
++		       size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	int			 val, rc;
+ 
+@@ -340,38 +332,37 @@ int lprocfs_ofd_wr_degraded(struct file *file, const char __user *buffer,
+ 	spin_lock(&ofd->ofd_flags_lock);
+ 	ofd->ofd_raid_degraded = !!val;
+ 	spin_unlock(&ofd->ofd_flags_lock);
+-
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_degraded);
+ 
+-int lprocfs_ofd_rd_fstype(char *page, char **start, off_t off, int count,
+-			  int *eof, void *data)
++static int ofd_fstype_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device *obd = data;
++	struct obd_device *obd = m->private;
+ 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 	struct lu_device  *d;
+ 
+ 	LASSERT(ofd->ofd_osd);
+ 	d = &ofd->ofd_osd->dd_lu_dev;
+ 	LASSERT(d->ld_type);
+-	return snprintf(page, count, "%s\n", d->ld_type->ldt_name);
++	return seq_printf(m, "%s\n", d->ld_type->ldt_name);
+ }
++LPROC_SEQ_FOPS_RO(ofd_fstype);
+ 
+-int lprocfs_ofd_rd_syncjournal(char *page, char **start, off_t off,
+-			       int count, int *eof, void *data)
++static int ofd_syncjournal_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+-	int			 rc;
+ 
+-	rc = snprintf(page, count, "%u\n", ofd->ofd_syncjournal);
+-	return rc;
++	return seq_printf(m, "%u\n", ofd->ofd_syncjournal);
+ }
+ 
+-int lprocfs_ofd_wr_syncjournal(struct file *file, const char __user *buffer,
+-			       unsigned long count, void *data)
++static ssize_t
++ofd_syncjournal_seq_write(struct file *file, const char __user *buffer,
++			  size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	int			 val;
+ 	int			 rc;
+@@ -390,6 +381,7 @@ int lprocfs_ofd_wr_syncjournal(struct file *file, const char __user *buffer,
+ 
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_syncjournal);
+ 
+ /* This must be longer than the longest string below */
+ #define SYNC_STATES_MAXLEN 16
+@@ -397,23 +389,21 @@ static char *sync_on_cancel_states[] = {"never",
+ 					"blocking",
+ 					"always" };
+ 
+-int lprocfs_ofd_rd_sync_lock_cancel(char *page, char **start, off_t off,
+-				    int count, int *eof, void *data)
++static int ofd_sync_lock_cancel_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
++	struct obd_device	*obd = m->private;
+ 	struct lu_target	*tgt = obd->u.obt.obt_lut;
+-	int			 rc;
+ 
+-	rc = snprintf(page, count, "%s\n",
+-		      sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
+-	return rc;
++	return seq_printf(m, "%s\n",
++			  sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
+ }
+ 
+-int lprocfs_ofd_wr_sync_lock_cancel(struct file *file,
+-				    const char __user *buffer,
+-				    unsigned long count, void *data)
++static ssize_t
++ofd_sync_lock_cancel_seq_write(struct file *file, const char __user *buffer,
++			       size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct lu_target	*tgt = obd->u.obt.obt_lut;
+ 	char			 kernbuf[SYNC_STATES_MAXLEN];
+ 	int			 val = -1;
+@@ -455,23 +445,23 @@ int lprocfs_ofd_wr_sync_lock_cancel(struct file *file,
+ 	spin_unlock(&tgt->lut_flags_lock);
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_sync_lock_cancel);
+ 
+-int lprocfs_ofd_rd_grant_compat_disable(char *page, char **start, off_t off,
+-					int count, int *eof, void *data)
++static int ofd_grant_compat_disable_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
+-	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+-	int			 rc;
++	struct obd_device *obd = m->private;
++	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	rc = snprintf(page, count, "%u\n", ofd->ofd_grant_compat_disable);
+-	return rc;
++	return seq_printf(m, "%u\n", ofd->ofd_grant_compat_disable);
+ }
+ 
+-int lprocfs_ofd_wr_grant_compat_disable(struct file *file,
+-					const char __user *buffer,
+-					unsigned long count, void *data)
++static ssize_t
++ofd_grant_compat_disable_seq_write(struct file *file,
++				   const char __user *buffer,
++				   size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	int			 val;
+ 	int			 rc;
+@@ -489,42 +479,43 @@ int lprocfs_ofd_wr_grant_compat_disable(struct file *file,
+ 
+ 	return count;
+ }
++LPROC_SEQ_FOPS(ofd_grant_compat_disable);
+ 
+-int lprocfs_ofd_rd_soft_sync_limit(char *page, char **start, off_t off,
+-				   int count, int *eof, void *data)
++static int ofd_soft_sync_limit_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	return lprocfs_rd_uint(page, start, off, count, eof,
+-			       &ofd->ofd_soft_sync_limit);
++	return lprocfs_uint_seq_show(m, &ofd->ofd_soft_sync_limit);
+ }
+ 
+-int lprocfs_ofd_wr_soft_sync_limit(struct file *file, const char __user *buffer,
+-				   unsigned long count, void *data)
++static ssize_t
++ofd_soft_sync_limit_seq_write(struct file *file, const char __user *buffer,
++			      size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
+-	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
++	struct seq_file	  *m = file->private_data;
++	struct obd_device *obd = m->private;
++	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	return lprocfs_wr_uint(file, buffer, count, &ofd->ofd_soft_sync_limit);
++	return lprocfs_uint_seq_write(file, buffer, count,
++				      (loff_t *) &ofd->ofd_soft_sync_limit);
+ }
++LPROC_SEQ_FOPS(ofd_soft_sync_limit);
+ 
+-static int lprocfs_rd_lfsck_speed_limit(char *page, char **start, off_t off,
+-					int count, int *eof, void *data)
++static int ofd_lfsck_speed_limit_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
++	struct obd_device       *obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	*eof = 1;
+-
+-	return lfsck_get_speed(ofd->ofd_osd, page, count);
++	return lfsck_get_speed(m, ofd->ofd_osd);
+ }
+ 
+-static int lprocfs_wr_lfsck_speed_limit(struct file *file,
+-					const char __user *buffer,
+-					unsigned long count, void *data)
++static ssize_t
++ofd_lfsck_speed_limit_seq_write(struct file *file, const char __user *buffer,
++				size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	__u32			 val;
+ 	int			 rc;
+@@ -537,38 +528,35 @@ static int lprocfs_wr_lfsck_speed_limit(struct file *file,
+ 
+ 	return rc != 0 ? rc : count;
+ }
++LPROC_SEQ_FOPS(ofd_lfsck_speed_limit);
+ 
+-static int lprocfs_rd_lfsck_layout(char *page, char **start, off_t off,
+-				   int count, int *eof, void *data)
++static int ofd_lfsck_layout_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
+-	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+-
+-	*eof = 1;
++	struct obd_device *obd = m->private;
++	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	return lfsck_dump(ofd->ofd_osd, page, count, LT_LAYOUT);
++	return lfsck_dump(m, ofd->ofd_osd, LT_LAYOUT);
+ }
++LPROC_SEQ_FOPS_RO(ofd_lfsck_layout);
+ 
+-static int lprocfs_rd_lfsck_verify_pfid(char *page, char **start, off_t off,
+-					int count, int *eof, void *data)
++static int ofd_lfsck_verify_pfid_seq_show(struct seq_file *m, void *data)
+ {
+-	struct obd_device	*obd = data;
+-	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+-
+-	*eof = 1;
++	struct obd_device *obd = m->private;
++	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+ 
+-	return snprintf(page, count,
+-			"switch: %s\ndetected: "LPU64"\nrepaired: "LPU64"\n",
+-			ofd->ofd_lfsck_verify_pfid ? "on" : "off",
+-			ofd->ofd_inconsistency_self_detected,
+-			ofd->ofd_inconsistency_self_repaired);
++	return seq_printf(m,
++			  "switch: %s\ndetected: "LPU64"\nrepaired: "LPU64"\n",
++			  ofd->ofd_lfsck_verify_pfid ? "on" : "off",
++			  ofd->ofd_inconsistency_self_detected,
++			  ofd->ofd_inconsistency_self_repaired);
+ }
+ 
+-static int lprocfs_wr_lfsck_verify_pfid(struct file *file,
+-					const char __user *buffer,
+-					unsigned long count, void *data)
++static ssize_t
++ofd_lfsck_verify_pfid_seq_write(struct file *file, const char __user *buffer,
++				size_t count, loff_t *off)
+ {
+-	struct obd_device	*obd = data;
++	struct seq_file		*m = file->private_data;
++	struct obd_device	*obd = m->private;
+ 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
+ 	__u32			 val;
+ 	int			 rc;
+@@ -581,75 +569,101 @@ static int lprocfs_wr_lfsck_verify_pfid(struct file *file,
+ 
+ 	return count;
+ }
+-
+-static struct lprocfs_vars lprocfs_ofd_obd_vars[] = {
+-	{ "uuid",		 lprocfs_rd_uuid, 0, 0 },
+-	{ "blocksize",		 lprocfs_rd_blksize, 0, 0 },
+-	{ "kbytestotal",	 lprocfs_rd_kbytestotal, 0, 0 },
+-	{ "kbytesfree",		 lprocfs_rd_kbytesfree, 0, 0 },
+-	{ "kbytesavail",	 lprocfs_rd_kbytesavail, 0, 0 },
+-	{ "filestotal",		 lprocfs_rd_filestotal, 0, 0 },
+-	{ "filesfree",		 lprocfs_rd_filesfree, 0, 0 },
+-	{ "seqs_allocated",	 lprocfs_ofd_rd_seqs, 0, 0 },
+-	{ "fstype",		 lprocfs_ofd_rd_fstype, 0, 0 },
+-	{ "last_id",		 lprocfs_ofd_rd_last_id, 0, 0 },
+-	{ "tot_dirty",		 lprocfs_ofd_rd_tot_dirty,   0, 0 },
+-	{ "tot_pending",	 lprocfs_ofd_rd_tot_pending, 0, 0 },
+-	{ "tot_granted",	 lprocfs_ofd_rd_tot_granted, 0, 0 },
+-	{ "grant_precreate",	 lprocfs_ofd_rd_grant_precreate, 0, 0 },
+-	{ "grant_ratio",	 lprocfs_ofd_rd_grant_ratio,
+-				 lprocfs_ofd_wr_grant_ratio, 0, 0 },
+-	{ "precreate_batch",	 lprocfs_ofd_rd_precreate_batch,
+-				 lprocfs_ofd_wr_precreate_batch, 0 },
+-	{ "recovery_status",	 lprocfs_obd_rd_recovery_status, 0, 0 },
+-	{ "recovery_time_soft",	 lprocfs_obd_rd_recovery_time_soft,
+-				 lprocfs_obd_wr_recovery_time_soft, 0},
+-	{ "recovery_time_hard",  lprocfs_obd_rd_recovery_time_hard,
+-				 lprocfs_obd_wr_recovery_time_hard, 0},
+-	{ "evict_client",	 0, lprocfs_wr_evict_client, 0,
+-				 &lprocfs_evict_client_fops},
+-	{ "num_exports",	 lprocfs_rd_num_exports,   0, 0 },
+-	{ "degraded",		 lprocfs_ofd_rd_degraded,
+-				 lprocfs_ofd_wr_degraded, 0},
+-	{ "sync_journal",	 lprocfs_ofd_rd_syncjournal,
+-				 lprocfs_ofd_wr_syncjournal, 0 },
+-	{ "sync_on_lock_cancel", lprocfs_ofd_rd_sync_lock_cancel,
+-				 lprocfs_ofd_wr_sync_lock_cancel, 0 },
+-	{ "instance",		 lprocfs_target_rd_instance, 0 },
+-	{ "ir_factor",		 lprocfs_obd_rd_ir_factor,
+-				 lprocfs_obd_wr_ir_factor, 0},
+-	{ "grant_compat_disable", lprocfs_ofd_rd_grant_compat_disable,
+-				  lprocfs_ofd_wr_grant_compat_disable, 0 },
+-	{ "client_cache_count",	 lprocfs_ofd_rd_fmd_max_num,
+-				 lprocfs_ofd_wr_fmd_max_num, 0 },
+-	{ "client_cache_seconds", lprocfs_ofd_rd_fmd_max_age,
+-				  lprocfs_ofd_wr_fmd_max_age, 0 },
+-	{ "capa",		 lprocfs_ofd_rd_capa,
+-				 lprocfs_ofd_wr_capa, 0 },
+-	{ "capa_count",		 lprocfs_ofd_rd_capa_count, 0, 0 },
+-	{ "job_cleanup_interval", lprocfs_rd_job_interval,
+-				  lprocfs_wr_job_interval, 0},
+-	{ "soft_sync_limit",	 lprocfs_ofd_rd_soft_sync_limit,
+-				 lprocfs_ofd_wr_soft_sync_limit, 0},
+-	{ "lfsck_speed_limit",	lprocfs_rd_lfsck_speed_limit,
+-				lprocfs_wr_lfsck_speed_limit, 0 },
+-	{ "lfsck_layout",	lprocfs_rd_lfsck_layout, 0, 0 },
+-	{ "lfsck_verify_pfid",	lprocfs_rd_lfsck_verify_pfid,
+-				lprocfs_wr_lfsck_verify_pfid, 0 },
+-	{ 0 }
+-};
+-
+-static struct lprocfs_vars lprocfs_ofd_module_vars[] = {
+-	{ "num_refs",	  lprocfs_rd_numrefs,	0, 0 },
++LPROC_SEQ_FOPS(ofd_lfsck_verify_pfid);
++
++LPROC_SEQ_FOPS_RO_TYPE(ofd, uuid);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, blksize);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, kbytestotal);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, kbytesfree);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, kbytesavail);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, filestotal);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, filesfree);
++
++LPROC_SEQ_FOPS_RO_TYPE(ofd, recovery_status);
++LPROC_SEQ_FOPS_RW_TYPE(ofd, recovery_time_soft);
++LPROC_SEQ_FOPS_RW_TYPE(ofd, recovery_time_hard);
++LPROC_SEQ_FOPS_WO_TYPE(ofd, evict_client);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, num_exports);
++LPROC_SEQ_FOPS_RO_TYPE(ofd, target_instance);
++LPROC_SEQ_FOPS_RW_TYPE(ofd, ir_factor);
++LPROC_SEQ_FOPS_RW_TYPE(ofd, job_interval);
++
++struct lprocfs_seq_vars lprocfs_ofd_obd_vars[] = {
++	{ .name =	"uuid",
++	  .fops =	&ofd_uuid_fops			},
++	{ .name =	"blocksize",
++	  .fops =	&ofd_blksize_fops		},
++	{ .name =	"kbytestotal",
++	  .fops =	&ofd_kbytestotal_fops		},
++	{ .name =	"kbytesfree",
++	  .fops =	&ofd_kbytesfree_fops		},
++	{ .name =	"kbytesavail",
++	  .fops =	&ofd_kbytesavail_fops		},
++	{ .name =	"filestotal",
++	  .fops =	&ofd_filestotal_fops		},
++	{ .name =	"filesfree",
++	  .fops =	&ofd_filesfree_fops		},
++	{ .name =	"seqs_allocated",
++	  .fops =	&ofd_seqs_fops			},
++	{ .name =	"fstype",
++	  .fops =	&ofd_fstype_fops		},
++	{ .name =	"last_id",
++	  .fops =	&ofd_last_id_fops		},
++	{ .name =	"tot_dirty",
++	  .fops =	&ofd_tot_dirty_fops		},
++	{ .name =	"tot_pending",
++	  .fops =	&ofd_tot_pending_fops		},
++	{ .name =	"tot_granted",
++	  .fops =	&ofd_tot_granted_fops		},
++	{ .name =	"grant_precreate",
++	  .fops =	&ofd_grant_precreate_fops	},
++	{ .name =	"grant_ratio",
++	  .fops =	&ofd_grant_ratio_fops		},
++	{ .name =	"precreate_batch",
++	  .fops =	&ofd_precreate_batch_fops	},
++	{ .name =	"recovery_status",
++	  .fops =	&ofd_recovery_status_fops	},
++	{ .name =	"recovery_time_soft",
++	  .fops =	&ofd_recovery_time_soft_fops	},
++	{ .name =	"recovery_time_hard",
++	  .fops =	&ofd_recovery_time_hard_fops	},
++	{ .name =	"evict_client",
++	  .fops =	&ofd_evict_client_fops		},
++	{ .name =	"num_exports",
++	  .fops =	&ofd_num_exports_fops		},
++	{ .name =	"degraded",
++	  .fops =	&ofd_degraded_fops		},
++	{ .name =	"sync_journal",
++	  .fops =	&ofd_syncjournal_fops		},
++	{ .name =	"sync_on_lock_cancel",
++	  .fops =	&ofd_sync_lock_cancel_fops	},
++	{ .name =	"instance",
++	  .fops =	&ofd_target_instance_fops	},
++	{ .name =	"ir_factor",
++	  .fops =	&ofd_ir_factor_fops		},
++	{ .name =	"grant_compat_disable",
++	  .fops =	&ofd_grant_compat_disable_fops	},
++	{ .name =	"client_cache_count",
++	  .fops =	&ofd_fmd_max_num_fops		},
++	{ .name =	"client_cache_seconds",
++	  .fops =	&ofd_fmd_max_age_fops		},
++	{ .name =	"capa",
++	  .fops =	&ofd_capa_fops			},
++	{ .name =	"capa_count",
++	  .fops =	&ofd_capa_count_fops		},
++	{ .name =	"job_cleanup_interval",
++	  .fops =	&ofd_job_interval_fops		},
++	{ .name =	"soft_sync_limit",
++	  .fops =	&ofd_soft_sync_limit_fops	},
++	{ .name =	"lfsck_speed_limit",
++	  .fops =	&ofd_lfsck_speed_limit_fops	},
++	{ .name =	"lfsck_layout",
++	  .fops =	&ofd_lfsck_layout_fops		},
++	{ .name	=	"lfsck_verify_pfid",
++	  .fops	=	&ofd_lfsck_verify_pfid_fops	},
+ 	{ 0 }
+ };
+ 
+-void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars)
+-{
+-	lvars->module_vars  = lprocfs_ofd_module_vars;
+-	lvars->obd_vars     = lprocfs_ofd_obd_vars;
+-}
+-
+ void ofd_stats_counter_init(struct lprocfs_stats *stats)
+ {
+ 	LASSERT(stats && stats->ls_num >= LPROC_OFD_STATS_LAST);
+diff --git a/lustre/ofd/ofd_dev.c b/lustre/ofd/ofd_dev.c
+index 0f0d51a..6172913 100644
+--- a/lustre/ofd/ofd_dev.c
++++ b/lustre/ofd/ofd_dev.c
+@@ -239,8 +239,7 @@ static int ofd_process_config(const struct lu_env *env, struct lu_device *d,
+ 
+ 	switch (cfg->lcfg_command) {
+ 	case LCFG_PARAM: {
+-		struct lprocfs_static_vars lvars;
+-
++		struct obd_device	*obd = ofd_obd(m);
+ 		/* For interoperability */
+ 		struct cfg_interop_param   *ptr = NULL;
+ 		struct lustre_cfg	   *old_cfg = NULL;
+@@ -278,8 +277,7 @@ static int ofd_process_config(const struct lu_env *env, struct lu_device *d,
+ 			break;
+ 		}
+ 
+-		lprocfs_ofd_init_vars(&lvars);
+-		rc = class_process_proc_param(PARAM_OST, lvars.obd_vars, cfg,
++		rc = class_process_proc_seq_param(PARAM_OST, obd->obd_vars, cfg,
+ 					      d->ld_obd);
+ 		if (rc > 0 || rc == -ENOSYS) {
+ 			CDEBUG(D_CONFIG, "pass param %s down the stack.\n",
+@@ -485,9 +483,10 @@ static struct lu_device_operations ofd_lu_ops = {
+ 	.ldo_prepare		= ofd_prepare,
+ };
+ 
++LPROC_SEQ_FOPS(lprocfs_nid_stats_clear);
++
+ static int ofd_procfs_init(struct ofd_device *ofd)
+ {
+-	struct lprocfs_static_vars	 lvars;
+ 	struct obd_device		*obd = ofd_obd(ofd);
+ 	cfs_proc_dir_entry_t		*entry;
+ 	int				 rc = 0;
+@@ -496,8 +495,8 @@ static int ofd_procfs_init(struct ofd_device *ofd)
+ 
+ 	/* lprocfs must be setup before the ofd so state can be safely added
+ 	 * to /proc incrementally as the ofd is setup */
+-	lprocfs_ofd_init_vars(&lvars);
+-	rc = lprocfs_obd_setup(obd, lvars.obd_vars);
++	obd->obd_vars = lprocfs_ofd_obd_vars;
++	rc = lprocfs_seq_obd_setup(obd);
+ 	if (rc) {
+ 		CERROR("%s: lprocfs_obd_setup failed: %d.\n",
+ 		       obd->obd_name, rc);
+@@ -513,7 +512,8 @@ static int ofd_procfs_init(struct ofd_device *ofd)
+ 
+ 	obd->obd_uses_nid_stats = 1;
+ 
+-	entry = lprocfs_register("exports", obd->obd_proc_entry, NULL, NULL);
++	entry = lprocfs_seq_register("exports", obd->obd_proc_entry, NULL,
++				     NULL);
+ 	if (IS_ERR(entry)) {
+ 		rc = PTR_ERR(entry);
+ 		CERROR("%s: error %d setting up lprocfs for %s\n",
+@@ -523,8 +523,10 @@ static int ofd_procfs_init(struct ofd_device *ofd)
+ 	obd->obd_proc_exports_entry = entry;
+ 
+ 	entry = lprocfs_add_simple(obd->obd_proc_exports_entry, "clear",
+-				   lprocfs_nid_stats_clear_read,
+-				   lprocfs_nid_stats_clear_write, obd, NULL);
++#ifndef HAVE_ONLY_PROCFS_SEQ
++				   NULL, NULL,
++#endif
++				   obd, &lprocfs_nid_stats_clear_fops);
+ 	if (IS_ERR(entry)) {
+ 		rc = PTR_ERR(entry);
+ 		CERROR("%s: add proc entry 'clear' failed: %d.\n",
+@@ -540,7 +542,7 @@ static int ofd_procfs_init(struct ofd_device *ofd)
+ 		GOTO(remove_entry_clear, rc);
+ 	RETURN(0);
+ remove_entry_clear:
+-	lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
++	lprocfs_remove(&obd->obd_proc_exports_entry);
+ obd_cleanup:
+ 	lprocfs_obd_cleanup(obd);
+ 	lprocfs_free_obd_stats(obd);
+@@ -548,51 +550,48 @@ obd_cleanup:
+ 	return rc;
+ }
+ 
++/**
++ * ofd_procfs_add_brw_stats_symlink - expose osd stats to ofd layer
++ *
++ * The osd interfaces to the backend file system exposes useful data
++ * such as brw_stats and read or write cache states. This same data
++ * needs to be exposed into the obdfilter (ofd) layer to maintain
++ * backwards compatibility. This function creates the symlinks in the
++ * proc layer to enable this.
++ */
+ static void ofd_procfs_add_brw_stats_symlink(struct ofd_device *ofd)
+ {
+ 	struct obd_device	*obd = ofd_obd(ofd);
+ 	struct obd_device	*osd_obd = ofd->ofd_osd_exp->exp_obd;
+-	cfs_proc_dir_entry_t	*osd_root = osd_obd->obd_type->typ_procroot;
+-	cfs_proc_dir_entry_t	*osd_dir;
+ 
+-	osd_dir = lprocfs_srch(osd_root, obd->obd_name);
+-	if (osd_dir == NULL)
++	if (obd->obd_proc_entry == NULL)
+ 		return;
+ 
+-	if (lprocfs_srch(osd_dir, "brw_stats") != NULL)
+-		lprocfs_add_symlink("brw_stats", obd->obd_proc_entry,
+-				    "../../%s/%s/brw_stats",
+-				    osd_root->name, osd_dir->name);
+-
+-	if (lprocfs_srch(osd_dir, "read_cache_enable") != NULL)
+-		lprocfs_add_symlink("read_cache_enable", obd->obd_proc_entry,
+-				    "../../%s/%s/read_cache_enable",
+-				    osd_root->name, osd_dir->name);
+-
+-	if (lprocfs_srch(osd_dir, "readcache_max_filesize") != NULL)
+-		lprocfs_add_symlink("readcache_max_filesize",
+-				    obd->obd_proc_entry,
+-				    "../../%s/%s/readcache_max_filesize",
+-				    osd_root->name, osd_dir->name);
+-
+-	if (lprocfs_srch(osd_dir, "writethrough_cache_enable") != NULL)
+-		lprocfs_add_symlink("writethrough_cache_enable",
+-				    obd->obd_proc_entry,
+-				    "../../%s/%s/writethrough_cache_enable",
+-				    osd_root->name, osd_dir->name);
++	lprocfs_add_symlink("brw_stats", obd->obd_proc_entry,
++			    "../../%s/%s/brw_stats",
++			    osd_obd->obd_type->typ_name, obd->obd_name);
++
++	lprocfs_add_symlink("read_cache_enable", obd->obd_proc_entry,
++			    "../../%s/%s/read_cache_enable",
++			    osd_obd->obd_type->typ_name, obd->obd_name);
++
++	lprocfs_add_symlink("readcache_max_filesize",
++			    obd->obd_proc_entry,
++			    "../../%s/%s/readcache_max_filesize",
++			    osd_obd->obd_type->typ_name, obd->obd_name);
++
++	lprocfs_add_symlink("writethrough_cache_enable",
++			    obd->obd_proc_entry,
++			    "../../%s/%s/writethrough_cache_enable",
++			    osd_obd->obd_type->typ_name, obd->obd_name);
+ }
+ 
+ static void ofd_procfs_fini(struct ofd_device *ofd)
+ {
+ 	struct obd_device *obd = ofd_obd(ofd);
+ 
+-	lprocfs_remove_proc_entry("writethrough_cache_enable",
+-				  obd->obd_proc_entry);
+-	lprocfs_remove_proc_entry("readcache_max_filesize",
+-				  obd->obd_proc_entry);
+-	lprocfs_remove_proc_entry("read_cache_enable", obd->obd_proc_entry);
+-	lprocfs_remove_proc_entry("brw_stats", obd->obd_proc_entry);
+-	lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
++	lprocfs_remove(&obd->obd_proc_exports_entry);
++	lprocfs_remove(&obd->obd_proc_entry);
+ 	lprocfs_free_per_client_stats(obd);
+ 	lprocfs_obd_cleanup(obd);
+ 	lprocfs_free_obd_stats(obd);
+@@ -2377,7 +2376,6 @@ static struct lu_device_type ofd_device_type = {
+ 
+ int __init ofd_init(void)
+ {
+-	struct lprocfs_static_vars	lvars;
+ 	int				rc;
+ 
+ 	rc = lu_kmem_init(ofd_caches);
+@@ -2390,11 +2388,9 @@ int __init ofd_init(void)
+ 		return(rc);
+ 	}
+ 
+-	lprocfs_ofd_init_vars(&lvars);
+-
+ 	rc = class_register_type(&ofd_obd_ops, NULL, true, NULL,
+ #ifndef HAVE_ONLY_PROCFS_SEQ
+-				 lvars.module_vars,
++				 NULL,
+ #endif
+ 				 LUSTRE_OST_NAME, &ofd_device_type);
+ 	return rc;
+diff --git a/lustre/ofd/ofd_internal.h b/lustre/ofd/ofd_internal.h
+index 4f12506..2e75de5 100644
+--- a/lustre/ofd/ofd_internal.h
++++ b/lustre/ofd/ofd_internal.h
+@@ -403,13 +403,9 @@ int ofd_txn_stop_cb(const struct lu_env *env, struct thandle *txn,
+ 
+ /* lproc_ofd.c */
+ #ifdef LPROCFS
+-void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars);
++extern struct lprocfs_seq_vars lprocfs_ofd_obd_vars[];
+ void ofd_stats_counter_init(struct lprocfs_stats *stats);
+ #else
+-static void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars)
+-{
+-	memset(lvars, 0, sizeof(*lvars));
+-}
+ static inline void ofd_stats_counter_init(struct lprocfs_stats *stats) {}
+ #endif
+ 
+-- 
+1.9.3
+


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/sci:master commit in: patches/
@ 2015-09-03 11:04 Justin Lecher
  0 siblings, 0 replies; 7+ messages in thread
From: Justin Lecher @ 2015-09-03 11:04 UTC (permalink / raw
  To: gentoo-commits

commit:     6beb2002a0aaa898db22fe75388b4786c2f59cef
Author:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
AuthorDate: Thu Sep  3 09:19:15 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Thu Sep  3 09:19:15 2015 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=6beb2002

Add patch for jupyter_core tests

 patches/jupyter_core-4.0.4-tests-dotipython.patch | 4743 +++++++++++++++++++++
 1 file changed, 4743 insertions(+)

diff --git a/patches/jupyter_core-4.0.4-tests-dotipython.patch b/patches/jupyter_core-4.0.4-tests-dotipython.patch
new file mode 100644
index 0000000..de84ce9
--- /dev/null
+++ b/patches/jupyter_core-4.0.4-tests-dotipython.patch
@@ -0,0 +1,4743 @@
+Patch to add tests/dotipython* data, which is not shipped
+with pypi.
+Fixes https://github.com/gentoo-science/sci/issues/479
+
+Patch by Marius Brehler.
+
+--- jupyter_core/tests/dotipython/nbextensions/myext.js
++++ jupyter_core/tests/dotipython/nbextensions/myext.js
+@@ -0,0 +1 @@
++var hello;
+
+--- jupyter_core/tests/dotipython/profile_default/ipython_config.py
++++ jupyter_core/tests/dotipython/profile_default/ipython_config.py
+@@ -0,0 +1,549 @@
++# Configuration file for ipython.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# InteractiveShellApp configuration
++#------------------------------------------------------------------------------
++
++# A Mixin for applications that start InteractiveShell instances.
++# 
++# Provides configurables for loading extensions and executing files as part of
++# configuring a Shell environment.
++# 
++# The following methods should be called by the :meth:`initialize` method of the
++# subclass:
++# 
++#   - :meth:`init_path`
++#   - :meth:`init_shell` (to be implemented by the subclass)
++#   - :meth:`init_gui_pylab`
++#   - :meth:`init_extensions`
++#   - :meth:`init_code`
++
++# lines of code to run at IPython startup.
++# c.InteractiveShellApp.exec_lines = []
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.InteractiveShellApp.hide_initial_ns = True
++
++# A list of dotted module names of IPython extensions to load.
++# c.InteractiveShellApp.extensions = []
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.InteractiveShellApp.gui = None
++
++# A file to be run
++# c.InteractiveShellApp.file_to_run = ''
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.InteractiveShellApp.matplotlib = None
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.InteractiveShellApp.reraise_ipython_extension_failures = False
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.InteractiveShellApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.InteractiveShellApp.pylab = None
++
++# Run the module as a script.
++# c.InteractiveShellApp.module_to_run = ''
++
++# dotted module name of an IPython extension to load.
++# c.InteractiveShellApp.extra_extension = ''
++
++# List of files to run at IPython startup.
++# c.InteractiveShellApp.exec_files = []
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.InteractiveShellApp.pylab_import_all = True
++
++# Execute the given command string.
++# c.InteractiveShellApp.code_to_run = ''
++
++#------------------------------------------------------------------------------
++# TerminalIPythonApp configuration
++#------------------------------------------------------------------------------
++
++# TerminalIPythonApp will inherit config from: BaseIPythonApplication,
++# Application, InteractiveShellApp
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.TerminalIPythonApp.hide_initial_ns = True
++
++# A list of dotted module names of IPython extensions to load.
++# c.TerminalIPythonApp.extensions = []
++
++# Execute the given command string.
++# c.TerminalIPythonApp.code_to_run = ''
++
++# The date format used by logging formatters for %(asctime)s
++# c.TerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.TerminalIPythonApp.reraise_ipython_extension_failures = False
++
++# Set the log level by value or name.
++# c.TerminalIPythonApp.log_level = 30
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.TerminalIPythonApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.TerminalIPythonApp.pylab = None
++
++# Run the module as a script.
++# c.TerminalIPythonApp.module_to_run = ''
++
++# Whether to display a banner upon starting IPython.
++# c.TerminalIPythonApp.display_banner = True
++
++# dotted module name of an IPython extension to load.
++# c.TerminalIPythonApp.extra_extension = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.TerminalIPythonApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.TerminalIPythonApp.overwrite = False
++
++# The IPython profile to use.
++# c.TerminalIPythonApp.profile = 'default'
++
++# If a command or file is given via the command-line, e.g. 'ipython foo.py',
++# start an interactive shell after executing the file or command.
++# c.TerminalIPythonApp.force_interact = False
++
++# List of files to run at IPython startup.
++# c.TerminalIPythonApp.exec_files = []
++
++# Start IPython quickly by skipping the loading of config files.
++# c.TerminalIPythonApp.quick = False
++
++# The Logging format template
++# c.TerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.TerminalIPythonApp.copy_config_files = False
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.TerminalIPythonApp.extra_config_file = ''
++
++# lines of code to run at IPython startup.
++# c.TerminalIPythonApp.exec_lines = []
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.TerminalIPythonApp.gui = None
++
++# A file to be run
++# c.TerminalIPythonApp.file_to_run = ''
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.TerminalIPythonApp.matplotlib = None
++
++# Suppress warning messages about legacy config files
++# c.TerminalIPythonApp.ignore_old_config = False
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.TerminalIPythonApp.ipython_dir = ''
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.TerminalIPythonApp.pylab_import_all = True
++
++#------------------------------------------------------------------------------
++# TerminalInteractiveShell configuration
++#------------------------------------------------------------------------------
++
++# TerminalInteractiveShell will inherit config from: InteractiveShell
++
++# 
++# c.TerminalInteractiveShell.object_info_string_level = 0
++
++# 
++# c.TerminalInteractiveShell.separate_out = ''
++
++# Automatically call the pdb debugger after every exception.
++# c.TerminalInteractiveShell.pdb = False
++
++# 
++# c.TerminalInteractiveShell.ipython_dir = ''
++
++# 
++# c.TerminalInteractiveShell.history_length = 10000
++
++# 
++# c.TerminalInteractiveShell.readline_remove_delims = '-/~'
++
++# auto editing of files with syntax errors.
++# c.TerminalInteractiveShell.autoedit_syntax = False
++
++# If True, anything that would be passed to the pager will be displayed as
++# regular output instead.
++# c.TerminalInteractiveShell.display_page = False
++
++# 
++# c.TerminalInteractiveShell.debug = False
++
++# 
++# c.TerminalInteractiveShell.separate_in = '\n'
++
++# Start logging to the default log file in overwrite mode. Use `logappend` to
++# specify a log file to **append** logs to.
++# c.TerminalInteractiveShell.logstart = False
++
++# Set the size of the output cache.  The default is 1000, you can change it
++# permanently in your config file.  Setting it to 0 completely disables the
++# caching system, and the minimum value accepted is 20 (if you provide a value
++# less than 20, it is reset to 0 and a warning is issued).  This limit is
++# defined because otherwise you'll spend more time re-flushing a too small cache
++# than working
++# c.TerminalInteractiveShell.cache_size = 1000
++
++# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
++# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
++# direct exit without any confirmation.
++# c.TerminalInteractiveShell.confirm_exit = True
++
++# The shell program to be used for paging.
++# c.TerminalInteractiveShell.pager = 'less'
++
++# 
++# c.TerminalInteractiveShell.wildcards_case_sensitive = True
++
++# Deprecated, use PromptManager.justify
++# c.TerminalInteractiveShell.prompts_pad_left = True
++
++# The name of the logfile to use.
++# c.TerminalInteractiveShell.logfile = ''
++
++# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
++# interactively (displaying output from expressions).
++# c.TerminalInteractiveShell.ast_node_interactivity = 'last_expr'
++
++# 
++# c.TerminalInteractiveShell.quiet = False
++
++# Save multi-line entries as one entry in readline history
++# c.TerminalInteractiveShell.multiline_history = True
++
++# Deprecated, use PromptManager.in_template
++# c.TerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
++
++# 
++# c.TerminalInteractiveShell.readline_use = True
++
++# Enable magic commands to be called without the leading %.
++# c.TerminalInteractiveShell.automagic = True
++
++# The part of the banner to be printed before the profile
++# c.TerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
++
++# Make IPython automatically call any callable object even if you didn't type
++# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
++# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
++# it is not applied if there are no more arguments on the line, and '2' for
++# 'full' autocall, where all callable objects are automatically called (even if
++# no arguments are present).
++# c.TerminalInteractiveShell.autocall = 0
++
++# Autoindent IPython code entered interactively.
++# c.TerminalInteractiveShell.autoindent = True
++
++# Set the color scheme (NoColor, Linux, or LightBG).
++# c.TerminalInteractiveShell.colors = 'LightBG'
++
++# Set the editor used by IPython (default to $EDITOR/vi/notepad).
++# c.TerminalInteractiveShell.editor = 'mate -w'
++
++# Use colors for displaying information about objects. Because this information
++# is passed through a pager (like 'less'), and some pagers get confused with
++# color codes, this capability can be turned off.
++# c.TerminalInteractiveShell.color_info = True
++
++# 
++# c.TerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
++
++# Deprecated, use PromptManager.in2_template
++# c.TerminalInteractiveShell.prompt_in2 = '   .\\D.: '
++
++# 
++# c.TerminalInteractiveShell.separate_out2 = ''
++
++# The part of the banner to be printed after the profile
++# c.TerminalInteractiveShell.banner2 = ''
++
++# Start logging to the given file in append mode. Use `logfile` to specify a log
++# file to **overwrite** logs to.
++# c.TerminalInteractiveShell.logappend = ''
++
++# Don't call post-execute functions that have failed in the past.
++# c.TerminalInteractiveShell.disable_failing_post_execute = False
++
++# Deprecated, use PromptManager.out_template
++# c.TerminalInteractiveShell.prompt_out = 'Out[\\#]: '
++
++# Enable deep (recursive) reloading by default. IPython can use the deep_reload
++# module which reloads changes in modules recursively (it replaces the reload()
++# function, so you don't need to change anything to use it). deep_reload()
++# forces a full reload of modules whose code may have changed, which the default
++# reload() function does not.  When deep_reload is off, IPython will use the
++# normal reload(), but deep_reload will still be available as dreload().
++# c.TerminalInteractiveShell.deep_reload = False
++
++# 
++# c.TerminalInteractiveShell.xmode = 'Context'
++
++# Show rewritten input, e.g. for autocall.
++# c.TerminalInteractiveShell.show_rewritten_input = True
++
++# Number of lines of your screen, used to control printing of very long strings.
++# Strings longer than this number of lines will be sent through a pager instead
++# of directly printed.  The default value for this is 0, which means IPython
++# will auto-detect your screen size every time it needs to print certain
++# potentially long strings (this doesn't change the behavior of the 'print'
++# keyword, it's only triggered internally). If for some reason this isn't
++# working well (it needs curses support), specify it yourself. Otherwise don't
++# change the default.
++# c.TerminalInteractiveShell.screen_length = 0
++
++# A list of ast.NodeTransformer subclass instances, which will be applied to
++# user input before code is run.
++# c.TerminalInteractiveShell.ast_transformers = []
++
++# Enable auto setting the terminal title.
++# c.TerminalInteractiveShell.term_title = False
++
++#------------------------------------------------------------------------------
++# PromptManager configuration
++#------------------------------------------------------------------------------
++
++# This is the primary interface for producing IPython's prompts.
++
++# 
++# c.PromptManager.color_scheme = 'Linux'
++
++# Continuation prompt.
++# c.PromptManager.in2_template = '   .\\D.: '
++
++# Input prompt.  '\#' will be transformed to the prompt number
++# c.PromptManager.in_template = 'In [\\#]: '
++
++# Output prompt. '\#' will be transformed to the prompt number
++# c.PromptManager.out_template = 'Out[\\#]: '
++
++# If True (default), each prompt will be right-aligned with the preceding one.
++# c.PromptManager.justify = True
++
++#------------------------------------------------------------------------------
++# HistoryManager configuration
++#------------------------------------------------------------------------------
++
++# A class to organize all history-related functionality in one place.
++
++# HistoryManager will inherit config from: HistoryAccessor
++
++# Options for configuring the SQLite connection
++# 
++# These options are passed as keyword args to sqlite3.connect when establishing
++# database conenctions.
++# c.HistoryManager.connection_options = {}
++
++# Should the history database include output? (default: no)
++# c.HistoryManager.db_log_output = False
++
++# enable the SQLite history
++# 
++# set enabled=False to disable the SQLite history, in which case there will be
++# no stored history, no SQLite connection, and no background saving thread.
++# This may be necessary in some threaded environments where IPython is embedded.
++# c.HistoryManager.enabled = True
++
++# Path to file to use for SQLite history database.
++# 
++# By default, IPython will put the history database in the IPython profile
++# directory.  If you would rather share one history among profiles, you can set
++# this value in each, so that they are consistent.
++# 
++# Due to an issue with fcntl, SQLite is known to misbehave on some NFS mounts.
++# If you see IPython hanging, try setting this to something on a local disk,
++# e.g::
++# 
++#     ipython --HistoryManager.hist_file=/tmp/ipython_hist.sqlite
++# c.HistoryManager.hist_file = ''
++
++# Write to database every x commands (higher values save disk access & power).
++# Values of 1 or less effectively disable caching.
++# c.HistoryManager.db_cache_size = 0
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# PlainTextFormatter configuration
++#------------------------------------------------------------------------------
++
++# The default pretty-printer.
++# 
++# This uses :mod:`IPython.lib.pretty` to compute the format data of the object.
++# If the object cannot be pretty printed, :func:`repr` is used. See the
++# documentation of :mod:`IPython.lib.pretty` for details on how to write pretty
++# printers.  Here is a simple example::
++# 
++#     def dtype_pprinter(obj, p, cycle):
++#         if cycle:
++#             return p.text('dtype(...)')
++#         if hasattr(obj, 'fields'):
++#             if obj.fields is None:
++#                 p.text(repr(obj))
++#             else:
++#                 p.begin_group(7, 'dtype([')
++#                 for i, field in enumerate(obj.descr):
++#                     if i > 0:
++#                         p.text(',')
++#                         p.breakable()
++#                     p.pretty(field)
++#                 p.end_group(7, '])')
++
++# PlainTextFormatter will inherit config from: BaseFormatter
++
++# 
++# c.PlainTextFormatter.newline = '\n'
++
++# 
++# c.PlainTextFormatter.max_width = 79
++
++# 
++# c.PlainTextFormatter.verbose = False
++
++# 
++# c.PlainTextFormatter.pprint = True
++
++# 
++# c.PlainTextFormatter.singleton_printers = {}
++
++# 
++# c.PlainTextFormatter.type_printers = {}
++
++# Truncate large collections (lists, dicts, tuples, sets) to this size.
++# 
++# Set to 0 to disable truncation.
++# c.PlainTextFormatter.max_seq_length = 1000
++
++# 
++# c.PlainTextFormatter.deferred_printers = {}
++
++# 
++# c.PlainTextFormatter.float_precision = ''
++
++#------------------------------------------------------------------------------
++# IPCompleter configuration
++#------------------------------------------------------------------------------
++
++# Extension of the completer class with IPython-specific features
++
++# IPCompleter will inherit config from: Completer
++
++# Whether to merge completion results into a single list
++# 
++# If False, only the completion results from the first non-empty completer will
++# be returned.
++# c.IPCompleter.merge_completions = True
++
++# Activate greedy completion
++# 
++# This will enable completion on elements of lists, results of function calls,
++# etc., but can be unsafe because the code is actually evaluated on TAB.
++# c.IPCompleter.greedy = False
++
++# Instruct the completer to use __all__ for the completion
++# 
++# Specifically, when completing on ``object.<tab>``.
++# 
++# When True: only those names in obj.__all__ will be included.
++# 
++# When False [default]: the __all__ attribute is ignored
++# c.IPCompleter.limit_to__all__ = False
++
++# Instruct the completer to omit private method names
++# 
++# Specifically, when completing on ``object.<tab>``.
++# 
++# When 2 [default]: all names that start with '_' will be excluded.
++# 
++# When 1: all 'magic' names (``__foo__``) will be excluded.
++# 
++# When 0: nothing will be excluded.
++# c.IPCompleter.omit__names = 2
++
++#------------------------------------------------------------------------------
++# ScriptMagics configuration
++#------------------------------------------------------------------------------
++
++# Magics for talking to scripts
++# 
++# This defines a base `%%script` cell magic for running a cell with a program in
++# a subprocess, and registers a few top-level magics that call %%script with
++# common interpreters.
++
++# Extra script cell magics to define
++# 
++# This generates simple wrappers of `%%script foo` as `%%foo`.
++# 
++# If you want to add script magics that aren't on your path, specify them in
++# script_paths
++# c.ScriptMagics.script_magics = []
++
++# Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
++# 
++# Only necessary for items in script_magics where the default path will not find
++# the right interpreter.
++# c.ScriptMagics.script_paths = {}
++
++#------------------------------------------------------------------------------
++# StoreMagics configuration
++#------------------------------------------------------------------------------
++
++# Lightweight persistence for python variables.
++# 
++# Provides the %store magic.
++
++# If True, any %store-d variables will be automatically restored when IPython
++# starts.
++# c.StoreMagics.autorestore = False
+
+--- jupyter_core/tests/dotipython/profile_default/ipython_console_config.py
++++ jupyter_core/tests/dotipython/profile_default/ipython_console_config.py
+@@ -0,0 +1,531 @@
++# Configuration file for ipython-console.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# ZMQTerminalIPythonApp configuration
++#------------------------------------------------------------------------------
++
++# ZMQTerminalIPythonApp will inherit config from: TerminalIPythonApp,
++# BaseIPythonApplication, Application, InteractiveShellApp, IPythonConsoleApp,
++# ConnectionFileMixin
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.ZMQTerminalIPythonApp.hide_initial_ns = True
++
++# set the heartbeat port [default: random]
++# c.ZMQTerminalIPythonApp.hb_port = 0
++
++# A list of dotted module names of IPython extensions to load.
++# c.ZMQTerminalIPythonApp.extensions = []
++
++# Execute the given command string.
++# c.ZMQTerminalIPythonApp.code_to_run = ''
++
++# Path to the ssh key to use for logging in to the ssh server.
++# c.ZMQTerminalIPythonApp.sshkey = ''
++
++# The date format used by logging formatters for %(asctime)s
++# c.ZMQTerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# set the control (ROUTER) port [default: random]
++# c.ZMQTerminalIPythonApp.control_port = 0
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.ZMQTerminalIPythonApp.reraise_ipython_extension_failures = False
++
++# Set the log level by value or name.
++# c.ZMQTerminalIPythonApp.log_level = 30
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.ZMQTerminalIPythonApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.ZMQTerminalIPythonApp.pylab = None
++
++# Run the module as a script.
++# c.ZMQTerminalIPythonApp.module_to_run = ''
++
++# Whether to display a banner upon starting IPython.
++# c.ZMQTerminalIPythonApp.display_banner = True
++
++# dotted module name of an IPython extension to load.
++# c.ZMQTerminalIPythonApp.extra_extension = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.ZMQTerminalIPythonApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.ZMQTerminalIPythonApp.overwrite = False
++
++# The IPython profile to use.
++# c.ZMQTerminalIPythonApp.profile = 'default'
++
++# If a command or file is given via the command-line, e.g. 'ipython foo.py',
++# start an interactive shell after executing the file or command.
++# c.ZMQTerminalIPythonApp.force_interact = False
++
++# List of files to run at IPython startup.
++# c.ZMQTerminalIPythonApp.exec_files = []
++
++# Start IPython quickly by skipping the loading of config files.
++# c.ZMQTerminalIPythonApp.quick = False
++
++# The Logging format template
++# c.ZMQTerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.ZMQTerminalIPythonApp.copy_config_files = False
++
++# set the stdin (ROUTER) port [default: random]
++# c.ZMQTerminalIPythonApp.stdin_port = 0
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.ZMQTerminalIPythonApp.extra_config_file = ''
++
++# lines of code to run at IPython startup.
++# c.ZMQTerminalIPythonApp.exec_lines = []
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.ZMQTerminalIPythonApp.gui = None
++
++# A file to be run
++# c.ZMQTerminalIPythonApp.file_to_run = ''
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.ZMQTerminalIPythonApp.matplotlib = None
++
++# Suppress warning messages about legacy config files
++# c.ZMQTerminalIPythonApp.ignore_old_config = False
++
++# set the iopub (PUB) port [default: random]
++# c.ZMQTerminalIPythonApp.iopub_port = 0
++
++# 
++# c.ZMQTerminalIPythonApp.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.ZMQTerminalIPythonApp.connection_file = ''
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.ZMQTerminalIPythonApp.ipython_dir = ''
++
++# The SSH server to use to connect to the kernel.
++# c.ZMQTerminalIPythonApp.sshserver = ''
++
++# Set to display confirmation dialog on exit. You can always use 'exit' or
++# 'quit', to force a direct exit without any confirmation.
++# c.ZMQTerminalIPythonApp.confirm_exit = True
++
++# set the shell (ROUTER) port [default: random]
++# c.ZMQTerminalIPythonApp.shell_port = 0
++
++# The name of the default kernel to start.
++# c.ZMQTerminalIPythonApp.kernel_name = 'python'
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.ZMQTerminalIPythonApp.pylab_import_all = True
++
++# Connect to an already running kernel
++# c.ZMQTerminalIPythonApp.existing = ''
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.ZMQTerminalIPythonApp.ip = ''
++
++#------------------------------------------------------------------------------
++# ZMQTerminalInteractiveShell configuration
++#------------------------------------------------------------------------------
++
++# A subclass of TerminalInteractiveShell that uses the 0MQ kernel
++
++# ZMQTerminalInteractiveShell will inherit config from:
++# TerminalInteractiveShell, InteractiveShell
++
++# 
++# c.ZMQTerminalInteractiveShell.history_length = 10000
++
++# auto editing of files with syntax errors.
++# c.ZMQTerminalInteractiveShell.autoedit_syntax = False
++
++# If True, anything that would be passed to the pager will be displayed as
++# regular output instead.
++# c.ZMQTerminalInteractiveShell.display_page = False
++
++# 
++# c.ZMQTerminalInteractiveShell.debug = False
++
++# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
++# interactively (displaying output from expressions).
++# c.ZMQTerminalInteractiveShell.ast_node_interactivity = 'last_expr'
++
++# Start logging to the default log file in overwrite mode. Use `logappend` to
++# specify a log file to **append** logs to.
++# c.ZMQTerminalInteractiveShell.logstart = False
++
++# Set the size of the output cache.  The default is 1000, you can change it
++# permanently in your config file.  Setting it to 0 completely disables the
++# caching system, and the minimum value accepted is 20 (if you provide a value
++# less than 20, it is reset to 0 and a warning is issued).  This limit is
++# defined because otherwise you'll spend more time re-flushing a too small cache
++# than working
++# c.ZMQTerminalInteractiveShell.cache_size = 1000
++
++# The shell program to be used for paging.
++# c.ZMQTerminalInteractiveShell.pager = 'less'
++
++# The name of the logfile to use.
++# c.ZMQTerminalInteractiveShell.logfile = ''
++
++# Save multi-line entries as one entry in readline history
++# c.ZMQTerminalInteractiveShell.multiline_history = True
++
++# 
++# c.ZMQTerminalInteractiveShell.readline_remove_delims = '-/~'
++
++# Enable magic commands to be called without the leading %.
++# c.ZMQTerminalInteractiveShell.automagic = True
++
++# Prefix to add to outputs coming from clients other than this one.
++# 
++# Only relevant if include_other_output is True.
++# c.ZMQTerminalInteractiveShell.other_output_prefix = '[remote] '
++
++# 
++# c.ZMQTerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
++
++# Use colors for displaying information about objects. Because this information
++# is passed through a pager (like 'less'), and some pagers get confused with
++# color codes, this capability can be turned off.
++# c.ZMQTerminalInteractiveShell.color_info = True
++
++# Callable object called via 'callable' image handler with one argument, `data`,
++# which is `msg["content"]["data"]` where `msg` is the message from iopub
++# channel.  For exmaple, you can find base64 encoded PNG data as
++# `data['image/png']`.
++# c.ZMQTerminalInteractiveShell.callable_image_handler = None
++
++# Command to invoke an image viewer program when you are using 'stream' image
++# handler.  This option is a list of string where the first element is the
++# command itself and reminders are the options for the command.  Raw image data
++# is given as STDIN to the program.
++# c.ZMQTerminalInteractiveShell.stream_image_handler = []
++
++# 
++# c.ZMQTerminalInteractiveShell.separate_out2 = ''
++
++# Autoindent IPython code entered interactively.
++# c.ZMQTerminalInteractiveShell.autoindent = True
++
++# The part of the banner to be printed after the profile
++# c.ZMQTerminalInteractiveShell.banner2 = ''
++
++# Don't call post-execute functions that have failed in the past.
++# c.ZMQTerminalInteractiveShell.disable_failing_post_execute = False
++
++# Deprecated, use PromptManager.out_template
++# c.ZMQTerminalInteractiveShell.prompt_out = 'Out[\\#]: '
++
++# 
++# c.ZMQTerminalInteractiveShell.object_info_string_level = 0
++
++# 
++# c.ZMQTerminalInteractiveShell.separate_out = ''
++
++# Automatically call the pdb debugger after every exception.
++# c.ZMQTerminalInteractiveShell.pdb = False
++
++# Deprecated, use PromptManager.in_template
++# c.ZMQTerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
++
++# 
++# c.ZMQTerminalInteractiveShell.separate_in = '\n'
++
++# 
++# c.ZMQTerminalInteractiveShell.wildcards_case_sensitive = True
++
++# Enable auto setting the terminal title.
++# c.ZMQTerminalInteractiveShell.term_title = False
++
++# Enable deep (recursive) reloading by default. IPython can use the deep_reload
++# module which reloads changes in modules recursively (it replaces the reload()
++# function, so you don't need to change anything to use it). deep_reload()
++# forces a full reload of modules whose code may have changed, which the default
++# reload() function does not.  When deep_reload is off, IPython will use the
++# normal reload(), but deep_reload will still be available as dreload().
++# c.ZMQTerminalInteractiveShell.deep_reload = False
++
++# Deprecated, use PromptManager.in2_template
++# c.ZMQTerminalInteractiveShell.prompt_in2 = '   .\\D.: '
++
++# Whether to include output from clients other than this one sharing the same
++# kernel.
++# 
++# Outputs are not displayed until enter is pressed.
++# c.ZMQTerminalInteractiveShell.include_other_output = False
++
++# Preferred object representation MIME type in order.  First matched MIME type
++# will be used.
++# c.ZMQTerminalInteractiveShell.mime_preference = ['image/png', 'image/jpeg', 'image/svg+xml']
++
++# 
++# c.ZMQTerminalInteractiveShell.readline_use = True
++
++# Make IPython automatically call any callable object even if you didn't type
++# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
++# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
++# it is not applied if there are no more arguments on the line, and '2' for
++# 'full' autocall, where all callable objects are automatically called (even if
++# no arguments are present).
++# c.ZMQTerminalInteractiveShell.autocall = 0
++
++# The part of the banner to be printed before the profile
++# c.ZMQTerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
++
++# Handler for image type output.  This is useful, for example, when connecting
++# to the kernel in which pylab inline backend is activated.  There are four
++# handlers defined.  'PIL': Use Python Imaging Library to popup image; 'stream':
++# Use an external program to show the image.  Image will be fed into the STDIN
++# of the program.  You will need to configure `stream_image_handler`;
++# 'tempfile': Use an external program to show the image.  Image will be saved in
++# a temporally file and the program is called with the temporally file.  You
++# will need to configure `tempfile_image_handler`; 'callable': You can set any
++# Python callable which is called with the image data.  You will need to
++# configure `callable_image_handler`.
++# c.ZMQTerminalInteractiveShell.image_handler = None
++
++# Set the color scheme (NoColor, Linux, or LightBG).
++# c.ZMQTerminalInteractiveShell.colors = 'LightBG'
++
++# Set the editor used by IPython (default to $EDITOR/vi/notepad).
++# c.ZMQTerminalInteractiveShell.editor = 'mate -w'
++
++# Show rewritten input, e.g. for autocall.
++# c.ZMQTerminalInteractiveShell.show_rewritten_input = True
++
++# 
++# c.ZMQTerminalInteractiveShell.xmode = 'Context'
++
++# 
++# c.ZMQTerminalInteractiveShell.quiet = False
++
++# A list of ast.NodeTransformer subclass instances, which will be applied to
++# user input before code is run.
++# c.ZMQTerminalInteractiveShell.ast_transformers = []
++
++# 
++# c.ZMQTerminalInteractiveShell.ipython_dir = ''
++
++# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
++# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
++# direct exit without any confirmation.
++# c.ZMQTerminalInteractiveShell.confirm_exit = True
++
++# Deprecated, use PromptManager.justify
++# c.ZMQTerminalInteractiveShell.prompts_pad_left = True
++
++# Timeout for giving up on a kernel (in seconds).
++# 
++# On first connect and restart, the console tests whether the kernel is running
++# and responsive by sending kernel_info_requests. This sets the timeout in
++# seconds for how long the kernel can take before being presumed dead.
++# c.ZMQTerminalInteractiveShell.kernel_timeout = 60
++
++# Number of lines of your screen, used to control printing of very long strings.
++# Strings longer than this number of lines will be sent through a pager instead
++# of directly printed.  The default value for this is 0, which means IPython
++# will auto-detect your screen size every time it needs to print certain
++# potentially long strings (this doesn't change the behavior of the 'print'
++# keyword, it's only triggered internally). If for some reason this isn't
++# working well (it needs curses support), specify it yourself. Otherwise don't
++# change the default.
++# c.ZMQTerminalInteractiveShell.screen_length = 0
++
++# Start logging to the given file in append mode. Use `logfile` to specify a log
++# file to **overwrite** logs to.
++# c.ZMQTerminalInteractiveShell.logappend = ''
++
++# Command to invoke an image viewer program when you are using 'tempfile' image
++# handler.  This option is a list of string where the first element is the
++# command itself and reminders are the options for the command.  You can use
++# {file} and {format} in the string to represent the location of the generated
++# image file and image format.
++# c.ZMQTerminalInteractiveShell.tempfile_image_handler = []
++
++#------------------------------------------------------------------------------
++# KernelManager configuration
++#------------------------------------------------------------------------------
++
++# Manages a single kernel in a subprocess on this host.
++# 
++# This version starts kernels with Popen.
++
++# KernelManager will inherit config from: ConnectionFileMixin
++
++# set the heartbeat port [default: random]
++# c.KernelManager.hb_port = 0
++
++# set the stdin (ROUTER) port [default: random]
++# c.KernelManager.stdin_port = 0
++
++# 
++# c.KernelManager.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.KernelManager.connection_file = ''
++
++# set the control (ROUTER) port [default: random]
++# c.KernelManager.control_port = 0
++
++# set the shell (ROUTER) port [default: random]
++# c.KernelManager.shell_port = 0
++
++# Should we autorestart the kernel if it dies.
++# c.KernelManager.autorestart = False
++
++# DEPRECATED: Use kernel_name instead.
++# 
++# The Popen Command to launch the kernel. Override this if you have a custom
++# kernel. If kernel_cmd is specified in a configuration file, IPython does not
++# pass any arguments to the kernel, because it cannot make any assumptions about
++# the  arguments that the kernel understands. In particular, this means that the
++# kernel does not receive the option --debug if it given on the IPython command
++# line.
++# c.KernelManager.kernel_cmd = []
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.KernelManager.ip = ''
++
++# set the iopub (PUB) port [default: random]
++# c.KernelManager.iopub_port = 0
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# Session configuration
++#------------------------------------------------------------------------------
++
++# Object for handling serialization and sending of messages.
++# 
++# The Session object handles building messages and sending them with ZMQ sockets
++# or ZMQStream objects.  Objects can communicate with each other over the
++# network via Session objects, and only need to work with the dict-based IPython
++# message spec. The Session will handle serialization/deserialization, security,
++# and metadata.
++# 
++# Sessions support configurable serialization via packer/unpacker traits, and
++# signing with HMAC digests via the key/keyfile traits.
++# 
++# Parameters ----------
++# 
++# debug : bool
++#     whether to trigger extra debugging statements
++# packer/unpacker : str : 'json', 'pickle' or import_string
++#     importstrings for methods to serialize message parts.  If just
++#     'json' or 'pickle', predefined JSON and pickle packers will be used.
++#     Otherwise, the entire importstring must be used.
++# 
++#     The functions must accept at least valid JSON input, and output *bytes*.
++# 
++#     For example, to use msgpack:
++#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
++# pack/unpack : callables
++#     You can also set the pack/unpack callables for serialization directly.
++# session : bytes
++#     the ID of this Session object.  The default is to generate a new UUID.
++# username : unicode
++#     username added to message headers.  The default is to ask the OS.
++# key : bytes
++#     The key used to initialize an HMAC signature.  If unset, messages
++#     will not be signed or checked.
++# keyfile : filepath
++#     The file containing a key.  If this is set, `key` will be initialized
++#     to the contents of the file.
++
++# The digest scheme used to construct the message signatures. Must have the form
++# 'hmac-HASH'.
++# c.Session.signature_scheme = 'hmac-sha256'
++
++# The maximum number of digests to remember.
++# 
++# The digest history will be culled when it exceeds this value.
++# c.Session.digest_history_size = 65536
++
++# The name of the unpacker for unserializing messages. Only used with custom
++# functions for `packer`.
++# c.Session.unpacker = 'json'
++
++# The name of the packer for serializing messages. Should be one of 'json',
++# 'pickle', or an import name for a custom callable serializer.
++# c.Session.packer = 'json'
++
++# Username for the Session. Default is your system username.
++# c.Session.username = 'minrk'
++
++# Debug output in the Session
++# c.Session.debug = False
++
++# path to file containing execution key.
++# c.Session.keyfile = ''
++
++# The maximum number of items for a container to be introspected for custom
++# serialization. Containers larger than this are pickled outright.
++# c.Session.item_threshold = 64
++
++# Threshold (in bytes) beyond which an object's buffer should be extracted to
++# avoid pickling.
++# c.Session.buffer_threshold = 1024
++
++# The UUID identifying this session.
++# c.Session.session = ''
++
++# Threshold (in bytes) beyond which a buffer should be sent without copying.
++# c.Session.copy_threshold = 65536
++
++# execution key, for signing messages.
++# c.Session.key = b''
++
++# Metadata dictionary, which serves as the default top-level metadata dict for
++# each message.
++# c.Session.metadata = {}
+
+--- jupyter_core/tests/dotipython/profile_default/ipython_kernel_config.py
++++ jupyter_core/tests/dotipython/profile_default/ipython_kernel_config.py
+@@ -0,0 +1,408 @@
++# Configuration file for ipython-kernel.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# IPKernelApp configuration
++#------------------------------------------------------------------------------
++
++# IPython: an enhanced interactive Python shell.
++
++# IPKernelApp will inherit config from: BaseIPythonApplication, Application,
++# InteractiveShellApp, ConnectionFileMixin
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.IPKernelApp.hide_initial_ns = True
++
++# The importstring for the DisplayHook factory
++# c.IPKernelApp.displayhook_class = 'IPython.kernel.zmq.displayhook.ZMQDisplayHook'
++
++# A list of dotted module names of IPython extensions to load.
++# c.IPKernelApp.extensions = []
++
++# Execute the given command string.
++# c.IPKernelApp.code_to_run = ''
++
++# redirect stderr to the null device
++# c.IPKernelApp.no_stderr = False
++
++# The date format used by logging formatters for %(asctime)s
++# c.IPKernelApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# Whether to create profile dir if it doesn't exist
++# c.IPKernelApp.auto_create = False
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.IPKernelApp.reraise_ipython_extension_failures = False
++
++# Set the log level by value or name.
++# c.IPKernelApp.log_level = 30
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.IPKernelApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.IPKernelApp.pylab = None
++
++# Run the module as a script.
++# c.IPKernelApp.module_to_run = ''
++
++# The importstring for the OutStream factory
++# c.IPKernelApp.outstream_class = 'IPython.kernel.zmq.iostream.OutStream'
++
++# dotted module name of an IPython extension to load.
++# c.IPKernelApp.extra_extension = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.IPKernelApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.IPKernelApp.overwrite = False
++
++# The IPython profile to use.
++# c.IPKernelApp.profile = 'default'
++
++# List of files to run at IPython startup.
++# c.IPKernelApp.exec_files = []
++
++# The Logging format template
++# c.IPKernelApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.IPKernelApp.copy_config_files = False
++
++# set the stdin (ROUTER) port [default: random]
++# c.IPKernelApp.stdin_port = 0
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.IPKernelApp.extra_config_file = ''
++
++# lines of code to run at IPython startup.
++# c.IPKernelApp.exec_lines = []
++
++# set the control (ROUTER) port [default: random]
++# c.IPKernelApp.control_port = 0
++
++# set the heartbeat port [default: random]
++# c.IPKernelApp.hb_port = 0
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.IPKernelApp.gui = None
++
++# A file to be run
++# c.IPKernelApp.file_to_run = ''
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.IPKernelApp.ipython_dir = ''
++
++# kill this process if its parent dies.  On Windows, the argument specifies the
++# HANDLE of the parent process, otherwise it is simply boolean.
++# c.IPKernelApp.parent_handle = 0
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.IPKernelApp.matplotlib = None
++
++# set the iopub (PUB) port [default: random]
++# c.IPKernelApp.iopub_port = 0
++
++# redirect stdout to the null device
++# c.IPKernelApp.no_stdout = False
++
++# 
++# c.IPKernelApp.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.IPKernelApp.connection_file = ''
++
++# The Kernel subclass to be used.
++# 
++# This should allow easy re-use of the IPKernelApp entry point to configure and
++# launch kernels other than IPython's own.
++# c.IPKernelApp.kernel_class = <class 'IPython.kernel.zmq.ipkernel.IPythonKernel'>
++
++# ONLY USED ON WINDOWS Interrupt this process when the parent is signaled.
++# c.IPKernelApp.interrupt = 0
++
++# set the shell (ROUTER) port [default: random]
++# c.IPKernelApp.shell_port = 0
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.IPKernelApp.pylab_import_all = True
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.IPKernelApp.ip = ''
++
++#------------------------------------------------------------------------------
++# IPythonKernel configuration
++#------------------------------------------------------------------------------
++
++# IPythonKernel will inherit config from: Kernel
++
++# 
++# c.IPythonKernel._execute_sleep = 0.0005
++
++# Whether to use appnope for compatiblity with OS X App Nap.
++# 
++# Only affects OS X >= 10.9.
++# c.IPythonKernel._darwin_app_nap = True
++
++# 
++# c.IPythonKernel._poll_interval = 0.05
++
++#------------------------------------------------------------------------------
++# ZMQInteractiveShell configuration
++#------------------------------------------------------------------------------
++
++# A subclass of InteractiveShell for ZMQ.
++
++# ZMQInteractiveShell will inherit config from: InteractiveShell
++
++# 
++# c.ZMQInteractiveShell.object_info_string_level = 0
++
++# 
++# c.ZMQInteractiveShell.separate_out = ''
++
++# Automatically call the pdb debugger after every exception.
++# c.ZMQInteractiveShell.pdb = False
++
++# 
++# c.ZMQInteractiveShell.ipython_dir = ''
++
++# 
++# c.ZMQInteractiveShell.history_length = 10000
++
++# 
++# c.ZMQInteractiveShell.readline_remove_delims = '-/~'
++
++# If True, anything that would be passed to the pager will be displayed as
++# regular output instead.
++# c.ZMQInteractiveShell.display_page = False
++
++# Deprecated, use PromptManager.in2_template
++# c.ZMQInteractiveShell.prompt_in2 = '   .\\D.: '
++
++# 
++# c.ZMQInteractiveShell.separate_in = '\n'
++
++# Start logging to the default log file in overwrite mode. Use `logappend` to
++# specify a log file to **append** logs to.
++# c.ZMQInteractiveShell.logstart = False
++
++# Set the size of the output cache.  The default is 1000, you can change it
++# permanently in your config file.  Setting it to 0 completely disables the
++# caching system, and the minimum value accepted is 20 (if you provide a value
++# less than 20, it is reset to 0 and a warning is issued).  This limit is
++# defined because otherwise you'll spend more time re-flushing a too small cache
++# than working
++# c.ZMQInteractiveShell.cache_size = 1000
++
++# 
++# c.ZMQInteractiveShell.wildcards_case_sensitive = True
++
++# The name of the logfile to use.
++# c.ZMQInteractiveShell.logfile = ''
++
++# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
++# interactively (displaying output from expressions).
++# c.ZMQInteractiveShell.ast_node_interactivity = 'last_expr'
++
++# 
++# c.ZMQInteractiveShell.debug = False
++
++# 
++# c.ZMQInteractiveShell.quiet = False
++
++# Save multi-line entries as one entry in readline history
++# c.ZMQInteractiveShell.multiline_history = True
++
++# Deprecated, use PromptManager.in_template
++# c.ZMQInteractiveShell.prompt_in1 = 'In [\\#]: '
++
++# Enable magic commands to be called without the leading %.
++# c.ZMQInteractiveShell.automagic = True
++
++# The part of the banner to be printed before the profile
++# c.ZMQInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
++
++# Make IPython automatically call any callable object even if you didn't type
++# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
++# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
++# it is not applied if there are no more arguments on the line, and '2' for
++# 'full' autocall, where all callable objects are automatically called (even if
++# no arguments are present).
++# c.ZMQInteractiveShell.autocall = 0
++
++# 
++# c.ZMQInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
++
++# Set the color scheme (NoColor, Linux, or LightBG).
++# c.ZMQInteractiveShell.colors = 'LightBG'
++
++# Use colors for displaying information about objects. Because this information
++# is passed through a pager (like 'less'), and some pagers get confused with
++# color codes, this capability can be turned off.
++# c.ZMQInteractiveShell.color_info = True
++
++# Show rewritten input, e.g. for autocall.
++# c.ZMQInteractiveShell.show_rewritten_input = True
++
++# 
++# c.ZMQInteractiveShell.xmode = 'Context'
++
++# 
++# c.ZMQInteractiveShell.separate_out2 = ''
++
++# The part of the banner to be printed after the profile
++# c.ZMQInteractiveShell.banner2 = ''
++
++# Start logging to the given file in append mode. Use `logfile` to specify a log
++# file to **overwrite** logs to.
++# c.ZMQInteractiveShell.logappend = ''
++
++# Don't call post-execute functions that have failed in the past.
++# c.ZMQInteractiveShell.disable_failing_post_execute = False
++
++# Deprecated, use PromptManager.out_template
++# c.ZMQInteractiveShell.prompt_out = 'Out[\\#]: '
++
++# Enable deep (recursive) reloading by default. IPython can use the deep_reload
++# module which reloads changes in modules recursively (it replaces the reload()
++# function, so you don't need to change anything to use it). deep_reload()
++# forces a full reload of modules whose code may have changed, which the default
++# reload() function does not.  When deep_reload is off, IPython will use the
++# normal reload(), but deep_reload will still be available as dreload().
++# c.ZMQInteractiveShell.deep_reload = False
++
++# Deprecated, use PromptManager.justify
++# c.ZMQInteractiveShell.prompts_pad_left = True
++
++# A list of ast.NodeTransformer subclass instances, which will be applied to
++# user input before code is run.
++# c.ZMQInteractiveShell.ast_transformers = []
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# Session configuration
++#------------------------------------------------------------------------------
++
++# Object for handling serialization and sending of messages.
++# 
++# The Session object handles building messages and sending them with ZMQ sockets
++# or ZMQStream objects.  Objects can communicate with each other over the
++# network via Session objects, and only need to work with the dict-based IPython
++# message spec. The Session will handle serialization/deserialization, security,
++# and metadata.
++# 
++# Sessions support configurable serialization via packer/unpacker traits, and
++# signing with HMAC digests via the key/keyfile traits.
++# 
++# Parameters ----------
++# 
++# debug : bool
++#     whether to trigger extra debugging statements
++# packer/unpacker : str : 'json', 'pickle' or import_string
++#     importstrings for methods to serialize message parts.  If just
++#     'json' or 'pickle', predefined JSON and pickle packers will be used.
++#     Otherwise, the entire importstring must be used.
++# 
++#     The functions must accept at least valid JSON input, and output *bytes*.
++# 
++#     For example, to use msgpack:
++#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
++# pack/unpack : callables
++#     You can also set the pack/unpack callables for serialization directly.
++# session : bytes
++#     the ID of this Session object.  The default is to generate a new UUID.
++# username : unicode
++#     username added to message headers.  The default is to ask the OS.
++# key : bytes
++#     The key used to initialize an HMAC signature.  If unset, messages
++#     will not be signed or checked.
++# keyfile : filepath
++#     The file containing a key.  If this is set, `key` will be initialized
++#     to the contents of the file.
++
++# The digest scheme used to construct the message signatures. Must have the form
++# 'hmac-HASH'.
++# c.Session.signature_scheme = 'hmac-sha256'
++
++# The maximum number of digests to remember.
++# 
++# The digest history will be culled when it exceeds this value.
++# c.Session.digest_history_size = 65536
++
++# The name of the unpacker for unserializing messages. Only used with custom
++# functions for `packer`.
++# c.Session.unpacker = 'json'
++
++# The name of the packer for serializing messages. Should be one of 'json',
++# 'pickle', or an import name for a custom callable serializer.
++# c.Session.packer = 'json'
++
++# Username for the Session. Default is your system username.
++# c.Session.username = 'minrk'
++
++# Debug output in the Session
++# c.Session.debug = False
++
++# path to file containing execution key.
++# c.Session.keyfile = ''
++
++# The maximum number of items for a container to be introspected for custom
++# serialization. Containers larger than this are pickled outright.
++# c.Session.item_threshold = 64
++
++# Threshold (in bytes) beyond which an object's buffer should be extracted to
++# avoid pickling.
++# c.Session.buffer_threshold = 1024
++
++# The UUID identifying this session.
++# c.Session.session = ''
++
++# Threshold (in bytes) beyond which a buffer should be sent without copying.
++# c.Session.copy_threshold = 65536
++
++# execution key, for signing messages.
++# c.Session.key = b''
++
++# Metadata dictionary, which serves as the default top-level metadata dict for
++# each message.
++# c.Session.metadata = {}
+
+--- jupyter_core/tests/dotipython/profile_default/ipython_nbconvert_config.py
++++ jupyter_core/tests/dotipython/profile_default/ipython_nbconvert_config.py
+@@ -0,0 +1 @@
++c.NbConvertApp.post_processors = []
+
+--- jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
++++ jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
+@@ -0,0 +1 @@
++c.NotebookApp.open_browser = False
+
+--- jupyter_core/tests/dotipython/profile_default/static/custom/custom.css
++++ jupyter_core/tests/dotipython/profile_default/static/custom/custom.css
+@@ -0,0 +1,7 @@
++/*
++Placeholder for custom user CSS
++
++mainly to be overridden in profile/static/custom/custom.css
++
++This will always be an empty file in IPython
++*/
+\ No newline at end of file
+
+--- jupyter_core/tests/dotipython/profile_default/static/custom/custom.js
++++ jupyter_core/tests/dotipython/profile_default/static/custom/custom.js
+@@ -0,0 +1,82 @@
++// leave at least 2 line with only a star on it below, or doc generation fails
++/**
++ *
++ *
++ * Placeholder for custom user javascript
++ * mainly to be overridden in profile/static/custom/custom.js
++ * This will always be an empty file in IPython
++ *
++ * User could add any javascript in the `profile/static/custom/custom.js` file.
++ * It will be executed by the ipython notebook at load time.
++ *
++ * Same thing with `profile/static/custom/custom.css` to inject custom css into the notebook.
++ *
++ *
++ * The object available at load time depend on the version of IPython in use.
++ * there is no guaranties of API stability.
++ *
++ * The example below explain the principle, and might not be valid.
++ *
++ * Instances are created after the loading of this file and might need to be accessed using events:
++ *     define([
++ *        'base/js/namespace',
++ *        'base/js/events'
++ *     ], function(IPython, events) {
++ *         events.on("app_initialized.NotebookApp", function () {
++ *             IPython.keyboard_manager....
++ *         });
++ *     });
++ *
++ * __Example 1:__
++ *
++ * Create a custom button in toolbar that execute `%qtconsole` in kernel
++ * and hence open a qtconsole attached to the same kernel as the current notebook
++ *
++ *    define([
++ *        'base/js/namespace',
++ *        'base/js/events'
++ *    ], function(IPython, events) {
++ *        events.on('app_initialized.NotebookApp', function(){
++ *            IPython.toolbar.add_buttons_group([
++ *                {
++ *                    'label'   : 'run qtconsole',
++ *                    'icon'    : 'icon-terminal', // select your icon from http://fortawesome.github.io/Font-Awesome/icons
++ *                    'callback': function () {
++ *                        IPython.notebook.kernel.execute('%qtconsole')
++ *                    }
++ *                }
++ *                // add more button here if needed.
++ *                ]);
++ *        });
++ *    });
++ *
++ * __Example 2:__
++ *
++ * At the completion of the dashboard loading, load an unofficial javascript extension
++ * that is installed in profile/static/custom/
++ *
++ *    define([
++ *        'base/js/events'
++ *    ], function(events) {
++ *        events.on('app_initialized.DashboardApp', function(){
++ *            require(['custom/unofficial_extension.js'])
++ *        });
++ *    });
++ *
++ * __Example 3:__
++ *
++ *  Use `jQuery.getScript(url [, success(script, textStatus, jqXHR)] );`
++ *  to load custom script into the notebook.
++ *
++ *    // to load the metadata ui extension example.
++ *    $.getScript('/static/notebook/js/celltoolbarpresets/example.js');
++ *    // or
++ *    // to load the metadata ui extension to control slideshow mode / reveal js for nbconvert
++ *    $.getScript('/static/notebook/js/celltoolbarpresets/slideshow.js');
++ *
++ *
++ * @module IPython
++ * @namespace IPython
++ * @class customjs
++ * @static
++ */
+
+--- jupyter_core/tests/dotipython_empty/profile_default/ipython_config.py
++++ jupyter_core/tests/dotipython_empty/profile_default/ipython_config.py
+@@ -0,0 +1,549 @@
++# Configuration file for ipython.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# InteractiveShellApp configuration
++#------------------------------------------------------------------------------
++
++# A Mixin for applications that start InteractiveShell instances.
++# 
++# Provides configurables for loading extensions and executing files as part of
++# configuring a Shell environment.
++# 
++# The following methods should be called by the :meth:`initialize` method of the
++# subclass:
++# 
++#   - :meth:`init_path`
++#   - :meth:`init_shell` (to be implemented by the subclass)
++#   - :meth:`init_gui_pylab`
++#   - :meth:`init_extensions`
++#   - :meth:`init_code`
++
++# lines of code to run at IPython startup.
++# c.InteractiveShellApp.exec_lines = []
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.InteractiveShellApp.hide_initial_ns = True
++
++# A list of dotted module names of IPython extensions to load.
++# c.InteractiveShellApp.extensions = []
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.InteractiveShellApp.gui = None
++
++# A file to be run
++# c.InteractiveShellApp.file_to_run = ''
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.InteractiveShellApp.matplotlib = None
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.InteractiveShellApp.reraise_ipython_extension_failures = False
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.InteractiveShellApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.InteractiveShellApp.pylab = None
++
++# Run the module as a script.
++# c.InteractiveShellApp.module_to_run = ''
++
++# dotted module name of an IPython extension to load.
++# c.InteractiveShellApp.extra_extension = ''
++
++# List of files to run at IPython startup.
++# c.InteractiveShellApp.exec_files = []
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.InteractiveShellApp.pylab_import_all = True
++
++# Execute the given command string.
++# c.InteractiveShellApp.code_to_run = ''
++
++#------------------------------------------------------------------------------
++# TerminalIPythonApp configuration
++#------------------------------------------------------------------------------
++
++# TerminalIPythonApp will inherit config from: BaseIPythonApplication,
++# Application, InteractiveShellApp
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.TerminalIPythonApp.hide_initial_ns = True
++
++# A list of dotted module names of IPython extensions to load.
++# c.TerminalIPythonApp.extensions = []
++
++# Execute the given command string.
++# c.TerminalIPythonApp.code_to_run = ''
++
++# The date format used by logging formatters for %(asctime)s
++# c.TerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.TerminalIPythonApp.reraise_ipython_extension_failures = False
++
++# Set the log level by value or name.
++# c.TerminalIPythonApp.log_level = 30
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.TerminalIPythonApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.TerminalIPythonApp.pylab = None
++
++# Run the module as a script.
++# c.TerminalIPythonApp.module_to_run = ''
++
++# Whether to display a banner upon starting IPython.
++# c.TerminalIPythonApp.display_banner = True
++
++# dotted module name of an IPython extension to load.
++# c.TerminalIPythonApp.extra_extension = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.TerminalIPythonApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.TerminalIPythonApp.overwrite = False
++
++# The IPython profile to use.
++# c.TerminalIPythonApp.profile = 'default'
++
++# If a command or file is given via the command-line, e.g. 'ipython foo.py',
++# start an interactive shell after executing the file or command.
++# c.TerminalIPythonApp.force_interact = False
++
++# List of files to run at IPython startup.
++# c.TerminalIPythonApp.exec_files = []
++
++# Start IPython quickly by skipping the loading of config files.
++# c.TerminalIPythonApp.quick = False
++
++# The Logging format template
++# c.TerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.TerminalIPythonApp.copy_config_files = False
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.TerminalIPythonApp.extra_config_file = ''
++
++# lines of code to run at IPython startup.
++# c.TerminalIPythonApp.exec_lines = []
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.TerminalIPythonApp.gui = None
++
++# A file to be run
++# c.TerminalIPythonApp.file_to_run = ''
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.TerminalIPythonApp.matplotlib = None
++
++# Suppress warning messages about legacy config files
++# c.TerminalIPythonApp.ignore_old_config = False
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.TerminalIPythonApp.ipython_dir = ''
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.TerminalIPythonApp.pylab_import_all = True
++
++#------------------------------------------------------------------------------
++# TerminalInteractiveShell configuration
++#------------------------------------------------------------------------------
++
++# TerminalInteractiveShell will inherit config from: InteractiveShell
++
++# 
++# c.TerminalInteractiveShell.object_info_string_level = 0
++
++# 
++# c.TerminalInteractiveShell.separate_out = ''
++
++# Automatically call the pdb debugger after every exception.
++# c.TerminalInteractiveShell.pdb = False
++
++# 
++# c.TerminalInteractiveShell.ipython_dir = ''
++
++# 
++# c.TerminalInteractiveShell.history_length = 10000
++
++# 
++# c.TerminalInteractiveShell.readline_remove_delims = '-/~'
++
++# auto editing of files with syntax errors.
++# c.TerminalInteractiveShell.autoedit_syntax = False
++
++# If True, anything that would be passed to the pager will be displayed as
++# regular output instead.
++# c.TerminalInteractiveShell.display_page = False
++
++# 
++# c.TerminalInteractiveShell.debug = False
++
++# 
++# c.TerminalInteractiveShell.separate_in = '\n'
++
++# Start logging to the default log file in overwrite mode. Use `logappend` to
++# specify a log file to **append** logs to.
++# c.TerminalInteractiveShell.logstart = False
++
++# Set the size of the output cache.  The default is 1000, you can change it
++# permanently in your config file.  Setting it to 0 completely disables the
++# caching system, and the minimum value accepted is 20 (if you provide a value
++# less than 20, it is reset to 0 and a warning is issued).  This limit is
++# defined because otherwise you'll spend more time re-flushing a too small cache
++# than working
++# c.TerminalInteractiveShell.cache_size = 1000
++
++# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
++# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
++# direct exit without any confirmation.
++# c.TerminalInteractiveShell.confirm_exit = True
++
++# The shell program to be used for paging.
++# c.TerminalInteractiveShell.pager = 'less'
++
++# 
++# c.TerminalInteractiveShell.wildcards_case_sensitive = True
++
++# Deprecated, use PromptManager.justify
++# c.TerminalInteractiveShell.prompts_pad_left = True
++
++# The name of the logfile to use.
++# c.TerminalInteractiveShell.logfile = ''
++
++# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
++# interactively (displaying output from expressions).
++# c.TerminalInteractiveShell.ast_node_interactivity = 'last_expr'
++
++# 
++# c.TerminalInteractiveShell.quiet = False
++
++# Save multi-line entries as one entry in readline history
++# c.TerminalInteractiveShell.multiline_history = True
++
++# Deprecated, use PromptManager.in_template
++# c.TerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
++
++# 
++# c.TerminalInteractiveShell.readline_use = True
++
++# Enable magic commands to be called without the leading %.
++# c.TerminalInteractiveShell.automagic = True
++
++# The part of the banner to be printed before the profile
++# c.TerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
++
++# Make IPython automatically call any callable object even if you didn't type
++# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
++# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
++# it is not applied if there are no more arguments on the line, and '2' for
++# 'full' autocall, where all callable objects are automatically called (even if
++# no arguments are present).
++# c.TerminalInteractiveShell.autocall = 0
++
++# Autoindent IPython code entered interactively.
++# c.TerminalInteractiveShell.autoindent = True
++
++# Set the color scheme (NoColor, Linux, or LightBG).
++# c.TerminalInteractiveShell.colors = 'LightBG'
++
++# Set the editor used by IPython (default to $EDITOR/vi/notepad).
++# c.TerminalInteractiveShell.editor = 'mate -w'
++
++# Use colors for displaying information about objects. Because this information
++# is passed through a pager (like 'less'), and some pagers get confused with
++# color codes, this capability can be turned off.
++# c.TerminalInteractiveShell.color_info = True
++
++# 
++# c.TerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
++
++# Deprecated, use PromptManager.in2_template
++# c.TerminalInteractiveShell.prompt_in2 = '   .\\D.: '
++
++# 
++# c.TerminalInteractiveShell.separate_out2 = ''
++
++# The part of the banner to be printed after the profile
++# c.TerminalInteractiveShell.banner2 = ''
++
++# Start logging to the given file in append mode. Use `logfile` to specify a log
++# file to **overwrite** logs to.
++# c.TerminalInteractiveShell.logappend = ''
++
++# Don't call post-execute functions that have failed in the past.
++# c.TerminalInteractiveShell.disable_failing_post_execute = False
++
++# Deprecated, use PromptManager.out_template
++# c.TerminalInteractiveShell.prompt_out = 'Out[\\#]: '
++
++# Enable deep (recursive) reloading by default. IPython can use the deep_reload
++# module which reloads changes in modules recursively (it replaces the reload()
++# function, so you don't need to change anything to use it). deep_reload()
++# forces a full reload of modules whose code may have changed, which the default
++# reload() function does not.  When deep_reload is off, IPython will use the
++# normal reload(), but deep_reload will still be available as dreload().
++# c.TerminalInteractiveShell.deep_reload = False
++
++# 
++# c.TerminalInteractiveShell.xmode = 'Context'
++
++# Show rewritten input, e.g. for autocall.
++# c.TerminalInteractiveShell.show_rewritten_input = True
++
++# Number of lines of your screen, used to control printing of very long strings.
++# Strings longer than this number of lines will be sent through a pager instead
++# of directly printed.  The default value for this is 0, which means IPython
++# will auto-detect your screen size every time it needs to print certain
++# potentially long strings (this doesn't change the behavior of the 'print'
++# keyword, it's only triggered internally). If for some reason this isn't
++# working well (it needs curses support), specify it yourself. Otherwise don't
++# change the default.
++# c.TerminalInteractiveShell.screen_length = 0
++
++# A list of ast.NodeTransformer subclass instances, which will be applied to
++# user input before code is run.
++# c.TerminalInteractiveShell.ast_transformers = []
++
++# Enable auto setting the terminal title.
++# c.TerminalInteractiveShell.term_title = False
++
++#------------------------------------------------------------------------------
++# PromptManager configuration
++#------------------------------------------------------------------------------
++
++# This is the primary interface for producing IPython's prompts.
++
++# 
++# c.PromptManager.color_scheme = 'Linux'
++
++# Continuation prompt.
++# c.PromptManager.in2_template = '   .\\D.: '
++
++# Input prompt.  '\#' will be transformed to the prompt number
++# c.PromptManager.in_template = 'In [\\#]: '
++
++# Output prompt. '\#' will be transformed to the prompt number
++# c.PromptManager.out_template = 'Out[\\#]: '
++
++# If True (default), each prompt will be right-aligned with the preceding one.
++# c.PromptManager.justify = True
++
++#------------------------------------------------------------------------------
++# HistoryManager configuration
++#------------------------------------------------------------------------------
++
++# A class to organize all history-related functionality in one place.
++
++# HistoryManager will inherit config from: HistoryAccessor
++
++# Options for configuring the SQLite connection
++# 
++# These options are passed as keyword args to sqlite3.connect when establishing
++# database conenctions.
++# c.HistoryManager.connection_options = {}
++
++# Should the history database include output? (default: no)
++# c.HistoryManager.db_log_output = False
++
++# enable the SQLite history
++# 
++# set enabled=False to disable the SQLite history, in which case there will be
++# no stored history, no SQLite connection, and no background saving thread.
++# This may be necessary in some threaded environments where IPython is embedded.
++# c.HistoryManager.enabled = True
++
++# Path to file to use for SQLite history database.
++# 
++# By default, IPython will put the history database in the IPython profile
++# directory.  If you would rather share one history among profiles, you can set
++# this value in each, so that they are consistent.
++# 
++# Due to an issue with fcntl, SQLite is known to misbehave on some NFS mounts.
++# If you see IPython hanging, try setting this to something on a local disk,
++# e.g::
++# 
++#     ipython --HistoryManager.hist_file=/tmp/ipython_hist.sqlite
++# c.HistoryManager.hist_file = ''
++
++# Write to database every x commands (higher values save disk access & power).
++# Values of 1 or less effectively disable caching.
++# c.HistoryManager.db_cache_size = 0
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# PlainTextFormatter configuration
++#------------------------------------------------------------------------------
++
++# The default pretty-printer.
++# 
++# This uses :mod:`IPython.lib.pretty` to compute the format data of the object.
++# If the object cannot be pretty printed, :func:`repr` is used. See the
++# documentation of :mod:`IPython.lib.pretty` for details on how to write pretty
++# printers.  Here is a simple example::
++# 
++#     def dtype_pprinter(obj, p, cycle):
++#         if cycle:
++#             return p.text('dtype(...)')
++#         if hasattr(obj, 'fields'):
++#             if obj.fields is None:
++#                 p.text(repr(obj))
++#             else:
++#                 p.begin_group(7, 'dtype([')
++#                 for i, field in enumerate(obj.descr):
++#                     if i > 0:
++#                         p.text(',')
++#                         p.breakable()
++#                     p.pretty(field)
++#                 p.end_group(7, '])')
++
++# PlainTextFormatter will inherit config from: BaseFormatter
++
++# 
++# c.PlainTextFormatter.newline = '\n'
++
++# 
++# c.PlainTextFormatter.max_width = 79
++
++# 
++# c.PlainTextFormatter.verbose = False
++
++# 
++# c.PlainTextFormatter.pprint = True
++
++# 
++# c.PlainTextFormatter.singleton_printers = {}
++
++# 
++# c.PlainTextFormatter.type_printers = {}
++
++# Truncate large collections (lists, dicts, tuples, sets) to this size.
++# 
++# Set to 0 to disable truncation.
++# c.PlainTextFormatter.max_seq_length = 1000
++
++# 
++# c.PlainTextFormatter.deferred_printers = {}
++
++# 
++# c.PlainTextFormatter.float_precision = ''
++
++#------------------------------------------------------------------------------
++# IPCompleter configuration
++#------------------------------------------------------------------------------
++
++# Extension of the completer class with IPython-specific features
++
++# IPCompleter will inherit config from: Completer
++
++# Whether to merge completion results into a single list
++# 
++# If False, only the completion results from the first non-empty completer will
++# be returned.
++# c.IPCompleter.merge_completions = True
++
++# Activate greedy completion
++# 
++# This will enable completion on elements of lists, results of function calls,
++# etc., but can be unsafe because the code is actually evaluated on TAB.
++# c.IPCompleter.greedy = False
++
++# Instruct the completer to use __all__ for the completion
++# 
++# Specifically, when completing on ``object.<tab>``.
++# 
++# When True: only those names in obj.__all__ will be included.
++# 
++# When False [default]: the __all__ attribute is ignored
++# c.IPCompleter.limit_to__all__ = False
++
++# Instruct the completer to omit private method names
++# 
++# Specifically, when completing on ``object.<tab>``.
++# 
++# When 2 [default]: all names that start with '_' will be excluded.
++# 
++# When 1: all 'magic' names (``__foo__``) will be excluded.
++# 
++# When 0: nothing will be excluded.
++# c.IPCompleter.omit__names = 2
++
++#------------------------------------------------------------------------------
++# ScriptMagics configuration
++#------------------------------------------------------------------------------
++
++# Magics for talking to scripts
++# 
++# This defines a base `%%script` cell magic for running a cell with a program in
++# a subprocess, and registers a few top-level magics that call %%script with
++# common interpreters.
++
++# Extra script cell magics to define
++# 
++# This generates simple wrappers of `%%script foo` as `%%foo`.
++# 
++# If you want to add script magics that aren't on your path, specify them in
++# script_paths
++# c.ScriptMagics.script_magics = []
++
++# Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
++# 
++# Only necessary for items in script_magics where the default path will not find
++# the right interpreter.
++# c.ScriptMagics.script_paths = {}
++
++#------------------------------------------------------------------------------
++# StoreMagics configuration
++#------------------------------------------------------------------------------
++
++# Lightweight persistence for python variables.
++# 
++# Provides the %store magic.
++
++# If True, any %store-d variables will be automatically restored when IPython
++# starts.
++# c.StoreMagics.autorestore = False
+
+--- jupyter_core/tests/dotipython_empty/profile_default/ipython_console_config.py
++++ jupyter_core/tests/dotipython_empty/profile_default/ipython_console_config.py
+@@ -0,0 +1,531 @@
++# Configuration file for ipython-console.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# ZMQTerminalIPythonApp configuration
++#------------------------------------------------------------------------------
++
++# ZMQTerminalIPythonApp will inherit config from: TerminalIPythonApp,
++# BaseIPythonApplication, Application, InteractiveShellApp, IPythonConsoleApp,
++# ConnectionFileMixin
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.ZMQTerminalIPythonApp.hide_initial_ns = True
++
++# set the heartbeat port [default: random]
++# c.ZMQTerminalIPythonApp.hb_port = 0
++
++# A list of dotted module names of IPython extensions to load.
++# c.ZMQTerminalIPythonApp.extensions = []
++
++# Execute the given command string.
++# c.ZMQTerminalIPythonApp.code_to_run = ''
++
++# Path to the ssh key to use for logging in to the ssh server.
++# c.ZMQTerminalIPythonApp.sshkey = ''
++
++# The date format used by logging formatters for %(asctime)s
++# c.ZMQTerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# set the control (ROUTER) port [default: random]
++# c.ZMQTerminalIPythonApp.control_port = 0
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.ZMQTerminalIPythonApp.reraise_ipython_extension_failures = False
++
++# Set the log level by value or name.
++# c.ZMQTerminalIPythonApp.log_level = 30
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.ZMQTerminalIPythonApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.ZMQTerminalIPythonApp.pylab = None
++
++# Run the module as a script.
++# c.ZMQTerminalIPythonApp.module_to_run = ''
++
++# Whether to display a banner upon starting IPython.
++# c.ZMQTerminalIPythonApp.display_banner = True
++
++# dotted module name of an IPython extension to load.
++# c.ZMQTerminalIPythonApp.extra_extension = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.ZMQTerminalIPythonApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.ZMQTerminalIPythonApp.overwrite = False
++
++# The IPython profile to use.
++# c.ZMQTerminalIPythonApp.profile = 'default'
++
++# If a command or file is given via the command-line, e.g. 'ipython foo.py',
++# start an interactive shell after executing the file or command.
++# c.ZMQTerminalIPythonApp.force_interact = False
++
++# List of files to run at IPython startup.
++# c.ZMQTerminalIPythonApp.exec_files = []
++
++# Start IPython quickly by skipping the loading of config files.
++# c.ZMQTerminalIPythonApp.quick = False
++
++# The Logging format template
++# c.ZMQTerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.ZMQTerminalIPythonApp.copy_config_files = False
++
++# set the stdin (ROUTER) port [default: random]
++# c.ZMQTerminalIPythonApp.stdin_port = 0
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.ZMQTerminalIPythonApp.extra_config_file = ''
++
++# lines of code to run at IPython startup.
++# c.ZMQTerminalIPythonApp.exec_lines = []
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.ZMQTerminalIPythonApp.gui = None
++
++# A file to be run
++# c.ZMQTerminalIPythonApp.file_to_run = ''
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.ZMQTerminalIPythonApp.matplotlib = None
++
++# Suppress warning messages about legacy config files
++# c.ZMQTerminalIPythonApp.ignore_old_config = False
++
++# set the iopub (PUB) port [default: random]
++# c.ZMQTerminalIPythonApp.iopub_port = 0
++
++# 
++# c.ZMQTerminalIPythonApp.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.ZMQTerminalIPythonApp.connection_file = ''
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.ZMQTerminalIPythonApp.ipython_dir = ''
++
++# The SSH server to use to connect to the kernel.
++# c.ZMQTerminalIPythonApp.sshserver = ''
++
++# Set to display confirmation dialog on exit. You can always use 'exit' or
++# 'quit', to force a direct exit without any confirmation.
++# c.ZMQTerminalIPythonApp.confirm_exit = True
++
++# set the shell (ROUTER) port [default: random]
++# c.ZMQTerminalIPythonApp.shell_port = 0
++
++# The name of the default kernel to start.
++# c.ZMQTerminalIPythonApp.kernel_name = 'python'
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.ZMQTerminalIPythonApp.pylab_import_all = True
++
++# Connect to an already running kernel
++# c.ZMQTerminalIPythonApp.existing = ''
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.ZMQTerminalIPythonApp.ip = ''
++
++#------------------------------------------------------------------------------
++# ZMQTerminalInteractiveShell configuration
++#------------------------------------------------------------------------------
++
++# A subclass of TerminalInteractiveShell that uses the 0MQ kernel
++
++# ZMQTerminalInteractiveShell will inherit config from:
++# TerminalInteractiveShell, InteractiveShell
++
++# 
++# c.ZMQTerminalInteractiveShell.history_length = 10000
++
++# auto editing of files with syntax errors.
++# c.ZMQTerminalInteractiveShell.autoedit_syntax = False
++
++# If True, anything that would be passed to the pager will be displayed as
++# regular output instead.
++# c.ZMQTerminalInteractiveShell.display_page = False
++
++# 
++# c.ZMQTerminalInteractiveShell.debug = False
++
++# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
++# interactively (displaying output from expressions).
++# c.ZMQTerminalInteractiveShell.ast_node_interactivity = 'last_expr'
++
++# Start logging to the default log file in overwrite mode. Use `logappend` to
++# specify a log file to **append** logs to.
++# c.ZMQTerminalInteractiveShell.logstart = False
++
++# Set the size of the output cache.  The default is 1000, you can change it
++# permanently in your config file.  Setting it to 0 completely disables the
++# caching system, and the minimum value accepted is 20 (if you provide a value
++# less than 20, it is reset to 0 and a warning is issued).  This limit is
++# defined because otherwise you'll spend more time re-flushing a too small cache
++# than working
++# c.ZMQTerminalInteractiveShell.cache_size = 1000
++
++# The shell program to be used for paging.
++# c.ZMQTerminalInteractiveShell.pager = 'less'
++
++# The name of the logfile to use.
++# c.ZMQTerminalInteractiveShell.logfile = ''
++
++# Save multi-line entries as one entry in readline history
++# c.ZMQTerminalInteractiveShell.multiline_history = True
++
++# 
++# c.ZMQTerminalInteractiveShell.readline_remove_delims = '-/~'
++
++# Enable magic commands to be called without the leading %.
++# c.ZMQTerminalInteractiveShell.automagic = True
++
++# Prefix to add to outputs coming from clients other than this one.
++# 
++# Only relevant if include_other_output is True.
++# c.ZMQTerminalInteractiveShell.other_output_prefix = '[remote] '
++
++# 
++# c.ZMQTerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
++
++# Use colors for displaying information about objects. Because this information
++# is passed through a pager (like 'less'), and some pagers get confused with
++# color codes, this capability can be turned off.
++# c.ZMQTerminalInteractiveShell.color_info = True
++
++# Callable object called via 'callable' image handler with one argument, `data`,
++# which is `msg["content"]["data"]` where `msg` is the message from iopub
++# channel.  For exmaple, you can find base64 encoded PNG data as
++# `data['image/png']`.
++# c.ZMQTerminalInteractiveShell.callable_image_handler = None
++
++# Command to invoke an image viewer program when you are using 'stream' image
++# handler.  This option is a list of string where the first element is the
++# command itself and reminders are the options for the command.  Raw image data
++# is given as STDIN to the program.
++# c.ZMQTerminalInteractiveShell.stream_image_handler = []
++
++# 
++# c.ZMQTerminalInteractiveShell.separate_out2 = ''
++
++# Autoindent IPython code entered interactively.
++# c.ZMQTerminalInteractiveShell.autoindent = True
++
++# The part of the banner to be printed after the profile
++# c.ZMQTerminalInteractiveShell.banner2 = ''
++
++# Don't call post-execute functions that have failed in the past.
++# c.ZMQTerminalInteractiveShell.disable_failing_post_execute = False
++
++# Deprecated, use PromptManager.out_template
++# c.ZMQTerminalInteractiveShell.prompt_out = 'Out[\\#]: '
++
++# 
++# c.ZMQTerminalInteractiveShell.object_info_string_level = 0
++
++# 
++# c.ZMQTerminalInteractiveShell.separate_out = ''
++
++# Automatically call the pdb debugger after every exception.
++# c.ZMQTerminalInteractiveShell.pdb = False
++
++# Deprecated, use PromptManager.in_template
++# c.ZMQTerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
++
++# 
++# c.ZMQTerminalInteractiveShell.separate_in = '\n'
++
++# 
++# c.ZMQTerminalInteractiveShell.wildcards_case_sensitive = True
++
++# Enable auto setting the terminal title.
++# c.ZMQTerminalInteractiveShell.term_title = False
++
++# Enable deep (recursive) reloading by default. IPython can use the deep_reload
++# module which reloads changes in modules recursively (it replaces the reload()
++# function, so you don't need to change anything to use it). deep_reload()
++# forces a full reload of modules whose code may have changed, which the default
++# reload() function does not.  When deep_reload is off, IPython will use the
++# normal reload(), but deep_reload will still be available as dreload().
++# c.ZMQTerminalInteractiveShell.deep_reload = False
++
++# Deprecated, use PromptManager.in2_template
++# c.ZMQTerminalInteractiveShell.prompt_in2 = '   .\\D.: '
++
++# Whether to include output from clients other than this one sharing the same
++# kernel.
++# 
++# Outputs are not displayed until enter is pressed.
++# c.ZMQTerminalInteractiveShell.include_other_output = False
++
++# Preferred object representation MIME type in order.  First matched MIME type
++# will be used.
++# c.ZMQTerminalInteractiveShell.mime_preference = ['image/png', 'image/jpeg', 'image/svg+xml']
++
++# 
++# c.ZMQTerminalInteractiveShell.readline_use = True
++
++# Make IPython automatically call any callable object even if you didn't type
++# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
++# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
++# it is not applied if there are no more arguments on the line, and '2' for
++# 'full' autocall, where all callable objects are automatically called (even if
++# no arguments are present).
++# c.ZMQTerminalInteractiveShell.autocall = 0
++
++# The part of the banner to be printed before the profile
++# c.ZMQTerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
++
++# Handler for image type output.  This is useful, for example, when connecting
++# to the kernel in which pylab inline backend is activated.  There are four
++# handlers defined.  'PIL': Use Python Imaging Library to popup image; 'stream':
++# Use an external program to show the image.  Image will be fed into the STDIN
++# of the program.  You will need to configure `stream_image_handler`;
++# 'tempfile': Use an external program to show the image.  Image will be saved in
++# a temporally file and the program is called with the temporally file.  You
++# will need to configure `tempfile_image_handler`; 'callable': You can set any
++# Python callable which is called with the image data.  You will need to
++# configure `callable_image_handler`.
++# c.ZMQTerminalInteractiveShell.image_handler = None
++
++# Set the color scheme (NoColor, Linux, or LightBG).
++# c.ZMQTerminalInteractiveShell.colors = 'LightBG'
++
++# Set the editor used by IPython (default to $EDITOR/vi/notepad).
++# c.ZMQTerminalInteractiveShell.editor = 'mate -w'
++
++# Show rewritten input, e.g. for autocall.
++# c.ZMQTerminalInteractiveShell.show_rewritten_input = True
++
++# 
++# c.ZMQTerminalInteractiveShell.xmode = 'Context'
++
++# 
++# c.ZMQTerminalInteractiveShell.quiet = False
++
++# A list of ast.NodeTransformer subclass instances, which will be applied to
++# user input before code is run.
++# c.ZMQTerminalInteractiveShell.ast_transformers = []
++
++# 
++# c.ZMQTerminalInteractiveShell.ipython_dir = ''
++
++# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
++# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
++# direct exit without any confirmation.
++# c.ZMQTerminalInteractiveShell.confirm_exit = True
++
++# Deprecated, use PromptManager.justify
++# c.ZMQTerminalInteractiveShell.prompts_pad_left = True
++
++# Timeout for giving up on a kernel (in seconds).
++# 
++# On first connect and restart, the console tests whether the kernel is running
++# and responsive by sending kernel_info_requests. This sets the timeout in
++# seconds for how long the kernel can take before being presumed dead.
++# c.ZMQTerminalInteractiveShell.kernel_timeout = 60
++
++# Number of lines of your screen, used to control printing of very long strings.
++# Strings longer than this number of lines will be sent through a pager instead
++# of directly printed.  The default value for this is 0, which means IPython
++# will auto-detect your screen size every time it needs to print certain
++# potentially long strings (this doesn't change the behavior of the 'print'
++# keyword, it's only triggered internally). If for some reason this isn't
++# working well (it needs curses support), specify it yourself. Otherwise don't
++# change the default.
++# c.ZMQTerminalInteractiveShell.screen_length = 0
++
++# Start logging to the given file in append mode. Use `logfile` to specify a log
++# file to **overwrite** logs to.
++# c.ZMQTerminalInteractiveShell.logappend = ''
++
++# Command to invoke an image viewer program when you are using 'tempfile' image
++# handler.  This option is a list of string where the first element is the
++# command itself and reminders are the options for the command.  You can use
++# {file} and {format} in the string to represent the location of the generated
++# image file and image format.
++# c.ZMQTerminalInteractiveShell.tempfile_image_handler = []
++
++#------------------------------------------------------------------------------
++# KernelManager configuration
++#------------------------------------------------------------------------------
++
++# Manages a single kernel in a subprocess on this host.
++# 
++# This version starts kernels with Popen.
++
++# KernelManager will inherit config from: ConnectionFileMixin
++
++# set the heartbeat port [default: random]
++# c.KernelManager.hb_port = 0
++
++# set the stdin (ROUTER) port [default: random]
++# c.KernelManager.stdin_port = 0
++
++# 
++# c.KernelManager.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.KernelManager.connection_file = ''
++
++# set the control (ROUTER) port [default: random]
++# c.KernelManager.control_port = 0
++
++# set the shell (ROUTER) port [default: random]
++# c.KernelManager.shell_port = 0
++
++# Should we autorestart the kernel if it dies.
++# c.KernelManager.autorestart = False
++
++# DEPRECATED: Use kernel_name instead.
++# 
++# The Popen Command to launch the kernel. Override this if you have a custom
++# kernel. If kernel_cmd is specified in a configuration file, IPython does not
++# pass any arguments to the kernel, because it cannot make any assumptions about
++# the  arguments that the kernel understands. In particular, this means that the
++# kernel does not receive the option --debug if it given on the IPython command
++# line.
++# c.KernelManager.kernel_cmd = []
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.KernelManager.ip = ''
++
++# set the iopub (PUB) port [default: random]
++# c.KernelManager.iopub_port = 0
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# Session configuration
++#------------------------------------------------------------------------------
++
++# Object for handling serialization and sending of messages.
++# 
++# The Session object handles building messages and sending them with ZMQ sockets
++# or ZMQStream objects.  Objects can communicate with each other over the
++# network via Session objects, and only need to work with the dict-based IPython
++# message spec. The Session will handle serialization/deserialization, security,
++# and metadata.
++# 
++# Sessions support configurable serialization via packer/unpacker traits, and
++# signing with HMAC digests via the key/keyfile traits.
++# 
++# Parameters ----------
++# 
++# debug : bool
++#     whether to trigger extra debugging statements
++# packer/unpacker : str : 'json', 'pickle' or import_string
++#     importstrings for methods to serialize message parts.  If just
++#     'json' or 'pickle', predefined JSON and pickle packers will be used.
++#     Otherwise, the entire importstring must be used.
++# 
++#     The functions must accept at least valid JSON input, and output *bytes*.
++# 
++#     For example, to use msgpack:
++#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
++# pack/unpack : callables
++#     You can also set the pack/unpack callables for serialization directly.
++# session : bytes
++#     the ID of this Session object.  The default is to generate a new UUID.
++# username : unicode
++#     username added to message headers.  The default is to ask the OS.
++# key : bytes
++#     The key used to initialize an HMAC signature.  If unset, messages
++#     will not be signed or checked.
++# keyfile : filepath
++#     The file containing a key.  If this is set, `key` will be initialized
++#     to the contents of the file.
++
++# The digest scheme used to construct the message signatures. Must have the form
++# 'hmac-HASH'.
++# c.Session.signature_scheme = 'hmac-sha256'
++
++# The maximum number of digests to remember.
++# 
++# The digest history will be culled when it exceeds this value.
++# c.Session.digest_history_size = 65536
++
++# The name of the unpacker for unserializing messages. Only used with custom
++# functions for `packer`.
++# c.Session.unpacker = 'json'
++
++# The name of the packer for serializing messages. Should be one of 'json',
++# 'pickle', or an import name for a custom callable serializer.
++# c.Session.packer = 'json'
++
++# Username for the Session. Default is your system username.
++# c.Session.username = 'minrk'
++
++# Debug output in the Session
++# c.Session.debug = False
++
++# path to file containing execution key.
++# c.Session.keyfile = ''
++
++# The maximum number of items for a container to be introspected for custom
++# serialization. Containers larger than this are pickled outright.
++# c.Session.item_threshold = 64
++
++# Threshold (in bytes) beyond which an object's buffer should be extracted to
++# avoid pickling.
++# c.Session.buffer_threshold = 1024
++
++# The UUID identifying this session.
++# c.Session.session = ''
++
++# Threshold (in bytes) beyond which a buffer should be sent without copying.
++# c.Session.copy_threshold = 65536
++
++# execution key, for signing messages.
++# c.Session.key = b''
++
++# Metadata dictionary, which serves as the default top-level metadata dict for
++# each message.
++# c.Session.metadata = {}
+
+--- jupyter_core/tests/dotipython_empty/profile_default/ipython_kernel_config.py
++++ jupyter_core/tests/dotipython_empty/profile_default/ipython_kernel_config.py
+@@ -0,0 +1,408 @@
++# Configuration file for ipython-kernel.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# IPKernelApp configuration
++#------------------------------------------------------------------------------
++
++# IPython: an enhanced interactive Python shell.
++
++# IPKernelApp will inherit config from: BaseIPythonApplication, Application,
++# InteractiveShellApp, ConnectionFileMixin
++
++# Should variables loaded at startup (by startup files, exec_lines, etc.) be
++# hidden from tools like %who?
++# c.IPKernelApp.hide_initial_ns = True
++
++# The importstring for the DisplayHook factory
++# c.IPKernelApp.displayhook_class = 'IPython.kernel.zmq.displayhook.ZMQDisplayHook'
++
++# A list of dotted module names of IPython extensions to load.
++# c.IPKernelApp.extensions = []
++
++# Execute the given command string.
++# c.IPKernelApp.code_to_run = ''
++
++# redirect stderr to the null device
++# c.IPKernelApp.no_stderr = False
++
++# The date format used by logging formatters for %(asctime)s
++# c.IPKernelApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# Whether to create profile dir if it doesn't exist
++# c.IPKernelApp.auto_create = False
++
++# Reraise exceptions encountered loading IPython extensions?
++# c.IPKernelApp.reraise_ipython_extension_failures = False
++
++# Set the log level by value or name.
++# c.IPKernelApp.log_level = 30
++
++# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
++# startup.
++# c.IPKernelApp.exec_PYTHONSTARTUP = True
++
++# Pre-load matplotlib and numpy for interactive use, selecting a particular
++# matplotlib backend and loop integration.
++# c.IPKernelApp.pylab = None
++
++# Run the module as a script.
++# c.IPKernelApp.module_to_run = ''
++
++# The importstring for the OutStream factory
++# c.IPKernelApp.outstream_class = 'IPython.kernel.zmq.iostream.OutStream'
++
++# dotted module name of an IPython extension to load.
++# c.IPKernelApp.extra_extension = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.IPKernelApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.IPKernelApp.overwrite = False
++
++# The IPython profile to use.
++# c.IPKernelApp.profile = 'default'
++
++# List of files to run at IPython startup.
++# c.IPKernelApp.exec_files = []
++
++# The Logging format template
++# c.IPKernelApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.IPKernelApp.copy_config_files = False
++
++# set the stdin (ROUTER) port [default: random]
++# c.IPKernelApp.stdin_port = 0
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.IPKernelApp.extra_config_file = ''
++
++# lines of code to run at IPython startup.
++# c.IPKernelApp.exec_lines = []
++
++# set the control (ROUTER) port [default: random]
++# c.IPKernelApp.control_port = 0
++
++# set the heartbeat port [default: random]
++# c.IPKernelApp.hb_port = 0
++
++# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
++# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
++# c.IPKernelApp.gui = None
++
++# A file to be run
++# c.IPKernelApp.file_to_run = ''
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.IPKernelApp.ipython_dir = ''
++
++# kill this process if its parent dies.  On Windows, the argument specifies the
++# HANDLE of the parent process, otherwise it is simply boolean.
++# c.IPKernelApp.parent_handle = 0
++
++# Configure matplotlib for interactive use with the default matplotlib backend.
++# c.IPKernelApp.matplotlib = None
++
++# set the iopub (PUB) port [default: random]
++# c.IPKernelApp.iopub_port = 0
++
++# redirect stdout to the null device
++# c.IPKernelApp.no_stdout = False
++
++# 
++# c.IPKernelApp.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.IPKernelApp.connection_file = ''
++
++# The Kernel subclass to be used.
++# 
++# This should allow easy re-use of the IPKernelApp entry point to configure and
++# launch kernels other than IPython's own.
++# c.IPKernelApp.kernel_class = <class 'IPython.kernel.zmq.ipkernel.IPythonKernel'>
++
++# ONLY USED ON WINDOWS Interrupt this process when the parent is signaled.
++# c.IPKernelApp.interrupt = 0
++
++# set the shell (ROUTER) port [default: random]
++# c.IPKernelApp.shell_port = 0
++
++# If true, IPython will populate the user namespace with numpy, pylab, etc. and
++# an ``import *`` is done from numpy and pylab, when using pylab mode.
++# 
++# When False, pylab mode should not import any names into the user namespace.
++# c.IPKernelApp.pylab_import_all = True
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.IPKernelApp.ip = ''
++
++#------------------------------------------------------------------------------
++# IPythonKernel configuration
++#------------------------------------------------------------------------------
++
++# IPythonKernel will inherit config from: Kernel
++
++# 
++# c.IPythonKernel._execute_sleep = 0.0005
++
++# Whether to use appnope for compatiblity with OS X App Nap.
++# 
++# Only affects OS X >= 10.9.
++# c.IPythonKernel._darwin_app_nap = True
++
++# 
++# c.IPythonKernel._poll_interval = 0.05
++
++#------------------------------------------------------------------------------
++# ZMQInteractiveShell configuration
++#------------------------------------------------------------------------------
++
++# A subclass of InteractiveShell for ZMQ.
++
++# ZMQInteractiveShell will inherit config from: InteractiveShell
++
++# 
++# c.ZMQInteractiveShell.object_info_string_level = 0
++
++# 
++# c.ZMQInteractiveShell.separate_out = ''
++
++# Automatically call the pdb debugger after every exception.
++# c.ZMQInteractiveShell.pdb = False
++
++# 
++# c.ZMQInteractiveShell.ipython_dir = ''
++
++# 
++# c.ZMQInteractiveShell.history_length = 10000
++
++# 
++# c.ZMQInteractiveShell.readline_remove_delims = '-/~'
++
++# If True, anything that would be passed to the pager will be displayed as
++# regular output instead.
++# c.ZMQInteractiveShell.display_page = False
++
++# Deprecated, use PromptManager.in2_template
++# c.ZMQInteractiveShell.prompt_in2 = '   .\\D.: '
++
++# 
++# c.ZMQInteractiveShell.separate_in = '\n'
++
++# Start logging to the default log file in overwrite mode. Use `logappend` to
++# specify a log file to **append** logs to.
++# c.ZMQInteractiveShell.logstart = False
++
++# Set the size of the output cache.  The default is 1000, you can change it
++# permanently in your config file.  Setting it to 0 completely disables the
++# caching system, and the minimum value accepted is 20 (if you provide a value
++# less than 20, it is reset to 0 and a warning is issued).  This limit is
++# defined because otherwise you'll spend more time re-flushing a too small cache
++# than working
++# c.ZMQInteractiveShell.cache_size = 1000
++
++# 
++# c.ZMQInteractiveShell.wildcards_case_sensitive = True
++
++# The name of the logfile to use.
++# c.ZMQInteractiveShell.logfile = ''
++
++# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
++# interactively (displaying output from expressions).
++# c.ZMQInteractiveShell.ast_node_interactivity = 'last_expr'
++
++# 
++# c.ZMQInteractiveShell.debug = False
++
++# 
++# c.ZMQInteractiveShell.quiet = False
++
++# Save multi-line entries as one entry in readline history
++# c.ZMQInteractiveShell.multiline_history = True
++
++# Deprecated, use PromptManager.in_template
++# c.ZMQInteractiveShell.prompt_in1 = 'In [\\#]: '
++
++# Enable magic commands to be called without the leading %.
++# c.ZMQInteractiveShell.automagic = True
++
++# The part of the banner to be printed before the profile
++# c.ZMQInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
++
++# Make IPython automatically call any callable object even if you didn't type
++# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
++# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
++# it is not applied if there are no more arguments on the line, and '2' for
++# 'full' autocall, where all callable objects are automatically called (even if
++# no arguments are present).
++# c.ZMQInteractiveShell.autocall = 0
++
++# 
++# c.ZMQInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
++
++# Set the color scheme (NoColor, Linux, or LightBG).
++# c.ZMQInteractiveShell.colors = 'LightBG'
++
++# Use colors for displaying information about objects. Because this information
++# is passed through a pager (like 'less'), and some pagers get confused with
++# color codes, this capability can be turned off.
++# c.ZMQInteractiveShell.color_info = True
++
++# Show rewritten input, e.g. for autocall.
++# c.ZMQInteractiveShell.show_rewritten_input = True
++
++# 
++# c.ZMQInteractiveShell.xmode = 'Context'
++
++# 
++# c.ZMQInteractiveShell.separate_out2 = ''
++
++# The part of the banner to be printed after the profile
++# c.ZMQInteractiveShell.banner2 = ''
++
++# Start logging to the given file in append mode. Use `logfile` to specify a log
++# file to **overwrite** logs to.
++# c.ZMQInteractiveShell.logappend = ''
++
++# Don't call post-execute functions that have failed in the past.
++# c.ZMQInteractiveShell.disable_failing_post_execute = False
++
++# Deprecated, use PromptManager.out_template
++# c.ZMQInteractiveShell.prompt_out = 'Out[\\#]: '
++
++# Enable deep (recursive) reloading by default. IPython can use the deep_reload
++# module which reloads changes in modules recursively (it replaces the reload()
++# function, so you don't need to change anything to use it). deep_reload()
++# forces a full reload of modules whose code may have changed, which the default
++# reload() function does not.  When deep_reload is off, IPython will use the
++# normal reload(), but deep_reload will still be available as dreload().
++# c.ZMQInteractiveShell.deep_reload = False
++
++# Deprecated, use PromptManager.justify
++# c.ZMQInteractiveShell.prompts_pad_left = True
++
++# A list of ast.NodeTransformer subclass instances, which will be applied to
++# user input before code is run.
++# c.ZMQInteractiveShell.ast_transformers = []
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# Session configuration
++#------------------------------------------------------------------------------
++
++# Object for handling serialization and sending of messages.
++# 
++# The Session object handles building messages and sending them with ZMQ sockets
++# or ZMQStream objects.  Objects can communicate with each other over the
++# network via Session objects, and only need to work with the dict-based IPython
++# message spec. The Session will handle serialization/deserialization, security,
++# and metadata.
++# 
++# Sessions support configurable serialization via packer/unpacker traits, and
++# signing with HMAC digests via the key/keyfile traits.
++# 
++# Parameters ----------
++# 
++# debug : bool
++#     whether to trigger extra debugging statements
++# packer/unpacker : str : 'json', 'pickle' or import_string
++#     importstrings for methods to serialize message parts.  If just
++#     'json' or 'pickle', predefined JSON and pickle packers will be used.
++#     Otherwise, the entire importstring must be used.
++# 
++#     The functions must accept at least valid JSON input, and output *bytes*.
++# 
++#     For example, to use msgpack:
++#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
++# pack/unpack : callables
++#     You can also set the pack/unpack callables for serialization directly.
++# session : bytes
++#     the ID of this Session object.  The default is to generate a new UUID.
++# username : unicode
++#     username added to message headers.  The default is to ask the OS.
++# key : bytes
++#     The key used to initialize an HMAC signature.  If unset, messages
++#     will not be signed or checked.
++# keyfile : filepath
++#     The file containing a key.  If this is set, `key` will be initialized
++#     to the contents of the file.
++
++# The digest scheme used to construct the message signatures. Must have the form
++# 'hmac-HASH'.
++# c.Session.signature_scheme = 'hmac-sha256'
++
++# The maximum number of digests to remember.
++# 
++# The digest history will be culled when it exceeds this value.
++# c.Session.digest_history_size = 65536
++
++# The name of the unpacker for unserializing messages. Only used with custom
++# functions for `packer`.
++# c.Session.unpacker = 'json'
++
++# The name of the packer for serializing messages. Should be one of 'json',
++# 'pickle', or an import name for a custom callable serializer.
++# c.Session.packer = 'json'
++
++# Username for the Session. Default is your system username.
++# c.Session.username = 'minrk'
++
++# Debug output in the Session
++# c.Session.debug = False
++
++# path to file containing execution key.
++# c.Session.keyfile = ''
++
++# The maximum number of items for a container to be introspected for custom
++# serialization. Containers larger than this are pickled outright.
++# c.Session.item_threshold = 64
++
++# Threshold (in bytes) beyond which an object's buffer should be extracted to
++# avoid pickling.
++# c.Session.buffer_threshold = 1024
++
++# The UUID identifying this session.
++# c.Session.session = ''
++
++# Threshold (in bytes) beyond which a buffer should be sent without copying.
++# c.Session.copy_threshold = 65536
++
++# execution key, for signing messages.
++# c.Session.key = b''
++
++# Metadata dictionary, which serves as the default top-level metadata dict for
++# each message.
++# c.Session.metadata = {}
+
+--- jupyter_core/tests/dotipython_empty/profile_default/ipython_nbconvert_config.py
++++ jupyter_core/tests/dotipython_empty/profile_default/ipython_nbconvert_config.py
+@@ -0,0 +1,971 @@
++# Configuration file for ipython-nbconvert.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# NbConvertApp configuration
++#------------------------------------------------------------------------------
++
++# This application is used to convert notebook files (*.ipynb) to various other
++# formats.
++# 
++# WARNING: THE COMMANDLINE INTERFACE MAY CHANGE IN FUTURE RELEASES.
++
++# NbConvertApp will inherit config from: BaseIPythonApplication, Application
++
++# List of notebooks to convert. Wildcards are supported. Filenames passed
++# positionally will be added to the list.
++# c.NbConvertApp.notebooks = []
++
++# The IPython profile to use.
++# c.NbConvertApp.profile = 'default'
++
++# The export format to be used.
++# c.NbConvertApp.export_format = 'html'
++
++# The date format used by logging formatters for %(asctime)s
++# c.NbConvertApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# overwrite base name use for output files. can only be used when converting one
++# notebook at a time.
++# c.NbConvertApp.output_base = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.NbConvertApp.verbose_crash = False
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.NbConvertApp.extra_config_file = ''
++
++# Writer class used to write the  results of the conversion
++# c.NbConvertApp.writer_class = 'FilesWriter'
++
++# PostProcessor class used to write the  results of the conversion
++# c.NbConvertApp.postprocessor_class = ''
++
++# Set the log level by value or name.
++# c.NbConvertApp.log_level = 30
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.NbConvertApp.ipython_dir = ''
++
++# Whether to create profile dir if it doesn't exist
++# c.NbConvertApp.auto_create = False
++
++# Whether to overwrite existing config files when copying
++# c.NbConvertApp.overwrite = False
++
++# Whether to apply a suffix prior to the extension (only relevant when
++# converting to notebook format). The suffix is determined by the exporter, and
++# is usually '.nbconvert'.
++# c.NbConvertApp.use_output_suffix = True
++
++# The Logging format template
++# c.NbConvertApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.NbConvertApp.copy_config_files = False
++
++#------------------------------------------------------------------------------
++# NbConvertBase configuration
++#------------------------------------------------------------------------------
++
++# Global configurable class for shared config
++# 
++# Useful for display data priority that might be use by many transformers
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.NbConvertBase.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.NbConvertBase.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# Exporter configuration
++#------------------------------------------------------------------------------
++
++# Class containing methods that sequentially run a list of preprocessors on a
++# NotebookNode object and then return the modified NotebookNode object and
++# accompanying resources dict.
++
++# List of preprocessors, by name or namespace, to enable.
++# c.Exporter.preprocessors = []
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.Exporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# Extension of the file that should be written to disk
++# c.Exporter.file_extension = '.txt'
++
++#------------------------------------------------------------------------------
++# HTMLExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports a basic HTML document.  This exporter assists with the export of HTML.
++# Inherit from it if you are writing your own HTML template and need custom
++# preprocessors/filters.  If you don't need custom preprocessors/ filters, just
++# change the 'template_file' config option.
++
++# HTMLExporter will inherit config from: TemplateExporter, Exporter
++
++# 
++# c.HTMLExporter.jinja_logic_block_end = ''
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.HTMLExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.HTMLExporter.jinja_comment_block_start = ''
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.HTMLExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.HTMLExporter.preprocessors = []
++
++# Name of the template file to use
++# c.HTMLExporter.template_file = 'default'
++
++# 
++# c.HTMLExporter.template_extension = '.tpl'
++
++# 
++# c.HTMLExporter.jinja_logic_block_start = ''
++
++# 
++# c.HTMLExporter.jinja_variable_block_start = ''
++
++# 
++# c.HTMLExporter.template_path = ['.']
++
++# 
++# c.HTMLExporter.jinja_comment_block_end = ''
++
++# 
++# c.HTMLExporter.jinja_variable_block_end = ''
++
++# Extension of the file that should be written to disk
++# c.HTMLExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.HTMLExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# LatexExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports to a Latex template.  Inherit from this class if your template is
++# LaTeX based and you need custom tranformers/filters.  Inherit from it if  you
++# are writing your own HTML template and need custom tranformers/filters.   If
++# you don't need custom tranformers/filters, just change the  'template_file'
++# config option.  Place your template in the special "/latex"  subfolder of the
++# "../templates" folder.
++
++# LatexExporter will inherit config from: TemplateExporter, Exporter
++
++# 
++# c.LatexExporter.jinja_logic_block_end = '*))'
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.LatexExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.LatexExporter.jinja_comment_block_start = '((='
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.LatexExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.LatexExporter.preprocessors = []
++
++# Name of the template file to use
++# c.LatexExporter.template_file = 'default'
++
++# 
++# c.LatexExporter.template_extension = '.tplx'
++
++# 
++# c.LatexExporter.jinja_logic_block_start = '((*'
++
++# 
++# c.LatexExporter.jinja_variable_block_start = '((('
++
++# 
++# c.LatexExporter.template_path = ['.']
++
++# 
++# c.LatexExporter.jinja_comment_block_end = '=))'
++
++# 
++# c.LatexExporter.jinja_variable_block_end = ')))'
++
++# Extension of the file that should be written to disk
++# c.LatexExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.LatexExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# MarkdownExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports to a markdown document (.md)
++
++# MarkdownExporter will inherit config from: TemplateExporter, Exporter
++
++# 
++# c.MarkdownExporter.jinja_logic_block_end = ''
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.MarkdownExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.MarkdownExporter.jinja_comment_block_start = ''
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.MarkdownExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.MarkdownExporter.preprocessors = []
++
++# Name of the template file to use
++# c.MarkdownExporter.template_file = 'default'
++
++# 
++# c.MarkdownExporter.template_extension = '.tpl'
++
++# 
++# c.MarkdownExporter.jinja_logic_block_start = ''
++
++# 
++# c.MarkdownExporter.jinja_variable_block_start = ''
++
++# 
++# c.MarkdownExporter.template_path = ['.']
++
++# 
++# c.MarkdownExporter.jinja_comment_block_end = ''
++
++# 
++# c.MarkdownExporter.jinja_variable_block_end = ''
++
++# Extension of the file that should be written to disk
++# c.MarkdownExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.MarkdownExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# NotebookExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports to an IPython notebook.
++
++# NotebookExporter will inherit config from: Exporter
++
++# List of preprocessors, by name or namespace, to enable.
++# c.NotebookExporter.preprocessors = []
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.NotebookExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# Extension of the file that should be written to disk
++# c.NotebookExporter.file_extension = '.txt'
++
++# The nbformat version to write. Use this to downgrade notebooks.
++# c.NotebookExporter.nbformat_version = 4
++
++#------------------------------------------------------------------------------
++# PDFExporter configuration
++#------------------------------------------------------------------------------
++
++# Writer designed to write to PDF files
++
++# PDFExporter will inherit config from: LatexExporter, TemplateExporter,
++# Exporter
++
++# 
++# c.PDFExporter.jinja_logic_block_end = '*))'
++
++# How many times latex will be called.
++# c.PDFExporter.latex_count = 3
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.PDFExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.PDFExporter.jinja_comment_block_start = '((='
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.PDFExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.PDFExporter.preprocessors = []
++
++# Name of the template file to use
++# c.PDFExporter.template_file = 'default'
++
++# 
++# c.PDFExporter.template_extension = '.tplx'
++
++# Whether to display the output of latex commands.
++# c.PDFExporter.verbose = False
++
++# 
++# c.PDFExporter.jinja_logic_block_start = '((*'
++
++# Shell command used to compile latex.
++# c.PDFExporter.latex_command = ['pdflatex', '{filename}']
++
++# 
++# c.PDFExporter.jinja_variable_block_start = '((('
++
++# 
++# c.PDFExporter.template_path = ['.']
++
++# Shell command used to run bibtex.
++# c.PDFExporter.bib_command = ['bibtex', '{filename}']
++
++# 
++# c.PDFExporter.jinja_comment_block_end = '=))'
++
++# File extensions of temp files to remove after running.
++# c.PDFExporter.temp_file_exts = ['.aux', '.bbl', '.blg', '.idx', '.log', '.out']
++
++# 
++# c.PDFExporter.jinja_variable_block_end = ')))'
++
++# Extension of the file that should be written to disk
++# c.PDFExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.PDFExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# PythonExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports a Python code file.
++
++# PythonExporter will inherit config from: TemplateExporter, Exporter
++
++# 
++# c.PythonExporter.jinja_logic_block_end = ''
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.PythonExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.PythonExporter.jinja_comment_block_start = ''
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.PythonExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.PythonExporter.preprocessors = []
++
++# Name of the template file to use
++# c.PythonExporter.template_file = 'default'
++
++# 
++# c.PythonExporter.template_extension = '.tpl'
++
++# 
++# c.PythonExporter.jinja_logic_block_start = ''
++
++# 
++# c.PythonExporter.jinja_variable_block_start = ''
++
++# 
++# c.PythonExporter.template_path = ['.']
++
++# 
++# c.PythonExporter.jinja_comment_block_end = ''
++
++# 
++# c.PythonExporter.jinja_variable_block_end = ''
++
++# Extension of the file that should be written to disk
++# c.PythonExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.PythonExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# RSTExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports restructured text documents.
++
++# RSTExporter will inherit config from: TemplateExporter, Exporter
++
++# 
++# c.RSTExporter.jinja_logic_block_end = ''
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.RSTExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.RSTExporter.jinja_comment_block_start = ''
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.RSTExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.RSTExporter.preprocessors = []
++
++# Name of the template file to use
++# c.RSTExporter.template_file = 'default'
++
++# 
++# c.RSTExporter.template_extension = '.tpl'
++
++# 
++# c.RSTExporter.jinja_logic_block_start = ''
++
++# 
++# c.RSTExporter.jinja_variable_block_start = ''
++
++# 
++# c.RSTExporter.template_path = ['.']
++
++# 
++# c.RSTExporter.jinja_comment_block_end = ''
++
++# 
++# c.RSTExporter.jinja_variable_block_end = ''
++
++# Extension of the file that should be written to disk
++# c.RSTExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.RSTExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# SlidesExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports HTML slides with reveal.js
++
++# SlidesExporter will inherit config from: HTMLExporter, TemplateExporter,
++# Exporter
++
++# 
++# c.SlidesExporter.jinja_logic_block_end = ''
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.SlidesExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.SlidesExporter.jinja_comment_block_start = ''
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.SlidesExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.SlidesExporter.preprocessors = []
++
++# Name of the template file to use
++# c.SlidesExporter.template_file = 'default'
++
++# 
++# c.SlidesExporter.template_extension = '.tpl'
++
++# 
++# c.SlidesExporter.jinja_logic_block_start = ''
++
++# 
++# c.SlidesExporter.jinja_variable_block_start = ''
++
++# 
++# c.SlidesExporter.template_path = ['.']
++
++# 
++# c.SlidesExporter.jinja_comment_block_end = ''
++
++# 
++# c.SlidesExporter.jinja_variable_block_end = ''
++
++# Extension of the file that should be written to disk
++# c.SlidesExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.SlidesExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# TemplateExporter configuration
++#------------------------------------------------------------------------------
++
++# Exports notebooks into other file formats.  Uses Jinja 2 templating engine to
++# output new formats.  Inherit from this class if you are creating a new
++# template type along with new filters/preprocessors.  If the filters/
++# preprocessors provided by default suffice, there is no need to inherit from
++# this class.  Instead, override the template_file and file_extension traits via
++# a config file.
++# 
++# - ascii_only - add_prompts - add_anchor - html2text - strip_ansi -
++# comment_lines - ansi2html - strip_files_prefix - prevent_list_blocks -
++# highlight2html - indent - wrap_text - markdown2rst - citation2latex -
++# highlight2latex - filter_data_type - get_lines - escape_latex - ipython2python
++# - markdown2html - strip_dollars - path2url - posix_path - ansi2latex -
++# markdown2latex
++
++# TemplateExporter will inherit config from: Exporter
++
++# 
++# c.TemplateExporter.jinja_logic_block_end = ''
++
++# List of preprocessors available by default, by name, namespace,  instance, or
++# type.
++# c.TemplateExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
++
++# 
++# c.TemplateExporter.jinja_comment_block_start = ''
++
++# Dictionary of filters, by name and namespace, to add to the Jinja environment.
++# c.TemplateExporter.filters = {}
++
++# List of preprocessors, by name or namespace, to enable.
++# c.TemplateExporter.preprocessors = []
++
++# Name of the template file to use
++# c.TemplateExporter.template_file = 'default'
++
++# 
++# c.TemplateExporter.template_extension = '.tpl'
++
++# 
++# c.TemplateExporter.jinja_logic_block_start = ''
++
++# 
++# c.TemplateExporter.jinja_variable_block_start = ''
++
++# 
++# c.TemplateExporter.template_path = ['.']
++
++# 
++# c.TemplateExporter.jinja_comment_block_end = ''
++
++# 
++# c.TemplateExporter.jinja_variable_block_end = ''
++
++# Extension of the file that should be written to disk
++# c.TemplateExporter.file_extension = '.txt'
++
++# formats of raw cells to be included in this Exporter's output.
++# c.TemplateExporter.raw_mimetypes = []
++
++#------------------------------------------------------------------------------
++# CSSHTMLHeaderPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Preprocessor used to pre-process notebook for HTML output.  Adds IPython
++# notebook front-end CSS and Pygments CSS to HTML output.
++
++# CSSHTMLHeaderPreprocessor will inherit config from: Preprocessor,
++# NbConvertBase
++
++# CSS highlight class identifier
++# c.CSSHTMLHeaderPreprocessor.highlight_class = '.highlight'
++
++# 
++# c.CSSHTMLHeaderPreprocessor.enabled = False
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.CSSHTMLHeaderPreprocessor.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.CSSHTMLHeaderPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# ClearOutputPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Removes the output from all code cells in a notebook.
++
++# ClearOutputPreprocessor will inherit config from: Preprocessor, NbConvertBase
++
++# 
++# c.ClearOutputPreprocessor.enabled = False
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.ClearOutputPreprocessor.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.ClearOutputPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# ConvertFiguresPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Converts all of the outputs in a notebook from one format to another.
++
++# ConvertFiguresPreprocessor will inherit config from: Preprocessor,
++# NbConvertBase
++
++# Format the converter accepts
++# c.ConvertFiguresPreprocessor.from_format = ''
++
++# Format the converter writes
++# c.ConvertFiguresPreprocessor.to_format = ''
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.ConvertFiguresPreprocessor.default_language = 'ipython'
++
++# 
++# c.ConvertFiguresPreprocessor.enabled = False
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.ConvertFiguresPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# ExecutePreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Executes all the cells in a notebook
++
++# ExecutePreprocessor will inherit config from: Preprocessor, NbConvertBase
++
++# 
++# c.ExecutePreprocessor.enabled = False
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.ExecutePreprocessor.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.ExecutePreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++# If execution of a cell times out, interrupt the kernel and  continue executing
++# other cells rather than throwing an error and  stopping.
++# c.ExecutePreprocessor.interrupt_on_timeout = False
++
++# The time to wait (in seconds) for output from executions.
++# c.ExecutePreprocessor.timeout = 30
++
++#------------------------------------------------------------------------------
++# ExtractOutputPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Extracts all of the outputs from the notebook file.  The extracted  outputs
++# are returned in the 'resources' dictionary.
++
++# ExtractOutputPreprocessor will inherit config from: Preprocessor,
++# NbConvertBase
++
++# 
++# c.ExtractOutputPreprocessor.enabled = False
++
++# 
++# c.ExtractOutputPreprocessor.output_filename_template = '{unique_key}_{cell_index}_{index}{extension}'
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.ExtractOutputPreprocessor.default_language = 'ipython'
++
++# 
++# c.ExtractOutputPreprocessor.extract_output_types = {'image/svg+xml', 'image/png', 'application/pdf', 'image/jpeg'}
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.ExtractOutputPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# HighlightMagicsPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Detects and tags code cells that use a different languages than Python.
++
++# HighlightMagicsPreprocessor will inherit config from: Preprocessor,
++# NbConvertBase
++
++# 
++# c.HighlightMagicsPreprocessor.enabled = False
++
++# Syntax highlighting for magic's extension languages. Each item associates a
++# language magic extension such as %%R, with a pygments lexer such as r.
++# c.HighlightMagicsPreprocessor.languages = {}
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.HighlightMagicsPreprocessor.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.HighlightMagicsPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# LatexPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Preprocessor for latex destined documents.
++# 
++# Mainly populates the `latex` key in the resources dict, adding definitions for
++# pygments highlight styles.
++
++# LatexPreprocessor will inherit config from: Preprocessor, NbConvertBase
++
++# 
++# c.LatexPreprocessor.enabled = False
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.LatexPreprocessor.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.LatexPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# Preprocessor configuration
++#------------------------------------------------------------------------------
++
++# A configurable preprocessor
++# 
++# Inherit from this class if you wish to have configurability for your
++# preprocessor.
++# 
++# Any configurable traitlets this class exposed will be configurable in profiles
++# using c.SubClassName.attribute = value
++# 
++# you can overwrite :meth:`preprocess_cell` to apply a transformation
++# independently on each cell or :meth:`preprocess` if you prefer your own logic.
++# See corresponding docstring for informations.
++# 
++# Disabled by default and can be enabled via the config by
++#     'c.YourPreprocessorName.enabled = True'
++
++# Preprocessor will inherit config from: NbConvertBase
++
++# 
++# c.Preprocessor.enabled = False
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.Preprocessor.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.Preprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# RevealHelpPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# RevealHelpPreprocessor will inherit config from: Preprocessor, NbConvertBase
++
++# 
++# c.RevealHelpPreprocessor.enabled = False
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.RevealHelpPreprocessor.default_language = 'ipython'
++
++# The URL prefix for reveal.js. This can be a a relative URL for a local copy of
++# reveal.js, or point to a CDN.
++# 
++# For speaker notes to work, a local reveal.js prefix must be used.
++# c.RevealHelpPreprocessor.url_prefix = 'reveal.js'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.RevealHelpPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# SVG2PDFPreprocessor configuration
++#------------------------------------------------------------------------------
++
++# Converts all of the outputs in a notebook from SVG to PDF.
++
++# SVG2PDFPreprocessor will inherit config from: ConvertFiguresPreprocessor,
++# Preprocessor, NbConvertBase
++
++# Format the converter writes
++# c.SVG2PDFPreprocessor.to_format = ''
++
++# The path to Inkscape, if necessary
++# c.SVG2PDFPreprocessor.inkscape = ''
++
++# Format the converter accepts
++# c.SVG2PDFPreprocessor.from_format = ''
++
++# The command to use for converting SVG to PDF
++# 
++# This string is a template, which will be formatted with the keys to_filename
++# and from_filename.
++# 
++# The conversion call must read the SVG from {from_flename}, and write a PDF to
++# {to_filename}.
++# c.SVG2PDFPreprocessor.command = ''
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.SVG2PDFPreprocessor.default_language = 'ipython'
++
++# 
++# c.SVG2PDFPreprocessor.enabled = False
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.SVG2PDFPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# FilesWriter configuration
++#------------------------------------------------------------------------------
++
++# Consumes nbconvert output and produces files.
++
++# FilesWriter will inherit config from: WriterBase, NbConvertBase
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.FilesWriter.default_language = 'ipython'
++
++# When copying files that the notebook depends on, copy them in relation to this
++# path, such that the destination filename will be os.path.relpath(filename,
++# relpath). If FilesWriter is operating on a notebook that already exists
++# elsewhere on disk, then the default will be the directory containing that
++# notebook.
++# c.FilesWriter.relpath = ''
++
++# Directory to write output to.  Leave blank to output to the current directory
++# c.FilesWriter.build_directory = ''
++
++# List of the files that the notebook references.  Files will be  included with
++# written output.
++# c.FilesWriter.files = []
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.FilesWriter.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# StdoutWriter configuration
++#------------------------------------------------------------------------------
++
++# Consumes output from nbconvert export...() methods and writes to the  stdout
++# stream.
++
++# StdoutWriter will inherit config from: WriterBase, NbConvertBase
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.StdoutWriter.default_language = 'ipython'
++
++# List of the files that the notebook references.  Files will be  included with
++# written output.
++# c.StdoutWriter.files = []
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.StdoutWriter.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# WriterBase configuration
++#------------------------------------------------------------------------------
++
++# Consumes output from nbconvert export...() methods and writes to a useful
++# location.
++
++# WriterBase will inherit config from: NbConvertBase
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.WriterBase.default_language = 'ipython'
++
++# List of the files that the notebook references.  Files will be  included with
++# written output.
++# c.WriterBase.files = []
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.WriterBase.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# PostProcessorBase configuration
++#------------------------------------------------------------------------------
++
++# PostProcessorBase will inherit config from: NbConvertBase
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.PostProcessorBase.default_language = 'ipython'
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.PostProcessorBase.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++#------------------------------------------------------------------------------
++# ServePostProcessor configuration
++#------------------------------------------------------------------------------
++
++# Post processor designed to serve files
++# 
++# Proxies reveal.js requests to a CDN if no local reveal.js is present
++
++# ServePostProcessor will inherit config from: PostProcessorBase, NbConvertBase
++
++# URL prefix for reveal.js
++# c.ServePostProcessor.reveal_prefix = 'reveal.js'
++
++# Should the browser be opened automatically?
++# c.ServePostProcessor.open_in_browser = True
++
++# An ordered list of preferred output type, the first encountered will usually
++# be used when converting discarding the others.
++# c.ServePostProcessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
++
++# DEPRECATED default highlight language, please use language_info metadata
++# instead
++# c.ServePostProcessor.default_language = 'ipython'
++
++# port for the server to listen on.
++# c.ServePostProcessor.port = 8000
++
++# URL for reveal.js CDN.
++# c.ServePostProcessor.reveal_cdn = 'https://cdn.jsdelivr.net/reveal.js/2.6.2'
++
++# The IP address to listen on.
++# c.ServePostProcessor.ip = '127.0.0.1'
+
+--- jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
++++ jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
+@@ -0,0 +1,548 @@
++# Configuration file for ipython-notebook.
++
++c = get_config()
++
++#------------------------------------------------------------------------------
++# NotebookApp configuration
++#------------------------------------------------------------------------------
++
++# NotebookApp will inherit config from: BaseIPythonApplication, Application
++
++# Supply SSL options for the tornado HTTPServer. See the tornado docs for
++# details.
++# c.NotebookApp.ssl_options = {}
++
++# The config manager class to use
++# c.NotebookApp.config_manager_class = <class 'IPython.html.services.config.manager.ConfigManager'>
++
++# Hashed password to use for web authentication.
++# 
++# To generate, type in a python/IPython shell:
++# 
++#   from IPython.lib import passwd; passwd()
++# 
++# The string should be of the form type:salt:hashed-password.
++# c.NotebookApp.password = ''
++
++# The number of additional ports to try if the specified port is not available.
++# c.NotebookApp.port_retries = 50
++
++# The kernel manager class to use.
++# c.NotebookApp.kernel_manager_class = <class 'IPython.html.services.kernels.kernelmanager.MappingKernelManager'>
++
++# The port the notebook server will listen on.
++# c.NotebookApp.port = 8888
++
++# Set the log level by value or name.
++# c.NotebookApp.log_level = 30
++
++# Path to an extra config file to load.
++# 
++# If specified, load this config file in addition to any other IPython config.
++# c.NotebookApp.extra_config_file = ''
++
++# The cluster manager class to use.
++# c.NotebookApp.cluster_manager_class = <class 'IPython.html.services.clusters.clustermanager.ClusterManager'>
++
++# The base URL for the notebook server.
++# 
++# Leading and trailing slashes can be omitted, and will automatically be added.
++# c.NotebookApp.base_url = '/'
++
++# Python modules to load as notebook server extensions. This is an experimental
++# API, and may change in future releases.
++# c.NotebookApp.server_extensions = []
++
++# The login handler class to use.
++# c.NotebookApp.login_handler_class = <class 'IPython.html.auth.login.LoginHandler'>
++
++# The session manager class to use.
++# c.NotebookApp.session_manager_class = <class 'IPython.html.services.sessions.sessionmanager.SessionManager'>
++
++# Set the Access-Control-Allow-Origin header
++# 
++# Use '*' to allow any origin to access your server.
++# 
++# Takes precedence over allow_origin_pat.
++# c.NotebookApp.allow_origin = ''
++
++# Whether to enable MathJax for typesetting math/TeX
++# 
++# MathJax is the javascript library IPython uses to render math/LaTeX. It is
++# very large, so you may want to disable it if you have a slow internet
++# connection, or for offline use of the notebook.
++# 
++# When disabled, equations etc. will appear as their untransformed TeX source.
++# c.NotebookApp.enable_mathjax = True
++
++# The notebook manager class to use.
++# c.NotebookApp.contents_manager_class = <class 'IPython.html.services.contents.filemanager.FileContentsManager'>
++
++# The full path to an SSL/TLS certificate file.
++# c.NotebookApp.certfile = ''
++
++# Set the Access-Control-Allow-Credentials: true header
++# c.NotebookApp.allow_credentials = False
++
++# The Logging format template
++# c.NotebookApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
++
++# The base URL for websockets, if it differs from the HTTP server (hint: it
++# almost certainly doesn't).
++# 
++# Should be in the form of an HTTP origin: ws[s]://hostname[:port]
++# c.NotebookApp.websocket_url = ''
++
++# Use a regular expression for the Access-Control-Allow-Origin header
++# 
++# Requests from an origin matching the expression will get replies with:
++# 
++#     Access-Control-Allow-Origin: origin
++# 
++# where `origin` is the origin of the request.
++# 
++# Ignored if allow_origin is set.
++# c.NotebookApp.allow_origin_pat = ''
++
++# The date format used by logging formatters for %(asctime)s
++# c.NotebookApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
++
++# The logout handler class to use.
++# c.NotebookApp.logout_handler_class = <class 'IPython.html.auth.logout.LogoutHandler'>
++
++# The default URL to redirect to from `/`
++# c.NotebookApp.default_url = '/tree'
++
++# The IPython profile to use.
++# c.NotebookApp.profile = 'default'
++
++# extra paths to look for Javascript notebook extensions
++# c.NotebookApp.extra_nbextensions_path = []
++
++# Specify what command to use to invoke a web browser when opening the notebook.
++# If not specified, the default browser will be determined by the `webbrowser`
++# standard library module, which allows setting of the BROWSER environment
++# variable to override it.
++# c.NotebookApp.browser = ''
++
++# The url for MathJax.js.
++# c.NotebookApp.mathjax_url = ''
++
++# Supply overrides for the tornado.web.Application that the IPython notebook
++# uses.
++# c.NotebookApp.tornado_settings = {}
++
++# The file where the cookie secret is stored.
++# c.NotebookApp.cookie_secret_file = ''
++
++# Create a massive crash report when IPython encounters what may be an internal
++# error.  The default is to append a short message to the usual traceback
++# c.NotebookApp.verbose_crash = False
++
++# Whether to overwrite existing config files when copying
++# c.NotebookApp.overwrite = False
++
++# Whether to open in a browser after starting. The specific browser used is
++# platform dependent and determined by the python standard library `webbrowser`
++# module, unless it is overridden using the --browser (NotebookApp.browser)
++# configuration option.
++# c.NotebookApp.open_browser = True
++
++# DEPRECATED, use tornado_settings
++# c.NotebookApp.webapp_settings = {}
++
++# Reraise exceptions encountered loading server extensions?
++# c.NotebookApp.reraise_server_extension_failures = False
++
++# Whether to install the default config files into the profile dir. If a new
++# profile is being created, and IPython contains config files for that profile,
++# then they will be staged into the new directory.  Otherwise, default config
++# files will be automatically generated.
++# c.NotebookApp.copy_config_files = False
++
++# DISABLED: use %pylab or %matplotlib in the notebook to enable matplotlib.
++# c.NotebookApp.pylab = 'disabled'
++
++# The directory to use for notebooks and kernels.
++# c.NotebookApp.notebook_dir = ''
++
++# The kernel spec manager class to use. Should be a subclass of
++# `IPython.kernel.kernelspec.KernelSpecManager`.
++# 
++# The Api of KernelSpecManager is provisional and might change without warning
++# between this version of IPython and the next stable one.
++# c.NotebookApp.kernel_spec_manager_class = <class 'IPython.kernel.kernelspec.KernelSpecManager'>
++
++# 
++# c.NotebookApp.file_to_run = ''
++
++# DEPRECATED use base_url
++# c.NotebookApp.base_project_url = '/'
++
++# The random bytes used to secure cookies. By default this is a new random
++# number every time you start the Notebook. Set it to a value in a config file
++# to enable logins to persist across server sessions.
++# 
++# Note: Cookie secrets should be kept private, do not share config files with
++# cookie_secret stored in plaintext (you can read the value from a file).
++# c.NotebookApp.cookie_secret = b''
++
++# The full path to a private key file for usage with SSL/TLS.
++# c.NotebookApp.keyfile = ''
++
++# Extra paths to search for serving static files.
++# 
++# This allows adding javascript/css to be available from the notebook server
++# machine, or overriding individual files in the IPython
++# c.NotebookApp.extra_static_paths = []
++
++# The name of the IPython directory. This directory is used for logging
++# configuration (through profiles), history storage, etc. The default is usually
++# $HOME/.ipython. This option can also be specified through the environment
++# variable IPYTHONDIR.
++# c.NotebookApp.ipython_dir = ''
++
++# Extra paths to search for serving jinja templates.
++# 
++# Can be used to override templates from IPython.html.templates.
++# c.NotebookApp.extra_template_paths = []
++
++# Whether to trust or not X-Scheme/X-Forwarded-Proto and X-Real-Ip/X-Forwarded-
++# For headerssent by the upstream reverse proxy. Necessary if the proxy handles
++# SSL
++# c.NotebookApp.trust_xheaders = False
++
++# Supply extra arguments that will be passed to Jinja environment.
++# c.NotebookApp.jinja_environment_options = {}
++
++# The IP address the notebook server will listen on.
++# c.NotebookApp.ip = 'localhost'
++
++#------------------------------------------------------------------------------
++# KernelManager configuration
++#------------------------------------------------------------------------------
++
++# Manages a single kernel in a subprocess on this host.
++# 
++# This version starts kernels with Popen.
++
++# KernelManager will inherit config from: ConnectionFileMixin
++
++# set the heartbeat port [default: random]
++# c.KernelManager.hb_port = 0
++
++# set the stdin (ROUTER) port [default: random]
++# c.KernelManager.stdin_port = 0
++
++# 
++# c.KernelManager.transport = 'tcp'
++
++# JSON file in which to store connection info [default: kernel-<pid>.json]
++# 
++# This file will contain the IP, ports, and authentication key needed to connect
++# clients to this kernel. By default, this file will be created in the security
++# dir of the current profile, but can be specified by absolute path.
++# c.KernelManager.connection_file = ''
++
++# set the control (ROUTER) port [default: random]
++# c.KernelManager.control_port = 0
++
++# set the shell (ROUTER) port [default: random]
++# c.KernelManager.shell_port = 0
++
++# Should we autorestart the kernel if it dies.
++# c.KernelManager.autorestart = False
++
++# DEPRECATED: Use kernel_name instead.
++# 
++# The Popen Command to launch the kernel. Override this if you have a custom
++# kernel. If kernel_cmd is specified in a configuration file, IPython does not
++# pass any arguments to the kernel, because it cannot make any assumptions about
++# the  arguments that the kernel understands. In particular, this means that the
++# kernel does not receive the option --debug if it given on the IPython command
++# line.
++# c.KernelManager.kernel_cmd = []
++
++# Set the kernel's IP address [default localhost]. If the IP address is
++# something other than localhost, then Consoles on other machines will be able
++# to connect to the Kernel, so be careful!
++# c.KernelManager.ip = ''
++
++# set the iopub (PUB) port [default: random]
++# c.KernelManager.iopub_port = 0
++
++#------------------------------------------------------------------------------
++# ProfileDir configuration
++#------------------------------------------------------------------------------
++
++# An object to manage the profile directory and its resources.
++# 
++# The profile directory is used by all IPython applications, to manage
++# configuration, logging and security.
++# 
++# This object knows how to find, create and manage these directories. This
++# should be used by any code that wants to handle profiles.
++
++# Set the profile location directly. This overrides the logic used by the
++# `profile` option.
++# c.ProfileDir.location = ''
++
++#------------------------------------------------------------------------------
++# Session configuration
++#------------------------------------------------------------------------------
++
++# Object for handling serialization and sending of messages.
++# 
++# The Session object handles building messages and sending them with ZMQ sockets
++# or ZMQStream objects.  Objects can communicate with each other over the
++# network via Session objects, and only need to work with the dict-based IPython
++# message spec. The Session will handle serialization/deserialization, security,
++# and metadata.
++# 
++# Sessions support configurable serialization via packer/unpacker traits, and
++# signing with HMAC digests via the key/keyfile traits.
++# 
++# Parameters ----------
++# 
++# debug : bool
++#     whether to trigger extra debugging statements
++# packer/unpacker : str : 'json', 'pickle' or import_string
++#     importstrings for methods to serialize message parts.  If just
++#     'json' or 'pickle', predefined JSON and pickle packers will be used.
++#     Otherwise, the entire importstring must be used.
++# 
++#     The functions must accept at least valid JSON input, and output *bytes*.
++# 
++#     For example, to use msgpack:
++#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
++# pack/unpack : callables
++#     You can also set the pack/unpack callables for serialization directly.
++# session : bytes
++#     the ID of this Session object.  The default is to generate a new UUID.
++# username : unicode
++#     username added to message headers.  The default is to ask the OS.
++# key : bytes
++#     The key used to initialize an HMAC signature.  If unset, messages
++#     will not be signed or checked.
++# keyfile : filepath
++#     The file containing a key.  If this is set, `key` will be initialized
++#     to the contents of the file.
++
++# The digest scheme used to construct the message signatures. Must have the form
++# 'hmac-HASH'.
++# c.Session.signature_scheme = 'hmac-sha256'
++
++# The maximum number of digests to remember.
++# 
++# The digest history will be culled when it exceeds this value.
++# c.Session.digest_history_size = 65536
++
++# The name of the unpacker for unserializing messages. Only used with custom
++# functions for `packer`.
++# c.Session.unpacker = 'json'
++
++# The name of the packer for serializing messages. Should be one of 'json',
++# 'pickle', or an import name for a custom callable serializer.
++# c.Session.packer = 'json'
++
++# Username for the Session. Default is your system username.
++# c.Session.username = 'minrk'
++
++# Debug output in the Session
++# c.Session.debug = False
++
++# path to file containing execution key.
++# c.Session.keyfile = ''
++
++# The maximum number of items for a container to be introspected for custom
++# serialization. Containers larger than this are pickled outright.
++# c.Session.item_threshold = 64
++
++# Threshold (in bytes) beyond which an object's buffer should be extracted to
++# avoid pickling.
++# c.Session.buffer_threshold = 1024
++
++# The UUID identifying this session.
++# c.Session.session = ''
++
++# Threshold (in bytes) beyond which a buffer should be sent without copying.
++# c.Session.copy_threshold = 65536
++
++# execution key, for signing messages.
++# c.Session.key = b''
++
++# Metadata dictionary, which serves as the default top-level metadata dict for
++# each message.
++# c.Session.metadata = {}
++
++#------------------------------------------------------------------------------
++# MappingKernelManager configuration
++#------------------------------------------------------------------------------
++
++# A KernelManager that handles notebook mapping and HTTP error handling
++
++# MappingKernelManager will inherit config from: MultiKernelManager
++
++# The kernel manager class.  This is configurable to allow subclassing of the
++# KernelManager for customized behavior.
++# c.MappingKernelManager.kernel_manager_class = 'IPython.kernel.ioloop.IOLoopKernelManager'
++
++# 
++# c.MappingKernelManager.root_dir = ''
++
++# The name of the default kernel to start
++# c.MappingKernelManager.default_kernel_name = 'python3'
++
++#------------------------------------------------------------------------------
++# ContentsManager configuration
++#------------------------------------------------------------------------------
++
++# Base class for serving files and directories.
++# 
++# This serves any text or binary file, as well as directories, with special
++# handling for JSON notebook documents.
++# 
++# Most APIs take a path argument, which is always an API-style unicode path, and
++# always refers to a directory.
++# 
++# - unicode, not url-escaped
++# - '/'-separated
++# - leading and trailing '/' will be stripped
++# - if unspecified, path defaults to '',
++#   indicating the root path.
++
++# The base name used when creating untitled directories.
++# c.ContentsManager.untitled_directory = 'Untitled Folder'
++
++# Python callable or importstring thereof
++# 
++# To be called on a contents model prior to save.
++# 
++# This can be used to process the structure, such as removing notebook outputs
++# or other side effects that should not be saved.
++# 
++# It will be called as (all arguments passed by keyword)::
++# 
++#     hook(path=path, model=model, contents_manager=self)
++# 
++# - model: the model to be saved. Includes file contents.
++#   Modifying this dict will affect the file that is stored.
++# - path: the API path of the save destination
++# - contents_manager: this ContentsManager instance
++# c.ContentsManager.pre_save_hook = None
++
++# Glob patterns to hide in file and directory listings.
++# c.ContentsManager.hide_globs = ['__pycache__', '*.pyc', '*.pyo', '.DS_Store', '*.so', '*.dylib', '*~']
++
++# The base name used when creating untitled files.
++# c.ContentsManager.untitled_file = 'untitled'
++
++# The base name used when creating untitled notebooks.
++# c.ContentsManager.untitled_notebook = 'Untitled'
++
++# 
++# c.ContentsManager.checkpoints = None
++
++# 
++# c.ContentsManager.checkpoints_class = <class 'IPython.html.services.contents.checkpoints.Checkpoints'>
++
++# 
++# c.ContentsManager.checkpoints_kwargs = {}
++
++#------------------------------------------------------------------------------
++# FileContentsManager configuration
++#------------------------------------------------------------------------------
++
++# FileContentsManager will inherit config from: ContentsManager
++
++# The base name used when creating untitled directories.
++# c.FileContentsManager.untitled_directory = 'Untitled Folder'
++
++# Python callable or importstring thereof
++# 
++# To be called on a contents model prior to save.
++# 
++# This can be used to process the structure, such as removing notebook outputs
++# or other side effects that should not be saved.
++# 
++# It will be called as (all arguments passed by keyword)::
++# 
++#     hook(path=path, model=model, contents_manager=self)
++# 
++# - model: the model to be saved. Includes file contents.
++#   Modifying this dict will affect the file that is stored.
++# - path: the API path of the save destination
++# - contents_manager: this ContentsManager instance
++# c.FileContentsManager.pre_save_hook = None
++
++# Glob patterns to hide in file and directory listings.
++# c.FileContentsManager.hide_globs = ['__pycache__', '*.pyc', '*.pyo', '.DS_Store', '*.so', '*.dylib', '*~']
++
++# The base name used when creating untitled files.
++# c.FileContentsManager.untitled_file = 'untitled'
++
++# The base name used when creating untitled notebooks.
++# c.FileContentsManager.untitled_notebook = 'Untitled'
++
++# Python callable or importstring thereof
++# 
++# to be called on the path of a file just saved.
++# 
++# This can be used to process the file on disk, such as converting the notebook
++# to a script or HTML via nbconvert.
++# 
++# It will be called as (all arguments passed by keyword)::
++# 
++#     hook(os_path=os_path, model=model, contents_manager=instance)
++# 
++# - path: the filesystem path to the file just written - model: the model
++# representing the file - contents_manager: this ContentsManager instance
++# c.FileContentsManager.post_save_hook = None
++
++# DEPRECATED, use post_save_hook
++# c.FileContentsManager.save_script = False
++
++# 
++# c.FileContentsManager.root_dir = ''
++
++# 
++# c.FileContentsManager.checkpoints_class = <class 'IPython.html.services.contents.checkpoints.Checkpoints'>
++
++# 
++# c.FileContentsManager.checkpoints = None
++
++# 
++# c.FileContentsManager.checkpoints_kwargs = {}
++
++#------------------------------------------------------------------------------
++# NotebookNotary configuration
++#------------------------------------------------------------------------------
++
++# A class for computing and verifying notebook signatures.
++
++# The number of notebook signatures to cache. When the number of signatures
++# exceeds this value, the oldest 25% of signatures will be culled.
++# c.NotebookNotary.cache_size = 65535
++
++# The sqlite file in which to store notebook signatures. By default, this will
++# be in your IPython profile. You can set it to ':memory:' to disable sqlite
++# writing to the filesystem.
++# c.NotebookNotary.db_file = ''
++
++# The secret key with which notebooks are signed.
++# c.NotebookNotary.secret = b''
++
++# The file where the secret key is stored.
++# c.NotebookNotary.secret_file = ''
++
++# The hashing algorithm used to sign notebooks.
++# c.NotebookNotary.algorithm = 'sha256'
++
++#------------------------------------------------------------------------------
++# KernelSpecManager configuration
++#------------------------------------------------------------------------------
++
++# Whitelist of allowed kernel names.
++# 
++# By default, all installed kernels are allowed.
++# c.KernelSpecManager.whitelist = set()
+
+--- jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.css
++++ jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.css
+@@ -0,0 +1,7 @@
++/*
++Placeholder for custom user CSS
++
++mainly to be overridden in profile/static/custom/custom.css
++
++This will always be an empty file in IPython
++*/
+\ No newline at end of file
+
+--- jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.js
++++ jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.js
+@@ -0,0 +1,82 @@
++// leave at least 2 line with only a star on it below, or doc generation fails
++/**
++ *
++ *
++ * Placeholder for custom user javascript
++ * mainly to be overridden in profile/static/custom/custom.js
++ * This will always be an empty file in IPython
++ *
++ * User could add any javascript in the `profile/static/custom/custom.js` file.
++ * It will be executed by the ipython notebook at load time.
++ *
++ * Same thing with `profile/static/custom/custom.css` to inject custom css into the notebook.
++ *
++ *
++ * The object available at load time depend on the version of IPython in use.
++ * there is no guaranties of API stability.
++ *
++ * The example below explain the principle, and might not be valid.
++ *
++ * Instances are created after the loading of this file and might need to be accessed using events:
++ *     define([
++ *        'base/js/namespace',
++ *        'base/js/events'
++ *     ], function(IPython, events) {
++ *         events.on("app_initialized.NotebookApp", function () {
++ *             IPython.keyboard_manager....
++ *         });
++ *     });
++ *
++ * __Example 1:__
++ *
++ * Create a custom button in toolbar that execute `%qtconsole` in kernel
++ * and hence open a qtconsole attached to the same kernel as the current notebook
++ *
++ *    define([
++ *        'base/js/namespace',
++ *        'base/js/events'
++ *    ], function(IPython, events) {
++ *        events.on('app_initialized.NotebookApp', function(){
++ *            IPython.toolbar.add_buttons_group([
++ *                {
++ *                    'label'   : 'run qtconsole',
++ *                    'icon'    : 'icon-terminal', // select your icon from http://fortawesome.github.io/Font-Awesome/icons
++ *                    'callback': function () {
++ *                        IPython.notebook.kernel.execute('%qtconsole')
++ *                    }
++ *                }
++ *                // add more button here if needed.
++ *                ]);
++ *        });
++ *    });
++ *
++ * __Example 2:__
++ *
++ * At the completion of the dashboard loading, load an unofficial javascript extension
++ * that is installed in profile/static/custom/
++ *
++ *    define([
++ *        'base/js/events'
++ *    ], function(events) {
++ *        events.on('app_initialized.DashboardApp', function(){
++ *            require(['custom/unofficial_extension.js'])
++ *        });
++ *    });
++ *
++ * __Example 3:__
++ *
++ *  Use `jQuery.getScript(url [, success(script, textStatus, jqXHR)] );`
++ *  to load custom script into the notebook.
++ *
++ *    // to load the metadata ui extension example.
++ *    $.getScript('/static/notebook/js/celltoolbarpresets/example.js');
++ *    // or
++ *    // to load the metadata ui extension to control slideshow mode / reveal js for nbconvert
++ *    $.getScript('/static/notebook/js/celltoolbarpresets/slideshow.js');
++ *
++ *
++ * @module IPython
++ * @namespace IPython
++ * @class customjs
++ * @static
++ */


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/sci:master commit in: patches/
@ 2015-11-28 18:02 Marius Brehler
  0 siblings, 0 replies; 7+ messages in thread
From: Marius Brehler @ 2015-11-28 18:02 UTC (permalink / raw
  To: gentoo-commits

commit:     c3d5db470d3903c06eb32101eaa37f0696cec756
Author:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
AuthorDate: Sat Nov 28 18:01:49 2015 +0000
Commit:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
CommitDate: Sat Nov 28 18:01:49 2015 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=c3d5db47

Drop patches/jupyter_core-4.0.4-tests-dotipython.patch

 patches/jupyter_core-4.0.4-tests-dotipython.patch | 4743 ---------------------
 1 file changed, 4743 deletions(-)

diff --git a/patches/jupyter_core-4.0.4-tests-dotipython.patch b/patches/jupyter_core-4.0.4-tests-dotipython.patch
deleted file mode 100644
index de84ce9..0000000
--- a/patches/jupyter_core-4.0.4-tests-dotipython.patch
+++ /dev/null
@@ -1,4743 +0,0 @@
-Patch to add tests/dotipython* data, which is not shipped
-with pypi.
-Fixes https://github.com/gentoo-science/sci/issues/479
-
-Patch by Marius Brehler.
-
---- jupyter_core/tests/dotipython/nbextensions/myext.js
-+++ jupyter_core/tests/dotipython/nbextensions/myext.js
-@@ -0,0 +1 @@
-+var hello;
-
---- jupyter_core/tests/dotipython/profile_default/ipython_config.py
-+++ jupyter_core/tests/dotipython/profile_default/ipython_config.py
-@@ -0,0 +1,549 @@
-+# Configuration file for ipython.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# InteractiveShellApp configuration
-+#------------------------------------------------------------------------------
-+
-+# A Mixin for applications that start InteractiveShell instances.
-+# 
-+# Provides configurables for loading extensions and executing files as part of
-+# configuring a Shell environment.
-+# 
-+# The following methods should be called by the :meth:`initialize` method of the
-+# subclass:
-+# 
-+#   - :meth:`init_path`
-+#   - :meth:`init_shell` (to be implemented by the subclass)
-+#   - :meth:`init_gui_pylab`
-+#   - :meth:`init_extensions`
-+#   - :meth:`init_code`
-+
-+# lines of code to run at IPython startup.
-+# c.InteractiveShellApp.exec_lines = []
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.InteractiveShellApp.hide_initial_ns = True
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.InteractiveShellApp.extensions = []
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.InteractiveShellApp.gui = None
-+
-+# A file to be run
-+# c.InteractiveShellApp.file_to_run = ''
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.InteractiveShellApp.matplotlib = None
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.InteractiveShellApp.reraise_ipython_extension_failures = False
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.InteractiveShellApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.InteractiveShellApp.pylab = None
-+
-+# Run the module as a script.
-+# c.InteractiveShellApp.module_to_run = ''
-+
-+# dotted module name of an IPython extension to load.
-+# c.InteractiveShellApp.extra_extension = ''
-+
-+# List of files to run at IPython startup.
-+# c.InteractiveShellApp.exec_files = []
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.InteractiveShellApp.pylab_import_all = True
-+
-+# Execute the given command string.
-+# c.InteractiveShellApp.code_to_run = ''
-+
-+#------------------------------------------------------------------------------
-+# TerminalIPythonApp configuration
-+#------------------------------------------------------------------------------
-+
-+# TerminalIPythonApp will inherit config from: BaseIPythonApplication,
-+# Application, InteractiveShellApp
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.TerminalIPythonApp.hide_initial_ns = True
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.TerminalIPythonApp.extensions = []
-+
-+# Execute the given command string.
-+# c.TerminalIPythonApp.code_to_run = ''
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.TerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.TerminalIPythonApp.reraise_ipython_extension_failures = False
-+
-+# Set the log level by value or name.
-+# c.TerminalIPythonApp.log_level = 30
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.TerminalIPythonApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.TerminalIPythonApp.pylab = None
-+
-+# Run the module as a script.
-+# c.TerminalIPythonApp.module_to_run = ''
-+
-+# Whether to display a banner upon starting IPython.
-+# c.TerminalIPythonApp.display_banner = True
-+
-+# dotted module name of an IPython extension to load.
-+# c.TerminalIPythonApp.extra_extension = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.TerminalIPythonApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.TerminalIPythonApp.overwrite = False
-+
-+# The IPython profile to use.
-+# c.TerminalIPythonApp.profile = 'default'
-+
-+# If a command or file is given via the command-line, e.g. 'ipython foo.py',
-+# start an interactive shell after executing the file or command.
-+# c.TerminalIPythonApp.force_interact = False
-+
-+# List of files to run at IPython startup.
-+# c.TerminalIPythonApp.exec_files = []
-+
-+# Start IPython quickly by skipping the loading of config files.
-+# c.TerminalIPythonApp.quick = False
-+
-+# The Logging format template
-+# c.TerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.TerminalIPythonApp.copy_config_files = False
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.TerminalIPythonApp.extra_config_file = ''
-+
-+# lines of code to run at IPython startup.
-+# c.TerminalIPythonApp.exec_lines = []
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.TerminalIPythonApp.gui = None
-+
-+# A file to be run
-+# c.TerminalIPythonApp.file_to_run = ''
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.TerminalIPythonApp.matplotlib = None
-+
-+# Suppress warning messages about legacy config files
-+# c.TerminalIPythonApp.ignore_old_config = False
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.TerminalIPythonApp.ipython_dir = ''
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.TerminalIPythonApp.pylab_import_all = True
-+
-+#------------------------------------------------------------------------------
-+# TerminalInteractiveShell configuration
-+#------------------------------------------------------------------------------
-+
-+# TerminalInteractiveShell will inherit config from: InteractiveShell
-+
-+# 
-+# c.TerminalInteractiveShell.object_info_string_level = 0
-+
-+# 
-+# c.TerminalInteractiveShell.separate_out = ''
-+
-+# Automatically call the pdb debugger after every exception.
-+# c.TerminalInteractiveShell.pdb = False
-+
-+# 
-+# c.TerminalInteractiveShell.ipython_dir = ''
-+
-+# 
-+# c.TerminalInteractiveShell.history_length = 10000
-+
-+# 
-+# c.TerminalInteractiveShell.readline_remove_delims = '-/~'
-+
-+# auto editing of files with syntax errors.
-+# c.TerminalInteractiveShell.autoedit_syntax = False
-+
-+# If True, anything that would be passed to the pager will be displayed as
-+# regular output instead.
-+# c.TerminalInteractiveShell.display_page = False
-+
-+# 
-+# c.TerminalInteractiveShell.debug = False
-+
-+# 
-+# c.TerminalInteractiveShell.separate_in = '\n'
-+
-+# Start logging to the default log file in overwrite mode. Use `logappend` to
-+# specify a log file to **append** logs to.
-+# c.TerminalInteractiveShell.logstart = False
-+
-+# Set the size of the output cache.  The default is 1000, you can change it
-+# permanently in your config file.  Setting it to 0 completely disables the
-+# caching system, and the minimum value accepted is 20 (if you provide a value
-+# less than 20, it is reset to 0 and a warning is issued).  This limit is
-+# defined because otherwise you'll spend more time re-flushing a too small cache
-+# than working
-+# c.TerminalInteractiveShell.cache_size = 1000
-+
-+# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
-+# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
-+# direct exit without any confirmation.
-+# c.TerminalInteractiveShell.confirm_exit = True
-+
-+# The shell program to be used for paging.
-+# c.TerminalInteractiveShell.pager = 'less'
-+
-+# 
-+# c.TerminalInteractiveShell.wildcards_case_sensitive = True
-+
-+# Deprecated, use PromptManager.justify
-+# c.TerminalInteractiveShell.prompts_pad_left = True
-+
-+# The name of the logfile to use.
-+# c.TerminalInteractiveShell.logfile = ''
-+
-+# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
-+# interactively (displaying output from expressions).
-+# c.TerminalInteractiveShell.ast_node_interactivity = 'last_expr'
-+
-+# 
-+# c.TerminalInteractiveShell.quiet = False
-+
-+# Save multi-line entries as one entry in readline history
-+# c.TerminalInteractiveShell.multiline_history = True
-+
-+# Deprecated, use PromptManager.in_template
-+# c.TerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
-+
-+# 
-+# c.TerminalInteractiveShell.readline_use = True
-+
-+# Enable magic commands to be called without the leading %.
-+# c.TerminalInteractiveShell.automagic = True
-+
-+# The part of the banner to be printed before the profile
-+# c.TerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
-+
-+# Make IPython automatically call any callable object even if you didn't type
-+# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
-+# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
-+# it is not applied if there are no more arguments on the line, and '2' for
-+# 'full' autocall, where all callable objects are automatically called (even if
-+# no arguments are present).
-+# c.TerminalInteractiveShell.autocall = 0
-+
-+# Autoindent IPython code entered interactively.
-+# c.TerminalInteractiveShell.autoindent = True
-+
-+# Set the color scheme (NoColor, Linux, or LightBG).
-+# c.TerminalInteractiveShell.colors = 'LightBG'
-+
-+# Set the editor used by IPython (default to $EDITOR/vi/notepad).
-+# c.TerminalInteractiveShell.editor = 'mate -w'
-+
-+# Use colors for displaying information about objects. Because this information
-+# is passed through a pager (like 'less'), and some pagers get confused with
-+# color codes, this capability can be turned off.
-+# c.TerminalInteractiveShell.color_info = True
-+
-+# 
-+# c.TerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
-+
-+# Deprecated, use PromptManager.in2_template
-+# c.TerminalInteractiveShell.prompt_in2 = '   .\\D.: '
-+
-+# 
-+# c.TerminalInteractiveShell.separate_out2 = ''
-+
-+# The part of the banner to be printed after the profile
-+# c.TerminalInteractiveShell.banner2 = ''
-+
-+# Start logging to the given file in append mode. Use `logfile` to specify a log
-+# file to **overwrite** logs to.
-+# c.TerminalInteractiveShell.logappend = ''
-+
-+# Don't call post-execute functions that have failed in the past.
-+# c.TerminalInteractiveShell.disable_failing_post_execute = False
-+
-+# Deprecated, use PromptManager.out_template
-+# c.TerminalInteractiveShell.prompt_out = 'Out[\\#]: '
-+
-+# Enable deep (recursive) reloading by default. IPython can use the deep_reload
-+# module which reloads changes in modules recursively (it replaces the reload()
-+# function, so you don't need to change anything to use it). deep_reload()
-+# forces a full reload of modules whose code may have changed, which the default
-+# reload() function does not.  When deep_reload is off, IPython will use the
-+# normal reload(), but deep_reload will still be available as dreload().
-+# c.TerminalInteractiveShell.deep_reload = False
-+
-+# 
-+# c.TerminalInteractiveShell.xmode = 'Context'
-+
-+# Show rewritten input, e.g. for autocall.
-+# c.TerminalInteractiveShell.show_rewritten_input = True
-+
-+# Number of lines of your screen, used to control printing of very long strings.
-+# Strings longer than this number of lines will be sent through a pager instead
-+# of directly printed.  The default value for this is 0, which means IPython
-+# will auto-detect your screen size every time it needs to print certain
-+# potentially long strings (this doesn't change the behavior of the 'print'
-+# keyword, it's only triggered internally). If for some reason this isn't
-+# working well (it needs curses support), specify it yourself. Otherwise don't
-+# change the default.
-+# c.TerminalInteractiveShell.screen_length = 0
-+
-+# A list of ast.NodeTransformer subclass instances, which will be applied to
-+# user input before code is run.
-+# c.TerminalInteractiveShell.ast_transformers = []
-+
-+# Enable auto setting the terminal title.
-+# c.TerminalInteractiveShell.term_title = False
-+
-+#------------------------------------------------------------------------------
-+# PromptManager configuration
-+#------------------------------------------------------------------------------
-+
-+# This is the primary interface for producing IPython's prompts.
-+
-+# 
-+# c.PromptManager.color_scheme = 'Linux'
-+
-+# Continuation prompt.
-+# c.PromptManager.in2_template = '   .\\D.: '
-+
-+# Input prompt.  '\#' will be transformed to the prompt number
-+# c.PromptManager.in_template = 'In [\\#]: '
-+
-+# Output prompt. '\#' will be transformed to the prompt number
-+# c.PromptManager.out_template = 'Out[\\#]: '
-+
-+# If True (default), each prompt will be right-aligned with the preceding one.
-+# c.PromptManager.justify = True
-+
-+#------------------------------------------------------------------------------
-+# HistoryManager configuration
-+#------------------------------------------------------------------------------
-+
-+# A class to organize all history-related functionality in one place.
-+
-+# HistoryManager will inherit config from: HistoryAccessor
-+
-+# Options for configuring the SQLite connection
-+# 
-+# These options are passed as keyword args to sqlite3.connect when establishing
-+# database conenctions.
-+# c.HistoryManager.connection_options = {}
-+
-+# Should the history database include output? (default: no)
-+# c.HistoryManager.db_log_output = False
-+
-+# enable the SQLite history
-+# 
-+# set enabled=False to disable the SQLite history, in which case there will be
-+# no stored history, no SQLite connection, and no background saving thread.
-+# This may be necessary in some threaded environments where IPython is embedded.
-+# c.HistoryManager.enabled = True
-+
-+# Path to file to use for SQLite history database.
-+# 
-+# By default, IPython will put the history database in the IPython profile
-+# directory.  If you would rather share one history among profiles, you can set
-+# this value in each, so that they are consistent.
-+# 
-+# Due to an issue with fcntl, SQLite is known to misbehave on some NFS mounts.
-+# If you see IPython hanging, try setting this to something on a local disk,
-+# e.g::
-+# 
-+#     ipython --HistoryManager.hist_file=/tmp/ipython_hist.sqlite
-+# c.HistoryManager.hist_file = ''
-+
-+# Write to database every x commands (higher values save disk access & power).
-+# Values of 1 or less effectively disable caching.
-+# c.HistoryManager.db_cache_size = 0
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# PlainTextFormatter configuration
-+#------------------------------------------------------------------------------
-+
-+# The default pretty-printer.
-+# 
-+# This uses :mod:`IPython.lib.pretty` to compute the format data of the object.
-+# If the object cannot be pretty printed, :func:`repr` is used. See the
-+# documentation of :mod:`IPython.lib.pretty` for details on how to write pretty
-+# printers.  Here is a simple example::
-+# 
-+#     def dtype_pprinter(obj, p, cycle):
-+#         if cycle:
-+#             return p.text('dtype(...)')
-+#         if hasattr(obj, 'fields'):
-+#             if obj.fields is None:
-+#                 p.text(repr(obj))
-+#             else:
-+#                 p.begin_group(7, 'dtype([')
-+#                 for i, field in enumerate(obj.descr):
-+#                     if i > 0:
-+#                         p.text(',')
-+#                         p.breakable()
-+#                     p.pretty(field)
-+#                 p.end_group(7, '])')
-+
-+# PlainTextFormatter will inherit config from: BaseFormatter
-+
-+# 
-+# c.PlainTextFormatter.newline = '\n'
-+
-+# 
-+# c.PlainTextFormatter.max_width = 79
-+
-+# 
-+# c.PlainTextFormatter.verbose = False
-+
-+# 
-+# c.PlainTextFormatter.pprint = True
-+
-+# 
-+# c.PlainTextFormatter.singleton_printers = {}
-+
-+# 
-+# c.PlainTextFormatter.type_printers = {}
-+
-+# Truncate large collections (lists, dicts, tuples, sets) to this size.
-+# 
-+# Set to 0 to disable truncation.
-+# c.PlainTextFormatter.max_seq_length = 1000
-+
-+# 
-+# c.PlainTextFormatter.deferred_printers = {}
-+
-+# 
-+# c.PlainTextFormatter.float_precision = ''
-+
-+#------------------------------------------------------------------------------
-+# IPCompleter configuration
-+#------------------------------------------------------------------------------
-+
-+# Extension of the completer class with IPython-specific features
-+
-+# IPCompleter will inherit config from: Completer
-+
-+# Whether to merge completion results into a single list
-+# 
-+# If False, only the completion results from the first non-empty completer will
-+# be returned.
-+# c.IPCompleter.merge_completions = True
-+
-+# Activate greedy completion
-+# 
-+# This will enable completion on elements of lists, results of function calls,
-+# etc., but can be unsafe because the code is actually evaluated on TAB.
-+# c.IPCompleter.greedy = False
-+
-+# Instruct the completer to use __all__ for the completion
-+# 
-+# Specifically, when completing on ``object.<tab>``.
-+# 
-+# When True: only those names in obj.__all__ will be included.
-+# 
-+# When False [default]: the __all__ attribute is ignored
-+# c.IPCompleter.limit_to__all__ = False
-+
-+# Instruct the completer to omit private method names
-+# 
-+# Specifically, when completing on ``object.<tab>``.
-+# 
-+# When 2 [default]: all names that start with '_' will be excluded.
-+# 
-+# When 1: all 'magic' names (``__foo__``) will be excluded.
-+# 
-+# When 0: nothing will be excluded.
-+# c.IPCompleter.omit__names = 2
-+
-+#------------------------------------------------------------------------------
-+# ScriptMagics configuration
-+#------------------------------------------------------------------------------
-+
-+# Magics for talking to scripts
-+# 
-+# This defines a base `%%script` cell magic for running a cell with a program in
-+# a subprocess, and registers a few top-level magics that call %%script with
-+# common interpreters.
-+
-+# Extra script cell magics to define
-+# 
-+# This generates simple wrappers of `%%script foo` as `%%foo`.
-+# 
-+# If you want to add script magics that aren't on your path, specify them in
-+# script_paths
-+# c.ScriptMagics.script_magics = []
-+
-+# Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
-+# 
-+# Only necessary for items in script_magics where the default path will not find
-+# the right interpreter.
-+# c.ScriptMagics.script_paths = {}
-+
-+#------------------------------------------------------------------------------
-+# StoreMagics configuration
-+#------------------------------------------------------------------------------
-+
-+# Lightweight persistence for python variables.
-+# 
-+# Provides the %store magic.
-+
-+# If True, any %store-d variables will be automatically restored when IPython
-+# starts.
-+# c.StoreMagics.autorestore = False
-
---- jupyter_core/tests/dotipython/profile_default/ipython_console_config.py
-+++ jupyter_core/tests/dotipython/profile_default/ipython_console_config.py
-@@ -0,0 +1,531 @@
-+# Configuration file for ipython-console.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# ZMQTerminalIPythonApp configuration
-+#------------------------------------------------------------------------------
-+
-+# ZMQTerminalIPythonApp will inherit config from: TerminalIPythonApp,
-+# BaseIPythonApplication, Application, InteractiveShellApp, IPythonConsoleApp,
-+# ConnectionFileMixin
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.ZMQTerminalIPythonApp.hide_initial_ns = True
-+
-+# set the heartbeat port [default: random]
-+# c.ZMQTerminalIPythonApp.hb_port = 0
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.ZMQTerminalIPythonApp.extensions = []
-+
-+# Execute the given command string.
-+# c.ZMQTerminalIPythonApp.code_to_run = ''
-+
-+# Path to the ssh key to use for logging in to the ssh server.
-+# c.ZMQTerminalIPythonApp.sshkey = ''
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.ZMQTerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# set the control (ROUTER) port [default: random]
-+# c.ZMQTerminalIPythonApp.control_port = 0
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.ZMQTerminalIPythonApp.reraise_ipython_extension_failures = False
-+
-+# Set the log level by value or name.
-+# c.ZMQTerminalIPythonApp.log_level = 30
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.ZMQTerminalIPythonApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.ZMQTerminalIPythonApp.pylab = None
-+
-+# Run the module as a script.
-+# c.ZMQTerminalIPythonApp.module_to_run = ''
-+
-+# Whether to display a banner upon starting IPython.
-+# c.ZMQTerminalIPythonApp.display_banner = True
-+
-+# dotted module name of an IPython extension to load.
-+# c.ZMQTerminalIPythonApp.extra_extension = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.ZMQTerminalIPythonApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.ZMQTerminalIPythonApp.overwrite = False
-+
-+# The IPython profile to use.
-+# c.ZMQTerminalIPythonApp.profile = 'default'
-+
-+# If a command or file is given via the command-line, e.g. 'ipython foo.py',
-+# start an interactive shell after executing the file or command.
-+# c.ZMQTerminalIPythonApp.force_interact = False
-+
-+# List of files to run at IPython startup.
-+# c.ZMQTerminalIPythonApp.exec_files = []
-+
-+# Start IPython quickly by skipping the loading of config files.
-+# c.ZMQTerminalIPythonApp.quick = False
-+
-+# The Logging format template
-+# c.ZMQTerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.ZMQTerminalIPythonApp.copy_config_files = False
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.ZMQTerminalIPythonApp.stdin_port = 0
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.ZMQTerminalIPythonApp.extra_config_file = ''
-+
-+# lines of code to run at IPython startup.
-+# c.ZMQTerminalIPythonApp.exec_lines = []
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.ZMQTerminalIPythonApp.gui = None
-+
-+# A file to be run
-+# c.ZMQTerminalIPythonApp.file_to_run = ''
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.ZMQTerminalIPythonApp.matplotlib = None
-+
-+# Suppress warning messages about legacy config files
-+# c.ZMQTerminalIPythonApp.ignore_old_config = False
-+
-+# set the iopub (PUB) port [default: random]
-+# c.ZMQTerminalIPythonApp.iopub_port = 0
-+
-+# 
-+# c.ZMQTerminalIPythonApp.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.ZMQTerminalIPythonApp.connection_file = ''
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.ZMQTerminalIPythonApp.ipython_dir = ''
-+
-+# The SSH server to use to connect to the kernel.
-+# c.ZMQTerminalIPythonApp.sshserver = ''
-+
-+# Set to display confirmation dialog on exit. You can always use 'exit' or
-+# 'quit', to force a direct exit without any confirmation.
-+# c.ZMQTerminalIPythonApp.confirm_exit = True
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.ZMQTerminalIPythonApp.shell_port = 0
-+
-+# The name of the default kernel to start.
-+# c.ZMQTerminalIPythonApp.kernel_name = 'python'
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.ZMQTerminalIPythonApp.pylab_import_all = True
-+
-+# Connect to an already running kernel
-+# c.ZMQTerminalIPythonApp.existing = ''
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.ZMQTerminalIPythonApp.ip = ''
-+
-+#------------------------------------------------------------------------------
-+# ZMQTerminalInteractiveShell configuration
-+#------------------------------------------------------------------------------
-+
-+# A subclass of TerminalInteractiveShell that uses the 0MQ kernel
-+
-+# ZMQTerminalInteractiveShell will inherit config from:
-+# TerminalInteractiveShell, InteractiveShell
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.history_length = 10000
-+
-+# auto editing of files with syntax errors.
-+# c.ZMQTerminalInteractiveShell.autoedit_syntax = False
-+
-+# If True, anything that would be passed to the pager will be displayed as
-+# regular output instead.
-+# c.ZMQTerminalInteractiveShell.display_page = False
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.debug = False
-+
-+# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
-+# interactively (displaying output from expressions).
-+# c.ZMQTerminalInteractiveShell.ast_node_interactivity = 'last_expr'
-+
-+# Start logging to the default log file in overwrite mode. Use `logappend` to
-+# specify a log file to **append** logs to.
-+# c.ZMQTerminalInteractiveShell.logstart = False
-+
-+# Set the size of the output cache.  The default is 1000, you can change it
-+# permanently in your config file.  Setting it to 0 completely disables the
-+# caching system, and the minimum value accepted is 20 (if you provide a value
-+# less than 20, it is reset to 0 and a warning is issued).  This limit is
-+# defined because otherwise you'll spend more time re-flushing a too small cache
-+# than working
-+# c.ZMQTerminalInteractiveShell.cache_size = 1000
-+
-+# The shell program to be used for paging.
-+# c.ZMQTerminalInteractiveShell.pager = 'less'
-+
-+# The name of the logfile to use.
-+# c.ZMQTerminalInteractiveShell.logfile = ''
-+
-+# Save multi-line entries as one entry in readline history
-+# c.ZMQTerminalInteractiveShell.multiline_history = True
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.readline_remove_delims = '-/~'
-+
-+# Enable magic commands to be called without the leading %.
-+# c.ZMQTerminalInteractiveShell.automagic = True
-+
-+# Prefix to add to outputs coming from clients other than this one.
-+# 
-+# Only relevant if include_other_output is True.
-+# c.ZMQTerminalInteractiveShell.other_output_prefix = '[remote] '
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
-+
-+# Use colors for displaying information about objects. Because this information
-+# is passed through a pager (like 'less'), and some pagers get confused with
-+# color codes, this capability can be turned off.
-+# c.ZMQTerminalInteractiveShell.color_info = True
-+
-+# Callable object called via 'callable' image handler with one argument, `data`,
-+# which is `msg["content"]["data"]` where `msg` is the message from iopub
-+# channel.  For exmaple, you can find base64 encoded PNG data as
-+# `data['image/png']`.
-+# c.ZMQTerminalInteractiveShell.callable_image_handler = None
-+
-+# Command to invoke an image viewer program when you are using 'stream' image
-+# handler.  This option is a list of string where the first element is the
-+# command itself and reminders are the options for the command.  Raw image data
-+# is given as STDIN to the program.
-+# c.ZMQTerminalInteractiveShell.stream_image_handler = []
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.separate_out2 = ''
-+
-+# Autoindent IPython code entered interactively.
-+# c.ZMQTerminalInteractiveShell.autoindent = True
-+
-+# The part of the banner to be printed after the profile
-+# c.ZMQTerminalInteractiveShell.banner2 = ''
-+
-+# Don't call post-execute functions that have failed in the past.
-+# c.ZMQTerminalInteractiveShell.disable_failing_post_execute = False
-+
-+# Deprecated, use PromptManager.out_template
-+# c.ZMQTerminalInteractiveShell.prompt_out = 'Out[\\#]: '
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.object_info_string_level = 0
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.separate_out = ''
-+
-+# Automatically call the pdb debugger after every exception.
-+# c.ZMQTerminalInteractiveShell.pdb = False
-+
-+# Deprecated, use PromptManager.in_template
-+# c.ZMQTerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.separate_in = '\n'
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.wildcards_case_sensitive = True
-+
-+# Enable auto setting the terminal title.
-+# c.ZMQTerminalInteractiveShell.term_title = False
-+
-+# Enable deep (recursive) reloading by default. IPython can use the deep_reload
-+# module which reloads changes in modules recursively (it replaces the reload()
-+# function, so you don't need to change anything to use it). deep_reload()
-+# forces a full reload of modules whose code may have changed, which the default
-+# reload() function does not.  When deep_reload is off, IPython will use the
-+# normal reload(), but deep_reload will still be available as dreload().
-+# c.ZMQTerminalInteractiveShell.deep_reload = False
-+
-+# Deprecated, use PromptManager.in2_template
-+# c.ZMQTerminalInteractiveShell.prompt_in2 = '   .\\D.: '
-+
-+# Whether to include output from clients other than this one sharing the same
-+# kernel.
-+# 
-+# Outputs are not displayed until enter is pressed.
-+# c.ZMQTerminalInteractiveShell.include_other_output = False
-+
-+# Preferred object representation MIME type in order.  First matched MIME type
-+# will be used.
-+# c.ZMQTerminalInteractiveShell.mime_preference = ['image/png', 'image/jpeg', 'image/svg+xml']
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.readline_use = True
-+
-+# Make IPython automatically call any callable object even if you didn't type
-+# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
-+# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
-+# it is not applied if there are no more arguments on the line, and '2' for
-+# 'full' autocall, where all callable objects are automatically called (even if
-+# no arguments are present).
-+# c.ZMQTerminalInteractiveShell.autocall = 0
-+
-+# The part of the banner to be printed before the profile
-+# c.ZMQTerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
-+
-+# Handler for image type output.  This is useful, for example, when connecting
-+# to the kernel in which pylab inline backend is activated.  There are four
-+# handlers defined.  'PIL': Use Python Imaging Library to popup image; 'stream':
-+# Use an external program to show the image.  Image will be fed into the STDIN
-+# of the program.  You will need to configure `stream_image_handler`;
-+# 'tempfile': Use an external program to show the image.  Image will be saved in
-+# a temporally file and the program is called with the temporally file.  You
-+# will need to configure `tempfile_image_handler`; 'callable': You can set any
-+# Python callable which is called with the image data.  You will need to
-+# configure `callable_image_handler`.
-+# c.ZMQTerminalInteractiveShell.image_handler = None
-+
-+# Set the color scheme (NoColor, Linux, or LightBG).
-+# c.ZMQTerminalInteractiveShell.colors = 'LightBG'
-+
-+# Set the editor used by IPython (default to $EDITOR/vi/notepad).
-+# c.ZMQTerminalInteractiveShell.editor = 'mate -w'
-+
-+# Show rewritten input, e.g. for autocall.
-+# c.ZMQTerminalInteractiveShell.show_rewritten_input = True
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.xmode = 'Context'
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.quiet = False
-+
-+# A list of ast.NodeTransformer subclass instances, which will be applied to
-+# user input before code is run.
-+# c.ZMQTerminalInteractiveShell.ast_transformers = []
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.ipython_dir = ''
-+
-+# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
-+# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
-+# direct exit without any confirmation.
-+# c.ZMQTerminalInteractiveShell.confirm_exit = True
-+
-+# Deprecated, use PromptManager.justify
-+# c.ZMQTerminalInteractiveShell.prompts_pad_left = True
-+
-+# Timeout for giving up on a kernel (in seconds).
-+# 
-+# On first connect and restart, the console tests whether the kernel is running
-+# and responsive by sending kernel_info_requests. This sets the timeout in
-+# seconds for how long the kernel can take before being presumed dead.
-+# c.ZMQTerminalInteractiveShell.kernel_timeout = 60
-+
-+# Number of lines of your screen, used to control printing of very long strings.
-+# Strings longer than this number of lines will be sent through a pager instead
-+# of directly printed.  The default value for this is 0, which means IPython
-+# will auto-detect your screen size every time it needs to print certain
-+# potentially long strings (this doesn't change the behavior of the 'print'
-+# keyword, it's only triggered internally). If for some reason this isn't
-+# working well (it needs curses support), specify it yourself. Otherwise don't
-+# change the default.
-+# c.ZMQTerminalInteractiveShell.screen_length = 0
-+
-+# Start logging to the given file in append mode. Use `logfile` to specify a log
-+# file to **overwrite** logs to.
-+# c.ZMQTerminalInteractiveShell.logappend = ''
-+
-+# Command to invoke an image viewer program when you are using 'tempfile' image
-+# handler.  This option is a list of string where the first element is the
-+# command itself and reminders are the options for the command.  You can use
-+# {file} and {format} in the string to represent the location of the generated
-+# image file and image format.
-+# c.ZMQTerminalInteractiveShell.tempfile_image_handler = []
-+
-+#------------------------------------------------------------------------------
-+# KernelManager configuration
-+#------------------------------------------------------------------------------
-+
-+# Manages a single kernel in a subprocess on this host.
-+# 
-+# This version starts kernels with Popen.
-+
-+# KernelManager will inherit config from: ConnectionFileMixin
-+
-+# set the heartbeat port [default: random]
-+# c.KernelManager.hb_port = 0
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.KernelManager.stdin_port = 0
-+
-+# 
-+# c.KernelManager.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.KernelManager.connection_file = ''
-+
-+# set the control (ROUTER) port [default: random]
-+# c.KernelManager.control_port = 0
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.KernelManager.shell_port = 0
-+
-+# Should we autorestart the kernel if it dies.
-+# c.KernelManager.autorestart = False
-+
-+# DEPRECATED: Use kernel_name instead.
-+# 
-+# The Popen Command to launch the kernel. Override this if you have a custom
-+# kernel. If kernel_cmd is specified in a configuration file, IPython does not
-+# pass any arguments to the kernel, because it cannot make any assumptions about
-+# the  arguments that the kernel understands. In particular, this means that the
-+# kernel does not receive the option --debug if it given on the IPython command
-+# line.
-+# c.KernelManager.kernel_cmd = []
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.KernelManager.ip = ''
-+
-+# set the iopub (PUB) port [default: random]
-+# c.KernelManager.iopub_port = 0
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# Session configuration
-+#------------------------------------------------------------------------------
-+
-+# Object for handling serialization and sending of messages.
-+# 
-+# The Session object handles building messages and sending them with ZMQ sockets
-+# or ZMQStream objects.  Objects can communicate with each other over the
-+# network via Session objects, and only need to work with the dict-based IPython
-+# message spec. The Session will handle serialization/deserialization, security,
-+# and metadata.
-+# 
-+# Sessions support configurable serialization via packer/unpacker traits, and
-+# signing with HMAC digests via the key/keyfile traits.
-+# 
-+# Parameters ----------
-+# 
-+# debug : bool
-+#     whether to trigger extra debugging statements
-+# packer/unpacker : str : 'json', 'pickle' or import_string
-+#     importstrings for methods to serialize message parts.  If just
-+#     'json' or 'pickle', predefined JSON and pickle packers will be used.
-+#     Otherwise, the entire importstring must be used.
-+# 
-+#     The functions must accept at least valid JSON input, and output *bytes*.
-+# 
-+#     For example, to use msgpack:
-+#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
-+# pack/unpack : callables
-+#     You can also set the pack/unpack callables for serialization directly.
-+# session : bytes
-+#     the ID of this Session object.  The default is to generate a new UUID.
-+# username : unicode
-+#     username added to message headers.  The default is to ask the OS.
-+# key : bytes
-+#     The key used to initialize an HMAC signature.  If unset, messages
-+#     will not be signed or checked.
-+# keyfile : filepath
-+#     The file containing a key.  If this is set, `key` will be initialized
-+#     to the contents of the file.
-+
-+# The digest scheme used to construct the message signatures. Must have the form
-+# 'hmac-HASH'.
-+# c.Session.signature_scheme = 'hmac-sha256'
-+
-+# The maximum number of digests to remember.
-+# 
-+# The digest history will be culled when it exceeds this value.
-+# c.Session.digest_history_size = 65536
-+
-+# The name of the unpacker for unserializing messages. Only used with custom
-+# functions for `packer`.
-+# c.Session.unpacker = 'json'
-+
-+# The name of the packer for serializing messages. Should be one of 'json',
-+# 'pickle', or an import name for a custom callable serializer.
-+# c.Session.packer = 'json'
-+
-+# Username for the Session. Default is your system username.
-+# c.Session.username = 'minrk'
-+
-+# Debug output in the Session
-+# c.Session.debug = False
-+
-+# path to file containing execution key.
-+# c.Session.keyfile = ''
-+
-+# The maximum number of items for a container to be introspected for custom
-+# serialization. Containers larger than this are pickled outright.
-+# c.Session.item_threshold = 64
-+
-+# Threshold (in bytes) beyond which an object's buffer should be extracted to
-+# avoid pickling.
-+# c.Session.buffer_threshold = 1024
-+
-+# The UUID identifying this session.
-+# c.Session.session = ''
-+
-+# Threshold (in bytes) beyond which a buffer should be sent without copying.
-+# c.Session.copy_threshold = 65536
-+
-+# execution key, for signing messages.
-+# c.Session.key = b''
-+
-+# Metadata dictionary, which serves as the default top-level metadata dict for
-+# each message.
-+# c.Session.metadata = {}
-
---- jupyter_core/tests/dotipython/profile_default/ipython_kernel_config.py
-+++ jupyter_core/tests/dotipython/profile_default/ipython_kernel_config.py
-@@ -0,0 +1,408 @@
-+# Configuration file for ipython-kernel.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# IPKernelApp configuration
-+#------------------------------------------------------------------------------
-+
-+# IPython: an enhanced interactive Python shell.
-+
-+# IPKernelApp will inherit config from: BaseIPythonApplication, Application,
-+# InteractiveShellApp, ConnectionFileMixin
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.IPKernelApp.hide_initial_ns = True
-+
-+# The importstring for the DisplayHook factory
-+# c.IPKernelApp.displayhook_class = 'IPython.kernel.zmq.displayhook.ZMQDisplayHook'
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.IPKernelApp.extensions = []
-+
-+# Execute the given command string.
-+# c.IPKernelApp.code_to_run = ''
-+
-+# redirect stderr to the null device
-+# c.IPKernelApp.no_stderr = False
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.IPKernelApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# Whether to create profile dir if it doesn't exist
-+# c.IPKernelApp.auto_create = False
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.IPKernelApp.reraise_ipython_extension_failures = False
-+
-+# Set the log level by value or name.
-+# c.IPKernelApp.log_level = 30
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.IPKernelApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.IPKernelApp.pylab = None
-+
-+# Run the module as a script.
-+# c.IPKernelApp.module_to_run = ''
-+
-+# The importstring for the OutStream factory
-+# c.IPKernelApp.outstream_class = 'IPython.kernel.zmq.iostream.OutStream'
-+
-+# dotted module name of an IPython extension to load.
-+# c.IPKernelApp.extra_extension = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.IPKernelApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.IPKernelApp.overwrite = False
-+
-+# The IPython profile to use.
-+# c.IPKernelApp.profile = 'default'
-+
-+# List of files to run at IPython startup.
-+# c.IPKernelApp.exec_files = []
-+
-+# The Logging format template
-+# c.IPKernelApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.IPKernelApp.copy_config_files = False
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.IPKernelApp.stdin_port = 0
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.IPKernelApp.extra_config_file = ''
-+
-+# lines of code to run at IPython startup.
-+# c.IPKernelApp.exec_lines = []
-+
-+# set the control (ROUTER) port [default: random]
-+# c.IPKernelApp.control_port = 0
-+
-+# set the heartbeat port [default: random]
-+# c.IPKernelApp.hb_port = 0
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.IPKernelApp.gui = None
-+
-+# A file to be run
-+# c.IPKernelApp.file_to_run = ''
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.IPKernelApp.ipython_dir = ''
-+
-+# kill this process if its parent dies.  On Windows, the argument specifies the
-+# HANDLE of the parent process, otherwise it is simply boolean.
-+# c.IPKernelApp.parent_handle = 0
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.IPKernelApp.matplotlib = None
-+
-+# set the iopub (PUB) port [default: random]
-+# c.IPKernelApp.iopub_port = 0
-+
-+# redirect stdout to the null device
-+# c.IPKernelApp.no_stdout = False
-+
-+# 
-+# c.IPKernelApp.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.IPKernelApp.connection_file = ''
-+
-+# The Kernel subclass to be used.
-+# 
-+# This should allow easy re-use of the IPKernelApp entry point to configure and
-+# launch kernels other than IPython's own.
-+# c.IPKernelApp.kernel_class = <class 'IPython.kernel.zmq.ipkernel.IPythonKernel'>
-+
-+# ONLY USED ON WINDOWS Interrupt this process when the parent is signaled.
-+# c.IPKernelApp.interrupt = 0
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.IPKernelApp.shell_port = 0
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.IPKernelApp.pylab_import_all = True
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.IPKernelApp.ip = ''
-+
-+#------------------------------------------------------------------------------
-+# IPythonKernel configuration
-+#------------------------------------------------------------------------------
-+
-+# IPythonKernel will inherit config from: Kernel
-+
-+# 
-+# c.IPythonKernel._execute_sleep = 0.0005
-+
-+# Whether to use appnope for compatiblity with OS X App Nap.
-+# 
-+# Only affects OS X >= 10.9.
-+# c.IPythonKernel._darwin_app_nap = True
-+
-+# 
-+# c.IPythonKernel._poll_interval = 0.05
-+
-+#------------------------------------------------------------------------------
-+# ZMQInteractiveShell configuration
-+#------------------------------------------------------------------------------
-+
-+# A subclass of InteractiveShell for ZMQ.
-+
-+# ZMQInteractiveShell will inherit config from: InteractiveShell
-+
-+# 
-+# c.ZMQInteractiveShell.object_info_string_level = 0
-+
-+# 
-+# c.ZMQInteractiveShell.separate_out = ''
-+
-+# Automatically call the pdb debugger after every exception.
-+# c.ZMQInteractiveShell.pdb = False
-+
-+# 
-+# c.ZMQInteractiveShell.ipython_dir = ''
-+
-+# 
-+# c.ZMQInteractiveShell.history_length = 10000
-+
-+# 
-+# c.ZMQInteractiveShell.readline_remove_delims = '-/~'
-+
-+# If True, anything that would be passed to the pager will be displayed as
-+# regular output instead.
-+# c.ZMQInteractiveShell.display_page = False
-+
-+# Deprecated, use PromptManager.in2_template
-+# c.ZMQInteractiveShell.prompt_in2 = '   .\\D.: '
-+
-+# 
-+# c.ZMQInteractiveShell.separate_in = '\n'
-+
-+# Start logging to the default log file in overwrite mode. Use `logappend` to
-+# specify a log file to **append** logs to.
-+# c.ZMQInteractiveShell.logstart = False
-+
-+# Set the size of the output cache.  The default is 1000, you can change it
-+# permanently in your config file.  Setting it to 0 completely disables the
-+# caching system, and the minimum value accepted is 20 (if you provide a value
-+# less than 20, it is reset to 0 and a warning is issued).  This limit is
-+# defined because otherwise you'll spend more time re-flushing a too small cache
-+# than working
-+# c.ZMQInteractiveShell.cache_size = 1000
-+
-+# 
-+# c.ZMQInteractiveShell.wildcards_case_sensitive = True
-+
-+# The name of the logfile to use.
-+# c.ZMQInteractiveShell.logfile = ''
-+
-+# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
-+# interactively (displaying output from expressions).
-+# c.ZMQInteractiveShell.ast_node_interactivity = 'last_expr'
-+
-+# 
-+# c.ZMQInteractiveShell.debug = False
-+
-+# 
-+# c.ZMQInteractiveShell.quiet = False
-+
-+# Save multi-line entries as one entry in readline history
-+# c.ZMQInteractiveShell.multiline_history = True
-+
-+# Deprecated, use PromptManager.in_template
-+# c.ZMQInteractiveShell.prompt_in1 = 'In [\\#]: '
-+
-+# Enable magic commands to be called without the leading %.
-+# c.ZMQInteractiveShell.automagic = True
-+
-+# The part of the banner to be printed before the profile
-+# c.ZMQInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
-+
-+# Make IPython automatically call any callable object even if you didn't type
-+# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
-+# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
-+# it is not applied if there are no more arguments on the line, and '2' for
-+# 'full' autocall, where all callable objects are automatically called (even if
-+# no arguments are present).
-+# c.ZMQInteractiveShell.autocall = 0
-+
-+# 
-+# c.ZMQInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
-+
-+# Set the color scheme (NoColor, Linux, or LightBG).
-+# c.ZMQInteractiveShell.colors = 'LightBG'
-+
-+# Use colors for displaying information about objects. Because this information
-+# is passed through a pager (like 'less'), and some pagers get confused with
-+# color codes, this capability can be turned off.
-+# c.ZMQInteractiveShell.color_info = True
-+
-+# Show rewritten input, e.g. for autocall.
-+# c.ZMQInteractiveShell.show_rewritten_input = True
-+
-+# 
-+# c.ZMQInteractiveShell.xmode = 'Context'
-+
-+# 
-+# c.ZMQInteractiveShell.separate_out2 = ''
-+
-+# The part of the banner to be printed after the profile
-+# c.ZMQInteractiveShell.banner2 = ''
-+
-+# Start logging to the given file in append mode. Use `logfile` to specify a log
-+# file to **overwrite** logs to.
-+# c.ZMQInteractiveShell.logappend = ''
-+
-+# Don't call post-execute functions that have failed in the past.
-+# c.ZMQInteractiveShell.disable_failing_post_execute = False
-+
-+# Deprecated, use PromptManager.out_template
-+# c.ZMQInteractiveShell.prompt_out = 'Out[\\#]: '
-+
-+# Enable deep (recursive) reloading by default. IPython can use the deep_reload
-+# module which reloads changes in modules recursively (it replaces the reload()
-+# function, so you don't need to change anything to use it). deep_reload()
-+# forces a full reload of modules whose code may have changed, which the default
-+# reload() function does not.  When deep_reload is off, IPython will use the
-+# normal reload(), but deep_reload will still be available as dreload().
-+# c.ZMQInteractiveShell.deep_reload = False
-+
-+# Deprecated, use PromptManager.justify
-+# c.ZMQInteractiveShell.prompts_pad_left = True
-+
-+# A list of ast.NodeTransformer subclass instances, which will be applied to
-+# user input before code is run.
-+# c.ZMQInteractiveShell.ast_transformers = []
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# Session configuration
-+#------------------------------------------------------------------------------
-+
-+# Object for handling serialization and sending of messages.
-+# 
-+# The Session object handles building messages and sending them with ZMQ sockets
-+# or ZMQStream objects.  Objects can communicate with each other over the
-+# network via Session objects, and only need to work with the dict-based IPython
-+# message spec. The Session will handle serialization/deserialization, security,
-+# and metadata.
-+# 
-+# Sessions support configurable serialization via packer/unpacker traits, and
-+# signing with HMAC digests via the key/keyfile traits.
-+# 
-+# Parameters ----------
-+# 
-+# debug : bool
-+#     whether to trigger extra debugging statements
-+# packer/unpacker : str : 'json', 'pickle' or import_string
-+#     importstrings for methods to serialize message parts.  If just
-+#     'json' or 'pickle', predefined JSON and pickle packers will be used.
-+#     Otherwise, the entire importstring must be used.
-+# 
-+#     The functions must accept at least valid JSON input, and output *bytes*.
-+# 
-+#     For example, to use msgpack:
-+#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
-+# pack/unpack : callables
-+#     You can also set the pack/unpack callables for serialization directly.
-+# session : bytes
-+#     the ID of this Session object.  The default is to generate a new UUID.
-+# username : unicode
-+#     username added to message headers.  The default is to ask the OS.
-+# key : bytes
-+#     The key used to initialize an HMAC signature.  If unset, messages
-+#     will not be signed or checked.
-+# keyfile : filepath
-+#     The file containing a key.  If this is set, `key` will be initialized
-+#     to the contents of the file.
-+
-+# The digest scheme used to construct the message signatures. Must have the form
-+# 'hmac-HASH'.
-+# c.Session.signature_scheme = 'hmac-sha256'
-+
-+# The maximum number of digests to remember.
-+# 
-+# The digest history will be culled when it exceeds this value.
-+# c.Session.digest_history_size = 65536
-+
-+# The name of the unpacker for unserializing messages. Only used with custom
-+# functions for `packer`.
-+# c.Session.unpacker = 'json'
-+
-+# The name of the packer for serializing messages. Should be one of 'json',
-+# 'pickle', or an import name for a custom callable serializer.
-+# c.Session.packer = 'json'
-+
-+# Username for the Session. Default is your system username.
-+# c.Session.username = 'minrk'
-+
-+# Debug output in the Session
-+# c.Session.debug = False
-+
-+# path to file containing execution key.
-+# c.Session.keyfile = ''
-+
-+# The maximum number of items for a container to be introspected for custom
-+# serialization. Containers larger than this are pickled outright.
-+# c.Session.item_threshold = 64
-+
-+# Threshold (in bytes) beyond which an object's buffer should be extracted to
-+# avoid pickling.
-+# c.Session.buffer_threshold = 1024
-+
-+# The UUID identifying this session.
-+# c.Session.session = ''
-+
-+# Threshold (in bytes) beyond which a buffer should be sent without copying.
-+# c.Session.copy_threshold = 65536
-+
-+# execution key, for signing messages.
-+# c.Session.key = b''
-+
-+# Metadata dictionary, which serves as the default top-level metadata dict for
-+# each message.
-+# c.Session.metadata = {}
-
---- jupyter_core/tests/dotipython/profile_default/ipython_nbconvert_config.py
-+++ jupyter_core/tests/dotipython/profile_default/ipython_nbconvert_config.py
-@@ -0,0 +1 @@
-+c.NbConvertApp.post_processors = []
-
---- jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
-+++ jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
-@@ -0,0 +1 @@
-+c.NotebookApp.open_browser = False
-
---- jupyter_core/tests/dotipython/profile_default/static/custom/custom.css
-+++ jupyter_core/tests/dotipython/profile_default/static/custom/custom.css
-@@ -0,0 +1,7 @@
-+/*
-+Placeholder for custom user CSS
-+
-+mainly to be overridden in profile/static/custom/custom.css
-+
-+This will always be an empty file in IPython
-+*/
-\ No newline at end of file
-
---- jupyter_core/tests/dotipython/profile_default/static/custom/custom.js
-+++ jupyter_core/tests/dotipython/profile_default/static/custom/custom.js
-@@ -0,0 +1,82 @@
-+// leave at least 2 line with only a star on it below, or doc generation fails
-+/**
-+ *
-+ *
-+ * Placeholder for custom user javascript
-+ * mainly to be overridden in profile/static/custom/custom.js
-+ * This will always be an empty file in IPython
-+ *
-+ * User could add any javascript in the `profile/static/custom/custom.js` file.
-+ * It will be executed by the ipython notebook at load time.
-+ *
-+ * Same thing with `profile/static/custom/custom.css` to inject custom css into the notebook.
-+ *
-+ *
-+ * The object available at load time depend on the version of IPython in use.
-+ * there is no guaranties of API stability.
-+ *
-+ * The example below explain the principle, and might not be valid.
-+ *
-+ * Instances are created after the loading of this file and might need to be accessed using events:
-+ *     define([
-+ *        'base/js/namespace',
-+ *        'base/js/events'
-+ *     ], function(IPython, events) {
-+ *         events.on("app_initialized.NotebookApp", function () {
-+ *             IPython.keyboard_manager....
-+ *         });
-+ *     });
-+ *
-+ * __Example 1:__
-+ *
-+ * Create a custom button in toolbar that execute `%qtconsole` in kernel
-+ * and hence open a qtconsole attached to the same kernel as the current notebook
-+ *
-+ *    define([
-+ *        'base/js/namespace',
-+ *        'base/js/events'
-+ *    ], function(IPython, events) {
-+ *        events.on('app_initialized.NotebookApp', function(){
-+ *            IPython.toolbar.add_buttons_group([
-+ *                {
-+ *                    'label'   : 'run qtconsole',
-+ *                    'icon'    : 'icon-terminal', // select your icon from http://fortawesome.github.io/Font-Awesome/icons
-+ *                    'callback': function () {
-+ *                        IPython.notebook.kernel.execute('%qtconsole')
-+ *                    }
-+ *                }
-+ *                // add more button here if needed.
-+ *                ]);
-+ *        });
-+ *    });
-+ *
-+ * __Example 2:__
-+ *
-+ * At the completion of the dashboard loading, load an unofficial javascript extension
-+ * that is installed in profile/static/custom/
-+ *
-+ *    define([
-+ *        'base/js/events'
-+ *    ], function(events) {
-+ *        events.on('app_initialized.DashboardApp', function(){
-+ *            require(['custom/unofficial_extension.js'])
-+ *        });
-+ *    });
-+ *
-+ * __Example 3:__
-+ *
-+ *  Use `jQuery.getScript(url [, success(script, textStatus, jqXHR)] );`
-+ *  to load custom script into the notebook.
-+ *
-+ *    // to load the metadata ui extension example.
-+ *    $.getScript('/static/notebook/js/celltoolbarpresets/example.js');
-+ *    // or
-+ *    // to load the metadata ui extension to control slideshow mode / reveal js for nbconvert
-+ *    $.getScript('/static/notebook/js/celltoolbarpresets/slideshow.js');
-+ *
-+ *
-+ * @module IPython
-+ * @namespace IPython
-+ * @class customjs
-+ * @static
-+ */
-
---- jupyter_core/tests/dotipython_empty/profile_default/ipython_config.py
-+++ jupyter_core/tests/dotipython_empty/profile_default/ipython_config.py
-@@ -0,0 +1,549 @@
-+# Configuration file for ipython.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# InteractiveShellApp configuration
-+#------------------------------------------------------------------------------
-+
-+# A Mixin for applications that start InteractiveShell instances.
-+# 
-+# Provides configurables for loading extensions and executing files as part of
-+# configuring a Shell environment.
-+# 
-+# The following methods should be called by the :meth:`initialize` method of the
-+# subclass:
-+# 
-+#   - :meth:`init_path`
-+#   - :meth:`init_shell` (to be implemented by the subclass)
-+#   - :meth:`init_gui_pylab`
-+#   - :meth:`init_extensions`
-+#   - :meth:`init_code`
-+
-+# lines of code to run at IPython startup.
-+# c.InteractiveShellApp.exec_lines = []
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.InteractiveShellApp.hide_initial_ns = True
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.InteractiveShellApp.extensions = []
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.InteractiveShellApp.gui = None
-+
-+# A file to be run
-+# c.InteractiveShellApp.file_to_run = ''
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.InteractiveShellApp.matplotlib = None
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.InteractiveShellApp.reraise_ipython_extension_failures = False
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.InteractiveShellApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.InteractiveShellApp.pylab = None
-+
-+# Run the module as a script.
-+# c.InteractiveShellApp.module_to_run = ''
-+
-+# dotted module name of an IPython extension to load.
-+# c.InteractiveShellApp.extra_extension = ''
-+
-+# List of files to run at IPython startup.
-+# c.InteractiveShellApp.exec_files = []
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.InteractiveShellApp.pylab_import_all = True
-+
-+# Execute the given command string.
-+# c.InteractiveShellApp.code_to_run = ''
-+
-+#------------------------------------------------------------------------------
-+# TerminalIPythonApp configuration
-+#------------------------------------------------------------------------------
-+
-+# TerminalIPythonApp will inherit config from: BaseIPythonApplication,
-+# Application, InteractiveShellApp
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.TerminalIPythonApp.hide_initial_ns = True
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.TerminalIPythonApp.extensions = []
-+
-+# Execute the given command string.
-+# c.TerminalIPythonApp.code_to_run = ''
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.TerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.TerminalIPythonApp.reraise_ipython_extension_failures = False
-+
-+# Set the log level by value or name.
-+# c.TerminalIPythonApp.log_level = 30
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.TerminalIPythonApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.TerminalIPythonApp.pylab = None
-+
-+# Run the module as a script.
-+# c.TerminalIPythonApp.module_to_run = ''
-+
-+# Whether to display a banner upon starting IPython.
-+# c.TerminalIPythonApp.display_banner = True
-+
-+# dotted module name of an IPython extension to load.
-+# c.TerminalIPythonApp.extra_extension = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.TerminalIPythonApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.TerminalIPythonApp.overwrite = False
-+
-+# The IPython profile to use.
-+# c.TerminalIPythonApp.profile = 'default'
-+
-+# If a command or file is given via the command-line, e.g. 'ipython foo.py',
-+# start an interactive shell after executing the file or command.
-+# c.TerminalIPythonApp.force_interact = False
-+
-+# List of files to run at IPython startup.
-+# c.TerminalIPythonApp.exec_files = []
-+
-+# Start IPython quickly by skipping the loading of config files.
-+# c.TerminalIPythonApp.quick = False
-+
-+# The Logging format template
-+# c.TerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.TerminalIPythonApp.copy_config_files = False
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.TerminalIPythonApp.extra_config_file = ''
-+
-+# lines of code to run at IPython startup.
-+# c.TerminalIPythonApp.exec_lines = []
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.TerminalIPythonApp.gui = None
-+
-+# A file to be run
-+# c.TerminalIPythonApp.file_to_run = ''
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.TerminalIPythonApp.matplotlib = None
-+
-+# Suppress warning messages about legacy config files
-+# c.TerminalIPythonApp.ignore_old_config = False
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.TerminalIPythonApp.ipython_dir = ''
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.TerminalIPythonApp.pylab_import_all = True
-+
-+#------------------------------------------------------------------------------
-+# TerminalInteractiveShell configuration
-+#------------------------------------------------------------------------------
-+
-+# TerminalInteractiveShell will inherit config from: InteractiveShell
-+
-+# 
-+# c.TerminalInteractiveShell.object_info_string_level = 0
-+
-+# 
-+# c.TerminalInteractiveShell.separate_out = ''
-+
-+# Automatically call the pdb debugger after every exception.
-+# c.TerminalInteractiveShell.pdb = False
-+
-+# 
-+# c.TerminalInteractiveShell.ipython_dir = ''
-+
-+# 
-+# c.TerminalInteractiveShell.history_length = 10000
-+
-+# 
-+# c.TerminalInteractiveShell.readline_remove_delims = '-/~'
-+
-+# auto editing of files with syntax errors.
-+# c.TerminalInteractiveShell.autoedit_syntax = False
-+
-+# If True, anything that would be passed to the pager will be displayed as
-+# regular output instead.
-+# c.TerminalInteractiveShell.display_page = False
-+
-+# 
-+# c.TerminalInteractiveShell.debug = False
-+
-+# 
-+# c.TerminalInteractiveShell.separate_in = '\n'
-+
-+# Start logging to the default log file in overwrite mode. Use `logappend` to
-+# specify a log file to **append** logs to.
-+# c.TerminalInteractiveShell.logstart = False
-+
-+# Set the size of the output cache.  The default is 1000, you can change it
-+# permanently in your config file.  Setting it to 0 completely disables the
-+# caching system, and the minimum value accepted is 20 (if you provide a value
-+# less than 20, it is reset to 0 and a warning is issued).  This limit is
-+# defined because otherwise you'll spend more time re-flushing a too small cache
-+# than working
-+# c.TerminalInteractiveShell.cache_size = 1000
-+
-+# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
-+# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
-+# direct exit without any confirmation.
-+# c.TerminalInteractiveShell.confirm_exit = True
-+
-+# The shell program to be used for paging.
-+# c.TerminalInteractiveShell.pager = 'less'
-+
-+# 
-+# c.TerminalInteractiveShell.wildcards_case_sensitive = True
-+
-+# Deprecated, use PromptManager.justify
-+# c.TerminalInteractiveShell.prompts_pad_left = True
-+
-+# The name of the logfile to use.
-+# c.TerminalInteractiveShell.logfile = ''
-+
-+# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
-+# interactively (displaying output from expressions).
-+# c.TerminalInteractiveShell.ast_node_interactivity = 'last_expr'
-+
-+# 
-+# c.TerminalInteractiveShell.quiet = False
-+
-+# Save multi-line entries as one entry in readline history
-+# c.TerminalInteractiveShell.multiline_history = True
-+
-+# Deprecated, use PromptManager.in_template
-+# c.TerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
-+
-+# 
-+# c.TerminalInteractiveShell.readline_use = True
-+
-+# Enable magic commands to be called without the leading %.
-+# c.TerminalInteractiveShell.automagic = True
-+
-+# The part of the banner to be printed before the profile
-+# c.TerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
-+
-+# Make IPython automatically call any callable object even if you didn't type
-+# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
-+# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
-+# it is not applied if there are no more arguments on the line, and '2' for
-+# 'full' autocall, where all callable objects are automatically called (even if
-+# no arguments are present).
-+# c.TerminalInteractiveShell.autocall = 0
-+
-+# Autoindent IPython code entered interactively.
-+# c.TerminalInteractiveShell.autoindent = True
-+
-+# Set the color scheme (NoColor, Linux, or LightBG).
-+# c.TerminalInteractiveShell.colors = 'LightBG'
-+
-+# Set the editor used by IPython (default to $EDITOR/vi/notepad).
-+# c.TerminalInteractiveShell.editor = 'mate -w'
-+
-+# Use colors for displaying information about objects. Because this information
-+# is passed through a pager (like 'less'), and some pagers get confused with
-+# color codes, this capability can be turned off.
-+# c.TerminalInteractiveShell.color_info = True
-+
-+# 
-+# c.TerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
-+
-+# Deprecated, use PromptManager.in2_template
-+# c.TerminalInteractiveShell.prompt_in2 = '   .\\D.: '
-+
-+# 
-+# c.TerminalInteractiveShell.separate_out2 = ''
-+
-+# The part of the banner to be printed after the profile
-+# c.TerminalInteractiveShell.banner2 = ''
-+
-+# Start logging to the given file in append mode. Use `logfile` to specify a log
-+# file to **overwrite** logs to.
-+# c.TerminalInteractiveShell.logappend = ''
-+
-+# Don't call post-execute functions that have failed in the past.
-+# c.TerminalInteractiveShell.disable_failing_post_execute = False
-+
-+# Deprecated, use PromptManager.out_template
-+# c.TerminalInteractiveShell.prompt_out = 'Out[\\#]: '
-+
-+# Enable deep (recursive) reloading by default. IPython can use the deep_reload
-+# module which reloads changes in modules recursively (it replaces the reload()
-+# function, so you don't need to change anything to use it). deep_reload()
-+# forces a full reload of modules whose code may have changed, which the default
-+# reload() function does not.  When deep_reload is off, IPython will use the
-+# normal reload(), but deep_reload will still be available as dreload().
-+# c.TerminalInteractiveShell.deep_reload = False
-+
-+# 
-+# c.TerminalInteractiveShell.xmode = 'Context'
-+
-+# Show rewritten input, e.g. for autocall.
-+# c.TerminalInteractiveShell.show_rewritten_input = True
-+
-+# Number of lines of your screen, used to control printing of very long strings.
-+# Strings longer than this number of lines will be sent through a pager instead
-+# of directly printed.  The default value for this is 0, which means IPython
-+# will auto-detect your screen size every time it needs to print certain
-+# potentially long strings (this doesn't change the behavior of the 'print'
-+# keyword, it's only triggered internally). If for some reason this isn't
-+# working well (it needs curses support), specify it yourself. Otherwise don't
-+# change the default.
-+# c.TerminalInteractiveShell.screen_length = 0
-+
-+# A list of ast.NodeTransformer subclass instances, which will be applied to
-+# user input before code is run.
-+# c.TerminalInteractiveShell.ast_transformers = []
-+
-+# Enable auto setting the terminal title.
-+# c.TerminalInteractiveShell.term_title = False
-+
-+#------------------------------------------------------------------------------
-+# PromptManager configuration
-+#------------------------------------------------------------------------------
-+
-+# This is the primary interface for producing IPython's prompts.
-+
-+# 
-+# c.PromptManager.color_scheme = 'Linux'
-+
-+# Continuation prompt.
-+# c.PromptManager.in2_template = '   .\\D.: '
-+
-+# Input prompt.  '\#' will be transformed to the prompt number
-+# c.PromptManager.in_template = 'In [\\#]: '
-+
-+# Output prompt. '\#' will be transformed to the prompt number
-+# c.PromptManager.out_template = 'Out[\\#]: '
-+
-+# If True (default), each prompt will be right-aligned with the preceding one.
-+# c.PromptManager.justify = True
-+
-+#------------------------------------------------------------------------------
-+# HistoryManager configuration
-+#------------------------------------------------------------------------------
-+
-+# A class to organize all history-related functionality in one place.
-+
-+# HistoryManager will inherit config from: HistoryAccessor
-+
-+# Options for configuring the SQLite connection
-+# 
-+# These options are passed as keyword args to sqlite3.connect when establishing
-+# database conenctions.
-+# c.HistoryManager.connection_options = {}
-+
-+# Should the history database include output? (default: no)
-+# c.HistoryManager.db_log_output = False
-+
-+# enable the SQLite history
-+# 
-+# set enabled=False to disable the SQLite history, in which case there will be
-+# no stored history, no SQLite connection, and no background saving thread.
-+# This may be necessary in some threaded environments where IPython is embedded.
-+# c.HistoryManager.enabled = True
-+
-+# Path to file to use for SQLite history database.
-+# 
-+# By default, IPython will put the history database in the IPython profile
-+# directory.  If you would rather share one history among profiles, you can set
-+# this value in each, so that they are consistent.
-+# 
-+# Due to an issue with fcntl, SQLite is known to misbehave on some NFS mounts.
-+# If you see IPython hanging, try setting this to something on a local disk,
-+# e.g::
-+# 
-+#     ipython --HistoryManager.hist_file=/tmp/ipython_hist.sqlite
-+# c.HistoryManager.hist_file = ''
-+
-+# Write to database every x commands (higher values save disk access & power).
-+# Values of 1 or less effectively disable caching.
-+# c.HistoryManager.db_cache_size = 0
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# PlainTextFormatter configuration
-+#------------------------------------------------------------------------------
-+
-+# The default pretty-printer.
-+# 
-+# This uses :mod:`IPython.lib.pretty` to compute the format data of the object.
-+# If the object cannot be pretty printed, :func:`repr` is used. See the
-+# documentation of :mod:`IPython.lib.pretty` for details on how to write pretty
-+# printers.  Here is a simple example::
-+# 
-+#     def dtype_pprinter(obj, p, cycle):
-+#         if cycle:
-+#             return p.text('dtype(...)')
-+#         if hasattr(obj, 'fields'):
-+#             if obj.fields is None:
-+#                 p.text(repr(obj))
-+#             else:
-+#                 p.begin_group(7, 'dtype([')
-+#                 for i, field in enumerate(obj.descr):
-+#                     if i > 0:
-+#                         p.text(',')
-+#                         p.breakable()
-+#                     p.pretty(field)
-+#                 p.end_group(7, '])')
-+
-+# PlainTextFormatter will inherit config from: BaseFormatter
-+
-+# 
-+# c.PlainTextFormatter.newline = '\n'
-+
-+# 
-+# c.PlainTextFormatter.max_width = 79
-+
-+# 
-+# c.PlainTextFormatter.verbose = False
-+
-+# 
-+# c.PlainTextFormatter.pprint = True
-+
-+# 
-+# c.PlainTextFormatter.singleton_printers = {}
-+
-+# 
-+# c.PlainTextFormatter.type_printers = {}
-+
-+# Truncate large collections (lists, dicts, tuples, sets) to this size.
-+# 
-+# Set to 0 to disable truncation.
-+# c.PlainTextFormatter.max_seq_length = 1000
-+
-+# 
-+# c.PlainTextFormatter.deferred_printers = {}
-+
-+# 
-+# c.PlainTextFormatter.float_precision = ''
-+
-+#------------------------------------------------------------------------------
-+# IPCompleter configuration
-+#------------------------------------------------------------------------------
-+
-+# Extension of the completer class with IPython-specific features
-+
-+# IPCompleter will inherit config from: Completer
-+
-+# Whether to merge completion results into a single list
-+# 
-+# If False, only the completion results from the first non-empty completer will
-+# be returned.
-+# c.IPCompleter.merge_completions = True
-+
-+# Activate greedy completion
-+# 
-+# This will enable completion on elements of lists, results of function calls,
-+# etc., but can be unsafe because the code is actually evaluated on TAB.
-+# c.IPCompleter.greedy = False
-+
-+# Instruct the completer to use __all__ for the completion
-+# 
-+# Specifically, when completing on ``object.<tab>``.
-+# 
-+# When True: only those names in obj.__all__ will be included.
-+# 
-+# When False [default]: the __all__ attribute is ignored
-+# c.IPCompleter.limit_to__all__ = False
-+
-+# Instruct the completer to omit private method names
-+# 
-+# Specifically, when completing on ``object.<tab>``.
-+# 
-+# When 2 [default]: all names that start with '_' will be excluded.
-+# 
-+# When 1: all 'magic' names (``__foo__``) will be excluded.
-+# 
-+# When 0: nothing will be excluded.
-+# c.IPCompleter.omit__names = 2
-+
-+#------------------------------------------------------------------------------
-+# ScriptMagics configuration
-+#------------------------------------------------------------------------------
-+
-+# Magics for talking to scripts
-+# 
-+# This defines a base `%%script` cell magic for running a cell with a program in
-+# a subprocess, and registers a few top-level magics that call %%script with
-+# common interpreters.
-+
-+# Extra script cell magics to define
-+# 
-+# This generates simple wrappers of `%%script foo` as `%%foo`.
-+# 
-+# If you want to add script magics that aren't on your path, specify them in
-+# script_paths
-+# c.ScriptMagics.script_magics = []
-+
-+# Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
-+# 
-+# Only necessary for items in script_magics where the default path will not find
-+# the right interpreter.
-+# c.ScriptMagics.script_paths = {}
-+
-+#------------------------------------------------------------------------------
-+# StoreMagics configuration
-+#------------------------------------------------------------------------------
-+
-+# Lightweight persistence for python variables.
-+# 
-+# Provides the %store magic.
-+
-+# If True, any %store-d variables will be automatically restored when IPython
-+# starts.
-+# c.StoreMagics.autorestore = False
-
---- jupyter_core/tests/dotipython_empty/profile_default/ipython_console_config.py
-+++ jupyter_core/tests/dotipython_empty/profile_default/ipython_console_config.py
-@@ -0,0 +1,531 @@
-+# Configuration file for ipython-console.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# ZMQTerminalIPythonApp configuration
-+#------------------------------------------------------------------------------
-+
-+# ZMQTerminalIPythonApp will inherit config from: TerminalIPythonApp,
-+# BaseIPythonApplication, Application, InteractiveShellApp, IPythonConsoleApp,
-+# ConnectionFileMixin
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.ZMQTerminalIPythonApp.hide_initial_ns = True
-+
-+# set the heartbeat port [default: random]
-+# c.ZMQTerminalIPythonApp.hb_port = 0
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.ZMQTerminalIPythonApp.extensions = []
-+
-+# Execute the given command string.
-+# c.ZMQTerminalIPythonApp.code_to_run = ''
-+
-+# Path to the ssh key to use for logging in to the ssh server.
-+# c.ZMQTerminalIPythonApp.sshkey = ''
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.ZMQTerminalIPythonApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# set the control (ROUTER) port [default: random]
-+# c.ZMQTerminalIPythonApp.control_port = 0
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.ZMQTerminalIPythonApp.reraise_ipython_extension_failures = False
-+
-+# Set the log level by value or name.
-+# c.ZMQTerminalIPythonApp.log_level = 30
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.ZMQTerminalIPythonApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.ZMQTerminalIPythonApp.pylab = None
-+
-+# Run the module as a script.
-+# c.ZMQTerminalIPythonApp.module_to_run = ''
-+
-+# Whether to display a banner upon starting IPython.
-+# c.ZMQTerminalIPythonApp.display_banner = True
-+
-+# dotted module name of an IPython extension to load.
-+# c.ZMQTerminalIPythonApp.extra_extension = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.ZMQTerminalIPythonApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.ZMQTerminalIPythonApp.overwrite = False
-+
-+# The IPython profile to use.
-+# c.ZMQTerminalIPythonApp.profile = 'default'
-+
-+# If a command or file is given via the command-line, e.g. 'ipython foo.py',
-+# start an interactive shell after executing the file or command.
-+# c.ZMQTerminalIPythonApp.force_interact = False
-+
-+# List of files to run at IPython startup.
-+# c.ZMQTerminalIPythonApp.exec_files = []
-+
-+# Start IPython quickly by skipping the loading of config files.
-+# c.ZMQTerminalIPythonApp.quick = False
-+
-+# The Logging format template
-+# c.ZMQTerminalIPythonApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.ZMQTerminalIPythonApp.copy_config_files = False
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.ZMQTerminalIPythonApp.stdin_port = 0
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.ZMQTerminalIPythonApp.extra_config_file = ''
-+
-+# lines of code to run at IPython startup.
-+# c.ZMQTerminalIPythonApp.exec_lines = []
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.ZMQTerminalIPythonApp.gui = None
-+
-+# A file to be run
-+# c.ZMQTerminalIPythonApp.file_to_run = ''
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.ZMQTerminalIPythonApp.matplotlib = None
-+
-+# Suppress warning messages about legacy config files
-+# c.ZMQTerminalIPythonApp.ignore_old_config = False
-+
-+# set the iopub (PUB) port [default: random]
-+# c.ZMQTerminalIPythonApp.iopub_port = 0
-+
-+# 
-+# c.ZMQTerminalIPythonApp.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.ZMQTerminalIPythonApp.connection_file = ''
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.ZMQTerminalIPythonApp.ipython_dir = ''
-+
-+# The SSH server to use to connect to the kernel.
-+# c.ZMQTerminalIPythonApp.sshserver = ''
-+
-+# Set to display confirmation dialog on exit. You can always use 'exit' or
-+# 'quit', to force a direct exit without any confirmation.
-+# c.ZMQTerminalIPythonApp.confirm_exit = True
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.ZMQTerminalIPythonApp.shell_port = 0
-+
-+# The name of the default kernel to start.
-+# c.ZMQTerminalIPythonApp.kernel_name = 'python'
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.ZMQTerminalIPythonApp.pylab_import_all = True
-+
-+# Connect to an already running kernel
-+# c.ZMQTerminalIPythonApp.existing = ''
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.ZMQTerminalIPythonApp.ip = ''
-+
-+#------------------------------------------------------------------------------
-+# ZMQTerminalInteractiveShell configuration
-+#------------------------------------------------------------------------------
-+
-+# A subclass of TerminalInteractiveShell that uses the 0MQ kernel
-+
-+# ZMQTerminalInteractiveShell will inherit config from:
-+# TerminalInteractiveShell, InteractiveShell
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.history_length = 10000
-+
-+# auto editing of files with syntax errors.
-+# c.ZMQTerminalInteractiveShell.autoedit_syntax = False
-+
-+# If True, anything that would be passed to the pager will be displayed as
-+# regular output instead.
-+# c.ZMQTerminalInteractiveShell.display_page = False
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.debug = False
-+
-+# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
-+# interactively (displaying output from expressions).
-+# c.ZMQTerminalInteractiveShell.ast_node_interactivity = 'last_expr'
-+
-+# Start logging to the default log file in overwrite mode. Use `logappend` to
-+# specify a log file to **append** logs to.
-+# c.ZMQTerminalInteractiveShell.logstart = False
-+
-+# Set the size of the output cache.  The default is 1000, you can change it
-+# permanently in your config file.  Setting it to 0 completely disables the
-+# caching system, and the minimum value accepted is 20 (if you provide a value
-+# less than 20, it is reset to 0 and a warning is issued).  This limit is
-+# defined because otherwise you'll spend more time re-flushing a too small cache
-+# than working
-+# c.ZMQTerminalInteractiveShell.cache_size = 1000
-+
-+# The shell program to be used for paging.
-+# c.ZMQTerminalInteractiveShell.pager = 'less'
-+
-+# The name of the logfile to use.
-+# c.ZMQTerminalInteractiveShell.logfile = ''
-+
-+# Save multi-line entries as one entry in readline history
-+# c.ZMQTerminalInteractiveShell.multiline_history = True
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.readline_remove_delims = '-/~'
-+
-+# Enable magic commands to be called without the leading %.
-+# c.ZMQTerminalInteractiveShell.automagic = True
-+
-+# Prefix to add to outputs coming from clients other than this one.
-+# 
-+# Only relevant if include_other_output is True.
-+# c.ZMQTerminalInteractiveShell.other_output_prefix = '[remote] '
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
-+
-+# Use colors for displaying information about objects. Because this information
-+# is passed through a pager (like 'less'), and some pagers get confused with
-+# color codes, this capability can be turned off.
-+# c.ZMQTerminalInteractiveShell.color_info = True
-+
-+# Callable object called via 'callable' image handler with one argument, `data`,
-+# which is `msg["content"]["data"]` where `msg` is the message from iopub
-+# channel.  For exmaple, you can find base64 encoded PNG data as
-+# `data['image/png']`.
-+# c.ZMQTerminalInteractiveShell.callable_image_handler = None
-+
-+# Command to invoke an image viewer program when you are using 'stream' image
-+# handler.  This option is a list of string where the first element is the
-+# command itself and reminders are the options for the command.  Raw image data
-+# is given as STDIN to the program.
-+# c.ZMQTerminalInteractiveShell.stream_image_handler = []
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.separate_out2 = ''
-+
-+# Autoindent IPython code entered interactively.
-+# c.ZMQTerminalInteractiveShell.autoindent = True
-+
-+# The part of the banner to be printed after the profile
-+# c.ZMQTerminalInteractiveShell.banner2 = ''
-+
-+# Don't call post-execute functions that have failed in the past.
-+# c.ZMQTerminalInteractiveShell.disable_failing_post_execute = False
-+
-+# Deprecated, use PromptManager.out_template
-+# c.ZMQTerminalInteractiveShell.prompt_out = 'Out[\\#]: '
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.object_info_string_level = 0
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.separate_out = ''
-+
-+# Automatically call the pdb debugger after every exception.
-+# c.ZMQTerminalInteractiveShell.pdb = False
-+
-+# Deprecated, use PromptManager.in_template
-+# c.ZMQTerminalInteractiveShell.prompt_in1 = 'In [\\#]: '
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.separate_in = '\n'
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.wildcards_case_sensitive = True
-+
-+# Enable auto setting the terminal title.
-+# c.ZMQTerminalInteractiveShell.term_title = False
-+
-+# Enable deep (recursive) reloading by default. IPython can use the deep_reload
-+# module which reloads changes in modules recursively (it replaces the reload()
-+# function, so you don't need to change anything to use it). deep_reload()
-+# forces a full reload of modules whose code may have changed, which the default
-+# reload() function does not.  When deep_reload is off, IPython will use the
-+# normal reload(), but deep_reload will still be available as dreload().
-+# c.ZMQTerminalInteractiveShell.deep_reload = False
-+
-+# Deprecated, use PromptManager.in2_template
-+# c.ZMQTerminalInteractiveShell.prompt_in2 = '   .\\D.: '
-+
-+# Whether to include output from clients other than this one sharing the same
-+# kernel.
-+# 
-+# Outputs are not displayed until enter is pressed.
-+# c.ZMQTerminalInteractiveShell.include_other_output = False
-+
-+# Preferred object representation MIME type in order.  First matched MIME type
-+# will be used.
-+# c.ZMQTerminalInteractiveShell.mime_preference = ['image/png', 'image/jpeg', 'image/svg+xml']
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.readline_use = True
-+
-+# Make IPython automatically call any callable object even if you didn't type
-+# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
-+# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
-+# it is not applied if there are no more arguments on the line, and '2' for
-+# 'full' autocall, where all callable objects are automatically called (even if
-+# no arguments are present).
-+# c.ZMQTerminalInteractiveShell.autocall = 0
-+
-+# The part of the banner to be printed before the profile
-+# c.ZMQTerminalInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
-+
-+# Handler for image type output.  This is useful, for example, when connecting
-+# to the kernel in which pylab inline backend is activated.  There are four
-+# handlers defined.  'PIL': Use Python Imaging Library to popup image; 'stream':
-+# Use an external program to show the image.  Image will be fed into the STDIN
-+# of the program.  You will need to configure `stream_image_handler`;
-+# 'tempfile': Use an external program to show the image.  Image will be saved in
-+# a temporally file and the program is called with the temporally file.  You
-+# will need to configure `tempfile_image_handler`; 'callable': You can set any
-+# Python callable which is called with the image data.  You will need to
-+# configure `callable_image_handler`.
-+# c.ZMQTerminalInteractiveShell.image_handler = None
-+
-+# Set the color scheme (NoColor, Linux, or LightBG).
-+# c.ZMQTerminalInteractiveShell.colors = 'LightBG'
-+
-+# Set the editor used by IPython (default to $EDITOR/vi/notepad).
-+# c.ZMQTerminalInteractiveShell.editor = 'mate -w'
-+
-+# Show rewritten input, e.g. for autocall.
-+# c.ZMQTerminalInteractiveShell.show_rewritten_input = True
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.xmode = 'Context'
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.quiet = False
-+
-+# A list of ast.NodeTransformer subclass instances, which will be applied to
-+# user input before code is run.
-+# c.ZMQTerminalInteractiveShell.ast_transformers = []
-+
-+# 
-+# c.ZMQTerminalInteractiveShell.ipython_dir = ''
-+
-+# Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
-+# Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
-+# direct exit without any confirmation.
-+# c.ZMQTerminalInteractiveShell.confirm_exit = True
-+
-+# Deprecated, use PromptManager.justify
-+# c.ZMQTerminalInteractiveShell.prompts_pad_left = True
-+
-+# Timeout for giving up on a kernel (in seconds).
-+# 
-+# On first connect and restart, the console tests whether the kernel is running
-+# and responsive by sending kernel_info_requests. This sets the timeout in
-+# seconds for how long the kernel can take before being presumed dead.
-+# c.ZMQTerminalInteractiveShell.kernel_timeout = 60
-+
-+# Number of lines of your screen, used to control printing of very long strings.
-+# Strings longer than this number of lines will be sent through a pager instead
-+# of directly printed.  The default value for this is 0, which means IPython
-+# will auto-detect your screen size every time it needs to print certain
-+# potentially long strings (this doesn't change the behavior of the 'print'
-+# keyword, it's only triggered internally). If for some reason this isn't
-+# working well (it needs curses support), specify it yourself. Otherwise don't
-+# change the default.
-+# c.ZMQTerminalInteractiveShell.screen_length = 0
-+
-+# Start logging to the given file in append mode. Use `logfile` to specify a log
-+# file to **overwrite** logs to.
-+# c.ZMQTerminalInteractiveShell.logappend = ''
-+
-+# Command to invoke an image viewer program when you are using 'tempfile' image
-+# handler.  This option is a list of string where the first element is the
-+# command itself and reminders are the options for the command.  You can use
-+# {file} and {format} in the string to represent the location of the generated
-+# image file and image format.
-+# c.ZMQTerminalInteractiveShell.tempfile_image_handler = []
-+
-+#------------------------------------------------------------------------------
-+# KernelManager configuration
-+#------------------------------------------------------------------------------
-+
-+# Manages a single kernel in a subprocess on this host.
-+# 
-+# This version starts kernels with Popen.
-+
-+# KernelManager will inherit config from: ConnectionFileMixin
-+
-+# set the heartbeat port [default: random]
-+# c.KernelManager.hb_port = 0
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.KernelManager.stdin_port = 0
-+
-+# 
-+# c.KernelManager.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.KernelManager.connection_file = ''
-+
-+# set the control (ROUTER) port [default: random]
-+# c.KernelManager.control_port = 0
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.KernelManager.shell_port = 0
-+
-+# Should we autorestart the kernel if it dies.
-+# c.KernelManager.autorestart = False
-+
-+# DEPRECATED: Use kernel_name instead.
-+# 
-+# The Popen Command to launch the kernel. Override this if you have a custom
-+# kernel. If kernel_cmd is specified in a configuration file, IPython does not
-+# pass any arguments to the kernel, because it cannot make any assumptions about
-+# the  arguments that the kernel understands. In particular, this means that the
-+# kernel does not receive the option --debug if it given on the IPython command
-+# line.
-+# c.KernelManager.kernel_cmd = []
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.KernelManager.ip = ''
-+
-+# set the iopub (PUB) port [default: random]
-+# c.KernelManager.iopub_port = 0
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# Session configuration
-+#------------------------------------------------------------------------------
-+
-+# Object for handling serialization and sending of messages.
-+# 
-+# The Session object handles building messages and sending them with ZMQ sockets
-+# or ZMQStream objects.  Objects can communicate with each other over the
-+# network via Session objects, and only need to work with the dict-based IPython
-+# message spec. The Session will handle serialization/deserialization, security,
-+# and metadata.
-+# 
-+# Sessions support configurable serialization via packer/unpacker traits, and
-+# signing with HMAC digests via the key/keyfile traits.
-+# 
-+# Parameters ----------
-+# 
-+# debug : bool
-+#     whether to trigger extra debugging statements
-+# packer/unpacker : str : 'json', 'pickle' or import_string
-+#     importstrings for methods to serialize message parts.  If just
-+#     'json' or 'pickle', predefined JSON and pickle packers will be used.
-+#     Otherwise, the entire importstring must be used.
-+# 
-+#     The functions must accept at least valid JSON input, and output *bytes*.
-+# 
-+#     For example, to use msgpack:
-+#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
-+# pack/unpack : callables
-+#     You can also set the pack/unpack callables for serialization directly.
-+# session : bytes
-+#     the ID of this Session object.  The default is to generate a new UUID.
-+# username : unicode
-+#     username added to message headers.  The default is to ask the OS.
-+# key : bytes
-+#     The key used to initialize an HMAC signature.  If unset, messages
-+#     will not be signed or checked.
-+# keyfile : filepath
-+#     The file containing a key.  If this is set, `key` will be initialized
-+#     to the contents of the file.
-+
-+# The digest scheme used to construct the message signatures. Must have the form
-+# 'hmac-HASH'.
-+# c.Session.signature_scheme = 'hmac-sha256'
-+
-+# The maximum number of digests to remember.
-+# 
-+# The digest history will be culled when it exceeds this value.
-+# c.Session.digest_history_size = 65536
-+
-+# The name of the unpacker for unserializing messages. Only used with custom
-+# functions for `packer`.
-+# c.Session.unpacker = 'json'
-+
-+# The name of the packer for serializing messages. Should be one of 'json',
-+# 'pickle', or an import name for a custom callable serializer.
-+# c.Session.packer = 'json'
-+
-+# Username for the Session. Default is your system username.
-+# c.Session.username = 'minrk'
-+
-+# Debug output in the Session
-+# c.Session.debug = False
-+
-+# path to file containing execution key.
-+# c.Session.keyfile = ''
-+
-+# The maximum number of items for a container to be introspected for custom
-+# serialization. Containers larger than this are pickled outright.
-+# c.Session.item_threshold = 64
-+
-+# Threshold (in bytes) beyond which an object's buffer should be extracted to
-+# avoid pickling.
-+# c.Session.buffer_threshold = 1024
-+
-+# The UUID identifying this session.
-+# c.Session.session = ''
-+
-+# Threshold (in bytes) beyond which a buffer should be sent without copying.
-+# c.Session.copy_threshold = 65536
-+
-+# execution key, for signing messages.
-+# c.Session.key = b''
-+
-+# Metadata dictionary, which serves as the default top-level metadata dict for
-+# each message.
-+# c.Session.metadata = {}
-
---- jupyter_core/tests/dotipython_empty/profile_default/ipython_kernel_config.py
-+++ jupyter_core/tests/dotipython_empty/profile_default/ipython_kernel_config.py
-@@ -0,0 +1,408 @@
-+# Configuration file for ipython-kernel.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# IPKernelApp configuration
-+#------------------------------------------------------------------------------
-+
-+# IPython: an enhanced interactive Python shell.
-+
-+# IPKernelApp will inherit config from: BaseIPythonApplication, Application,
-+# InteractiveShellApp, ConnectionFileMixin
-+
-+# Should variables loaded at startup (by startup files, exec_lines, etc.) be
-+# hidden from tools like %who?
-+# c.IPKernelApp.hide_initial_ns = True
-+
-+# The importstring for the DisplayHook factory
-+# c.IPKernelApp.displayhook_class = 'IPython.kernel.zmq.displayhook.ZMQDisplayHook'
-+
-+# A list of dotted module names of IPython extensions to load.
-+# c.IPKernelApp.extensions = []
-+
-+# Execute the given command string.
-+# c.IPKernelApp.code_to_run = ''
-+
-+# redirect stderr to the null device
-+# c.IPKernelApp.no_stderr = False
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.IPKernelApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# Whether to create profile dir if it doesn't exist
-+# c.IPKernelApp.auto_create = False
-+
-+# Reraise exceptions encountered loading IPython extensions?
-+# c.IPKernelApp.reraise_ipython_extension_failures = False
-+
-+# Set the log level by value or name.
-+# c.IPKernelApp.log_level = 30
-+
-+# Run the file referenced by the PYTHONSTARTUP environment variable at IPython
-+# startup.
-+# c.IPKernelApp.exec_PYTHONSTARTUP = True
-+
-+# Pre-load matplotlib and numpy for interactive use, selecting a particular
-+# matplotlib backend and loop integration.
-+# c.IPKernelApp.pylab = None
-+
-+# Run the module as a script.
-+# c.IPKernelApp.module_to_run = ''
-+
-+# The importstring for the OutStream factory
-+# c.IPKernelApp.outstream_class = 'IPython.kernel.zmq.iostream.OutStream'
-+
-+# dotted module name of an IPython extension to load.
-+# c.IPKernelApp.extra_extension = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.IPKernelApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.IPKernelApp.overwrite = False
-+
-+# The IPython profile to use.
-+# c.IPKernelApp.profile = 'default'
-+
-+# List of files to run at IPython startup.
-+# c.IPKernelApp.exec_files = []
-+
-+# The Logging format template
-+# c.IPKernelApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.IPKernelApp.copy_config_files = False
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.IPKernelApp.stdin_port = 0
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.IPKernelApp.extra_config_file = ''
-+
-+# lines of code to run at IPython startup.
-+# c.IPKernelApp.exec_lines = []
-+
-+# set the control (ROUTER) port [default: random]
-+# c.IPKernelApp.control_port = 0
-+
-+# set the heartbeat port [default: random]
-+# c.IPKernelApp.hb_port = 0
-+
-+# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx',
-+# 'pyglet', 'qt', 'qt5', 'tk', 'wx').
-+# c.IPKernelApp.gui = None
-+
-+# A file to be run
-+# c.IPKernelApp.file_to_run = ''
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.IPKernelApp.ipython_dir = ''
-+
-+# kill this process if its parent dies.  On Windows, the argument specifies the
-+# HANDLE of the parent process, otherwise it is simply boolean.
-+# c.IPKernelApp.parent_handle = 0
-+
-+# Configure matplotlib for interactive use with the default matplotlib backend.
-+# c.IPKernelApp.matplotlib = None
-+
-+# set the iopub (PUB) port [default: random]
-+# c.IPKernelApp.iopub_port = 0
-+
-+# redirect stdout to the null device
-+# c.IPKernelApp.no_stdout = False
-+
-+# 
-+# c.IPKernelApp.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.IPKernelApp.connection_file = ''
-+
-+# The Kernel subclass to be used.
-+# 
-+# This should allow easy re-use of the IPKernelApp entry point to configure and
-+# launch kernels other than IPython's own.
-+# c.IPKernelApp.kernel_class = <class 'IPython.kernel.zmq.ipkernel.IPythonKernel'>
-+
-+# ONLY USED ON WINDOWS Interrupt this process when the parent is signaled.
-+# c.IPKernelApp.interrupt = 0
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.IPKernelApp.shell_port = 0
-+
-+# If true, IPython will populate the user namespace with numpy, pylab, etc. and
-+# an ``import *`` is done from numpy and pylab, when using pylab mode.
-+# 
-+# When False, pylab mode should not import any names into the user namespace.
-+# c.IPKernelApp.pylab_import_all = True
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.IPKernelApp.ip = ''
-+
-+#------------------------------------------------------------------------------
-+# IPythonKernel configuration
-+#------------------------------------------------------------------------------
-+
-+# IPythonKernel will inherit config from: Kernel
-+
-+# 
-+# c.IPythonKernel._execute_sleep = 0.0005
-+
-+# Whether to use appnope for compatiblity with OS X App Nap.
-+# 
-+# Only affects OS X >= 10.9.
-+# c.IPythonKernel._darwin_app_nap = True
-+
-+# 
-+# c.IPythonKernel._poll_interval = 0.05
-+
-+#------------------------------------------------------------------------------
-+# ZMQInteractiveShell configuration
-+#------------------------------------------------------------------------------
-+
-+# A subclass of InteractiveShell for ZMQ.
-+
-+# ZMQInteractiveShell will inherit config from: InteractiveShell
-+
-+# 
-+# c.ZMQInteractiveShell.object_info_string_level = 0
-+
-+# 
-+# c.ZMQInteractiveShell.separate_out = ''
-+
-+# Automatically call the pdb debugger after every exception.
-+# c.ZMQInteractiveShell.pdb = False
-+
-+# 
-+# c.ZMQInteractiveShell.ipython_dir = ''
-+
-+# 
-+# c.ZMQInteractiveShell.history_length = 10000
-+
-+# 
-+# c.ZMQInteractiveShell.readline_remove_delims = '-/~'
-+
-+# If True, anything that would be passed to the pager will be displayed as
-+# regular output instead.
-+# c.ZMQInteractiveShell.display_page = False
-+
-+# Deprecated, use PromptManager.in2_template
-+# c.ZMQInteractiveShell.prompt_in2 = '   .\\D.: '
-+
-+# 
-+# c.ZMQInteractiveShell.separate_in = '\n'
-+
-+# Start logging to the default log file in overwrite mode. Use `logappend` to
-+# specify a log file to **append** logs to.
-+# c.ZMQInteractiveShell.logstart = False
-+
-+# Set the size of the output cache.  The default is 1000, you can change it
-+# permanently in your config file.  Setting it to 0 completely disables the
-+# caching system, and the minimum value accepted is 20 (if you provide a value
-+# less than 20, it is reset to 0 and a warning is issued).  This limit is
-+# defined because otherwise you'll spend more time re-flushing a too small cache
-+# than working
-+# c.ZMQInteractiveShell.cache_size = 1000
-+
-+# 
-+# c.ZMQInteractiveShell.wildcards_case_sensitive = True
-+
-+# The name of the logfile to use.
-+# c.ZMQInteractiveShell.logfile = ''
-+
-+# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
-+# interactively (displaying output from expressions).
-+# c.ZMQInteractiveShell.ast_node_interactivity = 'last_expr'
-+
-+# 
-+# c.ZMQInteractiveShell.debug = False
-+
-+# 
-+# c.ZMQInteractiveShell.quiet = False
-+
-+# Save multi-line entries as one entry in readline history
-+# c.ZMQInteractiveShell.multiline_history = True
-+
-+# Deprecated, use PromptManager.in_template
-+# c.ZMQInteractiveShell.prompt_in1 = 'In [\\#]: '
-+
-+# Enable magic commands to be called without the leading %.
-+# c.ZMQInteractiveShell.automagic = True
-+
-+# The part of the banner to be printed before the profile
-+# c.ZMQInteractiveShell.banner1 = 'Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:07:41) \nType "copyright", "credits" or "license" for more information.\n\nIPython 3.1.0 -- An enhanced Interactive Python.\nAnaconda is brought to you by Continuum Analytics.\nPlease check out: http://continuum.io/thanks and https://binstar.org\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
-+
-+# Make IPython automatically call any callable object even if you didn't type
-+# explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
-+# The value can be '0' to disable the feature, '1' for 'smart' autocall, where
-+# it is not applied if there are no more arguments on the line, and '2' for
-+# 'full' autocall, where all callable objects are automatically called (even if
-+# no arguments are present).
-+# c.ZMQInteractiveShell.autocall = 0
-+
-+# 
-+# c.ZMQInteractiveShell.readline_parse_and_bind = ['tab: complete', '"\\C-l": clear-screen', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward', '"\\e[A": history-search-backward', '"\\e[B": history-search-forward', '"\\C-k": kill-line', '"\\C-u": unix-line-discard']
-+
-+# Set the color scheme (NoColor, Linux, or LightBG).
-+# c.ZMQInteractiveShell.colors = 'LightBG'
-+
-+# Use colors for displaying information about objects. Because this information
-+# is passed through a pager (like 'less'), and some pagers get confused with
-+# color codes, this capability can be turned off.
-+# c.ZMQInteractiveShell.color_info = True
-+
-+# Show rewritten input, e.g. for autocall.
-+# c.ZMQInteractiveShell.show_rewritten_input = True
-+
-+# 
-+# c.ZMQInteractiveShell.xmode = 'Context'
-+
-+# 
-+# c.ZMQInteractiveShell.separate_out2 = ''
-+
-+# The part of the banner to be printed after the profile
-+# c.ZMQInteractiveShell.banner2 = ''
-+
-+# Start logging to the given file in append mode. Use `logfile` to specify a log
-+# file to **overwrite** logs to.
-+# c.ZMQInteractiveShell.logappend = ''
-+
-+# Don't call post-execute functions that have failed in the past.
-+# c.ZMQInteractiveShell.disable_failing_post_execute = False
-+
-+# Deprecated, use PromptManager.out_template
-+# c.ZMQInteractiveShell.prompt_out = 'Out[\\#]: '
-+
-+# Enable deep (recursive) reloading by default. IPython can use the deep_reload
-+# module which reloads changes in modules recursively (it replaces the reload()
-+# function, so you don't need to change anything to use it). deep_reload()
-+# forces a full reload of modules whose code may have changed, which the default
-+# reload() function does not.  When deep_reload is off, IPython will use the
-+# normal reload(), but deep_reload will still be available as dreload().
-+# c.ZMQInteractiveShell.deep_reload = False
-+
-+# Deprecated, use PromptManager.justify
-+# c.ZMQInteractiveShell.prompts_pad_left = True
-+
-+# A list of ast.NodeTransformer subclass instances, which will be applied to
-+# user input before code is run.
-+# c.ZMQInteractiveShell.ast_transformers = []
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# Session configuration
-+#------------------------------------------------------------------------------
-+
-+# Object for handling serialization and sending of messages.
-+# 
-+# The Session object handles building messages and sending them with ZMQ sockets
-+# or ZMQStream objects.  Objects can communicate with each other over the
-+# network via Session objects, and only need to work with the dict-based IPython
-+# message spec. The Session will handle serialization/deserialization, security,
-+# and metadata.
-+# 
-+# Sessions support configurable serialization via packer/unpacker traits, and
-+# signing with HMAC digests via the key/keyfile traits.
-+# 
-+# Parameters ----------
-+# 
-+# debug : bool
-+#     whether to trigger extra debugging statements
-+# packer/unpacker : str : 'json', 'pickle' or import_string
-+#     importstrings for methods to serialize message parts.  If just
-+#     'json' or 'pickle', predefined JSON and pickle packers will be used.
-+#     Otherwise, the entire importstring must be used.
-+# 
-+#     The functions must accept at least valid JSON input, and output *bytes*.
-+# 
-+#     For example, to use msgpack:
-+#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
-+# pack/unpack : callables
-+#     You can also set the pack/unpack callables for serialization directly.
-+# session : bytes
-+#     the ID of this Session object.  The default is to generate a new UUID.
-+# username : unicode
-+#     username added to message headers.  The default is to ask the OS.
-+# key : bytes
-+#     The key used to initialize an HMAC signature.  If unset, messages
-+#     will not be signed or checked.
-+# keyfile : filepath
-+#     The file containing a key.  If this is set, `key` will be initialized
-+#     to the contents of the file.
-+
-+# The digest scheme used to construct the message signatures. Must have the form
-+# 'hmac-HASH'.
-+# c.Session.signature_scheme = 'hmac-sha256'
-+
-+# The maximum number of digests to remember.
-+# 
-+# The digest history will be culled when it exceeds this value.
-+# c.Session.digest_history_size = 65536
-+
-+# The name of the unpacker for unserializing messages. Only used with custom
-+# functions for `packer`.
-+# c.Session.unpacker = 'json'
-+
-+# The name of the packer for serializing messages. Should be one of 'json',
-+# 'pickle', or an import name for a custom callable serializer.
-+# c.Session.packer = 'json'
-+
-+# Username for the Session. Default is your system username.
-+# c.Session.username = 'minrk'
-+
-+# Debug output in the Session
-+# c.Session.debug = False
-+
-+# path to file containing execution key.
-+# c.Session.keyfile = ''
-+
-+# The maximum number of items for a container to be introspected for custom
-+# serialization. Containers larger than this are pickled outright.
-+# c.Session.item_threshold = 64
-+
-+# Threshold (in bytes) beyond which an object's buffer should be extracted to
-+# avoid pickling.
-+# c.Session.buffer_threshold = 1024
-+
-+# The UUID identifying this session.
-+# c.Session.session = ''
-+
-+# Threshold (in bytes) beyond which a buffer should be sent without copying.
-+# c.Session.copy_threshold = 65536
-+
-+# execution key, for signing messages.
-+# c.Session.key = b''
-+
-+# Metadata dictionary, which serves as the default top-level metadata dict for
-+# each message.
-+# c.Session.metadata = {}
-
---- jupyter_core/tests/dotipython_empty/profile_default/ipython_nbconvert_config.py
-+++ jupyter_core/tests/dotipython_empty/profile_default/ipython_nbconvert_config.py
-@@ -0,0 +1,971 @@
-+# Configuration file for ipython-nbconvert.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# NbConvertApp configuration
-+#------------------------------------------------------------------------------
-+
-+# This application is used to convert notebook files (*.ipynb) to various other
-+# formats.
-+# 
-+# WARNING: THE COMMANDLINE INTERFACE MAY CHANGE IN FUTURE RELEASES.
-+
-+# NbConvertApp will inherit config from: BaseIPythonApplication, Application
-+
-+# List of notebooks to convert. Wildcards are supported. Filenames passed
-+# positionally will be added to the list.
-+# c.NbConvertApp.notebooks = []
-+
-+# The IPython profile to use.
-+# c.NbConvertApp.profile = 'default'
-+
-+# The export format to be used.
-+# c.NbConvertApp.export_format = 'html'
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.NbConvertApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# overwrite base name use for output files. can only be used when converting one
-+# notebook at a time.
-+# c.NbConvertApp.output_base = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.NbConvertApp.verbose_crash = False
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.NbConvertApp.extra_config_file = ''
-+
-+# Writer class used to write the  results of the conversion
-+# c.NbConvertApp.writer_class = 'FilesWriter'
-+
-+# PostProcessor class used to write the  results of the conversion
-+# c.NbConvertApp.postprocessor_class = ''
-+
-+# Set the log level by value or name.
-+# c.NbConvertApp.log_level = 30
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.NbConvertApp.ipython_dir = ''
-+
-+# Whether to create profile dir if it doesn't exist
-+# c.NbConvertApp.auto_create = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.NbConvertApp.overwrite = False
-+
-+# Whether to apply a suffix prior to the extension (only relevant when
-+# converting to notebook format). The suffix is determined by the exporter, and
-+# is usually '.nbconvert'.
-+# c.NbConvertApp.use_output_suffix = True
-+
-+# The Logging format template
-+# c.NbConvertApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.NbConvertApp.copy_config_files = False
-+
-+#------------------------------------------------------------------------------
-+# NbConvertBase configuration
-+#------------------------------------------------------------------------------
-+
-+# Global configurable class for shared config
-+# 
-+# Useful for display data priority that might be use by many transformers
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.NbConvertBase.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.NbConvertBase.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# Exporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Class containing methods that sequentially run a list of preprocessors on a
-+# NotebookNode object and then return the modified NotebookNode object and
-+# accompanying resources dict.
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.Exporter.preprocessors = []
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.Exporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# Extension of the file that should be written to disk
-+# c.Exporter.file_extension = '.txt'
-+
-+#------------------------------------------------------------------------------
-+# HTMLExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports a basic HTML document.  This exporter assists with the export of HTML.
-+# Inherit from it if you are writing your own HTML template and need custom
-+# preprocessors/filters.  If you don't need custom preprocessors/ filters, just
-+# change the 'template_file' config option.
-+
-+# HTMLExporter will inherit config from: TemplateExporter, Exporter
-+
-+# 
-+# c.HTMLExporter.jinja_logic_block_end = ''
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.HTMLExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.HTMLExporter.jinja_comment_block_start = ''
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.HTMLExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.HTMLExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.HTMLExporter.template_file = 'default'
-+
-+# 
-+# c.HTMLExporter.template_extension = '.tpl'
-+
-+# 
-+# c.HTMLExporter.jinja_logic_block_start = ''
-+
-+# 
-+# c.HTMLExporter.jinja_variable_block_start = ''
-+
-+# 
-+# c.HTMLExporter.template_path = ['.']
-+
-+# 
-+# c.HTMLExporter.jinja_comment_block_end = ''
-+
-+# 
-+# c.HTMLExporter.jinja_variable_block_end = ''
-+
-+# Extension of the file that should be written to disk
-+# c.HTMLExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.HTMLExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# LatexExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports to a Latex template.  Inherit from this class if your template is
-+# LaTeX based and you need custom tranformers/filters.  Inherit from it if  you
-+# are writing your own HTML template and need custom tranformers/filters.   If
-+# you don't need custom tranformers/filters, just change the  'template_file'
-+# config option.  Place your template in the special "/latex"  subfolder of the
-+# "../templates" folder.
-+
-+# LatexExporter will inherit config from: TemplateExporter, Exporter
-+
-+# 
-+# c.LatexExporter.jinja_logic_block_end = '*))'
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.LatexExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.LatexExporter.jinja_comment_block_start = '((='
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.LatexExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.LatexExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.LatexExporter.template_file = 'default'
-+
-+# 
-+# c.LatexExporter.template_extension = '.tplx'
-+
-+# 
-+# c.LatexExporter.jinja_logic_block_start = '((*'
-+
-+# 
-+# c.LatexExporter.jinja_variable_block_start = '((('
-+
-+# 
-+# c.LatexExporter.template_path = ['.']
-+
-+# 
-+# c.LatexExporter.jinja_comment_block_end = '=))'
-+
-+# 
-+# c.LatexExporter.jinja_variable_block_end = ')))'
-+
-+# Extension of the file that should be written to disk
-+# c.LatexExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.LatexExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# MarkdownExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports to a markdown document (.md)
-+
-+# MarkdownExporter will inherit config from: TemplateExporter, Exporter
-+
-+# 
-+# c.MarkdownExporter.jinja_logic_block_end = ''
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.MarkdownExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.MarkdownExporter.jinja_comment_block_start = ''
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.MarkdownExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.MarkdownExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.MarkdownExporter.template_file = 'default'
-+
-+# 
-+# c.MarkdownExporter.template_extension = '.tpl'
-+
-+# 
-+# c.MarkdownExporter.jinja_logic_block_start = ''
-+
-+# 
-+# c.MarkdownExporter.jinja_variable_block_start = ''
-+
-+# 
-+# c.MarkdownExporter.template_path = ['.']
-+
-+# 
-+# c.MarkdownExporter.jinja_comment_block_end = ''
-+
-+# 
-+# c.MarkdownExporter.jinja_variable_block_end = ''
-+
-+# Extension of the file that should be written to disk
-+# c.MarkdownExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.MarkdownExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# NotebookExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports to an IPython notebook.
-+
-+# NotebookExporter will inherit config from: Exporter
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.NotebookExporter.preprocessors = []
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.NotebookExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# Extension of the file that should be written to disk
-+# c.NotebookExporter.file_extension = '.txt'
-+
-+# The nbformat version to write. Use this to downgrade notebooks.
-+# c.NotebookExporter.nbformat_version = 4
-+
-+#------------------------------------------------------------------------------
-+# PDFExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Writer designed to write to PDF files
-+
-+# PDFExporter will inherit config from: LatexExporter, TemplateExporter,
-+# Exporter
-+
-+# 
-+# c.PDFExporter.jinja_logic_block_end = '*))'
-+
-+# How many times latex will be called.
-+# c.PDFExporter.latex_count = 3
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.PDFExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.PDFExporter.jinja_comment_block_start = '((='
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.PDFExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.PDFExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.PDFExporter.template_file = 'default'
-+
-+# 
-+# c.PDFExporter.template_extension = '.tplx'
-+
-+# Whether to display the output of latex commands.
-+# c.PDFExporter.verbose = False
-+
-+# 
-+# c.PDFExporter.jinja_logic_block_start = '((*'
-+
-+# Shell command used to compile latex.
-+# c.PDFExporter.latex_command = ['pdflatex', '{filename}']
-+
-+# 
-+# c.PDFExporter.jinja_variable_block_start = '((('
-+
-+# 
-+# c.PDFExporter.template_path = ['.']
-+
-+# Shell command used to run bibtex.
-+# c.PDFExporter.bib_command = ['bibtex', '{filename}']
-+
-+# 
-+# c.PDFExporter.jinja_comment_block_end = '=))'
-+
-+# File extensions of temp files to remove after running.
-+# c.PDFExporter.temp_file_exts = ['.aux', '.bbl', '.blg', '.idx', '.log', '.out']
-+
-+# 
-+# c.PDFExporter.jinja_variable_block_end = ')))'
-+
-+# Extension of the file that should be written to disk
-+# c.PDFExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.PDFExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# PythonExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports a Python code file.
-+
-+# PythonExporter will inherit config from: TemplateExporter, Exporter
-+
-+# 
-+# c.PythonExporter.jinja_logic_block_end = ''
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.PythonExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.PythonExporter.jinja_comment_block_start = ''
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.PythonExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.PythonExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.PythonExporter.template_file = 'default'
-+
-+# 
-+# c.PythonExporter.template_extension = '.tpl'
-+
-+# 
-+# c.PythonExporter.jinja_logic_block_start = ''
-+
-+# 
-+# c.PythonExporter.jinja_variable_block_start = ''
-+
-+# 
-+# c.PythonExporter.template_path = ['.']
-+
-+# 
-+# c.PythonExporter.jinja_comment_block_end = ''
-+
-+# 
-+# c.PythonExporter.jinja_variable_block_end = ''
-+
-+# Extension of the file that should be written to disk
-+# c.PythonExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.PythonExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# RSTExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports restructured text documents.
-+
-+# RSTExporter will inherit config from: TemplateExporter, Exporter
-+
-+# 
-+# c.RSTExporter.jinja_logic_block_end = ''
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.RSTExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.RSTExporter.jinja_comment_block_start = ''
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.RSTExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.RSTExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.RSTExporter.template_file = 'default'
-+
-+# 
-+# c.RSTExporter.template_extension = '.tpl'
-+
-+# 
-+# c.RSTExporter.jinja_logic_block_start = ''
-+
-+# 
-+# c.RSTExporter.jinja_variable_block_start = ''
-+
-+# 
-+# c.RSTExporter.template_path = ['.']
-+
-+# 
-+# c.RSTExporter.jinja_comment_block_end = ''
-+
-+# 
-+# c.RSTExporter.jinja_variable_block_end = ''
-+
-+# Extension of the file that should be written to disk
-+# c.RSTExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.RSTExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# SlidesExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports HTML slides with reveal.js
-+
-+# SlidesExporter will inherit config from: HTMLExporter, TemplateExporter,
-+# Exporter
-+
-+# 
-+# c.SlidesExporter.jinja_logic_block_end = ''
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.SlidesExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.SlidesExporter.jinja_comment_block_start = ''
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.SlidesExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.SlidesExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.SlidesExporter.template_file = 'default'
-+
-+# 
-+# c.SlidesExporter.template_extension = '.tpl'
-+
-+# 
-+# c.SlidesExporter.jinja_logic_block_start = ''
-+
-+# 
-+# c.SlidesExporter.jinja_variable_block_start = ''
-+
-+# 
-+# c.SlidesExporter.template_path = ['.']
-+
-+# 
-+# c.SlidesExporter.jinja_comment_block_end = ''
-+
-+# 
-+# c.SlidesExporter.jinja_variable_block_end = ''
-+
-+# Extension of the file that should be written to disk
-+# c.SlidesExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.SlidesExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# TemplateExporter configuration
-+#------------------------------------------------------------------------------
-+
-+# Exports notebooks into other file formats.  Uses Jinja 2 templating engine to
-+# output new formats.  Inherit from this class if you are creating a new
-+# template type along with new filters/preprocessors.  If the filters/
-+# preprocessors provided by default suffice, there is no need to inherit from
-+# this class.  Instead, override the template_file and file_extension traits via
-+# a config file.
-+# 
-+# - ascii_only - add_prompts - add_anchor - html2text - strip_ansi -
-+# comment_lines - ansi2html - strip_files_prefix - prevent_list_blocks -
-+# highlight2html - indent - wrap_text - markdown2rst - citation2latex -
-+# highlight2latex - filter_data_type - get_lines - escape_latex - ipython2python
-+# - markdown2html - strip_dollars - path2url - posix_path - ansi2latex -
-+# markdown2latex
-+
-+# TemplateExporter will inherit config from: Exporter
-+
-+# 
-+# c.TemplateExporter.jinja_logic_block_end = ''
-+
-+# List of preprocessors available by default, by name, namespace,  instance, or
-+# type.
-+# c.TemplateExporter.default_preprocessors = ['IPython.nbconvert.preprocessors.coalesce_streams', 'IPython.nbconvert.preprocessors.SVG2PDFPreprocessor', 'IPython.nbconvert.preprocessors.ExtractOutputPreprocessor', 'IPython.nbconvert.preprocessors.CSSHTMLHeaderPreprocessor', 'IPython.nbconvert.preprocessors.RevealHelpPreprocessor', 'IPython.nbconvert.preprocessors.LatexPreprocessor', 'IPython.nbconvert.preprocessors.ClearOutputPreprocessor', 'IPython.nbconvert.preprocessors.ExecutePreprocessor', 'IPython.nbconvert.preprocessors.HighlightMagicsPreprocessor']
-+
-+# 
-+# c.TemplateExporter.jinja_comment_block_start = ''
-+
-+# Dictionary of filters, by name and namespace, to add to the Jinja environment.
-+# c.TemplateExporter.filters = {}
-+
-+# List of preprocessors, by name or namespace, to enable.
-+# c.TemplateExporter.preprocessors = []
-+
-+# Name of the template file to use
-+# c.TemplateExporter.template_file = 'default'
-+
-+# 
-+# c.TemplateExporter.template_extension = '.tpl'
-+
-+# 
-+# c.TemplateExporter.jinja_logic_block_start = ''
-+
-+# 
-+# c.TemplateExporter.jinja_variable_block_start = ''
-+
-+# 
-+# c.TemplateExporter.template_path = ['.']
-+
-+# 
-+# c.TemplateExporter.jinja_comment_block_end = ''
-+
-+# 
-+# c.TemplateExporter.jinja_variable_block_end = ''
-+
-+# Extension of the file that should be written to disk
-+# c.TemplateExporter.file_extension = '.txt'
-+
-+# formats of raw cells to be included in this Exporter's output.
-+# c.TemplateExporter.raw_mimetypes = []
-+
-+#------------------------------------------------------------------------------
-+# CSSHTMLHeaderPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Preprocessor used to pre-process notebook for HTML output.  Adds IPython
-+# notebook front-end CSS and Pygments CSS to HTML output.
-+
-+# CSSHTMLHeaderPreprocessor will inherit config from: Preprocessor,
-+# NbConvertBase
-+
-+# CSS highlight class identifier
-+# c.CSSHTMLHeaderPreprocessor.highlight_class = '.highlight'
-+
-+# 
-+# c.CSSHTMLHeaderPreprocessor.enabled = False
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.CSSHTMLHeaderPreprocessor.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.CSSHTMLHeaderPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# ClearOutputPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Removes the output from all code cells in a notebook.
-+
-+# ClearOutputPreprocessor will inherit config from: Preprocessor, NbConvertBase
-+
-+# 
-+# c.ClearOutputPreprocessor.enabled = False
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.ClearOutputPreprocessor.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.ClearOutputPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# ConvertFiguresPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Converts all of the outputs in a notebook from one format to another.
-+
-+# ConvertFiguresPreprocessor will inherit config from: Preprocessor,
-+# NbConvertBase
-+
-+# Format the converter accepts
-+# c.ConvertFiguresPreprocessor.from_format = ''
-+
-+# Format the converter writes
-+# c.ConvertFiguresPreprocessor.to_format = ''
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.ConvertFiguresPreprocessor.default_language = 'ipython'
-+
-+# 
-+# c.ConvertFiguresPreprocessor.enabled = False
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.ConvertFiguresPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# ExecutePreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Executes all the cells in a notebook
-+
-+# ExecutePreprocessor will inherit config from: Preprocessor, NbConvertBase
-+
-+# 
-+# c.ExecutePreprocessor.enabled = False
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.ExecutePreprocessor.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.ExecutePreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+# If execution of a cell times out, interrupt the kernel and  continue executing
-+# other cells rather than throwing an error and  stopping.
-+# c.ExecutePreprocessor.interrupt_on_timeout = False
-+
-+# The time to wait (in seconds) for output from executions.
-+# c.ExecutePreprocessor.timeout = 30
-+
-+#------------------------------------------------------------------------------
-+# ExtractOutputPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Extracts all of the outputs from the notebook file.  The extracted  outputs
-+# are returned in the 'resources' dictionary.
-+
-+# ExtractOutputPreprocessor will inherit config from: Preprocessor,
-+# NbConvertBase
-+
-+# 
-+# c.ExtractOutputPreprocessor.enabled = False
-+
-+# 
-+# c.ExtractOutputPreprocessor.output_filename_template = '{unique_key}_{cell_index}_{index}{extension}'
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.ExtractOutputPreprocessor.default_language = 'ipython'
-+
-+# 
-+# c.ExtractOutputPreprocessor.extract_output_types = {'image/svg+xml', 'image/png', 'application/pdf', 'image/jpeg'}
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.ExtractOutputPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# HighlightMagicsPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Detects and tags code cells that use a different languages than Python.
-+
-+# HighlightMagicsPreprocessor will inherit config from: Preprocessor,
-+# NbConvertBase
-+
-+# 
-+# c.HighlightMagicsPreprocessor.enabled = False
-+
-+# Syntax highlighting for magic's extension languages. Each item associates a
-+# language magic extension such as %%R, with a pygments lexer such as r.
-+# c.HighlightMagicsPreprocessor.languages = {}
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.HighlightMagicsPreprocessor.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.HighlightMagicsPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# LatexPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Preprocessor for latex destined documents.
-+# 
-+# Mainly populates the `latex` key in the resources dict, adding definitions for
-+# pygments highlight styles.
-+
-+# LatexPreprocessor will inherit config from: Preprocessor, NbConvertBase
-+
-+# 
-+# c.LatexPreprocessor.enabled = False
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.LatexPreprocessor.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.LatexPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# Preprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# A configurable preprocessor
-+# 
-+# Inherit from this class if you wish to have configurability for your
-+# preprocessor.
-+# 
-+# Any configurable traitlets this class exposed will be configurable in profiles
-+# using c.SubClassName.attribute = value
-+# 
-+# you can overwrite :meth:`preprocess_cell` to apply a transformation
-+# independently on each cell or :meth:`preprocess` if you prefer your own logic.
-+# See corresponding docstring for informations.
-+# 
-+# Disabled by default and can be enabled via the config by
-+#     'c.YourPreprocessorName.enabled = True'
-+
-+# Preprocessor will inherit config from: NbConvertBase
-+
-+# 
-+# c.Preprocessor.enabled = False
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.Preprocessor.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.Preprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# RevealHelpPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# RevealHelpPreprocessor will inherit config from: Preprocessor, NbConvertBase
-+
-+# 
-+# c.RevealHelpPreprocessor.enabled = False
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.RevealHelpPreprocessor.default_language = 'ipython'
-+
-+# The URL prefix for reveal.js. This can be a a relative URL for a local copy of
-+# reveal.js, or point to a CDN.
-+# 
-+# For speaker notes to work, a local reveal.js prefix must be used.
-+# c.RevealHelpPreprocessor.url_prefix = 'reveal.js'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.RevealHelpPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# SVG2PDFPreprocessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Converts all of the outputs in a notebook from SVG to PDF.
-+
-+# SVG2PDFPreprocessor will inherit config from: ConvertFiguresPreprocessor,
-+# Preprocessor, NbConvertBase
-+
-+# Format the converter writes
-+# c.SVG2PDFPreprocessor.to_format = ''
-+
-+# The path to Inkscape, if necessary
-+# c.SVG2PDFPreprocessor.inkscape = ''
-+
-+# Format the converter accepts
-+# c.SVG2PDFPreprocessor.from_format = ''
-+
-+# The command to use for converting SVG to PDF
-+# 
-+# This string is a template, which will be formatted with the keys to_filename
-+# and from_filename.
-+# 
-+# The conversion call must read the SVG from {from_flename}, and write a PDF to
-+# {to_filename}.
-+# c.SVG2PDFPreprocessor.command = ''
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.SVG2PDFPreprocessor.default_language = 'ipython'
-+
-+# 
-+# c.SVG2PDFPreprocessor.enabled = False
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.SVG2PDFPreprocessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# FilesWriter configuration
-+#------------------------------------------------------------------------------
-+
-+# Consumes nbconvert output and produces files.
-+
-+# FilesWriter will inherit config from: WriterBase, NbConvertBase
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.FilesWriter.default_language = 'ipython'
-+
-+# When copying files that the notebook depends on, copy them in relation to this
-+# path, such that the destination filename will be os.path.relpath(filename,
-+# relpath). If FilesWriter is operating on a notebook that already exists
-+# elsewhere on disk, then the default will be the directory containing that
-+# notebook.
-+# c.FilesWriter.relpath = ''
-+
-+# Directory to write output to.  Leave blank to output to the current directory
-+# c.FilesWriter.build_directory = ''
-+
-+# List of the files that the notebook references.  Files will be  included with
-+# written output.
-+# c.FilesWriter.files = []
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.FilesWriter.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# StdoutWriter configuration
-+#------------------------------------------------------------------------------
-+
-+# Consumes output from nbconvert export...() methods and writes to the  stdout
-+# stream.
-+
-+# StdoutWriter will inherit config from: WriterBase, NbConvertBase
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.StdoutWriter.default_language = 'ipython'
-+
-+# List of the files that the notebook references.  Files will be  included with
-+# written output.
-+# c.StdoutWriter.files = []
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.StdoutWriter.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# WriterBase configuration
-+#------------------------------------------------------------------------------
-+
-+# Consumes output from nbconvert export...() methods and writes to a useful
-+# location.
-+
-+# WriterBase will inherit config from: NbConvertBase
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.WriterBase.default_language = 'ipython'
-+
-+# List of the files that the notebook references.  Files will be  included with
-+# written output.
-+# c.WriterBase.files = []
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.WriterBase.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# PostProcessorBase configuration
-+#------------------------------------------------------------------------------
-+
-+# PostProcessorBase will inherit config from: NbConvertBase
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.PostProcessorBase.default_language = 'ipython'
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.PostProcessorBase.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+#------------------------------------------------------------------------------
-+# ServePostProcessor configuration
-+#------------------------------------------------------------------------------
-+
-+# Post processor designed to serve files
-+# 
-+# Proxies reveal.js requests to a CDN if no local reveal.js is present
-+
-+# ServePostProcessor will inherit config from: PostProcessorBase, NbConvertBase
-+
-+# URL prefix for reveal.js
-+# c.ServePostProcessor.reveal_prefix = 'reveal.js'
-+
-+# Should the browser be opened automatically?
-+# c.ServePostProcessor.open_in_browser = True
-+
-+# An ordered list of preferred output type, the first encountered will usually
-+# be used when converting discarding the others.
-+# c.ServePostProcessor.display_data_priority = ['text/html', 'application/pdf', 'text/latex', 'image/svg+xml', 'image/png', 'image/jpeg', 'text/plain']
-+
-+# DEPRECATED default highlight language, please use language_info metadata
-+# instead
-+# c.ServePostProcessor.default_language = 'ipython'
-+
-+# port for the server to listen on.
-+# c.ServePostProcessor.port = 8000
-+
-+# URL for reveal.js CDN.
-+# c.ServePostProcessor.reveal_cdn = 'https://cdn.jsdelivr.net/reveal.js/2.6.2'
-+
-+# The IP address to listen on.
-+# c.ServePostProcessor.ip = '127.0.0.1'
-
---- jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
-+++ jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
-@@ -0,0 +1,548 @@
-+# Configuration file for ipython-notebook.
-+
-+c = get_config()
-+
-+#------------------------------------------------------------------------------
-+# NotebookApp configuration
-+#------------------------------------------------------------------------------
-+
-+# NotebookApp will inherit config from: BaseIPythonApplication, Application
-+
-+# Supply SSL options for the tornado HTTPServer. See the tornado docs for
-+# details.
-+# c.NotebookApp.ssl_options = {}
-+
-+# The config manager class to use
-+# c.NotebookApp.config_manager_class = <class 'IPython.html.services.config.manager.ConfigManager'>
-+
-+# Hashed password to use for web authentication.
-+# 
-+# To generate, type in a python/IPython shell:
-+# 
-+#   from IPython.lib import passwd; passwd()
-+# 
-+# The string should be of the form type:salt:hashed-password.
-+# c.NotebookApp.password = ''
-+
-+# The number of additional ports to try if the specified port is not available.
-+# c.NotebookApp.port_retries = 50
-+
-+# The kernel manager class to use.
-+# c.NotebookApp.kernel_manager_class = <class 'IPython.html.services.kernels.kernelmanager.MappingKernelManager'>
-+
-+# The port the notebook server will listen on.
-+# c.NotebookApp.port = 8888
-+
-+# Set the log level by value or name.
-+# c.NotebookApp.log_level = 30
-+
-+# Path to an extra config file to load.
-+# 
-+# If specified, load this config file in addition to any other IPython config.
-+# c.NotebookApp.extra_config_file = ''
-+
-+# The cluster manager class to use.
-+# c.NotebookApp.cluster_manager_class = <class 'IPython.html.services.clusters.clustermanager.ClusterManager'>
-+
-+# The base URL for the notebook server.
-+# 
-+# Leading and trailing slashes can be omitted, and will automatically be added.
-+# c.NotebookApp.base_url = '/'
-+
-+# Python modules to load as notebook server extensions. This is an experimental
-+# API, and may change in future releases.
-+# c.NotebookApp.server_extensions = []
-+
-+# The login handler class to use.
-+# c.NotebookApp.login_handler_class = <class 'IPython.html.auth.login.LoginHandler'>
-+
-+# The session manager class to use.
-+# c.NotebookApp.session_manager_class = <class 'IPython.html.services.sessions.sessionmanager.SessionManager'>
-+
-+# Set the Access-Control-Allow-Origin header
-+# 
-+# Use '*' to allow any origin to access your server.
-+# 
-+# Takes precedence over allow_origin_pat.
-+# c.NotebookApp.allow_origin = ''
-+
-+# Whether to enable MathJax for typesetting math/TeX
-+# 
-+# MathJax is the javascript library IPython uses to render math/LaTeX. It is
-+# very large, so you may want to disable it if you have a slow internet
-+# connection, or for offline use of the notebook.
-+# 
-+# When disabled, equations etc. will appear as their untransformed TeX source.
-+# c.NotebookApp.enable_mathjax = True
-+
-+# The notebook manager class to use.
-+# c.NotebookApp.contents_manager_class = <class 'IPython.html.services.contents.filemanager.FileContentsManager'>
-+
-+# The full path to an SSL/TLS certificate file.
-+# c.NotebookApp.certfile = ''
-+
-+# Set the Access-Control-Allow-Credentials: true header
-+# c.NotebookApp.allow_credentials = False
-+
-+# The Logging format template
-+# c.NotebookApp.log_format = '[%(name)s]%(highlevel)s %(message)s'
-+
-+# The base URL for websockets, if it differs from the HTTP server (hint: it
-+# almost certainly doesn't).
-+# 
-+# Should be in the form of an HTTP origin: ws[s]://hostname[:port]
-+# c.NotebookApp.websocket_url = ''
-+
-+# Use a regular expression for the Access-Control-Allow-Origin header
-+# 
-+# Requests from an origin matching the expression will get replies with:
-+# 
-+#     Access-Control-Allow-Origin: origin
-+# 
-+# where `origin` is the origin of the request.
-+# 
-+# Ignored if allow_origin is set.
-+# c.NotebookApp.allow_origin_pat = ''
-+
-+# The date format used by logging formatters for %(asctime)s
-+# c.NotebookApp.log_datefmt = '%Y-%m-%d %H:%M:%S'
-+
-+# The logout handler class to use.
-+# c.NotebookApp.logout_handler_class = <class 'IPython.html.auth.logout.LogoutHandler'>
-+
-+# The default URL to redirect to from `/`
-+# c.NotebookApp.default_url = '/tree'
-+
-+# The IPython profile to use.
-+# c.NotebookApp.profile = 'default'
-+
-+# extra paths to look for Javascript notebook extensions
-+# c.NotebookApp.extra_nbextensions_path = []
-+
-+# Specify what command to use to invoke a web browser when opening the notebook.
-+# If not specified, the default browser will be determined by the `webbrowser`
-+# standard library module, which allows setting of the BROWSER environment
-+# variable to override it.
-+# c.NotebookApp.browser = ''
-+
-+# The url for MathJax.js.
-+# c.NotebookApp.mathjax_url = ''
-+
-+# Supply overrides for the tornado.web.Application that the IPython notebook
-+# uses.
-+# c.NotebookApp.tornado_settings = {}
-+
-+# The file where the cookie secret is stored.
-+# c.NotebookApp.cookie_secret_file = ''
-+
-+# Create a massive crash report when IPython encounters what may be an internal
-+# error.  The default is to append a short message to the usual traceback
-+# c.NotebookApp.verbose_crash = False
-+
-+# Whether to overwrite existing config files when copying
-+# c.NotebookApp.overwrite = False
-+
-+# Whether to open in a browser after starting. The specific browser used is
-+# platform dependent and determined by the python standard library `webbrowser`
-+# module, unless it is overridden using the --browser (NotebookApp.browser)
-+# configuration option.
-+# c.NotebookApp.open_browser = True
-+
-+# DEPRECATED, use tornado_settings
-+# c.NotebookApp.webapp_settings = {}
-+
-+# Reraise exceptions encountered loading server extensions?
-+# c.NotebookApp.reraise_server_extension_failures = False
-+
-+# Whether to install the default config files into the profile dir. If a new
-+# profile is being created, and IPython contains config files for that profile,
-+# then they will be staged into the new directory.  Otherwise, default config
-+# files will be automatically generated.
-+# c.NotebookApp.copy_config_files = False
-+
-+# DISABLED: use %pylab or %matplotlib in the notebook to enable matplotlib.
-+# c.NotebookApp.pylab = 'disabled'
-+
-+# The directory to use for notebooks and kernels.
-+# c.NotebookApp.notebook_dir = ''
-+
-+# The kernel spec manager class to use. Should be a subclass of
-+# `IPython.kernel.kernelspec.KernelSpecManager`.
-+# 
-+# The Api of KernelSpecManager is provisional and might change without warning
-+# between this version of IPython and the next stable one.
-+# c.NotebookApp.kernel_spec_manager_class = <class 'IPython.kernel.kernelspec.KernelSpecManager'>
-+
-+# 
-+# c.NotebookApp.file_to_run = ''
-+
-+# DEPRECATED use base_url
-+# c.NotebookApp.base_project_url = '/'
-+
-+# The random bytes used to secure cookies. By default this is a new random
-+# number every time you start the Notebook. Set it to a value in a config file
-+# to enable logins to persist across server sessions.
-+# 
-+# Note: Cookie secrets should be kept private, do not share config files with
-+# cookie_secret stored in plaintext (you can read the value from a file).
-+# c.NotebookApp.cookie_secret = b''
-+
-+# The full path to a private key file for usage with SSL/TLS.
-+# c.NotebookApp.keyfile = ''
-+
-+# Extra paths to search for serving static files.
-+# 
-+# This allows adding javascript/css to be available from the notebook server
-+# machine, or overriding individual files in the IPython
-+# c.NotebookApp.extra_static_paths = []
-+
-+# The name of the IPython directory. This directory is used for logging
-+# configuration (through profiles), history storage, etc. The default is usually
-+# $HOME/.ipython. This option can also be specified through the environment
-+# variable IPYTHONDIR.
-+# c.NotebookApp.ipython_dir = ''
-+
-+# Extra paths to search for serving jinja templates.
-+# 
-+# Can be used to override templates from IPython.html.templates.
-+# c.NotebookApp.extra_template_paths = []
-+
-+# Whether to trust or not X-Scheme/X-Forwarded-Proto and X-Real-Ip/X-Forwarded-
-+# For headerssent by the upstream reverse proxy. Necessary if the proxy handles
-+# SSL
-+# c.NotebookApp.trust_xheaders = False
-+
-+# Supply extra arguments that will be passed to Jinja environment.
-+# c.NotebookApp.jinja_environment_options = {}
-+
-+# The IP address the notebook server will listen on.
-+# c.NotebookApp.ip = 'localhost'
-+
-+#------------------------------------------------------------------------------
-+# KernelManager configuration
-+#------------------------------------------------------------------------------
-+
-+# Manages a single kernel in a subprocess on this host.
-+# 
-+# This version starts kernels with Popen.
-+
-+# KernelManager will inherit config from: ConnectionFileMixin
-+
-+# set the heartbeat port [default: random]
-+# c.KernelManager.hb_port = 0
-+
-+# set the stdin (ROUTER) port [default: random]
-+# c.KernelManager.stdin_port = 0
-+
-+# 
-+# c.KernelManager.transport = 'tcp'
-+
-+# JSON file in which to store connection info [default: kernel-<pid>.json]
-+# 
-+# This file will contain the IP, ports, and authentication key needed to connect
-+# clients to this kernel. By default, this file will be created in the security
-+# dir of the current profile, but can be specified by absolute path.
-+# c.KernelManager.connection_file = ''
-+
-+# set the control (ROUTER) port [default: random]
-+# c.KernelManager.control_port = 0
-+
-+# set the shell (ROUTER) port [default: random]
-+# c.KernelManager.shell_port = 0
-+
-+# Should we autorestart the kernel if it dies.
-+# c.KernelManager.autorestart = False
-+
-+# DEPRECATED: Use kernel_name instead.
-+# 
-+# The Popen Command to launch the kernel. Override this if you have a custom
-+# kernel. If kernel_cmd is specified in a configuration file, IPython does not
-+# pass any arguments to the kernel, because it cannot make any assumptions about
-+# the  arguments that the kernel understands. In particular, this means that the
-+# kernel does not receive the option --debug if it given on the IPython command
-+# line.
-+# c.KernelManager.kernel_cmd = []
-+
-+# Set the kernel's IP address [default localhost]. If the IP address is
-+# something other than localhost, then Consoles on other machines will be able
-+# to connect to the Kernel, so be careful!
-+# c.KernelManager.ip = ''
-+
-+# set the iopub (PUB) port [default: random]
-+# c.KernelManager.iopub_port = 0
-+
-+#------------------------------------------------------------------------------
-+# ProfileDir configuration
-+#------------------------------------------------------------------------------
-+
-+# An object to manage the profile directory and its resources.
-+# 
-+# The profile directory is used by all IPython applications, to manage
-+# configuration, logging and security.
-+# 
-+# This object knows how to find, create and manage these directories. This
-+# should be used by any code that wants to handle profiles.
-+
-+# Set the profile location directly. This overrides the logic used by the
-+# `profile` option.
-+# c.ProfileDir.location = ''
-+
-+#------------------------------------------------------------------------------
-+# Session configuration
-+#------------------------------------------------------------------------------
-+
-+# Object for handling serialization and sending of messages.
-+# 
-+# The Session object handles building messages and sending them with ZMQ sockets
-+# or ZMQStream objects.  Objects can communicate with each other over the
-+# network via Session objects, and only need to work with the dict-based IPython
-+# message spec. The Session will handle serialization/deserialization, security,
-+# and metadata.
-+# 
-+# Sessions support configurable serialization via packer/unpacker traits, and
-+# signing with HMAC digests via the key/keyfile traits.
-+# 
-+# Parameters ----------
-+# 
-+# debug : bool
-+#     whether to trigger extra debugging statements
-+# packer/unpacker : str : 'json', 'pickle' or import_string
-+#     importstrings for methods to serialize message parts.  If just
-+#     'json' or 'pickle', predefined JSON and pickle packers will be used.
-+#     Otherwise, the entire importstring must be used.
-+# 
-+#     The functions must accept at least valid JSON input, and output *bytes*.
-+# 
-+#     For example, to use msgpack:
-+#     packer = 'msgpack.packb', unpacker='msgpack.unpackb'
-+# pack/unpack : callables
-+#     You can also set the pack/unpack callables for serialization directly.
-+# session : bytes
-+#     the ID of this Session object.  The default is to generate a new UUID.
-+# username : unicode
-+#     username added to message headers.  The default is to ask the OS.
-+# key : bytes
-+#     The key used to initialize an HMAC signature.  If unset, messages
-+#     will not be signed or checked.
-+# keyfile : filepath
-+#     The file containing a key.  If this is set, `key` will be initialized
-+#     to the contents of the file.
-+
-+# The digest scheme used to construct the message signatures. Must have the form
-+# 'hmac-HASH'.
-+# c.Session.signature_scheme = 'hmac-sha256'
-+
-+# The maximum number of digests to remember.
-+# 
-+# The digest history will be culled when it exceeds this value.
-+# c.Session.digest_history_size = 65536
-+
-+# The name of the unpacker for unserializing messages. Only used with custom
-+# functions for `packer`.
-+# c.Session.unpacker = 'json'
-+
-+# The name of the packer for serializing messages. Should be one of 'json',
-+# 'pickle', or an import name for a custom callable serializer.
-+# c.Session.packer = 'json'
-+
-+# Username for the Session. Default is your system username.
-+# c.Session.username = 'minrk'
-+
-+# Debug output in the Session
-+# c.Session.debug = False
-+
-+# path to file containing execution key.
-+# c.Session.keyfile = ''
-+
-+# The maximum number of items for a container to be introspected for custom
-+# serialization. Containers larger than this are pickled outright.
-+# c.Session.item_threshold = 64
-+
-+# Threshold (in bytes) beyond which an object's buffer should be extracted to
-+# avoid pickling.
-+# c.Session.buffer_threshold = 1024
-+
-+# The UUID identifying this session.
-+# c.Session.session = ''
-+
-+# Threshold (in bytes) beyond which a buffer should be sent without copying.
-+# c.Session.copy_threshold = 65536
-+
-+# execution key, for signing messages.
-+# c.Session.key = b''
-+
-+# Metadata dictionary, which serves as the default top-level metadata dict for
-+# each message.
-+# c.Session.metadata = {}
-+
-+#------------------------------------------------------------------------------
-+# MappingKernelManager configuration
-+#------------------------------------------------------------------------------
-+
-+# A KernelManager that handles notebook mapping and HTTP error handling
-+
-+# MappingKernelManager will inherit config from: MultiKernelManager
-+
-+# The kernel manager class.  This is configurable to allow subclassing of the
-+# KernelManager for customized behavior.
-+# c.MappingKernelManager.kernel_manager_class = 'IPython.kernel.ioloop.IOLoopKernelManager'
-+
-+# 
-+# c.MappingKernelManager.root_dir = ''
-+
-+# The name of the default kernel to start
-+# c.MappingKernelManager.default_kernel_name = 'python3'
-+
-+#------------------------------------------------------------------------------
-+# ContentsManager configuration
-+#------------------------------------------------------------------------------
-+
-+# Base class for serving files and directories.
-+# 
-+# This serves any text or binary file, as well as directories, with special
-+# handling for JSON notebook documents.
-+# 
-+# Most APIs take a path argument, which is always an API-style unicode path, and
-+# always refers to a directory.
-+# 
-+# - unicode, not url-escaped
-+# - '/'-separated
-+# - leading and trailing '/' will be stripped
-+# - if unspecified, path defaults to '',
-+#   indicating the root path.
-+
-+# The base name used when creating untitled directories.
-+# c.ContentsManager.untitled_directory = 'Untitled Folder'
-+
-+# Python callable or importstring thereof
-+# 
-+# To be called on a contents model prior to save.
-+# 
-+# This can be used to process the structure, such as removing notebook outputs
-+# or other side effects that should not be saved.
-+# 
-+# It will be called as (all arguments passed by keyword)::
-+# 
-+#     hook(path=path, model=model, contents_manager=self)
-+# 
-+# - model: the model to be saved. Includes file contents.
-+#   Modifying this dict will affect the file that is stored.
-+# - path: the API path of the save destination
-+# - contents_manager: this ContentsManager instance
-+# c.ContentsManager.pre_save_hook = None
-+
-+# Glob patterns to hide in file and directory listings.
-+# c.ContentsManager.hide_globs = ['__pycache__', '*.pyc', '*.pyo', '.DS_Store', '*.so', '*.dylib', '*~']
-+
-+# The base name used when creating untitled files.
-+# c.ContentsManager.untitled_file = 'untitled'
-+
-+# The base name used when creating untitled notebooks.
-+# c.ContentsManager.untitled_notebook = 'Untitled'
-+
-+# 
-+# c.ContentsManager.checkpoints = None
-+
-+# 
-+# c.ContentsManager.checkpoints_class = <class 'IPython.html.services.contents.checkpoints.Checkpoints'>
-+
-+# 
-+# c.ContentsManager.checkpoints_kwargs = {}
-+
-+#------------------------------------------------------------------------------
-+# FileContentsManager configuration
-+#------------------------------------------------------------------------------
-+
-+# FileContentsManager will inherit config from: ContentsManager
-+
-+# The base name used when creating untitled directories.
-+# c.FileContentsManager.untitled_directory = 'Untitled Folder'
-+
-+# Python callable or importstring thereof
-+# 
-+# To be called on a contents model prior to save.
-+# 
-+# This can be used to process the structure, such as removing notebook outputs
-+# or other side effects that should not be saved.
-+# 
-+# It will be called as (all arguments passed by keyword)::
-+# 
-+#     hook(path=path, model=model, contents_manager=self)
-+# 
-+# - model: the model to be saved. Includes file contents.
-+#   Modifying this dict will affect the file that is stored.
-+# - path: the API path of the save destination
-+# - contents_manager: this ContentsManager instance
-+# c.FileContentsManager.pre_save_hook = None
-+
-+# Glob patterns to hide in file and directory listings.
-+# c.FileContentsManager.hide_globs = ['__pycache__', '*.pyc', '*.pyo', '.DS_Store', '*.so', '*.dylib', '*~']
-+
-+# The base name used when creating untitled files.
-+# c.FileContentsManager.untitled_file = 'untitled'
-+
-+# The base name used when creating untitled notebooks.
-+# c.FileContentsManager.untitled_notebook = 'Untitled'
-+
-+# Python callable or importstring thereof
-+# 
-+# to be called on the path of a file just saved.
-+# 
-+# This can be used to process the file on disk, such as converting the notebook
-+# to a script or HTML via nbconvert.
-+# 
-+# It will be called as (all arguments passed by keyword)::
-+# 
-+#     hook(os_path=os_path, model=model, contents_manager=instance)
-+# 
-+# - path: the filesystem path to the file just written - model: the model
-+# representing the file - contents_manager: this ContentsManager instance
-+# c.FileContentsManager.post_save_hook = None
-+
-+# DEPRECATED, use post_save_hook
-+# c.FileContentsManager.save_script = False
-+
-+# 
-+# c.FileContentsManager.root_dir = ''
-+
-+# 
-+# c.FileContentsManager.checkpoints_class = <class 'IPython.html.services.contents.checkpoints.Checkpoints'>
-+
-+# 
-+# c.FileContentsManager.checkpoints = None
-+
-+# 
-+# c.FileContentsManager.checkpoints_kwargs = {}
-+
-+#------------------------------------------------------------------------------
-+# NotebookNotary configuration
-+#------------------------------------------------------------------------------
-+
-+# A class for computing and verifying notebook signatures.
-+
-+# The number of notebook signatures to cache. When the number of signatures
-+# exceeds this value, the oldest 25% of signatures will be culled.
-+# c.NotebookNotary.cache_size = 65535
-+
-+# The sqlite file in which to store notebook signatures. By default, this will
-+# be in your IPython profile. You can set it to ':memory:' to disable sqlite
-+# writing to the filesystem.
-+# c.NotebookNotary.db_file = ''
-+
-+# The secret key with which notebooks are signed.
-+# c.NotebookNotary.secret = b''
-+
-+# The file where the secret key is stored.
-+# c.NotebookNotary.secret_file = ''
-+
-+# The hashing algorithm used to sign notebooks.
-+# c.NotebookNotary.algorithm = 'sha256'
-+
-+#------------------------------------------------------------------------------
-+# KernelSpecManager configuration
-+#------------------------------------------------------------------------------
-+
-+# Whitelist of allowed kernel names.
-+# 
-+# By default, all installed kernels are allowed.
-+# c.KernelSpecManager.whitelist = set()
-
---- jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.css
-+++ jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.css
-@@ -0,0 +1,7 @@
-+/*
-+Placeholder for custom user CSS
-+
-+mainly to be overridden in profile/static/custom/custom.css
-+
-+This will always be an empty file in IPython
-+*/
-\ No newline at end of file
-
---- jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.js
-+++ jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.js
-@@ -0,0 +1,82 @@
-+// leave at least 2 line with only a star on it below, or doc generation fails
-+/**
-+ *
-+ *
-+ * Placeholder for custom user javascript
-+ * mainly to be overridden in profile/static/custom/custom.js
-+ * This will always be an empty file in IPython
-+ *
-+ * User could add any javascript in the `profile/static/custom/custom.js` file.
-+ * It will be executed by the ipython notebook at load time.
-+ *
-+ * Same thing with `profile/static/custom/custom.css` to inject custom css into the notebook.
-+ *
-+ *
-+ * The object available at load time depend on the version of IPython in use.
-+ * there is no guaranties of API stability.
-+ *
-+ * The example below explain the principle, and might not be valid.
-+ *
-+ * Instances are created after the loading of this file and might need to be accessed using events:
-+ *     define([
-+ *        'base/js/namespace',
-+ *        'base/js/events'
-+ *     ], function(IPython, events) {
-+ *         events.on("app_initialized.NotebookApp", function () {
-+ *             IPython.keyboard_manager....
-+ *         });
-+ *     });
-+ *
-+ * __Example 1:__
-+ *
-+ * Create a custom button in toolbar that execute `%qtconsole` in kernel
-+ * and hence open a qtconsole attached to the same kernel as the current notebook
-+ *
-+ *    define([
-+ *        'base/js/namespace',
-+ *        'base/js/events'
-+ *    ], function(IPython, events) {
-+ *        events.on('app_initialized.NotebookApp', function(){
-+ *            IPython.toolbar.add_buttons_group([
-+ *                {
-+ *                    'label'   : 'run qtconsole',
-+ *                    'icon'    : 'icon-terminal', // select your icon from http://fortawesome.github.io/Font-Awesome/icons
-+ *                    'callback': function () {
-+ *                        IPython.notebook.kernel.execute('%qtconsole')
-+ *                    }
-+ *                }
-+ *                // add more button here if needed.
-+ *                ]);
-+ *        });
-+ *    });
-+ *
-+ * __Example 2:__
-+ *
-+ * At the completion of the dashboard loading, load an unofficial javascript extension
-+ * that is installed in profile/static/custom/
-+ *
-+ *    define([
-+ *        'base/js/events'
-+ *    ], function(events) {
-+ *        events.on('app_initialized.DashboardApp', function(){
-+ *            require(['custom/unofficial_extension.js'])
-+ *        });
-+ *    });
-+ *
-+ * __Example 3:__
-+ *
-+ *  Use `jQuery.getScript(url [, success(script, textStatus, jqXHR)] );`
-+ *  to load custom script into the notebook.
-+ *
-+ *    // to load the metadata ui extension example.
-+ *    $.getScript('/static/notebook/js/celltoolbarpresets/example.js');
-+ *    // or
-+ *    // to load the metadata ui extension to control slideshow mode / reveal js for nbconvert
-+ *    $.getScript('/static/notebook/js/celltoolbarpresets/slideshow.js');
-+ *
-+ *
-+ * @module IPython
-+ * @namespace IPython
-+ * @class customjs
-+ * @static
-+ */


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/sci:master commit in: patches/
@ 2020-09-28 10:23 Horea Christian
  0 siblings, 0 replies; 7+ messages in thread
From: Horea Christian @ 2020-09-28 10:23 UTC (permalink / raw
  To: gentoo-commits

commit:     5059dd1c79e30fdd1b4c0d24e4ef96775c0c16c1
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Mon Sep 28 10:16:49 2020 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Mon Sep 28 10:16:49 2020 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=5059dd1c

patches: removed patch for deprecated package

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 patches/bigdft-abi-1.0.4-0005.patch | 5317 -----------------------------------
 1 file changed, 5317 deletions(-)

diff --git a/patches/bigdft-abi-1.0.4-0005.patch b/patches/bigdft-abi-1.0.4-0005.patch
deleted file mode 100644
index ae59b7ba1..000000000
--- a/patches/bigdft-abi-1.0.4-0005.patch
+++ /dev/null
@@ -1,5317 +0,0 @@
-diff -urN bigdft-abi-1.0.4.old/configure.ac bigdft-abi-1.0.4.new/configure.ac
---- bigdft-abi-1.0.4.old/configure.ac	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/configure.ac	2013-06-11 16:51:00.000000000 +0200
-@@ -806,8 +806,8 @@
-     
-     dnl Test the given implementation of libabinit.
-     AC_CHECK_LIB(abinit, symbrav, withlibabinit=yes, withlibabinit=no)
--    AC_CHECK_FILE($ac_libabinit_dir/include/ab6_moldyn.$ax_fc_mod_ext, moldyn="yes", moldyn="no")
--    AC_CHECK_FILE($ac_libabinit_dir/include/ab6_symmetry.$ax_fc_mod_ext, sym="yes", sym="no")
-+    AC_CHECK_FILE($ac_libabinit_dir/include/ab7_moldyn.$ax_fc_mod_ext, moldyn="yes", moldyn="no")
-+    AC_CHECK_FILE($ac_libabinit_dir/include/ab7_symmetry.$ax_fc_mod_ext, sym="yes", sym="no")
-     AC_CHECK_FILE($ac_libabinit_dir/include/libxc_functionals.$ax_fc_mod_ext, libxc="yes", libxc="no")
-     if test "$withlibabinit" = "yes" -a "$moldyn" = "yes" -a "$sym" = "yes" -a "$libxc" = "yes"; then
-       ac_use_libabinit="yes"
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/10_defs/defs_basis.F90 bigdft-abi-1.0.4.new/libABINIT/src/10_defs/defs_basis.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/10_defs/defs_basis.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/10_defs/defs_basis.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -211,18 +211,18 @@
-  integer, parameter :: abinit_comm_serial = -12345
- 
-  ! Error codes used by the bindings.
-- integer, parameter, public :: AB6_NO_ERROR                 =  0
-- integer, parameter, public :: AB6_ERROR_OBJ                =  1
-- integer, parameter, public :: AB6_ERROR_ARG                =  2
-- integer, parameter, public :: AB6_ERROR_INVARS_ATT         =  3
-- integer, parameter, public :: AB6_ERROR_INVARS_ID          =  4
-- integer, parameter, public :: AB6_ERROR_INVARS_SIZE        =  5
-- integer, parameter, public :: AB6_ERROR_SYM_NOT_PRIMITIVE  =  6
-- integer, parameter, public :: AB6_ERROR_SYM_BRAVAIS_XRED   =  7
-- integer, parameter, public :: AB6_ERROR_MIXING_ARG         =  8
-- integer, parameter, public :: AB6_ERROR_MIXING_CONVERGENCE =  9
-- integer, parameter, public :: AB6_ERROR_MIXING_INTERNAL    = 10
-- integer, parameter, public :: AB6_ERROR_MIXING_INC_NNSLOOP = 11
-+ integer, parameter, public :: AB7_NO_ERROR                 =  0
-+ integer, parameter, public :: AB7_ERROR_OBJ                =  1
-+ integer, parameter, public :: AB7_ERROR_ARG                =  2
-+ integer, parameter, public :: AB7_ERROR_INVARS_ATT         =  3
-+ integer, parameter, public :: AB7_ERROR_INVARS_ID          =  4
-+ integer, parameter, public :: AB7_ERROR_INVARS_SIZE        =  5
-+ integer, parameter, public :: AB7_ERROR_SYM_NOT_PRIMITIVE  =  6
-+ integer, parameter, public :: AB7_ERROR_SYM_BRAVAIS_XRED   =  7
-+ integer, parameter, public :: AB7_ERROR_MIXING_ARG         =  8
-+ integer, parameter, public :: AB7_ERROR_MIXING_CONVERGENCE =  9
-+ integer, parameter, public :: AB7_ERROR_MIXING_INTERNAL    = 10
-+ integer, parameter, public :: AB7_ERROR_MIXING_INC_NNSLOOP = 11
- 
- ! Values of optdriver corresponding to the different run-levels. 
-  integer, parameter, public :: RUNL_GSTATE     = 0
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/14_hidewrite/wrtout.F90 bigdft-abi-1.0.4.new/libABINIT/src/14_hidewrite/wrtout.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/14_hidewrite/wrtout.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/14_hidewrite/wrtout.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -62,7 +62,7 @@
- !!      ioniondist,irrzg,isfile,jellium,klocal,kpgio,kpgsph,kpgstr
- !!      kramerskronig,ks_ddiago,kxc_alda,kxc_eok,ladielmt,lattice,lavnl
- !!      leave_new,leave_test,linemin,listkk,lobpcgIIwf,lobpcgccIIwf,lobpcgccwf
--!!      lobpcgwf,loop3dte,loper3,lwf,m_ab6_invars_f90,m_abilasi,m_atom
-+!!      lobpcgwf,loop3dte,loper3,lwf,m_ab7_invars_f90,m_abilasi,m_atom
- !!      m_bands_sym,m_bs_defs,m_bz_mesh,m_coulombian,m_crystal,m_dyson_solver
- !!      m_ebands,m_errors,m_fft_mesh,m_fftw3,m_geometry,m_green,m_gsphere
- !!      m_gwdefs,m_hamiltonian,m_hidecudarec,m_initcuda,m_io_kss,m_io_screening
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/16_hideleave/leave_new.F90 bigdft-abi-1.0.4.new/libABINIT/src/16_hideleave/leave_new.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/16_hideleave/leave_new.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/16_hideleave/leave_new.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -54,7 +54,7 @@
- !!      inupper,invars0,invars1,invars1m,invars2,invars9,invcb,inwffil,inwffil3
- !!      ioarr,ioddb8_in,iofn1,iofn2,irrzg,isfile,jellium,klocal,kpgsph,kpgstr
- !!      kxc_alda,kxc_eok,ladielmt,lavnl,linemin,listkk,lobpcgIIwf,lobpcgccIIwf
--!!      loper3,lwf,m_ab6_invars_f90,m_errors,m_green,m_libxc_functionals
-+!!      loper3,lwf,m_ab7_invars_f90,m_errors,m_green,m_libxc_functionals
- !!      m_matlu,m_matrix,m_oper,m_paw_dmft,m_special_funcs,m_wffile
- !!      mat_mlms2jmj,mat_slm2ylm,matcginv,matcginv_dpc,mati3inv,matrginv
- !!      matrixelmt_g,mean_fftr,meanvalue_g,memana,metcon,metric,metstr,mka2f
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/18_timing/timab.F90 bigdft-abi-1.0.4.new/libABINIT/src/18_timing/timab.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/18_timing/timab.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/18_timing/timab.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -50,7 +50,7 @@
- !!      getgsc,getngrec,gran_potrec,green_kernel,gstate,gstateimg,hartre
- !!      hartre1,initylmg,inkpts,invars2,inwffil,inwffil3,kpgio,kpgsph,ladielmt
- !!      lavnl,leave_test,lobpcgIIwf,lobpcgccIIwf,lobpcgccwf,lobpcgwf,loop3dte
--!!      loper3,m_ab6_invars_f90,m_hidecudarec,m_screening,matrixelmt_g
-+!!      loper3,m_ab7_invars_f90,m_hidecudarec,m_screening,matrixelmt_g
- !!      mean_fftr,meanvalue_g,mkcore,mkffnl,mklocl_realspace,mklocl_recipspace
- !!      mkresi,mkrho,mkrho3,mkvxc3,mkvxcstr3,newkpt,newocc,newrho,newvtr
- !!      newvtr3,nhatgrid,nlenergyrec,nonlinear,nonlop,nstdy3,nstwf3,odamix
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/32_util/mati3inv.F90 bigdft-abi-1.0.4.new/libABINIT/src/32_util/mati3inv.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/32_util/mati3inv.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/32_util/mati3inv.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -32,7 +32,7 @@
- !! TODO
- !!
- !! PARENTS
--!!      ab6_symmetry_f90,debug_tools,get_full_kgrid,getkgrid,ingeo,invars2m
-+!!      ab7_symmetry_f90,debug_tools,get_full_kgrid,getkgrid,ingeo,invars2m
- !!      m_bands_sym,m_crystal,m_fft_mesh,m_io_kss,nstdy3,optic,outscfcv,rdddb9
- !!      read_gkk,setsym,strainsym,symdij,symdyma,wfconv
- !!
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/chkprimit.F90 bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/chkprimit.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/chkprimit.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/chkprimit.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -32,7 +32,7 @@
- !
- !!
- !! PARENTS
--!!      ingeo,ab6_symmetry_f90
-+!!      ingeo,ab7_symmetry_f90
- !!
- !! CHILDREN
- !!      leave_new,wrtout
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/m_ab6_symmetry.F90 bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/m_ab6_symmetry.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/m_ab6_symmetry.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/m_ab6_symmetry.F90	1970-01-01 01:00:00.000000000 +0100
-@@ -1,1088 +0,0 @@
--!* * Fortran90 source file *
--!*
--!* Copyright (c) 2008-2010 ABINIT Group (Damien Caliste)
--!* All rights reserved.
--!*
--!* This file is part of the ABINIT software package. For license information,
--!* please see the COPYING file in the top-level directory of the ABINIT source
--!* distribution.
--!*
--!*
--
--module m_ab6_symmetry
--
--  use defs_basis
--
--  implicit none
--
--  private
--
--  integer, parameter, public :: AB6_MAX_SYMMETRIES = 384
--
--  type, public :: symmetry_type
--     ! The input characteristics
--     real(dp) :: tolsym
--     real(dp) :: rprimd(3,3), gprimd(3,3), rmet(3,3)
--     integer :: nAtoms
--     integer, pointer :: typeAt(:)
--     real(dp), pointer :: xRed(:,:)
--
--     logical :: withField
--     real(dp) :: field(3)
--
--     logical :: withJellium
--
--     integer :: withSpin
--     real(dp), pointer :: spinAt(:,:)
--
--     logical :: withSpinOrbit
--
--     integer :: vacuum(3)
--
--     ! The output characteristics
--     ! The bravais parameters
--     integer :: nBravSym
--     integer :: bravais(11), bravSym(3, 3, AB6_MAX_SYMMETRIES)
--     ! The symmetry matrices
--     logical  :: auto
--     integer  :: nSym
--     integer, pointer  :: sym(:,:,:)
--     real(dp), pointer :: transNon(:,:)
--     integer, pointer  :: symAfm(:)
--     ! Some additional information
--     integer          :: multiplicity
--     real(dp)         :: genAfm(3)
--     integer          :: spaceGroup, pointGroupMagn
--     integer, pointer :: indexingAtoms(:,:,:)
--  end type symmetry_type
--
--  ! We store here a list of symmetry objects to be able to
--  ! call several symmetry operations on different objects.
--  ! The simplest portable way to do it, is to create
--  ! a list of Fortran structure and to use the list index
--  ! as an identifier that can be given to the other languages.
--  type, private :: symmetry_list
--     integer                       :: id
--     type(symmetry_list),  pointer :: next
--     type(symmetry_type)           :: data
--  end type symmetry_list
--  type(symmetry_list), pointer :: my_symmetries
--  integer :: n_symmetries = 0
--
--  logical, private, parameter :: AB_DBG = .false.
--
--  public :: symmetry_new
--  public :: symmetry_free
--  public :: symmetry_set_tolerance
--  public :: symmetry_set_lattice
--  public :: symmetry_set_structure
--  public :: symmetry_set_collinear_spin
--  public :: symmetry_set_spin
--  public :: symmetry_set_spin_orbit
--  public :: symmetry_set_field
--  public :: symmetry_set_jellium
--  public :: symmetry_set_periodicity
--  public :: symmetry_set_n_sym
--
--  public :: symmetry_get_from_id
--  public :: symmetry_get_n_atoms
--  public :: symmetry_get_n_sym
--  public :: symmetry_get_multiplicity
--  public :: symmetry_get_bravais
--  public :: symmetry_get_matrices
--  public :: symmetry_get_matrices_p
--  public :: symmetry_get_group
--  public :: symmetry_get_equivalent_atom
--
--contains
--
--  subroutine new_item(token)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    type(symmetry_list), pointer :: token
--
--    ! We allocate a new list token and prepend it.
--    if (AB_DBG) write(0,*) "AB symmetry: create a new token."
--
--    ! Init case, very first call.
--    if (n_symmetries == 0) then
--       nullify(my_symmetries)
--    end if
--
--    ! Normal treatment.
--    n_symmetries = n_symmetries + 1
--
--    allocate(token)
--    token%id = n_symmetries
--    call new_symmetry(token%data)
--    token%next => my_symmetries
--
--    my_symmetries => token
--    if (AB_DBG) write(0,*) "AB symmetry: creation OK with id ", token%id
--  end subroutine new_item
--
--  subroutine free_item(token)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    type(symmetry_list), pointer :: token
--
--    type(symmetry_list), pointer :: tmp
--
--    if (.not. associated(token)) then
--       return
--    end if
--
--    call free_symmetry(token%data)
--
--    if (AB_DBG) write(0,*) "AB symmetry: free request on token ", token%id
--    ! We remove token from the list.
--    if (my_symmetries%id == token%id) then
--       my_symmetries => token%next
--    else
--       tmp => my_symmetries
--       do
--          if (.not.associated(tmp)) then
--             return
--          end if
--          if (associated(tmp%next) .and. tmp%next%id == token%id) then
--             exit
--          end if
--          tmp => tmp%next
--       end do
--       tmp%next => token%next
--    end if
--    deallocate(token)
--    if (AB_DBG) write(0,*) "AB symmetry: free done"
--  end subroutine free_item
--
--  subroutine get_item(token, id)
--
--
--    type(symmetry_list), pointer :: token
--    integer, intent(in) :: id
--
--    type(symmetry_list), pointer :: tmp
--
--    if (AB_DBG) write(0,*) "AB symmetry: request list element ", id
--    nullify(token)
--
--    tmp => my_symmetries
--    do
--       if (.not. associated(tmp)) then
--          exit
--       end if
--       if (tmp%id == id) then
--          token => tmp
--          return
--       end if
--       tmp => tmp%next
--    end do
--  end subroutine get_item
--
--  subroutine symmetry_get_from_id(sym, id, errno)
--
--    type(symmetry_type), pointer :: sym
--    integer, intent(in) :: id
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (associated(token)) then
--       sym => token%data
--       if (sym%nSym <= 0) then
--          ! We do the computation of the matrix part.
--          call compute_matrices(sym, errno)
--       end if
--    else
--       errno = AB6_ERROR_OBJ
--       nullify(sym)
--    end if
--  end subroutine symmetry_get_from_id
--
--  subroutine new_symmetry(sym)
--
--
--    type(symmetry_type), intent(out) :: sym
--
--    if (AB_DBG) write(0,*) "AB symmetry: create a new symmetry object."
--    nullify(sym%xRed)
--    nullify(sym%spinAt)
--    nullify(sym%typeAt)
--    sym%tolsym   = tol8
--    sym%auto     = .true.
--    sym%nSym     = 0
--    nullify(sym%sym)
--    nullify(sym%symAfm)
--    nullify(sym%transNon)
--    sym%nBravSym = -1
--    sym%withField   = .false.
--    sym%withJellium = .false.
--    sym%withSpin = 1
--    sym%withSpinOrbit = .false.
--    sym%multiplicity = -1
--    nullify(sym%indexingAtoms)
--    sym%vacuum = 0
--  end subroutine new_symmetry
--
--  subroutine free_symmetry(sym)
--
--
--    type(symmetry_type), intent(inout) :: sym
--
--    if (AB_DBG) write(0,*) "AB symmetry: free a symmetry."
--
--    if (associated(sym%xRed)) deallocate(sym%xRed)
--    if (associated(sym%spinAt)) deallocate(sym%spinAt)
--    if (associated(sym%typeAt)) deallocate(sym%typeAt)
--    if (associated(sym%indexingAtoms)) deallocate(sym%indexingAtoms)
--    if (associated(sym%sym)) deallocate(sym%sym)
--    if (associated(sym%symAfm)) deallocate(sym%symAfm)
--    if (associated(sym%transNon)) deallocate(sym%transNon)
--  end subroutine free_symmetry
--
--
--
--
--
--  subroutine symmetry_new(id)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(out) :: id
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call new symmetry."
--    call new_item(token)
--    id = token%id
--  end subroutine symmetry_new
--
--  subroutine symmetry_free(id)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call free symmetry."
--
--    call get_item(token, id)
--    if (associated(token)) call free_item(token)
--  end subroutine symmetry_free
--
--  subroutine symmetry_set_tolerance(id, tolsym, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    real(dp), intent(in) :: tolsym
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set tolerance."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%tolsym = tolsym
--
--    ! We unset all the computed symmetries
--    token%data%nBravSym = -1
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_tolerance
--
--  subroutine symmetry_set_lattice(id, rprimd, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--  use interfaces_42_geometry
--!End of the abilint section
--
--    integer, intent(in) :: id
--    real(dp), intent(in) :: rprimd(3,3)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--    real(dp) :: ucvol
--    real(dp) :: gmet(3,3)
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set lattice."
--    if (AB_DBG) write(0, "(A,3F12.6,A)") "  (", rprimd(:,1), ")"
--    if (AB_DBG) write(0, "(A,3F12.6,A)") "  (", rprimd(:,2), ")"
--    if (AB_DBG) write(0, "(A,3F12.6,A)") "  (", rprimd(:,3), ")"
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%rprimd = rprimd
--    call metric(gmet, token%data%gprimd, -1, token%data%rmet, rprimd, ucvol)
--
--    ! We unset all the computed symmetries
--    token%data%nBravSym = -1
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_lattice
--
--  subroutine symmetry_set_structure(id, nAtoms, typeAt, xRed, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(in) :: nAtoms
--    integer, intent(in) :: typeAt(nAtoms)
--    real(dp), intent(in) :: xRed(3,nAtoms)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--    integer :: i
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set structure."
--    if (AB_DBG) write(0, "(A,I3,A)") "  ", nAtoms, " atoms"
--    if (AB_DBG) then
--       do i = 1, nAtoms, 1
--          write(0, "(A,3F12.6,I3)") "  ", xRed(:, i), typeAt(i)
--       end do
--    end if
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%nAtoms =  nAtoms
--    allocate(token%data%typeAt(nAtoms))
--    token%data%typeAt = typeAt
--    allocate(token%data%xRed(3, nAtoms))
--    token%data%xRed   = xRed
--
--    ! We unset only the symmetries
--    if (token%data%auto) then
--       token%data%nSym = 0
--    end if
--    if (associated(token%data%indexingAtoms)) deallocate(token%data%indexingAtoms)
--  end subroutine symmetry_set_structure
--
--  subroutine symmetry_set_spin(id, nAtoms, spinAt, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(in) :: nAtoms
--    real(dp), intent(in) :: spinAt(3,nAtoms)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--    integer :: i
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set spin."
--    if (AB_DBG) then
--       do i = 1, nAtoms, 1
--          write(0, "(A,3F12.6)") "  ", spinAt(:, i)
--       end do
--    end if
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--    if (token%data%nAtoms /= nAtoms) then
--       errno = AB6_ERROR_ARG
--       return
--    end if
--
--    token%data%withSpin = 4
--    allocate(token%data%spinAt(3, nAtoms))
--    token%data%spinAt = spinAt
--
--    ! We unset only the symmetries
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_spin
--
--  subroutine symmetry_set_collinear_spin(id, nAtoms, spinAt, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(in) :: nAtoms
--    integer, intent(in) :: spinAt(nAtoms)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--    integer :: i
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set collinear spin."
--    if (AB_DBG) then
--       do i = 1, nAtoms, 1
--          write(0, "(A,I3)") "  ", spinAt(i)
--       end do
--    end if
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--    if (token%data%nAtoms /= nAtoms) then
--       errno = AB6_ERROR_ARG
--       return
--    end if
--
--    token%data%withSpin = 2
--    allocate(token%data%spinAt(1, nAtoms))
--    token%data%spinAt = real(reshape(spinAt, (/ 1, nAtoms /)), dp)
--
--    ! We unset only the symmetries
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_collinear_spin
--
--  subroutine symmetry_set_spin_orbit(id, withSpinOrbit, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    logical, intent(in) :: withSpinOrbit
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set spin orbit."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%withSpinOrbit = withSpinOrbit
--
--    ! We unset only the symmetries
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_spin_orbit
--
--  subroutine symmetry_set_field(id, field, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    real(dp), intent(in) :: field(3)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set field."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%withField = .true.
--    token%data%field = field
--
--    ! We unset all the computed symmetries
--    token%data%nBravSym = -1
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_field
--
--  subroutine symmetry_set_jellium(id, jellium, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    logical, intent(in) :: jellium
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set jellium."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%withJellium = jellium
--
--    ! We unset only the symmetries
--    if (token%data%auto) then
--       token%data%nSym  = 0
--    end if
--  end subroutine symmetry_set_jellium
--
--  subroutine symmetry_set_periodicity(id, periodic, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    logical, intent(in) :: periodic(3)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call set periodicity."
--    if (AB_DBG) write(0, "(A,3L1,A)") "  (", periodic, ")"
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    token%data%vacuum = 0
--    if (.not. periodic(1)) token%data%vacuum(1) = 1
--    if (.not. periodic(2)) token%data%vacuum(2) = 1
--    if (.not. periodic(3)) token%data%vacuum(3) = 1
--  end subroutine symmetry_set_periodicity
--
--
--
--
--
--  subroutine symmetry_get_n_atoms(id, nAtoms, errno)
--    !scalars
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(out) :: errno
--    integer, intent(out) :: nAtoms
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get nAtoms."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    nAtoms = token%data%nAtoms
--  end subroutine symmetry_get_n_atoms
--
--  subroutine compute_bravais(sym)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--  use interfaces_42_geometry
--!End of the abilint section
--
--    type(symmetry_type), intent(inout) :: sym
--
--    integer :: berryopt
--
--    ! We do the computation
--    if (sym%withField) then
--       berryopt = 4
--    else
--       berryopt = 0
--    end if
--    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT symlatt."
--    call symlatt(sym%bravais, AB6_MAX_SYMMETRIES, &
--         & sym%nBravSym, sym%bravSym, sym%rprimd, sym%tolsym)
--    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT OK."
--    if (AB_DBG) write(0, "(A,I3)") "  nSymBrav :", sym%nBravSym
--    if (AB_DBG) write(0, "(A,I3)") "  holohedry:", sym%bravais(1)
--    if (AB_DBG) write(0, "(A,I3)") "  center   :", sym%bravais(2)
--  end subroutine compute_bravais
--
--  subroutine symmetry_get_bravais(id, bravais, holohedry, center, &
--       & nBravSym, bravSym, errno)
--    !scalars
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(out) :: errno
--    integer, intent(out) :: nBravSym, holohedry, center
--    !arrays
--    integer, intent(out) :: bravais(3,3), bravSym(3, 3, AB6_MAX_SYMMETRIES)
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get bravais."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (token%data%nBravSym < 0) then
--       ! We do the computation
--       call compute_bravais(token%data)
--    end if
--    
--    holohedry = token%data%bravais(1)
--    center    = token%data%bravais(2)
--    bravais   = reshape(token%data%bravais(3:11), (/ 3,3 /))
--    nBravSym  = token%data%nBravSym
--    bravSym(:, :, 1:nBravSym) = token%data%bravSym(:, :, 1:nBravSym)
--  end subroutine symmetry_get_bravais
--
--  subroutine compute_matrices(sym, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--  use interfaces_42_geometry
--!End of the abilint section
--
--    type(symmetry_type), intent(inout) :: sym
--    integer, intent(out) :: errno
--
--    integer :: berryopt, jellslab, noncol
--    integer :: use_inversion
--    real(dp), pointer :: spinAt_(:,:)
--    integer  :: sym_(3, 3, AB6_MAX_SYMMETRIES)
--    real(dp) :: transNon_(3, AB6_MAX_SYMMETRIES)
--    integer  :: symAfm_(AB6_MAX_SYMMETRIES)
--
--    errno = AB6_NO_ERROR
--
--    if (sym%nBravSym < 0) then
--       ! We do the computation of the Bravais part.
--       call compute_bravais(sym)
--    end if
--
--    if (sym%withField) then
--       berryopt = 4
--    else
--       berryopt = 0
--    end if
--    if (sym%withJellium) then
--       jellslab = 1
--    else
--       jellslab = 0
--    end if
--    if (sym%withSpin == 4) then
--       noncol = 1
--       spinAt_ => sym%spinAt
--    else if (sym%withSpin == 2) then
--       noncol = 0
--       spinAt_ => sym%spinAt
--    else
--       noncol = 0
--       allocate(spinAt_(3, sym%nAtoms))
--       spinAt_ = 0
--    end if
--    if (sym%withSpinOrbit) then
--       use_inversion = 0
--    else
--       use_inversion = 1
--    end if
--
--    if (sym%nsym == 0) then
--       if (AB_DBG) write(0,*) "AB symmetry: call ABINIT symfind."
--       call symfind(berryopt, sym%field, sym%gprimd, jellslab, AB6_MAX_SYMMETRIES, &
--            & sym%nAtoms, noncol, sym%nBravSym, sym%nSym, sym%bravSym, spinAt_, &
--            & symAfm_, sym_, transNon_, sym%tolsym, sym%typeAt, &
--            & use_inversion, sym%xRed)
--       if (AB_DBG) write(0,*) "AB symmetry: call ABINIT OK."
--       if (AB_DBG) write(0, "(A,I3)") "  nSym:", sym%nSym
--       if (associated(sym%sym)) deallocate(sym%sym)
--       if (associated(sym%symAfm)) deallocate(sym%symAfm)
--       if (associated(sym%transNon)) deallocate(sym%transNon)
--       allocate(sym%sym(3, 3, sym%nSym))
--       sym%sym(:,:,:) = sym_(:,:, 1:sym%nSym)
--       allocate(sym%symAfm(sym%nSym))
--       sym%symAfm(:) = symAfm_(1:sym%nSym)
--       allocate(sym%transNon(3, sym%nSym))
--       sym%transNon(:,:) = transNon_(:, 1:sym%nSym)
--    else if (sym%nsym < 0) then
--       sym%nsym = -sym%nsym
--       sym_(:,:, 1:sym%nSym) = sym%sym(:,:,:)
--       transNon_(:, 1:sym%nSym) = sym%transNon(:,:)
--       symAfm_(1:sym%nSym) = sym%symAfm(:)
--    end if
--
--    if (sym%withSpin == 1) then
--       deallocate(spinAt_)
--    end if
--    
--    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT symanal."
--    call symanal(sym%bravais, 0, sym%genAfm, AB6_MAX_SYMMETRIES, sym%nSym, &
--         & sym%pointGroupMagn, sym%rprimd, sym%spaceGroup, symAfm_, &
--         & sym_, transNon_, sym%tolsym)
--    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT OK."
--    sym%transNon(:,:) = transNon_(:, 1:sym%nSym)
--
--    if (sym%bravais(1) < 0) then
--       sym%multiplicity = 2
--    else
--       sym%multiplicity = 1
--    end if
--    if (AB_DBG) write(0, "(A,I3)") "  multi:", sym%multiplicity
--    if (AB_DBG) write(0, "(A,I3)") "  space:", sym%spaceGroup
--  end subroutine compute_matrices
--
--  subroutine symmetry_get_n_sym(id, nSym, errno)
--    !scalars
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(out) :: errno
--    integer, intent(out) :: nSym
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get nSym."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (token%data%nSym <= 0) then
--       ! We do the computation of the matrix part.
--       call compute_matrices(token%data, errno)
--    end if
--
--    nSym = token%data%nSym
--  end subroutine symmetry_get_n_sym
--
--  subroutine symmetry_set_n_sym(id, nSym, sym, transNon, symAfm, errno)
--    !scalars
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in)  :: id
--    integer, intent(in)  :: nSym
--    integer, intent(in)  :: sym(3, 3, nSym)
--    real(dp), intent(in) :: transNon(3, nSym)
--    integer, intent(in)  :: symAfm(nSym)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get nSym."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (nSym <= 0) then
--       errno = AB6_ERROR_ARG
--       return
--    else
--       allocate(token%data%sym(3, 3, nSym))
--       token%data%sym(:,:,:) = sym(:,:,:)
--       allocate(token%data%symAfm(nSym))
--       token%data%symAfm(:) = symAfm(:)
--       allocate(token%data%transNon(3, nSym))
--       token%data%transNon(:,:) = transNon(:,:)
--
--       token%data%auto = .false.
--       token%data%nsym = -nSym
--    end if
--
--    ! We do the computation of the matrix part.
--    call compute_matrices(token%data, errno)
--  end subroutine symmetry_set_n_sym
--
--  subroutine symmetry_get_matrices(id, nSym, sym, transNon, symAfm, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(out) :: errno
--    integer, intent(out) :: nSym
--    integer, intent(out)  :: sym(3, 3, AB6_MAX_SYMMETRIES)
--    integer, intent(out)  :: symAfm(AB6_MAX_SYMMETRIES)
--    real(dp), intent(out) :: transNon(3, AB6_MAX_SYMMETRIES)
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get matrices."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (token%data%nSym <= 0) then
--       ! We do the computation of the matrix part.
--       call compute_matrices(token%data, errno)
--    end if
--
--    nSym                = token%data%nSym
--    sym(:, :, 1:nSym)   = token%data%sym(:, :,:)
--    symAfm(1:nSym)      = token%data%symAfm(:)
--    transNon(:, 1:nSym) = token%data%transNon(:,:)
--  end subroutine symmetry_get_matrices
--
--  subroutine symmetry_get_matrices_p(id, nSym, sym, transNon, symAfm, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(out) :: errno
--    integer, intent(out) :: nSym
--    integer, pointer  :: sym(:,:,:)
--    integer, pointer  :: symAfm(:)
--    real(dp), pointer :: transNon(:,:)
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get matrices as pointers."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (token%data%nSym <= 0) then
--       ! We do the computation of the matrix part.
--       call compute_matrices(token%data, errno)
--    end if
--
--    nSym     =  token%data%nSym
--    sym      => token%data%sym
--    symAfm   => token%data%symAfm
--    transNon => token%data%transNon
--  end subroutine symmetry_get_matrices_p
--
--  subroutine symmetry_get_multiplicity(id, multiplicity, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in) :: id
--    integer, intent(out) :: multiplicity, errno
--
--    type(symmetry_list), pointer :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get multiplicity."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (token%data%multiplicity < 0) then
--       ! We do the computation of the matrix part.
--       call compute_matrices(token%data, errno)
--    end if
--    multiplicity = token%data%multiplicity
--  end subroutine symmetry_get_multiplicity
--
--  subroutine symmetry_get_group(id, spaceGroup, spaceGroupId, &
--       & pointGroupMagn, genAfm, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--  use interfaces_42_geometry
--!End of the abilint section
--
--    integer, intent(in)            :: id
--    integer, intent(out)           :: errno
--    real(dp), intent(out)          :: genAfm(3)
--    character(len=15), intent(out) :: spaceGroup
--    integer, intent(out)           :: spaceGroupId, pointGroupMagn
--
--    type(symmetry_list), pointer  :: token
--    integer :: sporder
--    character(len=1)  :: brvLattice
--    character(len=15) :: ptintsb,ptschsb,schsb,spgrp
--    character(len=35) :: intsbl
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get group."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (token%data%multiplicity < 0) then
--       ! We do the computation of the matrix part.
--       call compute_matrices(token%data, errno)
--    end if
--
--    if (token%data%multiplicity /= 1) then
--       errno = AB6_ERROR_SYM_NOT_PRIMITIVE
--       return
--    end if
--
--    call spgdata(brvLattice,spgrp,intsbl,ptintsb,ptschsb,&
--         &  schsb,1,token%data%spaceGroup,sporder,1)
--
--    write(spaceGroup, "(3A)") brvLattice, " ", trim(spgrp(1:13))
--    pointGroupMagn = token%data%pointGroupMagn
--    spaceGroupId   = token%data%spaceGroup
--    genAfm         = token%data%genAfm
--  end subroutine symmetry_get_group
--
--  subroutine compute_equivalent_atoms(sym)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--  use interfaces_32_util
--  use interfaces_42_geometry
--!End of the abilint section
--
--    type(symmetry_type), intent(inout) :: sym
--
--    integer, allocatable :: symrec(:,:,:)
--    integer :: isym
--
--    if (.not. associated(sym%indexingAtoms)) &
--         & allocate(sym%indexingAtoms(4, sym%nSym, sym%nAtoms))
--
--    !Get the symmetry matrices in terms of reciprocal basis
--    allocate(symrec(3, 3, sym%nSym))
--    do isym = 1, sym%nSym, 1
--       call mati3inv(sym%sym(:,:,isym), symrec(:,:,isym))
--    end do
--    
--    !Obtain a list of rotated atom labels:
--    call symatm(sym%indexingAtoms, sym%nAtoms, sym%nSym, symrec, &
--         & sym%transNon, sym%tolsym, sym%typeAt, sym%xRed)
--
--    deallocate(symrec)
--  end subroutine compute_equivalent_atoms
--
--  subroutine symmetry_get_equivalent_atom(id, equiv, iAtom, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
--!End of the abilint section
--
--    integer, intent(in)  :: id
--    integer, intent(in)  :: iAtom
--    integer, intent(out) :: equiv(4, AB6_MAX_SYMMETRIES)
--    integer, intent(out) :: errno
--
--    type(symmetry_list), pointer  :: token
--
--    if (AB_DBG) write(0,*) "AB symmetry: call get equivalent."
--
--    errno = AB6_NO_ERROR
--    call get_item(token, id)
--    if (.not. associated(token)) then
--       errno = AB6_ERROR_OBJ
--       return
--    end if
--
--    if (iAtom < 1 .or. iAtom > token%data%nAtoms) then
--       errno = AB6_ERROR_ARG
--       return
--    end if
--
--    if (.not. associated(token%data%indexingAtoms)) then
--       ! We do the computation of the matrix part.
--       call compute_equivalent_atoms(token%data)
--    end if
--
--    equiv(:, 1:token%data%nSym) = token%data%indexingAtoms(:,:,iAtom)
--  end subroutine symmetry_get_equivalent_atom
--
--end module m_ab6_symmetry
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/m_ab7_symmetry.F90 bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/m_ab7_symmetry.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/m_ab7_symmetry.F90	1970-01-01 01:00:00.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/m_ab7_symmetry.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -0,0 +1,1088 @@
-+!* * Fortran90 source file *
-+!*
-+!* Copyright (c) 2008-2010 ABINIT Group (Damien Caliste)
-+!* All rights reserved.
-+!*
-+!* This file is part of the ABINIT software package. For license information,
-+!* please see the COPYING file in the top-level directory of the ABINIT source
-+!* distribution.
-+!*
-+!*
-+
-+module m_ab7_symmetry
-+
-+  use defs_basis
-+
-+  implicit none
-+
-+  private
-+
-+  integer, parameter, public :: AB7_MAX_SYMMETRIES = 384
-+
-+  type, public :: symmetry_type
-+     ! The input characteristics
-+     real(dp) :: tolsym
-+     real(dp) :: rprimd(3,3), gprimd(3,3), rmet(3,3)
-+     integer :: nAtoms
-+     integer, pointer :: typeAt(:)
-+     real(dp), pointer :: xRed(:,:)
-+
-+     logical :: withField
-+     real(dp) :: field(3)
-+
-+     logical :: withJellium
-+
-+     integer :: withSpin
-+     real(dp), pointer :: spinAt(:,:)
-+
-+     logical :: withSpinOrbit
-+
-+     integer :: vacuum(3)
-+
-+     ! The output characteristics
-+     ! The bravais parameters
-+     integer :: nBravSym
-+     integer :: bravais(11), bravSym(3, 3, AB7_MAX_SYMMETRIES)
-+     ! The symmetry matrices
-+     logical  :: auto
-+     integer  :: nSym
-+     integer, pointer  :: sym(:,:,:)
-+     real(dp), pointer :: transNon(:,:)
-+     integer, pointer  :: symAfm(:)
-+     ! Some additional information
-+     integer          :: multiplicity
-+     real(dp)         :: genAfm(3)
-+     integer          :: spaceGroup, pointGroupMagn
-+     integer, pointer :: indexingAtoms(:,:,:)
-+  end type symmetry_type
-+
-+  ! We store here a list of symmetry objects to be able to
-+  ! call several symmetry operations on different objects.
-+  ! The simplest portable way to do it, is to create
-+  ! a list of Fortran structure and to use the list index
-+  ! as an identifier that can be given to the other languages.
-+  type, private :: symmetry_list
-+     integer                       :: id
-+     type(symmetry_list),  pointer :: next
-+     type(symmetry_type)           :: data
-+  end type symmetry_list
-+  type(symmetry_list), pointer :: my_symmetries
-+  integer :: n_symmetries = 0
-+
-+  logical, private, parameter :: AB_DBG = .false.
-+
-+  public :: symmetry_new
-+  public :: symmetry_free
-+  public :: symmetry_set_tolerance
-+  public :: symmetry_set_lattice
-+  public :: symmetry_set_structure
-+  public :: symmetry_set_collinear_spin
-+  public :: symmetry_set_spin
-+  public :: symmetry_set_spin_orbit
-+  public :: symmetry_set_field
-+  public :: symmetry_set_jellium
-+  public :: symmetry_set_periodicity
-+  public :: symmetry_set_n_sym
-+
-+  public :: symmetry_get_from_id
-+  public :: symmetry_get_n_atoms
-+  public :: symmetry_get_n_sym
-+  public :: symmetry_get_multiplicity
-+  public :: symmetry_get_bravais
-+  public :: symmetry_get_matrices
-+  public :: symmetry_get_matrices_p
-+  public :: symmetry_get_group
-+  public :: symmetry_get_equivalent_atom
-+
-+contains
-+
-+  subroutine new_item(token)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    type(symmetry_list), pointer :: token
-+
-+    ! We allocate a new list token and prepend it.
-+    if (AB_DBG) write(0,*) "AB symmetry: create a new token."
-+
-+    ! Init case, very first call.
-+    if (n_symmetries == 0) then
-+       nullify(my_symmetries)
-+    end if
-+
-+    ! Normal treatment.
-+    n_symmetries = n_symmetries + 1
-+
-+    allocate(token)
-+    token%id = n_symmetries
-+    call new_symmetry(token%data)
-+    token%next => my_symmetries
-+
-+    my_symmetries => token
-+    if (AB_DBG) write(0,*) "AB symmetry: creation OK with id ", token%id
-+  end subroutine new_item
-+
-+  subroutine free_item(token)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    type(symmetry_list), pointer :: token
-+
-+    type(symmetry_list), pointer :: tmp
-+
-+    if (.not. associated(token)) then
-+       return
-+    end if
-+
-+    call free_symmetry(token%data)
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: free request on token ", token%id
-+    ! We remove token from the list.
-+    if (my_symmetries%id == token%id) then
-+       my_symmetries => token%next
-+    else
-+       tmp => my_symmetries
-+       do
-+          if (.not.associated(tmp)) then
-+             return
-+          end if
-+          if (associated(tmp%next) .and. tmp%next%id == token%id) then
-+             exit
-+          end if
-+          tmp => tmp%next
-+       end do
-+       tmp%next => token%next
-+    end if
-+    deallocate(token)
-+    if (AB_DBG) write(0,*) "AB symmetry: free done"
-+  end subroutine free_item
-+
-+  subroutine get_item(token, id)
-+
-+
-+    type(symmetry_list), pointer :: token
-+    integer, intent(in) :: id
-+
-+    type(symmetry_list), pointer :: tmp
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: request list element ", id
-+    nullify(token)
-+
-+    tmp => my_symmetries
-+    do
-+       if (.not. associated(tmp)) then
-+          exit
-+       end if
-+       if (tmp%id == id) then
-+          token => tmp
-+          return
-+       end if
-+       tmp => tmp%next
-+    end do
-+  end subroutine get_item
-+
-+  subroutine symmetry_get_from_id(sym, id, errno)
-+
-+    type(symmetry_type), pointer :: sym
-+    integer, intent(in) :: id
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (associated(token)) then
-+       sym => token%data
-+       if (sym%nSym <= 0) then
-+          ! We do the computation of the matrix part.
-+          call compute_matrices(sym, errno)
-+       end if
-+    else
-+       errno = AB7_ERROR_OBJ
-+       nullify(sym)
-+    end if
-+  end subroutine symmetry_get_from_id
-+
-+  subroutine new_symmetry(sym)
-+
-+
-+    type(symmetry_type), intent(out) :: sym
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: create a new symmetry object."
-+    nullify(sym%xRed)
-+    nullify(sym%spinAt)
-+    nullify(sym%typeAt)
-+    sym%tolsym   = tol8
-+    sym%auto     = .true.
-+    sym%nSym     = 0
-+    nullify(sym%sym)
-+    nullify(sym%symAfm)
-+    nullify(sym%transNon)
-+    sym%nBravSym = -1
-+    sym%withField   = .false.
-+    sym%withJellium = .false.
-+    sym%withSpin = 1
-+    sym%withSpinOrbit = .false.
-+    sym%multiplicity = -1
-+    nullify(sym%indexingAtoms)
-+    sym%vacuum = 0
-+  end subroutine new_symmetry
-+
-+  subroutine free_symmetry(sym)
-+
-+
-+    type(symmetry_type), intent(inout) :: sym
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: free a symmetry."
-+
-+    if (associated(sym%xRed)) deallocate(sym%xRed)
-+    if (associated(sym%spinAt)) deallocate(sym%spinAt)
-+    if (associated(sym%typeAt)) deallocate(sym%typeAt)
-+    if (associated(sym%indexingAtoms)) deallocate(sym%indexingAtoms)
-+    if (associated(sym%sym)) deallocate(sym%sym)
-+    if (associated(sym%symAfm)) deallocate(sym%symAfm)
-+    if (associated(sym%transNon)) deallocate(sym%transNon)
-+  end subroutine free_symmetry
-+
-+
-+
-+
-+
-+  subroutine symmetry_new(id)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(out) :: id
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call new symmetry."
-+    call new_item(token)
-+    id = token%id
-+  end subroutine symmetry_new
-+
-+  subroutine symmetry_free(id)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call free symmetry."
-+
-+    call get_item(token, id)
-+    if (associated(token)) call free_item(token)
-+  end subroutine symmetry_free
-+
-+  subroutine symmetry_set_tolerance(id, tolsym, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    real(dp), intent(in) :: tolsym
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set tolerance."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%tolsym = tolsym
-+
-+    ! We unset all the computed symmetries
-+    token%data%nBravSym = -1
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_tolerance
-+
-+  subroutine symmetry_set_lattice(id, rprimd, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+  use interfaces_42_geometry
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    real(dp), intent(in) :: rprimd(3,3)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+    real(dp) :: ucvol
-+    real(dp) :: gmet(3,3)
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set lattice."
-+    if (AB_DBG) write(0, "(A,3F12.6,A)") "  (", rprimd(:,1), ")"
-+    if (AB_DBG) write(0, "(A,3F12.6,A)") "  (", rprimd(:,2), ")"
-+    if (AB_DBG) write(0, "(A,3F12.6,A)") "  (", rprimd(:,3), ")"
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%rprimd = rprimd
-+    call metric(gmet, token%data%gprimd, -1, token%data%rmet, rprimd, ucvol)
-+
-+    ! We unset all the computed symmetries
-+    token%data%nBravSym = -1
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_lattice
-+
-+  subroutine symmetry_set_structure(id, nAtoms, typeAt, xRed, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(in) :: nAtoms
-+    integer, intent(in) :: typeAt(nAtoms)
-+    real(dp), intent(in) :: xRed(3,nAtoms)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+    integer :: i
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set structure."
-+    if (AB_DBG) write(0, "(A,I3,A)") "  ", nAtoms, " atoms"
-+    if (AB_DBG) then
-+       do i = 1, nAtoms, 1
-+          write(0, "(A,3F12.6,I3)") "  ", xRed(:, i), typeAt(i)
-+       end do
-+    end if
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%nAtoms =  nAtoms
-+    allocate(token%data%typeAt(nAtoms))
-+    token%data%typeAt = typeAt
-+    allocate(token%data%xRed(3, nAtoms))
-+    token%data%xRed   = xRed
-+
-+    ! We unset only the symmetries
-+    if (token%data%auto) then
-+       token%data%nSym = 0
-+    end if
-+    if (associated(token%data%indexingAtoms)) deallocate(token%data%indexingAtoms)
-+  end subroutine symmetry_set_structure
-+
-+  subroutine symmetry_set_spin(id, nAtoms, spinAt, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(in) :: nAtoms
-+    real(dp), intent(in) :: spinAt(3,nAtoms)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+    integer :: i
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set spin."
-+    if (AB_DBG) then
-+       do i = 1, nAtoms, 1
-+          write(0, "(A,3F12.6)") "  ", spinAt(:, i)
-+       end do
-+    end if
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+    if (token%data%nAtoms /= nAtoms) then
-+       errno = AB7_ERROR_ARG
-+       return
-+    end if
-+
-+    token%data%withSpin = 4
-+    allocate(token%data%spinAt(3, nAtoms))
-+    token%data%spinAt = spinAt
-+
-+    ! We unset only the symmetries
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_spin
-+
-+  subroutine symmetry_set_collinear_spin(id, nAtoms, spinAt, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(in) :: nAtoms
-+    integer, intent(in) :: spinAt(nAtoms)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+    integer :: i
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set collinear spin."
-+    if (AB_DBG) then
-+       do i = 1, nAtoms, 1
-+          write(0, "(A,I3)") "  ", spinAt(i)
-+       end do
-+    end if
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+    if (token%data%nAtoms /= nAtoms) then
-+       errno = AB7_ERROR_ARG
-+       return
-+    end if
-+
-+    token%data%withSpin = 2
-+    allocate(token%data%spinAt(1, nAtoms))
-+    token%data%spinAt = real(reshape(spinAt, (/ 1, nAtoms /)), dp)
-+
-+    ! We unset only the symmetries
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_collinear_spin
-+
-+  subroutine symmetry_set_spin_orbit(id, withSpinOrbit, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    logical, intent(in) :: withSpinOrbit
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set spin orbit."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%withSpinOrbit = withSpinOrbit
-+
-+    ! We unset only the symmetries
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_spin_orbit
-+
-+  subroutine symmetry_set_field(id, field, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    real(dp), intent(in) :: field(3)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set field."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%withField = .true.
-+    token%data%field = field
-+
-+    ! We unset all the computed symmetries
-+    token%data%nBravSym = -1
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_field
-+
-+  subroutine symmetry_set_jellium(id, jellium, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    logical, intent(in) :: jellium
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set jellium."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%withJellium = jellium
-+
-+    ! We unset only the symmetries
-+    if (token%data%auto) then
-+       token%data%nSym  = 0
-+    end if
-+  end subroutine symmetry_set_jellium
-+
-+  subroutine symmetry_set_periodicity(id, periodic, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    logical, intent(in) :: periodic(3)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call set periodicity."
-+    if (AB_DBG) write(0, "(A,3L1,A)") "  (", periodic, ")"
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    token%data%vacuum = 0
-+    if (.not. periodic(1)) token%data%vacuum(1) = 1
-+    if (.not. periodic(2)) token%data%vacuum(2) = 1
-+    if (.not. periodic(3)) token%data%vacuum(3) = 1
-+  end subroutine symmetry_set_periodicity
-+
-+
-+
-+
-+
-+  subroutine symmetry_get_n_atoms(id, nAtoms, errno)
-+    !scalars
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nAtoms
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get nAtoms."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    nAtoms = token%data%nAtoms
-+  end subroutine symmetry_get_n_atoms
-+
-+  subroutine compute_bravais(sym)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+  use interfaces_42_geometry
-+!End of the abilint section
-+
-+    type(symmetry_type), intent(inout) :: sym
-+
-+    integer :: berryopt
-+
-+    ! We do the computation
-+    if (sym%withField) then
-+       berryopt = 4
-+    else
-+       berryopt = 0
-+    end if
-+    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT symlatt."
-+    call symlatt(sym%bravais, AB7_MAX_SYMMETRIES, &
-+         & sym%nBravSym, sym%bravSym, sym%rprimd, sym%tolsym)
-+    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT OK."
-+    if (AB_DBG) write(0, "(A,I3)") "  nSymBrav :", sym%nBravSym
-+    if (AB_DBG) write(0, "(A,I3)") "  holohedry:", sym%bravais(1)
-+    if (AB_DBG) write(0, "(A,I3)") "  center   :", sym%bravais(2)
-+  end subroutine compute_bravais
-+
-+  subroutine symmetry_get_bravais(id, bravais, holohedry, center, &
-+       & nBravSym, bravSym, errno)
-+    !scalars
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nBravSym, holohedry, center
-+    !arrays
-+    integer, intent(out) :: bravais(3,3), bravSym(3, 3, AB7_MAX_SYMMETRIES)
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get bravais."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (token%data%nBravSym < 0) then
-+       ! We do the computation
-+       call compute_bravais(token%data)
-+    end if
-+    
-+    holohedry = token%data%bravais(1)
-+    center    = token%data%bravais(2)
-+    bravais   = reshape(token%data%bravais(3:11), (/ 3,3 /))
-+    nBravSym  = token%data%nBravSym
-+    bravSym(:, :, 1:nBravSym) = token%data%bravSym(:, :, 1:nBravSym)
-+  end subroutine symmetry_get_bravais
-+
-+  subroutine compute_matrices(sym, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+  use interfaces_42_geometry
-+!End of the abilint section
-+
-+    type(symmetry_type), intent(inout) :: sym
-+    integer, intent(out) :: errno
-+
-+    integer :: berryopt, jellslab, noncol
-+    integer :: use_inversion
-+    real(dp), pointer :: spinAt_(:,:)
-+    integer  :: sym_(3, 3, AB7_MAX_SYMMETRIES)
-+    real(dp) :: transNon_(3, AB7_MAX_SYMMETRIES)
-+    integer  :: symAfm_(AB7_MAX_SYMMETRIES)
-+
-+    errno = AB7_NO_ERROR
-+
-+    if (sym%nBravSym < 0) then
-+       ! We do the computation of the Bravais part.
-+       call compute_bravais(sym)
-+    end if
-+
-+    if (sym%withField) then
-+       berryopt = 4
-+    else
-+       berryopt = 0
-+    end if
-+    if (sym%withJellium) then
-+       jellslab = 1
-+    else
-+       jellslab = 0
-+    end if
-+    if (sym%withSpin == 4) then
-+       noncol = 1
-+       spinAt_ => sym%spinAt
-+    else if (sym%withSpin == 2) then
-+       noncol = 0
-+       spinAt_ => sym%spinAt
-+    else
-+       noncol = 0
-+       allocate(spinAt_(3, sym%nAtoms))
-+       spinAt_ = 0
-+    end if
-+    if (sym%withSpinOrbit) then
-+       use_inversion = 0
-+    else
-+       use_inversion = 1
-+    end if
-+
-+    if (sym%nsym == 0) then
-+       if (AB_DBG) write(0,*) "AB symmetry: call ABINIT symfind."
-+       call symfind(berryopt, sym%field, sym%gprimd, jellslab, AB7_MAX_SYMMETRIES, &
-+            & sym%nAtoms, noncol, sym%nBravSym, sym%nSym, sym%bravSym, spinAt_, &
-+            & symAfm_, sym_, transNon_, sym%tolsym, sym%typeAt, &
-+            & use_inversion, sym%xRed)
-+       if (AB_DBG) write(0,*) "AB symmetry: call ABINIT OK."
-+       if (AB_DBG) write(0, "(A,I3)") "  nSym:", sym%nSym
-+       if (associated(sym%sym)) deallocate(sym%sym)
-+       if (associated(sym%symAfm)) deallocate(sym%symAfm)
-+       if (associated(sym%transNon)) deallocate(sym%transNon)
-+       allocate(sym%sym(3, 3, sym%nSym))
-+       sym%sym(:,:,:) = sym_(:,:, 1:sym%nSym)
-+       allocate(sym%symAfm(sym%nSym))
-+       sym%symAfm(:) = symAfm_(1:sym%nSym)
-+       allocate(sym%transNon(3, sym%nSym))
-+       sym%transNon(:,:) = transNon_(:, 1:sym%nSym)
-+    else if (sym%nsym < 0) then
-+       sym%nsym = -sym%nsym
-+       sym_(:,:, 1:sym%nSym) = sym%sym(:,:,:)
-+       transNon_(:, 1:sym%nSym) = sym%transNon(:,:)
-+       symAfm_(1:sym%nSym) = sym%symAfm(:)
-+    end if
-+
-+    if (sym%withSpin == 1) then
-+       deallocate(spinAt_)
-+    end if
-+    
-+    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT symanal."
-+    call symanal(sym%bravais, 0, sym%genAfm, AB7_MAX_SYMMETRIES, sym%nSym, &
-+         & sym%pointGroupMagn, sym%rprimd, sym%spaceGroup, symAfm_, &
-+         & sym_, transNon_, sym%tolsym)
-+    if (AB_DBG) write(0,*) "AB symmetry: call ABINIT OK."
-+    sym%transNon(:,:) = transNon_(:, 1:sym%nSym)
-+
-+    if (sym%bravais(1) < 0) then
-+       sym%multiplicity = 2
-+    else
-+       sym%multiplicity = 1
-+    end if
-+    if (AB_DBG) write(0, "(A,I3)") "  multi:", sym%multiplicity
-+    if (AB_DBG) write(0, "(A,I3)") "  space:", sym%spaceGroup
-+  end subroutine compute_matrices
-+
-+  subroutine symmetry_get_n_sym(id, nSym, errno)
-+    !scalars
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nSym
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get nSym."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (token%data%nSym <= 0) then
-+       ! We do the computation of the matrix part.
-+       call compute_matrices(token%data, errno)
-+    end if
-+
-+    nSym = token%data%nSym
-+  end subroutine symmetry_get_n_sym
-+
-+  subroutine symmetry_set_n_sym(id, nSym, sym, transNon, symAfm, errno)
-+    !scalars
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in)  :: id
-+    integer, intent(in)  :: nSym
-+    integer, intent(in)  :: sym(3, 3, nSym)
-+    real(dp), intent(in) :: transNon(3, nSym)
-+    integer, intent(in)  :: symAfm(nSym)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get nSym."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (nSym <= 0) then
-+       errno = AB7_ERROR_ARG
-+       return
-+    else
-+       allocate(token%data%sym(3, 3, nSym))
-+       token%data%sym(:,:,:) = sym(:,:,:)
-+       allocate(token%data%symAfm(nSym))
-+       token%data%symAfm(:) = symAfm(:)
-+       allocate(token%data%transNon(3, nSym))
-+       token%data%transNon(:,:) = transNon(:,:)
-+
-+       token%data%auto = .false.
-+       token%data%nsym = -nSym
-+    end if
-+
-+    ! We do the computation of the matrix part.
-+    call compute_matrices(token%data, errno)
-+  end subroutine symmetry_set_n_sym
-+
-+  subroutine symmetry_get_matrices(id, nSym, sym, transNon, symAfm, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nSym
-+    integer, intent(out)  :: sym(3, 3, AB7_MAX_SYMMETRIES)
-+    integer, intent(out)  :: symAfm(AB7_MAX_SYMMETRIES)
-+    real(dp), intent(out) :: transNon(3, AB7_MAX_SYMMETRIES)
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get matrices."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (token%data%nSym <= 0) then
-+       ! We do the computation of the matrix part.
-+       call compute_matrices(token%data, errno)
-+    end if
-+
-+    nSym                = token%data%nSym
-+    sym(:, :, 1:nSym)   = token%data%sym(:, :,:)
-+    symAfm(1:nSym)      = token%data%symAfm(:)
-+    transNon(:, 1:nSym) = token%data%transNon(:,:)
-+  end subroutine symmetry_get_matrices
-+
-+  subroutine symmetry_get_matrices_p(id, nSym, sym, transNon, symAfm, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nSym
-+    integer, pointer  :: sym(:,:,:)
-+    integer, pointer  :: symAfm(:)
-+    real(dp), pointer :: transNon(:,:)
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get matrices as pointers."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (token%data%nSym <= 0) then
-+       ! We do the computation of the matrix part.
-+       call compute_matrices(token%data, errno)
-+    end if
-+
-+    nSym     =  token%data%nSym
-+    sym      => token%data%sym
-+    symAfm   => token%data%symAfm
-+    transNon => token%data%transNon
-+  end subroutine symmetry_get_matrices_p
-+
-+  subroutine symmetry_get_multiplicity(id, multiplicity, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in) :: id
-+    integer, intent(out) :: multiplicity, errno
-+
-+    type(symmetry_list), pointer :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get multiplicity."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (token%data%multiplicity < 0) then
-+       ! We do the computation of the matrix part.
-+       call compute_matrices(token%data, errno)
-+    end if
-+    multiplicity = token%data%multiplicity
-+  end subroutine symmetry_get_multiplicity
-+
-+  subroutine symmetry_get_group(id, spaceGroup, spaceGroupId, &
-+       & pointGroupMagn, genAfm, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+  use interfaces_42_geometry
-+!End of the abilint section
-+
-+    integer, intent(in)            :: id
-+    integer, intent(out)           :: errno
-+    real(dp), intent(out)          :: genAfm(3)
-+    character(len=15), intent(out) :: spaceGroup
-+    integer, intent(out)           :: spaceGroupId, pointGroupMagn
-+
-+    type(symmetry_list), pointer  :: token
-+    integer :: sporder
-+    character(len=1)  :: brvLattice
-+    character(len=15) :: ptintsb,ptschsb,schsb,spgrp
-+    character(len=35) :: intsbl
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get group."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (token%data%multiplicity < 0) then
-+       ! We do the computation of the matrix part.
-+       call compute_matrices(token%data, errno)
-+    end if
-+
-+    if (token%data%multiplicity /= 1) then
-+       errno = AB7_ERROR_SYM_NOT_PRIMITIVE
-+       return
-+    end if
-+
-+    call spgdata(brvLattice,spgrp,intsbl,ptintsb,ptschsb,&
-+         &  schsb,1,token%data%spaceGroup,sporder,1)
-+
-+    write(spaceGroup, "(3A)") brvLattice, " ", trim(spgrp(1:13))
-+    pointGroupMagn = token%data%pointGroupMagn
-+    spaceGroupId   = token%data%spaceGroup
-+    genAfm         = token%data%genAfm
-+  end subroutine symmetry_get_group
-+
-+  subroutine compute_equivalent_atoms(sym)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+  use interfaces_32_util
-+  use interfaces_42_geometry
-+!End of the abilint section
-+
-+    type(symmetry_type), intent(inout) :: sym
-+
-+    integer, allocatable :: symrec(:,:,:)
-+    integer :: isym
-+
-+    if (.not. associated(sym%indexingAtoms)) &
-+         & allocate(sym%indexingAtoms(4, sym%nSym, sym%nAtoms))
-+
-+    !Get the symmetry matrices in terms of reciprocal basis
-+    allocate(symrec(3, 3, sym%nSym))
-+    do isym = 1, sym%nSym, 1
-+       call mati3inv(sym%sym(:,:,isym), symrec(:,:,isym))
-+    end do
-+    
-+    !Obtain a list of rotated atom labels:
-+    call symatm(sym%indexingAtoms, sym%nAtoms, sym%nSym, symrec, &
-+         & sym%transNon, sym%tolsym, sym%typeAt, sym%xRed)
-+
-+    deallocate(symrec)
-+  end subroutine compute_equivalent_atoms
-+
-+  subroutine symmetry_get_equivalent_atom(id, equiv, iAtom, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+!End of the abilint section
-+
-+    integer, intent(in)  :: id
-+    integer, intent(in)  :: iAtom
-+    integer, intent(out) :: equiv(4, AB7_MAX_SYMMETRIES)
-+    integer, intent(out) :: errno
-+
-+    type(symmetry_list), pointer  :: token
-+
-+    if (AB_DBG) write(0,*) "AB symmetry: call get equivalent."
-+
-+    errno = AB7_NO_ERROR
-+    call get_item(token, id)
-+    if (.not. associated(token)) then
-+       errno = AB7_ERROR_OBJ
-+       return
-+    end if
-+
-+    if (iAtom < 1 .or. iAtom > token%data%nAtoms) then
-+       errno = AB7_ERROR_ARG
-+       return
-+    end if
-+
-+    if (.not. associated(token%data%indexingAtoms)) then
-+       ! We do the computation of the matrix part.
-+       call compute_equivalent_atoms(token%data)
-+    end if
-+
-+    equiv(:, 1:token%data%nSym) = token%data%indexingAtoms(:,:,iAtom)
-+  end subroutine symmetry_get_equivalent_atom
-+
-+end module m_ab7_symmetry
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/symfind.F90 bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/symfind.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/42_geometry/symfind.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/42_geometry/symfind.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -49,7 +49,7 @@
- !!  be 0 0 0 each for a symmorphic space group)
- !!
- !! PARENTS
--!!      ingeo,ab6_symmetry_f90
-+!!      ingeo,ab7_symmetry_f90
- !!
- !! CHILDREN
- !!      leave_new,wrtout
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/findminscf.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/findminscf.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/findminscf.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/findminscf.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -92,7 +92,7 @@
- !write(6,*)' choice,lambda_1,lambda_2=',choice,lambda_1,lambda_2
- !ENDDEBUG
- 
-- errid = AB6_NO_ERROR
-+ errid = AB7_NO_ERROR
-  d_lambda=lambda_1-lambda_2
- 
-  if(choice==1) then
-@@ -111,7 +111,7 @@
- &   +0.5_dp*d2edv2_1*(lambda_2-lambda_1)**2
- 
-    if(d2edv2_mid<0.0_dp)then
--      errid = AB6_ERROR_MIXING_INTERNAL
-+      errid = AB7_ERROR_MIXING_INTERNAL
-      write(errmess, '(a,a,a,a,es18.10,a)' ) ch10,&
- &     ' findminscf : WARNING -',ch10,&
- &     '  (scfcge) The second derivative is negative, equal to',d2edv2_mid        ,'.'
-@@ -128,7 +128,7 @@
-    d2edv2_2=d2edv2_1
-    d2edv2_predict=d2edv2_1
-    if(d2edv2_predict<0.0_dp)then
--      errid = AB6_ERROR_MIXING_INTERNAL
-+      errid = AB7_ERROR_MIXING_INTERNAL
-      write(errmess, '(a,a,a,a,es18.10,a,a,a)' ) ch10,&
- &     ' findmin : WARNING -',ch10,&
- &     '  (scfcge) The second derivative is negative, equal to',d2edv2_predict,'.',&
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/m_ab6_mixing.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/m_ab6_mixing.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/m_ab6_mixing.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/m_ab6_mixing.F90	1970-01-01 01:00:00.000000000 +0100
-@@ -1,688 +0,0 @@
--#if defined HAVE_CONFIG_H
--#include "config.h"
--#endif
--  
--  module m_ab6_mixing
--
--    use m_profiling
--    use defs_basis
--
--    implicit none
--
--    private
--
--    integer, parameter, public :: AB6_MIXING_NONE        = 0
--    integer, parameter, public :: AB6_MIXING_EIG         = 1
--    integer, parameter, public :: AB6_MIXING_SIMPLE      = 2
--    integer, parameter, public :: AB6_MIXING_ANDERSON    = 3
--    integer, parameter, public :: AB6_MIXING_ANDERSON_2  = 4
--    integer, parameter, public :: AB6_MIXING_CG_ENERGY   = 5
--    integer, parameter, public :: AB6_MIXING_CG_ENERGY_2 = 6
--    integer, parameter, public :: AB6_MIXING_PULAY       = 7
--
--    integer, parameter, public :: AB6_MIXING_POTENTIAL  = 0
--    integer, parameter, public :: AB6_MIXING_DENSITY    = 1
--
--    integer, parameter, public :: AB6_MIXING_REAL_SPACE     = 1
--    integer, parameter, public :: AB6_MIXING_FOURRIER_SPACE = 2
--
--    type, public :: ab6_mixing_object
--       integer :: iscf
--       integer :: nfft, nspden, kind, space
--
--       logical :: useprec
--       integer :: mffmem
--       character(len = fnlen) :: diskCache
--       integer :: n_index, n_fftgr, n_pulayit, n_pawmix
--       integer, dimension(:), pointer :: i_rhor, i_vtrial, i_vresid, i_vrespc
--       real(dp), dimension(:,:,:), pointer :: f_fftgr, f_atm
--       real(dp), dimension(:,:), pointer :: f_paw
--
--       ! Private
--       integer :: n_atom
--       real(dp), pointer :: xred(:,:), dtn_pc(:,:)
--    end type ab6_mixing_object
--
--    public :: ab6_mixing_new
--    public :: ab6_mixing_deallocate
--
--    public :: ab6_mixing_use_disk_cache
--    public :: ab6_mixing_use_moving_atoms
--    public :: ab6_mixing_copy_current_step
--
--    public :: ab6_mixing_eval_allocate
--    public :: ab6_mixing_eval
--    public :: ab6_mixing_eval_deallocate
--
--  contains
--
--    subroutine init_(mix)
--      implicit none
--
--      type(ab6_mixing_object), intent(out) :: mix
--
--      ! Default values.
--      mix%iscf      = AB6_MIXING_NONE
--      mix%mffmem    = 1
--      mix%n_index   = 0
--      mix%n_fftgr   = 0
--      mix%n_pulayit = 7
--      mix%n_pawmix  = 0
--      mix%n_atom    = 0
--      mix%useprec   = .true.
--
--      call nullify_(mix)
--    end subroutine init_
--
--    subroutine nullify_(mix)
--
--
--      implicit none
--
--      type(ab6_mixing_object), intent(inout) :: mix
--
--      ! Nullify internal pointers.
--      nullify(mix%i_rhor)
--      nullify(mix%i_vtrial)
--      nullify(mix%i_vresid)
--      nullify(mix%i_vrespc)
--      nullify(mix%f_fftgr)
--      nullify(mix%f_atm)
--      nullify(mix%f_paw)
--      nullify(mix%dtn_pc)
--      nullify(mix%xred)
--    end subroutine nullify_
--
--    subroutine ab6_mixing_new(mix, iscf, kind, space, nfft, nspden, &
--         & npawmix, errid, errmess, npulayit, useprec)
--      implicit none
--
--      type(ab6_mixing_object), intent(out) :: mix
--      integer, intent(in) :: iscf, kind, space, nfft, nspden, npawmix
--      integer, intent(out) :: errid
--      character(len = 500), intent(out) :: errmess
--      integer, intent(in), optional :: npulayit
--      logical, intent(in), optional :: useprec
--      
--      integer :: ii, i_stat
--      character(len = *), parameter :: subname = "ab6_mixing_new"
--
--      ! Set default values.
--      call init_(mix)
--
--      ! Argument checkings.
--      if (kind /= AB6_MIXING_POTENTIAL .and. kind /= AB6_MIXING_DENSITY) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_set_arrays: ERROR -',ch10,&
--              & '  Mixing must be done on density or potential only.'
--         return
--      end if
--      if (space /= AB6_MIXING_REAL_SPACE .and. &
--           & space /= AB6_MIXING_FOURRIER_SPACE) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_set_arrays: ERROR -',ch10,&
--              & '  Mixing must be done in real or Fourrier space only.'
--         return
--      end if
--      if (iscf /= AB6_MIXING_EIG .and. iscf /= AB6_MIXING_SIMPLE .and. &
--           & iscf /= AB6_MIXING_ANDERSON .and. &
--           & iscf /= AB6_MIXING_ANDERSON_2 .and. &
--           & iscf /= AB6_MIXING_CG_ENERGY .and. &
--           & iscf /= AB6_MIXING_PULAY .and. &
--           & iscf /= AB6_MIXING_CG_ENERGY_2) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, "(A,I0,A)") "Unknown mixing scheme (", iscf, ")."
--         return
--      end if
--      errid = AB6_NO_ERROR
--
--      ! Mandatory arguments.
--      mix%iscf     = iscf
--      mix%kind     = kind
--      mix%space    = space
--      mix%nfft     = nfft
--      mix%nspden   = nspden
--      mix%n_pawmix = npawmix
--
--      ! Optional arguments.
--      if (present(useprec)) mix%useprec = useprec
--
--      ! Set-up internal dimensions.
--      !These arrays are needed only in the self-consistent case
--      if (iscf == AB6_MIXING_EIG) then
--         !    For iscf==1, five additional vectors are needed
--         !    The index 1 is attributed to the old trial potential,
--         !    The new residual potential, and the new
--         !    preconditioned residual potential receive now a temporary index
--         !    The indices number 4 and 5 are attributed to work vectors.
--         mix%n_fftgr=5 ; mix%n_index=1
--      else if(iscf == AB6_MIXING_SIMPLE) then
--         !    For iscf==2, three additional vectors are needed.
--         !    The index number 1 is attributed to the old trial vector
--         !    The new residual potential, and the new preconditioned
--         !    residual potential, receive now a temporary index.
--         mix%n_fftgr=3 ; mix%n_index=1
--         if (.not. mix%useprec) mix%n_fftgr = 2
--      else if(iscf == AB6_MIXING_ANDERSON) then
--         !    For iscf==3 , four additional vectors are needed.
--         !    The index number 1 is attributed to the old trial vector
--         !    The new residual potential, and the new and old preconditioned
--         !    residual potential, receive now a temporary index.
--         mix%n_fftgr=4 ; mix%n_index=2
--         if (.not. mix%useprec) mix%n_fftgr = 3
--      else if (iscf == AB6_MIXING_ANDERSON_2) then
--         !    For iscf==4 , six additional vectors are needed.
--         !    The indices number 1 and 2 are attributed to two old trial vectors
--         !    The new residual potential, and the new and two old preconditioned
--         !    residual potentials, receive now a temporary index.
--         mix%n_fftgr=6 ; mix%n_index=3
--         if (.not. mix%useprec) mix%n_fftgr = 5
--      else if(iscf == AB6_MIXING_CG_ENERGY .or. iscf == AB6_MIXING_CG_ENERGY_2) then
--         !    For iscf==5 or 6, ten additional vectors are needed
--         !    The index number 1 is attributed to the old trial vector
--         !    The index number 6 is attributed to the search vector
--         !    Other indices are attributed now. Altogether ten vectors
--         mix%n_fftgr=10 ; mix%n_index=3
--      else if(iscf == AB6_MIXING_PULAY) then
--         !    For iscf==7, lot of additional vectors are needed
--         !    The index number 1 is attributed to the old trial vector
--         !    The index number 2 is attributed to the old residual
--         !    The indices number 2 and 3 are attributed to two old precond. residuals
--         !    Other indices are attributed now.
--         if (present(npulayit)) mix%n_pulayit = npulayit
--         mix%n_fftgr=2+2*mix%n_pulayit ; mix%n_index=1+mix%n_pulayit
--         if (.not. mix%useprec) mix%n_fftgr = 1+2*mix%n_pulayit
--      end if ! iscf cases
--
--      ! Allocate new arrays.
--      allocate(mix%i_rhor(mix%n_index), stat = i_stat)
--      call memocc(i_stat, mix%i_rhor, 'mix%i_rhor', subname)
--      allocate(mix%i_vtrial(mix%n_index), stat = i_stat)
--      call memocc(i_stat, mix%i_vtrial, 'mix%i_vtrial', subname)
--      allocate(mix%i_vresid(mix%n_index), stat = i_stat)
--      call memocc(i_stat, mix%i_vresid, 'mix%i_vresid', subname)
--      allocate(mix%i_vrespc(mix%n_index), stat = i_stat)
--      call memocc(i_stat, mix%i_vrespc, 'mix%i_vrespc', subname)
--
--      ! Setup initial values.
--      if (iscf == AB6_MIXING_EIG) then
--         mix%i_vtrial(1)=1 ; mix%i_vresid(1)=2 ; mix%i_vrespc(1)=3
--      else if(iscf == AB6_MIXING_SIMPLE) then
--         mix%i_vtrial(1)=1 ; mix%i_vresid(1)=2 ; mix%i_vrespc(1)=3
--         if (.not. mix%useprec) mix%i_vrespc(1)=2
--      else if(iscf == AB6_MIXING_ANDERSON) then
--         mix%i_vtrial(1)=1 ; mix%i_vresid(1)=2
--         if (mix%useprec) then
--            mix%i_vrespc(1)=3 ; mix%i_vrespc(2)=4
--         else
--            mix%i_vrespc(1)=2 ; mix%i_vrespc(2)=3
--         end if
--      else if (iscf == AB6_MIXING_ANDERSON_2) then
--         mix%i_vtrial(1)=1 ; mix%i_vtrial(2)=2
--         mix%i_vresid(1)=3
--         if (mix%useprec) then
--            mix%i_vrespc(1)=4 ; mix%i_vrespc(2)=5 ; mix%i_vrespc(3)=6
--         else
--            mix%i_vrespc(1)=3 ; mix%i_vrespc(2)=4 ; mix%i_vrespc(3)=5
--         end if
--      else if(iscf == AB6_MIXING_CG_ENERGY .or. &
--           & iscf == AB6_MIXING_CG_ENERGY_2) then
--         mix%n_fftgr=10 ; mix%n_index=3
--         mix%i_vtrial(1)=1
--         mix%i_vresid(1)=2 ; mix%i_vresid(2)=4 ; mix%i_vresid(3)=7
--         mix%i_vrespc(1)=3 ; mix%i_vrespc(2)=5 ; mix%i_vrespc(3)=8
--         mix%i_rhor(2)=9 ; mix%i_rhor(3)=10
--      else if(iscf == AB6_MIXING_PULAY) then
--         do ii=1,mix%n_pulayit
--            mix%i_vtrial(ii)=2*ii-1 ; mix%i_vrespc(ii)=2*ii
--         end do
--         mix%i_vrespc(mix%n_pulayit+1)=2*mix%n_pulayit+1
--         mix%i_vresid(1)=2*mix%n_pulayit+2
--         if (.not. mix%useprec) mix%i_vresid(1)=2
--      end if ! iscf cases
--    end subroutine ab6_mixing_new
--
--    subroutine ab6_mixing_use_disk_cache(mix, fnametmp_fft)
--
--
--      implicit none
--
--
--      type(ab6_mixing_object), intent(inout) :: mix
--      character(len = *), intent(in) :: fnametmp_fft
--      
--      if (len(trim(fnametmp_fft)) > 0) then
--         mix%mffmem = 0
--         write(mix%diskCache, "(A)") fnametmp_fft
--      else
--         mix%mffmem = 1
--      end if
--    end subroutine ab6_mixing_use_disk_cache
--
--    subroutine ab6_mixing_use_moving_atoms(mix, natom, xred, dtn_pc)
--
--
--      type(ab6_mixing_object), intent(inout) :: mix
--      integer, intent(in) :: natom
--      real(dp), intent(in), target :: dtn_pc(3, natom)
--      real(dp), intent(in), target :: xred(3, natom)
--
--      mix%n_atom = natom
--      mix%dtn_pc => dtn_pc
--      mix%xred => xred
--    end subroutine ab6_mixing_use_moving_atoms
--
--    subroutine ab6_mixing_copy_current_step(mix, arr_resid, errid, errmess, &
--         & arr_respc, arr_paw_resid, arr_paw_respc, arr_atm)
--
--
--      type(ab6_mixing_object), intent(inout) :: mix
--      real(dp), intent(in) :: arr_resid(mix%space * mix%nfft, mix%nspden)
--      integer, intent(out) :: errid
--      character(len = 500), intent(out) :: errmess
--      real(dp), intent(in), optional :: arr_respc(mix%space * mix%nfft, mix%nspden)
--      real(dp), intent(in), optional :: arr_paw_resid(mix%n_pawmix), &
--           & arr_paw_respc(mix%n_pawmix)
--      real(dp), intent(in), optional :: arr_atm(3, mix%n_atom)
--
--      if (.not. associated(mix%f_fftgr)) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_set_arr_current_step: ERROR -',ch10,&
--              & '  Working arrays not yet allocated.'
--         return
--      end if
--      errid = AB6_NO_ERROR
--
--      mix%f_fftgr(:,:,mix%i_vresid(1)) = arr_resid(:,:)
--      if (present(arr_respc)) mix%f_fftgr(:,:,mix%i_vrespc(1)) = arr_respc(:,:)
--      if (present(arr_paw_resid)) mix%f_paw(:, mix%i_vresid(1)) = arr_paw_resid(:)
--      if (present(arr_paw_respc)) mix%f_paw(:, mix%i_vrespc(1)) = arr_paw_respc(:)
--      if (present(arr_atm)) mix%f_atm(:,:, mix%i_vresid(1)) = arr_atm(:,:)
--    end subroutine ab6_mixing_copy_current_step
--
--    subroutine ab6_mixing_eval_allocate(mix, istep)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_18_timing
--!End of the abilint section
--
--      implicit none
--
--      type(ab6_mixing_object), intent(inout) :: mix
--      integer, intent(in), optional :: istep
--
--      integer :: istep_, i_stat, usepaw
--      real(dp) :: tsec(2)
--      character(len = *), parameter :: subname = "ab6_mixing_eval_allocate"
--
--      istep_ = 1
--      if (present(istep)) istep_ = istep
--
--      ! Allocate work array.
--      if (.not. associated(mix%f_fftgr)) then
--         allocate(mix%f_fftgr(mix%space * mix%nfft,mix%nspden,mix%n_fftgr), stat = i_stat)
--         call memocc(i_stat, mix%f_fftgr, 'mix%f_fftgr', subname)
--         mix%f_fftgr(:,:,:)=zero
--         if (mix%mffmem == 0 .and. istep_ > 1) then
--            call timab(83,1,tsec)
--            open(unit=tmp_unit,file=mix%diskCache,form='unformatted',status='old')
--            rewind(tmp_unit)
--            read(tmp_unit) mix%f_fftgr
--            if (mix%n_pawmix == 0) close(unit=tmp_unit)
--            call timab(83,2,tsec)
--         end if
--      end if
--      ! Allocate PAW work array.
--      if (.not. associated(mix%f_paw)) then
--         usepaw = 0
--         if (mix%n_pawmix > 0) usepaw = 1
--         allocate(mix%f_paw(max(1,mix%n_pawmix),max(1,mix%n_fftgr * usepaw)), &
--              & stat = i_stat)
--         call memocc(i_stat, mix%f_paw, 'mix%f_paw', subname)
--         if (mix%n_pawmix > 0) then
--            mix%f_paw(:,:)=zero
--            if (mix%mffmem == 0 .and. istep_ > 1) then
--               read(tmp_unit) mix%f_paw
--               close(unit=tmp_unit)
--               call timab(83,2,tsec)
--            end if
--         end if
--      end if
--      ! Allocate atom work array.
--      if (.not. associated(mix%f_atm)) then
--         allocate(mix%f_atm(3,mix%n_atom,mix%n_fftgr), stat = i_stat)
--         call memocc(i_stat, mix%f_atm, 'mix%f_atm', subname)
--      end if
--    end subroutine ab6_mixing_eval_allocate
--
--    subroutine ab6_mixing_eval_deallocate(mix)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_18_timing
--!End of the abilint section
--
--      implicit none
--
--      type(ab6_mixing_object), intent(inout) :: mix
--
--      integer :: i_all, i_stat
--      real(dp) :: tsec(2)
--      character(len = *), parameter :: subname = "ab6_mixing_eval_deallocate"
--
--      ! Save on disk and deallocate work array in case on disk cache only.
--      if (mix%mffmem == 0) then
--         call timab(83,1,tsec)
--         open(unit=tmp_unit,file=mix%diskCache,form='unformatted',status='unknown')
--         rewind(tmp_unit)
--         ! VALGRIND complains not all of f_fftgr_disk is initialized
--         write(tmp_unit) mix%f_fftgr
--         if (mix%n_pawmix > 0) then
--            write(tmp_unit) mix%f_paw
--         end if
--         close(unit=tmp_unit)
--         call timab(83,2,tsec)
--         i_all = -product(shape(mix%f_fftgr))*kind(mix%f_fftgr)
--         deallocate(mix%f_fftgr, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%f_atm', subname)
--         nullify(mix%f_fftgr)
--         if (associated(mix%f_paw)) then
--            i_all = -product(shape(mix%f_paw))*kind(mix%f_paw)
--            deallocate(mix%f_paw, stat = i_stat)
--            call memocc(i_stat, i_all, 'mix%f_paw', subname)
--            nullify(mix%f_paw)
--         end if
--      end if
--    end subroutine ab6_mixing_eval_deallocate
--
--    subroutine ab6_mixing_eval(mix, arr, istep, nfftot, ucvol, &
--         & mpi_comm, mpi_summarize, errid, errmess, &
--         & reset, isecur, pawarr, pawopt, response, etotal, potden, &
--         & resnrm, fnrm, fdot, user_data)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_56_mixing
--!End of the abilint section
--
--      implicit none
--
--      type(ab6_mixing_object), intent(inout) :: mix
--      integer, intent(in) :: istep, nfftot, mpi_comm
--      logical, intent(in) :: mpi_summarize
--      real(dp), intent(in) :: ucvol
--      real(dp), intent(inout) :: arr(mix%space * mix%nfft,mix%nspden)
--      integer, intent(out) :: errid
--      character(len = 500), intent(out) :: errmess
--
--      logical, intent(in), optional :: reset
--      integer, intent(in), optional :: isecur, pawopt, response
--      real(dp), intent(inout), optional, target :: pawarr(mix%n_pawmix)
--      real(dp), intent(in), optional :: etotal
--      real(dp), intent(in), optional :: potden(mix%space * mix%nfft,mix%nspden)
--      real(dp), intent(out), optional :: resnrm
--      optional :: fnrm, fdot
--      integer, intent(in), optional :: user_data(:)
--
--      interface
--         function fdot(x,y,cplex,nfft,nspden,opt_denpot,user_data)
--           integer, intent(in) :: cplex,nfft,nspden,opt_denpot
--           double precision, intent(in) :: x(*), y(*)
--           integer, intent(in) :: user_data(:)
--
--           double precision :: fdot
--         end function fdot
--
--         function fnrm(x,cplex,nfft,nspden,opt_denpot,user_data)
--           integer, intent(in) :: cplex,nfft,nspden,opt_denpot
--           double precision, intent(in) :: x(*)
--           integer, intent(in) :: user_data(:)
--
--           double precision :: fnrm
--         end function fnrm
--      end interface
--
--      character(len = *), parameter :: subname = "ab6_mixing_eval"
--      integer :: moveAtm, dbl_nnsclo, initialized, isecur_
--      integer :: usepaw, pawoptmix_, response_, i_stat, i_all
--      integer :: user_data_(2)
--      real(dp) :: resnrm_
--      real(dp), pointer :: pawarr_(:)
--
--      ! Argument checkings.
--      if (mix%iscf == AB6_MIXING_NONE) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_eval: ERROR -',ch10,&
--              & '  No method has been chosen.'
--         return
--      end if
--      if (mix%n_pawmix > 0 .and. .not. present(pawarr)) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_eval: ERROR -',ch10,&
--              & '  PAW is used, but no pawarr argument provided.'
--         return
--      end if
--      if (mix%n_atom > 0 .and. (.not. associated(mix%dtn_pc) .or. &
--           & .not. associated(mix%xred))) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_eval: ERROR -',ch10,&
--              & '  Moving atoms is used, but no xred or dtn_pc attributes provided.'
--         return
--      end if
--      if ((present(fnrm) .or. present(fdot) .or. present(user_data)) .and. &
--           & .not. (present(fnrm) .and. present(fdot) .and. present(user_data))) then
--         errid = AB6_ERROR_MIXING_ARG
--         write(errmess, '(a,a,a,a)' )ch10,&
--              & ' ab6_mixing_eval: ERROR -',ch10,&
--              & '  Passing optional norm and dot product routines without user_data argument.'
--         return
--      end if
--      errid = AB6_NO_ERROR
--
--      ! Miscellaneous
--      moveAtm = 0
--      if (mix%n_atom > 0) moveAtm = 1
--      initialized = 1
--      if (present(reset)) then
--         if (reset) initialized = 0
--      end if
--      isecur_ = 0
--      if (present(isecur)) isecur_ = isecur
--      usepaw = 0
--      if (mix%n_pawmix > 0) usepaw = 1
--      pawoptmix_ = 0
--      if (present(pawopt)) pawoptmix_ = pawopt
--      response_ = 0
--      if (present(response)) response_ = response
--      if (present(pawarr)) then
--         pawarr_ => pawarr
--      else
--         allocate(pawarr_(1), stat = i_stat)
--         call memocc(i_stat, pawarr_, 'pawarr_', subname)
--      end if
--
--      ! Norm and dot products.
--      if (.not. present(user_data)) then
--         user_data_(1) = 0
--         if (mpi_summarize) user_data_(1) = 1
--         user_data_(2) = mpi_comm
--      end if
--
--      ! Do the mixing.
--      resnrm_ = 0.d0
--      if (mix%iscf == AB6_MIXING_EIG) then
--         !  This routine compute the eigenvalues of the SCF operator
--         call scfeig(istep, mix%space * mix%nfft, mix%nspden, &
--              & mix%f_fftgr(:,:,mix%i_vrespc(1)), arr, &
--              & mix%f_fftgr(:,:,1), mix%f_fftgr(:,:,4:5), errid, errmess)
--      else if (mix%iscf == AB6_MIXING_SIMPLE .or. &
--           & mix%iscf == AB6_MIXING_ANDERSON .or. &
--           & mix%iscf == AB6_MIXING_ANDERSON_2 .or. &
--           & mix%iscf == AB6_MIXING_PULAY) then
--         if (present(user_data)) then
--            call scfopt(mix%space, mix%f_fftgr,mix%f_paw,mix%iscf,istep,&
--                 & mix%i_vrespc,mix%i_vtrial, mix%nfft,mix%n_pawmix,mix%nspden, &
--                 & mix%n_fftgr,mix%n_index,mix%kind,pawoptmix_,usepaw,pawarr_, &
--                 & resnrm_, arr, fnrm, fdot, user_data, errid, errmess)
--         else
--            call scfopt(mix%space, mix%f_fftgr,mix%f_paw,mix%iscf,istep,&
--                 & mix%i_vrespc,mix%i_vtrial, mix%nfft,mix%n_pawmix,mix%nspden, &
--                 & mix%n_fftgr,mix%n_index,mix%kind,pawoptmix_,usepaw,pawarr_, &
--                 & resnrm_, arr, fnrm_default, fdot_default, user_data_, errid, errmess)
--         end if
--         !  Change atomic positions
--         if((istep==1 .or. mix%iscf==AB6_MIXING_SIMPLE) .and. mix%n_atom > 0)then
--            !    GAF: 2009-06-03
--            !    Apparently there are not reason
--            !    to restrict iscf=2 for ionmov=5
--            mix%xred(:,:) = mix%xred(:,:) + mix%dtn_pc(:,:)
--         end if
--      else if (mix%iscf == AB6_MIXING_CG_ENERGY .or. &
--           & mix%iscf == AB6_MIXING_CG_ENERGY_2) then
--         !  Optimize next vtrial using an algorithm based
--         !  on the conjugate gradient minimization of etotal
--         if (.not. present(etotal) .or. .not. present(potden)) then
--            errid = AB6_ERROR_MIXING_ARG
--            write(errmess, '(a,a,a,a)' )ch10,&
--                 & ' ab6_mixing_eval: ERROR -',ch10,&
--                 & '  Arguments etotal or potden are missing for CG on energy methods.'
--            return
--         end if
--         if (mix%n_atom == 0) then
--            allocate(mix%xred(3,0), stat = i_stat)
--            call memocc(i_stat, mix%xred, 'mix%xred', subname)
--            allocate(mix%dtn_pc(3,0), stat = i_stat)
--            call memocc(i_stat, mix%dtn_pc, 'mix%dtn_pc', subname)
--         end if
--         if (present(user_data)) then
--            call scfcge(mix%space,dbl_nnsclo,mix%dtn_pc,etotal,mix%f_atm,&
--                 & mix%f_fftgr,initialized,mix%iscf,isecur_,istep,&
--                 & mix%i_rhor,mix%i_vresid,mix%i_vrespc,moveAtm,&
--                 & mix%n_atom,mix%nfft,nfftot,&
--                 & mix%nspden,mix%n_fftgr,mix%n_index,mix%kind,&
--                 & response_,potden,ucvol,arr,mix%xred, &
--                 & fnrm, fdot, user_data, errid, errmess)
--         else
--            call scfcge(mix%space,dbl_nnsclo,mix%dtn_pc,etotal,mix%f_atm,&
--                 & mix%f_fftgr,initialized,mix%iscf,isecur_,istep,&
--                 & mix%i_rhor,mix%i_vresid,mix%i_vrespc,moveAtm,&
--                 & mix%n_atom,mix%nfft,nfftot,&
--                 & mix%nspden,mix%n_fftgr,mix%n_index,mix%kind,&
--                 & response_,potden,ucvol,arr,mix%xred, fnrm_default, &
--                 & fdotn_default, user_data_, errid, errmess)
--         end if
--         if (mix%n_atom == 0) then
--            i_all = -product(shape(mix%xred))*kind(mix%xred)
--            deallocate(mix%xred, stat = i_stat)
--            call memocc(i_stat, i_all, 'mix%xred', subname)
--            i_all = -product(shape(mix%dtn_pc))*kind(mix%dtn_pc)
--            deallocate(mix%dtn_pc, stat = i_stat)
--            call memocc(i_stat, i_all, 'mix%dtn_pc', subname)
--         end if
--         if (dbl_nnsclo == 1) errid = AB6_ERROR_MIXING_INC_NNSLOOP
--      end if
--      
--      if (present(resnrm)) resnrm = resnrm_
--      if (.not. present(pawarr)) then
--         i_all = -product(shape(pawarr_))*kind(pawarr_)
--         deallocate(pawarr_, stat = i_stat)
--         call memocc(i_stat, i_all, 'pawarr_', subname)
--      end if
--    end subroutine ab6_mixing_eval
--
--    subroutine ab6_mixing_deallocate(mix)
--      implicit none
--
--      type(ab6_mixing_object), intent(inout) :: mix
--
--      integer :: i_all, i_stat
--      character(len = *), parameter :: subname = "ab6_mixing_deallocate"
--
--      if (associated(mix%i_rhor)) then
--         i_all = -product(shape(mix%i_rhor))*kind(mix%i_rhor)
--         deallocate(mix%i_rhor, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%i_rhor', subname)
--      end if
--      if (associated(mix%i_vtrial)) then
--         i_all = -product(shape(mix%i_vtrial))*kind(mix%i_vtrial)
--         deallocate(mix%i_vtrial, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%i_vtrial', subname)
--      end if
--      if (associated(mix%i_vresid)) then
--         i_all = -product(shape(mix%i_vresid))*kind(mix%i_vresid)
--         deallocate(mix%i_vresid, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%i_vresid', subname)
--      end if
--      if (associated(mix%i_vrespc)) then
--         i_all = -product(shape(mix%i_vrespc))*kind(mix%i_vrespc)
--         deallocate(mix%i_vrespc, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%i_vrespc', subname)
--      end if
--      if (associated(mix%f_fftgr)) then
--         i_all = -product(shape(mix%f_fftgr))*kind(mix%f_fftgr)
--         deallocate(mix%f_fftgr, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%f_fftgr', subname)
--      end if
--      if (associated(mix%f_paw)) then
--         i_all = -product(shape(mix%f_paw))*kind(mix%f_paw)
--         deallocate(mix%f_paw, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%f_paw', subname)
--      end if
--      if (associated(mix%f_atm)) then
--         i_all = -product(shape(mix%f_atm))*kind(mix%f_atm)
--         deallocate(mix%f_atm, stat = i_stat)
--         call memocc(i_stat, i_all, 'mix%f_atm', subname)
--      end if
--
--      call nullify_(mix)
--    end subroutine ab6_mixing_deallocate
--
--    function fnrm_default(x,cplex,nfft,nspden,opt_denpot,user_data)
--      integer, intent(in) :: cplex,nfft,nspden,opt_denpot
--      double precision, intent(in) :: x(*)
--      integer, intent(in) :: user_data(:)
--
--      double precision :: fnrm_default
--      real(dp) :: resid_new(1)
--
--      call sqnormm_v(cplex,1,user_data(2),(user_data(1) /= 0),1,&
--           & nfft,resid_new,1,nspden,opt_denpot,x)
--      fnrm_default = resid_new(1)
--    end function fnrm_default
--
--    function fdot_default(x,y,cplex,nfft,nspden,opt_denpot,user_data)
--      integer, intent(in) :: cplex,nfft,nspden,opt_denpot
--      double precision, intent(in) :: x(*), y(*)
--      integer, intent(in) :: user_data(:)
--
--      double precision :: fdot_default
--      real(dp) :: prod_resid(1)
--
--      call dotprodm_v(cplex,1,prod_resid,1,1,user_data(2),(user_data(1) /= 0),1,1,&
--           & nfft,1,1,nspden,opt_denpot,x,y)
--      fdot_default = prod_resid(1)
--    end function fdot_default
--
--    function fdotn_default(x,y,cplex,nfft,nspden,opt_denpot,user_data)
--      integer, intent(in) :: cplex,nfft,nspden,opt_denpot
--      double precision, intent(in) :: x(*), y(*)
--      integer, intent(in) :: user_data(:)
--
--      double precision :: fdotn_default
--      real(dp) :: prod_resid(1,1,1)
--
--      call dotprodm_vn(cplex,1,x,prod_resid,1,1,user_data(2),(user_data(1) /= 0),1,1,&
--           & 1,nfft,1,nspden,y)
--      fdotn_default = prod_resid(1,1,1)
--    end function fdotn_default
--  end module m_ab6_mixing
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/m_ab7_mixing.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/m_ab7_mixing.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/m_ab7_mixing.F90	1970-01-01 01:00:00.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/m_ab7_mixing.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -0,0 +1,688 @@
-+#if defined HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+  
-+  module m_ab7_mixing
-+
-+    use m_profiling
-+    use defs_basis
-+
-+    implicit none
-+
-+    private
-+
-+    integer, parameter, public :: AB7_MIXING_NONE        = 0
-+    integer, parameter, public :: AB7_MIXING_EIG         = 1
-+    integer, parameter, public :: AB7_MIXING_SIMPLE      = 2
-+    integer, parameter, public :: AB7_MIXING_ANDERSON    = 3
-+    integer, parameter, public :: AB7_MIXING_ANDERSON_2  = 4
-+    integer, parameter, public :: AB7_MIXING_CG_ENERGY   = 5
-+    integer, parameter, public :: AB7_MIXING_CG_ENERGY_2 = 6
-+    integer, parameter, public :: AB7_MIXING_PULAY       = 7
-+
-+    integer, parameter, public :: AB7_MIXING_POTENTIAL  = 0
-+    integer, parameter, public :: AB7_MIXING_DENSITY    = 1
-+
-+    integer, parameter, public :: AB7_MIXING_REAL_SPACE     = 1
-+    integer, parameter, public :: AB7_MIXING_FOURRIER_SPACE = 2
-+
-+    type, public :: ab7_mixing_object
-+       integer :: iscf
-+       integer :: nfft, nspden, kind, space
-+
-+       logical :: useprec
-+       integer :: mffmem
-+       character(len = fnlen) :: diskCache
-+       integer :: n_index, n_fftgr, n_pulayit, n_pawmix
-+       integer, dimension(:), pointer :: i_rhor, i_vtrial, i_vresid, i_vrespc
-+       real(dp), dimension(:,:,:), pointer :: f_fftgr, f_atm
-+       real(dp), dimension(:,:), pointer :: f_paw
-+
-+       ! Private
-+       integer :: n_atom
-+       real(dp), pointer :: xred(:,:), dtn_pc(:,:)
-+    end type ab7_mixing_object
-+
-+    public :: ab7_mixing_new
-+    public :: ab7_mixing_deallocate
-+
-+    public :: ab7_mixing_use_disk_cache
-+    public :: ab7_mixing_use_moving_atoms
-+    public :: ab7_mixing_copy_current_step
-+
-+    public :: ab7_mixing_eval_allocate
-+    public :: ab7_mixing_eval
-+    public :: ab7_mixing_eval_deallocate
-+
-+  contains
-+
-+    subroutine init_(mix)
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(out) :: mix
-+
-+      ! Default values.
-+      mix%iscf      = AB7_MIXING_NONE
-+      mix%mffmem    = 1
-+      mix%n_index   = 0
-+      mix%n_fftgr   = 0
-+      mix%n_pulayit = 7
-+      mix%n_pawmix  = 0
-+      mix%n_atom    = 0
-+      mix%useprec   = .true.
-+
-+      call nullify_(mix)
-+    end subroutine init_
-+
-+    subroutine nullify_(mix)
-+
-+
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+
-+      ! Nullify internal pointers.
-+      nullify(mix%i_rhor)
-+      nullify(mix%i_vtrial)
-+      nullify(mix%i_vresid)
-+      nullify(mix%i_vrespc)
-+      nullify(mix%f_fftgr)
-+      nullify(mix%f_atm)
-+      nullify(mix%f_paw)
-+      nullify(mix%dtn_pc)
-+      nullify(mix%xred)
-+    end subroutine nullify_
-+
-+    subroutine ab7_mixing_new(mix, iscf, kind, space, nfft, nspden, &
-+         & npawmix, errid, errmess, npulayit, useprec)
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(out) :: mix
-+      integer, intent(in) :: iscf, kind, space, nfft, nspden, npawmix
-+      integer, intent(out) :: errid
-+      character(len = 500), intent(out) :: errmess
-+      integer, intent(in), optional :: npulayit
-+      logical, intent(in), optional :: useprec
-+      
-+      integer :: ii, i_stat
-+      character(len = *), parameter :: subname = "ab7_mixing_new"
-+
-+      ! Set default values.
-+      call init_(mix)
-+
-+      ! Argument checkings.
-+      if (kind /= AB7_MIXING_POTENTIAL .and. kind /= AB7_MIXING_DENSITY) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_set_arrays: ERROR -',ch10,&
-+              & '  Mixing must be done on density or potential only.'
-+         return
-+      end if
-+      if (space /= AB7_MIXING_REAL_SPACE .and. &
-+           & space /= AB7_MIXING_FOURRIER_SPACE) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_set_arrays: ERROR -',ch10,&
-+              & '  Mixing must be done in real or Fourrier space only.'
-+         return
-+      end if
-+      if (iscf /= AB7_MIXING_EIG .and. iscf /= AB7_MIXING_SIMPLE .and. &
-+           & iscf /= AB7_MIXING_ANDERSON .and. &
-+           & iscf /= AB7_MIXING_ANDERSON_2 .and. &
-+           & iscf /= AB7_MIXING_CG_ENERGY .and. &
-+           & iscf /= AB7_MIXING_PULAY .and. &
-+           & iscf /= AB7_MIXING_CG_ENERGY_2) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, "(A,I0,A)") "Unknown mixing scheme (", iscf, ")."
-+         return
-+      end if
-+      errid = AB7_NO_ERROR
-+
-+      ! Mandatory arguments.
-+      mix%iscf     = iscf
-+      mix%kind     = kind
-+      mix%space    = space
-+      mix%nfft     = nfft
-+      mix%nspden   = nspden
-+      mix%n_pawmix = npawmix
-+
-+      ! Optional arguments.
-+      if (present(useprec)) mix%useprec = useprec
-+
-+      ! Set-up internal dimensions.
-+      !These arrays are needed only in the self-consistent case
-+      if (iscf == AB7_MIXING_EIG) then
-+         !    For iscf==1, five additional vectors are needed
-+         !    The index 1 is attributed to the old trial potential,
-+         !    The new residual potential, and the new
-+         !    preconditioned residual potential receive now a temporary index
-+         !    The indices number 4 and 5 are attributed to work vectors.
-+         mix%n_fftgr=5 ; mix%n_index=1
-+      else if(iscf == AB7_MIXING_SIMPLE) then
-+         !    For iscf==2, three additional vectors are needed.
-+         !    The index number 1 is attributed to the old trial vector
-+         !    The new residual potential, and the new preconditioned
-+         !    residual potential, receive now a temporary index.
-+         mix%n_fftgr=3 ; mix%n_index=1
-+         if (.not. mix%useprec) mix%n_fftgr = 2
-+      else if(iscf == AB7_MIXING_ANDERSON) then
-+         !    For iscf==3 , four additional vectors are needed.
-+         !    The index number 1 is attributed to the old trial vector
-+         !    The new residual potential, and the new and old preconditioned
-+         !    residual potential, receive now a temporary index.
-+         mix%n_fftgr=4 ; mix%n_index=2
-+         if (.not. mix%useprec) mix%n_fftgr = 3
-+      else if (iscf == AB7_MIXING_ANDERSON_2) then
-+         !    For iscf==4 , six additional vectors are needed.
-+         !    The indices number 1 and 2 are attributed to two old trial vectors
-+         !    The new residual potential, and the new and two old preconditioned
-+         !    residual potentials, receive now a temporary index.
-+         mix%n_fftgr=6 ; mix%n_index=3
-+         if (.not. mix%useprec) mix%n_fftgr = 5
-+      else if(iscf == AB7_MIXING_CG_ENERGY .or. iscf == AB7_MIXING_CG_ENERGY_2) then
-+         !    For iscf==5 or 6, ten additional vectors are needed
-+         !    The index number 1 is attributed to the old trial vector
-+         !    The index number 6 is attributed to the search vector
-+         !    Other indices are attributed now. Altogether ten vectors
-+         mix%n_fftgr=10 ; mix%n_index=3
-+      else if(iscf == AB7_MIXING_PULAY) then
-+         !    For iscf==7, lot of additional vectors are needed
-+         !    The index number 1 is attributed to the old trial vector
-+         !    The index number 2 is attributed to the old residual
-+         !    The indices number 2 and 3 are attributed to two old precond. residuals
-+         !    Other indices are attributed now.
-+         if (present(npulayit)) mix%n_pulayit = npulayit
-+         mix%n_fftgr=2+2*mix%n_pulayit ; mix%n_index=1+mix%n_pulayit
-+         if (.not. mix%useprec) mix%n_fftgr = 1+2*mix%n_pulayit
-+      end if ! iscf cases
-+
-+      ! Allocate new arrays.
-+      allocate(mix%i_rhor(mix%n_index), stat = i_stat)
-+      call memocc(i_stat, mix%i_rhor, 'mix%i_rhor', subname)
-+      allocate(mix%i_vtrial(mix%n_index), stat = i_stat)
-+      call memocc(i_stat, mix%i_vtrial, 'mix%i_vtrial', subname)
-+      allocate(mix%i_vresid(mix%n_index), stat = i_stat)
-+      call memocc(i_stat, mix%i_vresid, 'mix%i_vresid', subname)
-+      allocate(mix%i_vrespc(mix%n_index), stat = i_stat)
-+      call memocc(i_stat, mix%i_vrespc, 'mix%i_vrespc', subname)
-+
-+      ! Setup initial values.
-+      if (iscf == AB7_MIXING_EIG) then
-+         mix%i_vtrial(1)=1 ; mix%i_vresid(1)=2 ; mix%i_vrespc(1)=3
-+      else if(iscf == AB7_MIXING_SIMPLE) then
-+         mix%i_vtrial(1)=1 ; mix%i_vresid(1)=2 ; mix%i_vrespc(1)=3
-+         if (.not. mix%useprec) mix%i_vrespc(1)=2
-+      else if(iscf == AB7_MIXING_ANDERSON) then
-+         mix%i_vtrial(1)=1 ; mix%i_vresid(1)=2
-+         if (mix%useprec) then
-+            mix%i_vrespc(1)=3 ; mix%i_vrespc(2)=4
-+         else
-+            mix%i_vrespc(1)=2 ; mix%i_vrespc(2)=3
-+         end if
-+      else if (iscf == AB7_MIXING_ANDERSON_2) then
-+         mix%i_vtrial(1)=1 ; mix%i_vtrial(2)=2
-+         mix%i_vresid(1)=3
-+         if (mix%useprec) then
-+            mix%i_vrespc(1)=4 ; mix%i_vrespc(2)=5 ; mix%i_vrespc(3)=6
-+         else
-+            mix%i_vrespc(1)=3 ; mix%i_vrespc(2)=4 ; mix%i_vrespc(3)=5
-+         end if
-+      else if(iscf == AB7_MIXING_CG_ENERGY .or. &
-+           & iscf == AB7_MIXING_CG_ENERGY_2) then
-+         mix%n_fftgr=10 ; mix%n_index=3
-+         mix%i_vtrial(1)=1
-+         mix%i_vresid(1)=2 ; mix%i_vresid(2)=4 ; mix%i_vresid(3)=7
-+         mix%i_vrespc(1)=3 ; mix%i_vrespc(2)=5 ; mix%i_vrespc(3)=8
-+         mix%i_rhor(2)=9 ; mix%i_rhor(3)=10
-+      else if(iscf == AB7_MIXING_PULAY) then
-+         do ii=1,mix%n_pulayit
-+            mix%i_vtrial(ii)=2*ii-1 ; mix%i_vrespc(ii)=2*ii
-+         end do
-+         mix%i_vrespc(mix%n_pulayit+1)=2*mix%n_pulayit+1
-+         mix%i_vresid(1)=2*mix%n_pulayit+2
-+         if (.not. mix%useprec) mix%i_vresid(1)=2
-+      end if ! iscf cases
-+    end subroutine ab7_mixing_new
-+
-+    subroutine ab7_mixing_use_disk_cache(mix, fnametmp_fft)
-+
-+
-+      implicit none
-+
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+      character(len = *), intent(in) :: fnametmp_fft
-+      
-+      if (len(trim(fnametmp_fft)) > 0) then
-+         mix%mffmem = 0
-+         write(mix%diskCache, "(A)") fnametmp_fft
-+      else
-+         mix%mffmem = 1
-+      end if
-+    end subroutine ab7_mixing_use_disk_cache
-+
-+    subroutine ab7_mixing_use_moving_atoms(mix, natom, xred, dtn_pc)
-+
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+      integer, intent(in) :: natom
-+      real(dp), intent(in), target :: dtn_pc(3, natom)
-+      real(dp), intent(in), target :: xred(3, natom)
-+
-+      mix%n_atom = natom
-+      mix%dtn_pc => dtn_pc
-+      mix%xred => xred
-+    end subroutine ab7_mixing_use_moving_atoms
-+
-+    subroutine ab7_mixing_copy_current_step(mix, arr_resid, errid, errmess, &
-+         & arr_respc, arr_paw_resid, arr_paw_respc, arr_atm)
-+
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+      real(dp), intent(in) :: arr_resid(mix%space * mix%nfft, mix%nspden)
-+      integer, intent(out) :: errid
-+      character(len = 500), intent(out) :: errmess
-+      real(dp), intent(in), optional :: arr_respc(mix%space * mix%nfft, mix%nspden)
-+      real(dp), intent(in), optional :: arr_paw_resid(mix%n_pawmix), &
-+           & arr_paw_respc(mix%n_pawmix)
-+      real(dp), intent(in), optional :: arr_atm(3, mix%n_atom)
-+
-+      if (.not. associated(mix%f_fftgr)) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_set_arr_current_step: ERROR -',ch10,&
-+              & '  Working arrays not yet allocated.'
-+         return
-+      end if
-+      errid = AB7_NO_ERROR
-+
-+      mix%f_fftgr(:,:,mix%i_vresid(1)) = arr_resid(:,:)
-+      if (present(arr_respc)) mix%f_fftgr(:,:,mix%i_vrespc(1)) = arr_respc(:,:)
-+      if (present(arr_paw_resid)) mix%f_paw(:, mix%i_vresid(1)) = arr_paw_resid(:)
-+      if (present(arr_paw_respc)) mix%f_paw(:, mix%i_vrespc(1)) = arr_paw_respc(:)
-+      if (present(arr_atm)) mix%f_atm(:,:, mix%i_vresid(1)) = arr_atm(:,:)
-+    end subroutine ab7_mixing_copy_current_step
-+
-+    subroutine ab7_mixing_eval_allocate(mix, istep)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_18_timing
-+!End of the abilint section
-+
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+      integer, intent(in), optional :: istep
-+
-+      integer :: istep_, i_stat, usepaw
-+      real(dp) :: tsec(2)
-+      character(len = *), parameter :: subname = "ab7_mixing_eval_allocate"
-+
-+      istep_ = 1
-+      if (present(istep)) istep_ = istep
-+
-+      ! Allocate work array.
-+      if (.not. associated(mix%f_fftgr)) then
-+         allocate(mix%f_fftgr(mix%space * mix%nfft,mix%nspden,mix%n_fftgr), stat = i_stat)
-+         call memocc(i_stat, mix%f_fftgr, 'mix%f_fftgr', subname)
-+         mix%f_fftgr(:,:,:)=zero
-+         if (mix%mffmem == 0 .and. istep_ > 1) then
-+            call timab(83,1,tsec)
-+            open(unit=tmp_unit,file=mix%diskCache,form='unformatted',status='old')
-+            rewind(tmp_unit)
-+            read(tmp_unit) mix%f_fftgr
-+            if (mix%n_pawmix == 0) close(unit=tmp_unit)
-+            call timab(83,2,tsec)
-+         end if
-+      end if
-+      ! Allocate PAW work array.
-+      if (.not. associated(mix%f_paw)) then
-+         usepaw = 0
-+         if (mix%n_pawmix > 0) usepaw = 1
-+         allocate(mix%f_paw(max(1,mix%n_pawmix),max(1,mix%n_fftgr * usepaw)), &
-+              & stat = i_stat)
-+         call memocc(i_stat, mix%f_paw, 'mix%f_paw', subname)
-+         if (mix%n_pawmix > 0) then
-+            mix%f_paw(:,:)=zero
-+            if (mix%mffmem == 0 .and. istep_ > 1) then
-+               read(tmp_unit) mix%f_paw
-+               close(unit=tmp_unit)
-+               call timab(83,2,tsec)
-+            end if
-+         end if
-+      end if
-+      ! Allocate atom work array.
-+      if (.not. associated(mix%f_atm)) then
-+         allocate(mix%f_atm(3,mix%n_atom,mix%n_fftgr), stat = i_stat)
-+         call memocc(i_stat, mix%f_atm, 'mix%f_atm', subname)
-+      end if
-+    end subroutine ab7_mixing_eval_allocate
-+
-+    subroutine ab7_mixing_eval_deallocate(mix)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_18_timing
-+!End of the abilint section
-+
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+
-+      integer :: i_all, i_stat
-+      real(dp) :: tsec(2)
-+      character(len = *), parameter :: subname = "ab7_mixing_eval_deallocate"
-+
-+      ! Save on disk and deallocate work array in case on disk cache only.
-+      if (mix%mffmem == 0) then
-+         call timab(83,1,tsec)
-+         open(unit=tmp_unit,file=mix%diskCache,form='unformatted',status='unknown')
-+         rewind(tmp_unit)
-+         ! VALGRIND complains not all of f_fftgr_disk is initialized
-+         write(tmp_unit) mix%f_fftgr
-+         if (mix%n_pawmix > 0) then
-+            write(tmp_unit) mix%f_paw
-+         end if
-+         close(unit=tmp_unit)
-+         call timab(83,2,tsec)
-+         i_all = -product(shape(mix%f_fftgr))*kind(mix%f_fftgr)
-+         deallocate(mix%f_fftgr, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%f_atm', subname)
-+         nullify(mix%f_fftgr)
-+         if (associated(mix%f_paw)) then
-+            i_all = -product(shape(mix%f_paw))*kind(mix%f_paw)
-+            deallocate(mix%f_paw, stat = i_stat)
-+            call memocc(i_stat, i_all, 'mix%f_paw', subname)
-+            nullify(mix%f_paw)
-+         end if
-+      end if
-+    end subroutine ab7_mixing_eval_deallocate
-+
-+    subroutine ab7_mixing_eval(mix, arr, istep, nfftot, ucvol, &
-+         & mpi_comm, mpi_summarize, errid, errmess, &
-+         & reset, isecur, pawarr, pawopt, response, etotal, potden, &
-+         & resnrm, fnrm, fdot, user_data)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_56_mixing
-+!End of the abilint section
-+
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+      integer, intent(in) :: istep, nfftot, mpi_comm
-+      logical, intent(in) :: mpi_summarize
-+      real(dp), intent(in) :: ucvol
-+      real(dp), intent(inout) :: arr(mix%space * mix%nfft,mix%nspden)
-+      integer, intent(out) :: errid
-+      character(len = 500), intent(out) :: errmess
-+
-+      logical, intent(in), optional :: reset
-+      integer, intent(in), optional :: isecur, pawopt, response
-+      real(dp), intent(inout), optional, target :: pawarr(mix%n_pawmix)
-+      real(dp), intent(in), optional :: etotal
-+      real(dp), intent(in), optional :: potden(mix%space * mix%nfft,mix%nspden)
-+      real(dp), intent(out), optional :: resnrm
-+      optional :: fnrm, fdot
-+      integer, intent(in), optional :: user_data(:)
-+
-+      interface
-+         function fdot(x,y,cplex,nfft,nspden,opt_denpot,user_data)
-+           integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-+           double precision, intent(in) :: x(*), y(*)
-+           integer, intent(in) :: user_data(:)
-+
-+           double precision :: fdot
-+         end function fdot
-+
-+         function fnrm(x,cplex,nfft,nspden,opt_denpot,user_data)
-+           integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-+           double precision, intent(in) :: x(*)
-+           integer, intent(in) :: user_data(:)
-+
-+           double precision :: fnrm
-+         end function fnrm
-+      end interface
-+
-+      character(len = *), parameter :: subname = "ab7_mixing_eval"
-+      integer :: moveAtm, dbl_nnsclo, initialized, isecur_
-+      integer :: usepaw, pawoptmix_, response_, i_stat, i_all
-+      integer :: user_data_(2)
-+      real(dp) :: resnrm_
-+      real(dp), pointer :: pawarr_(:)
-+
-+      ! Argument checkings.
-+      if (mix%iscf == AB7_MIXING_NONE) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_eval: ERROR -',ch10,&
-+              & '  No method has been chosen.'
-+         return
-+      end if
-+      if (mix%n_pawmix > 0 .and. .not. present(pawarr)) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_eval: ERROR -',ch10,&
-+              & '  PAW is used, but no pawarr argument provided.'
-+         return
-+      end if
-+      if (mix%n_atom > 0 .and. (.not. associated(mix%dtn_pc) .or. &
-+           & .not. associated(mix%xred))) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_eval: ERROR -',ch10,&
-+              & '  Moving atoms is used, but no xred or dtn_pc attributes provided.'
-+         return
-+      end if
-+      if ((present(fnrm) .or. present(fdot) .or. present(user_data)) .and. &
-+           & .not. (present(fnrm) .and. present(fdot) .and. present(user_data))) then
-+         errid = AB7_ERROR_MIXING_ARG
-+         write(errmess, '(a,a,a,a)' )ch10,&
-+              & ' ab7_mixing_eval: ERROR -',ch10,&
-+              & '  Passing optional norm and dot product routines without user_data argument.'
-+         return
-+      end if
-+      errid = AB7_NO_ERROR
-+
-+      ! Miscellaneous
-+      moveAtm = 0
-+      if (mix%n_atom > 0) moveAtm = 1
-+      initialized = 1
-+      if (present(reset)) then
-+         if (reset) initialized = 0
-+      end if
-+      isecur_ = 0
-+      if (present(isecur)) isecur_ = isecur
-+      usepaw = 0
-+      if (mix%n_pawmix > 0) usepaw = 1
-+      pawoptmix_ = 0
-+      if (present(pawopt)) pawoptmix_ = pawopt
-+      response_ = 0
-+      if (present(response)) response_ = response
-+      if (present(pawarr)) then
-+         pawarr_ => pawarr
-+      else
-+         allocate(pawarr_(1), stat = i_stat)
-+         call memocc(i_stat, pawarr_, 'pawarr_', subname)
-+      end if
-+
-+      ! Norm and dot products.
-+      if (.not. present(user_data)) then
-+         user_data_(1) = 0
-+         if (mpi_summarize) user_data_(1) = 1
-+         user_data_(2) = mpi_comm
-+      end if
-+
-+      ! Do the mixing.
-+      resnrm_ = 0.d0
-+      if (mix%iscf == AB7_MIXING_EIG) then
-+         !  This routine compute the eigenvalues of the SCF operator
-+         call scfeig(istep, mix%space * mix%nfft, mix%nspden, &
-+              & mix%f_fftgr(:,:,mix%i_vrespc(1)), arr, &
-+              & mix%f_fftgr(:,:,1), mix%f_fftgr(:,:,4:5), errid, errmess)
-+      else if (mix%iscf == AB7_MIXING_SIMPLE .or. &
-+           & mix%iscf == AB7_MIXING_ANDERSON .or. &
-+           & mix%iscf == AB7_MIXING_ANDERSON_2 .or. &
-+           & mix%iscf == AB7_MIXING_PULAY) then
-+         if (present(user_data)) then
-+            call scfopt(mix%space, mix%f_fftgr,mix%f_paw,mix%iscf,istep,&
-+                 & mix%i_vrespc,mix%i_vtrial, mix%nfft,mix%n_pawmix,mix%nspden, &
-+                 & mix%n_fftgr,mix%n_index,mix%kind,pawoptmix_,usepaw,pawarr_, &
-+                 & resnrm_, arr, fnrm, fdot, user_data, errid, errmess)
-+         else
-+            call scfopt(mix%space, mix%f_fftgr,mix%f_paw,mix%iscf,istep,&
-+                 & mix%i_vrespc,mix%i_vtrial, mix%nfft,mix%n_pawmix,mix%nspden, &
-+                 & mix%n_fftgr,mix%n_index,mix%kind,pawoptmix_,usepaw,pawarr_, &
-+                 & resnrm_, arr, fnrm_default, fdot_default, user_data_, errid, errmess)
-+         end if
-+         !  Change atomic positions
-+         if((istep==1 .or. mix%iscf==AB7_MIXING_SIMPLE) .and. mix%n_atom > 0)then
-+            !    GAF: 2009-06-03
-+            !    Apparently there are not reason
-+            !    to restrict iscf=2 for ionmov=5
-+            mix%xred(:,:) = mix%xred(:,:) + mix%dtn_pc(:,:)
-+         end if
-+      else if (mix%iscf == AB7_MIXING_CG_ENERGY .or. &
-+           & mix%iscf == AB7_MIXING_CG_ENERGY_2) then
-+         !  Optimize next vtrial using an algorithm based
-+         !  on the conjugate gradient minimization of etotal
-+         if (.not. present(etotal) .or. .not. present(potden)) then
-+            errid = AB7_ERROR_MIXING_ARG
-+            write(errmess, '(a,a,a,a)' )ch10,&
-+                 & ' ab7_mixing_eval: ERROR -',ch10,&
-+                 & '  Arguments etotal or potden are missing for CG on energy methods.'
-+            return
-+         end if
-+         if (mix%n_atom == 0) then
-+            allocate(mix%xred(3,0), stat = i_stat)
-+            call memocc(i_stat, mix%xred, 'mix%xred', subname)
-+            allocate(mix%dtn_pc(3,0), stat = i_stat)
-+            call memocc(i_stat, mix%dtn_pc, 'mix%dtn_pc', subname)
-+         end if
-+         if (present(user_data)) then
-+            call scfcge(mix%space,dbl_nnsclo,mix%dtn_pc,etotal,mix%f_atm,&
-+                 & mix%f_fftgr,initialized,mix%iscf,isecur_,istep,&
-+                 & mix%i_rhor,mix%i_vresid,mix%i_vrespc,moveAtm,&
-+                 & mix%n_atom,mix%nfft,nfftot,&
-+                 & mix%nspden,mix%n_fftgr,mix%n_index,mix%kind,&
-+                 & response_,potden,ucvol,arr,mix%xred, &
-+                 & fnrm, fdot, user_data, errid, errmess)
-+         else
-+            call scfcge(mix%space,dbl_nnsclo,mix%dtn_pc,etotal,mix%f_atm,&
-+                 & mix%f_fftgr,initialized,mix%iscf,isecur_,istep,&
-+                 & mix%i_rhor,mix%i_vresid,mix%i_vrespc,moveAtm,&
-+                 & mix%n_atom,mix%nfft,nfftot,&
-+                 & mix%nspden,mix%n_fftgr,mix%n_index,mix%kind,&
-+                 & response_,potden,ucvol,arr,mix%xred, fnrm_default, &
-+                 & fdotn_default, user_data_, errid, errmess)
-+         end if
-+         if (mix%n_atom == 0) then
-+            i_all = -product(shape(mix%xred))*kind(mix%xred)
-+            deallocate(mix%xred, stat = i_stat)
-+            call memocc(i_stat, i_all, 'mix%xred', subname)
-+            i_all = -product(shape(mix%dtn_pc))*kind(mix%dtn_pc)
-+            deallocate(mix%dtn_pc, stat = i_stat)
-+            call memocc(i_stat, i_all, 'mix%dtn_pc', subname)
-+         end if
-+         if (dbl_nnsclo == 1) errid = AB7_ERROR_MIXING_INC_NNSLOOP
-+      end if
-+      
-+      if (present(resnrm)) resnrm = resnrm_
-+      if (.not. present(pawarr)) then
-+         i_all = -product(shape(pawarr_))*kind(pawarr_)
-+         deallocate(pawarr_, stat = i_stat)
-+         call memocc(i_stat, i_all, 'pawarr_', subname)
-+      end if
-+    end subroutine ab7_mixing_eval
-+
-+    subroutine ab7_mixing_deallocate(mix)
-+      implicit none
-+
-+      type(ab7_mixing_object), intent(inout) :: mix
-+
-+      integer :: i_all, i_stat
-+      character(len = *), parameter :: subname = "ab7_mixing_deallocate"
-+
-+      if (associated(mix%i_rhor)) then
-+         i_all = -product(shape(mix%i_rhor))*kind(mix%i_rhor)
-+         deallocate(mix%i_rhor, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%i_rhor', subname)
-+      end if
-+      if (associated(mix%i_vtrial)) then
-+         i_all = -product(shape(mix%i_vtrial))*kind(mix%i_vtrial)
-+         deallocate(mix%i_vtrial, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%i_vtrial', subname)
-+      end if
-+      if (associated(mix%i_vresid)) then
-+         i_all = -product(shape(mix%i_vresid))*kind(mix%i_vresid)
-+         deallocate(mix%i_vresid, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%i_vresid', subname)
-+      end if
-+      if (associated(mix%i_vrespc)) then
-+         i_all = -product(shape(mix%i_vrespc))*kind(mix%i_vrespc)
-+         deallocate(mix%i_vrespc, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%i_vrespc', subname)
-+      end if
-+      if (associated(mix%f_fftgr)) then
-+         i_all = -product(shape(mix%f_fftgr))*kind(mix%f_fftgr)
-+         deallocate(mix%f_fftgr, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%f_fftgr', subname)
-+      end if
-+      if (associated(mix%f_paw)) then
-+         i_all = -product(shape(mix%f_paw))*kind(mix%f_paw)
-+         deallocate(mix%f_paw, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%f_paw', subname)
-+      end if
-+      if (associated(mix%f_atm)) then
-+         i_all = -product(shape(mix%f_atm))*kind(mix%f_atm)
-+         deallocate(mix%f_atm, stat = i_stat)
-+         call memocc(i_stat, i_all, 'mix%f_atm', subname)
-+      end if
-+
-+      call nullify_(mix)
-+    end subroutine ab7_mixing_deallocate
-+
-+    function fnrm_default(x,cplex,nfft,nspden,opt_denpot,user_data)
-+      integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-+      double precision, intent(in) :: x(*)
-+      integer, intent(in) :: user_data(:)
-+
-+      double precision :: fnrm_default
-+      real(dp) :: resid_new(1)
-+
-+      call sqnormm_v(cplex,1,user_data(2),(user_data(1) /= 0),1,&
-+           & nfft,resid_new,1,nspden,opt_denpot,x)
-+      fnrm_default = resid_new(1)
-+    end function fnrm_default
-+
-+    function fdot_default(x,y,cplex,nfft,nspden,opt_denpot,user_data)
-+      integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-+      double precision, intent(in) :: x(*), y(*)
-+      integer, intent(in) :: user_data(:)
-+
-+      double precision :: fdot_default
-+      real(dp) :: prod_resid(1)
-+
-+      call dotprodm_v(cplex,1,prod_resid,1,1,user_data(2),(user_data(1) /= 0),1,1,&
-+           & nfft,1,1,nspden,opt_denpot,x,y)
-+      fdot_default = prod_resid(1)
-+    end function fdot_default
-+
-+    function fdotn_default(x,y,cplex,nfft,nspden,opt_denpot,user_data)
-+      integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-+      double precision, intent(in) :: x(*), y(*)
-+      integer, intent(in) :: user_data(:)
-+
-+      double precision :: fdotn_default
-+      real(dp) :: prod_resid(1,1,1)
-+
-+      call dotprodm_vn(cplex,1,x,prod_resid,1,1,user_data(2),(user_data(1) /= 0),1,1,&
-+           & 1,nfft,1,nspden,y)
-+      fdotn_default = prod_resid(1,1,1)
-+    end function fdotn_default
-+  end module m_ab7_mixing
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/scfcge.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/scfcge.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/scfcge.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/scfcge.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -182,7 +182,7 @@
- !DEBUG
- !write(6,*)' scfcge : enter '
- !ENDDEBUG
-- errid = AB6_NO_ERROR
-+ errid = AB7_NO_ERROR
-  dbl_nnsclo = 0
- 
- !reduction gives the level of reduction of the error in
-@@ -318,7 +318,7 @@
- &     d2edv2_new,d2edv2_old,d2edv2_predict,&
- &     etotal,etotal_old,etotal_predict,&
- &     lambda_new,lambda_old,lambda_predict,errid_,message)
--     if (errid_ /= AB6_NO_ERROR) then
-+     if (errid_ /= AB7_NO_ERROR) then
-         call wrtout(std_out,message,'COLL')
-      end if
- 
-@@ -388,7 +388,7 @@
- &   (abs(lambda_predict)<0.005_dp*lambda_adapt .and. iscf==6).or.  &
- &   ilinmin==mlinmin                                      )     )then
-      if(number_of_restart>12)then
--        errid = AB6_ERROR_MIXING_CONVERGENCE
-+        errid = AB7_ERROR_MIXING_CONVERGENCE
-         write(errmess, '(a,a,a,a,a,i3,a,a,a,a,a)' ) ch10,&
- &       ' scfcge : ERROR -',ch10,&
- &       '  Potential-based CG line minimization not',&
-@@ -572,7 +572,7 @@
- &     d2edv2_new,d2edv2_old,d2edv2_predict,&
- &     etotal,etotal_old,etotal_predict,&
- &     lambda_new,lambda_old,lambda_predict,errid_,message)
--     if (errid_ /= AB6_NO_ERROR) then
-+     if (errid_ /= AB7_NO_ERROR) then
-         call wrtout(std_out,message,'COLL')
-      end if
-      lambda_predict2=0.0_dp
-@@ -836,7 +836,7 @@
- !  End of choice between initialisation or more developed
- !  parts of the CG algorithm
-  else
--    errid = AB6_ERROR_MIXING_ARG
-+    errid = AB7_ERROR_MIXING_ARG
-    write(errmess, '(a,a,a,a)' ) ch10,&
- &   ' scfcge : BUG ',ch10,&
- &   '  You should not be here ! '
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/scfeig.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/scfeig.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/scfeig.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/scfeig.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -71,10 +71,10 @@
- 
- ! *************************************************************************
-  
-- errid = AB6_NO_ERROR
-+ errid = AB7_NO_ERROR
- 
-  if(nspden==4)then
--    errid = AB6_ERROR_MIXING_ARG
-+    errid = AB7_ERROR_MIXING_ARG
-     write(errmess, *) ' scfeig : does not work yet for nspden=4'
-     return
-  end if
-@@ -103,7 +103,7 @@
- &   ' scfeig : initial PC_residual square =',resid_old
-    call wrtout(std_out,message,'COLL')
-    if(resid_old>1.0d-8)then
--      errid = AB6_ERROR_MIXING_ARG
-+      errid = AB7_ERROR_MIXING_ARG
-       write(errmess,'(a,a,a,a,a,a,a,a,a,a)') ch10,&
- &     ' scfeig : ERROR -',ch10,&
- &     '  This value is not good enough to allow',ch10,&
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/scfopt.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/scfopt.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_mixing/scfopt.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_mixing/scfopt.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -136,7 +136,7 @@
- !DEBUG
- !write(6,*)' scfopt : enter ; istep,iscf ',istep,iscf
- !ENDDEBUG
-- errid = AB6_NO_ERROR
-+ errid = AB7_NO_ERROR
- 
-  i_vstore=i_vtrial(1)
-  if (iscf==4) i_vstore=i_vtrial(2)
-@@ -322,7 +322,7 @@
-    call wrtout(std_out,message,'COLL')
- 
-    if (npulay>npulaymax) then
--      errid = AB6_ERROR_MIXING_CONVERGENCE
-+      errid = AB7_ERROR_MIXING_CONVERGENCE
-       write(errmess, '(4a)' ) ch10,&
- &     ' scfopt : ERROR - ',ch10,&
- &     '  Too much iterations required for Pulay algorithm (<50) !'
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_recipspace/m_ab6_kpoints.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_recipspace/m_ab6_kpoints.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_recipspace/m_ab6_kpoints.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_recipspace/m_ab6_kpoints.F90	1970-01-01 01:00:00.000000000 +0100
-@@ -1,281 +0,0 @@
--!* * Fortran90 source file *
--!*
--!* Copyright (C) 2008-2011 ABINIT Group (Damien Caliste)
--!* All rights reserved.
--!*
--!* This file is part of the ABINIT software package. For license information,
--!* please see the COPYING file in the top-level directory of the ABINIT source
--!* distribution.
--!*
--!*
--
--#if defined HAVE_CONFIG_H
--#include "config.inc"
--#endif
--
--module m_ab6_kpoints
--
--  use defs_basis
--  use m_ab6_symmetry
--
--  implicit none
--
--  private
--
--  logical, private, parameter :: AB_DBG = .false.
--
--  public :: kpoints_get_irreductible_zone
--
--  public :: kpoints_get_mp_k_grid
--  public :: kpoints_get_auto_k_grid
--
--  public :: kpoints_binding_mp_k_1
--  public :: kpoints_binding_mp_k_2
--  public :: kpoints_binding_auto_k_1
--  public :: kpoints_binding_auto_k_2
--
--contains
--
--  subroutine kpoints_get_irreductible_zone(irrzon, phnons, &
--       & n1, n2, n3, nsppol, nspden, symid, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_56_recipspace
--!End of the abilint section
--
--    integer, intent(in)   :: symid
--    integer, intent(in)   :: n1, n2, n3, nsppol, nspden
--    integer, intent(out)  :: irrzon(n1*n2*n3,2,(nspden/nsppol)-3*(nspden/4))
--    real(dp), intent(out) :: phnons(2,n1*n2*n3,(nspden/nsppol)-3*(nspden/4))
--    integer, intent(out)  :: errno
--
--    type(symmetry_type), pointer  :: sym
--
--    if (AB_DBG) write(std_err,*) "AB kpoints: call get irreductible zone."
--
--    errno = AB6_NO_ERROR
--    call symmetry_get_from_id(sym, symid, errno)
--    if (errno /= AB6_NO_ERROR) return
--
--    if (sym%withSpin /= nspden) then
--       errno = AB6_ERROR_ARG
--       return
--    end if
--
--    call irrzg(irrzon, nspden, nsppol, sym%nSym, n1, n2, n3, phnons, &
--         & sym%symAfm, sym%sym, sym%transNon)
--  end subroutine kpoints_get_irreductible_zone
--
--
--
--  subroutine kpoints_binding_mp_k_1(symid, nkpt, ngkpt, &
--       & kptrlatt, kptrlen, nshiftk, shiftk, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_56_recipspace
--!End of the abilint section
--
--    integer, intent(in)  :: symid
--    integer, intent(out) :: errno
--    integer, intent(in) :: ngkpt(3)
--    integer, intent(inout) :: nshiftk
--    real(dp), intent(inout) :: shiftk(3, 8)
--    real(dp), intent(out) :: kptrlen
--    integer, intent(out) :: kptrlatt(3,3)
--    integer, intent(out) :: nkpt
--
--    type(symmetry_type), pointer  :: sym
--    real(dp) :: kpt(3,1), wkpt(1)
--
--    if (AB_DBG) write(std_err,*) "AB symmetry: call get k grid1."
--
--    errno = AB6_NO_ERROR
--    call symmetry_get_from_id(sym, symid, errno)
--    if (errno /= AB6_NO_ERROR) return
--
--    ! First, compute the number of kpoints
--    kptrlatt(:,:) = 0
--    kptrlatt(1,1) = ngkpt(1)
--    kptrlatt(2,2) = ngkpt(2)
--    kptrlatt(3,3) = ngkpt(3)
--    kptrlen = 20.
--
--    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
--         & AB6_MAX_SYMMETRIES, 0, nkpt, nshiftk, sym%nSym, &
--         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
--         & sym%vacuum, wkpt)
--  end subroutine kpoints_binding_mp_k_1
--
--  subroutine kpoints_binding_mp_k_2(symid, nkpt, kpt, wkpt, &
--       & kptrlatt, kptrlen, nshiftk, shiftk, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_56_recipspace
--!End of the abilint section
--
--    integer, intent(in)  :: symid
--    integer, intent(out) :: errno
--    integer, intent(inout) :: nshiftk
--    real(dp), intent(inout) :: shiftk(3, 8)
--    integer, intent(in) :: nkpt
--    real(dp), intent(out) :: kpt(3,nkpt), wkpt(nkpt)
--    real(dp), intent(inout) :: kptrlen
--    integer, intent(inout) :: kptrlatt(3,3)
--
--    type(symmetry_type), pointer  :: sym
--    integer :: nkpt_
--
--    if (AB_DBG) write(std_err,*) "AB symmetry: call get k grid2."
--
--    errno = AB6_NO_ERROR
--    call symmetry_get_from_id(sym, symid, errno)
--    if (errno /= AB6_NO_ERROR) return
--
--    ! Then, we call it again to get the actual values for the k points.
--    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
--         & AB6_MAX_SYMMETRIES, nkpt, nkpt_, nshiftk, sym%nSym, &
--         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
--         & sym%vacuum, wkpt)
--  end subroutine kpoints_binding_mp_k_2
--
--
--  subroutine kpoints_get_mp_k_grid(symid, nkpt, kpt, wkpt, &
--       & ngkpt, nshiftk, shiftk, errno)
--
--    integer, intent(in)  :: symid
--    integer, intent(out) :: errno
--    integer, intent(in) :: ngkpt(3)
--    integer, intent(in) :: nshiftk
--    real(dp), intent(in) :: shiftk(3, nshiftk)
--    integer, intent(out) :: nkpt
--    real(dp), pointer :: kpt(:,:), wkpt(:)
--
--    real(dp) :: kptrlen
--    integer :: kptrlatt(3,3)
--    integer :: nshiftk_
--    real(dp) :: shiftk_(3, 8)
--
--    if (AB_DBG) write(std_err,*) "AB symmetry: call get k grid."
--
--    nshiftk_ = nshiftk
--    shiftk_(:,1:nshiftk_) = shiftk(:,:)
--
--    call kpoints_binding_mp_k_1(symid, nkpt, ngkpt, kptrlatt, kptrlen, &
--         & nshiftk_, shiftk_, errno)
--    if (errno /= AB6_NO_ERROR) return
--    allocate(kpt(3, nkpt))
--    allocate(wkpt(nkpt))
--    call kpoints_binding_mp_k_2(symid, nkpt, kpt, wkpt, &
--       & kptrlatt, kptrlen, nshiftk_, shiftk_, errno)
--  end subroutine kpoints_get_mp_k_grid
--
--
--
--  subroutine kpoints_binding_auto_k_1(symid, nkpt, kptrlatt, kptrlen, &
--       & nshiftk, shiftk, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_56_recipspace
--!End of the abilint section
--
--    integer, intent(in)  :: symid
--    integer, intent(out) :: errno
--    integer, intent(out) :: nkpt
--    real(dp), intent(inout) :: kptrlen
--    integer, intent(out) :: nshiftk
--    real(dp), intent(out) :: shiftk(3, 8)
--    integer, intent(out) :: kptrlatt(3,3)
--
--    type(symmetry_type), pointer  :: sym
--    real(dp), allocatable :: kpt(:,:), wkpt(:)
--
--    if (AB_DBG) write(std_err,*) "AB symmetry: call get auto k grid1."
--
--    errno = AB6_NO_ERROR
--    call symmetry_get_from_id(sym, symid, errno)
--    if (errno /= AB6_NO_ERROR) return
--
--    !  The parameters of the k lattice are not known, compute
--    !  kptrlatt, nshiftk, shiftk.
--    call testkgrid(sym%bravais,6,kptrlatt,kptrlen,&
--         & AB6_MAX_SYMMETRIES,nshiftk,sym%nSym,0,sym%rprimd,&
--         & shiftk,sym%symAfm,sym%sym,sym%vacuum)
--    if (AB_DBG) write(std_err,*) "AB symmetry: testkgrid -> kptrlatt=", kptrlatt
--
--    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
--         & AB6_MAX_SYMMETRIES, 0, nkpt, nshiftk, sym%nSym, &
--         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
--         & sym%vacuum, wkpt)
--    if (AB_DBG) write(std_err,*) "AB symmetry: getkgrid -> nkpt=", nkpt
--  end subroutine kpoints_binding_auto_k_1
--
--
--  subroutine kpoints_binding_auto_k_2(symid, nkpt, kpt, wkpt, kptrlatt, kptrlen, &
--       & nshiftk, shiftk, errno)
--
--
--!This section has been created automatically by the script Abilint (TD).
--!Do not modify the following lines by hand.
-- use interfaces_56_recipspace
--!End of the abilint section
--
--    integer, intent(in)  :: symid
--    integer, intent(out) :: errno
--    integer, intent(in) :: nkpt
--    real(dp), intent(out) :: kpt(3,nkpt), wkpt(nkpt)
--    real(dp), intent(inout) :: kptrlen
--    integer, intent(inout) :: nshiftk
--    real(dp), intent(inout) :: shiftk(3, 8)
--    integer, intent(inout) :: kptrlatt(3,3)
--
--    type(symmetry_type), pointer  :: sym
--    integer :: nkpt_
--
--    if (AB_DBG) write(std_err,*) "AB symmetry: call get auto k grid2."
--
--    errno = AB6_NO_ERROR
--    call symmetry_get_from_id(sym, symid, errno)
--    if (errno /= AB6_NO_ERROR) return
--
--    ! Then, we call it again to get the actual values for the k points.
--    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
--         & AB6_MAX_SYMMETRIES, nkpt, nkpt_, nshiftk, sym%nSym, &
--         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
--         & sym%vacuum, wkpt)
--  end subroutine kpoints_binding_auto_k_2
--
--  subroutine kpoints_get_auto_k_grid(symid, nkpt, kpt, wkpt, &
--       & kptrlen, errno)
--
--    integer, intent(in)  :: symid
--    integer, intent(out) :: errno
--    integer, intent(out) :: nkpt
--    real(dp), intent(in) :: kptrlen
--    real(dp), pointer :: kpt(:,:), wkpt(:)
--
--    real(dp) :: kptrlen_
--    integer :: kptrlatt(3,3)
--    integer :: nshiftk
--    real(dp) :: shiftk(3, 8)
--
--    if (AB_DBG) write(std_err,*) "AB symmetry: call get auto k grid."
--
--    kptrlen_ = kptrlen
--    call kpoints_binding_auto_k_1(symid, nkpt, kptrlatt, kptrlen_, &
--       & nshiftk, shiftk, errno)
--    if (errno /= AB6_NO_ERROR) return
--    allocate(kpt(3, nkpt))
--    allocate(wkpt(nkpt))
--    call kpoints_binding_auto_k_2(symid, nkpt, kpt, wkpt, kptrlatt, kptrlen_, &
--       & nshiftk, shiftk, errno)
--  end subroutine kpoints_get_auto_k_grid
--
--end module m_ab6_kpoints
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/56_recipspace/m_ab7_kpoints.F90 bigdft-abi-1.0.4.new/libABINIT/src/56_recipspace/m_ab7_kpoints.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/56_recipspace/m_ab7_kpoints.F90	1970-01-01 01:00:00.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/56_recipspace/m_ab7_kpoints.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -0,0 +1,281 @@
-+!* * Fortran90 source file *
-+!*
-+!* Copyright (C) 2008-2011 ABINIT Group (Damien Caliste)
-+!* All rights reserved.
-+!*
-+!* This file is part of the ABINIT software package. For license information,
-+!* please see the COPYING file in the top-level directory of the ABINIT source
-+!* distribution.
-+!*
-+!*
-+
-+#if defined HAVE_CONFIG_H
-+#include "config.inc"
-+#endif
-+
-+module m_ab7_kpoints
-+
-+  use defs_basis
-+  use m_ab7_symmetry
-+
-+  implicit none
-+
-+  private
-+
-+  logical, private, parameter :: AB_DBG = .false.
-+
-+  public :: kpoints_get_irreductible_zone
-+
-+  public :: kpoints_get_mp_k_grid
-+  public :: kpoints_get_auto_k_grid
-+
-+  public :: kpoints_binding_mp_k_1
-+  public :: kpoints_binding_mp_k_2
-+  public :: kpoints_binding_auto_k_1
-+  public :: kpoints_binding_auto_k_2
-+
-+contains
-+
-+  subroutine kpoints_get_irreductible_zone(irrzon, phnons, &
-+       & n1, n2, n3, nsppol, nspden, symid, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_56_recipspace
-+!End of the abilint section
-+
-+    integer, intent(in)   :: symid
-+    integer, intent(in)   :: n1, n2, n3, nsppol, nspden
-+    integer, intent(out)  :: irrzon(n1*n2*n3,2,(nspden/nsppol)-3*(nspden/4))
-+    real(dp), intent(out) :: phnons(2,n1*n2*n3,(nspden/nsppol)-3*(nspden/4))
-+    integer, intent(out)  :: errno
-+
-+    type(symmetry_type), pointer  :: sym
-+
-+    if (AB_DBG) write(std_err,*) "AB kpoints: call get irreductible zone."
-+
-+    errno = AB7_NO_ERROR
-+    call symmetry_get_from_id(sym, symid, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+
-+    if (sym%withSpin /= nspden) then
-+       errno = AB7_ERROR_ARG
-+       return
-+    end if
-+
-+    call irrzg(irrzon, nspden, nsppol, sym%nSym, n1, n2, n3, phnons, &
-+         & sym%symAfm, sym%sym, sym%transNon)
-+  end subroutine kpoints_get_irreductible_zone
-+
-+
-+
-+  subroutine kpoints_binding_mp_k_1(symid, nkpt, ngkpt, &
-+       & kptrlatt, kptrlen, nshiftk, shiftk, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_56_recipspace
-+!End of the abilint section
-+
-+    integer, intent(in)  :: symid
-+    integer, intent(out) :: errno
-+    integer, intent(in) :: ngkpt(3)
-+    integer, intent(inout) :: nshiftk
-+    real(dp), intent(inout) :: shiftk(3, 8)
-+    real(dp), intent(out) :: kptrlen
-+    integer, intent(out) :: kptrlatt(3,3)
-+    integer, intent(out) :: nkpt
-+
-+    type(symmetry_type), pointer  :: sym
-+    real(dp) :: kpt(3,1), wkpt(1)
-+
-+    if (AB_DBG) write(std_err,*) "AB symmetry: call get k grid1."
-+
-+    errno = AB7_NO_ERROR
-+    call symmetry_get_from_id(sym, symid, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+
-+    ! First, compute the number of kpoints
-+    kptrlatt(:,:) = 0
-+    kptrlatt(1,1) = ngkpt(1)
-+    kptrlatt(2,2) = ngkpt(2)
-+    kptrlatt(3,3) = ngkpt(3)
-+    kptrlen = 20.
-+
-+    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
-+         & AB7_MAX_SYMMETRIES, 0, nkpt, nshiftk, sym%nSym, &
-+         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
-+         & sym%vacuum, wkpt)
-+  end subroutine kpoints_binding_mp_k_1
-+
-+  subroutine kpoints_binding_mp_k_2(symid, nkpt, kpt, wkpt, &
-+       & kptrlatt, kptrlen, nshiftk, shiftk, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_56_recipspace
-+!End of the abilint section
-+
-+    integer, intent(in)  :: symid
-+    integer, intent(out) :: errno
-+    integer, intent(inout) :: nshiftk
-+    real(dp), intent(inout) :: shiftk(3, 8)
-+    integer, intent(in) :: nkpt
-+    real(dp), intent(out) :: kpt(3,nkpt), wkpt(nkpt)
-+    real(dp), intent(inout) :: kptrlen
-+    integer, intent(inout) :: kptrlatt(3,3)
-+
-+    type(symmetry_type), pointer  :: sym
-+    integer :: nkpt_
-+
-+    if (AB_DBG) write(std_err,*) "AB symmetry: call get k grid2."
-+
-+    errno = AB7_NO_ERROR
-+    call symmetry_get_from_id(sym, symid, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+
-+    ! Then, we call it again to get the actual values for the k points.
-+    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
-+         & AB7_MAX_SYMMETRIES, nkpt, nkpt_, nshiftk, sym%nSym, &
-+         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
-+         & sym%vacuum, wkpt)
-+  end subroutine kpoints_binding_mp_k_2
-+
-+
-+  subroutine kpoints_get_mp_k_grid(symid, nkpt, kpt, wkpt, &
-+       & ngkpt, nshiftk, shiftk, errno)
-+
-+    integer, intent(in)  :: symid
-+    integer, intent(out) :: errno
-+    integer, intent(in) :: ngkpt(3)
-+    integer, intent(in) :: nshiftk
-+    real(dp), intent(in) :: shiftk(3, nshiftk)
-+    integer, intent(out) :: nkpt
-+    real(dp), pointer :: kpt(:,:), wkpt(:)
-+
-+    real(dp) :: kptrlen
-+    integer :: kptrlatt(3,3)
-+    integer :: nshiftk_
-+    real(dp) :: shiftk_(3, 8)
-+
-+    if (AB_DBG) write(std_err,*) "AB symmetry: call get k grid."
-+
-+    nshiftk_ = nshiftk
-+    shiftk_(:,1:nshiftk_) = shiftk(:,:)
-+
-+    call kpoints_binding_mp_k_1(symid, nkpt, ngkpt, kptrlatt, kptrlen, &
-+         & nshiftk_, shiftk_, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+    allocate(kpt(3, nkpt))
-+    allocate(wkpt(nkpt))
-+    call kpoints_binding_mp_k_2(symid, nkpt, kpt, wkpt, &
-+       & kptrlatt, kptrlen, nshiftk_, shiftk_, errno)
-+  end subroutine kpoints_get_mp_k_grid
-+
-+
-+
-+  subroutine kpoints_binding_auto_k_1(symid, nkpt, kptrlatt, kptrlen, &
-+       & nshiftk, shiftk, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_56_recipspace
-+!End of the abilint section
-+
-+    integer, intent(in)  :: symid
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nkpt
-+    real(dp), intent(inout) :: kptrlen
-+    integer, intent(out) :: nshiftk
-+    real(dp), intent(out) :: shiftk(3, 8)
-+    integer, intent(out) :: kptrlatt(3,3)
-+
-+    type(symmetry_type), pointer  :: sym
-+    real(dp), allocatable :: kpt(:,:), wkpt(:)
-+
-+    if (AB_DBG) write(std_err,*) "AB symmetry: call get auto k grid1."
-+
-+    errno = AB7_NO_ERROR
-+    call symmetry_get_from_id(sym, symid, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+
-+    !  The parameters of the k lattice are not known, compute
-+    !  kptrlatt, nshiftk, shiftk.
-+    call testkgrid(sym%bravais,6,kptrlatt,kptrlen,&
-+         & AB7_MAX_SYMMETRIES,nshiftk,sym%nSym,0,sym%rprimd,&
-+         & shiftk,sym%symAfm,sym%sym,sym%vacuum)
-+    if (AB_DBG) write(std_err,*) "AB symmetry: testkgrid -> kptrlatt=", kptrlatt
-+
-+    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
-+         & AB7_MAX_SYMMETRIES, 0, nkpt, nshiftk, sym%nSym, &
-+         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
-+         & sym%vacuum, wkpt)
-+    if (AB_DBG) write(std_err,*) "AB symmetry: getkgrid -> nkpt=", nkpt
-+  end subroutine kpoints_binding_auto_k_1
-+
-+
-+  subroutine kpoints_binding_auto_k_2(symid, nkpt, kpt, wkpt, kptrlatt, kptrlen, &
-+       & nshiftk, shiftk, errno)
-+
-+
-+!This section has been created automatically by the script Abilint (TD).
-+!Do not modify the following lines by hand.
-+ use interfaces_56_recipspace
-+!End of the abilint section
-+
-+    integer, intent(in)  :: symid
-+    integer, intent(out) :: errno
-+    integer, intent(in) :: nkpt
-+    real(dp), intent(out) :: kpt(3,nkpt), wkpt(nkpt)
-+    real(dp), intent(inout) :: kptrlen
-+    integer, intent(inout) :: nshiftk
-+    real(dp), intent(inout) :: shiftk(3, 8)
-+    integer, intent(inout) :: kptrlatt(3,3)
-+
-+    type(symmetry_type), pointer  :: sym
-+    integer :: nkpt_
-+
-+    if (AB_DBG) write(std_err,*) "AB symmetry: call get auto k grid2."
-+
-+    errno = AB7_NO_ERROR
-+    call symmetry_get_from_id(sym, symid, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+
-+    ! Then, we call it again to get the actual values for the k points.
-+    call getkgrid(6, 1, kpt, 1, kptrlatt, kptrlen, &
-+         & AB7_MAX_SYMMETRIES, nkpt, nkpt_, nshiftk, sym%nSym, &
-+         & sym%rprimd, shiftk, sym%symAfm, sym%sym, &
-+         & sym%vacuum, wkpt)
-+  end subroutine kpoints_binding_auto_k_2
-+
-+  subroutine kpoints_get_auto_k_grid(symid, nkpt, kpt, wkpt, &
-+       & kptrlen, errno)
-+
-+    integer, intent(in)  :: symid
-+    integer, intent(out) :: errno
-+    integer, intent(out) :: nkpt
-+    real(dp), intent(in) :: kptrlen
-+    real(dp), pointer :: kpt(:,:), wkpt(:)
-+
-+    real(dp) :: kptrlen_
-+    integer :: kptrlatt(3,3)
-+    integer :: nshiftk
-+    real(dp) :: shiftk(3, 8)
-+
-+    if (AB_DBG) write(std_err,*) "AB symmetry: call get auto k grid."
-+
-+    kptrlen_ = kptrlen
-+    call kpoints_binding_auto_k_1(symid, nkpt, kptrlatt, kptrlen_, &
-+       & nshiftk, shiftk, errno)
-+    if (errno /= AB7_NO_ERROR) return
-+    allocate(kpt(3, nkpt))
-+    allocate(wkpt(nkpt))
-+    call kpoints_binding_auto_k_2(symid, nkpt, kpt, wkpt, kptrlatt, kptrlen_, &
-+       & nshiftk, shiftk, errno)
-+  end subroutine kpoints_get_auto_k_grid
-+
-+end module m_ab7_kpoints
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/72_geomoptim/ab6_moldyn.F90 bigdft-abi-1.0.4.new/libABINIT/src/72_geomoptim/ab6_moldyn.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/72_geomoptim/ab6_moldyn.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/libABINIT/src/72_geomoptim/ab6_moldyn.F90	1970-01-01 01:00:00.000000000 +0100
-@@ -1,42 +0,0 @@
--module ab6_moldyn
--
--  use defs_basis
--
--  implicit none
--
--  interface
--     subroutine scfloop_main(acell, epot, fcart, grad, itime, me, natom, rprimd, xred)
--       use defs_basis
--
--       integer, intent(in) :: natom, itime, me
--       real(dp), intent(out) :: epot
--       real(dp), intent(in) :: acell(3)
--       real(dp), intent(in) :: rprimd(3,3), xred(3,natom)
--       real(dp), intent(out) :: fcart(3, natom), grad(3, natom)
--     end subroutine scfloop_main
--  end interface
--
--  interface
--     subroutine scfloop_output(acell, epot, ekin, fred, itime, me, natom, rprimd, vel, xred)
--       use defs_basis
--
--       integer, intent(in) :: natom, itime, me
--       real(dp), intent(in) :: epot, ekin
--       real(dp), intent(in) :: acell(3)
--       real(dp), intent(in) :: rprimd(3,3), xred(3,natom)
--       real(dp), intent(in) :: fred(3, natom), vel(3, natom)
--     end subroutine scfloop_output
--  end interface
--
--contains
--
--  include "velocity_verlet.F90"
--  include "quenched.F90"
--  include "langevin.F90"
--  include "nose.F90"
--  include "isokinetic.F90"
--  include "isotemp.F90"
--  include "isothermal.F90"
--  include "moldyn.F90"
--
--end module ab6_moldyn
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/72_geomoptim/ab7_moldyn.F90 bigdft-abi-1.0.4.new/libABINIT/src/72_geomoptim/ab7_moldyn.F90
---- bigdft-abi-1.0.4.old/libABINIT/src/72_geomoptim/ab7_moldyn.F90	1970-01-01 01:00:00.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/72_geomoptim/ab7_moldyn.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -0,0 +1,42 @@
-+module ab7_moldyn
-+
-+  use defs_basis
-+
-+  implicit none
-+
-+  interface
-+     subroutine scfloop_main(acell, epot, fcart, grad, itime, me, natom, rprimd, xred)
-+       use defs_basis
-+
-+       integer, intent(in) :: natom, itime, me
-+       real(dp), intent(out) :: epot
-+       real(dp), intent(in) :: acell(3)
-+       real(dp), intent(in) :: rprimd(3,3), xred(3,natom)
-+       real(dp), intent(out) :: fcart(3, natom), grad(3, natom)
-+     end subroutine scfloop_main
-+  end interface
-+
-+  interface
-+     subroutine scfloop_output(acell, epot, ekin, fred, itime, me, natom, rprimd, vel, xred)
-+       use defs_basis
-+
-+       integer, intent(in) :: natom, itime, me
-+       real(dp), intent(in) :: epot, ekin
-+       real(dp), intent(in) :: acell(3)
-+       real(dp), intent(in) :: rprimd(3,3), xred(3,natom)
-+       real(dp), intent(in) :: fred(3, natom), vel(3, natom)
-+     end subroutine scfloop_output
-+  end interface
-+
-+contains
-+
-+  include "velocity_verlet.F90"
-+  include "quenched.F90"
-+  include "langevin.F90"
-+  include "nose.F90"
-+  include "isokinetic.F90"
-+  include "isotemp.F90"
-+  include "isothermal.F90"
-+  include "moldyn.F90"
-+
-+end module ab7_moldyn
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/Makefile.am bigdft-abi-1.0.4.new/libABINIT/src/Makefile.am
---- bigdft-abi-1.0.4.old/libABINIT/src/Makefile.am	2012-11-08 11:12:57.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/Makefile.am	2013-06-11 16:51:00.000000000 +0200
-@@ -85,7 +85,7 @@
- 	42_geometry/getspinrot.F90 \
- 	42_geometry/gridgcart.F90 \
- 	42_geometry/holocell.F90 \
--	42_geometry/m_ab6_symmetry.F90 \
-+	42_geometry/m_ab7_symmetry.F90 \
- 	42_geometry/metric.F90 \
- 	42_geometry/mkrdim.F90 \
- 	42_geometry/operat.F90 \
-@@ -128,14 +128,14 @@
- 	56_mixing/dotprodm_vn.F90 \
- 	56_mixing/findminscf.F90 \
- 	56_mixing/interfaces_56_mixing.F90 \
--	56_mixing/m_ab6_mixing.F90 \
-+	56_mixing/m_ab7_mixing.F90 \
- 	56_mixing/scfcge.F90 \
- 	56_mixing/scfeig.F90 \
- 	56_mixing/scfopt.F90 \
- 	56_mixing/sqnormm_v.F90 \
- 	56_recipspace/interfaces_56_recipspace.F90 \
- 	56_recipspace/irrzg.F90 \
--	56_recipspace/m_ab6_kpoints.F90 \
-+	56_recipspace/m_ab7_kpoints.F90 \
- 	56_recipspace/getkgrid.F90 \
- 	56_recipspace/smpbz.F90 \
- 	56_recipspace/symkpt.F90 \
-@@ -159,7 +159,7 @@
-         67_common/ewald2.F90 \
- 	67_common/fconv.F90 \
- 	67_common/prtxvf.F90 \
--	72_geomoptim/ab6_moldyn.F90 \
-+	72_geomoptim/ab7_moldyn.F90 \
- 	72_geomoptim/xfpack.F90
- 
- CLEANFILES = mpif.h *.@MODULE_EXT@
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/Makefile.in bigdft-abi-1.0.4.new/libABINIT/src/Makefile.in
---- bigdft-abi-1.0.4.old/libABINIT/src/Makefile.in	2013-01-28 14:39:34.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/Makefile.in	2013-06-11 16:51:00.000000000 +0200
-@@ -91,7 +91,7 @@
- 	gensymshub4.$(OBJEXT) gensymshub.$(OBJEXT) \
- 	gensymspgr.$(OBJEXT) getptgroupma.$(OBJEXT) \
- 	getspinrot.$(OBJEXT) gridgcart.$(OBJEXT) holocell.$(OBJEXT) \
--	m_ab6_symmetry.$(OBJEXT) metric.$(OBJEXT) mkrdim.$(OBJEXT) \
-+	m_ab7_symmetry.$(OBJEXT) metric.$(OBJEXT) mkrdim.$(OBJEXT) \
- 	operat.$(OBJEXT) prtspgroup.$(OBJEXT) ptgmadata.$(OBJEXT) \
- 	smallprim.$(OBJEXT) spgdata.$(OBJEXT) strainsym.$(OBJEXT) \
- 	strconv.$(OBJEXT) stresssym.$(OBJEXT) sym2cart.$(OBJEXT) \
-@@ -106,10 +106,10 @@
- 	symzat.$(OBJEXT) xredxcart.$(OBJEXT) defs_abitypes.$(OBJEXT) \
- 	aprxdr.$(OBJEXT) dotprodm_v.$(OBJEXT) dotprodm_vn.$(OBJEXT) \
- 	findminscf.$(OBJEXT) interfaces_56_mixing.$(OBJEXT) \
--	m_ab6_mixing.$(OBJEXT) scfcge.$(OBJEXT) scfeig.$(OBJEXT) \
-+	m_ab7_mixing.$(OBJEXT) scfcge.$(OBJEXT) scfeig.$(OBJEXT) \
- 	scfopt.$(OBJEXT) sqnormm_v.$(OBJEXT) \
- 	interfaces_56_recipspace.$(OBJEXT) irrzg.$(OBJEXT) \
--	m_ab6_kpoints.$(OBJEXT) getkgrid.$(OBJEXT) smpbz.$(OBJEXT) \
-+	m_ab7_kpoints.$(OBJEXT) getkgrid.$(OBJEXT) smpbz.$(OBJEXT) \
- 	symkpt.$(OBJEXT) testkgrid.$(OBJEXT) \
- 	interfaces_56_xc.$(OBJEXT) drivexc.$(OBJEXT) invcb.$(OBJEXT) \
- 	mkdenpos.$(OBJEXT) m_libxc_functionals.$(OBJEXT) \
-@@ -117,7 +117,7 @@
- 	xclb.$(OBJEXT) xcpbe.$(OBJEXT) xcpzca.$(OBJEXT) \
- 	xcspol.$(OBJEXT) xctetr.$(OBJEXT) xcwign.$(OBJEXT) \
- 	xcxalp.$(OBJEXT) ewald.$(OBJEXT) ewald2.$(OBJEXT) \
--	fconv.$(OBJEXT) prtxvf.$(OBJEXT) ab6_moldyn.$(OBJEXT) \
-+	fconv.$(OBJEXT) prtxvf.$(OBJEXT) ab7_moldyn.$(OBJEXT) \
- 	xfpack.$(OBJEXT)
- libabinit_a_OBJECTS = $(am_libabinit_a_OBJECTS)
- DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-@@ -352,7 +352,7 @@
- 	42_geometry/getspinrot.F90 \
- 	42_geometry/gridgcart.F90 \
- 	42_geometry/holocell.F90 \
--	42_geometry/m_ab6_symmetry.F90 \
-+	42_geometry/m_ab7_symmetry.F90 \
- 	42_geometry/metric.F90 \
- 	42_geometry/mkrdim.F90 \
- 	42_geometry/operat.F90 \
-@@ -395,14 +395,14 @@
- 	56_mixing/dotprodm_vn.F90 \
- 	56_mixing/findminscf.F90 \
- 	56_mixing/interfaces_56_mixing.F90 \
--	56_mixing/m_ab6_mixing.F90 \
-+	56_mixing/m_ab7_mixing.F90 \
- 	56_mixing/scfcge.F90 \
- 	56_mixing/scfeig.F90 \
- 	56_mixing/scfopt.F90 \
- 	56_mixing/sqnormm_v.F90 \
- 	56_recipspace/interfaces_56_recipspace.F90 \
- 	56_recipspace/irrzg.F90 \
--	56_recipspace/m_ab6_kpoints.F90 \
-+	56_recipspace/m_ab7_kpoints.F90 \
- 	56_recipspace/getkgrid.F90 \
- 	56_recipspace/smpbz.F90 \
- 	56_recipspace/symkpt.F90 \
-@@ -426,7 +426,7 @@
-         67_common/ewald2.F90 \
- 	67_common/fconv.F90 \
- 	67_common/prtxvf.F90 \
--	72_geomoptim/ab6_moldyn.F90 \
-+	72_geomoptim/ab7_moldyn.F90 \
- 	72_geomoptim/xfpack.F90
- 
- CLEANFILES = mpif.h *.@MODULE_EXT@
-@@ -633,8 +633,8 @@
- holocell.obj: 42_geometry/holocell.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o holocell.obj `if test -f '42_geometry/holocell.F90'; then $(CYGPATH_W) '42_geometry/holocell.F90'; else $(CYGPATH_W) '$(srcdir)/42_geometry/holocell.F90'; fi`
- 
--m_ab6_symmetry.obj: 42_geometry/m_ab6_symmetry.F90
--	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o m_ab6_symmetry.obj `if test -f '42_geometry/m_ab6_symmetry.F90'; then $(CYGPATH_W) '42_geometry/m_ab6_symmetry.F90'; else $(CYGPATH_W) '$(srcdir)/42_geometry/m_ab6_symmetry.F90'; fi`
-+m_ab7_symmetry.obj: 42_geometry/m_ab7_symmetry.F90
-+	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o m_ab7_symmetry.obj `if test -f '42_geometry/m_ab7_symmetry.F90'; then $(CYGPATH_W) '42_geometry/m_ab7_symmetry.F90'; else $(CYGPATH_W) '$(srcdir)/42_geometry/m_ab7_symmetry.F90'; fi`
- 
- metric.obj: 42_geometry/metric.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o metric.obj `if test -f '42_geometry/metric.F90'; then $(CYGPATH_W) '42_geometry/metric.F90'; else $(CYGPATH_W) '$(srcdir)/42_geometry/metric.F90'; fi`
-@@ -762,8 +762,8 @@
- interfaces_56_mixing.obj: 56_mixing/interfaces_56_mixing.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o interfaces_56_mixing.obj `if test -f '56_mixing/interfaces_56_mixing.F90'; then $(CYGPATH_W) '56_mixing/interfaces_56_mixing.F90'; else $(CYGPATH_W) '$(srcdir)/56_mixing/interfaces_56_mixing.F90'; fi`
- 
--m_ab6_mixing.obj: 56_mixing/m_ab6_mixing.F90
--	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o m_ab6_mixing.obj `if test -f '56_mixing/m_ab6_mixing.F90'; then $(CYGPATH_W) '56_mixing/m_ab6_mixing.F90'; else $(CYGPATH_W) '$(srcdir)/56_mixing/m_ab6_mixing.F90'; fi`
-+m_ab7_mixing.obj: 56_mixing/m_ab7_mixing.F90
-+	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o m_ab7_mixing.obj `if test -f '56_mixing/m_ab7_mixing.F90'; then $(CYGPATH_W) '56_mixing/m_ab7_mixing.F90'; else $(CYGPATH_W) '$(srcdir)/56_mixing/m_ab7_mixing.F90'; fi`
- 
- scfcge.obj: 56_mixing/scfcge.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o scfcge.obj `if test -f '56_mixing/scfcge.F90'; then $(CYGPATH_W) '56_mixing/scfcge.F90'; else $(CYGPATH_W) '$(srcdir)/56_mixing/scfcge.F90'; fi`
-@@ -783,8 +783,8 @@
- irrzg.obj: 56_recipspace/irrzg.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o irrzg.obj `if test -f '56_recipspace/irrzg.F90'; then $(CYGPATH_W) '56_recipspace/irrzg.F90'; else $(CYGPATH_W) '$(srcdir)/56_recipspace/irrzg.F90'; fi`
- 
--m_ab6_kpoints.obj: 56_recipspace/m_ab6_kpoints.F90
--	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o m_ab6_kpoints.obj `if test -f '56_recipspace/m_ab6_kpoints.F90'; then $(CYGPATH_W) '56_recipspace/m_ab6_kpoints.F90'; else $(CYGPATH_W) '$(srcdir)/56_recipspace/m_ab6_kpoints.F90'; fi`
-+m_ab7_kpoints.obj: 56_recipspace/m_ab7_kpoints.F90
-+	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o m_ab7_kpoints.obj `if test -f '56_recipspace/m_ab7_kpoints.F90'; then $(CYGPATH_W) '56_recipspace/m_ab7_kpoints.F90'; else $(CYGPATH_W) '$(srcdir)/56_recipspace/m_ab7_kpoints.F90'; fi`
- 
- getkgrid.obj: 56_recipspace/getkgrid.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o getkgrid.obj `if test -f '56_recipspace/getkgrid.F90'; then $(CYGPATH_W) '56_recipspace/getkgrid.F90'; else $(CYGPATH_W) '$(srcdir)/56_recipspace/getkgrid.F90'; fi`
-@@ -855,8 +855,8 @@
- prtxvf.obj: 67_common/prtxvf.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o prtxvf.obj `if test -f '67_common/prtxvf.F90'; then $(CYGPATH_W) '67_common/prtxvf.F90'; else $(CYGPATH_W) '$(srcdir)/67_common/prtxvf.F90'; fi`
- 
--ab6_moldyn.obj: 72_geomoptim/ab6_moldyn.F90
--	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o ab6_moldyn.obj `if test -f '72_geomoptim/ab6_moldyn.F90'; then $(CYGPATH_W) '72_geomoptim/ab6_moldyn.F90'; else $(CYGPATH_W) '$(srcdir)/72_geomoptim/ab6_moldyn.F90'; fi`
-+ab7_moldyn.obj: 72_geomoptim/ab7_moldyn.F90
-+	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o ab7_moldyn.obj `if test -f '72_geomoptim/ab7_moldyn.F90'; then $(CYGPATH_W) '72_geomoptim/ab7_moldyn.F90'; else $(CYGPATH_W) '$(srcdir)/72_geomoptim/ab7_moldyn.F90'; fi`
- 
- xfpack.obj: 72_geomoptim/xfpack.F90
- 	$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o xfpack.obj `if test -f '72_geomoptim/xfpack.F90'; then $(CYGPATH_W) '72_geomoptim/xfpack.F90'; else $(CYGPATH_W) '$(srcdir)/72_geomoptim/xfpack.F90'; fi`
-@@ -1268,11 +1268,11 @@
- 	interfaces_42_geometry.o
- 	$(PPFCCOMPILE) -c -o symptgroup.o `test -f '42_geometry/symptgroup.F90' || echo '$(srcdir)/'`42_geometry/symptgroup.F90
- 
--m_ab6_symmetry.o: 42_geometry/m_ab6_symmetry.F90 \
-+m_ab7_symmetry.o: 42_geometry/m_ab7_symmetry.F90 \
- 	defs_basis.o \
- 	interfaces_32_util.o \
- 	interfaces_42_geometry.o
--	$(PPFCCOMPILE) -c -o m_ab6_symmetry.o `test -f '42_geometry/m_ab6_symmetry.F90' || echo '$(srcdir)/'`42_geometry/m_ab6_symmetry.F90
-+	$(PPFCCOMPILE) -c -o m_ab7_symmetry.o `test -f '42_geometry/m_ab7_symmetry.F90' || echo '$(srcdir)/'`42_geometry/m_ab7_symmetry.F90
- 
- symchk.o: 42_geometry/symchk.F90 \
- 	defs_basis.o
-@@ -1498,11 +1498,11 @@
- 	interfaces_56_recipspace.o
- 	$(PPFCCOMPILE) -c -o getkgrid.o `test -f '56_recipspace/getkgrid.F90' || echo '$(srcdir)/'`56_recipspace/getkgrid.F90
- 
--m_ab6_kpoints.o: 56_recipspace/m_ab6_kpoints.F90 \
-+m_ab7_kpoints.o: 56_recipspace/m_ab7_kpoints.F90 \
- 	defs_basis.o \
- 	interfaces_56_recipspace.o \
--	m_ab6_symmetry.o
--	$(PPFCCOMPILE) -c -o m_ab6_kpoints.o `test -f '56_recipspace/m_ab6_kpoints.F90' || echo '$(srcdir)/'`56_recipspace/m_ab6_kpoints.F90
-+	m_ab7_symmetry.o
-+	$(PPFCCOMPILE) -c -o m_ab7_kpoints.o `test -f '56_recipspace/m_ab7_kpoints.F90' || echo '$(srcdir)/'`56_recipspace/m_ab7_kpoints.F90
- 
- interfaces_56_recipspace.o: 56_recipspace/interfaces_56_recipspace.F90 \
- 	defs_abitypes.o \
-@@ -1647,7 +1647,7 @@
- 	defs_datatypes.o
- 	$(PPFCCOMPILE) -c -o moldyn.o `test -f '72_geomoptim/moldyn.F90' || echo '$(srcdir)/'`72_geomoptim/moldyn.F90
- 
--ab6_moldyn.o: 72_geomoptim/ab6_moldyn.F90 \
-+ab7_moldyn.o: 72_geomoptim/ab7_moldyn.F90 \
- 	defs_basis.o \
- 	defs_basis.o \
- 	72_geomoptim/isokinetic.F90 \
-@@ -1669,7 +1669,7 @@
- 	72_geomoptim/quenched.F90 \
- 	defs_basis.o \
- 	72_geomoptim/velocity_verlet.F90
--	$(PPFCCOMPILE) -c -o ab6_moldyn.o `test -f '72_geomoptim/ab6_moldyn.F90' || echo '$(srcdir)/'`72_geomoptim/ab6_moldyn.F90
-+	$(PPFCCOMPILE) -c -o ab7_moldyn.o `test -f '72_geomoptim/ab7_moldyn.F90' || echo '$(srcdir)/'`72_geomoptim/ab7_moldyn.F90
- 
- velocity_verlet.o: 72_geomoptim/velocity_verlet.F90 \
- 	defs_basis.o
-@@ -1768,12 +1768,12 @@
- 	interfaces_14_hidewrite.o
- 	$(PPFCCOMPILE) -c -o scfeig.o `test -f '56_mixing/scfeig.F90' || echo '$(srcdir)/'`56_mixing/scfeig.F90
- 
--m_ab6_mixing.o: 56_mixing/m_ab6_mixing.F90 \
-+m_ab7_mixing.o: 56_mixing/m_ab7_mixing.F90 \
- 	defs_basis.o \
- 	interfaces_18_timing.o \
- 	interfaces_56_mixing.o \
- 	m_profiling.o
--	$(PPFCCOMPILE) -c -o m_ab6_mixing.o `test -f '56_mixing/m_ab6_mixing.F90' || echo '$(srcdir)/'`56_mixing/m_ab6_mixing.F90
-+	$(PPFCCOMPILE) -c -o m_ab7_mixing.o `test -f '56_mixing/m_ab7_mixing.F90' || echo '$(srcdir)/'`56_mixing/m_ab7_mixing.F90
- 
- dotprodm_vn.o: 56_mixing/dotprodm_vn.F90 \
- 	defs_abitypes.o \
-diff -urN bigdft-abi-1.0.4.old/libABINIT/src/deps bigdft-abi-1.0.4.new/libABINIT/src/deps
---- bigdft-abi-1.0.4.old/libABINIT/src/deps	2012-11-08 11:13:29.000000000 +0100
-+++ bigdft-abi-1.0.4.new/libABINIT/src/deps	2013-06-11 16:51:00.000000000 +0200
-@@ -194,11 +194,11 @@
- 	interfaces_42_geometry.o
- 	$(PPFCCOMPILE) -c -o symptgroup.o `test -f '42_geometry/symptgroup.F90' || echo '$(srcdir)/'`42_geometry/symptgroup.F90
- 
--m_ab6_symmetry.o: 42_geometry/m_ab6_symmetry.F90 \
-+m_ab7_symmetry.o: 42_geometry/m_ab7_symmetry.F90 \
- 	defs_basis.o \
- 	interfaces_32_util.o \
- 	interfaces_42_geometry.o
--	$(PPFCCOMPILE) -c -o m_ab6_symmetry.o `test -f '42_geometry/m_ab6_symmetry.F90' || echo '$(srcdir)/'`42_geometry/m_ab6_symmetry.F90
-+	$(PPFCCOMPILE) -c -o m_ab7_symmetry.o `test -f '42_geometry/m_ab7_symmetry.F90' || echo '$(srcdir)/'`42_geometry/m_ab7_symmetry.F90
- 
- symchk.o: 42_geometry/symchk.F90 \
- 	defs_basis.o
-@@ -424,11 +424,11 @@
- 	interfaces_56_recipspace.o
- 	$(PPFCCOMPILE) -c -o getkgrid.o `test -f '56_recipspace/getkgrid.F90' || echo '$(srcdir)/'`56_recipspace/getkgrid.F90
- 
--m_ab6_kpoints.o: 56_recipspace/m_ab6_kpoints.F90 \
-+m_ab7_kpoints.o: 56_recipspace/m_ab7_kpoints.F90 \
- 	defs_basis.o \
- 	interfaces_56_recipspace.o \
--	m_ab6_symmetry.o
--	$(PPFCCOMPILE) -c -o m_ab6_kpoints.o `test -f '56_recipspace/m_ab6_kpoints.F90' || echo '$(srcdir)/'`56_recipspace/m_ab6_kpoints.F90
-+	m_ab7_symmetry.o
-+	$(PPFCCOMPILE) -c -o m_ab7_kpoints.o `test -f '56_recipspace/m_ab7_kpoints.F90' || echo '$(srcdir)/'`56_recipspace/m_ab7_kpoints.F90
- 
- interfaces_56_recipspace.o: 56_recipspace/interfaces_56_recipspace.F90 \
- 	defs_abitypes.o \
-@@ -573,7 +573,7 @@
- 	defs_datatypes.o
- 	$(PPFCCOMPILE) -c -o moldyn.o `test -f '72_geomoptim/moldyn.F90' || echo '$(srcdir)/'`72_geomoptim/moldyn.F90
- 
--ab6_moldyn.o: 72_geomoptim/ab6_moldyn.F90 \
-+ab7_moldyn.o: 72_geomoptim/ab7_moldyn.F90 \
- 	defs_basis.o \
- 	defs_basis.o \
- 	72_geomoptim/isokinetic.F90 \
-@@ -595,7 +595,7 @@
- 	72_geomoptim/quenched.F90 \
- 	defs_basis.o \
- 	72_geomoptim/velocity_verlet.F90
--	$(PPFCCOMPILE) -c -o ab6_moldyn.o `test -f '72_geomoptim/ab6_moldyn.F90' || echo '$(srcdir)/'`72_geomoptim/ab6_moldyn.F90
-+	$(PPFCCOMPILE) -c -o ab7_moldyn.o `test -f '72_geomoptim/ab7_moldyn.F90' || echo '$(srcdir)/'`72_geomoptim/ab7_moldyn.F90
- 
- velocity_verlet.o: 72_geomoptim/velocity_verlet.F90 \
- 	defs_basis.o
-@@ -694,12 +694,12 @@
- 	interfaces_14_hidewrite.o
- 	$(PPFCCOMPILE) -c -o scfeig.o `test -f '56_mixing/scfeig.F90' || echo '$(srcdir)/'`56_mixing/scfeig.F90
- 
--m_ab6_mixing.o: 56_mixing/m_ab6_mixing.F90 \
-+m_ab7_mixing.o: 56_mixing/m_ab7_mixing.F90 \
- 	defs_basis.o \
- 	interfaces_18_timing.o \
- 	interfaces_56_mixing.o \
- 	m_profiling.o
--	$(PPFCCOMPILE) -c -o m_ab6_mixing.o `test -f '56_mixing/m_ab6_mixing.F90' || echo '$(srcdir)/'`56_mixing/m_ab6_mixing.F90
-+	$(PPFCCOMPILE) -c -o m_ab7_mixing.o `test -f '56_mixing/m_ab7_mixing.F90' || echo '$(srcdir)/'`56_mixing/m_ab7_mixing.F90
- 
- dotprodm_vn.o: 56_mixing/dotprodm_vn.F90 \
- 	defs_abitypes.o \
-diff -urN bigdft-abi-1.0.4.old/src/abscalc.f90 bigdft-abi-1.0.4.new/src/abscalc.f90
---- bigdft-abi-1.0.4.old/src/abscalc.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/abscalc.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -13,7 +13,7 @@
-    use module_base
-    use module_types
-    use module_interfaces
--   use m_ab6_symmetry
-+   use m_ab7_symmetry
-    !  use minimization, only: parameterminimization 
- 
-    implicit none
-@@ -323,9 +323,9 @@
-    use module_xc
-    use vdwcorrection
-    use esatto
--   use m_ab6_symmetry
--   use m_ab6_mixing
--   use m_ab6_kpoints
-+   use m_ab7_symmetry
-+   use m_ab7_mixing
-+   use m_ab7_kpoints
-    implicit none
-    integer, intent(in) :: nproc,iproc
-    real(gp), intent(inout) :: hx_old,hy_old,hz_old
-diff -urN bigdft-abi-1.0.4.old/src/cluster.f90 bigdft-abi-1.0.4.new/src/cluster.f90
---- bigdft-abi-1.0.4.old/src/cluster.f90	2012-11-29 11:18:04.000000000 +0100
-+++ bigdft-abi-1.0.4.new/src/cluster.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -192,7 +192,7 @@
- !  use Poisson_Solver
-   use module_xc
- !  use vdwcorrection
--  use m_ab6_mixing
-+  use m_ab7_mixing
-   use yaml_output
-   implicit none
-   integer, intent(in) :: nproc,iproc
-@@ -1140,7 +1140,7 @@
-   use module_types
-   use module_interfaces, except_this_one => kswfn_optimization_loop
-   use yaml_output
--  use m_ab6_mixing
-+  use m_ab7_mixing
-   implicit none
-   real(dp), dimension(6), intent(out) :: xcstr
-   integer, intent(in) :: iproc, nproc, idsx, inputpsi
-@@ -1306,7 +1306,7 @@
-               if (nproc > 1) call MPI_BARRIER(MPI_COMM_WORLD,ierr)
-               !call kswfn_free_scf_data(KSwfn, (nproc > 1))
-               !if (opt%iscf /= SCF_KIND_DIRECT_MINIMIZATION) then
--              !   call ab6_mixing_deallocate(denspot%mix)
-+              !   call ab7_mixing_deallocate(denspot%mix)
-               !   deallocate(denspot%mix)
-               !end if
-               !>todo: change this return into a clean out of the routine, so the YAML is clean.
-diff -urN bigdft-abi-1.0.4.old/src/distances.f90 bigdft-abi-1.0.4.new/src/distances.f90
---- bigdft-abi-1.0.4.old/src/distances.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/distances.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -275,7 +275,7 @@
-   subroutine box_features(whichone,contcar,nrep,nat,ntypes,iatype,pos,factor)
-     use BigDFT_API
-     use module_interfaces
--    use m_ab6_symmetry
-+    use m_ab7_symmetry
-     implicit none
-     character(len=1), intent(in) :: whichone
-     character(len=40), intent(in) :: contcar
-@@ -375,7 +375,7 @@
- subroutine read_pos(iunit,whichone,nat,pos,nrep)
-   use BigDFT_API
-   use module_interfaces
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   implicit none
-   character(len=1), intent(in) :: whichone
-   integer, intent(in) :: iunit,nat,nrep
-diff -urN bigdft-abi-1.0.4.old/src/forces.f90 bigdft-abi-1.0.4.new/src/forces.f90
---- bigdft-abi-1.0.4.old/src/forces.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/forces.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -3757,7 +3757,7 @@
- subroutine symm_stress(dump,tens,symobj)
-   use defs_basis
-   use module_base, only: verbose,gp
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   use module_types
-   implicit none
-   !Arguments
-@@ -3773,7 +3773,7 @@
-   real(gp),dimension(3,3) :: symtens
- 
-   call symmetry_get_matrices_p(symObj, nsym, sym, transNon, symAfm, errno)
--  if (errno /= AB6_NO_ERROR) stop
-+  if (errno /= AB7_NO_ERROR) stop
-   if (nsym < 2) return
- 
-   if (dump)&
-@@ -3824,7 +3824,7 @@
- !> Symmetrize the atomic forces (needed with special k points)
- subroutine symmetrise_forces(iproc, fxyz, at)
-   use defs_basis
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   use module_types
- 
-   implicit none
-@@ -3833,7 +3833,7 @@
-   type(atoms_data), intent(in) :: at
-   real(gp), intent(inout) :: fxyz(3, at%nat)
-   integer :: ia, mu, isym, errno, ind, nsym
--  integer :: indsym(4, AB6_MAX_SYMMETRIES)
-+  integer :: indsym(4, AB7_MAX_SYMMETRIES)
-   real(gp) :: summ
-   real(gp) :: alat(3)
-   real(gp), allocatable :: dedt(:,:)
-@@ -3843,7 +3843,7 @@
-   real(gp), pointer :: transNon(:,:)
- 
-   call symmetry_get_matrices_p(at%sym%symObj, nsym, sym, transNon, symAfm, errno)
--  if (errno /= AB6_NO_ERROR) stop
-+  if (errno /= AB7_NO_ERROR) stop
-   if (nsym < 2) return
- 
-   if (iproc == 0) write(*,"(1x,A,I0,A)") "Symmetrise forces with ", nsym, " symmetries."
-@@ -3866,7 +3866,7 @@
-   ! actually conduct symmetrization
-   do ia = 1, at%nat
-      call symmetry_get_equivalent_atom(at%sym%symObj, indsym, ia, errno)
--     if (errno /= AB6_NO_ERROR) stop
-+     if (errno /= AB7_NO_ERROR) stop
-      do mu = 1, 3
-         summ = real(0, gp)
-         do isym = 1, nsym
-diff -urN bigdft-abi-1.0.4.old/src/frequencies.f90 bigdft-abi-1.0.4.new/src/frequencies.f90
---- bigdft-abi-1.0.4.old/src/frequencies.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/frequencies.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -20,7 +20,7 @@
-    use module_base
-    use module_types
-    use module_interfaces
--   use m_ab6_symmetry
-+   use m_ab7_symmetry
-    use yaml_output
-    implicit none
- 
-diff -urN bigdft-abi-1.0.4.old/src/geometry.f90 bigdft-abi-1.0.4.new/src/geometry.f90
---- bigdft-abi-1.0.4.old/src/geometry.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/geometry.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -159,7 +159,7 @@
-   use module_base
-   use module_types
-   use scfloop_API
--  use ab6_moldyn
-+  use ab7_moldyn
-   implicit none
-   integer, intent(in) :: nproc,iproc
-   integer, intent(inout) :: ncount_bigdft
-diff -urN bigdft-abi-1.0.4.old/src/hpsiortho.f90 bigdft-abi-1.0.4.new/src/hpsiortho.f90
---- bigdft-abi-1.0.4.old/src/hpsiortho.f90	2013-01-30 10:10:56.000000000 +0100
-+++ bigdft-abi-1.0.4.new/src/hpsiortho.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -17,7 +17,7 @@
-   use module_types
-   use module_interfaces, fake_name => psitohpsi
-   use Poisson_Solver
--  use m_ab6_mixing
-+  use m_ab7_mixing
-   use yaml_output
-   implicit none
-   logical, intent(in) :: scf
-@@ -144,7 +144,7 @@
- 
-      !here the density can be mixed
-      if (iscf > SCF_KIND_DIRECT_MINIMIZATION ) then
--        if (denspot%mix%kind == AB6_MIXING_DENSITY) then
-+        if (denspot%mix%kind == AB7_MIXING_DENSITY) then
-            call mix_rhopot(iproc,nproc,denspot%mix%nfft*denspot%mix%nspden,alphamix,denspot%mix,&
-                 denspot%rhov,itrp,wfn%Lzd%Glr%d%n1i,wfn%Lzd%Glr%d%n2i,wfn%Lzd%Glr%d%n3i,&
-                 atoms%alat1*atoms%alat2*atoms%alat3,&!hx*hy*hz,& !volume should be used
-@@ -215,7 +215,7 @@
- 
-      !here the potential can be mixed
-      if (iscf > SCF_KIND_DIRECT_MINIMIZATION ) then
--        if (denspot%mix%kind == AB6_MIXING_POTENTIAL) then
-+        if (denspot%mix%kind == AB7_MIXING_POTENTIAL) then
-            call mix_rhopot(iproc,nproc,denspot%mix%nfft*denspot%mix%nspden,alphamix,denspot%mix,&
-                 denspot%rhov,itrp,wfn%Lzd%Glr%d%n1i,wfn%Lzd%Glr%d%n2i,wfn%Lzd%Glr%d%n3i,&
-                 atoms%alat1*atoms%alat2*atoms%alat3,&!volume should be used 
-diff -urN bigdft-abi-1.0.4.old/src/init/atoms.f90 bigdft-abi-1.0.4.new/src/init/atoms.f90
---- bigdft-abi-1.0.4.old/src/init/atoms.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/init/atoms.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -210,7 +210,7 @@
-   use module_base
-   use module_types
-   use defs_basis
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   implicit none
-   type(atoms_data), intent(inout) :: atoms
-   real(gp), dimension(3,atoms%nat), intent(in) :: rxyz
-@@ -1901,8 +1901,8 @@
- subroutine symmetry_set_irreductible_zone(sym, geocode, n1i, n2i, n3i, nspin)
-   use module_base
-   use module_types
--  use m_ab6_kpoints
--  use m_ab6_symmetry
-+  use m_ab7_kpoints
-+  use m_ab7_symmetry
-   implicit none
-   type(symmetry_data), intent(inout) :: sym
-   integer, intent(in) :: n1i, n2i, n3i, nspin
-diff -urN bigdft-abi-1.0.4.old/src/init/denspotd.f90 bigdft-abi-1.0.4.new/src/init/denspotd.f90
---- bigdft-abi-1.0.4.old/src/init/denspotd.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/init/denspotd.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -95,7 +95,7 @@
-      & n1i, n2i) !to be removed arguments when denspot has dimensions
-   use module_base
-   use module_types
--  use m_ab6_mixing
-+  use m_ab7_mixing
-   implicit none
-   type(DFT_local_fields), intent(inout) :: denspot
-   integer, intent(in) :: iscf, n1i, n2i, nspin
-@@ -104,20 +104,20 @@
-   character(len=500) :: errmess
- 
-   if (iscf < 10) then
--     potden = AB6_MIXING_POTENTIAL
-+     potden = AB7_MIXING_POTENTIAL
-      npoints = n1i*n2i*denspot%dpbox%n3p
-      if (denspot%dpbox%n3p==0) npoints=1
-   else
--     potden = AB6_MIXING_DENSITY
-+     potden = AB7_MIXING_DENSITY
-      npoints = n1i*n2i*denspot%dpbox%n3d
-      if (denspot%dpbox%n3d==0) npoints=1
-   end if
-   if (iscf > SCF_KIND_DIRECT_MINIMIZATION) then
-      allocate(denspot%mix)
--     call ab6_mixing_new(denspot%mix, modulo(iscf, 10), potden, &
--          AB6_MIXING_REAL_SPACE, npoints, nspin, 0, &
-+     call ab7_mixing_new(denspot%mix, modulo(iscf, 10), potden, &
-+          AB7_MIXING_REAL_SPACE, npoints, nspin, 0, &
-           ierr, errmess, useprec = .false.)
--     call ab6_mixing_eval_allocate(denspot%mix)
-+     call ab7_mixing_eval_allocate(denspot%mix)
-   else
-      nullify(denspot%mix)
-   end if
-@@ -125,12 +125,12 @@
- 
- subroutine denspot_free_history(denspot)
-   use module_types
--  use m_ab6_mixing
-+  use m_ab7_mixing
-   implicit none
-   type(DFT_local_fields), intent(inout) :: denspot
-   
-   if (associated(denspot%mix)) then
--     call ab6_mixing_deallocate(denspot%mix)
-+     call ab7_mixing_deallocate(denspot%mix)
-      deallocate(denspot%mix)
-   end if
- end subroutine denspot_free_history
-@@ -396,7 +396,7 @@
-   use module_base
-   use module_types
-   use module_interfaces, except_this_one => allocateRhoPot
--  use m_ab6_mixing
-+  use m_ab7_mixing
-   implicit none
-   integer, intent(in) :: iproc,nspin
-   type(locreg_descriptors), intent(in) :: Glr
-diff -urN bigdft-abi-1.0.4.old/src/init/sysprop.f90 bigdft-abi-1.0.4.new/src/init/sysprop.f90
---- bigdft-abi-1.0.4.old/src/init/sysprop.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/init/sysprop.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -879,7 +879,7 @@
-   use module_base
-   use module_types
-   use module_xc
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   implicit none
-   character (len=*), intent(in) :: fileocc
-   type(atoms_data), intent(inout) :: atoms
-diff -urN bigdft-abi-1.0.4.old/src/input_variables.f90 bigdft-abi-1.0.4.new/src/input_variables.f90
---- bigdft-abi-1.0.4.old/src/input_variables.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/input_variables.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -908,7 +908,7 @@
-   use module_base
-   use module_types
-   use defs_basis
--  use m_ab6_kpoints
-+  use m_ab7_kpoints
-   use module_input
-   implicit none
-   character(len=*), intent(in) :: filename
-@@ -958,7 +958,7 @@
-           comment='Equivalent length of K-space resolution (Bohr)')
-      call kpoints_get_auto_k_grid(sym%symObj, in%nkpt, in%kpt, in%wkpt, &
-           & kptrlen, ierror)
--     if (ierror /= AB6_NO_ERROR) then
-+     if (ierror /= AB7_NO_ERROR) then
-         if (iproc==0) write(*,*) " ERROR in symmetry library. Error code is ", ierror
-         stop
-      end if
-@@ -984,7 +984,7 @@
-      end do
-      call kpoints_get_mp_k_grid(sym%symObj, in%nkpt, in%kpt, in%wkpt, &
-           & ngkpt, nshiftk, shiftk, ierror)
--     if (ierror /= AB6_NO_ERROR) then
-+     if (ierror /= AB7_NO_ERROR) then
-         if (iproc==0) write(*,*) " ERROR in symmetry library. Error code is ", ierror
-         stop
-      end if
-@@ -1126,7 +1126,7 @@
-   use module_base
-   use module_types
-   use defs_basis
--  use m_ab6_kpoints
-+  use m_ab7_kpoints
-   implicit none
-   character(len=*), intent(in) :: filename
-   integer, intent(in) :: iproc
-@@ -1178,11 +1178,11 @@
-      call check()
-      call kpoints_get_auto_k_grid(atoms%sym%symObj, in%nkpt, in%kpt, in%wkpt, &
-           & kptrlen, ierror)
--     if (ierror /= AB6_NO_ERROR) then
-+     if (ierror /= AB7_NO_ERROR) then
-         if (iproc==0) write(*,*) " ERROR in symmetry library. Error code is ", ierror
-         stop
-      end if
--     ! in%kpt and in%wkpt will be allocated by ab6_symmetry routine.
-+     ! in%kpt and in%wkpt will be allocated by ab7_symmetry routine.
-      call memocc(0,in%kpt,'in%kpt',subname)
-      call memocc(0,in%wkpt,'in%wkpt',subname)
-   else if (trim(type) == "MPgrid" .or. trim(type) == "mpgrid") then
-@@ -1198,11 +1198,11 @@
-      if (atoms%geocode == 'F') ngkpt = 1
-      call kpoints_get_mp_k_grid(atoms%sym%symObj, in%nkpt, in%kpt, in%wkpt, &
-           & ngkpt, nshiftk, shiftk, ierror)
--     if (ierror /= AB6_NO_ERROR) then
-+     if (ierror /= AB7_NO_ERROR) then
-         if (iproc==0) write(*,*) " ERROR in symmetry library. Error code is ", ierror
-         stop
-      end if
--     ! in%kpt and in%wkpt will be allocated by ab6_symmetry routine.
-+     ! in%kpt and in%wkpt will be allocated by ab7_symmetry routine.
-      call memocc(0,in%kpt,'in%kpt',subname)
-      call memocc(0,in%wkpt,'in%wkpt',subname)
-   else if (trim(type) == "manual" .or. trim(type) == "Manual") then
-@@ -1858,7 +1858,7 @@
-    use module_base
-    use module_types
-    use module_interfaces, except_this_one => read_atomic_file
--   use m_ab6_symmetry
-+   use m_ab7_symmetry
-    use position_files
-    implicit none
-    character(len=*), intent(in) :: file
-@@ -2430,7 +2430,7 @@
-   use module_base
-   use module_types
-   use module_interfaces, except_this_one => initialize_atomic_file
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   implicit none
-   integer, intent(in) :: iproc
-   type(atoms_data), intent(inout) :: atoms
-diff -urN bigdft-abi-1.0.4.old/src/memguess.f90 bigdft-abi-1.0.4.new/src/memguess.f90
---- bigdft-abi-1.0.4.old/src/memguess.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/memguess.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -16,7 +16,7 @@
-    use module_types
-    use module_interfaces
-    use module_xc
--   use m_ab6_symmetry
-+   use m_ab7_symmetry
- 
-    implicit none
-    character(len=*), parameter :: subname='memguess'
-diff -urN bigdft-abi-1.0.4.old/src/modules/defs.F90 bigdft-abi-1.0.4.new/src/modules/defs.F90
---- bigdft-abi-1.0.4.old/src/modules/defs.F90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/modules/defs.F90	2013-06-11 16:51:00.000000000 +0200
-@@ -1074,7 +1074,7 @@
-     end subroutine herk_double
- 
-     function fnrm_denpot(x,cplex,nfft,nspden,opt_denpot,user_data)
--      use m_ab6_mixing
-+      use m_ab7_mixing
-       implicit none
-       integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-       double precision, intent(in) :: x(*)
-@@ -1084,7 +1084,7 @@
-       double precision :: fnrm_denpot, ar, nrm_local, dnrm2
- 
-       ! In case of density, we use nscatterarr.
--      if (opt_denpot == AB6_MIXING_DENSITY) then
-+      if (opt_denpot == AB7_MIXING_DENSITY) then
-          call MPI_COMM_RANK(MPI_COMM_WORLD,iproc,ierr)
-          if (ierr /= 0) then
-             call MPI_ABORT(MPI_COMM_WORLD, ierr, ie)
-@@ -1125,7 +1125,7 @@
-     end function fnrm_denpot
- 
-     function fdot_denpot(x,y,cplex,nfft,nspden,opt_denpot,user_data)
--      use m_ab6_mixing
-+      use m_ab7_mixing
-       implicit none
-       integer, intent(in) :: cplex,nfft,nspden,opt_denpot
-       double precision, intent(in) :: x(*), y(*)
-@@ -1135,7 +1135,7 @@
-       double precision :: fdot_denpot, ar, dot_local, ddot
- 
-       ! In case of density, we use nscatterarr.
--      if (opt_denpot == AB6_MIXING_DENSITY) then
-+      if (opt_denpot == AB7_MIXING_DENSITY) then
-          call MPI_COMM_RANK(MPI_COMM_WORLD,iproc,ierr)
-          if (ierr /= 0) then
-             call MPI_ABORT(MPI_COMM_WORLD, ierr, ie)
-diff -urN bigdft-abi-1.0.4.old/src/modules/interfaces.f90 bigdft-abi-1.0.4.new/src/modules/interfaces.f90
---- bigdft-abi-1.0.4.old/src/modules/interfaces.f90	2013-01-03 10:10:13.000000000 +0100
-+++ bigdft-abi-1.0.4.new/src/modules/interfaces.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -5857,7 +5857,7 @@
-             energs,rpnrm,xcstr,proj_G,paw)
-          use module_base
-          use module_types
--         use m_ab6_mixing
-+         use m_ab7_mixing
-          implicit none
-          logical, intent(in) :: scf
-          integer, intent(in) :: iproc,nproc,itrp,iscf,ixc,linflag,itwfn
-diff -urN bigdft-abi-1.0.4.old/src/modules/types.f90 bigdft-abi-1.0.4.new/src/modules/types.f90
---- bigdft-abi-1.0.4.old/src/modules/types.f90	2013-01-03 10:18:08.000000000 +0100
-+++ bigdft-abi-1.0.4.new/src/modules/types.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -12,7 +12,7 @@
- !!  and the routines of allocations and de-allocations
- module module_types
- 
--  use m_ab6_mixing, only : ab6_mixing_object
-+  use m_ab7_mixing, only : ab7_mixing_object
-   use module_base, only : gp,wp,dp,tp,uninitialized
-   implicit none
- 
-@@ -828,7 +828,7 @@
-   type, public :: DFT_local_fields
-      real(dp), dimension(:), pointer :: rhov !< generic workspace. What is there is indicated by rhov_is
-      
--     type(ab6_mixing_object), pointer :: mix          !< History of rhov, allocated only when using diagonalisation
-+     type(ab7_mixing_object), pointer :: mix          !< History of rhov, allocated only when using diagonalisation
-      !local fields which are associated to their name
-      !normally given in parallel distribution
-      real(dp), dimension(:,:), pointer :: rho_psi !< density as given by square of el. WFN
-@@ -1658,7 +1658,7 @@
- 
-   subroutine deallocate_symmetry(sym, subname)
-     use module_base
--    use m_ab6_symmetry
-+    use m_ab7_symmetry
-     implicit none
-     type(symmetry_data), intent(inout) :: sym
-     character(len = *), intent(in) :: subname
-diff -urN bigdft-abi-1.0.4.old/src/output.f90 bigdft-abi-1.0.4.new/src/output.f90
---- bigdft-abi-1.0.4.old/src/output.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/output.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -63,7 +63,7 @@
-   use module_base
-   use module_types
-   use defs_basis
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   implicit none
-   !Arguments
-   integer, intent(in) :: nproc
-@@ -71,9 +71,9 @@
-   type(atoms_data), intent(in) :: atoms
- 
-   integer :: nSym, ierr, ityp, iat, i, lg
--  integer :: sym(3, 3, AB6_MAX_SYMMETRIES)
--  integer :: symAfm(AB6_MAX_SYMMETRIES)
--  real(gp) :: transNon(3, AB6_MAX_SYMMETRIES)
-+  integer :: sym(3, 3, AB7_MAX_SYMMETRIES)
-+  integer :: symAfm(AB7_MAX_SYMMETRIES)
-+  real(gp) :: transNon(3, AB7_MAX_SYMMETRIES)
-   real(gp) :: genAfm(3)
-   character(len=15) :: spaceGroup
-   integer :: spaceGroupId, pointGroupMagn
-@@ -138,7 +138,7 @@
-      call symmetry_get_matrices(atoms%sym%symObj, nSym, sym, transNon, symAfm, ierr)
-      call symmetry_get_group(atoms%sym%symObj, spaceGroup, &
-           & spaceGroupId, pointGroupMagn, genAfm, ierr)
--     if (ierr == AB6_ERROR_SYM_NOT_PRIMITIVE) write(spaceGroup, "(A)") "not prim."
-+     if (ierr == AB7_ERROR_SYM_NOT_PRIMITIVE) write(spaceGroup, "(A)") "not prim."
-      write(add(1), '(a,i0)')       "N. sym.   = ", nSym
-      write(add(2), '(a,a,a)')      "Sp. group = ", trim(spaceGroup)
-   else if (atoms%geocode /= 'F' .and. input%disableSym) then
-diff -urN bigdft-abi-1.0.4.old/src/splinedsaddle.f90 bigdft-abi-1.0.4.new/src/splinedsaddle.f90
---- bigdft-abi-1.0.4.old/src/splinedsaddle.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/splinedsaddle.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -14,7 +14,7 @@
-   use module_base
-   use module_types
-   use module_interfaces
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
-   use yaml_output
-   implicit none
-   character(len=*), parameter :: subname='BigDFT'
-diff -urN bigdft-abi-1.0.4.old/src/sumrho.f90 bigdft-abi-1.0.4.new/src/sumrho.f90
---- bigdft-abi-1.0.4.old/src/sumrho.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/sumrho.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -719,7 +719,7 @@
-      sym)
-   use module_base!, only: gp,dp,wp,ndebug,memocc
-   use module_types
--  use m_ab6_symmetry
-+  use m_ab7_symmetry
- 
-   implicit none
-   integer, intent(in) :: iproc,nproc,nspin, n1i, n2i, n3i
-diff -urN bigdft-abi-1.0.4.old/src/test_forces.f90 bigdft-abi-1.0.4.new/src/test_forces.f90
---- bigdft-abi-1.0.4.old/src/test_forces.f90	2012-07-09 16:43:33.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/test_forces.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -22,7 +22,7 @@
-    use module_base
-    use module_types
-    use module_interfaces
--   use m_ab6_symmetry
-+   use m_ab7_symmetry
- 
-    implicit none
-    character(len=*), parameter :: subname='test_forces'
-diff -urN bigdft-abi-1.0.4.old/src/wfn_opt/diis.f90 bigdft-abi-1.0.4.new/src/wfn_opt/diis.f90
---- bigdft-abi-1.0.4.old/src/wfn_opt/diis.f90	2012-08-22 09:55:24.000000000 +0200
-+++ bigdft-abi-1.0.4.new/src/wfn_opt/diis.f90	2013-06-11 16:51:00.000000000 +0200
-@@ -459,13 +459,13 @@
- subroutine mix_rhopot(iproc,nproc,npoints,alphamix,mix,rhopot,istep,&
-      & n1,n2,n3,ucvol,rpnrm,nscatterarr)
-   use module_base
--  use defs_basis, only: AB6_NO_ERROR
--  use m_ab6_mixing
-+  use defs_basis, only: AB7_NO_ERROR
-+  use m_ab7_mixing
-   implicit none
-   integer, intent(in) :: npoints, istep, n1, n2, n3, nproc, iproc
-   real(gp), intent(in) :: alphamix, ucvol
-   integer, dimension(0:nproc-1,4), intent(in) :: nscatterarr
--  type(ab6_mixing_object), intent(inout) :: mix
-+  type(ab7_mixing_object), intent(inout) :: mix
-   real(dp), dimension(npoints), intent(inout) :: rhopot
-   real(gp), intent(out) :: rpnrm
-   !local variables
-@@ -497,10 +497,10 @@
-   end do
- 
-   ! Do the mixing 
--  call ab6_mixing_eval(mix, rhopot, istep, n1 * n2 * n3, ucvol, &
-+  call ab7_mixing_eval(mix, rhopot, istep, n1 * n2 * n3, ucvol, &
-        & MPI_COMM_WORLD, (nproc > 1), ierr, errmess, resnrm = rpnrm, &
-        & fnrm = fnrm_denpot, fdot = fdot_denpot, user_data = user_data)
--  if (ierr /= AB6_NO_ERROR) then
-+  if (ierr /= AB7_NO_ERROR) then
-      if (iproc == 0) write(0,*) errmess
-      call MPI_ABORT(MPI_COMM_WORLD, ierr, ie)
-   end if


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/sci:master commit in: patches/
@ 2020-10-09 10:41 Horea Christian
  0 siblings, 0 replies; 7+ messages in thread
From: Horea Christian @ 2020-10-09 10:41 UTC (permalink / raw
  To: gentoo-commits

commit:     b414dcb4aeff8ee5d9e81560b4090dc185e72000
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Fri Oct  9 10:40:53 2020 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Fri Oct  9 10:40:53 2020 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=b414dcb4

patchers: removed patches directory for packages distributed by ::gentoo

Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 ...cfs-move-mdd-ofd-proc-handling-to-seq_fil.patch | 2082 --------------------
 patches/07_doxygen.patch                           | 1804 -----------------
 2 files changed, 3886 deletions(-)

diff --git a/patches/0002-LU-3319-procfs-move-mdd-ofd-proc-handling-to-seq_fil.patch b/patches/0002-LU-3319-procfs-move-mdd-ofd-proc-handling-to-seq_fil.patch
deleted file mode 100644
index 813446c38..000000000
--- a/patches/0002-LU-3319-procfs-move-mdd-ofd-proc-handling-to-seq_fil.patch
+++ /dev/null
@@ -1,2082 +0,0 @@
-From 9071634fd9db37a6121fdfbd817162f782661202 Mon Sep 17 00:00:00 2001
-From: James Simmons <uja.ornl@gmail.com>
-Date: Mon, 5 May 2014 10:02:21 -0400
-Subject: [PATCH 2/3] LU-3319 procfs: move mdd/ofd proc handling to seq_files
-
-With 3.10 linux kernel and above proc handling now only
-uses struct seq_files. This patch migrates the mdd/ofd
-layer proc entries over to using seq_files.
-
-Signed-off-by: James Simmons <uja.ornl@gmail.com>
-Change-Id: I61b7df6bfd5efd0f12e3ca1a1813b7b62d493168
----
- lustre/include/lustre_lfsck.h  |   6 +-
- lustre/lfsck/lfsck_internal.h  |   9 +-
- lustre/lfsck/lfsck_layout.c    | 132 ++++-------
- lustre/lfsck/lfsck_lib.c       |  88 +++-----
- lustre/lfsck/lfsck_namespace.c |  75 ++-----
- lustre/mdd/mdd_device.c        |  25 +--
- lustre/mdd/mdd_internal.h      |   1 -
- lustre/mdd/mdd_lproc.c         | 302 ++++++++++++-------------
- lustre/ofd/lproc_ofd.c         | 490 +++++++++++++++++++++--------------------
- lustre/ofd/ofd_dev.c           |  90 ++++----
- lustre/ofd/ofd_internal.h      |   6 +-
- 11 files changed, 543 insertions(+), 681 deletions(-)
-
-diff --git a/lustre/include/lustre_lfsck.h b/lustre/include/lustre_lfsck.h
-index 0d6f666..5adbffe 100644
---- a/lustre/include/lustre_lfsck.h
-+++ b/lustre/include/lustre_lfsck.h
-@@ -148,12 +148,12 @@ int lfsck_in_notify(const struct lu_env *env, struct dt_device *key,
- int lfsck_query(const struct lu_env *env, struct dt_device *key,
- 		struct lfsck_request *lr);
- 
--int lfsck_get_speed(struct dt_device *key, void *buf, int len);
-+int lfsck_get_speed(struct seq_file *m, struct dt_device *key);
- int lfsck_set_speed(struct dt_device *key, int val);
--int lfsck_get_windows(struct dt_device *key, void *buf, int len);
-+int lfsck_get_windows(struct seq_file *m, struct dt_device *key);
- int lfsck_set_windows(struct dt_device *key, int val);
- 
--int lfsck_dump(struct dt_device *key, void *buf, int len, enum lfsck_type type);
-+int lfsck_dump(struct seq_file *m, struct dt_device *key, enum lfsck_type type);
- 
- static inline void lfsck_pack_rfa(struct lfsck_request *lr,
- 				  const struct lu_fid *fid)
-diff --git a/lustre/lfsck/lfsck_internal.h b/lustre/lfsck/lfsck_internal.h
-index 24b84ae..203ad74 100644
---- a/lustre/lfsck/lfsck_internal.h
-+++ b/lustre/lfsck/lfsck_internal.h
-@@ -303,8 +303,7 @@ struct lfsck_operations {
- 
- 	int (*lfsck_dump)(const struct lu_env *env,
- 			  struct lfsck_component *com,
--			  char *buf,
--			  int len);
-+			  struct seq_file *m);
- 
- 	int (*lfsck_double_scan)(const struct lu_env *env,
- 				 struct lfsck_component *com);
-@@ -590,10 +589,10 @@ void lfsck_component_cleanup(const struct lu_env *env,
- 			     struct lfsck_component *com);
- void lfsck_instance_cleanup(const struct lu_env *env,
- 			    struct lfsck_instance *lfsck);
--int lfsck_bits_dump(char **buf, int *len, int bits, const char *names[],
-+int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
- 		    const char *prefix);
--int lfsck_time_dump(char **buf, int *len, __u64 time, const char *prefix);
--int lfsck_pos_dump(char **buf, int *len, struct lfsck_position *pos,
-+int lfsck_time_dump(struct seq_file *m, __u64 time, const char *prefix);
-+int lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
- 		   const char *prefix);
- void lfsck_pos_fill(const struct lu_env *env, struct lfsck_instance *lfsck,
- 		    struct lfsck_position *pos, bool init);
-diff --git a/lustre/lfsck/lfsck_layout.c b/lustre/lfsck/lfsck_layout.c
-index ced2e4d..e2df62d 100644
---- a/lustre/lfsck/lfsck_layout.c
-+++ b/lustre/lfsck/lfsck_layout.c
-@@ -492,7 +492,7 @@ static struct lfsck_rbtree_node *lfsck_rbtree_new(const struct lu_env *env,
- 		return ERR_PTR(-ENOMEM);
- 	}
- 
--	rb_init_node(&lrn->lrn_node);
-+	RB_CLEAR_NODE(&lrn->lrn_node);
- 	lrn->lrn_seq = fid_seq(fid);
- 	lrn->lrn_first_oid = fid_oid(fid) & ~LFSCK_RBTREE_BITMAP_MASK;
- 	atomic_set(&lrn->lrn_known_count, 0);
-@@ -4873,69 +4873,53 @@ static int lfsck_layout_slave_post(const struct lu_env *env,
- }
- 
- static int lfsck_layout_dump(const struct lu_env *env,
--			     struct lfsck_component *com, char *buf, int len)
-+			     struct lfsck_component *com, struct seq_file *m)
- {
- 	struct lfsck_instance	*lfsck = com->lc_lfsck;
- 	struct lfsck_bookmark	*bk    = &lfsck->li_bookmark_ram;
- 	struct lfsck_layout	*lo    = com->lc_file_ram;
--	int			 save  = len;
--	int			 ret   = -ENOSPC;
- 	int			 rc;
- 
- 	down_read(&com->lc_sem);
--	rc = snprintf(buf, len,
--		      "name: lfsck_layout\n"
-+	seq_printf(m, "name: lfsck_layout\n"
- 		      "magic: %#x\n"
- 		      "version: %d\n"
- 		      "status: %s\n",
- 		      lo->ll_magic,
- 		      bk->lb_version,
- 		      lfsck_status2names(lo->ll_status));
--	if (rc <= 0)
--		goto out;
- 
--	buf += rc;
--	len -= rc;
--	rc = lfsck_bits_dump(&buf, &len, lo->ll_flags, lfsck_flags_names,
--			     "flags");
-+	rc = lfsck_bits_dump(m, lo->ll_flags, lfsck_flags_names, "flags");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_bits_dump(&buf, &len, bk->lb_param, lfsck_param_names,
--			     "param");
-+	rc = lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_time_dump(&buf, &len, lo->ll_time_last_complete,
-+	rc = lfsck_time_dump(m, lo->ll_time_last_complete,
- 			     "time_since_last_completed");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_time_dump(&buf, &len, lo->ll_time_latest_start,
-+	rc = lfsck_time_dump(m, lo->ll_time_latest_start,
- 			     "time_since_latest_start");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_time_dump(&buf, &len, lo->ll_time_last_checkpoint,
-+	rc = lfsck_time_dump(m, lo->ll_time_last_checkpoint,
- 			     "time_since_last_checkpoint");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = snprintf(buf, len,
--		      "latest_start_position: "LPU64"\n"
-+	seq_printf(m, "latest_start_position: "LPU64"\n"
- 		      "last_checkpoint_position: "LPU64"\n"
- 		      "first_failure_position: "LPU64"\n",
- 		      lo->ll_pos_latest_start,
- 		      lo->ll_pos_last_checkpoint,
- 		      lo->ll_pos_first_inconsistent);
--	if (rc <= 0)
--		goto out;
- 
--	buf += rc;
--	len -= rc;
--
--	rc = snprintf(buf, len,
--		      "success_count: %u\n"
-+	seq_printf(m, "success_count: %u\n"
- 		      "repaired_dangling: "LPU64"\n"
- 		      "repaired_unmatched_pair: "LPU64"\n"
- 		      "repaired_multiple_referenced: "LPU64"\n"
-@@ -4955,11 +4939,6 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 		      lo->ll_objs_skipped,
- 		      lo->ll_objs_failed_phase1,
- 		      lo->ll_objs_failed_phase2);
--	if (rc <= 0)
--		goto out;
--
--	buf += rc;
--	len -= rc;
- 
- 	if (lo->ll_status == LS_SCANNING_PHASE1) {
- 		__u64 pos;
-@@ -4977,8 +4956,7 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 			do_div(new_checked, duration);
- 		if (rtime != 0)
- 			do_div(speed, rtime);
--		rc = snprintf(buf, len,
--			      "checked_phase1: "LPU64"\n"
-+		seq_printf(m, "checked_phase1: "LPU64"\n"
- 			      "checked_phase2: "LPU64"\n"
- 			      "run_time_phase1: %u seconds\n"
- 			      "run_time_phase2: %u seconds\n"
-@@ -4992,11 +4970,6 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 			      lo->ll_run_time_phase2,
- 			      speed,
- 			      new_checked);
--		if (rc <= 0)
--			goto out;
--
--		buf += rc;
--		len -= rc;
- 
- 		LASSERT(lfsck->li_di_oit != NULL);
- 
-@@ -5009,12 +4982,8 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 		pos = iops->store(env, lfsck->li_di_oit);
- 		if (!lfsck->li_current_oit_processed)
- 			pos--;
--		rc = snprintf(buf, len, "current_position: "LPU64"\n", pos);
--		if (rc <= 0)
--			goto out;
-+		seq_printf(m, "current_position: "LPU64"\n", pos);
- 
--		buf += rc;
--		len -= rc;
- 	} else if (lo->ll_status == LS_SCANNING_PHASE2) {
- 		cfs_duration_t duration = cfs_time_current() -
- 					  lfsck->li_time_last_checkpoint;
-@@ -5032,29 +5001,26 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 			do_div(speed1, lo->ll_run_time_phase1);
- 		if (rtime != 0)
- 			do_div(speed2, rtime);
--		rc = snprintf(buf, len,
--			      "checked_phase1: "LPU64"\n"
--			      "checked_phase2: "LPU64"\n"
--			      "run_time_phase1: %u seconds\n"
--			      "run_time_phase2: %u seconds\n"
--			      "average_speed_phase1: "LPU64" items/sec\n"
--			      "average_speed_phase2: "LPU64" items/sec\n"
--			      "real-time_speed_phase1: N/A\n"
--			      "real-time_speed_phase2: "LPU64" items/sec\n"
--			      "current_position: "DFID"\n",
--			      lo->ll_objs_checked_phase1,
--			      checked,
--			      lo->ll_run_time_phase1,
--			      rtime,
--			      speed1,
--			      speed2,
--			      new_checked,
--			      PFID(&com->lc_fid_latest_scanned_phase2));
-+		rc = seq_printf(m, "checked_phase1: "LPU64"\n"
-+				"checked_phase2: "LPU64"\n"
-+				"run_time_phase1: %u seconds\n"
-+				"run_time_phase2: %u seconds\n"
-+				"average_speed_phase1: "LPU64" items/sec\n"
-+				"average_speed_phase2: "LPU64" items/sec\n"
-+				"real-time_speed_phase1: N/A\n"
-+				"real-time_speed_phase2: "LPU64" items/sec\n"
-+				"current_position: "DFID"\n",
-+				lo->ll_objs_checked_phase1,
-+				checked,
-+				lo->ll_run_time_phase1,
-+				rtime,
-+				speed1,
-+				speed2,
-+				new_checked,
-+				PFID(&com->lc_fid_latest_scanned_phase2));
- 		if (rc <= 0)
- 			goto out;
- 
--		buf += rc;
--		len -= rc;
- 	} else {
- 		__u64 speed1 = lo->ll_objs_checked_phase1;
- 		__u64 speed2 = lo->ll_objs_checked_phase2;
-@@ -5063,34 +5029,26 @@ static int lfsck_layout_dump(const struct lu_env *env,
- 			do_div(speed1, lo->ll_run_time_phase1);
- 		if (lo->ll_run_time_phase2 != 0)
- 			do_div(speed2, lo->ll_run_time_phase2);
--		rc = snprintf(buf, len,
--			      "checked_phase1: "LPU64"\n"
--			      "checked_phase2: "LPU64"\n"
--			      "run_time_phase1: %u seconds\n"
--			      "run_time_phase2: %u seconds\n"
--			      "average_speed_phase1: "LPU64" items/sec\n"
--			      "average_speed_phase2: "LPU64" objs/sec\n"
--			      "real-time_speed_phase1: N/A\n"
--			      "real-time_speed_phase2: N/A\n"
--			      "current_position: N/A\n",
--			      lo->ll_objs_checked_phase1,
--			      lo->ll_objs_checked_phase2,
--			      lo->ll_run_time_phase1,
--			      lo->ll_run_time_phase2,
--			      speed1,
--			      speed2);
--		if (rc <= 0)
--			goto out;
--
--		buf += rc;
--		len -= rc;
-+		seq_printf(m, "checked_phase1: "LPU64"\n"
-+			   "checked_phase2: "LPU64"\n"
-+			   "run_time_phase1: %u seconds\n"
-+			   "run_time_phase2: %u seconds\n"
-+			   "average_speed_phase1: "LPU64" items/sec\n"
-+			   "average_speed_phase2: "LPU64" objs/sec\n"
-+			   "real-time_speed_phase1: N/A\n"
-+			   "real-time_speed_phase2: N/A\n"
-+			   "current_position: N/A\n",
-+			   lo->ll_objs_checked_phase1,
-+			   lo->ll_objs_checked_phase2,
-+			   lo->ll_run_time_phase1,
-+			   lo->ll_run_time_phase2,
-+			   speed1,
-+			   speed2);
- 	}
--	ret = save - len;
--
- out:
- 	up_read(&com->lc_sem);
- 
--	return ret;
-+	return rc;
- }
- 
- static int lfsck_layout_master_double_scan(const struct lu_env *env,
-diff --git a/lustre/lfsck/lfsck_lib.c b/lustre/lfsck/lfsck_lib.c
-index db73616..f6f1cce 100644
---- a/lustre/lfsck/lfsck_lib.c
-+++ b/lustre/lfsck/lfsck_lib.c
-@@ -900,21 +900,15 @@ static inline int lfsck_instance_add(struct lfsck_instance *lfsck)
- 	return 0;
- }
- 
--int lfsck_bits_dump(char **buf, int *len, int bits, const char *names[],
-+int lfsck_bits_dump(struct seq_file *m, int bits, const char *names[],
- 		    const char *prefix)
- {
--	int save = *len;
- 	int flag;
--	int rc;
- 	int i;
- 	bool newline = (bits != 0 ? false : true);
- 
--	rc = snprintf(*buf, *len, "%s:%c", prefix, newline ? '\n' : ' ');
--	if (rc <= 0)
--		return -ENOSPC;
-+	seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
- 
--	*buf += rc;
--	*len -= rc;
- 	for (i = 0, flag = 1; bits != 0; i++, flag = 1 << i) {
- 		if (flag & bits) {
- 			bits &= ~flag;
-@@ -922,69 +916,43 @@ int lfsck_bits_dump(char **buf, int *len, int bits, const char *names[],
- 				if (bits == 0)
- 					newline = true;
- 
--				rc = snprintf(*buf, *len, "%s%c", names[i],
--					      newline ? '\n' : ',');
--				if (rc <= 0)
--					return -ENOSPC;
--
--				*buf += rc;
--				*len -= rc;
-+				seq_printf(m, "%s%c", names[i],
-+					   newline ? '\n' : ',');
- 			}
- 		}
- 	}
- 
--	if (!newline) {
--		rc = snprintf(*buf, *len, "\n");
--		if (rc <= 0)
--			return -ENOSPC;
--
--		*buf += rc;
--		*len -= rc;
--	}
--
--	return save - *len;
-+	if (!newline)
-+		seq_printf(m, "\n");
-+	return 0;
- }
- 
--int lfsck_time_dump(char **buf, int *len, __u64 time, const char *prefix)
-+int lfsck_time_dump(struct seq_file *m, __u64 time, const char *prefix)
- {
--	int rc;
--
- 	if (time != 0)
--		rc = snprintf(*buf, *len, "%s: "LPU64" seconds\n", prefix,
--			      cfs_time_current_sec() - time);
-+		seq_printf(m, "%s: "LPU64" seconds\n", prefix,
-+			  cfs_time_current_sec() - time);
- 	else
--		rc = snprintf(*buf, *len, "%s: N/A\n", prefix);
--	if (rc <= 0)
--		return -ENOSPC;
--
--	*buf += rc;
--	*len -= rc;
--	return rc;
-+		seq_printf(m, "%s: N/A\n", prefix);
-+	return 0;
- }
- 
--int lfsck_pos_dump(char **buf, int *len, struct lfsck_position *pos,
-+int lfsck_pos_dump(struct seq_file *m, struct lfsck_position *pos,
- 		   const char *prefix)
- {
--	int rc;
--
- 	if (fid_is_zero(&pos->lp_dir_parent)) {
- 		if (pos->lp_oit_cookie == 0)
--			rc = snprintf(*buf, *len, "%s: N/A, N/A, N/A\n",
--				      prefix);
-+			seq_printf(m, "%s: N/A, N/A, N/A\n",
-+				   prefix);
- 		else
--			rc = snprintf(*buf, *len, "%s: "LPU64", N/A, N/A\n",
--				      prefix, pos->lp_oit_cookie);
-+			seq_printf(m, "%s: "LPU64", N/A, N/A\n",
-+				   prefix, pos->lp_oit_cookie);
- 	} else {
--		rc = snprintf(*buf, *len, "%s: "LPU64", "DFID", "LPU64"\n",
--			      prefix, pos->lp_oit_cookie,
--			      PFID(&pos->lp_dir_parent), pos->lp_dir_cookie);
-+		seq_printf(m, "%s: "LPU64", "DFID", "LPU64"\n",
-+			   prefix, pos->lp_oit_cookie,
-+			   PFID(&pos->lp_dir_parent), pos->lp_dir_cookie);
- 	}
--	if (rc <= 0)
--		return -ENOSPC;
--
--	*buf += rc;
--	*len -= rc;
--	return rc;
-+	return 0;
- }
- 
- void lfsck_pos_fill(const struct lu_env *env, struct lfsck_instance *lfsck,
-@@ -1670,7 +1638,7 @@ int lfsck_async_request(const struct lu_env *env, struct obd_export *exp,
- 
- /* external interfaces */
- 
--int lfsck_get_speed(struct dt_device *key, void *buf, int len)
-+int lfsck_get_speed(struct seq_file *m, struct dt_device *key)
- {
- 	struct lu_env		env;
- 	struct lfsck_instance  *lfsck;
-@@ -1683,8 +1651,7 @@ int lfsck_get_speed(struct dt_device *key, void *buf, int len)
- 
- 	lfsck = lfsck_instance_find(key, true, false);
- 	if (likely(lfsck != NULL)) {
--		rc = snprintf(buf, len, "%u\n",
--			      lfsck->li_bookmark_ram.lb_speed_limit);
-+		seq_printf(m, "%u\n", lfsck->li_bookmark_ram.lb_speed_limit);
- 		lfsck_instance_put(&env, lfsck);
- 	} else {
- 		rc = -ENXIO;
-@@ -1724,7 +1691,7 @@ int lfsck_set_speed(struct dt_device *key, int val)
- }
- EXPORT_SYMBOL(lfsck_set_speed);
- 
--int lfsck_get_windows(struct dt_device *key, void *buf, int len)
-+int lfsck_get_windows(struct seq_file *m, struct dt_device *key)
- {
- 	struct lu_env		env;
- 	struct lfsck_instance  *lfsck;
-@@ -1737,8 +1704,7 @@ int lfsck_get_windows(struct dt_device *key, void *buf, int len)
- 
- 	lfsck = lfsck_instance_find(key, true, false);
- 	if (likely(lfsck != NULL)) {
--		rc = snprintf(buf, len, "%u\n",
--			      lfsck->li_bookmark_ram.lb_async_windows);
-+		seq_printf(m, "%u\n", lfsck->li_bookmark_ram.lb_async_windows);
- 		lfsck_instance_put(&env, lfsck);
- 	} else {
- 		rc = -ENXIO;
-@@ -1788,7 +1754,7 @@ int lfsck_set_windows(struct dt_device *key, int val)
- }
- EXPORT_SYMBOL(lfsck_set_windows);
- 
--int lfsck_dump(struct dt_device *key, void *buf, int len, enum lfsck_type type)
-+int lfsck_dump(struct seq_file *m, struct dt_device *key, enum lfsck_type type)
- {
- 	struct lu_env		env;
- 	struct lfsck_instance  *lfsck;
-@@ -1804,7 +1770,7 @@ int lfsck_dump(struct dt_device *key, void *buf, int len, enum lfsck_type type)
- 	if (likely(lfsck != NULL)) {
- 		com = lfsck_component_find(lfsck, type);
- 		if (likely(com != NULL)) {
--			rc = com->lc_ops->lfsck_dump(&env, com, buf, len);
-+			rc = com->lc_ops->lfsck_dump(&env, com, m);
- 			lfsck_component_put(&env, com);
- 		} else {
- 			rc = -ENOTSUPP;
-diff --git a/lustre/lfsck/lfsck_namespace.c b/lustre/lfsck/lfsck_namespace.c
-index 4dccb70..fc9a0dc 100644
---- a/lustre/lfsck/lfsck_namespace.c
-+++ b/lustre/lfsck/lfsck_namespace.c
-@@ -1099,65 +1099,56 @@ static int lfsck_namespace_post(const struct lu_env *env,
- 
- static int
- lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
--		     char *buf, int len)
-+		     struct seq_file *m)
- {
- 	struct lfsck_instance	*lfsck = com->lc_lfsck;
- 	struct lfsck_bookmark	*bk    = &lfsck->li_bookmark_ram;
- 	struct lfsck_namespace	*ns    = com->lc_file_ram;
--	int			 save  = len;
--	int			 ret   = -ENOSPC;
- 	int			 rc;
- 
- 	down_read(&com->lc_sem);
--	rc = snprintf(buf, len,
--		      "name: lfsck_namespace\n"
--		      "magic: %#x\n"
--		      "version: %d\n"
--		      "status: %s\n",
--		      ns->ln_magic,
--		      bk->lb_version,
--		      lfsck_status2names(ns->ln_status));
--	if (rc <= 0)
--		goto out;
--
--	buf += rc;
--	len -= rc;
--	rc = lfsck_bits_dump(&buf, &len, ns->ln_flags, lfsck_flags_names,
--			     "flags");
-+	seq_printf(m, "name: lfsck_namespace\n"
-+		   "magic: %#x\n"
-+		   "version: %d\n"
-+		   "status: %s\n",
-+		   ns->ln_magic,
-+		   bk->lb_version,
-+		   lfsck_status2names(ns->ln_status));
-+
-+	rc = lfsck_bits_dump(m, ns->ln_flags, lfsck_flags_names, "flags");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_bits_dump(&buf, &len, bk->lb_param, lfsck_param_names,
--			     "param");
-+	rc = lfsck_bits_dump(m, bk->lb_param, lfsck_param_names, "param");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_time_dump(&buf, &len, ns->ln_time_last_complete,
-+	rc = lfsck_time_dump(m, ns->ln_time_last_complete,
- 			     "time_since_last_completed");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_time_dump(&buf, &len, ns->ln_time_latest_start,
-+	rc = lfsck_time_dump(m, ns->ln_time_latest_start,
- 			     "time_since_latest_start");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_time_dump(&buf, &len, ns->ln_time_last_checkpoint,
-+	rc = lfsck_time_dump(m, ns->ln_time_last_checkpoint,
- 			     "time_since_last_checkpoint");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_pos_dump(&buf, &len, &ns->ln_pos_latest_start,
-+	rc = lfsck_pos_dump(m, &ns->ln_pos_latest_start,
- 			    "latest_start_position");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_pos_dump(&buf, &len, &ns->ln_pos_last_checkpoint,
-+	rc = lfsck_pos_dump(m, &ns->ln_pos_last_checkpoint,
- 			    "last_checkpoint_position");
- 	if (rc < 0)
- 		goto out;
- 
--	rc = lfsck_pos_dump(&buf, &len, &ns->ln_pos_first_inconsistent,
-+	rc = lfsck_pos_dump(m, &ns->ln_pos_first_inconsistent,
- 			    "first_failure_position");
- 	if (rc < 0)
- 		goto out;
-@@ -1177,8 +1168,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			do_div(new_checked, duration);
- 		if (rtime != 0)
- 			do_div(speed, rtime);
--		rc = snprintf(buf, len,
--			      "checked_phase1: "LPU64"\n"
-+		seq_printf(m, "checked_phase1: "LPU64"\n"
- 			      "checked_phase2: "LPU64"\n"
- 			      "updated_phase1: "LPU64"\n"
- 			      "updated_phase2: "LPU64"\n"
-@@ -1214,11 +1204,6 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			      ns->ln_run_time_phase2,
- 			      speed,
- 			      new_checked);
--		if (rc <= 0)
--			goto out;
--
--		buf += rc;
--		len -= rc;
- 
- 		LASSERT(lfsck->li_di_oit != NULL);
- 
-@@ -1247,9 +1232,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			pos.lp_dir_cookie = 0;
- 		}
- 		spin_unlock(&lfsck->li_lock);
--		rc = lfsck_pos_dump(&buf, &len, &pos, "current_position");
--		if (rc <= 0)
--			goto out;
-+		lfsck_pos_dump(m, &pos, "current_position");
- 	} else if (ns->ln_status == LS_SCANNING_PHASE2) {
- 		cfs_duration_t duration = cfs_time_current() -
- 					  lfsck->li_time_last_checkpoint;
-@@ -1267,8 +1250,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			do_div(speed1, ns->ln_run_time_phase1);
- 		if (rtime != 0)
- 			do_div(speed2, rtime);
--		rc = snprintf(buf, len,
--			      "checked_phase1: "LPU64"\n"
-+		seq_printf(m, "checked_phase1: "LPU64"\n"
- 			      "checked_phase2: "LPU64"\n"
- 			      "updated_phase1: "LPU64"\n"
- 			      "updated_phase2: "LPU64"\n"
-@@ -1307,11 +1289,6 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			      speed2,
- 			      new_checked,
- 			      PFID(&ns->ln_fid_latest_scanned_phase2));
--		if (rc <= 0)
--			goto out;
--
--		buf += rc;
--		len -= rc;
- 	} else {
- 		__u64 speed1 = ns->ln_items_checked;
- 		__u64 speed2 = ns->ln_objs_checked_phase2;
-@@ -1320,8 +1297,7 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			do_div(speed1, ns->ln_run_time_phase1);
- 		if (ns->ln_run_time_phase2 != 0)
- 			do_div(speed2, ns->ln_run_time_phase2);
--		rc = snprintf(buf, len,
--			      "checked_phase1: "LPU64"\n"
-+		seq_printf(m, "checked_phase1: "LPU64"\n"
- 			      "checked_phase2: "LPU64"\n"
- 			      "updated_phase1: "LPU64"\n"
- 			      "updated_phase2: "LPU64"\n"
-@@ -1358,17 +1334,10 @@ lfsck_namespace_dump(const struct lu_env *env, struct lfsck_component *com,
- 			      ns->ln_run_time_phase2,
- 			      speed1,
- 			      speed2);
--		if (rc <= 0)
--			goto out;
--
--		buf += rc;
--		len -= rc;
- 	}
--	ret = save - len;
--
- out:
- 	up_read(&com->lc_sem);
--	return ret;
-+	return 0;
- }
- 
- static int lfsck_namespace_double_scan_main(void *args)
-diff --git a/lustre/mdd/mdd_device.c b/lustre/mdd/mdd_device.c
-index 4f0baa4..f6deaca 100644
---- a/lustre/mdd/mdd_device.c
-+++ b/lustre/mdd/mdd_device.c
-@@ -889,16 +889,16 @@ static int mdd_process_config(const struct lu_env *env,
-         ENTRY;
- 
-         switch (cfg->lcfg_command) {
--        case LCFG_PARAM: {
--                struct lprocfs_static_vars lvars;
--
--                lprocfs_mdd_init_vars(&lvars);
--                rc = class_process_proc_param(PARAM_MDD, lvars.obd_vars, cfg,m);
--                if (rc > 0 || rc == -ENOSYS)
--                        /* we don't understand; pass it on */
--                        rc = next->ld_ops->ldo_process_config(env, next, cfg);
--                break;
--        }
-+	case LCFG_PARAM: {
-+		struct obd_device *obd = mdd2obd_dev(m);
-+
-+		rc = class_process_proc_seq_param(PARAM_MDD, obd->obd_vars,
-+						  cfg, m);
-+		if (rc > 0 || rc == -ENOSYS)
-+			/* we don't understand; pass it on */
-+			rc = next->ld_ops->ldo_process_config(env, next, cfg);
-+		break;
-+	}
-         case LCFG_SETUP:
-                 rc = next->ld_ops->ldo_process_config(env, next, cfg);
-                 if (rc)
-@@ -1566,11 +1566,8 @@ LU_CONTEXT_KEY_DEFINE(mdd, LCT_MD_THREAD);
- 
- static int __init mdd_mod_init(void)
- {
--	struct lprocfs_static_vars lvars;
- 	int rc;
- 
--	lprocfs_mdd_init_vars(&lvars);
--
- 	rc = lu_kmem_init(mdd_caches);
- 	if (rc)
- 		return rc;
-@@ -1586,7 +1583,7 @@ static int __init mdd_mod_init(void)
- 
- 	rc = class_register_type(&mdd_obd_device_ops, NULL, true, NULL,
- #ifndef HAVE_ONLY_PROCFS_SEQ
--				 lvars.module_vars,
-+				 NULL,
- #endif
- 				 LUSTRE_MDD_NAME, &mdd_device_type);
- 	if (rc)
-diff --git a/lustre/mdd/mdd_internal.h b/lustre/mdd/mdd_internal.h
-index 4411892..37698f8 100644
---- a/lustre/mdd/mdd_internal.h
-+++ b/lustre/mdd/mdd_internal.h
-@@ -248,7 +248,6 @@ int orph_declare_index_delete(const struct lu_env *, struct mdd_object *,
-                               struct thandle *);
- 
- /* mdd_lproc.c */
--void lprocfs_mdd_init_vars(struct lprocfs_static_vars *lvars);
- int mdd_procfs_init(struct mdd_device *mdd, const char *name);
- int mdd_procfs_fini(struct mdd_device *mdd);
- 
-diff --git a/lustre/mdd/mdd_lproc.c b/lustre/mdd/mdd_lproc.c
-index de379b3..7ac4afa 100644
---- a/lustre/mdd/mdd_lproc.c
-+++ b/lustre/mdd/mdd_lproc.c
-@@ -49,56 +49,14 @@
- #include <libcfs/libcfs_string.h>
- #include "mdd_internal.h"
- 
--int mdd_procfs_init(struct mdd_device *mdd, const char *name)
--{
--        struct lprocfs_static_vars lvars;
--        struct obd_type     *type;
--        int                  rc;
--        ENTRY;
--
--	/* at the moment there is no linkage between lu_type
--	 * and obd_type, so we lookup obd_type this way */
--	type = class_search_type(LUSTRE_MDD_NAME);
--
--        LASSERT(name != NULL);
--        LASSERT(type != NULL);
--
--        /* Find the type procroot and add the proc entry for this device */
--        lprocfs_mdd_init_vars(&lvars);
--        mdd->mdd_proc_entry = lprocfs_register(name, type->typ_procroot,
--                                               lvars.obd_vars, mdd);
--        if (IS_ERR(mdd->mdd_proc_entry)) {
--                rc = PTR_ERR(mdd->mdd_proc_entry);
--                CERROR("Error %d setting up lprocfs for %s\n",
--                       rc, name);
--                mdd->mdd_proc_entry = NULL;
--                GOTO(out, rc);
--        }
--
--	rc = 0;
--
--        EXIT;
--out:
--        if (rc)
--               mdd_procfs_fini(mdd);
--        return rc;
--}
--
--int mdd_procfs_fini(struct mdd_device *mdd)
--{
--        if (mdd->mdd_proc_entry) {
--                 lprocfs_remove(&mdd->mdd_proc_entry);
--                 mdd->mdd_proc_entry = NULL;
--        }
--        RETURN(0);
--}
--
--static int lprocfs_wr_atime_diff(struct file *file, const char *buffer,
--                                 unsigned long count, void *data)
-+static ssize_t
-+mdd_atime_diff_seq_write(struct file *file, const char *buffer,
-+			 size_t count, loff_t *off)
- {
--        struct mdd_device *mdd = data;
--        char kernbuf[20], *end;
--        unsigned long diff = 0;
-+	struct seq_file *m = file->private_data;
-+	struct mdd_device *mdd = m->private;
-+	char kernbuf[20], *end;
-+	unsigned long diff = 0;
- 
-         if (count > (sizeof(kernbuf) - 1))
-                 return -EINVAL;
-@@ -116,37 +74,35 @@ static int lprocfs_wr_atime_diff(struct file *file, const char *buffer,
-         return count;
- }
- 
--static int lprocfs_rd_atime_diff(char *page, char **start, off_t off,
--                                 int count, int *eof, void *data)
-+static int mdd_atime_diff_seq_show(struct seq_file *m, void *data)
- {
--        struct mdd_device *mdd = data;
-+	struct mdd_device *mdd = m->private;
- 
--        *eof = 1;
--        return snprintf(page, count, "%lu\n", mdd->mdd_atime_diff);
-+	return seq_printf(m, "%lu\n", mdd->mdd_atime_diff);
- }
--
-+LPROC_SEQ_FOPS(mdd_atime_diff);
- 
- /**** changelogs ****/
--static int lprocfs_rd_changelog_mask(char *page, char **start, off_t off,
--                                     int count, int *eof, void *data)
-+static int mdd_changelog_mask_seq_show(struct seq_file *m, void *data)
- {
--        struct mdd_device *mdd = data;
--        int i = 0, rc = 0;
--
--        *eof = 1;
--        while (i < CL_LAST) {
--                if (mdd->mdd_cl.mc_mask & (1 << i))
--                        rc += snprintf(page + rc, count - rc, "%s ",
--                                       changelog_type2str(i));
--                i++;
--        }
--        return rc;
-+	struct mdd_device *mdd = m->private;
-+	int i = 0;
-+
-+	while (i < CL_LAST) {
-+		if (mdd->mdd_cl.mc_mask & (1 << i))
-+			seq_printf(m, "%s ", changelog_type2str(i));
-+		i++;
-+	}
-+	seq_printf(m, "\n");
-+	return 0;
- }
- 
--static int lprocfs_wr_changelog_mask(struct file *file, const char *buffer,
--				     unsigned long count, void *data)
-+static ssize_t
-+mdd_changelog_mask_seq_write(struct file *file, const char *buffer,
-+			     size_t count, loff_t *off)
- {
--	struct mdd_device *mdd = data;
-+	struct seq_file *m = file->private_data;
-+	struct mdd_device *mdd = m->private;
- 	char *kernbuf;
- 	int rc;
- 	ENTRY;
-@@ -168,45 +124,32 @@ out:
- 	OBD_FREE(kernbuf, PAGE_CACHE_SIZE);
- 	return rc;
- }
--
--struct cucb_data {
--        char *page;
--        int count;
--        int idx;
--};
-+LPROC_SEQ_FOPS(mdd_changelog_mask);
- 
- static int lprocfs_changelog_users_cb(const struct lu_env *env,
- 				      struct llog_handle *llh,
- 				      struct llog_rec_hdr *hdr, void *data)
- {
--        struct llog_changelog_user_rec *rec;
--        struct cucb_data *cucb = (struct cucb_data *)data;
-+	struct llog_changelog_user_rec *rec;
-+	struct seq_file *m = data;
- 
--        LASSERT(llh->lgh_hdr->llh_flags & LLOG_F_IS_PLAIN);
-+	LASSERT(llh->lgh_hdr->llh_flags & LLOG_F_IS_PLAIN);
- 
--        rec = (struct llog_changelog_user_rec *)hdr;
-+	rec = (struct llog_changelog_user_rec *)hdr;
- 
--        cucb->idx += snprintf(cucb->page + cucb->idx, cucb->count - cucb->idx,
--                              CHANGELOG_USER_PREFIX"%-3d "LPU64"\n",
--                              rec->cur_id, rec->cur_endrec);
--        if (cucb->idx >= cucb->count)
--                return -ENOSPC;
--
--        return 0;
-+	seq_printf(m, CHANGELOG_USER_PREFIX"%-3d "LPU64"\n",
-+		   rec->cur_id, rec->cur_endrec);
-+	return 0;
- }
- 
--static int lprocfs_rd_changelog_users(char *page, char **start, off_t off,
--                                      int count, int *eof, void *data)
-+static int mdd_changelog_users_seq_show(struct seq_file *m, void *data)
- {
- 	struct lu_env		 env;
--	struct mdd_device	*mdd = data;
-+	struct mdd_device	*mdd = m->private;
- 	struct llog_ctxt	*ctxt;
--	struct cucb_data	 cucb;
- 	__u64			 cur;
- 	int			 rc;
- 
--        *eof = 1;
--
-         ctxt = llog_get_context(mdd2obd_dev(mdd),
- 				LLOG_CHANGELOG_USER_ORIG_CTXT);
-         if (ctxt == NULL)
-@@ -223,37 +166,32 @@ static int lprocfs_rd_changelog_users(char *page, char **start, off_t off,
- 	cur = mdd->mdd_cl.mc_index;
- 	spin_unlock(&mdd->mdd_cl.mc_lock);
- 
--        cucb.count = count;
--        cucb.page = page;
--        cucb.idx = 0;
--
--        cucb.idx += snprintf(cucb.page + cucb.idx, cucb.count - cucb.idx,
--                              "current index: "LPU64"\n", cur);
--
--        cucb.idx += snprintf(cucb.page + cucb.idx, cucb.count - cucb.idx,
--                              "%-5s %s\n", "ID", "index");
-+	seq_printf(m, "current index: "LPU64"\n", cur);
-+	seq_printf(m, "%-5s %s\n", "ID", "index");
- 
- 	llog_cat_process(&env, ctxt->loc_handle, lprocfs_changelog_users_cb,
--			 &cucb, 0, 0);
-+			 m, 0, 0);
- 
- 	lu_env_fini(&env);
- 	llog_ctxt_put(ctxt);
--	return cucb.idx;
-+	return 0;
- }
-+LPROC_SEQ_FOPS_RO(mdd_changelog_users);
- 
--static int lprocfs_rd_sync_perm(char *page, char **start, off_t off,
--                                int count, int *eof, void *data)
-+static int mdd_sync_perm_seq_show(struct seq_file *m, void *data)
- {
--        struct mdd_device *mdd = data;
-+	struct mdd_device *mdd = m->private;
- 
--        LASSERT(mdd != NULL);
--        return snprintf(page, count, "%d\n", mdd->mdd_sync_permission);
-+	LASSERT(mdd != NULL);
-+	return seq_printf(m, "%d\n", mdd->mdd_sync_permission);
- }
- 
--static int lprocfs_wr_sync_perm(struct file *file, const char *buffer,
--                                unsigned long count, void *data)
-+static ssize_t
-+mdd_sync_perm_seq_write(struct file *file, const char *buffer,
-+			size_t count, loff_t *off)
- {
--        struct mdd_device *mdd = data;
-+	struct seq_file *m = file->private_data;
-+	struct mdd_device *mdd = m->private;
-         int val, rc;
- 
-         LASSERT(mdd != NULL);
-@@ -264,22 +202,22 @@ static int lprocfs_wr_sync_perm(struct file *file, const char *buffer,
-         mdd->mdd_sync_permission = !!val;
-         return count;
- }
-+LPROC_SEQ_FOPS(mdd_sync_perm);
- 
--static int lprocfs_rd_lfsck_speed_limit(char *page, char **start, off_t off,
--					int count, int *eof, void *data)
-+static int mdd_lfsck_speed_limit_seq_show(struct seq_file *m, void *data)
- {
--	struct mdd_device *mdd = data;
-+	struct mdd_device *mdd = m->private;
- 
- 	LASSERT(mdd != NULL);
--	*eof = 1;
--
--	return lfsck_get_speed(mdd->mdd_bottom, page, count);
-+	return lfsck_get_speed(m, mdd->mdd_bottom);
- }
- 
--static int lprocfs_wr_lfsck_speed_limit(struct file *file, const char *buffer,
--					unsigned long count, void *data)
-+static ssize_t
-+mdd_lfsck_speed_limit_seq_write(struct file *file, const char *buffer,
-+				size_t count, loff_t *off)
- {
--	struct mdd_device *mdd = data;
-+	struct seq_file *m = file->private_data;
-+	struct mdd_device *mdd = m->private;
- 	__u32 val;
- 	int rc;
- 
-@@ -291,25 +229,22 @@ static int lprocfs_wr_lfsck_speed_limit(struct file *file, const char *buffer,
- 	rc = lfsck_set_speed(mdd->mdd_bottom, val);
- 	return rc != 0 ? rc : count;
- }
-+LPROC_SEQ_FOPS(mdd_lfsck_speed_limit);
- 
--static int lprocfs_rd_lfsck_async_windows(char *page, char **start, off_t off,
--					  int count, int *eof, void *data)
-+static int mdd_lfsck_async_windows_seq_show(struct seq_file *m, void *data)
- {
--	struct mdd_device *mdd = data;
--	int		   rc;
-+	struct mdd_device *mdd = m->private;
- 
- 	LASSERT(mdd != NULL);
--	*eof = 1;
--
--	rc = lfsck_get_windows(mdd->mdd_bottom, page, count);
--
--	return rc != 0 ? rc : count;
-+	return lfsck_get_windows(m, mdd->mdd_bottom);
- }
- 
--static int lprocfs_wr_lfsck_async_windows(struct file *file, const char *buffer,
--					  unsigned long count, void *data)
-+static ssize_t
-+mdd_lfsck_async_windows_seq_write(struct file *file, const char *buffer,
-+				  size_t count, loff_t *off)
- {
--	struct mdd_device *mdd = data;
-+	struct seq_file   *m = file->private_data;
-+	struct mdd_device *mdd = m->private;
- 	__u32		   val;
- 	int		   rc;
- 
-@@ -320,54 +255,87 @@ static int lprocfs_wr_lfsck_async_windows(struct file *file, const char *buffer,
- 
- 	return rc != 0 ? rc : count;
- }
-+LPROC_SEQ_FOPS(mdd_lfsck_async_windows);
- 
--static int lprocfs_rd_lfsck_namespace(char *page, char **start, off_t off,
--				      int count, int *eof, void *data)
-+static int mdd_lfsck_namespace_seq_show(struct seq_file *m, void *data)
- {
--	struct mdd_device *mdd = data;
--	int rc;
-+	struct mdd_device *mdd = m->private;
- 
- 	LASSERT(mdd != NULL);
--	*eof = 1;
- 
--	rc = lfsck_dump(mdd->mdd_bottom, page, count, LT_NAMESPACE);
--	return rc;
-+	return lfsck_dump(m, mdd->mdd_bottom, LT_NAMESPACE);
- }
-+LPROC_SEQ_FOPS_RO(mdd_lfsck_namespace);
- 
--static int lprocfs_rd_lfsck_layout(char *page, char **start, off_t off,
--				   int count, int *eof, void *data)
-+static int mdd_lfsck_layout_seq_show(struct seq_file *m, void *data)
- {
--	struct mdd_device *mdd = data;
-+	struct mdd_device *mdd = m->private;
- 
- 	LASSERT(mdd != NULL);
--	*eof = 1;
- 
--	return lfsck_dump(mdd->mdd_bottom, page, count, LT_LAYOUT);
-+	return lfsck_dump(m, mdd->mdd_bottom, LT_LAYOUT);
- }
--
--static struct lprocfs_vars lprocfs_mdd_obd_vars[] = {
--        { "atime_diff",      lprocfs_rd_atime_diff, lprocfs_wr_atime_diff, 0 },
--        { "changelog_mask",  lprocfs_rd_changelog_mask,
--                             lprocfs_wr_changelog_mask, 0 },
--        { "changelog_users", lprocfs_rd_changelog_users, 0, 0},
--        { "sync_permission", lprocfs_rd_sync_perm, lprocfs_wr_sync_perm, 0 },
--	{ "lfsck_speed_limit", lprocfs_rd_lfsck_speed_limit,
--			       lprocfs_wr_lfsck_speed_limit, 0 },
--	{ "lfsck_async_windows", lprocfs_rd_lfsck_async_windows,
--				 lprocfs_wr_lfsck_async_windows, 0 },
--	{ "lfsck_namespace", lprocfs_rd_lfsck_namespace, 0, 0 },
--	{ "lfsck_layout", lprocfs_rd_lfsck_layout, 0, 0 },
-+LPROC_SEQ_FOPS_RO(mdd_lfsck_layout);
-+
-+static struct lprocfs_seq_vars lprocfs_mdd_obd_vars[] = {
-+	{ .name =	"atime_diff",
-+	  .fops =	&mdd_atime_diff_fops		},
-+	{ .name =	"changelog_mask",
-+	  .fops =	&mdd_changelog_mask_fops	},
-+	{ .name =	"changelog_users",
-+	  .fops =	&mdd_changelog_users_fops	},
-+	{ .name =	"sync_permission",
-+	  .fops =	&mdd_sync_perm_fops		},
-+	{ .name =	"lfsck_speed_limit",
-+	  .fops =	&mdd_lfsck_speed_limit_fops	},
-+	{ .name =	"lfsck_async_windows",
-+	  .fops =	&mdd_lfsck_async_windows_fops	},
-+	{ .name =	"lfsck_namespace",
-+	  .fops =	&mdd_lfsck_namespace_fops	},
-+	{ .name	=	"lfsck_layout",
-+	  .fops	=	&mdd_lfsck_layout_fops		},
- 	{ 0 }
- };
- 
--static struct lprocfs_vars lprocfs_mdd_module_vars[] = {
--        { "num_refs",   lprocfs_rd_numrefs, 0, 0 },
--        { 0 }
--};
--
--void lprocfs_mdd_init_vars(struct lprocfs_static_vars *lvars)
-+int mdd_procfs_init(struct mdd_device *mdd, const char *name)
- {
--        lvars->module_vars  = lprocfs_mdd_module_vars;
--        lvars->obd_vars     = lprocfs_mdd_obd_vars;
-+	struct obd_device *obd = class_name2obd(name);
-+	struct obd_type   *type;
-+	int		   rc;
-+	ENTRY;
-+
-+	/* at the moment there is no linkage between lu_type
-+	 * and obd_type, so we lookup obd_type this way */
-+	type = class_search_type(LUSTRE_MDD_NAME);
-+
-+	LASSERT(name != NULL);
-+	LASSERT(type != NULL);
-+	LASSERT(obd  != NULL);
-+
-+	/* Find the type procroot and add the proc entry for this device */
-+	obd->obd_vars = lprocfs_mdd_obd_vars;
-+	mdd->mdd_proc_entry = lprocfs_seq_register(name, type->typ_procroot,
-+						   obd->obd_vars, mdd);
-+	if (IS_ERR(mdd->mdd_proc_entry)) {
-+		rc = PTR_ERR(mdd->mdd_proc_entry);
-+		CERROR("Error %d setting up lprocfs for %s\n",
-+		       rc, name);
-+		mdd->mdd_proc_entry = NULL;
-+		GOTO(out, rc);
-+	}
-+	rc = 0;
-+	EXIT;
-+out:
-+	if (rc)
-+		mdd_procfs_fini(mdd);
-+	return rc;
- }
- 
-+int mdd_procfs_fini(struct mdd_device *mdd)
-+{
-+	if (mdd->mdd_proc_entry) {
-+		lprocfs_remove(&mdd->mdd_proc_entry);
-+		mdd->mdd_proc_entry = NULL;
-+	}
-+	RETURN(0);
-+}
-diff --git a/lustre/ofd/lproc_ofd.c b/lustre/ofd/lproc_ofd.c
-index 359b373..fcde82a 100644
---- a/lustre/ofd/lproc_ofd.c
-+++ b/lustre/ofd/lproc_ofd.c
-@@ -47,81 +47,75 @@
- 
- #ifdef LPROCFS
- 
--static int lprocfs_ofd_rd_seqs(char *page, char **start, off_t off,
--				int count, int *eof, void *data)
-+static int ofd_seqs_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	*eof = 1;
--	return snprintf(page, count, "%u\n", ofd->ofd_seq_count);
-+	return seq_printf(m, "%u\n", ofd->ofd_seq_count);
- }
-+LPROC_SEQ_FOPS_RO(ofd_seqs);
- 
--static int lprocfs_ofd_rd_tot_dirty(char *page, char **start, off_t off,
--				    int count, int *eof, void *data)
-+static int ofd_tot_dirty_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd;
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	*eof = 1;
--	return snprintf(page, count, LPU64"\n", ofd->ofd_tot_dirty);
-+	return seq_printf(m, LPU64"\n", ofd->ofd_tot_dirty);
- }
-+LPROC_SEQ_FOPS_RO(ofd_tot_dirty);
- 
--static int lprocfs_ofd_rd_tot_granted(char *page, char **start, off_t off,
--				      int count, int *eof, void *data)
-+static int ofd_tot_granted_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd;
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	*eof = 1;
--	return snprintf(page, count, LPU64"\n", ofd->ofd_tot_granted);
-+	return seq_printf(m, LPU64"\n", ofd->ofd_tot_granted);
- }
-+LPROC_SEQ_FOPS_RO(ofd_tot_granted);
- 
--static int lprocfs_ofd_rd_tot_pending(char *page, char **start, off_t off,
--				      int count, int *eof, void *data)
-+static int ofd_tot_pending_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd;
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	*eof = 1;
--	return snprintf(page, count, LPU64"\n", ofd->ofd_tot_pending);
-+	return seq_printf(m, LPU64"\n", ofd->ofd_tot_pending);
- }
-+LPROC_SEQ_FOPS_RO(ofd_tot_pending);
- 
--static int lprocfs_ofd_rd_grant_precreate(char *page, char **start, off_t off,
--					  int count, int *eof, void *data)
-+static int ofd_grant_precreate_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 
- 	LASSERT(obd != NULL);
--	*eof = 1;
--	return snprintf(page, count, "%ld\n",
--			obd->obd_self_export->exp_filter_data.fed_grant);
-+	return seq_printf(m, "%ld\n",
-+			  obd->obd_self_export->exp_filter_data.fed_grant);
- }
-+LPROC_SEQ_FOPS_RO(ofd_grant_precreate);
- 
--static int lprocfs_ofd_rd_grant_ratio(char *page, char **start, off_t off,
--				      int count, int *eof, void *data)
-+static int ofd_grant_ratio_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd;
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	*eof = 1;
--	return snprintf(page, count, "%d%%\n",
--			(int) ofd_grant_reserved(ofd, 100));
-+	return seq_printf(m, "%d%%\n",
-+			  (int) ofd_grant_reserved(ofd, 100));
- }
- 
--static int lprocfs_ofd_wr_grant_ratio(struct file *file,
--				      const char __user *buffer,
--				      unsigned long count, void *data)
-+static ssize_t
-+ofd_grant_ratio_seq_write(struct file *file, const char __user *buffer,
-+			  size_t count, loff_t *off)
- {
--	struct obd_device	*obd = (struct obd_device *)data;
-+	struct seq_file         *m = file->private_data;
-+	struct obd_device       *obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	int			 val;
- 	int			 rc;
-@@ -145,24 +139,24 @@ static int lprocfs_ofd_wr_grant_ratio(struct file *file,
- 	spin_unlock(&ofd->ofd_grant_lock);
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_grant_ratio);
- 
--static int lprocfs_ofd_rd_precreate_batch(char *page, char **start, off_t off,
--					  int count, int *eof, void *data)
-+static int ofd_precreate_batch_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd;
- 
- 	LASSERT(obd != NULL);
- 	ofd = ofd_dev(obd->obd_lu_dev);
--	*eof = 1;
--	return snprintf(page, count, "%d\n", ofd->ofd_precreate_batch);
-+	return seq_printf(m, "%d\n", ofd->ofd_precreate_batch);
- }
- 
--static int lprocfs_ofd_wr_precreate_batch(struct file *file,
--					  const char __user *buffer,
--					  unsigned long count, void *data)
-+static ssize_t
-+ofd_precreate_batch_seq_write(struct file *file, const char __user *buffer,
-+			      size_t count, loff_t *off)
- {
--	struct obd_device *obd = (struct obd_device *)data;
-+	struct seq_file	  *m = file->private_data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 	int val;
- 	int rc;
-@@ -179,11 +173,11 @@ static int lprocfs_ofd_wr_precreate_batch(struct file *file,
- 	spin_unlock(&ofd->ofd_batch_lock);
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_precreate_batch);
- 
--static int lprocfs_ofd_rd_last_id(char *page, char **start, off_t off,
--				  int count, int *eof, void *data)
-+static int ofd_last_id_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd;
- 	struct ofd_seq		*oseq = NULL;
- 	int			retval = 0, rc;
-@@ -201,35 +195,32 @@ static int lprocfs_ofd_rd_last_id(char *page, char **start, off_t off,
- 		      fid_idif_seq(ostid_id(&oseq->os_oi),
- 				   ofd->ofd_lut.lut_lsd.lsd_osd_index) :
- 		      ostid_seq(&oseq->os_oi);
--		rc = snprintf(page, count, DOSTID"\n", seq,
--			      ostid_id(&oseq->os_oi));
-+		rc = seq_printf(m, DOSTID"\n", seq, ostid_id(&oseq->os_oi));
- 		if (rc < 0) {
- 			retval = rc;
- 			break;
- 		}
--		page += rc;
--		count -= rc;
- 		retval += rc;
- 	}
- 	read_unlock(&ofd->ofd_seq_list_lock);
- 	return retval;
- }
-+LPROC_SEQ_FOPS_RO(ofd_last_id);
- 
--int lprocfs_ofd_rd_fmd_max_num(char *page, char **start, off_t off,
--			       int count, int *eof, void *data)
-+static int ofd_fmd_max_num_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
--	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
--	int			 rc;
-+	struct obd_device *obd = m->private;
-+	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	rc = snprintf(page, count, "%u\n", ofd->ofd_fmd_max_num);
--	return rc;
-+	return seq_printf(m, "%u\n", ofd->ofd_fmd_max_num);
- }
- 
--int lprocfs_ofd_wr_fmd_max_num(struct file *file, const char __user *buffer,
--			       unsigned long count, void *data)
-+static ssize_t
-+ofd_fmd_max_num_seq_write(struct file *file, const char __user *buffer,
-+			  size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	int			 val;
- 	int			 rc;
-@@ -244,22 +235,22 @@ int lprocfs_ofd_wr_fmd_max_num(struct file *file, const char __user *buffer,
- 	ofd->ofd_fmd_max_num = val;
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_fmd_max_num);
- 
--int lprocfs_ofd_rd_fmd_max_age(char *page, char **start, off_t off,
--			       int count, int *eof, void *data)
-+static int ofd_fmd_max_age_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
--	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
--	int			 rc;
-+	struct obd_device *obd = m->private;
-+	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	rc = snprintf(page, count, "%ld\n", ofd->ofd_fmd_max_age / HZ);
--	return rc;
-+	return seq_printf(m, "%ld\n", ofd->ofd_fmd_max_age / HZ);
- }
- 
--int lprocfs_ofd_wr_fmd_max_age(struct file *file, const char __user *buffer,
--			       unsigned long count, void *data)
-+static ssize_t
-+ofd_fmd_max_age_seq_write(struct file *file, const char __user *buffer,
-+			  size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	int			 val;
- 	int			 rc;
-@@ -274,22 +265,22 @@ int lprocfs_ofd_wr_fmd_max_age(struct file *file, const char __user *buffer,
- 	ofd->ofd_fmd_max_age = val * HZ;
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_fmd_max_age);
- 
--static int lprocfs_ofd_rd_capa(char *page, char **start, off_t off,
--			       int count, int *eof, void *data)
-+static int ofd_capa_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
--	int			 rc;
-+	struct obd_device	*obd = m->private;
- 
--	rc = snprintf(page, count, "capability on: %s\n",
--		      obd->u.filter.fo_fl_oss_capa ? "oss" : "");
--	return rc;
-+	return seq_printf(m, "capability on: %s\n",
-+			  obd->u.filter.fo_fl_oss_capa ? "oss" : "");
- }
- 
--static int lprocfs_ofd_wr_capa(struct file *file, const char __user *buffer,
--			       unsigned long count, void *data)
-+static ssize_t
-+ofd_capa_seq_write(struct file *file, const char *__user buffer, size_t count,
-+		   loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	int			 val, rc;
- 
- 	rc = lprocfs_write_helper(buffer, count, &val);
-@@ -308,28 +299,29 @@ static int lprocfs_ofd_wr_capa(struct file *file, const char __user *buffer,
- 		      val ? "enabled" : "disabled");
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_capa);
- 
--static int lprocfs_ofd_rd_capa_count(char *page, char **start, off_t off,
--				     int count, int *eof, void *data)
-+static int ofd_capa_count_seq_show(struct seq_file *m, void *data)
- {
--	return snprintf(page, count, "%d %d\n",
--			capa_count[CAPA_SITE_CLIENT],
--			capa_count[CAPA_SITE_SERVER]);
-+	return seq_printf(m, "%d %d\n", capa_count[CAPA_SITE_CLIENT],
-+			  capa_count[CAPA_SITE_SERVER]);
- }
-+LPROC_SEQ_FOPS_RO(ofd_capa_count);
- 
--int lprocfs_ofd_rd_degraded(char *page, char **start, off_t off,
--			    int count, int *eof, void *data)
-+static int ofd_degraded_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return snprintf(page, count, "%u\n", ofd->ofd_raid_degraded);
-+	return seq_printf(m, "%u\n", ofd->ofd_raid_degraded);
- }
- 
--int lprocfs_ofd_wr_degraded(struct file *file, const char __user *buffer,
--			    unsigned long count, void *data)
-+static ssize_t
-+ofd_degraded_seq_write(struct file *file, const char __user *buffer,
-+		       size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	int			 val, rc;
- 
-@@ -340,38 +332,37 @@ int lprocfs_ofd_wr_degraded(struct file *file, const char __user *buffer,
- 	spin_lock(&ofd->ofd_flags_lock);
- 	ofd->ofd_raid_degraded = !!val;
- 	spin_unlock(&ofd->ofd_flags_lock);
--
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_degraded);
- 
--int lprocfs_ofd_rd_fstype(char *page, char **start, off_t off, int count,
--			  int *eof, void *data)
-+static int ofd_fstype_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device *obd = data;
-+	struct obd_device *obd = m->private;
- 	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 	struct lu_device  *d;
- 
- 	LASSERT(ofd->ofd_osd);
- 	d = &ofd->ofd_osd->dd_lu_dev;
- 	LASSERT(d->ld_type);
--	return snprintf(page, count, "%s\n", d->ld_type->ldt_name);
-+	return seq_printf(m, "%s\n", d->ld_type->ldt_name);
- }
-+LPROC_SEQ_FOPS_RO(ofd_fstype);
- 
--int lprocfs_ofd_rd_syncjournal(char *page, char **start, off_t off,
--			       int count, int *eof, void *data)
-+static int ofd_syncjournal_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
--	int			 rc;
- 
--	rc = snprintf(page, count, "%u\n", ofd->ofd_syncjournal);
--	return rc;
-+	return seq_printf(m, "%u\n", ofd->ofd_syncjournal);
- }
- 
--int lprocfs_ofd_wr_syncjournal(struct file *file, const char __user *buffer,
--			       unsigned long count, void *data)
-+static ssize_t
-+ofd_syncjournal_seq_write(struct file *file, const char __user *buffer,
-+			  size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	int			 val;
- 	int			 rc;
-@@ -390,6 +381,7 @@ int lprocfs_ofd_wr_syncjournal(struct file *file, const char __user *buffer,
- 
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_syncjournal);
- 
- /* This must be longer than the longest string below */
- #define SYNC_STATES_MAXLEN 16
-@@ -397,23 +389,21 @@ static char *sync_on_cancel_states[] = {"never",
- 					"blocking",
- 					"always" };
- 
--int lprocfs_ofd_rd_sync_lock_cancel(char *page, char **start, off_t off,
--				    int count, int *eof, void *data)
-+static int ofd_sync_lock_cancel_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
-+	struct obd_device	*obd = m->private;
- 	struct lu_target	*tgt = obd->u.obt.obt_lut;
--	int			 rc;
- 
--	rc = snprintf(page, count, "%s\n",
--		      sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
--	return rc;
-+	return seq_printf(m, "%s\n",
-+			  sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
- }
- 
--int lprocfs_ofd_wr_sync_lock_cancel(struct file *file,
--				    const char __user *buffer,
--				    unsigned long count, void *data)
-+static ssize_t
-+ofd_sync_lock_cancel_seq_write(struct file *file, const char __user *buffer,
-+			       size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct lu_target	*tgt = obd->u.obt.obt_lut;
- 	char			 kernbuf[SYNC_STATES_MAXLEN];
- 	int			 val = -1;
-@@ -455,23 +445,23 @@ int lprocfs_ofd_wr_sync_lock_cancel(struct file *file,
- 	spin_unlock(&tgt->lut_flags_lock);
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_sync_lock_cancel);
- 
--int lprocfs_ofd_rd_grant_compat_disable(char *page, char **start, off_t off,
--					int count, int *eof, void *data)
-+static int ofd_grant_compat_disable_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
--	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
--	int			 rc;
-+	struct obd_device *obd = m->private;
-+	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	rc = snprintf(page, count, "%u\n", ofd->ofd_grant_compat_disable);
--	return rc;
-+	return seq_printf(m, "%u\n", ofd->ofd_grant_compat_disable);
- }
- 
--int lprocfs_ofd_wr_grant_compat_disable(struct file *file,
--					const char __user *buffer,
--					unsigned long count, void *data)
-+static ssize_t
-+ofd_grant_compat_disable_seq_write(struct file *file,
-+				   const char __user *buffer,
-+				   size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	int			 val;
- 	int			 rc;
-@@ -489,42 +479,43 @@ int lprocfs_ofd_wr_grant_compat_disable(struct file *file,
- 
- 	return count;
- }
-+LPROC_SEQ_FOPS(ofd_grant_compat_disable);
- 
--int lprocfs_ofd_rd_soft_sync_limit(char *page, char **start, off_t off,
--				   int count, int *eof, void *data)
-+static int ofd_soft_sync_limit_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return lprocfs_rd_uint(page, start, off, count, eof,
--			       &ofd->ofd_soft_sync_limit);
-+	return lprocfs_uint_seq_show(m, &ofd->ofd_soft_sync_limit);
- }
- 
--int lprocfs_ofd_wr_soft_sync_limit(struct file *file, const char __user *buffer,
--				   unsigned long count, void *data)
-+static ssize_t
-+ofd_soft_sync_limit_seq_write(struct file *file, const char __user *buffer,
-+			      size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
--	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
-+	struct seq_file	  *m = file->private_data;
-+	struct obd_device *obd = m->private;
-+	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return lprocfs_wr_uint(file, buffer, count, &ofd->ofd_soft_sync_limit);
-+	return lprocfs_uint_seq_write(file, buffer, count,
-+				      (loff_t *) &ofd->ofd_soft_sync_limit);
- }
-+LPROC_SEQ_FOPS(ofd_soft_sync_limit);
- 
--static int lprocfs_rd_lfsck_speed_limit(char *page, char **start, off_t off,
--					int count, int *eof, void *data)
-+static int ofd_lfsck_speed_limit_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
-+	struct obd_device       *obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 
--	*eof = 1;
--
--	return lfsck_get_speed(ofd->ofd_osd, page, count);
-+	return lfsck_get_speed(m, ofd->ofd_osd);
- }
- 
--static int lprocfs_wr_lfsck_speed_limit(struct file *file,
--					const char __user *buffer,
--					unsigned long count, void *data)
-+static ssize_t
-+ofd_lfsck_speed_limit_seq_write(struct file *file, const char __user *buffer,
-+				size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	__u32			 val;
- 	int			 rc;
-@@ -537,38 +528,35 @@ static int lprocfs_wr_lfsck_speed_limit(struct file *file,
- 
- 	return rc != 0 ? rc : count;
- }
-+LPROC_SEQ_FOPS(ofd_lfsck_speed_limit);
- 
--static int lprocfs_rd_lfsck_layout(char *page, char **start, off_t off,
--				   int count, int *eof, void *data)
-+static int ofd_lfsck_layout_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
--	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
--
--	*eof = 1;
-+	struct obd_device *obd = m->private;
-+	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return lfsck_dump(ofd->ofd_osd, page, count, LT_LAYOUT);
-+	return lfsck_dump(m, ofd->ofd_osd, LT_LAYOUT);
- }
-+LPROC_SEQ_FOPS_RO(ofd_lfsck_layout);
- 
--static int lprocfs_rd_lfsck_verify_pfid(char *page, char **start, off_t off,
--					int count, int *eof, void *data)
-+static int ofd_lfsck_verify_pfid_seq_show(struct seq_file *m, void *data)
- {
--	struct obd_device	*obd = data;
--	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
--
--	*eof = 1;
-+	struct obd_device *obd = m->private;
-+	struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
- 
--	return snprintf(page, count,
--			"switch: %s\ndetected: "LPU64"\nrepaired: "LPU64"\n",
--			ofd->ofd_lfsck_verify_pfid ? "on" : "off",
--			ofd->ofd_inconsistency_self_detected,
--			ofd->ofd_inconsistency_self_repaired);
-+	return seq_printf(m,
-+			  "switch: %s\ndetected: "LPU64"\nrepaired: "LPU64"\n",
-+			  ofd->ofd_lfsck_verify_pfid ? "on" : "off",
-+			  ofd->ofd_inconsistency_self_detected,
-+			  ofd->ofd_inconsistency_self_repaired);
- }
- 
--static int lprocfs_wr_lfsck_verify_pfid(struct file *file,
--					const char __user *buffer,
--					unsigned long count, void *data)
-+static ssize_t
-+ofd_lfsck_verify_pfid_seq_write(struct file *file, const char __user *buffer,
-+				size_t count, loff_t *off)
- {
--	struct obd_device	*obd = data;
-+	struct seq_file		*m = file->private_data;
-+	struct obd_device	*obd = m->private;
- 	struct ofd_device	*ofd = ofd_dev(obd->obd_lu_dev);
- 	__u32			 val;
- 	int			 rc;
-@@ -581,75 +569,101 @@ static int lprocfs_wr_lfsck_verify_pfid(struct file *file,
- 
- 	return count;
- }
--
--static struct lprocfs_vars lprocfs_ofd_obd_vars[] = {
--	{ "uuid",		 lprocfs_rd_uuid, 0, 0 },
--	{ "blocksize",		 lprocfs_rd_blksize, 0, 0 },
--	{ "kbytestotal",	 lprocfs_rd_kbytestotal, 0, 0 },
--	{ "kbytesfree",		 lprocfs_rd_kbytesfree, 0, 0 },
--	{ "kbytesavail",	 lprocfs_rd_kbytesavail, 0, 0 },
--	{ "filestotal",		 lprocfs_rd_filestotal, 0, 0 },
--	{ "filesfree",		 lprocfs_rd_filesfree, 0, 0 },
--	{ "seqs_allocated",	 lprocfs_ofd_rd_seqs, 0, 0 },
--	{ "fstype",		 lprocfs_ofd_rd_fstype, 0, 0 },
--	{ "last_id",		 lprocfs_ofd_rd_last_id, 0, 0 },
--	{ "tot_dirty",		 lprocfs_ofd_rd_tot_dirty,   0, 0 },
--	{ "tot_pending",	 lprocfs_ofd_rd_tot_pending, 0, 0 },
--	{ "tot_granted",	 lprocfs_ofd_rd_tot_granted, 0, 0 },
--	{ "grant_precreate",	 lprocfs_ofd_rd_grant_precreate, 0, 0 },
--	{ "grant_ratio",	 lprocfs_ofd_rd_grant_ratio,
--				 lprocfs_ofd_wr_grant_ratio, 0, 0 },
--	{ "precreate_batch",	 lprocfs_ofd_rd_precreate_batch,
--				 lprocfs_ofd_wr_precreate_batch, 0 },
--	{ "recovery_status",	 lprocfs_obd_rd_recovery_status, 0, 0 },
--	{ "recovery_time_soft",	 lprocfs_obd_rd_recovery_time_soft,
--				 lprocfs_obd_wr_recovery_time_soft, 0},
--	{ "recovery_time_hard",  lprocfs_obd_rd_recovery_time_hard,
--				 lprocfs_obd_wr_recovery_time_hard, 0},
--	{ "evict_client",	 0, lprocfs_wr_evict_client, 0,
--				 &lprocfs_evict_client_fops},
--	{ "num_exports",	 lprocfs_rd_num_exports,   0, 0 },
--	{ "degraded",		 lprocfs_ofd_rd_degraded,
--				 lprocfs_ofd_wr_degraded, 0},
--	{ "sync_journal",	 lprocfs_ofd_rd_syncjournal,
--				 lprocfs_ofd_wr_syncjournal, 0 },
--	{ "sync_on_lock_cancel", lprocfs_ofd_rd_sync_lock_cancel,
--				 lprocfs_ofd_wr_sync_lock_cancel, 0 },
--	{ "instance",		 lprocfs_target_rd_instance, 0 },
--	{ "ir_factor",		 lprocfs_obd_rd_ir_factor,
--				 lprocfs_obd_wr_ir_factor, 0},
--	{ "grant_compat_disable", lprocfs_ofd_rd_grant_compat_disable,
--				  lprocfs_ofd_wr_grant_compat_disable, 0 },
--	{ "client_cache_count",	 lprocfs_ofd_rd_fmd_max_num,
--				 lprocfs_ofd_wr_fmd_max_num, 0 },
--	{ "client_cache_seconds", lprocfs_ofd_rd_fmd_max_age,
--				  lprocfs_ofd_wr_fmd_max_age, 0 },
--	{ "capa",		 lprocfs_ofd_rd_capa,
--				 lprocfs_ofd_wr_capa, 0 },
--	{ "capa_count",		 lprocfs_ofd_rd_capa_count, 0, 0 },
--	{ "job_cleanup_interval", lprocfs_rd_job_interval,
--				  lprocfs_wr_job_interval, 0},
--	{ "soft_sync_limit",	 lprocfs_ofd_rd_soft_sync_limit,
--				 lprocfs_ofd_wr_soft_sync_limit, 0},
--	{ "lfsck_speed_limit",	lprocfs_rd_lfsck_speed_limit,
--				lprocfs_wr_lfsck_speed_limit, 0 },
--	{ "lfsck_layout",	lprocfs_rd_lfsck_layout, 0, 0 },
--	{ "lfsck_verify_pfid",	lprocfs_rd_lfsck_verify_pfid,
--				lprocfs_wr_lfsck_verify_pfid, 0 },
--	{ 0 }
--};
--
--static struct lprocfs_vars lprocfs_ofd_module_vars[] = {
--	{ "num_refs",	  lprocfs_rd_numrefs,	0, 0 },
-+LPROC_SEQ_FOPS(ofd_lfsck_verify_pfid);
-+
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, uuid);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, blksize);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, kbytestotal);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, kbytesfree);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, kbytesavail);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, filestotal);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, filesfree);
-+
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, recovery_status);
-+LPROC_SEQ_FOPS_RW_TYPE(ofd, recovery_time_soft);
-+LPROC_SEQ_FOPS_RW_TYPE(ofd, recovery_time_hard);
-+LPROC_SEQ_FOPS_WO_TYPE(ofd, evict_client);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, num_exports);
-+LPROC_SEQ_FOPS_RO_TYPE(ofd, target_instance);
-+LPROC_SEQ_FOPS_RW_TYPE(ofd, ir_factor);
-+LPROC_SEQ_FOPS_RW_TYPE(ofd, job_interval);
-+
-+struct lprocfs_seq_vars lprocfs_ofd_obd_vars[] = {
-+	{ .name =	"uuid",
-+	  .fops =	&ofd_uuid_fops			},
-+	{ .name =	"blocksize",
-+	  .fops =	&ofd_blksize_fops		},
-+	{ .name =	"kbytestotal",
-+	  .fops =	&ofd_kbytestotal_fops		},
-+	{ .name =	"kbytesfree",
-+	  .fops =	&ofd_kbytesfree_fops		},
-+	{ .name =	"kbytesavail",
-+	  .fops =	&ofd_kbytesavail_fops		},
-+	{ .name =	"filestotal",
-+	  .fops =	&ofd_filestotal_fops		},
-+	{ .name =	"filesfree",
-+	  .fops =	&ofd_filesfree_fops		},
-+	{ .name =	"seqs_allocated",
-+	  .fops =	&ofd_seqs_fops			},
-+	{ .name =	"fstype",
-+	  .fops =	&ofd_fstype_fops		},
-+	{ .name =	"last_id",
-+	  .fops =	&ofd_last_id_fops		},
-+	{ .name =	"tot_dirty",
-+	  .fops =	&ofd_tot_dirty_fops		},
-+	{ .name =	"tot_pending",
-+	  .fops =	&ofd_tot_pending_fops		},
-+	{ .name =	"tot_granted",
-+	  .fops =	&ofd_tot_granted_fops		},
-+	{ .name =	"grant_precreate",
-+	  .fops =	&ofd_grant_precreate_fops	},
-+	{ .name =	"grant_ratio",
-+	  .fops =	&ofd_grant_ratio_fops		},
-+	{ .name =	"precreate_batch",
-+	  .fops =	&ofd_precreate_batch_fops	},
-+	{ .name =	"recovery_status",
-+	  .fops =	&ofd_recovery_status_fops	},
-+	{ .name =	"recovery_time_soft",
-+	  .fops =	&ofd_recovery_time_soft_fops	},
-+	{ .name =	"recovery_time_hard",
-+	  .fops =	&ofd_recovery_time_hard_fops	},
-+	{ .name =	"evict_client",
-+	  .fops =	&ofd_evict_client_fops		},
-+	{ .name =	"num_exports",
-+	  .fops =	&ofd_num_exports_fops		},
-+	{ .name =	"degraded",
-+	  .fops =	&ofd_degraded_fops		},
-+	{ .name =	"sync_journal",
-+	  .fops =	&ofd_syncjournal_fops		},
-+	{ .name =	"sync_on_lock_cancel",
-+	  .fops =	&ofd_sync_lock_cancel_fops	},
-+	{ .name =	"instance",
-+	  .fops =	&ofd_target_instance_fops	},
-+	{ .name =	"ir_factor",
-+	  .fops =	&ofd_ir_factor_fops		},
-+	{ .name =	"grant_compat_disable",
-+	  .fops =	&ofd_grant_compat_disable_fops	},
-+	{ .name =	"client_cache_count",
-+	  .fops =	&ofd_fmd_max_num_fops		},
-+	{ .name =	"client_cache_seconds",
-+	  .fops =	&ofd_fmd_max_age_fops		},
-+	{ .name =	"capa",
-+	  .fops =	&ofd_capa_fops			},
-+	{ .name =	"capa_count",
-+	  .fops =	&ofd_capa_count_fops		},
-+	{ .name =	"job_cleanup_interval",
-+	  .fops =	&ofd_job_interval_fops		},
-+	{ .name =	"soft_sync_limit",
-+	  .fops =	&ofd_soft_sync_limit_fops	},
-+	{ .name =	"lfsck_speed_limit",
-+	  .fops =	&ofd_lfsck_speed_limit_fops	},
-+	{ .name =	"lfsck_layout",
-+	  .fops =	&ofd_lfsck_layout_fops		},
-+	{ .name	=	"lfsck_verify_pfid",
-+	  .fops	=	&ofd_lfsck_verify_pfid_fops	},
- 	{ 0 }
- };
- 
--void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars)
--{
--	lvars->module_vars  = lprocfs_ofd_module_vars;
--	lvars->obd_vars     = lprocfs_ofd_obd_vars;
--}
--
- void ofd_stats_counter_init(struct lprocfs_stats *stats)
- {
- 	LASSERT(stats && stats->ls_num >= LPROC_OFD_STATS_LAST);
-diff --git a/lustre/ofd/ofd_dev.c b/lustre/ofd/ofd_dev.c
-index 0f0d51a..6172913 100644
---- a/lustre/ofd/ofd_dev.c
-+++ b/lustre/ofd/ofd_dev.c
-@@ -239,8 +239,7 @@ static int ofd_process_config(const struct lu_env *env, struct lu_device *d,
- 
- 	switch (cfg->lcfg_command) {
- 	case LCFG_PARAM: {
--		struct lprocfs_static_vars lvars;
--
-+		struct obd_device	*obd = ofd_obd(m);
- 		/* For interoperability */
- 		struct cfg_interop_param   *ptr = NULL;
- 		struct lustre_cfg	   *old_cfg = NULL;
-@@ -278,8 +277,7 @@ static int ofd_process_config(const struct lu_env *env, struct lu_device *d,
- 			break;
- 		}
- 
--		lprocfs_ofd_init_vars(&lvars);
--		rc = class_process_proc_param(PARAM_OST, lvars.obd_vars, cfg,
-+		rc = class_process_proc_seq_param(PARAM_OST, obd->obd_vars, cfg,
- 					      d->ld_obd);
- 		if (rc > 0 || rc == -ENOSYS) {
- 			CDEBUG(D_CONFIG, "pass param %s down the stack.\n",
-@@ -485,9 +483,10 @@ static struct lu_device_operations ofd_lu_ops = {
- 	.ldo_prepare		= ofd_prepare,
- };
- 
-+LPROC_SEQ_FOPS(lprocfs_nid_stats_clear);
-+
- static int ofd_procfs_init(struct ofd_device *ofd)
- {
--	struct lprocfs_static_vars	 lvars;
- 	struct obd_device		*obd = ofd_obd(ofd);
- 	cfs_proc_dir_entry_t		*entry;
- 	int				 rc = 0;
-@@ -496,8 +495,8 @@ static int ofd_procfs_init(struct ofd_device *ofd)
- 
- 	/* lprocfs must be setup before the ofd so state can be safely added
- 	 * to /proc incrementally as the ofd is setup */
--	lprocfs_ofd_init_vars(&lvars);
--	rc = lprocfs_obd_setup(obd, lvars.obd_vars);
-+	obd->obd_vars = lprocfs_ofd_obd_vars;
-+	rc = lprocfs_seq_obd_setup(obd);
- 	if (rc) {
- 		CERROR("%s: lprocfs_obd_setup failed: %d.\n",
- 		       obd->obd_name, rc);
-@@ -513,7 +512,8 @@ static int ofd_procfs_init(struct ofd_device *ofd)
- 
- 	obd->obd_uses_nid_stats = 1;
- 
--	entry = lprocfs_register("exports", obd->obd_proc_entry, NULL, NULL);
-+	entry = lprocfs_seq_register("exports", obd->obd_proc_entry, NULL,
-+				     NULL);
- 	if (IS_ERR(entry)) {
- 		rc = PTR_ERR(entry);
- 		CERROR("%s: error %d setting up lprocfs for %s\n",
-@@ -523,8 +523,10 @@ static int ofd_procfs_init(struct ofd_device *ofd)
- 	obd->obd_proc_exports_entry = entry;
- 
- 	entry = lprocfs_add_simple(obd->obd_proc_exports_entry, "clear",
--				   lprocfs_nid_stats_clear_read,
--				   lprocfs_nid_stats_clear_write, obd, NULL);
-+#ifndef HAVE_ONLY_PROCFS_SEQ
-+				   NULL, NULL,
-+#endif
-+				   obd, &lprocfs_nid_stats_clear_fops);
- 	if (IS_ERR(entry)) {
- 		rc = PTR_ERR(entry);
- 		CERROR("%s: add proc entry 'clear' failed: %d.\n",
-@@ -540,7 +542,7 @@ static int ofd_procfs_init(struct ofd_device *ofd)
- 		GOTO(remove_entry_clear, rc);
- 	RETURN(0);
- remove_entry_clear:
--	lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
-+	lprocfs_remove(&obd->obd_proc_exports_entry);
- obd_cleanup:
- 	lprocfs_obd_cleanup(obd);
- 	lprocfs_free_obd_stats(obd);
-@@ -548,51 +550,48 @@ obd_cleanup:
- 	return rc;
- }
- 
-+/**
-+ * ofd_procfs_add_brw_stats_symlink - expose osd stats to ofd layer
-+ *
-+ * The osd interfaces to the backend file system exposes useful data
-+ * such as brw_stats and read or write cache states. This same data
-+ * needs to be exposed into the obdfilter (ofd) layer to maintain
-+ * backwards compatibility. This function creates the symlinks in the
-+ * proc layer to enable this.
-+ */
- static void ofd_procfs_add_brw_stats_symlink(struct ofd_device *ofd)
- {
- 	struct obd_device	*obd = ofd_obd(ofd);
- 	struct obd_device	*osd_obd = ofd->ofd_osd_exp->exp_obd;
--	cfs_proc_dir_entry_t	*osd_root = osd_obd->obd_type->typ_procroot;
--	cfs_proc_dir_entry_t	*osd_dir;
- 
--	osd_dir = lprocfs_srch(osd_root, obd->obd_name);
--	if (osd_dir == NULL)
-+	if (obd->obd_proc_entry == NULL)
- 		return;
- 
--	if (lprocfs_srch(osd_dir, "brw_stats") != NULL)
--		lprocfs_add_symlink("brw_stats", obd->obd_proc_entry,
--				    "../../%s/%s/brw_stats",
--				    osd_root->name, osd_dir->name);
--
--	if (lprocfs_srch(osd_dir, "read_cache_enable") != NULL)
--		lprocfs_add_symlink("read_cache_enable", obd->obd_proc_entry,
--				    "../../%s/%s/read_cache_enable",
--				    osd_root->name, osd_dir->name);
--
--	if (lprocfs_srch(osd_dir, "readcache_max_filesize") != NULL)
--		lprocfs_add_symlink("readcache_max_filesize",
--				    obd->obd_proc_entry,
--				    "../../%s/%s/readcache_max_filesize",
--				    osd_root->name, osd_dir->name);
--
--	if (lprocfs_srch(osd_dir, "writethrough_cache_enable") != NULL)
--		lprocfs_add_symlink("writethrough_cache_enable",
--				    obd->obd_proc_entry,
--				    "../../%s/%s/writethrough_cache_enable",
--				    osd_root->name, osd_dir->name);
-+	lprocfs_add_symlink("brw_stats", obd->obd_proc_entry,
-+			    "../../%s/%s/brw_stats",
-+			    osd_obd->obd_type->typ_name, obd->obd_name);
-+
-+	lprocfs_add_symlink("read_cache_enable", obd->obd_proc_entry,
-+			    "../../%s/%s/read_cache_enable",
-+			    osd_obd->obd_type->typ_name, obd->obd_name);
-+
-+	lprocfs_add_symlink("readcache_max_filesize",
-+			    obd->obd_proc_entry,
-+			    "../../%s/%s/readcache_max_filesize",
-+			    osd_obd->obd_type->typ_name, obd->obd_name);
-+
-+	lprocfs_add_symlink("writethrough_cache_enable",
-+			    obd->obd_proc_entry,
-+			    "../../%s/%s/writethrough_cache_enable",
-+			    osd_obd->obd_type->typ_name, obd->obd_name);
- }
- 
- static void ofd_procfs_fini(struct ofd_device *ofd)
- {
- 	struct obd_device *obd = ofd_obd(ofd);
- 
--	lprocfs_remove_proc_entry("writethrough_cache_enable",
--				  obd->obd_proc_entry);
--	lprocfs_remove_proc_entry("readcache_max_filesize",
--				  obd->obd_proc_entry);
--	lprocfs_remove_proc_entry("read_cache_enable", obd->obd_proc_entry);
--	lprocfs_remove_proc_entry("brw_stats", obd->obd_proc_entry);
--	lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
-+	lprocfs_remove(&obd->obd_proc_exports_entry);
-+	lprocfs_remove(&obd->obd_proc_entry);
- 	lprocfs_free_per_client_stats(obd);
- 	lprocfs_obd_cleanup(obd);
- 	lprocfs_free_obd_stats(obd);
-@@ -2377,7 +2376,6 @@ static struct lu_device_type ofd_device_type = {
- 
- int __init ofd_init(void)
- {
--	struct lprocfs_static_vars	lvars;
- 	int				rc;
- 
- 	rc = lu_kmem_init(ofd_caches);
-@@ -2390,11 +2388,9 @@ int __init ofd_init(void)
- 		return(rc);
- 	}
- 
--	lprocfs_ofd_init_vars(&lvars);
--
- 	rc = class_register_type(&ofd_obd_ops, NULL, true, NULL,
- #ifndef HAVE_ONLY_PROCFS_SEQ
--				 lvars.module_vars,
-+				 NULL,
- #endif
- 				 LUSTRE_OST_NAME, &ofd_device_type);
- 	return rc;
-diff --git a/lustre/ofd/ofd_internal.h b/lustre/ofd/ofd_internal.h
-index 4f12506..2e75de5 100644
---- a/lustre/ofd/ofd_internal.h
-+++ b/lustre/ofd/ofd_internal.h
-@@ -403,13 +403,9 @@ int ofd_txn_stop_cb(const struct lu_env *env, struct thandle *txn,
- 
- /* lproc_ofd.c */
- #ifdef LPROCFS
--void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars);
-+extern struct lprocfs_seq_vars lprocfs_ofd_obd_vars[];
- void ofd_stats_counter_init(struct lprocfs_stats *stats);
- #else
--static void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars)
--{
--	memset(lvars, 0, sizeof(*lvars));
--}
- static inline void ofd_stats_counter_init(struct lprocfs_stats *stats) {}
- #endif
- 
--- 
-1.9.3
-

diff --git a/patches/07_doxygen.patch b/patches/07_doxygen.patch
deleted file mode 100644
index 6df24ea2e..000000000
--- a/patches/07_doxygen.patch
+++ /dev/null
@@ -1,1804 +0,0 @@
-Index: dcmtk-3.6.0/doxygen/htmldocs.cfg
-===================================================================
---- dcmtk-3.6.0.orig/doxygen/htmldocs.cfg	2011-11-23 15:49:41.000000000 +0100
-+++ dcmtk-3.6.0/doxygen/htmldocs.cfg	2011-11-23 15:50:00.000000000 +0100
-@@ -1,4 +1,4 @@
--# Doxyfile 1.5.1
-+# Doxyfile 1.7.1
- 
- # This file describes the settings to be used by the documentation system
- # doxygen (www.doxygen.org) for a project
-@@ -14,438 +14,560 @@
- # Project related configuration options
- #---------------------------------------------------------------------------
- 
--# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-+# This tag specifies the encoding used for all characters in the config file
-+# that follow. The default is UTF-8 which is also the encoding used for all
-+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-+# iconv built into libc) for the transcoding. See
-+# http://www.gnu.org/software/libiconv for the list of possible encodings.
-+
-+DOXYFILE_ENCODING      = UTF-8
-+
-+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
- # by quotes) that should identify the project.
- 
- PROJECT_NAME           = "OFFIS DCMTK"
- 
--# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
--# This could be handy for archiving the generated documentation or 
-+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-+# This could be handy for archiving the generated documentation or
- # if some version control system is used.
- 
- PROJECT_NUMBER         = "Version @DCMTK_VERSION@"
- 
--# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
--# base path where the generated documentation will be put. 
--# If a relative path is entered, it will be relative to the location 
-+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-+# base path where the generated documentation will be put.
-+# If a relative path is entered, it will be relative to the location
- # where doxygen was started. If left blank the current directory will be used.
- 
--OUTPUT_DIRECTORY       = 
-+OUTPUT_DIRECTORY       =
- 
--# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
--# 4096 sub-directories (in 2 levels) under the output directory of each output 
--# format and will distribute the generated files over these directories. 
--# Enabling this option can be useful when feeding doxygen a huge amount of 
--# source files, where putting all generated files in the same directory would 
-+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-+# 4096 sub-directories (in 2 levels) under the output directory of each output
-+# format and will distribute the generated files over these directories.
-+# Enabling this option can be useful when feeding doxygen a huge amount of
-+# source files, where putting all generated files in the same directory would
- # otherwise cause performance problems for the file system.
- 
- CREATE_SUBDIRS         = NO
- 
--# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
--# documentation generated by doxygen is written. Doxygen will use this 
--# information to generate all constant output in the proper language. 
--# The default language is English, other supported languages are: 
--# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
--# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
--# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
--# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
--# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-+# documentation generated by doxygen is written. Doxygen will use this
-+# information to generate all constant output in the proper language.
-+# The default language is English, other supported languages are:
-+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
- 
- OUTPUT_LANGUAGE        = English
- 
--# This tag can be used to specify the encoding used in the generated output. 
--# The encoding is not always determined by the language that is chosen, 
--# but also whether or not the output is meant for Windows or non-Windows users. 
--# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
--# forces the Windows encoding (this is the default for the Windows binary), 
--# whereas setting the tag to NO uses a Unix-style encoding (the default for 
--# all platforms other than Windows).
--
--USE_WINDOWS_ENCODING   = NO
--
--# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
--# include brief member descriptions after the members that are listed in 
--# the file and class documentation (similar to JavaDoc). 
-+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-+# include brief member descriptions after the members that are listed in
-+# the file and class documentation (similar to JavaDoc).
- # Set to NO to disable this.
- 
- BRIEF_MEMBER_DESC      = YES
- 
--# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
--# the brief description of a member or function before the detailed description. 
--# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-+# the brief description of a member or function before the detailed description.
-+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
- # brief descriptions will be completely suppressed.
- 
- REPEAT_BRIEF           = YES
- 
--# This tag implements a quasi-intelligent brief description abbreviator 
--# that is used to form the text in various listings. Each string 
--# in this list, if found as the leading text of the brief description, will be 
--# stripped from the text and the result after processing the whole list, is 
--# used as the annotated text. Otherwise, the brief description is used as-is. 
--# If left blank, the following values are used ("$name" is automatically 
--# replaced with the name of the entity): "The $name class" "The $name widget" 
--# "The $name file" "is" "provides" "specifies" "contains" 
-+# This tag implements a quasi-intelligent brief description abbreviator
-+# that is used to form the text in various listings. Each string
-+# in this list, if found as the leading text of the brief description, will be
-+# stripped from the text and the result after processing the whole list, is
-+# used as the annotated text. Otherwise, the brief description is used as-is.
-+# If left blank, the following values are used ("$name" is automatically
-+# replaced with the name of the entity): "The $name class" "The $name widget"
-+# "The $name file" "is" "provides" "specifies" "contains"
- # "represents" "a" "an" "the"
- 
--ABBREVIATE_BRIEF       = 
-+ABBREVIATE_BRIEF       =
- 
--# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
--# Doxygen will generate a detailed section even if there is only a brief 
-+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-+# Doxygen will generate a detailed section even if there is only a brief
- # description.
- 
- ALWAYS_DETAILED_SEC    = NO
- 
--# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
--# inherited members of a class in the documentation of that class as if those 
--# members were ordinary class members. Constructors, destructors and assignment 
-+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-+# inherited members of a class in the documentation of that class as if those
-+# members were ordinary class members. Constructors, destructors and assignment
- # operators of the base classes will not be shown.
- 
- INLINE_INHERITED_MEMB  = NO
- 
--# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
--# path before files name in the file list and in the header files. If set 
-+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-+# path before files name in the file list and in the header files. If set
- # to NO the shortest path that makes the file name unique will be used.
- 
- FULL_PATH_NAMES        = YES
- 
--# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
--# can be used to strip a user-defined part of the path. Stripping is 
--# only done if one of the specified strings matches the left-hand part of 
--# the path. The tag can be used to show relative paths in the file list. 
--# If left blank the directory from which doxygen is run is used as the 
-+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-+# can be used to strip a user-defined part of the path. Stripping is
-+# only done if one of the specified strings matches the left-hand part of
-+# the path. The tag can be used to show relative paths in the file list.
-+# If left blank the directory from which doxygen is run is used as the
- # path to strip.
- 
- STRIP_FROM_PATH        = ..
- 
--# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
--# the path mentioned in the documentation of a class, which tells 
--# the reader which header file to include in order to use a class. 
--# If left blank only the name of the header file containing the class 
--# definition is used. Otherwise one should specify the include paths that 
-+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-+# the path mentioned in the documentation of a class, which tells
-+# the reader which header file to include in order to use a class.
-+# If left blank only the name of the header file containing the class
-+# definition is used. Otherwise one should specify the include paths that
- # are normally passed to the compiler using the -I flag.
- 
--STRIP_FROM_INC_PATH    = 
-+STRIP_FROM_INC_PATH    =
- 
--# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
--# (but less readable) file names. This can be useful is your file systems 
-+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-+# (but less readable) file names. This can be useful is your file systems
- # doesn't support long names like on DOS, Mac, or CD-ROM.
- 
- SHORT_NAMES            = NO
- 
--# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
--# will interpret the first line (until the first dot) of a JavaDoc-style 
--# comment as the brief description. If set to NO, the JavaDoc 
--# comments will behave just like the Qt-style comments (thus requiring an 
--# explicit @brief command for a brief description.
-+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-+# will interpret the first line (until the first dot) of a JavaDoc-style
-+# comment as the brief description. If set to NO, the JavaDoc
-+# comments will behave just like regular Qt-style comments
-+# (thus requiring an explicit @brief command for a brief description.)
- 
- JAVADOC_AUTOBRIEF      = YES
- 
--# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
--# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
--# comments) as a brief description. This used to be the default behaviour. 
--# The new default is to treat a multi-line C++ comment block as a detailed 
-+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-+# interpret the first line (until the first dot) of a Qt-style
-+# comment as the brief description. If set to NO, the comments
-+# will behave just like regular Qt-style comments (thus requiring
-+# an explicit \brief command for a brief description.)
-+
-+QT_AUTOBRIEF           = NO
-+
-+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-+# comments) as a brief description. This used to be the default behaviour.
-+# The new default is to treat a multi-line C++ comment block as a detailed
- # description. Set this tag to YES if you prefer the old behaviour instead.
- 
- MULTILINE_CPP_IS_BRIEF = NO
- 
--# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
--# will output the detailed description near the top, like JavaDoc.
--# If set to NO, the detailed description appears after the member 
--# documentation.
--
--DETAILS_AT_TOP         = NO
--
--# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
--# member inherits the documentation from any documented member that it 
-+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-+# member inherits the documentation from any documented member that it
- # re-implements.
- 
- INHERIT_DOCS           = NO
- 
--# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
--# a new page for each member. If set to NO, the documentation of a member will 
-+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-+# a new page for each member. If set to NO, the documentation of a member will
- # be part of the file/class/namespace that contains it.
- 
- SEPARATE_MEMBER_PAGES  = NO
- 
--# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
- # Doxygen uses this value to replace tabs by spaces in code fragments.
- 
- TAB_SIZE               = 4
- 
--# This tag can be used to specify a number of aliases that acts 
--# as commands in the documentation. An alias has the form "name=value". 
--# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
--# put the command \sideeffect (or @sideeffect) in the documentation, which 
--# will result in a user-defined paragraph with heading "Side Effects:". 
-+# This tag can be used to specify a number of aliases that acts
-+# as commands in the documentation. An alias has the form "name=value".
-+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-+# put the command \sideeffect (or @sideeffect) in the documentation, which
-+# will result in a user-defined paragraph with heading "Side Effects:".
- # You can put \n's in the value part of an alias to insert newlines.
- 
--ALIASES                = 
-+ALIASES                =
- 
--# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
--# sources only. Doxygen will then generate output that is more tailored for C. 
--# For instance, some of the names that are used will be different. The list 
-+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-+# sources only. Doxygen will then generate output that is more tailored for C.
-+# For instance, some of the names that are used will be different. The list
- # of all members will be omitted, etc.
- 
- OPTIMIZE_OUTPUT_FOR_C  = NO
- 
--# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
--# sources only. Doxygen will then generate output that is more tailored for Java. 
--# For instance, namespaces will be presented as packages, qualified scopes 
--# will look different, etc.
-+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-+# sources only. Doxygen will then generate output that is more tailored for
-+# Java. For instance, namespaces will be presented as packages, qualified
-+# scopes will look different, etc.
- 
- OPTIMIZE_OUTPUT_JAVA   = NO
- 
--# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
--# include (a tag file for) the STL sources as input, then you should 
--# set this tag to YES in order to let doxygen match functions declarations and 
--# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
--# func(std::string) {}). This also make the inheritance and collaboration 
-+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-+# sources only. Doxygen will then generate output that is more tailored for
-+# Fortran.
-+
-+OPTIMIZE_FOR_FORTRAN   = NO
-+
-+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-+# sources. Doxygen will then generate output that is tailored for
-+# VHDL.
-+
-+OPTIMIZE_OUTPUT_VHDL   = NO
-+
-+# Doxygen selects the parser to use depending on the extension of the files it
-+# parses. With this tag you can assign which parser to use for a given extension.
-+# Doxygen has a built-in mapping, but you can override or extend it using this
-+# tag. The format is ext=language, where ext is a file extension, and language
-+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-+
-+EXTENSION_MAPPING      =
-+
-+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-+# to include (a tag file for) the STL sources as input, then you should
-+# set this tag to YES in order to let doxygen match functions declarations and
-+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-+# func(std::string) {}). This also make the inheritance and collaboration
- # diagrams that involve STL classes more complete and accurate.
- 
- BUILTIN_STL_SUPPORT    = NO
- 
--# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
--# tag is set to YES, then doxygen will reuse the documentation of the first 
--# member in the group (if any) for the other members of the group. By default 
-+# If you use Microsoft's C++/CLI language, you should set this option to YES to
-+# enable parsing support.
-+
-+CPP_CLI_SUPPORT        = NO
-+
-+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-+# Doxygen will parse them like normal C++ but will assume all classes use public
-+# instead of private inheritance when no explicit protection keyword is present.
-+
-+SIP_SUPPORT            = NO
-+
-+# For Microsoft's IDL there are propget and propput attributes to indicate getter
-+# and setter methods for a property. Setting this option to YES (the default)
-+# will make doxygen to replace the get and set methods by a property in the
-+# documentation. This will only work if the methods are indeed getting or
-+# setting a simple type. If this is not the case, or you want to show the
-+# methods anyway, you should set this option to NO.
-+
-+IDL_PROPERTY_SUPPORT   = YES
-+
-+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-+# tag is set to YES, then doxygen will reuse the documentation of the first
-+# member in the group (if any) for the other members of the group. By default
- # all members of a group must be documented explicitly.
- 
- DISTRIBUTE_GROUP_DOC   = NO
- 
--# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
--# the same type (for instance a group of public functions) to be put as a 
--# subgroup of that type (e.g. under the Public Functions section). Set it to 
--# NO to prevent subgrouping. Alternatively, this can be done per class using 
-+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-+# the same type (for instance a group of public functions) to be put as a
-+# subgroup of that type (e.g. under the Public Functions section). Set it to
-+# NO to prevent subgrouping. Alternatively, this can be done per class using
- # the \nosubgrouping command.
- 
- SUBGROUPING            = YES
- 
-+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-+# is documented as struct, union, or enum with the name of the typedef. So
-+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-+# with name TypeT. When disabled the typedef will appear as a member of a file,
-+# namespace, or class. And the struct will be named TypeS. This can typically
-+# be useful for C code in case the coding convention dictates that all compound
-+# types are typedef'ed and only the typedef is referenced, never the tag name.
-+
-+TYPEDEF_HIDES_STRUCT   = NO
-+
-+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-+# determine which symbols to keep in memory and which to flush to disk.
-+# When the cache is full, less often used symbols will be written to disk.
-+# For small to medium size projects (<1000 input files) the default value is
-+# probably good enough. For larger projects a too small cache size can cause
-+# doxygen to be busy swapping symbols to and from disk most of the time
-+# causing a significant performance penality.
-+# If the system has enough physical memory increasing the cache will improve the
-+# performance by keeping more symbols in memory. Note that the value works on
-+# a logarithmic scale so increasing the size by one will rougly double the
-+# memory usage. The cache size is given by this formula:
-+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-+# corresponding to a cache size of 2^16 = 65536 symbols
-+
-+SYMBOL_CACHE_SIZE      = 0
-+
- #---------------------------------------------------------------------------
- # Build related configuration options
- #---------------------------------------------------------------------------
- 
--# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
--# documentation are documented, even if no documentation was available. 
--# Private class members and static file members will be hidden unless 
-+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-+# documentation are documented, even if no documentation was available.
-+# Private class members and static file members will be hidden unless
- # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
- 
- EXTRACT_ALL            = NO
- 
--# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
- # will be included in the documentation.
- 
- EXTRACT_PRIVATE        = YES
- 
--# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-+# If the EXTRACT_STATIC tag is set to YES all static members of a file
- # will be included in the documentation.
- 
- EXTRACT_STATIC         = YES
- 
--# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
--# defined locally in source files will be included in the documentation. 
-+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-+# defined locally in source files will be included in the documentation.
- # If set to NO only classes defined in header files are included.
- 
- EXTRACT_LOCAL_CLASSES  = YES
- 
--# This flag is only useful for Objective-C code. When set to YES local 
--# methods, which are defined in the implementation section but not in 
--# the interface are included in the documentation. 
-+# This flag is only useful for Objective-C code. When set to YES local
-+# methods, which are defined in the implementation section but not in
-+# the interface are included in the documentation.
- # If set to NO (the default) only methods in the interface are included.
- 
- EXTRACT_LOCAL_METHODS  = NO
- 
--# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
--# undocumented members of documented classes, files or namespaces. 
--# If set to NO (the default) these members will be included in the 
--# various overviews, but no documentation section is generated. 
-+# If this flag is set to YES, the members of anonymous namespaces will be
-+# extracted and appear in the documentation as a namespace called
-+# 'anonymous_namespace{file}', where file will be replaced with the base
-+# name of the file that contains the anonymous namespace. By default
-+# anonymous namespace are hidden.
-+
-+EXTRACT_ANON_NSPACES   = NO
-+
-+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-+# undocumented members of documented classes, files or namespaces.
-+# If set to NO (the default) these members will be included in the
-+# various overviews, but no documentation section is generated.
- # This option has no effect if EXTRACT_ALL is enabled.
- 
- HIDE_UNDOC_MEMBERS     = NO
- 
--# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
--# undocumented classes that are normally visible in the class hierarchy. 
--# If set to NO (the default) these classes will be included in the various 
-+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-+# undocumented classes that are normally visible in the class hierarchy.
-+# If set to NO (the default) these classes will be included in the various
- # overviews. This option has no effect if EXTRACT_ALL is enabled.
- 
- HIDE_UNDOC_CLASSES     = NO
- 
--# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
--# friend (class|struct|union) declarations. 
--# If set to NO (the default) these declarations will be included in the 
-+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-+# friend (class|struct|union) declarations.
-+# If set to NO (the default) these declarations will be included in the
- # documentation.
- 
- HIDE_FRIEND_COMPOUNDS  = NO
- 
--# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
--# documentation blocks found inside the body of a function. 
--# If set to NO (the default) these blocks will be appended to the 
-+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-+# documentation blocks found inside the body of a function.
-+# If set to NO (the default) these blocks will be appended to the
- # function's detailed documentation block.
- 
- HIDE_IN_BODY_DOCS      = NO
- 
--# The INTERNAL_DOCS tag determines if documentation 
--# that is typed after a \internal command is included. If the tag is set 
--# to NO (the default) then the documentation will be excluded. 
-+# The INTERNAL_DOCS tag determines if documentation
-+# that is typed after a \internal command is included. If the tag is set
-+# to NO (the default) then the documentation will be excluded.
- # Set it to YES to include the internal documentation.
- 
- INTERNAL_DOCS          = NO
- 
--# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
--# file names in lower-case letters. If set to YES upper-case letters are also 
--# allowed. This is useful if you have classes or files whose names only differ 
--# in case and if your file system supports case sensitive file names. Windows 
-+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-+# file names in lower-case letters. If set to YES upper-case letters are also
-+# allowed. This is useful if you have classes or files whose names only differ
-+# in case and if your file system supports case sensitive file names. Windows
- # and Mac users are advised to set this option to NO.
- 
- CASE_SENSE_NAMES       = YES
- 
--# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
--# will show members with their full class and namespace scopes in the 
-+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-+# will show members with their full class and namespace scopes in the
- # documentation. If set to YES the scope will be hidden.
- 
- HIDE_SCOPE_NAMES       = NO
- 
--# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
--# will put a list of the files that are included by a file in the documentation 
-+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-+# will put a list of the files that are included by a file in the documentation
- # of that file.
- 
- SHOW_INCLUDE_FILES     = NO
- 
--# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-+# will list include files with double quotes in the documentation
-+# rather than with sharp brackets.
-+
-+FORCE_LOCAL_INCLUDES   = NO
-+
-+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
- # is inserted in the documentation for inline members.
- 
- INLINE_INFO            = YES
- 
--# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
--# will sort the (detailed) documentation of file and class members 
--# alphabetically by member name. If set to NO the members will appear in 
-+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-+# will sort the (detailed) documentation of file and class members
-+# alphabetically by member name. If set to NO the members will appear in
- # declaration order.
- 
- SORT_MEMBER_DOCS       = YES
- 
--# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
--# brief documentation of file, namespace and class members alphabetically 
--# by member name. If set to NO (the default) the members will appear in 
-+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-+# brief documentation of file, namespace and class members alphabetically
-+# by member name. If set to NO (the default) the members will appear in
- # declaration order.
- 
- SORT_BRIEF_DOCS        = NO
- 
--# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
--# sorted by fully-qualified names, including namespaces. If set to 
--# NO (the default), the class list will be sorted only by class name, 
--# not including the namespace part. 
-+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-+# will sort the (brief and detailed) documentation of class members so that
-+# constructors and destructors are listed first. If set to NO (the default)
-+# the constructors will appear in the respective orders defined by
-+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-+
-+SORT_MEMBERS_CTORS_1ST = NO
-+
-+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-+# hierarchy of group names into alphabetical order. If set to NO (the default)
-+# the group names will appear in their defined order.
-+
-+SORT_GROUP_NAMES       = NO
-+
-+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-+# sorted by fully-qualified names, including namespaces. If set to
-+# NO (the default), the class list will be sorted only by class name,
-+# not including the namespace part.
- # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
--# Note: This option applies only to the class list, not to the 
-+# Note: This option applies only to the class list, not to the
- # alphabetical list.
- 
- SORT_BY_SCOPE_NAME     = NO
- 
--# The GENERATE_TODOLIST tag can be used to enable (YES) or 
--# disable (NO) the todo list. This list is created by putting \todo 
-+# The GENERATE_TODOLIST tag can be used to enable (YES) or
-+# disable (NO) the todo list. This list is created by putting \todo
- # commands in the documentation.
- 
- GENERATE_TODOLIST      = NO
- 
--# The GENERATE_TESTLIST tag can be used to enable (YES) or 
--# disable (NO) the test list. This list is created by putting \test 
-+# The GENERATE_TESTLIST tag can be used to enable (YES) or
-+# disable (NO) the test list. This list is created by putting \test
- # commands in the documentation.
- 
- GENERATE_TESTLIST      = NO
- 
--# The GENERATE_BUGLIST tag can be used to enable (YES) or 
--# disable (NO) the bug list. This list is created by putting \bug 
-+# The GENERATE_BUGLIST tag can be used to enable (YES) or
-+# disable (NO) the bug list. This list is created by putting \bug
- # commands in the documentation.
- 
- GENERATE_BUGLIST       = NO
- 
--# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
--# disable (NO) the deprecated list. This list is created by putting 
-+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-+# disable (NO) the deprecated list. This list is created by putting
- # \deprecated commands in the documentation.
- 
- GENERATE_DEPRECATEDLIST= YES
- 
--# The ENABLED_SECTIONS tag can be used to enable conditional 
-+# The ENABLED_SECTIONS tag can be used to enable conditional
- # documentation sections, marked by \if sectionname ... \endif.
- 
--ENABLED_SECTIONS       = # MODULE_DCMJP2K MODULE_DCMPPS MODULE_DCMSTCOM MODULE_DCMRT
-+ENABLED_SECTIONS       =
- 
--# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
--# the initial value of a variable or define consists of for it to appear in 
--# the documentation. If the initializer consists of more lines than specified 
--# here it will be hidden. Use a value of 0 to hide initializers completely. 
--# The appearance of the initializer of individual variables and defines in the 
--# documentation can be controlled using \showinitializer or \hideinitializer 
-+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-+# the initial value of a variable or define consists of for it to appear in
-+# the documentation. If the initializer consists of more lines than specified
-+# here it will be hidden. Use a value of 0 to hide initializers completely.
-+# The appearance of the initializer of individual variables and defines in the
-+# documentation can be controlled using \showinitializer or \hideinitializer
- # command in the documentation regardless of this setting.
- 
- MAX_INITIALIZER_LINES  = 30
- 
--# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
--# at the bottom of the documentation of classes and structs. If set to YES the 
-+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-+# at the bottom of the documentation of classes and structs. If set to YES the
- # list will mention the files that were used to generate the documentation.
- 
- SHOW_USED_FILES        = YES
- 
--# If the sources in your project are distributed over multiple directories 
--# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-+# If the sources in your project are distributed over multiple directories
-+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
- # in the documentation. The default is NO.
- 
- SHOW_DIRECTORIES       = NO
- 
--# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
--# doxygen should invoke to get the current version for each file (typically from the 
--# version control system). Doxygen will invoke the program by executing (via 
--# popen()) the command <command> <input-file>, where <command> is the value of 
--# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
--# provided by doxygen. Whatever the program writes to standard output 
-+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-+# This will remove the Files entry from the Quick Index and from the
-+# Folder Tree View (if specified). The default is YES.
-+
-+SHOW_FILES             = YES
-+
-+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-+# Namespaces page.
-+# This will remove the Namespaces entry from the Quick Index
-+# and from the Folder Tree View (if specified). The default is YES.
-+
-+SHOW_NAMESPACES        = YES
-+
-+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-+# doxygen should invoke to get the current version for each file (typically from
-+# the version control system). Doxygen will invoke the program by executing (via
-+# popen()) the command <command> <input-file>, where <command> is the value of
-+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-+# provided by doxygen. Whatever the program writes to standard output
- # is used as the file version. See the manual for examples.
- 
--FILE_VERSION_FILTER    = 
-+FILE_VERSION_FILTER    =
-+
-+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-+# by doxygen. The layout file controls the global structure of the generated
-+# output files in an output format independent way. The create the layout file
-+# that represents doxygen's defaults, run doxygen with the -l option.
-+# You can optionally specify a file name after the option, if omitted
-+# DoxygenLayout.xml will be used as the name of the layout file.
-+
-+LAYOUT_FILE            =
- 
- #---------------------------------------------------------------------------
- # configuration options related to warning and progress messages
- #---------------------------------------------------------------------------
- 
--# The QUIET tag can be used to turn on/off the messages that are generated 
-+# The QUIET tag can be used to turn on/off the messages that are generated
- # by doxygen. Possible values are YES and NO. If left blank NO is used.
- 
- QUIET                  = NO
- 
--# The WARNINGS tag can be used to turn on/off the warning messages that are 
--# generated by doxygen. Possible values are YES and NO. If left blank 
-+# The WARNINGS tag can be used to turn on/off the warning messages that are
-+# generated by doxygen. Possible values are YES and NO. If left blank
- # NO is used.
- 
- WARNINGS               = YES
- 
--# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
--# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
- # automatically be disabled.
- 
- WARN_IF_UNDOCUMENTED   = YES
- 
--# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
--# potential errors in the documentation, such as not documenting some 
--# parameters in a documented function, or documenting parameters that 
-+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-+# potential errors in the documentation, such as not documenting some
-+# parameters in a documented function, or documenting parameters that
- # don't exist or using markup commands wrongly.
- 
- WARN_IF_DOC_ERROR      = YES
- 
--# This WARN_NO_PARAMDOC option can be abled to get warnings for 
--# functions that are documented, but have no documentation for their parameters 
--# or return value. If set to NO (the default) doxygen will only warn about 
--# wrong or incomplete parameter documentation, but not about the absence of 
-+# This WARN_NO_PARAMDOC option can be abled to get warnings for
-+# functions that are documented, but have no documentation for their parameters
-+# or return value. If set to NO (the default) doxygen will only warn about
-+# wrong or incomplete parameter documentation, but not about the absence of
- # documentation.
- 
- WARN_NO_PARAMDOC       = NO
- 
--# The WARN_FORMAT tag determines the format of the warning messages that 
--# doxygen can produce. The string should contain the $file, $line, and $text 
--# tags, which will be replaced by the file and line number from which the 
--# warning originated and the warning text. Optionally the format may contain 
--# $version, which will be replaced by the version of the file (if it could 
-+# The WARN_FORMAT tag determines the format of the warning messages that
-+# doxygen can produce. The string should contain the $file, $line, and $text
-+# tags, which will be replaced by the file and line number from which the
-+# warning originated and the warning text. Optionally the format may contain
-+# $version, which will be replaced by the version of the file (if it could
- # be obtained via FILE_VERSION_FILTER)
- 
- WARN_FORMAT            = "$file:$line: $text"
- 
--# The WARN_LOGFILE tag can be used to specify a file to which warning 
--# and error messages should be written. If left blank the output is written 
-+# The WARN_LOGFILE tag can be used to specify a file to which warning
-+# and error messages should be written. If left blank the output is written
- # to stderr.
- 
- WARN_LOGFILE           = htmldocs.log
-@@ -454,98 +576,117 @@
- # configuration options related to the input files
- #---------------------------------------------------------------------------
- 
--# The INPUT tag can be used to specify the files and/or directories that contain 
--# documented source files. You may enter file names like "myfile.cpp" or 
--# directories like "/usr/src/myproject". Separate the files or directories 
-+# The INPUT tag can be used to specify the files and/or directories that contain
-+# documented source files. You may enter file names like "myfile.cpp" or
-+# directories like "/usr/src/myproject". Separate the files or directories
- # with spaces.
- 
- INPUT                  = @DOXYGEN_INPUT_DIR@
- 
--# If the value of the INPUT tag contains directories, you can use the 
--# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
--# and *.h) to filter out the source-files in the directories. If left 
--# blank the following patterns are tested: 
--# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
--# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-+# This tag can be used to specify the character encoding of the source files
-+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-+# also the default input encoding. Doxygen uses libiconv (or the iconv built
-+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-+# the list of possible encodings.
-+
-+INPUT_ENCODING         = UTF-8
-+
-+# If the value of the INPUT tag contains directories, you can use the
-+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-+# and *.h) to filter out the source-files in the directories. If left
-+# blank the following patterns are tested:
-+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
- 
- FILE_PATTERNS          = *.h \
-                          *.man \
-                          *.dox
- 
--# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
--# should be searched for input files as well. Possible values are YES and NO. 
-+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-+# should be searched for input files as well. Possible values are YES and NO.
- # If left blank NO is used.
- 
- RECURSIVE              = YES
- 
--# The EXCLUDE tag can be used to specify files and/or directories that should 
--# excluded from the INPUT source files. This way you can easily exclude a 
-+# The EXCLUDE tag can be used to specify files and/or directories that should
-+# excluded from the INPUT source files. This way you can easily exclude a
- # subdirectory from a directory tree whose root is specified with the INPUT tag.
- 
- EXCLUDE                = @DOXYGEN_INPUT_DIR@/config/include \
-                          @DOXYGEN_INPUT_DIR@/docs
- 
--# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
--# directories that are symbolic links (a Unix filesystem feature) are excluded 
-+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-+# directories that are symbolic links (a Unix filesystem feature) are excluded
- # from the input.
- 
- EXCLUDE_SYMLINKS       = NO
- 
--# If the value of the INPUT tag contains directories, you can use the 
--# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
--# certain files from those directories. Note that the wildcards are matched 
--# against the file with absolute path, so to exclude all test directories 
-+# If the value of the INPUT tag contains directories, you can use the
-+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-+# certain files from those directories. Note that the wildcards are matched
-+# against the file with absolute path, so to exclude all test directories
- # for example use the pattern */test/*
- 
--EXCLUDE_PATTERNS       = 
-+EXCLUDE_PATTERNS       =
-+
-+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-+# (namespaces, classes, functions, etc.) that should be excluded from the
-+# output. The symbol name can be a fully qualified name, a word, or if the
-+# wildcard * is used, a substring. Examples: ANamespace, AClass,
-+# AClass::ANamespace, ANamespace::*Test
-+
-+EXCLUDE_SYMBOLS        =
- 
--# The EXAMPLE_PATH tag can be used to specify one or more files or 
--# directories that contain example code fragments that are included (see 
-+# The EXAMPLE_PATH tag can be used to specify one or more files or
-+# directories that contain example code fragments that are included (see
- # the \include command).
- 
- EXAMPLE_PATH           = @DOXYGEN_INPUT_DIR@
- 
--# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
--# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
--# and *.h) to filter out the source-files in the directories. If left 
-+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-+# and *.h) to filter out the source-files in the directories. If left
- # blank all files are included.
- 
--EXAMPLE_PATTERNS       = 
-+EXAMPLE_PATTERNS       =
- 
--# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
--# searched for input files to be used with the \include or \dontinclude 
--# commands irrespective of the value of the RECURSIVE tag. 
-+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-+# searched for input files to be used with the \include or \dontinclude
-+# commands irrespective of the value of the RECURSIVE tag.
- # Possible values are YES and NO. If left blank NO is used.
- 
- EXAMPLE_RECURSIVE      = YES
- 
--# The IMAGE_PATH tag can be used to specify one or more files or 
--# directories that contain image that are included in the documentation (see 
-+# The IMAGE_PATH tag can be used to specify one or more files or
-+# directories that contain image that are included in the documentation (see
- # the \image command).
- 
--IMAGE_PATH             = 
-+IMAGE_PATH             =
- 
--# The INPUT_FILTER tag can be used to specify a program that doxygen should 
--# invoke to filter for each input file. Doxygen will invoke the filter program 
--# by executing (via popen()) the command <filter> <input-file>, where <filter> 
--# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
--# input file. Doxygen will then use the output that the filter program writes 
--# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-+# The INPUT_FILTER tag can be used to specify a program that doxygen should
-+# invoke to filter for each input file. Doxygen will invoke the filter program
-+# by executing (via popen()) the command <filter> <input-file>, where <filter>
-+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-+# input file. Doxygen will then use the output that the filter program writes
-+# to standard output.
-+# If FILTER_PATTERNS is specified, this tag will be
- # ignored.
- 
--INPUT_FILTER           = 
-+INPUT_FILTER           =
- 
--# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
--# basis.  Doxygen will compare the file name with each pattern and apply the 
--# filter if there is a match.  The filters are a list of the form: 
--# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
--# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-+# basis.
-+# Doxygen will compare the file name with each pattern and apply the
-+# filter if there is a match.
-+# The filters are a list of the form:
-+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
- # is applied to all files.
- 
--FILTER_PATTERNS        = 
-+FILTER_PATTERNS        =
- 
--# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
--# INPUT_FILTER) will be used to filter the input files when producing source 
-+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-+# INPUT_FILTER) will be used to filter the input files when producing source
- # files to browse (i.e. when SOURCE_BROWSER is set to YES).
- 
- FILTER_SOURCE_FILES    = NO
-@@ -554,32 +695,32 @@
- # configuration options related to source browsing
- #---------------------------------------------------------------------------
- 
--# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
--# be generated. Documented entities will be cross-referenced with these sources. 
--# Note: To get rid of all source code in the generated output, make sure also 
-+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-+# be generated. Documented entities will be cross-referenced with these sources.
-+# Note: To get rid of all source code in the generated output, make sure also
- # VERBATIM_HEADERS is set to NO.
- 
- SOURCE_BROWSER         = YES
- 
--# Setting the INLINE_SOURCES tag to YES will include the body 
-+# Setting the INLINE_SOURCES tag to YES will include the body
- # of functions and classes directly in the documentation.
- 
- INLINE_SOURCES         = NO
- 
--# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
--# doxygen to hide any special comment blocks from generated source code 
-+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-+# doxygen to hide any special comment blocks from generated source code
- # fragments. Normal C and C++ comments will always remain visible.
- 
- STRIP_CODE_COMMENTS    = YES
- 
--# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
--# then for each documented function all documented 
-+# If the REFERENCED_BY_RELATION tag is set to YES
-+# then for each documented function all documented
- # functions referencing it will be listed.
- 
- REFERENCED_BY_RELATION = YES
- 
--# If the REFERENCES_RELATION tag is set to YES (the default) 
--# then for each documented function all documented entities 
-+# If the REFERENCES_RELATION tag is set to YES
-+# then for each documented function all documented entities
- # called/used by that function will be listed.
- 
- REFERENCES_RELATION    = YES
-@@ -587,20 +728,21 @@
- # If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
- # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
- # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
--# link to the source code.  Otherwise they will link to the documentation.
-+# link to the source code.
-+# Otherwise they will link to the documentation.
- 
- REFERENCES_LINK_SOURCE = YES
- 
--# If the USE_HTAGS tag is set to YES then the references to source code 
--# will point to the HTML generated by the htags(1) tool instead of doxygen 
--# built-in source browser. The htags tool is part of GNU's global source 
--# tagging system (see http://www.gnu.org/software/global/global.html). You 
-+# If the USE_HTAGS tag is set to YES then the references to source code
-+# will point to the HTML generated by the htags(1) tool instead of doxygen
-+# built-in source browser. The htags tool is part of GNU's global source
-+# tagging system (see http://www.gnu.org/software/global/global.html). You
- # will need version 4.8.6 or higher.
- 
- USE_HTAGS              = NO
- 
--# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
--# will generate a verbatim copy of the header file for each class for 
-+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-+# will generate a verbatim copy of the header file for each class for
- # which an include is specified. Set to NO to disable this.
- 
- VERBATIM_HEADERS       = YES
-@@ -609,279 +751,488 @@
- # configuration options related to the alphabetical class index
- #---------------------------------------------------------------------------
- 
--# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
--# of all compounds will be generated. Enable this if the project 
-+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-+# of all compounds will be generated. Enable this if the project
- # contains a lot of classes, structs, unions or interfaces.
- 
- ALPHABETICAL_INDEX     = YES
- 
--# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
--# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
- # in which this list will be split (can be a number in the range [1..20])
- 
- COLS_IN_ALPHA_INDEX    = 3
- 
--# In case all classes in a project start with a common prefix, all 
--# classes will be put under the same header in the alphabetical index. 
--# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-+# In case all classes in a project start with a common prefix, all
-+# classes will be put under the same header in the alphabetical index.
-+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
- # should be ignored while generating the index headers.
- 
--IGNORE_PREFIX          = 
-+IGNORE_PREFIX          =
- 
- #---------------------------------------------------------------------------
- # configuration options related to the HTML output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
- # generate HTML output.
- 
- GENERATE_HTML          = YES
- 
--# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
--# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
- # put in front of it. If left blank `html' will be used as the default path.
- 
- HTML_OUTPUT            = htmldocs
- 
--# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
--# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
- # doxygen will generate files with .html extension.
- 
- HTML_FILE_EXTENSION    = .html
- 
--# The HTML_HEADER tag can be used to specify a personal HTML header for 
--# each generated HTML page. If it is left blank doxygen will generate a 
-+# The HTML_HEADER tag can be used to specify a personal HTML header for
-+# each generated HTML page. If it is left blank doxygen will generate a
- # standard header.
- 
--HTML_HEADER            = 
-+HTML_HEADER            =
- 
--# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
--# each generated HTML page. If it is left blank doxygen will generate a 
-+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-+# each generated HTML page. If it is left blank doxygen will generate a
- # standard footer.
- 
- HTML_FOOTER            = @DOXYGEN_DATA_DIR@/footer.html
- 
--# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
--# style sheet that is used by each HTML page. It can be used to 
--# fine-tune the look of the HTML output. If the tag is left blank doxygen 
--# will generate a default style sheet. Note that doxygen will try to copy 
--# the style sheet file to the HTML output directory, so don't put your own 
-+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-+# style sheet that is used by each HTML page. It can be used to
-+# fine-tune the look of the HTML output. If the tag is left blank doxygen
-+# will generate a default style sheet. Note that doxygen will try to copy
-+# the style sheet file to the HTML output directory, so don't put your own
- # stylesheet in the HTML output directory as well, or it will be erased!
- 
--HTML_STYLESHEET        = 
-+HTML_STYLESHEET        =
-+
-+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-+# Doxygen will adjust the colors in the stylesheet and background images
-+# according to this color. Hue is specified as an angle on a colorwheel,
-+# see http://en.wikipedia.org/wiki/Hue for more information.
-+# For instance the value 0 represents red, 60 is yellow, 120 is green,
-+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-+# The allowed range is 0 to 359.
-+
-+HTML_COLORSTYLE_HUE    = 220
-+
-+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-+# the colors in the HTML output. For a value of 0 the output will use
-+# grayscales only. A value of 255 will produce the most vivid colors.
- 
--# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
--# files or namespaces will be aligned in HTML using tables. If set to 
-+HTML_COLORSTYLE_SAT    = 100
-+
-+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-+# the luminance component of the colors in the HTML output. Values below
-+# 100 gradually make the output lighter, whereas values above 100 make
-+# the output darker. The value divided by 100 is the actual gamma applied,
-+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-+# and 100 does not change the gamma.
-+
-+HTML_COLORSTYLE_GAMMA  = 80
-+
-+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-+# page will contain the date and time when the page was generated. Setting
-+# this to NO can help when comparing the output of multiple runs.
-+
-+HTML_TIMESTAMP         = YES
-+
-+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-+# files or namespaces will be aligned in HTML using tables. If set to
- # NO a bullet list will be used.
- 
- HTML_ALIGN_MEMBERS     = YES
- 
--# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
--# will be generated that can be used as input for tools like the 
--# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-+# documentation will contain sections that can be hidden and shown after the
-+# page has loaded. For this to work a browser that supports
-+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-+
-+HTML_DYNAMIC_SECTIONS  = NO
-+
-+# If the GENERATE_DOCSET tag is set to YES, additional index files
-+# will be generated that can be used as input for Apple's Xcode 3
-+# integrated development environment, introduced with OSX 10.5 (Leopard).
-+# To create a documentation set, doxygen will generate a Makefile in the
-+# HTML output directory. Running make will produce the docset in that
-+# directory and running "make install" will install the docset in
-+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-+# it at startup.
-+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-+# for more information.
-+
-+GENERATE_DOCSET        = NO
-+
-+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-+# feed. A documentation feed provides an umbrella under which multiple
-+# documentation sets from a single provider (such as a company or product suite)
-+# can be grouped.
-+
-+DOCSET_FEEDNAME        = "Doxygen generated docs"
-+
-+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-+# should uniquely identify the documentation set bundle. This should be a
-+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-+# will append .docset to the name.
-+
-+DOCSET_BUNDLE_ID       = org.doxygen.Project
-+
-+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
-+# the documentation publisher. This should be a reverse domain-name style
-+# string, e.g. com.mycompany.MyDocSet.documentation.
-+
-+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-+
-+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-+
-+DOCSET_PUBLISHER_NAME  = Publisher
-+
-+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-+# will be generated that can be used as input for tools like the
-+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
- # of the generated HTML documentation.
- 
- GENERATE_HTMLHELP      = NO
- 
--# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
--# be used to specify the file name of the resulting .chm file. You 
--# can add a path in front of the file if the result should not be 
-+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-+# be used to specify the file name of the resulting .chm file. You
-+# can add a path in front of the file if the result should not be
- # written to the html output directory.
- 
- CHM_FILE               = dcmtk354.chm
- 
--# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
--# be used to specify the location (absolute path including file name) of 
--# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-+# be used to specify the location (absolute path including file name) of
-+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
- # the HTML help compiler on the generated index.hhp.
- 
--HHC_LOCATION           = 
-+HHC_LOCATION           =
- 
--# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
--# controls if a separate .chi index file is generated (YES) or that 
-+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-+# controls if a separate .chi index file is generated (YES) or that
- # it should be included in the master .chm file (NO).
- 
- GENERATE_CHI           = NO
- 
--# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
--# controls whether a binary table of contents is generated (YES) or a 
-+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-+# content.
-+
-+CHM_INDEX_ENCODING     =
-+
-+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-+# controls whether a binary table of contents is generated (YES) or a
- # normal table of contents (NO) in the .chm file.
- 
- BINARY_TOC             = NO
- 
--# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-+# The TOC_EXPAND flag can be set to YES to add extra items for group members
- # to the contents of the HTML help documentation and to the tree view.
- 
- TOC_EXPAND             = YES
- 
--# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
--# top of each HTML page. The value NO (the default) enables the index and 
-+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-+# that can be used as input for Qt's qhelpgenerator to generate a
-+# Qt Compressed Help (.qch) of the generated HTML documentation.
-+
-+GENERATE_QHP           = NO
-+
-+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-+# be used to specify the file name of the resulting .qch file.
-+# The path specified is relative to the HTML output folder.
-+
-+QCH_FILE               =
-+
-+# The QHP_NAMESPACE tag specifies the namespace to use when generating
-+# Qt Help Project output. For more information please see
-+# http://doc.trolltech.com/qthelpproject.html#namespace
-+
-+QHP_NAMESPACE          = org.doxygen.Project
-+
-+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-+# Qt Help Project output. For more information please see
-+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-+
-+QHP_VIRTUAL_FOLDER     = doc
-+
-+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-+# add. For more information please see
-+# http://doc.trolltech.com/qthelpproject.html#custom-filters
-+
-+QHP_CUST_FILTER_NAME   =
-+
-+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-+# custom filter to add. For more information please see
-+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
-+# Qt Help Project / Custom Filters</a>.
-+
-+QHP_CUST_FILTER_ATTRS  =
-+
-+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-+# project's
-+# filter section matches.
-+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
-+# Qt Help Project / Filter Attributes</a>.
-+
-+QHP_SECT_FILTER_ATTRS  =
-+
-+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-+# be used to specify the location of Qt's qhelpgenerator.
-+# If non-empty doxygen will try to run qhelpgenerator on the generated
-+# .qhp file.
-+
-+QHG_LOCATION           =
-+
-+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-+#  will be generated, which together with the HTML files, form an Eclipse help
-+# plugin. To install this plugin and make it available under the help contents
-+# menu in Eclipse, the contents of the directory containing the HTML and XML
-+# files needs to be copied into the plugins directory of eclipse. The name of
-+# the directory within the plugins directory should be the same as
-+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-+# the help appears.
-+
-+GENERATE_ECLIPSEHELP   = NO
-+
-+# A unique identifier for the eclipse help plugin. When installing the plugin
-+# the directory name containing the HTML and XML files should also have
-+# this name.
-+
-+ECLIPSE_DOC_ID         = org.doxygen.Project
-+
-+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-+# top of each HTML page. The value NO (the default) enables the index and
- # the value YES disables it.
- 
- DISABLE_INDEX          = NO
- 
--# This tag can be used to set the number of enum values (range [1..20]) 
-+# This tag can be used to set the number of enum values (range [1..20])
- # that doxygen will group on one line in the generated HTML documentation.
- 
- ENUM_VALUES_PER_LINE   = 4
- 
--# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
--# generated containing a tree-like index structure (just like the one that 
--# is generated for HTML Help). For this to work a browser that supports 
--# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
--# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
--# probably better off using the HTML help feature.
-+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-+# structure should be generated to display hierarchical information.
-+# If the tag value is set to YES, a side panel will be generated
-+# containing a tree-like index structure (just like the one that
-+# is generated for HTML Help). For this to work a browser that supports
-+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-+# Windows users are probably better off using the HTML help feature.
- 
- GENERATE_TREEVIEW      = NO
- 
--# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
--# used to set the initial width (in pixels) of the frame in which the tree 
-+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-+# and Class Hierarchy pages using a tree view instead of an ordered list.
-+
-+USE_INLINE_TREES       = NO
-+
-+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-+# used to set the initial width (in pixels) of the frame in which the tree
- # is shown.
- 
- TREEVIEW_WIDTH         = 250
- 
-+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-+# links to external symbols imported via tag files in a separate window.
-+
-+EXT_LINKS_IN_WINDOW    = NO
-+
-+# Use this tag to change the font size of Latex formulas included
-+# as images in the HTML documentation. The default is 10. Note that
-+# when you change the font size after a successful doxygen run you need
-+# to manually remove any form_*.png images from the HTML output directory
-+# to force them to be regenerated.
-+
-+FORMULA_FONTSIZE       = 10
-+
-+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-+# generated for formulas are transparent PNGs. Transparent PNGs are
-+# not supported properly for IE 6.0, but are supported on all modern browsers.
-+# Note that when changing this option you need to delete any form_*.png files
-+# in the HTML output before the changes have effect.
-+
-+FORMULA_TRANSPARENT    = YES
-+
-+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-+# for the HTML output. The underlying search engine uses javascript
-+# and DHTML and should work on any modern browser. Note that when using
-+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-+# (GENERATE_DOCSET) there is already a search function so this one should
-+# typically be disabled. For large projects the javascript based search engine
-+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-+
-+SEARCHENGINE           = NO
-+
-+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-+# implemented using a PHP enabled web server instead of at the web client
-+# using Javascript. Doxygen will generate the search PHP script and index
-+# file to put on the web server. The advantage of the server
-+# based approach is that it scales better to large projects and allows
-+# full text search. The disadvances is that it is more difficult to setup
-+# and does not have live searching capabilities.
-+
-+SERVER_BASED_SEARCH    = NO
-+
- #---------------------------------------------------------------------------
- # configuration options related to the LaTeX output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
- # generate Latex output.
- 
- GENERATE_LATEX         = NO
- 
--# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
--# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
- # put in front of it. If left blank `latex' will be used as the default path.
- 
- LATEX_OUTPUT           = latex
- 
--# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
- # invoked. If left blank `latex' will be used as the default command name.
-+# Note that when enabling USE_PDFLATEX this option is only used for
-+# generating bitmaps for formulas in the HTML output, but not in the
-+# Makefile that is written to the output directory.
- 
- LATEX_CMD_NAME         = latex
- 
--# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
--# generate index for LaTeX. If left blank `makeindex' will be used as the 
-+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-+# generate index for LaTeX. If left blank `makeindex' will be used as the
- # default command name.
- 
- MAKEINDEX_CMD_NAME     = makeindex
- 
--# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
--# LaTeX documents. This may be useful for small projects and may help to 
-+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-+# LaTeX documents. This may be useful for small projects and may help to
- # save some trees in general.
- 
- COMPACT_LATEX          = NO
- 
--# The PAPER_TYPE tag can be used to set the paper type that is used 
--# by the printer. Possible values are: a4, a4wide, letter, legal and 
-+# The PAPER_TYPE tag can be used to set the paper type that is used
-+# by the printer. Possible values are: a4, a4wide, letter, legal and
- # executive. If left blank a4wide will be used.
- 
- PAPER_TYPE             = a4wide
- 
--# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
- # packages that should be included in the LaTeX output.
- 
--EXTRA_PACKAGES         = 
-+EXTRA_PACKAGES         =
- 
--# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
--# the generated latex document. The header should contain everything until 
--# the first chapter. If it is left blank doxygen will generate a 
-+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-+# the generated latex document. The header should contain everything until
-+# the first chapter. If it is left blank doxygen will generate a
- # standard header. Notice: only use this tag if you know what you are doing!
- 
--LATEX_HEADER           = 
-+LATEX_HEADER           =
- 
--# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
--# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
--# contain links (just like the HTML output) instead of page references 
-+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-+# contain links (just like the HTML output) instead of page references
- # This makes the output suitable for online browsing using a pdf viewer.
- 
- PDF_HYPERLINKS         = YES
- 
--# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
--# plain latex in the generated Makefile. Set this option to YES to get a 
-+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-+# plain latex in the generated Makefile. Set this option to YES to get a
- # higher quality PDF documentation.
- 
- USE_PDFLATEX           = NO
- 
--# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
--# command to the generated LaTeX files. This will instruct LaTeX to keep 
--# running if errors occur, instead of asking the user for help. 
-+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-+# command to the generated LaTeX files. This will instruct LaTeX to keep
-+# running if errors occur, instead of asking the user for help.
- # This option is also used when generating formulas in HTML.
- 
- LATEX_BATCHMODE        = YES
- 
--# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
--# include the index chapters (such as File Index, Compound Index, etc.) 
-+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-+# include the index chapters (such as File Index, Compound Index, etc.)
- # in the output.
- 
- LATEX_HIDE_INDICES     = NO
- 
-+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-+# source code with syntax highlighting in the LaTeX output.
-+# Note that which sources are shown also depends on other settings
-+# such as SOURCE_BROWSER.
-+
-+LATEX_SOURCE_CODE      = NO
-+
- #---------------------------------------------------------------------------
- # configuration options related to the RTF output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
--# The RTF output is optimized for Word 97 and may not look very pretty with 
-+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-+# The RTF output is optimized for Word 97 and may not look very pretty with
- # other RTF readers or editors.
- 
- GENERATE_RTF           = NO
- 
--# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
--# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
- # put in front of it. If left blank `rtf' will be used as the default path.
- 
- RTF_OUTPUT             = rtf
- 
--# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
--# RTF documents. This may be useful for small projects and may help to 
-+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-+# RTF documents. This may be useful for small projects and may help to
- # save some trees in general.
- 
- COMPACT_RTF            = NO
- 
--# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
--# will contain hyperlink fields. The RTF file will 
--# contain links (just like the HTML output) instead of page references. 
--# This makes the output suitable for online browsing using WORD or other 
--# programs which support those fields. 
-+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-+# will contain hyperlink fields. The RTF file will
-+# contain links (just like the HTML output) instead of page references.
-+# This makes the output suitable for online browsing using WORD or other
-+# programs which support those fields.
- # Note: wordpad (write) and others do not support links.
- 
- RTF_HYPERLINKS         = NO
- 
--# Load stylesheet definitions from file. Syntax is similar to doxygen's 
--# config file, i.e. a series of assignments. You only have to provide 
-+# Load stylesheet definitions from file. Syntax is similar to doxygen's
-+# config file, i.e. a series of assignments. You only have to provide
- # replacements, missing definitions are set to their default value.
- 
--RTF_STYLESHEET_FILE    = 
-+RTF_STYLESHEET_FILE    =
- 
--# Set optional variables used in the generation of an rtf document. 
-+# Set optional variables used in the generation of an rtf document.
- # Syntax is similar to doxygen's config file.
- 
--RTF_EXTENSIONS_FILE    = 
-+RTF_EXTENSIONS_FILE    =
- 
- #---------------------------------------------------------------------------
- # configuration options related to the man page output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
- # generate man pages
- 
- GENERATE_MAN           = NO
- 
--# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
--# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
- # put in front of it. If left blank `man' will be used as the default path.
- 
- MAN_OUTPUT             = man
- 
--# The MAN_EXTENSION tag determines the extension that is added to 
-+# The MAN_EXTENSION tag determines the extension that is added to
- # the generated man pages (default is the subroutine's section .3)
- 
- MAN_EXTENSION          = .3
- 
--# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
--# then it will generate one additional man file for each entity 
--# documented in the real man page(s). These additional files 
--# only source the real man page, but without them the man command 
-+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-+# then it will generate one additional man file for each entity
-+# documented in the real man page(s). These additional files
-+# only source the real man page, but without them the man command
- # would be unable to find the correct page. The default is NO.
- 
- MAN_LINKS              = NO
-@@ -890,33 +1241,33 @@
- # configuration options related to the XML output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_XML tag is set to YES Doxygen will 
--# generate an XML file that captures the structure of 
-+# If the GENERATE_XML tag is set to YES Doxygen will
-+# generate an XML file that captures the structure of
- # the code including all documentation.
- 
- GENERATE_XML           = NO
- 
--# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
--# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
- # put in front of it. If left blank `xml' will be used as the default path.
- 
- XML_OUTPUT             = xml
- 
--# The XML_SCHEMA tag can be used to specify an XML schema, 
--# which can be used by a validating XML parser to check the 
-+# The XML_SCHEMA tag can be used to specify an XML schema,
-+# which can be used by a validating XML parser to check the
- # syntax of the XML files.
- 
--XML_SCHEMA             = 
-+XML_SCHEMA             =
- 
--# The XML_DTD tag can be used to specify an XML DTD, 
--# which can be used by a validating XML parser to check the 
-+# The XML_DTD tag can be used to specify an XML DTD,
-+# which can be used by a validating XML parser to check the
- # syntax of the XML files.
- 
--XML_DTD                = 
-+XML_DTD                =
- 
--# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
--# dump the program listings (including syntax highlighting 
--# and cross-referencing information) to the XML output. Note that 
-+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-+# dump the program listings (including syntax highlighting
-+# and cross-referencing information) to the XML output. Note that
- # enabling this will significantly increase the size of the XML output.
- 
- XML_PROGRAMLISTING     = YES
-@@ -925,10 +1276,10 @@
- # configuration options for the AutoGen Definitions output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
--# generate an AutoGen Definitions (see autogen.sf.net) file 
--# that captures the structure of the code including all 
--# documentation. Note that this feature is still experimental 
-+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-+# generate an AutoGen Definitions (see autogen.sf.net) file
-+# that captures the structure of the code including all
-+# documentation. Note that this feature is still experimental
- # and incomplete at the moment.
- 
- GENERATE_AUTOGEN_DEF   = NO
-@@ -937,82 +1288,84 @@
- # configuration options related to the Perl module output
- #---------------------------------------------------------------------------
- 
--# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
--# generate a Perl module file that captures the structure of 
--# the code including all documentation. Note that this 
--# feature is still experimental and incomplete at the 
-+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-+# generate a Perl module file that captures the structure of
-+# the code including all documentation. Note that this
-+# feature is still experimental and incomplete at the
- # moment.
- 
- GENERATE_PERLMOD       = NO
- 
--# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
--# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
- # to generate PDF and DVI output from the Perl module output.
- 
- PERLMOD_LATEX          = NO
- 
--# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
--# nicely formatted so it can be parsed by a human reader.  This is useful 
--# if you want to understand what is going on.  On the other hand, if this 
--# tag is set to NO the size of the Perl module output will be much smaller 
-+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-+# nicely formatted so it can be parsed by a human reader.
-+# This is useful
-+# if you want to understand what is going on.
-+# On the other hand, if this
-+# tag is set to NO the size of the Perl module output will be much smaller
- # and Perl will parse it just the same.
- 
- PERLMOD_PRETTY         = YES
- 
--# The names of the make variables in the generated doxyrules.make file 
--# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
--# This is useful so different doxyrules.make files included by the same 
-+# The names of the make variables in the generated doxyrules.make file
-+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-+# This is useful so different doxyrules.make files included by the same
- # Makefile don't overwrite each other's variables.
- 
--PERLMOD_MAKEVAR_PREFIX = 
-+PERLMOD_MAKEVAR_PREFIX =
- 
- #---------------------------------------------------------------------------
--# Configuration options related to the preprocessor   
-+# Configuration options related to the preprocessor
- #---------------------------------------------------------------------------
- 
--# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
--# evaluate all C-preprocessor directives found in the sources and include 
-+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-+# evaluate all C-preprocessor directives found in the sources and include
- # files.
- 
- ENABLE_PREPROCESSING   = YES
- 
--# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
--# names in the source code. If set to NO (the default) only conditional 
--# compilation will be performed. Macro expansion can be done in a controlled 
-+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-+# names in the source code. If set to NO (the default) only conditional
-+# compilation will be performed. Macro expansion can be done in a controlled
- # way by setting EXPAND_ONLY_PREDEF to YES.
- 
- MACRO_EXPANSION        = NO
- 
--# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
--# then the macro expansion is limited to the macros specified with the 
-+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-+# then the macro expansion is limited to the macros specified with the
- # PREDEFINED and EXPAND_AS_DEFINED tags.
- 
- EXPAND_ONLY_PREDEF     = NO
- 
--# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
- # in the INCLUDE_PATH (see below) will be search if a #include is found.
- 
- SEARCH_INCLUDES        = YES
- 
--# The INCLUDE_PATH tag can be used to specify one or more directories that 
--# contain include files that are not input files but should be processed by 
-+# The INCLUDE_PATH tag can be used to specify one or more directories that
-+# contain include files that are not input files but should be processed by
- # the preprocessor.
- 
--INCLUDE_PATH           = 
-+INCLUDE_PATH           =
- 
--# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
--# patterns (like *.h and *.hpp) to filter out the header-files in the 
--# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-+# patterns (like *.h and *.hpp) to filter out the header-files in the
-+# directories. If left blank, the patterns specified with FILE_PATTERNS will
- # be used.
- 
--INCLUDE_FILE_PATTERNS  = 
-+INCLUDE_FILE_PATTERNS  =
- 
--# The PREDEFINED tag can be used to specify one or more macro names that 
--# are defined before the preprocessor is started (similar to the -D option of 
--# gcc). The argument of the tag is a list of macros of the form: name 
--# or name=definition (no spaces). If the definition and the = are 
--# omitted =1 is assumed. To prevent a macro definition from being 
--# undefined via #undef or recursively expanded use the := operator 
-+# The PREDEFINED tag can be used to specify one or more macro names that
-+# are defined before the preprocessor is started (similar to the -D option of
-+# gcc). The argument of the tag is a list of macros of the form: name
-+# or name=definition (no spaces). If the definition and the = are
-+# omitted =1 is assumed. To prevent a macro definition from being
-+# undefined via #undef or recursively expanded use the := operator
- # instead of the = operator.
- 
- PREDEFINED             = WITH_OPENSSL \
-@@ -1104,7 +1457,7 @@
- # toolkit from AT&T and Lucent Bell Labs. The other options in this section 
- # have no effect if this option is set to NO (the default)
- 
--HAVE_DOT               = NO
-+HAVE_DOT               = YES
- 
- # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
- # will generate a graph for each documented class showing the direct and 
-@@ -1182,7 +1535,7 @@
- # generated by dot. Possible values are png, jpg, or gif
- # If left blank png will be used.
- 
--DOT_IMAGE_FORMAT       = png
-+DOT_IMAGE_FORMAT       = svg
- 
- # The tag DOT_PATH can be used to specify the path where the dot tool can be 
- # found. If left blank, it is assumed the dot tool can be found in the path.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-10-09 10:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-28 10:23 [gentoo-commits] proj/sci:master commit in: patches/ Horea Christian
  -- strict thread matches above, loose matches on Subject: below --
2020-10-09 10:41 Horea Christian
2015-11-28 18:02 Marius Brehler
2015-09-03 11:04 Justin Lecher
2014-11-13  0:15 Christoph Junghans
2014-11-11 15:48 Justin Lecher
2014-11-11  8:30 Justin Lecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox