File: Extension_Bank.cpp

package info (click to toggle)
mapsembler2 2.1.6%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 4,116 kB
  • ctags: 3,391
  • sloc: cpp: 27,549; ansic: 2,662; asm: 271; sh: 226; makefile: 153
file content (49 lines) | stat: -rw-r--r-- 1,499 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
//  Extension_Banks.cpp
//  
//
//  Created by Pierre Peterlongo on 22/10/2012
//


#ifndef ASSERTS
#define NDEBUG // disable asserts, they're computationnally intensive
#endif

using namespace std;
#include "Extension_Bank.h"


bool operator==(Extension a, Extension b){
  return a.starting_kmer.compare(b.starting_kmer) == 0;
  //  return a.starting_kmer==b.starting_kmer;
}

bool operator!=(Extension a, Extension b){
  return !(a==b);
}

  // returns the id of the position of the kmer in the set of kmers to be extended (maybe it was alread present, maybe its a new one).
//vector<Extension>::iterator Extension_Bank:: maybe_add_a_new_extension(const char * kmer){}
int Extension_Bank:: maybe_add_a_new_extension(const char * kmer){
//    printf("maybe add %s, direction %s\n", kmer, direction.c_str());
  int i;
  for(i=0;i<all_extensions.size();i++){
    if(all_extensions[i].starting_kmer.compare(kmer)==0) return i;
  };
  all_extensions.push_back(*new Extension(kmer));
  return i;
}

void Extension_Bank::set_extension_type(const char type){
  extension_type=type;
}

void Extension_Bank:: perform_extensions(const string prefix, int max_graph_depth,int max_nodes, parcours_t search_mode ){ // TODO: dans main: faire de limit un parametre
  // TODO: mettre un affichage d'avancement.
  //
  for (vector<Extension>::iterator it=all_extensions.begin(); it!= all_extensions.end(); ++it){
    it->perform_extension(prefix, max_graph_depth, extension_type, max_nodes, search_mode );
  }
}