Skip to content

Commit 9df1464

Browse files
authored
Add RNA functionality (#13)
* nthash.hpp: add Hamid's rna compatible code * nthash.hpp: add Ka Ming's fix to rna compatible code * UnitTests.cpp: add RNA test * UnitTests.cpp: fix style
1 parent 6c44c66 commit 9df1464

2 files changed

Lines changed: 22 additions & 9 deletions

File tree

nthash.hpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ static const uint64_t seedT = 0x295549f54be24456;
2929
static const uint64_t seedN = 0x0000000000000000;
3030

3131
static const uint64_t seedTab[256] = {
32-
seedN, seedT, seedN, seedG, seedA, seedN, seedN, seedC, // 0..7
32+
seedN, seedT, seedN, seedG, seedA, seedA, seedN, seedC, // 0..7
3333
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 8..15
3434
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 16..23
3535
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 24..31
@@ -39,11 +39,11 @@ static const uint64_t seedTab[256] = {
3939
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 56..63
4040
seedN, seedA, seedN, seedC, seedN, seedN, seedN, seedG, // 64..71
4141
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 72..79
42-
seedN, seedN, seedN, seedN, seedT, seedN, seedN, seedN, // 80..87
42+
seedN, seedN, seedN, seedN, seedT, seedT, seedN, seedN, // 80..87
4343
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 88..95
4444
seedN, seedA, seedN, seedC, seedN, seedN, seedN, seedG, // 96..103
4545
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 104..111
46-
seedN, seedN, seedN, seedN, seedT, seedN, seedN, seedN, // 112..119
46+
seedN, seedN, seedN, seedN, seedT, seedT, seedN, seedN, // 112..119
4747
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 120..127
4848
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 128..135
4949
seedN, seedN, seedN, seedN, seedN, seedN, seedN, seedN, // 136..143
@@ -113,7 +113,7 @@ static const uint64_t N31l[31] = {
113113

114114

115115
static const uint64_t *msTab33r[256] = {
116-
N33r, T33r, N33r, G33r, A33r, N33r, N33r, C33r, // 0..7
116+
N33r, T33r, N33r, G33r, A33r, A33r, N33r, C33r, // 0..7
117117
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 8..15
118118
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 16..23
119119
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 24..31
@@ -123,11 +123,11 @@ static const uint64_t *msTab33r[256] = {
123123
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 56..63
124124
N33r, A33r, N33r, C33r, N33r, N33r, N33r, G33r, // 64..71
125125
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 72..79
126-
N33r, N33r, N33r, N33r, T33r, N33r, N33r, N33r, // 80..87
126+
N33r, N33r, N33r, N33r, T33r, T33r, N33r, N33r, // 80..87
127127
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 88..95
128128
N33r, A33r, N33r, C33r, N33r, N33r, N33r, G33r, // 96..103
129129
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 104..111
130-
N33r, N33r, N33r, N33r, T33r, N33r, N33r, N33r, // 112..119
130+
N33r, N33r, N33r, N33r, T33r, T33r, N33r, N33r, // 112..119
131131
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 120..127
132132
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 128..135
133133
N33r, N33r, N33r, N33r, N33r, N33r, N33r, N33r, // 136..143
@@ -148,7 +148,7 @@ static const uint64_t *msTab33r[256] = {
148148
};
149149

150150
static const uint64_t *msTab31l[256] = {
151-
N31l, T31l, N31l, G31l, A31l, N31l, N31l, C31l, // 0..7
151+
N31l, T31l, N31l, G31l, A31l, A31l, N31l, C31l, // 0..7
152152
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 8..15
153153
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 16..23
154154
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 24..31
@@ -158,11 +158,11 @@ static const uint64_t *msTab31l[256] = {
158158
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 56..63
159159
N31l, A31l, N31l, C31l, N31l, N31l, N31l, G31l, // 64..71
160160
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 72..79
161-
N31l, N31l, N31l, N31l, T31l, N31l, N31l, N31l, // 80..87
161+
N31l, N31l, N31l, N31l, T31l, T31l, N31l, N31l, // 80..87
162162
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 88..95
163163
N31l, A31l, N31l, C31l, N31l, N31l, N31l, G31l, // 96..103
164164
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 104..111
165-
N31l, N31l, N31l, N31l, T31l, N31l, N31l, N31l, // 112..119
165+
N31l, N31l, N31l, N31l, T31l, T31l, N31l, N31l, // 112..119
166166
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 120..127
167167
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 128..135
168168
N31l, N31l, N31l, N31l, N31l, N31l, N31l, N31l, // 136..143

unittest/UnitTests.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,5 +116,18 @@ TEST_CASE("test fixture", "[UnitTests]")
116116
assert((*ssItr)[0] == (*ssM1Itr)[0]);
117117
assert((*ssItr)[0] == (*ssM2Itr)[0]);
118118
assert((*ssItr)[0] == (*ssM3Itr)[0]);
119+
}
120+
121+
SECTION("RNA")
122+
{
123+
ntHashIterator dnaIt(kmer, 3, 20);
124+
125+
std::string rnaKmer = "ACGUACACUGGACUGAGUCU";
126+
ntHashIterator rnaIt(kmer, 3, 20);
127+
128+
for (int i = 0; i < 3; ++i)
129+
{
130+
assert((*dnaIt)[i] == (*rnaIt)[i]);
131+
}
119132
} /* end test fixture */
120133
}

0 commit comments

Comments
 (0)