/usr/include/pbseq/alignment/tuples/tuple.h 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | #ifndef TUPLE_H_
#define TUPLE_H_
#include <vector>
#include <utility>
#include "../../pbdata/Types.h"
#include "tuples/TupleMetrics.hpp"
template<typename Sequence, typename Tuple>
BuildTupleList(Sequence seq, vector<Tuple> &tupleList) {
BuildTupleList(seq, 0, seq.length, tupleList);
}
template<typename Sequence, typename Tuple>
BuildTupleList(Sequence seq, int seqStart, int length, vector<Tuple> &tupleList) {
}
template<typename Sequence, typename CountedTuple>
BuildCountedTupleList(Sequence seq, int seqStart, int length, TupleMetrics &tm, vector<CountedTuple> &tupleList) {
int s;
CountedTuple tuple;
for (s = 0; s < seq.length - tm.tupleSize + 1; s++) {
}
}
template<typename Sequence, typename Tuple>
StoreUniqueTuplePosList(Sequence seq, TupleMetrics &tm, vector<int> &uniqueTuplePosList) {
//
// Do this faster later on with a suffix tree -- faster than n log n construction time.
//
int s;
vector<pair<Tuple, int> > tuples;
Tuple tempTuple;
for (s = 0; s < seq.length; s++) {
tempTuple.FromStringLR(&(seq.seq[s]), tm);
tuples.push_back(make_pair(tempTuple, s));
}
std::sort(tuples.begin(), tuples.end());
int curUnique = 0, curPos = 0;
//
// Filter out the repetitive tuples.
//
while ( curPos < tuples.size() ) {
int nextPos = curPos;
while (nextPos < tuples.size() and tuples[nextPos] == tuples[curPos])
nextPos++;
if (nextPos - curPos == 1) {
tuples[curUnique].first == tuples[curPos].first;
uniqueTuplePosList.push_back(tuples[curUnique].second);
++curUnique;
++curPos;
}
else {
curPos = nextPos;
}
}
//
// Be nice and leave the pos list in ascending sorted order,
// even though the top of this function does not specify it.
//
std::sort(uniqueTuplePosList.begin(), uniqueTuplePosList.end());
}
#endif
|