Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

mal.h

Go to the documentation of this file.
00001 
00002 #ifndef MAL_H_EA
00003 #define MAL_H_EA
00004 
00005 /** @author Erik Arner, Karolinska Institute, (c) Erik Arner 2003.
00006     @version MAl version 0.1
00007 */
00008 
00009 /** \brief Writeable version of the multi alignment class
00010     
00011     Future plans: If neccesary, make the writeable features plug ins,
00012     for efficiency.
00013 */
00014 
00015 #include "mal_readonly.h"
00016 
00017 class MAl : public MAl_Readonly
00018 {
00019   
00020 public:
00021   //'tors...
00022   MAl( size_t bufsize, std::set<db_recno_t>& recnolist, TrapperDoc* pdoc );
00023   ~MAl();
00024 
00025   //Common interface
00026 
00027   void set_seq_row(size_t ID, size_t row);
00028   size_t create_seq(size_t length);
00029 
00030   //Separate interfaces
00031 
00032   void set_DNP(size_t ID, size_t index, bool status);
00033   void set_DNP_global(size_t ID, size_t index, bool status);
00034 
00035   void set_DNP_ID(size_t ID, size_t index, int dnpID);
00036   void set_DNP_ID_global(size_t ID, size_t index, int dnpID);
00037 
00038   void set_DNP_type(size_t ID, size_t index, int type);
00039   void set_DNP_type_global(size_t ID, size_t index, int type);
00040 
00041   void set_base(size_t ID, size_t index, base_t base);
00042   void set_base_global(size_t ID, size_t index, base_t base);
00043 
00044   void set_qual(size_t ID, size_t index, qual_t qual);
00045   void set_qual_global(size_t ID, size_t index, qual_t qual);
00046 
00047   void insert_gap(size_t ID, size_t index);
00048   void insert_gap_global(size_t ID, size_t index);
00049 
00050   void remove_gap(size_t ID, size_t index);
00051   void remove_gap_global(size_t ID, size_t index);
00052 
00053   void set_seq_begin_global(size_t ID, size_t index);
00054 //   void set_seq_begin_global(size_t ID, int index);//FIX!!!
00055 
00056   void set_seq_end(size_t ID, size_t index);
00057   void set_seq_end_global(size_t ID, size_t index);
00058   
00059   void set_beginGood(size_t ID, size_t index);
00060   void set_beginGood_global(size_t ID, size_t index);
00061 
00062   void set_endGood(size_t ID, size_t index);
00063   void set_endGood_global(size_t ID, size_t index);
00064   
00065   
00066 private://Should be protected??
00067   //Private methods
00068   
00069   virtual void flush_buffer(size_t buffID );
00070 //   void commit_seq_to_db(db_recno_t recno, size_t start, size_t end, size_t row);
00071   void commit_seq_to_db(size_t buffID );
00072   void commit_feat_to_db(size_t buffID, const string& feat_data_name);
00073 
00074   std::vector<Q_UINT32> last_gap_vec;
00075 
00076 };
00077 
00078 
00079 #endif //MAL_H_EA
00080  
00081 
00082 
00083 //Should this stuff be private??
00084 /*
00085   void delete_seq(size_t ID);
00086   bool is_deleted( size_t ID );
00087 */
00088 
00089 
00090 //OBSOLETE???
00091 /*
00092   std::string get_headerQ( size_t ID );
00093   size_t isPossibleRepeat(size_t ID);//????????????????????
00094   void mark_possibleRepeat(size_t ID);//??????????????????
00095   size_t append_seq( char seqName[], char seqHeader[] );
00096   size_t get_first_revComp_index();
00097   void set_max_coverage( size_t ID, size_t index, size_t cov );
00098   size_t get_max_coverage( size_t ID, size_t index );
00099   void set_pos_non_chimeric( size_t ID, size_t index);
00100   size_t is_chimeric( size_t ID, size_t index );
00101   void set_beginAnalyzable( const size_t index, const size_t pos );
00102   size_t get_beginAnalyzable( const size_t index );
00103   void set_endAnalyzable( const size_t index, const size_t pos );
00104   size_t get_endAnalyzable( const size_t index );  
00105   size_t get_number_seqs_in_file(const std::string fileName);
00106   size_t get_number_seqs_in_DATA_file(const std::string fileName);
00107   void set_qualBegin( const size_t index, const size_t pos );
00108   size_t get_qualBegin( const size_t index );
00109   void set_qualEnd( const size_t index, const size_t pos );
00110   size_t get_qualEnd( const size_t index );
00111   size_t is_quality( size_t index );
00112   void mark_is_quality(size_t id);
00113   size_t seq_size( size_t ID );
00114   size_t different_strands(size_t ID1, size_t ID2);
00115   size_t qual_size( size_t ID );
00116   char get_comp_base(char base);
00117   size_t get_ID_in_revComp_counterpart(size_t ID);
00118   size_t get_index_in_revComp_counterpart(size_t ID, size_t index);
00119   char get_DNP(size_t ID, size_t index);
00120   void set_DNP(size_t ID, size_t index, char base, size_t unique);
00121   void set_templ_DNP(size_t ID, size_t index);
00122   void set_templ_DNP_pos(size_t ID, size_t index, size_t pos);
00123   size_t is_templ_DNP(size_t ID, size_t index);
00124   size_t get_templ_DNP_pos(size_t ID, size_t index);
00125   void set_DNP_ncorr(size_t ID, size_t index, size_t ncorr);
00126   size_t get_DNP_ncorr(size_t ID, size_t index);
00127   void set_DNP_p(size_t ID, size_t index, double p);
00128   double get_DNP_p(size_t ID, size_t index);
00129   void set_DNP_against_insert(size_t ID, size_t index, char base, size_t unique);
00130   void set_DNP_against_deletion(size_t ID, size_t index, size_t unique, size_t unset_DNP);
00131   char get_DNP_against_insert(size_t ID, size_t index);
00132   char get_DNP_against_deletion(size_t ID, size_t index);
00133   size_t get_DNP_type(size_t ID, size_t index);
00134   size_t get_DNP_type_against_insert(size_t ID, size_t index);
00135   size_t get_DNP_type_against_deletion(size_t ID, size_t index);
00136   size_t DNP_mismatch(size_t ID, size_t index, char base);
00137   size_t DNP_mismatch_against_insert(size_t ID, size_t index, char base);
00138   size_t DNP_mismatch_against_deletion(size_t ID, size_t index);
00139 */

Generated on Fri Mar 17 17:44:24 2006 for trapper by  doxygen 1.4.4