1. 13 Jan, 2017 9 commits
    • Mikaël Salson's avatar
      getIndexLoad: Now depends on the kmer · 0de26304
      Mikaël Salson authored
      We calculate the index load depending on the type of Affectation stored.
      Thus we now need just one type of getIndexLoad() as the other one doesn't make sense any more.
      
      This change should allow to compute a confident e-value using the
      Aho-Corasick automaton
      0de26304
    • Mikaël Salson's avatar
      kmeraffect: The affectations now have a length. · 8f1c1377
      Mikaël Salson authored
      This doubles the space used by affectations. But this allows to compute the index load
      on an index which has several types of seeds. This may also solve the problem
      with revcomp with Aho-Corasick index (where affectations were not symmetric).
      
      There is now an additionnal parameter for the affectations.
      8f1c1377
    • Mikaël Salson's avatar
      Index: Initialize refs · d017258b
      Mikaël Salson authored
      refs was initialized only sometimes in Germline.
      Now it is initialized when any index is built (together with the ID)
      d017258b
    • Mikaël Salson's avatar
      Germline: Add the possibility to finish() them. · 142e66c7
      Mikaël Salson authored
      As indexes can be finish()-ed, we must add that possibility for germlines too
      142e66c7
    • Mikaël Salson's avatar
      Index: Put the ID in the base class · e8ab3a56
      Mikaël Salson authored
      The ID was initialised in createIndex, but if it was not called,
      the ID was not initialised. By transferring the initialisation to
      the base constructor we ensure that the ID will be initialised.
      
      The drawback is that classes that should be virtual now have a constructor.
      e8ab3a56
    • Mikaël Salson's avatar
      IKmerStore: Document hasRevcompSymetry() · 8d851124
      Mikaël Salson authored
      8d851124
    • Mikaël Salson's avatar
      IKmerStore: lowest level insert is virtual · 8585fdd5
      Mikaël Salson authored
      Since it can be redefined (and is redefined) we need to make the method
      virtual so that the redefinition will be called even by some code
      produced in IKmerStore.
      
      We also need to tell in PointerACAutomaton that we must use the other
      versions of insert that are defined in IKmerStore.
      8585fdd5
    • Mikaël Salson's avatar
      IKmerStore: smallestAnalysableLength() · 0d5f7ced
      Mikaël Salson authored
      Method which returns how many nucleotides at each time we can get.
      Useful to know what is the expected length of a getResults().
      0d5f7ced
    • Mikaël Salson's avatar
      IKmerStore: new finish_building() method · 63c1041e
      Mikaël Salson authored
      Must be called after having inserted all the sequences.
      63c1041e
  2. 28 Sep, 2016 3 commits
    • Mikaël Salson's avatar
      kmerstore.h: satisfy clang · 01e7f4b4
      Mikaël Salson authored
      For an unknown reason, Clang complained about the line:
      seed = IKmerStore<T>::seed
      because “error: no viable overloaded '='”
      It seemed to interpret one of the variable as const (which is not)
      as it indicated:
      /usr/bin/../lib/gcc/x86_64-linux-gnu/6.1.1/../../../../include/c++/6.1.1/bits/basic_string.h:565:7: note: candidate function not viable: 'this' argument has type 'const string' (aka 'const basic_string<char>'),
            but method is not marked const
      
      The solution was to use a local variable. Clang was happy, but I don't
      see what really makes the difference.
      01e7f4b4
    • Mikaël Salson's avatar
      kmerstore.h: Inserting with a seed. · 83ff2886
      Mikaël Salson authored
      Let the possibility to provide a seed when inserting in a
      KmerStore. This will be particularly suitable with an index having
      different seeds depending on the sequences.
      83ff2886
    • Mikaël Salson's avatar
      IKmerStore: getResults() depending on seed · daffb14f
      Mikaël Salson authored
      We can provide a seed to the getResults() method to have results
      depending on a seed. Therefore multiple seeds can be used to index.
      daffb14f
  3. 27 Jun, 2016 1 commit
  4. 20 Jun, 2016 1 commit
  5. 18 Dec, 2015 1 commit
  6. 15 Jun, 2015 4 commits
  7. 12 Jun, 2015 1 commit
  8. 04 Jun, 2015 1 commit
  9. 21 May, 2015 1 commit
  10. 20 May, 2015 1 commit
  11. 15 May, 2015 1 commit
  12. 08 May, 2015 2 commits
  13. 29 Apr, 2015 1 commit
  14. 06 Apr, 2015 1 commit
  15. 01 Apr, 2015 2 commits
  16. 19 Mar, 2015 1 commit
  17. 11 Mar, 2015 1 commit
    • Mathieu Giraud's avatar
      core/kmerstore.h: ignore all k-mers with extended nucleotides when updating index · b0e3045d
      Mathieu Giraud authored
      There are some 'N' and other extended nucleotides in the germline sequences.
      As we store in the indexes both the k-mers and their reverse complement, and as
      we handle extended nucleotides almost randomly (see tools:nuc_to_int()),
      we may have slight differences when analyzing some reads and their reverse complement.
      Ignoring such k-mers allow thus to be more deterministic, getting the same
      results on a (pure ACGT) read and its reverse complement.
      
      Another option (harder to implement) could be to add several k-mers in the index,
      but this would decrease the effective weight of the seed.
      
      Note that we should also improve the analysis of reads that includes extended nucleotides.
      b0e3045d
  18. 04 Nov, 2014 1 commit
  19. 20 Oct, 2014 3 commits
  20. 25 Jul, 2014 3 commits
  21. 24 Jul, 2014 1 commit