Finder

Finder

namespace ft

Copyright (c) 2018, Wasserman lab

FILE ikmergenerator.h

DESCRIPTION This file contains the declaration of kmergenerator interface

class Finder
#include <finder.h>

This file contains the declaration of finder class. It contains functions used to search for kmers inside the FmIndex.

Copyright
Copyright (c) 2019, Wasserman lab
Author
Godfrain Jacques Kounkou

Public Functions

Finder::Finder()

Finder.

ft::Finder::~Finder()

~Finder

Finder::Finder(const Finder & other)

Finder.

Parameters
  • other:

const Finder& ft::Finder::operator=(const Finder & other)

operator =

Return
Parameters
  • other:

void Finder::searchMonoIndex(ResultsMap & indexPosResults, const KmerMap & kmerMap, const fs::path & indexPath, const std::string & indexFileLocation, uint maxOccurences, bool parallel, uint threadNumber, bool printSearchTime)

searchMonoIndex

Parameters
  • indexPosResults:
  • kmerMap:
  • indexPath:
  • indexFileLocation:
  • maxOccurences:
  • parallel:
  • threadNumber:

void Finder::searchMultipleIndexes(ResultsMap & indexPosResults, const KmerMap & kmerMap, const std::set< fs::path > & indexPaths, const std::string & indexFileLocation, uint maxOccurences, bool parallel, uint threadNumber, bool printSearchTime, long long offset)

searchMultipleIndexes

Parameters
  • indexPosResults:
  • kmerMap:
  • indexPaths:
  • indexFileLocation:
  • maxOccurences:
  • parallel:
  • threadNumber:

void Finder::overrideFmIndex(std::shared_ptr< algo::IFmIndex > fmIndex)

Finder::overrideFmIndex.

Parameters
  • fmIndex:

void Finder::parallelSearch(ResultsMap & indexPosResults, const fs::path & indexFileLocation, const KmerMap & kmerMap, fs::path indexPath, uint maxOcc, uint threadNumber, bool printSearchTime, long long offset)

parallelSearch is a core function to search in parallel. This function can be used by higher level functions.

Parameters
  • indexPosResults:
  • indexFileLocation:
  • kmerMap:
  • indexPath:
  • maxOcc:
  • threadNumber:

void Finder::sequentialSearch(ResultsMap & indexPosResults, const fs::path & indexFileLocation, const KmerMap & kmerMap, fs::path indexPath, uint maxOcc, bool printSearchTime, long long offset)

sequentialSearch searches for kmers inside a single FmIndex in a sequential way.

Parameters
  • indexPosResults:
  • indexFileLocation:
  • kmerMap:
  • indexPath:
  • maxOcc:

void Finder::multipleIndexesParallelSearch(ResultsMap & indexPosResults, const fs::path & indexFileLocation, const KmerMap & kmerMap, const std::set< fs::path > & indexPath, uint maxOcc, uint threadNumber, bool printSearchTime, long long offset)

multipleIndexesParallelSearch searches for kmers inside multiple indexes in parallel

Parameters
  • indexPosResults:
  • indexFileLocation:
  • kmerMap:
  • indexPath:
  • maxOcc:
  • threadNumber:

void Finder::multipleIndexesSequentialSearch(ResultsMap & indexPosResults, const fs::path & indexFileLocation, const KmerMap & kmerMap, std::set< fs::path > indexPath, uint maxOcc, bool printSearchTime, long long offset)

multipleIndexesSequentialSearch searches for kmers inside a multiple FmIndexes in q sequential way

Parameters
  • indexPosResults:
  • indexFileLocation:
  • kmerMap:
  • indexPath:
  • maxOcc:

Private Members

algo::IFmIndex* Finder::_fmIndex

fmIndex

algo::FmIndex Finder::_ownedFmIndex

fmIndex