Read_AMOS.hh

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #ifndef __Read_AMOS_HH
00011 #define __Read_AMOS_HH 1
00012 
00013 #include "Sequence_AMOS.hh"
00014 #include <vector>
00015 
00016 
00017 
00018 
00019 namespace AMOS {
00020 
00021 typedef char ReadType_t;
00022 
00023 //================================================ Read_t ======================
00030 //==============================================================================
00031 class Read_t : public Sequence_t
00032 {
00033 
00034 private:
00035 
00036   Range_t clear_m;                 
00037   ID_t frag_m;                     
00038   Range_t qclear_m;                
00039   ReadType_t type_m;               
00040   Range_t vclear_m;                
00041   std::vector<int16_t> bcp_m;      
00042   Pos_t pos_m;                     
00043 
00044 
00045 protected:
00046 
00047   //--------------------------------------------------- readRecord -------------
00048   virtual void readRecord (std::istream & fix, std::istream & var);
00049 
00050   virtual void readRecordFix (std::istream & fix);
00051 
00052 
00053   //--------------------------------------------------- writeRecord ------------
00054   virtual void writeRecord (std::ostream & fix, std::ostream & var) const;
00055 
00056 
00057 public:
00058 
00059   static const NCode_t NCODE;
00061 
00062   static const ReadType_t NULL_READ  = 0;
00063   static const ReadType_t OTHER      = 'X';
00064   static const ReadType_t END        = 'E';
00065   static const ReadType_t CONTIG     = 'C';
00066   static const ReadType_t BAC        = 'B';
00067   static const ReadType_t WALK       = 'W';
00068   static const ReadType_t TRANSPOSON = 'T';
00069 
00070 
00071   //--------------------------------------------------- Read_t -----------------
00076   Read_t ( )
00077   {
00078     frag_m = NULL_ID;
00079     type_m = NULL_READ;
00080     pos_m = 0;
00081   }
00082 
00083 
00084   //--------------------------------------------------- Read_t -----------------
00087   Read_t (const Read_t & source)
00088   {
00089     *this = source;
00090   }
00091 
00092 
00093   //--------------------------------------------------- ~Read_t ----------------
00096   ~Read_t ( )
00097   {
00098 
00099   }
00100 
00101 
00102   //--------------------------------------------------- clear ------------------
00103   virtual void clear ( );
00104 
00105 
00106   //--------------------------------------------------- getBasePositions -------
00115   const std::vector<int16_t> & getBasePositions ( ) const
00116   {
00117     return bcp_m;
00118   }
00119 
00120 
00121   //--------------------------------------------------- getBasePositions -------
00130   std::vector<int16_t> & getBasePositions ( )
00131   {
00132     return bcp_m;
00133   }
00134 
00135 
00136   //--------------------------------------------------- getClearRange ----------
00141   Range_t getClearRange ( )
00142   {
00143     return clear_m;
00144   }
00145 
00146 
00147   //--------------------------------------------------- getFragment ------------
00152   ID_t getFragment ( ) const
00153   {
00154     return frag_m;
00155   }
00156 
00157 
00158   //--------------------------------------------------- getFragmentPosition ----
00167   Pos_t getFragmentPosition ( )
00168   {
00169     return pos_m;
00170   }
00171 
00172 
00173   //--------------------------------------------------- getNCode ---------------
00174   virtual NCode_t getNCode ( ) const
00175   {
00176     return Read_t::NCODE;
00177   }
00178 
00179 
00180   //--------------------------------------------------- getQualityClearRange ---
00185   Range_t getQualityClearRange ( )
00186   {
00187     return qclear_m;
00188   }
00189 
00190 
00191   //--------------------------------------------------- getType ----------------
00196   ReadType_t getType ( ) const
00197   {
00198     return type_m;
00199   }
00200 
00201 
00202   //--------------------------------------------------- getVectorClearRange ----
00207   Range_t getVectorClearRange ( )
00208   {
00209     return vclear_m;
00210   }
00211 
00212 
00213   //--------------------------------------------------- readMessage ------------
00214   virtual void readMessage (const Message_t & msg);
00215 
00216 
00217   //--------------------------------------------------- setBasePositions -------
00223   void setBasePositions (const std::vector<int16_t> & bcp)
00224   {
00225     bcp_m = bcp;
00226   }
00227 
00228 
00229   //--------------------------------------------------- setClearRange ----------
00235   void setClearRange (Range_t clear)
00236   {
00237     clear_m = clear;
00238   }
00239 
00240 
00241   //--------------------------------------------------- setFragment ------------
00247   void setFragment (ID_t frag)
00248   {
00249     frag_m = frag;
00250   }
00251 
00252 
00253   //--------------------------------------------------- setFragmentPosition ----
00263   void setFragmentPosition (Pos_t pos)
00264   {
00265     pos_m = pos;
00266   }
00267 
00268 
00269   //--------------------------------------------------- setQualityClearRange ---
00275   void setQualityClearRange (Range_t qclear)
00276   {
00277     qclear_m = qclear;
00278   }
00279 
00280 
00281   //--------------------------------------------------- setType ----------------
00289   void setType (ReadType_t type);
00290 
00291 
00292   //--------------------------------------------------- setVectorClearRange ----
00298   void setVectorClearRange (Range_t vclear)
00299   {
00300     vclear_m = vclear;
00301   }
00302 
00303 
00304   //--------------------------------------------------- writeMessage -----------
00305   virtual void writeMessage (Message_t & msg) const;
00306 
00307 };
00308 
00309 
00310 //================================================ Helper Functions ============
00311 //----------------------------------------------------- operator<< -------------
00314 std::ostream & operator<< (std::ostream & o, Read_t & read);
00315 
00316 } // namespace AMOS
00317 
00318 #endif // #ifndef __Read_AMOS_HH

Generated on Mon Feb 22 17:36:27 2010 for libAMOS by  doxygen 1.4.7