/usr/include/pbseq/alignment/algorithms/anchoring/MapBySuffixArray.hpp is in libblasr-dev 0~20161219-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | #ifndef _BLASR_MAP_BY_SUFFIX_ARRAY_HPP_
#define _BLASR_MAP_BY_SUFFIX_ARRAY_HPP_
#include <algorithm>
#include "../../suffixarray/SuffixArray.hpp"
#include "../../datastructures/anchoring/MatchPos.hpp"
#include "../../datastructures/anchoring/AnchorParameters.hpp"
#include "../../algorithms/alignment/SWAlign.hpp"
#include "../../algorithms/alignment/ScoreMatrices.hpp"
/*
* Parameters:
* Eventually this should be strongly typed, since this is specific to
* suffix array searching on DNASequence read/genome types.
* reference - should be of type DNASequence
* sa - shuld be of type SuffixArray
* read - may be of any DNASequence subclass.
* tupleSize - The length of the keyword used to speed up searching.
* Out:
* matchLow - The starting point in the suffix array for the LCP
* match for the read at pos p.
* matchHigh -The same array but for the upper bound.
* saMatchLength - The length of the lcp.
*/
template<typename T_SuffixArray,
typename T_RefSequence,
typename T_Sequence>
int LocateAnchorBoundsInSuffixArray(T_RefSequence &reference,
T_SuffixArray &sa, T_Sequence &read, unsigned int minPrefixMatchLength,
std::vector<DNALength> &matchLow, std::vector<DNALength> &matchHigh,
std::vector<DNALength> &matchLength, AnchorParameters ¶ms);
template<typename T_SuffixArray,
typename T_RefSequence,
typename T_Sequence,
typename T_MatchPos>
int MapReadToGenome(T_RefSequence &reference,
T_SuffixArray &sa, T_Sequence &read,
unsigned int minPrefixMatchLength,
vector<T_MatchPos> &matchPosList,
AnchorParameters &anchorParameters);
#include "MapBySuffixArrayImpl.hpp"
#endif
|