Fragment_AMOS.hh

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #ifndef __Fragment_AMOS_HH
00011 #define __Fragment_AMOS_HH 1
00012 
00013 #include "Universal_AMOS.hh"
00014 
00015 
00016 
00017 
00018 namespace AMOS {
00019 
00020 typedef char FragmentType_t;
00021 
00022 //================================================ Fragment_t ==================
00029 //==============================================================================
00030 class Fragment_t : public Universal_t
00031 {
00032 
00033 private:
00034 
00035   ID_t library_m;                     
00036   Size_t size_m;                      
00037   std::pair<ID_t, NCode_t> source_m;  
00038   std::pair<ID_t, ID_t> reads_m;      
00039   FragmentType_t type_m;              
00040 
00041 
00042 protected:
00043 
00044   //--------------------------------------------------- readRecord -------------
00045   virtual void readRecord (std::istream & fix, std::istream & var);
00046 
00047 
00048 
00049   //--------------------------------------------------- readRecordFix ----------
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 FragmentType_t NULL_FRAGMENT = 0;
00063   static const FragmentType_t OTHER         = 'X';
00064   static const FragmentType_t BAC           = 'B';
00065   static const FragmentType_t INSERT        = 'I';
00066   static const FragmentType_t TRANSPOSON    = 'T';
00067   static const FragmentType_t WALK          = 'W';
00068 
00069 
00070   //--------------------------------------------------- Fragment_t -------------
00075   Fragment_t ( )
00076   {
00077     size_m = 0;
00078     library_m = source_m . first = reads_m . first = reads_m . second = NULL_ID;
00079     source_m . second = NULL_NCODE;
00080     type_m = NULL_FRAGMENT;
00081   }
00082 
00083 
00084   //--------------------------------------------------- Fragment_t -------------
00087   Fragment_t (const Fragment_t & source)
00088   {
00089     *this = source;
00090   }
00091 
00092 
00093   //--------------------------------------------------- ~Fragment_t ------------
00096   ~Fragment_t ( )
00097   {
00098 
00099   }
00100 
00101 
00102   //--------------------------------------------------- clear ------------------
00103   virtual void clear ( );
00104 
00105 
00106   //--------------------------------------------------- getNCode ---------------
00107   virtual NCode_t getNCode ( ) const
00108   {
00109     return Fragment_t::NCODE;
00110   }
00111 
00112 
00113   //--------------------------------------------------- getLibrary -------------
00118   ID_t getLibrary ( ) const
00119   {
00120     return library_m;
00121   }
00122 
00123 
00124   //--------------------------------------------------- getMatePair ------------
00133   std::pair<ID_t, ID_t> getMatePair ( ) const
00134   {
00135     return reads_m;
00136   }
00137 
00138 
00139   //--------------------------------------------------- getSize ----------------
00147   Size_t getSize ( ) const
00148   {
00149     return size_m;
00150   }
00151 
00152 
00153   //--------------------------------------------------- getSource --------------
00161   std::pair<ID_t, NCode_t> getSource ( ) const
00162   {
00163     return source_m;
00164   }
00165 
00166 
00167   //--------------------------------------------------- getType ----------------
00172   FragmentType_t getType ( ) const
00173   {
00174     return type_m;
00175   }
00176 
00177 
00178   //--------------------------------------------------- readMessage ------------
00179   virtual void readMessage (const Message_t & msg);
00180 
00181 
00182   //--------------------------------------------------- setLibrary -------------
00188   void setLibrary (ID_t library)
00189   {
00190     library_m = library;
00191   }
00192 
00193 
00194   //--------------------------------------------------- setMatePair ------------
00204   void setReads (std::pair<ID_t, ID_t> reads)
00205   {
00206     reads_m = reads;
00207   }
00208 
00209 
00210   //--------------------------------------------------- setSize ----------------
00216   void setSize (Size_t size)
00217   {
00218     size_m = size;
00219   }
00220 
00221 
00222   //--------------------------------------------------- setSource --------------
00231   void setSource (std::pair<ID_t, NCode_t> source)
00232   {
00233     source_m = source;
00234   }
00235 
00236 
00237   //--------------------------------------------------- setType ----------------
00245   void setType (FragmentType_t type);
00246 
00247 
00248   //--------------------------------------------------- writeMessage -----------
00249   virtual void writeMessage (Message_t & msg) const;
00250 
00251 };
00252 
00253 } // namespace AMOS
00254 
00255 #endif // #ifndef __Fragment_AMOS_HH

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