diff --git a/doc/CpptrajManual.pdf b/doc/CpptrajManual.pdf index 396e825409..b882f583bc 100644 Binary files a/doc/CpptrajManual.pdf and b/doc/CpptrajManual.pdf differ diff --git a/doc/DocumentChecksums.txt b/doc/DocumentChecksums.txt index 8b4d27854e..770ffa8977 100644 --- a/doc/DocumentChecksums.txt +++ b/doc/DocumentChecksums.txt @@ -1,3 +1,3 @@ f6f8cb1a79951d80a9d2656fd9c30f55 CpptrajDevelopmentGuide.lyx -f7837faf109fc9c36db4e0274ff6d92f cpptraj.lyx +cbbe066a99553d484a9113510c740f1a cpptraj.lyx 5d9b5b5ed47a3ded57b6464df99b3585 CpptrajManual.lyx diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 2c86d02116..dd657e6d8c 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -3141,7 +3141,7 @@ status open \begin_layout Plain Layout \align center \begin_inset Tabular - + @@ -3685,6 +3685,54 @@ pH data only \begin_inset Text +\begin_layout Plain Layout +Amber GBNSR6 output +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +.gbnsr6 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +gbnsr6 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Energy information, + Read Only +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout Density Peaks \end_layout @@ -44909,7 +44957,8 @@ surftension \end_layout \begin_layout Description - Atoms used to build the instantaneous interface (typically heavy atoms of the liquid, e.g. + Atoms used to build the instantaneous interface (typically heavy atoms of the liquid, + e.g. :WAT@O). \end_layout @@ -44962,7 +45011,8 @@ interface \begin_inset space ~ \end_inset -{willard|itim} Instantaneous interface: Willard–Chandler density isosurface (default) or ITIM per-column min/max. +{willard|itim} Instantaneous interface: + Willard–Chandler density isosurface (default) or ITIM per-column min/max. \end_layout \begin_layout Description @@ -44996,8 +45046,7 @@ qmin / qmax \begin_inset space ~ \end_inset -Fit window in Ang. -^-1. +Fit window in Ang.^-1. If qmin is omitted it is 2*pi/max(L1,L2) from the first good frame. \end_layout @@ -45015,7 +45064,8 @@ nblock / dt / blocktime \end_inset Block averaging. - blocktime (ps) with dt (analyzed-frame spacing, ps) sets nblock. + blocktime (ps) with dt (analyzed-frame spacing, + ps) sets nblock. \end_layout \begin_layout Description @@ -45041,7 +45091,9 @@ Optional output files. \begin_inset space ~ \end_inset -Force Grace or gnuplot format for spectrum, roughness, or block files. +Force Grace or gnuplot format for spectrum, + roughness, + or block files. \end_layout \end_deeper @@ -45058,7 +45110,9 @@ literal "true" Frames are recentered so the film sits at mid-box along the chosen normal. The default interface is a Willard–Chandler isosurface of a Gaussian-smoothed number-density field; interface itim uses per-column min/max of (probe radius to 0). - The height field is Fourier transformed (numpy fft2 convention), shell-averaged to S(q), and gamma (mN/m) is taken from the small-q plateau of q^2 S(q). + The height field is Fourier transformed (numpy fft2 convention), + shell-averaged to S(q), + and gamma (mN/m) is taken from the small-q plateau of q^2 S(q). A Helfrich fit of 1/(q^2 S) vs q^2 on the same window gives kappa in kT. The trajectory is assumed NVT (fixed lateral box lengths). The 3-D Gaussian filter is OpenMP-parallel. @@ -48984,6 +49038,10 @@ avg [ ...] [torsion] [out ] [oversets] \end_layout +\begin_layout LyX-Code + [ffmt {GEN|DBL|SCI}] [fwidth ] [fprec ] +\end_layout + \begin_deeper \begin_layout Description Data set(s) to calculate the average for. @@ -49020,6 +49078,32 @@ avg [ ...] [torsion] [out ] [oversets] [nostdout] If 'nostdout' specified do not write averages to STDOUT when 'out' not specified. \end_layout +\begin_layout Description +[ffmt +\begin_inset space ~ +\end_inset + +{GEN|DBL|SCI}] Change the default floating point output format to GEN=general, + DBL=double, + or SCI=scientific. +\end_layout + +\begin_layout Description +[fwidth +\begin_inset space ~ +\end_inset + +] Change the default floating point output width to . +\end_layout + +\begin_layout Description +[fprec +\begin_inset space ~ +\end_inset + +] Change the default floating point output precision to . +\end_layout + \begin_layout Standard DataSets Created (not \series bold diff --git a/src/AmberEterm.cpp b/src/AmberEterm.cpp new file mode 100644 index 0000000000..dbd8be2741 --- /dev/null +++ b/src/AmberEterm.cpp @@ -0,0 +1,128 @@ +#include "AmberEterm.h" +#include "CpptrajStdio.h" +#include "StringRoutines.h" // NoTrailingWhitespace, validDouble + +using namespace Cpptraj; + +AmberEterm::AmberEterm() { + // Populate the term name to index map. In some cases, multiple term names + // map to the same index. + termIdxMap_.insert(NameIdxPair("Etot", ETOT)); + termIdxMap_.insert(NameIdxPair("EPtot", EPTOT)); + termIdxMap_.insert(NameIdxPair("GMAX", GMAX)); // Not necessary? + termIdxMap_.insert(NameIdxPair("BOND", BOND)); + termIdxMap_.insert(NameIdxPair("ANGLE", ANGLE)); + termIdxMap_.insert(NameIdxPair("DIHED", DIHED)); + termIdxMap_.insert(NameIdxPair("VDWAALS", VDWAALS)); + termIdxMap_.insert(NameIdxPair("EEL", EEL)); + termIdxMap_.insert(NameIdxPair("EELEC", EEL)); + termIdxMap_.insert(NameIdxPair("EGB", EGB)); + termIdxMap_.insert(NameIdxPair("EPB", EPB)); + termIdxMap_.insert(NameIdxPair("ECAVITY", ECAVITY)); + termIdxMap_.insert(NameIdxPair("EDISPER", EDISPER)); + termIdxMap_.insert(NameIdxPair("1-4 VDW", VDW14)); + termIdxMap_.insert(NameIdxPair("1-4 NB", VDW14)); + termIdxMap_.insert(NameIdxPair("1-4 EEL", EEL14)); + termIdxMap_.insert(NameIdxPair("RESTRAINT", RESTRAINT)); + termIdxMap_.insert(NameIdxPair("EAMBER", EAMBER)); + termIdxMap_.insert(NameIdxPair("Density", DENSITY)); + termIdxMap_.insert(NameIdxPair("RMS", RMS)); // Not necessary? + termIdxMap_.insert(NameIdxPair("EKtot", EKTOT)); + termIdxMap_.insert(NameIdxPair("ESURF", ESURF)); + termIdxMap_.insert(NameIdxPair("EAMD_BOOST", EAMD_BOOST)); + termIdxMap_.insert(NameIdxPair("VOLUME", VOLUME)); + termIdxMap_.insert(NameIdxPair("TEMP(K)", TEMP)); + termIdxMap_.insert(NameIdxPair("PRESS", PRESS)); + termIdxMap_.insert(NameIdxPair("DV/DL", DVDL)); + termIdxMap_.insert(NameIdxPair("CMAP", CMAP)); +} + +/** Names corresponding to FieldType. */ +const char* AmberEterm::Enames_[] = { + "Etot", "EPtot", "GMAX", "BOND", + "ANGLE", "DIHED", "VDW", "EELEC", "EGB", "EPB", "ECAVITY", "EDISPER", + "VDW1-4", "EEL1-4", "RST", "EAMBER", "Density", + "RMS", "EKtot", "ESURF", "EAMD_BOOST", "VOLUME", "TEMP", + "PRESS", "DVDL", "CMAP", 0 +}; + +/** \return FieldType corresponding to given term name, or N_FIELDTYPES if + * not recognized. + */ +AmberEterm::FieldType AmberEterm::getTermIdx(std::string const& name) const { + NameIdxMap::const_iterator it = termIdxMap_.find( name ); + if (it == termIdxMap_.end()) { + return (FieldType)N_FIELDTYPES; + } else { + return (FieldType)it->second; + } +} + +/** Allocate an array with enough space for all energy terms. */ +AmberEterm::Darray AmberEterm::AllocEnergyArray() { + return Darray(N_FIELDTYPES, 0); +} + +/** Allocate a boolean array to indicate whether the term was seen by GetAmberEterms. */ +std::vector AmberEterm::AllocExistsArray() { + return std::vector(N_FIELDTYPES, false); +} + +/** Parse the given line for energy terms of format =. */ +int AmberEterm::GetAmberEterms(const char* ptr, Darray& Energy, std::vector& EnergyExists) const { + //mprintf("DBG: [%s]\n", ptr); + if (ptr == 0 || ptr[0] == '|') return 0; + const char* beg = ptr; + // 111111111122222222223 + //0123456789012345678901234567890 + // NSTEP = 0 TIME(PS) = 0.000 TEMP(K) = 435.99 PRESS =-10207.6 + bool eol = false; + while (!eol) { + // Skip leading whitespace + while (*beg == ' ' && *beg != '\0') ++beg; + if (*beg == '\0') { + // Line is blank or no more terms. Bail out. + break; + } + //mprintf("DBG: beg= %c\n", *beg); + // Search for next '=' + const char* eq = beg + 1; + while (*eq != '=' && *eq != '\0') ++eq; + if (*eq == '\0') + eol = true; + else { + // Search for end token. Start just after '='. + const char* val = eq + 1; + // Skip leading whitespace + while (*val == ' ' && *val != '\0') ++val; + if (*val == '\0') { + eol = true; + mprintf("Warning: EOL encountered before energy term could be read.\n"); + return 1; + } else { + //mprintf("DBG: val= %c\n", *val); + // Search for next whitespace or line end. + const char* end = val + 1; + while (*end != ' ' && *end != '\0' && *end != '\n' && *end != '\r') ++end; + // Term is now complete. Convert. + std::string valstr(val, end); + //mprintf("DBG: valstr= '%s'\n", valstr.c_str()); + std::string termName = NoTrailingWhitespace(std::string(beg,eq)); + FieldType Eindex = getTermIdx(termName); + if (Eindex != N_FIELDTYPES) { + if (!validDouble(valstr)) { + mprintf("Warning: Invalid number detected: %s = %s\n", termName.c_str(), valstr.c_str()); + } else { + //mprintf("DBG: %s = %s\n", termName.c_str(), valstr.c_str()); + Energy[Eindex] = atof( valstr.c_str() ); + EnergyExists[Eindex] = true; + } + } + beg = end; + } + } + } // END loop over line + + return 0; +} + diff --git a/src/AmberEterm.h b/src/AmberEterm.h new file mode 100644 index 0000000000..b9ef491baa --- /dev/null +++ b/src/AmberEterm.h @@ -0,0 +1,35 @@ +#ifndef INC_AMBERETERM_H +#define INC_AMBERETERM_H +#include +#include +#include +namespace Cpptraj { +class AmberEterm { + public: + typedef std::vector Darray; + + enum FieldType { ETOT= 0, EPTOT, GMAX, BOND, + ANGLE, DIHED, VDWAALS, EEL, EGB, EPB, ECAVITY, EDISPER, + VDW14, EEL14, RESTRAINT, EAMBER, DENSITY, + RMS, EKTOT, ESURF, EAMD_BOOST, VOLUME, TEMP, + PRESS, DVDL, CMAP, N_FIELDTYPES }; + + AmberEterm(); + Darray AllocEnergyArray(); + std::vector AllocExistsArray(); + int GetAmberEterms(const char*, Darray&, std::vector&) const; + static int NenergyTerms() { return (int)N_FIELDTYPES; } + static const char* Ename(int i) { return Enames_[i]; } + private: + static const char* Enames_[]; + + typedef std::map NameIdxMap; + typedef std::pair NameIdxPair; + + FieldType getTermIdx(std::string const&) const; + + /// Map field names to indices into energy sets. + NameIdxMap termIdxMap_; +}; +} +#endif diff --git a/src/Analysis_Average.cpp b/src/Analysis_Average.cpp index 3641d355fa..ccbb1b1d31 100644 --- a/src/Analysis_Average.cpp +++ b/src/Analysis_Average.cpp @@ -14,15 +14,22 @@ Analysis_Average::Analysis_Average() : data_ymaxIdx_(0), data_names_(0), calcAvgOverSets_(false), - toStdout_(false) + toStdout_(false), + ffmt_(TextFormat::GDOUBLE), + fwidth_(10), + fprec_(4) {} void Analysis_Average::Help() const { mprintf("\t [ ...] [torsion] [out ] [oversets]\n" "\t[name ] [nostdout]\n" + "\t[ffmt {GEN|DBL|SCI}] [fwidth ] [fprec ]\n" " Calculate the average, standard deviation, min, and max of given data sets.\n" " If 'oversets' is specified calculate the average over all sets.\n" - " If 'nostdout' specified do not write averages to STDOUT when 'out' not specified.\n"); + " If 'nostdout' specified do not write averages to STDOUT when 'out' not specified.\n" + " The 'ffmt' keyword can be used to change the default floating point output format\n" + " to GEN=general, DBL=double, or SCI=scientific. The 'fwidth' and 'fprec' keywords\n" + " can be used to change the default floating point output width and precision.\n"); } // Analysis_Average::Setup() @@ -36,6 +43,24 @@ Analysis::RetType Analysis_Average::Setup(ArgList& analyzeArgs, AnalysisSetup& s std::string dsname = analyzeArgs.GetStringKey("name"); if (dsname.empty()) dsname = setup.DSL().GenerateDefaultName("AVERAGE"); + // Output format + std::string ffmtstr = analyzeArgs.GetStringKey("ffmt"); + if (ffmtstr.empty()) + ffmt_ = TextFormat::GDOUBLE; + else { + if (ffmtstr == "GEN") + ffmt_ = TextFormat::GDOUBLE; + else if (ffmtstr == "DBL") + ffmt_ = TextFormat::DOUBLE; + else if (ffmtstr == "SCI") + ffmt_ = TextFormat::SCIENTIFIC; + else { + mprinterr("Error: Unrecognized keyword for 'ffmt': %s\n", ffmtstr.c_str()); + return Analysis::ERR; + } + } + fwidth_ = analyzeArgs.getKeyInt("fwidth", 10); + fprec_ = analyzeArgs.getKeyInt("fprec", 4); // Select datasets from remaining args if (input_dsets_.AddSetsFromArgs( analyzeArgs.RemainingArgs(), setup.DSL() )) { mprinterr("Error: Could not add data sets.\n"); @@ -105,6 +130,7 @@ Analysis::RetType Analysis_Average::Setup(ArgList& analyzeArgs, AnalysisSetup& s mprintf("\tData sets will be marked as torsions\n"); } if (outfile != 0) mprintf("\tOutput to to '%s'\n", outfile->DataFilename().full()); + mprintf("\tFloating point output format: %s %i.%i\n", TextFormat::typeDescription(ffmt_), fwidth_, fprec_); //for (Array1D::const_iterator set = input_dsets_.begin(); set != input_dsets_.end(); ++set) // mprintf("\t%s\n", (*set)->legend()); @@ -161,12 +187,12 @@ Analysis::RetType Analysis_Average::Analyze() { data_ymaxIdx_->SetDim(Dimension::X, Xdim); data_names_->SetDim(Dimension::X, Xdim); // Default to better format for very large/small numbers - TextFormat Fmt(TextFormat::GDOUBLE, 10, 4); + TextFormat Fmt(ffmt_, fwidth_, fprec_); data_avg_->SetupFormat() = Fmt; data_sd_->SetupFormat() = Fmt; data_ymin_->SetupFormat() = Fmt; data_ymax_->SetupFormat() = Fmt; - Fmt = TextFormat(TextFormat::INTEGER, 10); + Fmt = TextFormat(TextFormat::INTEGER, fwidth_); data_yminIdx_->SetupFormat() = Fmt; data_ymaxIdx_->SetupFormat() = Fmt; int set = 0; diff --git a/src/Analysis_Average.h b/src/Analysis_Average.h index 1ded4cfe80..8681fc7cfc 100644 --- a/src/Analysis_Average.h +++ b/src/Analysis_Average.h @@ -23,5 +23,8 @@ class Analysis_Average : public Analysis { DataSet* data_names_; ///< Legend of each input data set. bool calcAvgOverSets_; ///< If true calculate avg/stdev over all input sets at each point. bool toStdout_; ///< If true write avg results to STDOUT when no outfile specified + TextFormat::FmtType ffmt_; ///< Default format for floating point output + int fwidth_; ///< Default width for floating point output + int fprec_; ///< Default precision for floating point output }; #endif diff --git a/src/DataFile.cpp b/src/DataFile.cpp index 1062f8b7fe..f49a9f29b4 100644 --- a/src/DataFile.cpp +++ b/src/DataFile.cpp @@ -38,6 +38,7 @@ #include "DataIO_AmberFrcmod.h" #include "DataIO_LeapRC.h" #include "DataIO_Coords.h" +#include "DataIO_GBNSR6.h" // CONSTRUCTOR DataFile::DataFile() : @@ -96,6 +97,7 @@ const FileTypes::AllocToken DataFile::DF_AllocArray[] = { { "Amber Force Field", DataIO_AmberFF::ReadHelp, 0, DataIO_AmberFF::Alloc}, { "Amber Frcmod File", 0, 0, DataIO_AmberFrcmod::Alloc}, { "Amber LEaP RC File", 0, 0, DataIO_LeapRC::Alloc}, + { "GBNSR6 output File", 0, 0, DataIO_GBNSR6::Alloc}, { "Coordinates", 0, 0, DataIO_Coords::Alloc}, { "Unknown Data file", 0, 0, 0 } }; @@ -129,6 +131,7 @@ const FileTypes::KeyToken DataFile::DF_KeyArray[] = { { AMBERFF, "amberff", ".parm" }, { AMBERFRCMOD, "frcmod", ".frcmod" }, { AMBERLEAPRC, "leaprc", ".leaprc" }, + { GBNSR6, "gbnsr6", ".gbnsr6" }, { COORDSDATA, "coords", ".coords" }, { UNKNOWN_DATA, 0, 0 } }; diff --git a/src/DataFile.h b/src/DataFile.h index c5ce78126b..b8c55ae415 100644 --- a/src/DataFile.h +++ b/src/DataFile.h @@ -19,7 +19,7 @@ class DataFile { VECTRAJ, XVG, CCP4, CHARMMREPD, CHARMMFASTREP, CHARMMOUT, CPOUT, CHARMMRTFPRM, CMATRIX_BINARY, CMATRIX_NETCDF, PEAKS, NETCDFDATA, AMBERENE, NUMPY, AMBERPREP, AMBERLIB, AMBERFF, AMBERFRCMOD, - AMBERLEAPRC, COORDSDATA, + AMBERLEAPRC, GBNSR6, COORDSDATA, UNKNOWN_DATA }; DataFile(); diff --git a/src/DataIO_GBNSR6.cpp b/src/DataIO_GBNSR6.cpp new file mode 100644 index 0000000000..96ce6ab4a4 --- /dev/null +++ b/src/DataIO_GBNSR6.cpp @@ -0,0 +1,148 @@ +#include "DataIO_GBNSR6.h" +#include "CpptrajStdio.h" +#include "BufferedLine.h" +#include "AmberEterm.h" +#include "DataSet_double.h" +#include + +/// CONSTRUCTOR +DataIO_GBNSR6::DataIO_GBNSR6() +{ + +} + +// DataIO_GBNSR6::ID_DataFormat() +bool DataIO_GBNSR6::ID_DataFormat(CpptrajFile& infile) +{ + if (infile.OpenFile()) return false; + bool isGbnsr6 = false; + std::string line = infile.GetLine(); + if (line[0] == '\n') { + line = infile.GetLine(); + if (line.compare(0, 15, " -----") == 0) { + line = infile.GetLine(); + if (line.compare(0, 16, " GBNSR6") == 0) + isGbnsr6 = true; + } + } + infile.CloseFile(); + return isGbnsr6; +} + +// DataIO_GBNSR6::ReadHelp() +void DataIO_GBNSR6::ReadHelp() +{ + +} + +// DataIO_GBNSR6::processReadArgs() +int DataIO_GBNSR6::processReadArgs(ArgList& argIn) +{ + + return 0; +} + +static inline bool validTerm(int i) { + using namespace Cpptraj; + AmberEterm::FieldType etype = (AmberEterm::FieldType)i; + if (etype == AmberEterm::ECAVITY) return true; + if (etype == AmberEterm::ETOT) return true; + if (etype == AmberEterm::EEL14) return true; + if (etype == AmberEterm::EEL) return true; + if (etype == AmberEterm::EGB) return true; + if (etype == AmberEterm::ESURF) return true; + return false; +} + + +// DataIO_GBNSR6::ReadData() +int DataIO_GBNSR6::ReadData(FileName const& fname, DataSetList& dsl, std::string const& dsname) +{ + mprintf("\tReading from GBNSR6 output file %s\n", fname.base()); + BufferedLine infile; + if (infile.OpenFileRead( fname ) != 0) { + mprinterr("Error: Could not open file '%s'\n", fname.full()); + return 1; + } + using namespace Cpptraj; + AmberEterm AEterm; + AmberEterm::Darray Energy = AEterm.AllocEnergyArray(); + std::vector EnergyExists = AEterm.AllocExistsArray(); + DataSetList::DataListType inputSets(AmberEterm::NenergyTerms(), 0); + const char* ptr = infile.Line(); + enum PhaseType { UNKNOWN=0, INPUT, RESULTS }; + PhaseType Phase = UNKNOWN; + int frame = 0; + while (ptr != 0) { + ArgList argline(ptr); + if (argline.Nargs() > 0) { + if (Phase == UNKNOWN) { + if (argline.Nargs() >= 3 && argline[0] == "Here" && argline[1] == "is" && argline[2] == "the") + Phase = INPUT; + else if (argline.Nargs() >= 2 && argline[0] == "3." && argline[1] == "RESULTS") + Phase = RESULTS; + } else if (Phase == INPUT) { + if (strncmp(ptr, "-----", 5) == 0) { + Phase = UNKNOWN; + } else { + if (debug_ > 0) mprintf("DEBUG: [Input] %s\n", ptr); + } + } else if (Phase == RESULTS) { + if (argline[0] == "Maximum") + Phase = UNKNOWN; + else if (argline[0] == "Cavity") { + Energy[AmberEterm::ECAVITY] = argline.getKeyDouble("energy", 0); + if (debug_ > 0) mprintf("DEBUG: Cavity term: %f\n", Energy[AmberEterm::ECAVITY]); + EnergyExists[AmberEterm::ECAVITY] = true; + } else if (strncmp(ptr," ----", 5) == 0) { + // END frame - store all energies present + for (int i = 0; i < AmberEterm::NenergyTerms(); i++) { + if (validTerm(i) && EnergyExists[i]) { + if (inputSets[i] == 0) { + MetaData md( dsname, AmberEterm::Ename(i) ); + md.SetLegend( dsname + "_" + AmberEterm::Ename(i) ); + inputSets[i] = new DataSet_double(); + inputSets[i]->SetMeta( md ); + } + // Since energy terms can appear and vanish over the course of the + // mdout file, resize if necessary. + if (frame > (int)inputSets[i]->Size()) + ((DataSet_double*)inputSets[i])->Resize( frame ); + ((DataSet_double*)inputSets[i])->AddElement( Energy[i] ); + } + } + frame++; + } else if (strncmp(ptr, "-----", 5) != 0) { + if (debug_ > 0) mprintf("DEBUG: [Results] %s\n", ptr); + if (AEterm.GetAmberEterms(ptr, Energy, EnergyExists)) + mprintf("Warning: Issue parsing line %i\n", infile.LineNumber()); + } + } + } // END nargs > 0 + ptr = infile.Line(); + } + DataSetList::Darray TimeVals(1, 0); + if (dsl.AddOrAppendSets( "Set", TimeVals, inputSets )) return 1; + + return 0; +} + +// DataIO_GBNSR6::WriteHelp() +void DataIO_GBNSR6::WriteHelp() +{ + +} + +// DataIO_GBNSR6::processWriteArgs() +int DataIO_GBNSR6::processWriteArgs(ArgList& argIn) +{ + + return 0; +} + +// DataIO_GBNSR6::WriteData() +int DataIO_GBNSR6::WriteData(FileName const& fname, DataSetList const& dsl) +{ + + return 1; +} diff --git a/src/DataIO_GBNSR6.h b/src/DataIO_GBNSR6.h new file mode 100644 index 0000000000..c3eae0d61c --- /dev/null +++ b/src/DataIO_GBNSR6.h @@ -0,0 +1,17 @@ +#ifndef INC_DATAIO_GBNSR6_H +#define INC_DATAIO_GBNSR6_H +#include "DataIO.h" +/// Read energies from Amber GBNSR6 output files. +class DataIO_GBNSR6 : public DataIO { + public: + DataIO_GBNSR6(); + static void ReadHelp(); + static void WriteHelp(); + static BaseIOtype* Alloc() { return (BaseIOtype*)new DataIO_GBNSR6(); } + int processReadArgs(ArgList&); + int ReadData(FileName const&, DataSetList&, std::string const&); + int processWriteArgs(ArgList&); + int WriteData(FileName const&, DataSetList const&); + bool ID_DataFormat(CpptrajFile&); +}; +#endif diff --git a/src/DataIO_Mdout.cpp b/src/DataIO_Mdout.cpp index bcfd037449..95a7a8aec6 100644 --- a/src/DataIO_Mdout.cpp +++ b/src/DataIO_Mdout.cpp @@ -6,38 +6,11 @@ #include "CpptrajStdio.h" #include "StringRoutines.h" // convertToDouble #include "DataSet_double.h" +#include "AmberEterm.h" + +DataIO_Mdout::DataIO_Mdout() +{ -DataIO_Mdout::DataIO_Mdout() { - // Populate the term name to index map. In some cases, multiple term names - // map to the same index. - termIdxMap_.insert(NameIdxPair("Etot", ETOT)); - termIdxMap_.insert(NameIdxPair("EPtot", EPTOT)); - termIdxMap_.insert(NameIdxPair("GMAX", GMAX)); // Not necessary? - termIdxMap_.insert(NameIdxPair("BOND", BOND)); - termIdxMap_.insert(NameIdxPair("ANGLE", ANGLE)); - termIdxMap_.insert(NameIdxPair("DIHED", DIHED)); - termIdxMap_.insert(NameIdxPair("VDWAALS", VDWAALS)); - termIdxMap_.insert(NameIdxPair("EEL", EEL)); - termIdxMap_.insert(NameIdxPair("EELEC", EEL)); - termIdxMap_.insert(NameIdxPair("EGB", EGB)); - termIdxMap_.insert(NameIdxPair("EPB", EPB)); - termIdxMap_.insert(NameIdxPair("ECAVITY", ECAVITY)); - termIdxMap_.insert(NameIdxPair("EDISPER", EDISPER)); - termIdxMap_.insert(NameIdxPair("1-4 VDW", VDW14)); - termIdxMap_.insert(NameIdxPair("1-4 NB", VDW14)); - termIdxMap_.insert(NameIdxPair("1-4 EEL", EEL14)); - termIdxMap_.insert(NameIdxPair("RESTRAINT", RESTRAINT)); - termIdxMap_.insert(NameIdxPair("EAMBER", EAMBER)); - termIdxMap_.insert(NameIdxPair("Density", DENSITY)); - termIdxMap_.insert(NameIdxPair("RMS", RMS)); // Not necessary? - termIdxMap_.insert(NameIdxPair("EKtot", EKTOT)); - termIdxMap_.insert(NameIdxPair("ESURF", ESURF)); - termIdxMap_.insert(NameIdxPair("EAMD_BOOST", EAMD_BOOST)); - termIdxMap_.insert(NameIdxPair("VOLUME", VOLUME)); - termIdxMap_.insert(NameIdxPair("TEMP(K)", TEMP)); - termIdxMap_.insert(NameIdxPair("PRESS", PRESS)); - termIdxMap_.insert(NameIdxPair("DV/DL", DVDL)); - termIdxMap_.insert(NameIdxPair("CMAP", CMAP)); } // DataIO_Mdout::ID_DataFormat() @@ -62,85 +35,6 @@ static inline int EOF_ERROR() { return 1; } -/** Names corresponding to FieldType. */ -const char* DataIO_Mdout::Enames_[] = { - "Etot", "EPtot", "GMAX", "BOND", - "ANGLE", "DIHED", "VDW", "EELEC", "EGB", "EPB", "ECAVITY", "EDISPER", - "VDW1-4", "EEL1-4", "RST", "EAMBER", "Density", - "RMS", "EKtot", "ESURF", "EAMD_BOOST", "VOLUME", "TEMP", - "PRESS", "DVDL", "CMAP", 0 -}; - -/** \return FieldType corresponding to given term name, or N_FIELDTYPES if - * not recognized. - */ -DataIO_Mdout::FieldType DataIO_Mdout::getTermIdx(std::string const& name) const { - NameIdxMap::const_iterator it = termIdxMap_.find( name ); - if (it == termIdxMap_.end()) { - return (FieldType)N_FIELDTYPES; - } else { - return (FieldType)it->second; - } -} - -/** Parse the given line for energy terms of format =. */ -int DataIO_Mdout::GetAmberEterms(const char* ptr, Darray& Energy, std::vector& EnergyExists) { - //mprintf("DBG: [%s]\n", ptr); - if (ptr == 0 || ptr[0] == '|') return 0; - const char* beg = ptr; - // 111111111122222222223 - //0123456789012345678901234567890 - // NSTEP = 0 TIME(PS) = 0.000 TEMP(K) = 435.99 PRESS =-10207.6 - bool eol = false; - while (!eol) { - // Skip leading whitespace - while (*beg == ' ' && *beg != '\0') ++beg; - if (*beg == '\0') { - // Line is blank or no more terms. Bail out. - break; - } - //mprintf("DBG: beg= %c\n", *beg); - // Search for next '=' - const char* eq = beg + 1; - while (*eq != '=' && *eq != '\0') ++eq; - if (*eq == '\0') - eol = true; - else { - // Search for end token. Start just after '='. - const char* val = eq + 1; - // Skip leading whitespace - while (*val == ' ' && *val != '\0') ++val; - if (*val == '\0') { - eol = true; - mprintf("Warning: EOL encountered before energy term could be read.\n"); - return 1; - } else { - //mprintf("DBG: val= %c\n", *val); - // Search for next whitespace or line end. - const char* end = val + 1; - while (*end != ' ' && *end != '\0' && *end != '\n' && *end != '\r') ++end; - // Term is now complete. Convert. - std::string valstr(val, end); - //mprintf("DBG: valstr= '%s'\n", valstr.c_str()); - std::string termName = NoTrailingWhitespace(std::string(beg,eq)); - FieldType Eindex = getTermIdx(termName); - if (Eindex != N_FIELDTYPES) { - if (!validDouble(valstr)) { - mprintf("Warning: Invalid number detected: %s = %s\n", termName.c_str(), valstr.c_str()); - } else { - //mprintf("DBG: %s = %s\n", termName.c_str(), valstr.c_str()); - Energy[Eindex] = atof( valstr.c_str() ); - EnergyExists[Eindex] = true; - } - } - beg = end; - } - } - } // END loop over line - - return 0; -} - // DataIO_Mdout::ReadData() int DataIO_Mdout::ReadData(FileName const& fname, DataSetList& datasetlist, std::string const& dsname) @@ -227,10 +121,12 @@ int DataIO_Mdout::ReadData(FileName const& fname, nstep = 0; else nstep = ntpr; - Darray Energy(N_FIELDTYPES, 0); - std::vector EnergyExists(N_FIELDTYPES, false); + using namespace Cpptraj; + AmberEterm AEterm; + AmberEterm::Darray Energy = AEterm.AllocEnergyArray(); + std::vector EnergyExists = AEterm.AllocExistsArray(); DataSetList::Darray TimeVals; - DataSetList::DataListType inputSets(N_FIELDTYPES, 0); + DataSetList::DataListType inputSets(AmberEterm::NenergyTerms(), 0); double time = 0.0; while (ptr != 0) { // Check for end of imin 0 or 1 run; do not record Average and Stdevs @@ -254,11 +150,11 @@ int DataIO_Mdout::ReadData(FileName const& fname, if ( strncmp(ptr, Trigger, 8) == 0 || finalE ) { if (frame > -1) { // Store all energies present. - for (int i = 0; i < (int)N_FIELDTYPES; i++) { + for (int i = 0; i < AmberEterm::NenergyTerms(); i++) { if (EnergyExists[i]) { if (inputSets[i] == 0) { - MetaData md( dsname, Enames_[i] ); - md.SetLegend( dsname + "_" + Enames_[i] ); + MetaData md( dsname, AmberEterm::Ename(i) ); + md.SetLegend( dsname + "_" + AmberEterm::Ename(i) ); inputSets[i] = new DataSet_double(); inputSets[i]->SetMeta( md ); } @@ -281,14 +177,14 @@ int DataIO_Mdout::ReadData(FileName const& fname, ptr = buffer.Line(); // Get next line //sscanf(ptr, " %6lf %13lE %13lE %13lE", Energy+NSTEP, Energy+EPtot, Energy+RMS, Energy+GMAX); double* Eptr = &(Energy[0]); - sscanf(ptr, " %i %lE %lE %lE", &minStep, Eptr+EPTOT, Eptr+RMS, Eptr+GMAX); - EnergyExists[EPTOT] = true; - EnergyExists[RMS] = true; - EnergyExists[GMAX] = true; + sscanf(ptr, " %i %lE %lE %lE", &minStep, Eptr+AmberEterm::EPTOT, Eptr+AmberEterm::RMS, Eptr+AmberEterm::GMAX); + EnergyExists[AmberEterm::EPTOT] = true; + EnergyExists[AmberEterm::RMS] = true; + EnergyExists[AmberEterm::GMAX] = true; ptr = buffer.Line(); } // Tokenize line, scan through until '=' is reached; value after is target. - if (GetAmberEterms(buffer.CurrentLine(), Energy, EnergyExists)) + if (AEterm.GetAmberEterms(buffer.CurrentLine(), Energy, EnergyExists)) mprintf("Warning: Issue parsing line %i\n", buffer.LineNumber()); // Set time switch (imin) { diff --git a/src/DataIO_Mdout.h b/src/DataIO_Mdout.h index 0d30c185ed..9562bc2468 100644 --- a/src/DataIO_Mdout.h +++ b/src/DataIO_Mdout.h @@ -1,7 +1,6 @@ #ifndef INC_DATAIO_MDOUT_H #define INC_DATAIO_MDOUT_H #include "DataIO.h" -#include /// Read energies from Amber MDOUT files. class DataIO_Mdout : public DataIO { public: @@ -13,23 +12,5 @@ class DataIO_Mdout : public DataIO { int processWriteArgs(ArgList&) { return 0; } int WriteData(FileName const&, DataSetList const&) { return 1; } bool ID_DataFormat(CpptrajFile&); - private: - typedef std::vector Darray; - typedef std::map NameIdxMap; - typedef std::pair NameIdxPair; - - enum FieldType { ETOT= 0, EPTOT, GMAX, BOND, - ANGLE, DIHED, VDWAALS, EEL, EGB, EPB, ECAVITY, EDISPER, - VDW14, EEL14, RESTRAINT, EAMBER, DENSITY, - RMS, EKTOT, ESURF, EAMD_BOOST, VOLUME, TEMP, - PRESS, DVDL, CMAP, N_FIELDTYPES }; - - FieldType getTermIdx(std::string const&) const; - int GetAmberEterms(const char*, Darray&, std::vector&); - - static const char* Enames_[]; - /// Map field names to indices into energy sets. - NameIdxMap termIdxMap_; - }; #endif diff --git a/src/Version.h b/src/Version.h index 29bb0f0030..9244821175 100644 --- a/src/Version.h +++ b/src/Version.h @@ -12,7 +12,7 @@ * Whenever a number that precedes is incremented, all subsequent * numbers should be reset to 0. */ -#define CPPTRAJ_INTERNAL_VERSION "V7.11.0" +#define CPPTRAJ_INTERNAL_VERSION "V7.11.1" /// PYTRAJ relies on this #define CPPTRAJ_VERSION_STRING CPPTRAJ_INTERNAL_VERSION #endif diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 0ec3c0e47b..466d8ad4d7 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -82,6 +82,7 @@ Action_SetVelocity.o : Action_SetVelocity.cpp Action.h ActionState.h Action_SetV Action_Spam.o : Action_Spam.cpp Action.h ActionState.h Action_Spam.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataIO.h DataIO_Peaks.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Mesh.h DataSet_Vector_Scalar.h DataSet_double.h Dimension.h DispatchObject.h DistRoutines.h FileIO.h FileName.h FileTypes.h Frame.h HistBin.h ImageOption.h KDE.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h OnlineVarT.h PairList.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h Spline.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Action_Strip.o : Action_Strip.cpp Action.h ActionState.h ActionTopWriter.h Action_Strip.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Action_Surf.o : Action_Surf.cpp Action.h ActionState.h Action_Surf.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h DistRoutines.h FileIO.h FileName.h FileTypes.h Frame.h ImageOption.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h +Action_SurfaceTension.o : Action_SurfaceTension.cpp Action.h ActionState.h Action_SurfaceTension.h ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h ComplexArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Mesh.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h PubFFT.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h Spline.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Action_SymmetricRmsd.o : Action_SymmetricRmsd.cpp Action.h ActionState.h Action_SymmetricRmsd.h ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMap.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h DistRoutines.h FileIO.h FileName.h FileTypes.h Frame.h Hungarian.h ImageOption.h MapAtom.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceAction.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h SymmetricRmsdCalc.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Action_Temperature.o : Action_Temperature.cpp Action.h ActionState.h Action_Temperature.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h Constraints.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Action_Test.o : Action_Test.cpp Action.h ActionState.h Action_Test.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h DistRoutines.h Dist_Imaged.h FileIO.h FileName.h FileTypes.h Frame.h ImageOption.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h @@ -96,6 +97,7 @@ Action_Volmap.o : Action_Volmap.cpp Action.h ActionState.h Action_Volmap.h ArgLi Action_Volume.o : Action_Volume.cpp Action.h ActionState.h Action_Volume.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Action_Watershell.o : Action_Watershell.cpp Action.h ActionState.h Action_Watershell.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h DistRoutines.h FileIO.h FileName.h FileTypes.h Frame.h ImageOption.h ImageRoutines.h ImageTypes.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h cuda_kernels/kernel_wrappers.cuh Action_XtalSymm.o : Action_XtalSymm.cpp Action.h ActionState.h Action_XtalSymm.h ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SpaceGroup.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h +AmberEterm.o : AmberEterm.cpp AmberEterm.h CpptrajStdio.h StringRoutines.h AmberParamFile.o : AmberParamFile.cpp AmberParamFile.h ArgList.h AssociatedData.h AtomType.h BufferedLine.h CmapParmHolder.h Constants.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_LeapOpts.h Dimension.h FileIO.h FileName.h MetaData.h NameType.h Parallel.h ParameterTypes.h Parm/DihedralParmHolder.h Parm/DihedralParmSet.h Parm/GB_Params.h Parm/ImproperParmHolder.h Parm/ParameterSet.h Parm/ParmEnum.h Parm/ParmHolder.h Range.h StringRoutines.h TextFormat.h TypeNameHolder.h AnalysisList.o : AnalysisList.cpp ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Analysis_AmdBias.o : Analysis_AmdBias.cpp ActionState.h Analysis.h AnalysisState.h Analysis_AmdBias.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h @@ -194,7 +196,7 @@ CmapParmHolder.o : CmapParmHolder.cpp CmapParmHolder.h Constants.h CpptrajStdio. Cmd.o : Cmd.cpp Cmd.h DispatchObject.h CmdInput.o : CmdInput.cpp CmdInput.h StringRoutines.h CmdList.o : CmdList.cpp Cmd.h CmdList.h DispatchObject.h -Command.o : Command.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h ActionTopWriter.h Action_AddAtom.h Action_Align.h Action_Angle.h Action_AreaPerMol.h Action_AtomMap.h Action_AtomicCorr.h Action_AtomicFluct.h Action_AutoImage.h Action_Average.h Action_AvgBox.h Action_Bounds.h Action_Box.h Action_Center.h Action_Channel.h Action_CheckChirality.h Action_CheckStructure.h Action_Closest.h Action_ClusterDihedral.h Action_Contacts.h Action_ConvertToFrac.h Action_CreateCrd.h Action_CreateReservoir.h Action_DNAionTracker.h Action_DSSP.h Action_Density.h Action_Diffusion.h Action_Dihedral.h Action_DihedralRMS.h Action_Dipole.h Action_DistRmsd.h Action_Distance.h Action_EneDecomp.h Action_Energy.h Action_Esander.h Action_FilterByData.h Action_FixAtomOrder.h Action_FixImagedBonds.h Action_GIST.h Action_Grid.h Action_GridFreeEnergy.h Action_HydrogenBond.h Action_Image.h Action_InfraredSpectrum.h Action_Jcoupling.h Action_Keep.h Action_LESsplit.h Action_LIE.h Action_LipidOrder.h Action_MakeStructure.h Action_Mask.h Action_Matrix.h Action_MinImage.h Action_MinMaxDist.h Action_Molsurf.h Action_MultiDihedral.h Action_MultiPucker.h Action_MultiVector.h Action_NAstruct.h Action_NMRrst.h Action_NativeContacts.h Action_OrderParameter.h Action_Outtraj.h Action_PairDist.h Action_Pairwise.h Action_Principal.h Action_Projection.h Action_Pucker.h Action_Radgyr.h Action_Radial.h Action_RandomizeIons.h Action_Remap.h Action_ReplicateCell.h Action_Rmsd.h Action_Rotate.h Action_RunningAvg.h Action_STFC_Diffusion.h Action_Scale.h Action_SetVelocity.h Action_Spam.h Action_Strip.h Action_Surf.h Action_SymmetricRmsd.h Action_Temperature.h Action_Test.h Action_Time.h Action_ToroidalDiffusion.h Action_Translate.h Action_Unstrip.h Action_Unwrap.h Action_Vector.h Action_VelocityAutoCorr.h Action_Volmap.h Action_Volume.h Action_Watershell.h Action_XtalSymm.h Analysis.h AnalysisList.h AnalysisState.h Analysis_AmdBias.h Analysis_AutoCorr.h Analysis_Average.h Analysis_CalcDiffusion.h Analysis_Clustering.h Analysis_ConstantPHStats.h Analysis_Corr.h Analysis_CrankShaft.h Analysis_CrdFluct.h Analysis_CrossCorr.h Analysis_CurveFit.h Analysis_Divergence.h Analysis_EvalPlateau.h Analysis_FFT.h Analysis_HausdorffDistance.h Analysis_Hist.h Analysis_IRED.h Analysis_Integrate.h Analysis_KDE.h Analysis_Lifetime.h Analysis_LowestCurve.h Analysis_Matrix.h Analysis_MeltCurve.h Analysis_Modes.h Analysis_MultiHist.h Analysis_Multicurve.h Analysis_Overlap.h Analysis_PhiPsi.h Analysis_Project.h Analysis_Regression.h Analysis_RemLog.h Analysis_Rms2d.h Analysis_RmsAvgCorr.h Analysis_Rotdif.h Analysis_RunningAvg.h Analysis_Slope.h Analysis_Spline.h Analysis_State.h Analysis_Statistics.h Analysis_TI.h Analysis_TICA.h Analysis_Timecorr.h Analysis_VectorMath.h Analysis_Wavelet.h ArgList.h Array1D.h ArrayIterator.h AssociatedData.h Atom.h AtomMap.h AtomMask.h AxisType.h BaseIOtype.h Box.h BoxArgs.h BufferedLine.h CharMask.h Cluster/Algorithm.h Cluster/BestReps.h Cluster/CentroidArray.h Cluster/Cframes.h Cluster/Control.h Cluster/DrawGraph.h Cluster/List.h Cluster/Metric.h Cluster/MetricArray.h Cluster/Node.h Cluster/Sieve.h Cluster/Silhouette.h ClusterMap.h Cmd.h CmdInput.h CmdList.h Command.h CompactFrameArray.h ComplexArray.h Constants.h Constraints.h ControlBlock.h ControlBlock_For.h CoordinateInfo.h Corr.h Cph.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataFilter.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_GridFlt.h DataSet_MatrixDbl.h DataSet_MatrixFlt.h DataSet_Mesh.h DataSet_Modes.h DataSet_RemLog.h DataSet_Vector.h DataSet_double.h DataSet_float.h DataSet_integer.h DataSet_integer_mem.h DataSet_pH.h DataSet_string.h Deprecated.h DiffusionResults.h DihedralSearch.h Dimension.h DispatchObject.h Energy.h Energy/Ecalc_Nonbond.h Energy/EnergyDecomposer.h Energy/ErfcFxn.h Energy/EwaldParams.h Energy/PME_RecipParams.h Energy/VDW_LongRange_Correction.h Energy_Sander.h EnsembleIn.h EnsembleOutList.h EwaldOptions.h ExclusionArray.h Exec.h Exec_AddMissingRes.h Exec_Analyze.h Exec_Build.h Exec_Calc.h Exec_CatCrd.h Exec_Change.h Exec_ClusterMap.h Exec_CombineCoords.h Exec_Commands.h Exec_CompareClusters.h Exec_CompareEnergy.h Exec_CompareTop.h Exec_CrdAction.h Exec_CrdOut.h Exec_CrdTransform.h Exec_CreateSet.h Exec_DataFile.h Exec_DataFilter.h Exec_DataSetCmd.h Exec_Desc.h Exec_Emin.h Exec_ExtendedComparison.h Exec_Flatten.h Exec_Flush.h Exec_GenerateAmberRst.h Exec_Graft.h Exec_Help.h Exec_HmassRepartition.h Exec_LoadCrd.h Exec_LoadTraj.h Exec_Mutate.h Exec_ParallelAnalysis.h Exec_ParmBox.h Exec_ParmSolvent.h Exec_ParmStrip.h Exec_ParmWrite.h Exec_ParseTiming.h Exec_PermuteDihedrals.h Exec_Precision.h Exec_PrepareForLeap.h Exec_PrintData.h Exec_Random.h Exec_ReadData.h Exec_ReadEnsembleData.h Exec_ReadInput.h Exec_RotateDihedral.h Exec_RunAnalysis.h Exec_ScaleDihedralK.h Exec_Sequence.h Exec_SequenceAlign.h Exec_Set.h Exec_Show.h Exec_SortEnsembleData.h Exec_Source.h Exec_SplitCoords.h Exec_System.h Exec_Top.h Exec_Traj.h Exec_UpdateParameters.h Exec_ViewRst.h Exec_Zmatrix.h ExtendedSimilarity.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h GIST_PME.h Grid.h GridAction.h GridBin.h GridMover.h HistBin.h Hungarian.h ImageOption.h ImageTypes.h InputTrajCommon.h InteractionData.h MapAtom.h MaskArray.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NC_Routines.h NameType.h NetcdfFile.h OnlineVarT.h OutputTrajCommon.h PDBfile.h PairList.h Parallel.h ParallelSetFrameNum.h ParameterTypes.h Parm/GB_Params.h PubFFT.h Pucker.h Pucker_PuckerMask.h Pucker_PuckerSearch.h Pucker_PuckerToken.h RPNcalc.h Random.h Range.h ReferenceAction.h ReferenceFrame.h RemdReservoirNC.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h Spline.h SplineFxnTable.h Structure/LeastSquaresPlane.h Structure/RingFinder.h StructureCheck.h SymbolExporting.h SymmetricRmsdCalc.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h Unit.h Vec3.h cuda_kernels/GistCudaSetup.cuh helpme_standalone.h molsurf.h +Command.o : Command.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h ActionTopWriter.h Action_AddAtom.h Action_Align.h Action_Angle.h Action_AreaPerMol.h Action_AtomMap.h Action_AtomicCorr.h Action_AtomicFluct.h Action_AutoImage.h Action_Average.h Action_AvgBox.h Action_Bounds.h Action_Box.h Action_Center.h Action_Channel.h Action_CheckChirality.h Action_CheckStructure.h Action_Closest.h Action_ClusterDihedral.h Action_Contacts.h Action_ConvertToFrac.h Action_CreateCrd.h Action_CreateReservoir.h Action_DNAionTracker.h Action_DSSP.h Action_Density.h Action_Diffusion.h Action_Dihedral.h Action_DihedralRMS.h Action_Dipole.h Action_DistRmsd.h Action_Distance.h Action_EneDecomp.h Action_Energy.h Action_Esander.h Action_FilterByData.h Action_FixAtomOrder.h Action_FixImagedBonds.h Action_GIST.h Action_Grid.h Action_GridFreeEnergy.h Action_HydrogenBond.h Action_Image.h Action_InfraredSpectrum.h Action_Jcoupling.h Action_Keep.h Action_LESsplit.h Action_LIE.h Action_LipidOrder.h Action_MakeStructure.h Action_Mask.h Action_Matrix.h Action_MinImage.h Action_MinMaxDist.h Action_Molsurf.h Action_MultiDihedral.h Action_MultiPucker.h Action_MultiVector.h Action_NAstruct.h Action_NMRrst.h Action_NativeContacts.h Action_OrderParameter.h Action_Outtraj.h Action_PairDist.h Action_Pairwise.h Action_Principal.h Action_Projection.h Action_Pucker.h Action_Radgyr.h Action_Radial.h Action_RandomizeIons.h Action_Remap.h Action_ReplicateCell.h Action_Rmsd.h Action_Rotate.h Action_RunningAvg.h Action_STFC_Diffusion.h Action_Scale.h Action_SetVelocity.h Action_Spam.h Action_Strip.h Action_Surf.h Action_SurfaceTension.h Action_SymmetricRmsd.h Action_Temperature.h Action_Test.h Action_Time.h Action_ToroidalDiffusion.h Action_Translate.h Action_Unstrip.h Action_Unwrap.h Action_Vector.h Action_VelocityAutoCorr.h Action_Volmap.h Action_Volume.h Action_Watershell.h Action_XtalSymm.h Analysis.h AnalysisList.h AnalysisState.h Analysis_AmdBias.h Analysis_AutoCorr.h Analysis_Average.h Analysis_CalcDiffusion.h Analysis_Clustering.h Analysis_ConstantPHStats.h Analysis_Corr.h Analysis_CrankShaft.h Analysis_CrdFluct.h Analysis_CrossCorr.h Analysis_CurveFit.h Analysis_Divergence.h Analysis_EvalPlateau.h Analysis_FFT.h Analysis_HausdorffDistance.h Analysis_Hist.h Analysis_IRED.h Analysis_Integrate.h Analysis_KDE.h Analysis_Lifetime.h Analysis_LowestCurve.h Analysis_Matrix.h Analysis_MeltCurve.h Analysis_Modes.h Analysis_MultiHist.h Analysis_Multicurve.h Analysis_Overlap.h Analysis_PhiPsi.h Analysis_Project.h Analysis_Regression.h Analysis_RemLog.h Analysis_Rms2d.h Analysis_RmsAvgCorr.h Analysis_Rotdif.h Analysis_RunningAvg.h Analysis_Slope.h Analysis_Spline.h Analysis_State.h Analysis_Statistics.h Analysis_TI.h Analysis_TICA.h Analysis_Timecorr.h Analysis_VectorMath.h Analysis_Wavelet.h ArgList.h Array1D.h ArrayIterator.h AssociatedData.h Atom.h AtomMap.h AtomMask.h AxisType.h BaseIOtype.h Box.h BoxArgs.h BufferedLine.h CharMask.h Cluster/Algorithm.h Cluster/BestReps.h Cluster/CentroidArray.h Cluster/Cframes.h Cluster/Control.h Cluster/DrawGraph.h Cluster/List.h Cluster/Metric.h Cluster/MetricArray.h Cluster/Node.h Cluster/Sieve.h Cluster/Silhouette.h ClusterMap.h Cmd.h CmdInput.h CmdList.h Command.h CompactFrameArray.h ComplexArray.h Constants.h Constraints.h ControlBlock.h ControlBlock_For.h CoordinateInfo.h Corr.h Cph.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataFilter.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_GridFlt.h DataSet_MatrixDbl.h DataSet_MatrixFlt.h DataSet_Mesh.h DataSet_Modes.h DataSet_RemLog.h DataSet_Vector.h DataSet_double.h DataSet_float.h DataSet_integer.h DataSet_integer_mem.h DataSet_pH.h DataSet_string.h Deprecated.h DiffusionResults.h DihedralSearch.h Dimension.h DispatchObject.h Energy.h Energy/Ecalc_Nonbond.h Energy/EnergyDecomposer.h Energy/ErfcFxn.h Energy/EwaldParams.h Energy/PME_RecipParams.h Energy/VDW_LongRange_Correction.h Energy_Sander.h EnsembleIn.h EnsembleOutList.h EwaldOptions.h ExclusionArray.h Exec.h Exec_AddMissingRes.h Exec_Analyze.h Exec_Build.h Exec_Calc.h Exec_CatCrd.h Exec_Change.h Exec_ClusterMap.h Exec_CombineCoords.h Exec_Commands.h Exec_CompareClusters.h Exec_CompareEnergy.h Exec_CompareTop.h Exec_CrdAction.h Exec_CrdOut.h Exec_CrdTransform.h Exec_CreateSet.h Exec_DataFile.h Exec_DataFilter.h Exec_DataSetCmd.h Exec_Desc.h Exec_Emin.h Exec_ExtendedComparison.h Exec_Flatten.h Exec_Flush.h Exec_GenerateAmberRst.h Exec_Graft.h Exec_Help.h Exec_HmassRepartition.h Exec_LoadCrd.h Exec_LoadTraj.h Exec_Mutate.h Exec_ParallelAnalysis.h Exec_ParmBox.h Exec_ParmSolvent.h Exec_ParmStrip.h Exec_ParmWrite.h Exec_ParseTiming.h Exec_PermuteDihedrals.h Exec_Precision.h Exec_PrepareForLeap.h Exec_PrintData.h Exec_Random.h Exec_ReadData.h Exec_ReadEnsembleData.h Exec_ReadInput.h Exec_RotateDihedral.h Exec_RunAnalysis.h Exec_ScaleDihedralK.h Exec_Sequence.h Exec_SequenceAlign.h Exec_Set.h Exec_Show.h Exec_SortEnsembleData.h Exec_Source.h Exec_SplitCoords.h Exec_System.h Exec_Top.h Exec_Traj.h Exec_UpdateParameters.h Exec_ViewRst.h Exec_Zmatrix.h ExtendedSimilarity.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h GIST_PME.h Grid.h GridAction.h GridBin.h GridMover.h HistBin.h Hungarian.h ImageOption.h ImageTypes.h InputTrajCommon.h InteractionData.h MapAtom.h MaskArray.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NC_Routines.h NameType.h NetcdfFile.h OnlineVarT.h OutputTrajCommon.h PDBfile.h PairList.h Parallel.h ParallelSetFrameNum.h ParameterTypes.h Parm/GB_Params.h PubFFT.h Pucker.h Pucker_PuckerMask.h Pucker_PuckerSearch.h Pucker_PuckerToken.h RPNcalc.h Random.h Range.h ReferenceAction.h ReferenceFrame.h RemdReservoirNC.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h Spline.h SplineFxnTable.h Structure/LeastSquaresPlane.h Structure/RingFinder.h StructureCheck.h SymbolExporting.h SymmetricRmsdCalc.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h Unit.h Vec3.h cuda_kernels/GistCudaSetup.cuh helpme_standalone.h molsurf.h CompactFrameArray.o : CompactFrameArray.cpp Box.h CompactFrameArray.h CoordinateInfo.h CpptrajStdio.h Matrix_3x3.h Parallel.h ReplicaDimArray.h Vec3.h ComplexArray.o : ComplexArray.cpp ArrayIterator.h ComplexArray.h Constraints.o : Constraints.cpp ArgList.h Atom.h AtomMask.h Box.h CharMask.h Constants.h Constraints.h CoordinateInfo.h CpptrajStdio.h FileName.h Frame.h MaskToken.h Matrix_3x3.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Unit.h Vec3.h @@ -210,7 +212,7 @@ CpptrajFile.o : CpptrajFile.cpp CpptrajFile.h CpptrajStdio.h FileIO.h FileIO_Bzi CpptrajState.o : CpptrajState.cpp Action.h ActionList.h ActionState.h Action_CreateCrd.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_Coords_TRJ.h DataSet_Topology.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleNavigator.h EnsembleOutList.h FileIO.h FileName.h FileTypes.h Frame.h FrameArray.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h ProgressBar.h Random.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajFrameIndex.h Trajin.h TrajinList.h TrajoutList.h Unit.h Vec3.h CpptrajStdio.o : CpptrajStdio.cpp Parallel.h CurveFit.o : CurveFit.cpp CurveFit.h -DataFile.o : DataFile.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Cluster/Cframes.h Cluster/Cmatrix_NC.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataFile.h DataIO.h DataIO_AmberEne.h DataIO_AmberFF.h DataIO_AmberFrcmod.h DataIO_AmberLib.h DataIO_AmberPrep.h DataIO_CCP4.h DataIO_CharmmFastRep.h DataIO_CharmmOutput.h DataIO_CharmmRepLog.h DataIO_CharmmRtfPrm.h DataIO_Cmatrix_Binary.h DataIO_Cmatrix_NC.h DataIO_Coords.h DataIO_Cpout.h DataIO_Evecs.h DataIO_Gnuplot.h DataIO_Grace.h DataIO_LeapRC.h DataIO_Mdout.h DataIO_NetCDF.h DataIO_Numpy.h DataIO_OpenDx.h DataIO_Peaks.h DataIO_RemLog.h DataIO_Std.h DataIO_VecTraj.h DataIO_XVG.h DataIO_Xplor.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_RemLog.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajectoryFile.h Unit.h Vec3.h +DataFile.o : DataFile.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Cluster/Cframes.h Cluster/Cmatrix_NC.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataFile.h DataIO.h DataIO_AmberEne.h DataIO_AmberFF.h DataIO_AmberFrcmod.h DataIO_AmberLib.h DataIO_AmberPrep.h DataIO_CCP4.h DataIO_CharmmFastRep.h DataIO_CharmmOutput.h DataIO_CharmmRepLog.h DataIO_CharmmRtfPrm.h DataIO_Cmatrix_Binary.h DataIO_Cmatrix_NC.h DataIO_Coords.h DataIO_Cpout.h DataIO_Evecs.h DataIO_GBNSR6.h DataIO_Gnuplot.h DataIO_Grace.h DataIO_LeapRC.h DataIO_Mdout.h DataIO_NetCDF.h DataIO_Numpy.h DataIO_OpenDx.h DataIO_Peaks.h DataIO_RemLog.h DataIO_Std.h DataIO_VecTraj.h DataIO_XVG.h DataIO_Xplor.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_RemLog.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajectoryFile.h Unit.h Vec3.h DataFileList.o : DataFileList.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h PDBfile.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataFilter.o : DataFilter.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataFilter.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_integer.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h GridBin.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataIO.o : DataIO.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_MatrixDbl.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h @@ -229,10 +231,11 @@ DataIO_Cmatrix_NC.o : DataIO_Cmatrix_NC.cpp ArgList.h ArrayIterator.h Associated DataIO_Coords.o : DataIO_Coords.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Coords.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h ParmFile.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h Trajin_Single.h Unit.h Vec3.h DataIO_Cpout.o : DataIO_Cpout.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Cpout.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_PHREMD.h DataSet_PHREMD_Explicit.h DataSet_PHREMD_Implicit.h DataSet_pH.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataIO_Evecs.o : DataIO_Evecs.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedFrame.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Evecs.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Modes.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h +DataIO_GBNSR6.o : DataIO_GBNSR6.cpp AmberEterm.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_GBNSR6.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataIO_Gnuplot.o : DataIO_Gnuplot.cpp ArgList.h Array1D.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Gnuplot.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataIO_Grace.o : DataIO_Grace.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Grace.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h DataSet_string.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataIO_LeapRC.o : DataIO_LeapRC.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h BondSearch.h Box.h BufferedFrame.h BufferedLine.h CmapParmHolder.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataIO.h DataIO_AmberFF.h DataIO_AmberFrcmod.h DataIO_AmberLib.h DataIO_AmberPrep.h DataIO_Coords.h DataIO_LeapRC.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_LeapOpts.h DataSet_NameMap.h DataSet_Parameters.h DataSet_PdbResMap.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Build.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterTypes.h Parm/AssignParams.h Parm/DihedralParmHolder.h Parm/GB_Params.h Parm/ImproperParmHolder.h Parm/ParameterSet.h Parm/ParmEnum.h Parm/ParmHolder.h ParmIO.h Parm_Amber.h PdbResMapType.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h Structure/Creator.h Structure/StructureEnum.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h -DataIO_Mdout.o : DataIO_Mdout.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Mdout.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h +DataIO_Mdout.o : DataIO_Mdout.cpp AmberEterm.h ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Mdout.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h DataIO_NetCDF.o : DataIO_NetCDF.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Cluster/Cframes.h ComplexArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_NetCDF.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Mat3x3.h DataSet_MatrixDbl.h DataSet_Mesh.h DataSet_Modes.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_Vector.h DataSet_Vector_Scalar.h DataSet_string.h DataSet_unsignedInt.h Dimension.h FileIO.h FileName.h Frame.h GridBin.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h Spline.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h Version.h DataIO_Numpy.o : DataIO_Numpy.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Numpy.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h libnpy/npy.hpp DataIO_OpenDx.o : DataIO_OpenDx.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_OpenDx.h DataSet.h DataSetList.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_GridDbl.h DataSet_GridFlt.h Dimension.h FileIO.h FileName.h Frame.h Grid.h GridBin.h MaskToken.h Matrix_3x3.h MetaData.h ModXNA_Info.h Molecule.h NameType.h Parallel.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h Unit.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 641b7935cb..bec4fc7f47 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -100,6 +100,7 @@ COMMON_SOURCES= \ Action_Volume.cpp \ Action_Watershell.cpp \ Action_XtalSymm.cpp \ + AmberEterm.cpp \ AmberParamFile.cpp \ AnalysisList.cpp \ Analysis_AmdBias.cpp \ @@ -201,6 +202,7 @@ COMMON_SOURCES= \ DataIO_Coords.cpp \ DataIO_Cpout.cpp \ DataIO_Evecs.cpp \ + DataIO_GBNSR6.cpp \ DataIO_Gnuplot.cpp \ DataIO_Grace.cpp \ DataIO_LeapRC.cpp \