* [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> 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> 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> 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> 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