X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2FSamSequence.cpp;h=0231988dd901300c1937f7abb20775f19607b599;hb=cdf4bbcb19025398d429035fe672661a8c8d1a80;hp=869c24dfef8e64272273c6a0d45e09b242750b77;hpb=9cf50963514decd5c272f52a0a019c6289d43c63;p=bamtools.git diff --git a/src/api/SamSequence.cpp b/src/api/SamSequence.cpp index 869c24d..0231988 100644 --- a/src/api/SamSequence.cpp +++ b/src/api/SamSequence.cpp @@ -3,7 +3,7 @@ // Marth Lab, Department of Biology, Boston College // All rights reserved. // --------------------------------------------------------------------------- -// Last modified: 20 March 2011 (DB) +// Last modified: 18 April 2011 (DB) // --------------------------------------------------------------------------- // Provides direct read/write access to the SAM sequence data fields. // *************************************************************************** @@ -18,13 +18,7 @@ using namespace std; Provides direct read/write access to the SAM sequence data fields. - \sa http://samtools.sourceforge.net/SAM-1.3.pdf -*/ -/*! \var SamSequence::Name - \brief corresponds to \@SQ SN:\ -*/ -/*! \var SamSequence::Length - \brief corresponds to \@SQ LN:\ + \sa \samSpecURL */ /*! \var SamSequence::AssemblyID \brief corresponds to \@SQ AS:\ @@ -32,53 +26,80 @@ using namespace std; /*! \var SamSequence::Checksum \brief corresponds to \@SQ M5:\ */ -/*! \var SamSequence::URI - \brief corresponds to \@SQ UR:\ +/*! \var SamSequence::Length + \brief corresponds to \@SQ LN:\ + + Required for valid SAM header. +*/ +/*! \var SamSequence::Name + \brief corresponds to \@SQ SN:\ + + Required for valid SAM header. */ /*! \var SamSequence::Species \brief corresponds to \@SQ SP:\ */ +/*! \var SamSequence::URI + \brief corresponds to \@SQ UR:\ +*/ /*! \fn SamSequence::SamSequence(void) \brief default constructor */ SamSequence::SamSequence(void) - : Name("") - , Length("") - , AssemblyID("") + : AssemblyID("") , Checksum("") - , URI("") + , Length("") + , Name("") , Species("") + , URI("") { } /*! \fn SamSequence::SamSequence(const std::string& name, const int& length) \brief constructs sequence with \a name and \a length - \param name desired sequence name + \param name desired sequence name \param length desired sequence length (numeric value) */ -SamSequence::SamSequence(const std::string& name, const int& length) - : Name(name) - , AssemblyID("") +SamSequence::SamSequence(const std::string& name, + const int& length) + : AssemblyID("") , Checksum("") - , URI("") + , Name(name) , Species("") + , URI("") { stringstream s(""); s << length; Length = s.str(); } +/*! \fn SamSequence::SamSequence(const std::string& name, const std::string& length) + \brief constructs sequence with \a name and \a length + + \param name desired sequence name + \param length desired sequence length (string value) +*/ +SamSequence::SamSequence(const std::string& name, + const std::string& length) + : AssemblyID("") + , Checksum("") + , Length(length) + , Name(name) + , Species("") + , URI("") +{ } + /*! \fn SamSequence::SamSequence(const SamSequence& other) \brief copy constructor */ SamSequence::SamSequence(const SamSequence& other) - : Name(other.Name) - , Length(other.Length) - , AssemblyID(other.AssemblyID) + : AssemblyID(other.AssemblyID) , Checksum(other.Checksum) - , URI(other.URI) + , Length(other.Length) + , Name(other.Name) , Species(other.Species) + , URI(other.URI) { } /*! \fn SamSequence::~SamSequence(void) @@ -90,26 +111,12 @@ SamSequence::~SamSequence(void) { } \brief Clears all data fields. */ void SamSequence::Clear(void) { - Name.clear(); - Length.clear(); AssemblyID.clear(); Checksum.clear(); - URI.clear(); + Length.clear(); + Name.clear(); Species.clear(); -} - -/*! \fn bool SamSequence::HasName(void) const - \brief Returns \c true if sequence contains \@SQ SN:\ -*/ -bool SamSequence::HasName(void) const { - return (!Name.empty()); -} - -/*! \fn bool SamSequence::HasLength(void) const - \brief Returns \c true if sequence contains \@SQ LN:\ -*/ -bool SamSequence::HasLength(void) const { - return (!Length.empty()); + URI.clear(); } /*! \fn bool SamSequence::HasAssemblyID(void) const @@ -126,11 +133,18 @@ bool SamSequence::HasChecksum(void) const { return (!Checksum.empty()); } -/*! \fn bool SamSequence::HasURI(void) const - \brief Returns \c true if sequence contains \@SQ UR:\ +/*! \fn bool SamSequence::HasLength(void) const + \brief Returns \c true if sequence contains \@SQ LN:\ */ -bool SamSequence::HasURI(void) const { - return (!URI.empty()); +bool SamSequence::HasLength(void) const { + return (!Length.empty()); +} + +/*! \fn bool SamSequence::HasName(void) const + \brief Returns \c true if sequence contains \@SQ SN:\ +*/ +bool SamSequence::HasName(void) const { + return (!Name.empty()); } /*! \fn bool SamSequence::HasSpecies(void) const @@ -139,3 +153,10 @@ bool SamSequence::HasURI(void) const { bool SamSequence::HasSpecies(void) const { return (!Species.empty()); } + +/*! \fn bool SamSequence::HasURI(void) const + \brief Returns \c true if sequence contains \@SQ UR:\ +*/ +bool SamSequence::HasURI(void) const { + return (!URI.empty()); +}