Skip to content

Commit 78ae2c5

Browse files
Update result2msa to support clustered dbs
1 parent cfbea63 commit 78ae2c5

File tree

1 file changed

+13
-28
lines changed

1 file changed

+13
-28
lines changed

src/util/result2msa.cpp

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,35 +38,20 @@ int result2msa(int argc, const char **argv, const Command &command) {
3838
IndexReader *targetHeaderReaderIdx = NULL;
3939
const bool sameDatabase = (par.db1.compare(par.db2) == 0) ? true : false;
4040

41-
if (Parameters::isEqualDbtype(FileUtil::parseDbType(par.db2.c_str()), Parameters::DBTYPE_INDEX_DB)) {
42-
if (isCA3M == true) {
43-
Debug(Debug::ERROR) << "Cannot use result2msa with indexed target database for CA3M output\n";
44-
return EXIT_FAILURE;
45-
}
46-
uint16_t extended = DBReader<unsigned int>::getExtendedDbtype(FileUtil::parseDbType(par.db3.c_str()));
47-
bool touch = (par.preloadMode != Parameters::PRELOAD_MODE_MMAP);
48-
tDbrIdx = new IndexReader(par.db2, par.threads,
49-
extended & Parameters::DBTYPE_EXTENDED_INDEX_NEED_SRC ? IndexReader::SRC_SEQUENCES : IndexReader::SEQUENCES,
50-
(touch) ? (IndexReader::PRELOAD_INDEX | IndexReader::PRELOAD_DATA) : 0);
51-
tDbr = tDbrIdx->sequenceReader;
52-
targetHeaderReaderIdx = new IndexReader(par.db2, par.threads,
53-
extended & Parameters::DBTYPE_EXTENDED_INDEX_NEED_SRC ? IndexReader::SRC_HEADERS : IndexReader::HEADERS,
54-
(touch) ? (IndexReader::PRELOAD_INDEX | IndexReader::PRELOAD_DATA) : 0);
55-
targetHeaderReader = targetHeaderReaderIdx->sequenceReader;
56-
} else {
57-
tDbr = new DBReader<unsigned int>(par.db2.c_str(), par.db2Index.c_str(), par.threads, DBReader<unsigned int>::USE_INDEX | DBReader<unsigned int>::USE_DATA);
58-
tDbr->open(DBReader<unsigned int>::NOSORT);
59-
if (par.preloadMode != Parameters::PRELOAD_MODE_MMAP) {
60-
tDbr->readMmapedDataInMemory();
61-
}
62-
if (isCA3M == false || sameDatabase) {
63-
targetHeaderReader = new DBReader<unsigned int>(par.hdr2.c_str(), par.hdr2Index.c_str(), par.threads, DBReader<unsigned int>::USE_INDEX | DBReader<unsigned int>::USE_DATA);
64-
targetHeaderReader->open(DBReader<unsigned int>::NOSORT);
65-
if (par.preloadMode != Parameters::PRELOAD_MODE_MMAP) {
66-
targetHeaderReader->readMmapedDataInMemory();
67-
}
68-
}
41+
if (isCA3M == true) {
42+
Debug(Debug::ERROR) << "Cannot use result2msa with indexed target database for CA3M output\n";
43+
return EXIT_FAILURE;
6944
}
45+
uint16_t extended = DBReader<unsigned int>::getExtendedDbtype(FileUtil::parseDbType(par.db3.c_str()));
46+
bool touch = (par.preloadMode != Parameters::PRELOAD_MODE_MMAP);
47+
tDbrIdx = new IndexReader(par.db2, par.threads,
48+
extended & Parameters::DBTYPE_EXTENDED_INDEX_NEED_SRC ? IndexReader::SRC_SEQUENCES : IndexReader::SEQUENCES,
49+
(touch) ? (IndexReader::PRELOAD_INDEX | IndexReader::PRELOAD_DATA) : 0);
50+
tDbr = tDbrIdx->sequenceReader;
51+
targetHeaderReaderIdx = new IndexReader(par.db2, par.threads,
52+
extended & Parameters::DBTYPE_EXTENDED_INDEX_NEED_SRC ? IndexReader::SRC_HEADERS : IndexReader::HEADERS,
53+
(touch) ? (IndexReader::PRELOAD_INDEX | IndexReader::PRELOAD_DATA) : 0);
54+
targetHeaderReader = targetHeaderReaderIdx->sequenceReader;
7055

7156
DBReader<unsigned int> *qDbr = NULL;
7257
DBReader<unsigned int> *queryHeaderReader = NULL;

0 commit comments

Comments
 (0)