6 #include "tree/tree.hh" 8 #include "CassiopeeConfig.h" 10 #include <boost/archive/text_oarchive.hpp> 11 #include <boost/archive/text_iarchive.hpp> 12 #include <boost/archive/binary_oarchive.hpp> 13 #include <boost/archive/binary_iarchive.hpp> 15 #include <boost/serialization/list.hpp> 32 return pos == p.pos && in+del == p.
in + p.
del;
109 friend class boost::serialization::access;
110 template<
class Archive>
111 void serialize(Archive & ar,
const unsigned int )
123 #ifndef __CASSIOPEE_H_ 124 #define __CASSIOPEE_H_ 170 void graph(
int depth);
178 string getSuffix(
long pos);
188 tree<TreeNode>* getTree();
203 char getCharAtSuffix(
long pos);
210 void filltree(
long pos);
228 bool index_loaded_from_file();
231 list<TreeNode> serialized_nodes;
233 bool loaded_from_file;
235 const char* filename;
239 const long MAX_SUFFIX;
240 long suffix_position;
246 long graphNode(tree<TreeNode>::iterator node,
long counter, ofstream& myfile,
int maxdepth);
251 char* loadSuffix(
long pos);
268 void fillTreeWithSuffix(tree<TreeNode>::iterator sib,
long suffix_pos,
long pos);
269 void fillTreeWithSuffix(
long suffix_pos,
long pos);
284 static void transform_fasta(
const string in,
const string out);
299 static bool isequal(
char a,
char b);
309 static bool ismatchequal(
char a,
const char b[],
int len);
310 static const char K_MATCH[];
311 static const char M_MATCH[];
312 static const char R_MATCH[];
313 static const char Y_MATCH[];
314 static const char S_MATCH[];
315 static const char W_MATCH[];
316 static const char B_MATCH[];
317 static const char V_MATCH[];
318 static const char H_MATCH[];
319 static const char D_MATCH[];
320 static const char N_MATCH[];
326 inline bool operator() (
const Match* struct1,
const Match* struct2)
328 return (struct1->pos < struct2->pos);
351 void removeDuplicates();
353 map<std::string, string> morphisms;
391 void search(
string suffix,
bool clear);
400 void search(
string suffix);
407 void search(
string suffixes[]);
412 bool isequal(
char a,
char b);
436 static bool same_match (
Match* first,
Match* second)
437 {
return ( *first == *second ); }
449 void getMatchesFromNode(tree<TreeNode>::iterator sib,
const int nbSubst,
const int nbIn,
const int nbDel);
464 void searchAtNode(
string suffix,
const long suffix_pos,
const tree<TreeNode>::iterator root,
int nbSubst,
int nbIn,
int nbDel,
int nbN);
477 void searchAtNode(
string suffix,
const long suffix_pos,
const tree<TreeNode>::iterator root,
const tree<TreeNode>::iterator start_node,
int nbSubst,
int nbIn,
int nbDel,
int nbN);
483 bool searchAtreduction(
const string suffix,
const tree<TreeNode>::iterator sib,
long counter,
long tree_reducted_pos,
int nbSubst,
int nbIn,
int nbDel,
int nbN);
Definition: Cassiopee.h:324
long max_index_depth
Definition: Cassiopee.h:221
bool do_reduction
Definition: Cassiopee.h:198
char c
Definition: Cassiopee.h:70
int max_indel
Definition: Cassiopee.h:418
Definition: Cassiopee.h:25
bool operator==(const Match &p) const
Definition: Cassiopee.h:31
int subst
Definition: Cassiopee.h:46
Match * match_limits
Definition: Cassiopee.h:358
int in
Definition: Cassiopee.h:38
list< Match * > matches
Definition: Cassiopee.h:363
int max_subst
Definition: Cassiopee.h:422
list< Match > matches
Definition: Cassiopee.h:193
bool ambiguity
Definition: Cassiopee.h:369
int nmax
Definition: Cassiopee.h:374
int del
Definition: Cassiopee.h:42
Definition: Cassiopee.h:336
Definition: Cassiopee.h:136
long next_length
Definition: Cassiopee.h:88
long max_depth
Definition: Cassiopee.h:215
long next_pos
Definition: Cassiopee.h:83
int mode
Definition: Cassiopee.h:383
Definition: Cassiopee.h:279
Definition: Cassiopee.h:290
list< long > positions
Definition: Cassiopee.h:76
Definition: Cassiopee.h:65