Skip to content

Commit

Permalink
Fixed gmx sasa output residue numbering
Browse files Browse the repository at this point in the history
gmx sasa with -or was writing the wrong residue numbers

Change-Id: I52b13f1eeec2ee028e5ec580139c0290df7b69c9
  • Loading branch information
carlocamilloni committed Jul 17, 2015
1 parent 812787a commit 699a16c
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/gromacs/trajectoryanalysis/modules/sasa.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2006, The GROMACS development team.
* Copyright (c) 2008,2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Copyright (c) 2008,2009,2010,2011,2012,2013,2014,2015, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
Expand Down Expand Up @@ -654,7 +654,7 @@ Sasa::initAnalysis(const TrajectoryAnalysisSettings &settings,
AnalysisDataPlotModulePointer plotm(
new AnalysisDataPlotModule(settings.plotSettings()));
plotm->setFileName(fnAtomArea_);
plotm->setTitle("Area per residue over the trajectory");
plotm->setTitle("Area per atom over the trajectory");
plotm->setXLabel("Atom");
plotm->setXFormat(8, 0);
plotm->setYLabel("Area (nm\\S2\\N)");
Expand All @@ -666,19 +666,26 @@ Sasa::initAnalysis(const TrajectoryAnalysisSettings &settings,
}
{
AnalysisDataAverageModulePointer avem(new AnalysisDataAverageModule);
prevResind = -1;
int row = 0;
for (int i = 0; i < surfaceSel_.posCount(); ++i)
{
const int atomIndex = surfaceSel_.position(i).atomIndices()[0];
const int residueIndex = atoms.atom[atomIndex].resind;
avem->setXAxisValue(i, atoms.resinfo[residueIndex].nr);
if (residueIndex != prevResind)
{
avem->setXAxisValue(row, atoms.resinfo[residueIndex].nr);
prevResind = residueIndex;
++row;
}
}
residueArea_.addModule(avem);
if (!fnResidueArea_.empty())
{
AnalysisDataPlotModulePointer plotm(
new AnalysisDataPlotModule(settings.plotSettings()));
plotm->setFileName(fnResidueArea_);
plotm->setTitle("Area per atom over the trajectory");
plotm->setTitle("Area per residue over the trajectory");
plotm->setXLabel("Residue");
plotm->setXFormat(8, 0);
plotm->setYLabel("Area (nm\\S2\\N)");
Expand Down

0 comments on commit 699a16c

Please sign in to comment.