This file is indexed.

/usr/include/blasr/algorithms/alignment/DistanceMatrixScoreFunctionImpl.hpp is in libblasr-dev 0~20151014+gitbe5d1bf-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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#ifndef _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_IMPL_HPP_
#define _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_IMPL_HPP_
#include <string>
#include <iostream>
#include <stdint.h>
#include <string>
#include <cstring>
#include <ostream>
#include "Types.h"
#include "NucConversion.hpp"
#include "Enumerations.h"
#include "DNASequence.hpp"
#include "FASTASequence.hpp"
#include "FASTQSequence.hpp"
#include "DistanceMatrixScoreFunction.hpp"

template<typename T_RefSequence, typename T_QuerySequence>
void DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::InitializeScoreMatrix(int scoreMatrixP[5][5]) {
    int i, j;
    for (i = 0; i < 5; i++ ){ 
        for (j = 0; j < 5; j++ ){
            scoreMatrix[i][j] = scoreMatrixP[i][j];
        }
    }
}

template<typename T_RefSequence, typename T_QuerySequence>
DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::DistanceMatrixScoreFunction() : BaseScoreFunction() {
}

template<typename T_RefSequence, typename T_QuerySequence>
DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::DistanceMatrixScoreFunction(int scoreMatrixP[5][5], int insertionP, int deletionP) : BaseScoreFunction() {
    InitializeScoreMatrix(scoreMatrixP);
    ins = insertionP;
    del = deletionP;
}

template<typename T_RefSequence, typename T_QuerySequence>
int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Deletion(
    T_RefSequence &seq, DNALength pos, T_QuerySequence &querySeq, 
    DNALength queryPos) {
    return del;
}

template<typename T_RefSequence, typename T_QuerySequence>
int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Insertion(
    T_RefSequence &seq, DNALength pos, T_QuerySequence &querySeq, 
    DNALength queryPos) {
    return ins;
}

template<typename T_RefSequence, typename T_QuerySequence>
int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Deletion(
    T_RefSequence &seq, DNALength pos) {
    return del;
}


template<typename T_RefSequence, typename T_QuerySequence>
int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Match(
    T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, 
    DNALength queryPos) {
    return scoreMatrix[ThreeBit[ref[refPos]]][ThreeBit[query[queryPos]]];		
}

//
// Define the score function on dereferenced pointers for speed.
//
template<typename T_RefSequence, typename T_QuerySequence>
int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Match(
    Nucleotide ref, Nucleotide query) {
    return scoreMatrix[ThreeBit[ref]][ThreeBit[query]];
}

template<typename T_RefSequence, typename T_QuerySequence>
int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Insertion(
    T_QuerySequence &seq, DNALength pos) {
    return ins;
}

template<typename T_RefSequence, typename T_QuerySequence>
float 
DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>
::NormalizedMatch(T_RefSequence &ref, DNALength refPos, 
    T_QuerySequence &query, DNALength queryPos) {return 0;}

template<typename T_RefSequence, typename T_QuerySequence>
float DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>
::NormalizedInsertion(T_RefSequence &ref, DNALength refPos, 
    T_QuerySequence &query, DNALength queryPos) {return 0;}

template<typename T_RefSequence, typename T_QuerySequence>
float DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::NormalizedDeletion(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos) {return 0;}


#endif // _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_IMPL_HPP_