Skip to content

Commit 2348eb6

Browse files
authored
Merge pull request #1028 from sooyoung-cha/mmseqsSET2
clust works well fot subdb
2 parents ff454af + 04de684 commit 2348eb6

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

src/clustering/Clustering.cpp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,35 @@ Clustering::Clustering(const std::string &seqDB, const std::string &seqDBIndex,
4343
originalseqDbr->open(DBReader<unsigned int>::NOSORT);
4444
DBReader<unsigned int>::Index * seqIndex = originalseqDbr->getIndex();
4545

46-
unsigned int lastKey = originalseqDbr->getLastKey();
47-
keyToSet = new unsigned int[lastKey+1];
48-
std::vector<bool> keysInSeq(lastKey+1, false);
49-
std::map<unsigned int, unsigned int> setToLength;
50-
5146
std::ifstream mappingStream(seqDB + ".lookup");
5247
std::string line;
5348
unsigned int setkey = 0;
5449
unsigned int maxsetkey = 0;
50+
unsigned int maxkey = 0;
5551
while (std::getline(mappingStream, line)) {
5652
std::vector<std::string> split = Util::split(line, "\t");
5753
unsigned int key = strtoul(split[0].c_str(), NULL, 10);
5854
setkey = strtoul(split[2].c_str(), NULL, 10);
59-
keyToSet[key] = setkey;
6055
if (maxsetkey < setkey) {
6156
maxsetkey = setkey;
6257
}
58+
maxkey = key;
6359
}
60+
unsigned int lastKey = maxkey;
61+
keyToSet = new unsigned int[lastKey+1];
62+
std::vector<bool> keysInSeq(lastKey+1, false);
63+
std::map<unsigned int, unsigned int> setToLength;
64+
65+
mappingStream.close();
66+
mappingStream.open(seqDB + ".lookup");
67+
line = "";
68+
while (std::getline(mappingStream, line)) {
69+
std::vector<std::string> split = Util::split(line, "\t");
70+
unsigned int key = strtoul(split[0].c_str(), NULL, 10);
71+
setkey = strtoul(split[2].c_str(), NULL, 10);
72+
keyToSet[key] = setkey;
73+
}
74+
6475
for (size_t id = 0; id < originalseqDbr->getSize(); id++) {
6576
setToLength[keyToSet[seqIndex[id].id]] += seqIndex[id].length;
6677
keysInSeq[seqIndex[id].id] = 1;

0 commit comments

Comments
 (0)