@@ -28,6 +28,7 @@ Action_NAstruct::Action_NAstruct() :
2828 printheader_(true ),
2929 seriesUpdated_(false ),
3030 skipIfNoHB_(true ),
31+ spaceBetweenFrames_(true ),
3132 bpout_(0 ), stepout_(0 ), helixout_(0 ),
3233 masterDSL_(0 )
3334# ifdef NASTRUCTDEBUG
@@ -38,7 +39,7 @@ Action_NAstruct::Action_NAstruct() :
3839void Action_NAstruct::Help () const {
3940 mprintf (" \t [<dataset name>] [resrange <range>] [naout <suffix>]\n "
4041 " \t [noheader] [resmap <ResName>:{A,C,G,T,U} ...] [calcnohb]\n "
41- " \t [baseref <file>] ...\n "
42+ " \t [noframespaces] [ baseref <file>] ...\n "
4243 " \t [hbcut <hbcut>] [origincut <origincut>] [altona | cremer]\n "
4344 " \t [zcut <zcut>] [zanglecut <zanglecut>] [groovecalc {simple | 3dna}]\n "
4445 " \t [{ %s | allframes | guessbp}]\n " , DataSetList::RefArgs);
@@ -58,7 +59,9 @@ void Action_NAstruct::Help() const {
5859 " hydrogen bonds present between base pairs.\n "
5960 " Base pair parameters are written to 'BP.<suffix>', base pair step parameters\n "
6061 " are written to 'BPstep.<suffix>', and helix parameters are written to\n "
61- " Helix.<suffix>'\n " );
62+ " Helix.<suffix>'.\n "
63+ " If 'noframespaces' is specified there will be no spaces between frames\n "
64+ " in the 'naout' files.\n " );
6265}
6366
6467// Action_NAstruct::Init()
@@ -110,6 +113,7 @@ Action::RetType Action_NAstruct::Init(ArgList& actionArgs, ActionInit& init, int
110113 resRange_.ShiftBy (-1 ); // User res args start from 1
111114 printheader_ = !actionArgs.hasKey (" noheader" );
112115 skipIfNoHB_ = !actionArgs.hasKey (" calcnohb" );
116+ spaceBetweenFrames_ = !actionArgs.hasKey (" noframespaces" );
113117 // Determine how base pairs will be found.
114118 ReferenceFrame REF = init.DSL ().GetReferenceFrame ( actionArgs );
115119 if (REF .error ()) return Action::ERR ;
@@ -197,6 +201,7 @@ Action::RetType Action_NAstruct::Init(ArgList& actionArgs, ActionInit& init, int
197201 mprintf (" \t Base pair step parameters written to %s\n " , stepout_->Filename ().full ());
198202 mprintf (" \t Helical parameters written to %s\n " , helixout_->Filename ().full ());
199203 if (!printheader_) mprintf (" \t Header line will not be written.\n " );
204+ if (!spaceBetweenFrames_) mprintf (" \t No spaces will be written between frames.\n " );
200205 }
201206 mprintf (" \t Hydrogen bond cutoff for determining base pairs is %.2f Angstroms.\n " ,
202207 sqrt ( HBdistCut2_ ) );
@@ -1776,7 +1781,7 @@ void Action_NAstruct::Print() {
17761781 bpout_->Printf (GROOVE_FMT , BP .major_ ->Dval (frame), BP .minor_ ->Dval (frame));
17771782 bpout_->Printf (" \n " );
17781783 }
1779- bpout_->Printf (" \n " );
1784+ if (spaceBetweenFrames_) bpout_->Printf (" \n " );
17801785 }
17811786 }
17821787
@@ -1821,7 +1826,7 @@ void Action_NAstruct::Print() {
18211826 }
18221827 stepout_->Printf (" \n " );
18231828 }
1824- stepout_->Printf (" \n " );
1829+ if (spaceBetweenFrames_) stepout_->Printf (" \n " );
18251830 }
18261831 // Helix frames
18271832 if (printheader_)
@@ -1840,7 +1845,7 @@ void Action_NAstruct::Print() {
18401845 BS .tip_ ->Dval (frame), BS .htwist_ ->Dval (frame));
18411846 helixout_->Printf (" \n " );
18421847 }
1843- helixout_->Printf (" \n " );
1848+ if (spaceBetweenFrames_) helixout_->Printf (" \n " );
18441849 }
18451850 }
18461851}
0 commit comments