Cassiopee
1.0
Suffix indexer and search tool
|
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);
list< long > positions
Definition: Cassiopee.h:76
Definition: Cassiopee.h:324
Definition: Cassiopee.h:136
int max_subst
Definition: Cassiopee.h:422
bool operator==(const Match &p) const
Definition: Cassiopee.h:31
list< Match > matches
Definition: Cassiopee.h:193
bool ambiguity
Definition: Cassiopee.h:369
int nmax
Definition: Cassiopee.h:374
long next_length
Definition: Cassiopee.h:88
long next_pos
Definition: Cassiopee.h:83
Match * match_limits
Definition: Cassiopee.h:358
Definition: Cassiopee.h:25
Definition: Cassiopee.h:65
Definition: Cassiopee.h:279
long max_depth
Definition: Cassiopee.h:215
int subst
Definition: Cassiopee.h:46
long max_index_depth
Definition: Cassiopee.h:221
int mode
Definition: Cassiopee.h:383
int in
Definition: Cassiopee.h:38
list< Match * > matches
Definition: Cassiopee.h:363
Definition: Cassiopee.h:290
int max_indel
Definition: Cassiopee.h:418
int del
Definition: Cassiopee.h:42
bool do_reduction
Definition: Cassiopee.h:198
Definition: Cassiopee.h:336
char c
Definition: Cassiopee.h:70