diff --git a/src/mkindex.cpp b/src/mkindex.cpp index 5de6b079e..566e61036 100644 --- a/src/mkindex.cpp +++ b/src/mkindex.cpp @@ -68,7 +68,21 @@ void realMain(LambdaIndexerOptions const & options); int mkindexMain(int const argc, char const ** argv) { LambdaIndexerOptions options; + +#ifdef NDEBUG + try + { + parseCommandLine(options, argc, argv); + } + catch (sharg::parser_error const & ext) // catch user errors + { + std::cerr << "\n\nERROR: during command line parsing\n" + << " \"" << ext.what() << "\"\n"; + return -1; + } +#else parseCommandLine(options, argc, argv); +#endif #ifdef NDEBUG try diff --git a/src/search.cpp b/src/search.cpp index a25e94a8c..b01b504b1 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -73,7 +73,21 @@ void realMain(LambdaOptions const & options); int searchMain(int const argc, char const ** argv) { LambdaOptions options; + +#ifdef NDEBUG + try + { + parseCommandLine(options, argc, argv); + } + catch (sharg::parser_error const & ext) // catch user errors + { + std::cerr << "\n\nERROR: during command line parsing\n" + << " \"" << ext.what() << "\"\n"; + return -1; + } +#else parseCommandLine(options, argc, argv); +#endif #ifdef _OPENMP omp_set_num_threads(options.threads - options.lazyQryFile); // reserve one thread for I/O when lazy-loading diff --git a/src/search_algo.hpp b/src/search_algo.hpp index 4f0420122..c00b2cf6e 100644 --- a/src/search_algo.hpp +++ b/src/search_algo.hpp @@ -860,7 +860,7 @@ inline void _writeRecord(TBlastRecord & record, TLocalHolder & lH) return std::tie(m1._n_sId, m1.qStart, m1.qEnd, m1.sStart, m1.sEnd, m1.qFrameShift, m1.sFrameShift) == std::tie(m2._n_sId, m2.qStart, m2.qEnd, m2.sStart, m2.sEnd, m2.qFrameShift, m2.sFrameShift); }); - lH.stats.hitsDuplicate += before - record.matches.size(); + lH.stats.hitsDuplicate2 += before - record.matches.size(); // sort by evalue before writing record.matches.sort([](auto const & m1, auto const & m2) { return m1.bitScore > m2.bitScore; }); @@ -873,6 +873,14 @@ inline void _writeRecord(TBlastRecord & record, TLocalHolder & lH) } lH.stats.hitsFinal += record.matches.size(); + /* count uniq qry-subj-pairs */ + lH.uniqSubjIds.clear(); + lH.uniqSubjIds.reserve(record.matches.size()); + for (auto const & bm : record.matches) + lH.uniqSubjIds.insert(bm._n_sId); + + lH.stats.pairs += lH.uniqSubjIds.size(); + // compute LCA if (lH.options.computeLCA) { @@ -908,32 +916,25 @@ inline void _writeRecord(TBlastRecord & record, TLocalHolder & lH) // Function computeBlastMatch() // -------------------------------------------------------------------------- -template -inline void _setupAlignInfix(TBlastMatch & bm, typename TLocalHolder::TMatch const & m, TLocalHolder & lH) +template +inline void _widenMatch(Match & m, TLocalHolder const & lH) { - int64_t startMod = (int64_t)m.subjStart - (int64_t)m.qryStart; + // move sStart as far left as needed to cover the part of query before qryStart + m.subjStart = (m.subjStart < m.qryStart) ? 0 : m.subjStart - m.qryStart; - bm.qEnd = lH.transQrySeqs[m.qryId].size(); - decltype(bm.qEnd) band = _bandSize(bm.qEnd); - if (startMod >= 0) - { - bm.sStart = startMod; - bm.qStart = 0; - } - else - { - bm.sStart = 0; - bm.qStart = -startMod; - } - bm.sEnd = std::min(bm.sStart + bm.qEnd - bm.qStart + band, lH.gH.transSbjSeqs[m.subjId].size()); + /* always align full query independent of hit-region */ + m.qryStart = 0; + m.qryEnd = lH.transQrySeqs[m.qryId].size(); - if (bm.sStart >= band) - bm.sStart -= band; - else - bm.sStart = 0; + // there is no band in computation but this value extends begin and end of Subj to account for gaps + uint64_t band = _bandSize(lH.transQrySeqs[m.qryId].size()); + + // end on subject is beginning plus full query length plus band + m.subjEnd = + std::min(m.subjStart + lH.transQrySeqs[m.qryId].size() + band, lH.gH.transSbjSeqs[m.subjId].size()); - seqan::assignSource(bm.alignRow0, lH.transQrySeqs[m.qryId] | bio::views::slice(bm.qStart, bm.qEnd)); - seqan::assignSource(bm.alignRow1, lH.gH.transSbjSeqs[m.subjId] | bio::views::slice(bm.sStart, bm.sEnd)); + // account for band in subj start + m.subjStart = (band < m.subjStart) ? m.subjStart - band : 0; } template @@ -1133,7 +1134,48 @@ inline void _performAlignment(TDepSetH & depSetH, } template -inline void iterateMatchesFullSimd(TLocalHolder & lH, bsDirection const dir = bsDirection::fwd) +inline void _widenAndPreprocessMatches(std::span & matches, TLocalHolder & lH) +{ + auto before = matches.size(); + + for (Match & m : matches) + _widenMatch(m, lH); + + std::ranges::sort(matches); + + if (matches.size() > 1) + { + // pairwise merge from left to right + for (auto it = matches.begin(); it < matches.end() - 1; ++it) + { + Match & l = *it; + Match & r = *(it + 1); + if ((std::tie(l.qryId, l.subjId) == std::tie(r.qryId, r.subjId)) && (l.subjEnd >= r.subjStart)) + { + l.subjEnd = r.subjEnd; + r.subjStart = l.subjStart; + } + } + + // pairwise "swallow" from right to left + for (auto it = matches.rbegin(); it < matches.rend() - 1; ++it) + { + Match & r = *it; + Match & l = *(it + 1); + if ((std::tie(r.qryId, r.subjId) == std::tie(l.qryId, l.subjId)) && (r.subjStart < l.subjEnd)) + { + l = r; + } + } + + auto [new_end, old_end] = std::ranges::unique(matches); // move non-uniq to the end + matches = std::span{matches.begin(), new_end}; // "resize" of the span + lH.stats.hitsDuplicate += (before - matches.size()); + } +} + +template +inline void iterateMatchesFullSimd(std::span lambdaMatches, TLocalHolder & lH, bsDirection const dir) { using TGlobalHolder = typename TLocalHolder::TGlobalHolder; using TBlastMatch = typename TLocalHolder::TBlastMatch; @@ -1143,7 +1185,7 @@ inline void iterateMatchesFullSimd(TLocalHolder & lH, bsDirection const dir = bs // statistics #ifdef LAMBDA_MICRO_STATS ++lH.stats.numQueryWithExt; - lH.stats.numExtScore += seqan::length(lH.matches); + lH.stats.numExtScore += seqan::length(lambdaMatches); double start = sysTime(); #endif @@ -1152,58 +1194,37 @@ inline void iterateMatchesFullSimd(TLocalHolder & lH, bsDirection const dir = bs seqan::StringSet::Type> depSetH; seqan::StringSet::Type> depSetV; - // create blast matches + // pre-sort and filter + _widenAndPreprocessMatches(lambdaMatches, lH); + + // create blast matches from Lambda matches std::list blastMatches; - for (auto it = lH.matches.begin(), itEnd = lH.matches.end(); it != itEnd; ++it) + for (Match const & m : lambdaMatches) { - // In BS-mode, skip those results that have wrong orientation - if constexpr (TLocalHolder::TGlobalHolder::c_redAlph == AlphabetEnum::DNA3BS) - { - if ((dir == bsDirection::fwd && (it->subjId % 2)) || (dir == bsDirection::rev && !(it->subjId % 2))) - continue; - } // create blastmatch in list without copy or move - blastMatches.emplace_back(lH.qryIds[it->qryId / TGlobalHolder::qryNumFrames], - const_gH.indexFile.ids[it->subjId / TGlobalHolder::sbjNumFrames]); + blastMatches.emplace_back(lH.qryIds[m.qryId / TGlobalHolder::qryNumFrames], + const_gH.indexFile.ids[m.subjId / TGlobalHolder::sbjNumFrames]); TBlastMatch & bm = blastMatches.back(); - bm._n_qId = it->qryId / TGlobalHolder::qryNumFrames; - bm._n_sId = it->subjId / TGlobalHolder::sbjNumFrames; + bm._n_qId = m.qryId / TGlobalHolder::qryNumFrames; + bm._n_sId = m.subjId / TGlobalHolder::sbjNumFrames; - bm.qLength = //std::ranges::size(lH.transQrySeqs[it->qryId]); - std::ranges::size(lH.qrySeqs[bm._n_qId]); + bm.qLength = std::ranges::size(lH.qrySeqs[bm._n_qId]); + bm.sLength = std::ranges::size(lH.gH.indexFile.seqs[bm._n_sId]); - bm.sLength = // std::ranges::size(lH.gH.transSbjSeqs[it->subjId]); - std::ranges::size(lH.gH.indexFile.seqs[bm._n_sId]); + bm.qStart = m.qryStart; + bm.qEnd = m.qryEnd; + bm.sStart = m.subjStart; + bm.sEnd = m.subjEnd; + seqan::assignSource(bm.alignRow0, lH.transQrySeqs[m.qryId] | bio::views::slice(bm.qStart, bm.qEnd)); + seqan::assignSource(bm.alignRow1, lH.gH.transSbjSeqs[m.subjId] | bio::views::slice(bm.sStart, bm.sEnd)); - _setupAlignInfix(bm, *it, lH); - - _setFrames(bm, *it, lH); + _setFrames(bm, m, lH); if (lH.options.hasSTaxIds) bm.sTaxIds = lH.gH.indexFile.sTaxIds[bm._n_sId]; } -#ifdef LAMBDA_MICRO_STATS - lH.stats.timeExtend += sysTime() - start; - - // filter out duplicates - start = sysTime(); -#endif - auto before = seqan::length(blastMatches); - blastMatches.sort( - [](auto const & l, auto const & r) - { - return std::tie(l._n_qId, l._n_sId, l.sStart, l.sEnd, l.qStart, l.qEnd, l.qFrameShift, l.sFrameShift) < - std::tie(r._n_qId, r._n_sId, r.sStart, r.sEnd, r.qStart, r.qEnd, r.qFrameShift, r.sFrameShift); - }); - blastMatches.unique( - [](auto const & l, auto const & r) - { - return std::tie(l._n_qId, l._n_sId, l.sStart, l.sEnd, l.qStart, l.qEnd, l.qFrameShift, l.sFrameShift) == - std::tie(r._n_qId, r._n_sId, r.sStart, r.sEnd, r.qStart, r.qEnd, r.qFrameShift, r.sFrameShift); - }); - lH.stats.hitsDuplicate += (before - seqan::length(blastMatches)); // sort by lengths to minimize padding in SIMD blastMatches.sort( @@ -1217,6 +1238,7 @@ inline void iterateMatchesFullSimd(TLocalHolder & lH, bsDirection const dir = bs start = sysTime(); #endif + // fill batches _setupDepSets(depSetH, depSetV, blastMatches); @@ -1342,12 +1364,24 @@ inline void writeRecords(TLocalHolder & lH) template inline void iterateMatches(TLocalHolder & lH) { - iterateMatchesFullSimd(lH, bsDirection::fwd); if constexpr (TLocalHolder::TGlobalHolder::c_redAlph == AlphabetEnum::DNA3BS) { - iterateMatchesFullSimd(lH, bsDirection::rev); + std::ranges::sort(lH.matches, + [](Match const & l, Match const & r) { + return std::tuple{l.subjId % 2, l} < + std::tuple{r.subjId % 2, r}; + }); + + auto it = std::ranges::find_if(lH.matches, [](Match const & m) { return m.subjId % 2; }); + + iterateMatchesFullSimd(std::span{lH.matches.begin(), it}, lH, bsDirection::fwd); + iterateMatchesFullSimd(std::span{it, lH.matches.end()}, lH, bsDirection::rev); lH.blastMatches.sort([](auto const & lhs, auto const & rhs) { return lhs._n_qId < rhs._n_qId; }); } + else + { + iterateMatchesFullSimd(lH.matches, lH, bsDirection::fwd); + } } //----------------------------------------------------------------------- diff --git a/src/search_datastructures.hpp b/src/search_datastructures.hpp index a9f41b175..f606d95e3 100644 --- a/src/search_datastructures.hpp +++ b/src/search_datastructures.hpp @@ -57,16 +57,7 @@ struct Match TPos subjStart; TPos subjEnd; - inline bool operator==(Match const & m2) const - { - return std::tie(qryId, subjId, qryStart, subjStart, qryEnd, subjEnd) == - std::tie(m2.qryId, m2.subjId, m2.qryStart, m2.subjStart, m2.qryEnd, m2.subjEnd); - } - inline bool operator<(Match const & m2) const - { - return std::tie(qryId, subjId, qryStart, subjStart, qryEnd, subjEnd) < - std::tie(m2.qryId, m2.subjId, m2.qryStart, m2.subjStart, m2.qryEnd, m2.subjEnd); - } + constexpr friend auto operator<=>(Match const &, Match const &) = default; }; // template @@ -117,10 +108,12 @@ struct StatsHolder uint64_t hitsFailedExtendEValueTest; uint64_t hitsAbundant; uint64_t hitsDuplicate; + uint64_t hitsDuplicate2; // final uint64_t hitsFinal; uint64_t qrysWithHit; + uint64_t pairs; #ifdef LAMBDA_MICRO_STATS // times @@ -155,9 +148,11 @@ struct StatsHolder hitsFailedExtendEValueTest = 0; hitsAbundant = 0; hitsDuplicate = 0; + hitsDuplicate2 = 0; hitsFinal = 0; qrysWithHit = 0; + pairs = 0; #ifdef LAMBDA_MICRO_STATS seedLengths.clear(); @@ -187,9 +182,11 @@ struct StatsHolder hitsFailedExtendEValueTest += rhs.hitsFailedExtendEValueTest; hitsAbundant += rhs.hitsAbundant; hitsDuplicate += rhs.hitsDuplicate; + hitsDuplicate2 += rhs.hitsDuplicate2; hitsFinal += rhs.hitsFinal; qrysWithHit += rhs.qrysWithHit; + pairs += rhs.pairs; #ifdef LAMBDA_MICRO_STATS seqan::append(seedLengths, rhs.seedLengths); @@ -248,6 +245,8 @@ void printStats(StatsHolder const & stats, LambdaOptions const & options) std::cout << "\n - failed %-identity test " << R << stats.hitsFailedExtendPercentIdentTest << RR << (rem -= stats.hitsFailedExtendPercentIdentTest); std::cout << "\n - duplicates " << R << stats.hitsDuplicate << RR << (rem -= stats.hitsDuplicate); + std::cout << "\n - late duplicates " << R << stats.hitsDuplicate2 << RR + << (rem -= stats.hitsDuplicate2); std::cout << "\n - abundant " << R << stats.hitsAbundant << "\033[1m" << RR << (rem -= stats.hitsAbundant) << "\033[0m\n\n"; @@ -289,7 +288,8 @@ void printStats(StatsHolder const & stats, LambdaOptions const & options) if (options.verbosity >= 1) { auto const w = seqan::_numberOfDigits(stats.hitsFinal); - std::cout << "Number of valid hits: " << std::setw(w) << stats.hitsFinal + std::cout << "Number of total hits: " << std::setw(w) << stats.hitsFinal + << "\nNumber of Query-Subject pairs: " << std::setw(w) << stats.pairs << "\nNumber of Queries with at least one valid hit: " << std::setw(w) << stats.qrysWithHit << "\n"; } } @@ -481,7 +481,8 @@ class LocalDataHolder std::vector, // not used std::string_view, uint32_t>; - std::list blastMatches; + std::list blastMatches; + std::unordered_set uniqSubjIds; // regarding the gathering of stats StatsHolder stats{}; diff --git a/src/search_misc.hpp b/src/search_misc.hpp index cab461146..d0d92dfeb 100644 --- a/src/search_misc.hpp +++ b/src/search_misc.hpp @@ -43,10 +43,10 @@ struct QueryException : public std::runtime_error // Alignment-related // ============================================================================ -inline int _bandSize(uint64_t const seqLength) +inline int64_t _bandSize(uint64_t const seqLength) { // Currently only used for padding of the subject sequences - return 63ull - std::countl_zero(std::bit_ceil(seqLength)); + return static_cast(std::sqrt(seqLength)) + 1; } // ---------------------------------------------------------------------------- diff --git a/src/search_options.hpp b/src/search_options.hpp index 50a9dbcf3..5b0835f34 100644 --- a/src/search_options.hpp +++ b/src/search_options.hpp @@ -397,13 +397,13 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv) }); #endif - parser.add_option(options.profile, - sharg::config{ - .short_id = 'p', - .long_id = "profile", - .description = "Profiles are presets of a group of parameters. See below.", - - .validator = sharg::value_list_validator{"none", "fast", "sensitive"} + parser.add_option( + options.profile, + sharg::config{ + .short_id = 'p', + .long_id = "profile", + .description = "Profiles are presets of a group of parameters. See below.", + .validator = sharg::value_list_validator{"none", "fast", "sensitive", "pairs-default", "pairs-sensitive"} }); parser.add_section("Seeding / Filtration"); @@ -573,20 +573,41 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv) "--seed-length0 9 --seed-offset0 4 --seed-length 8 --seed-offset 3 --pre-scoring 3 " "--pre-scoring-threshold 1.9", true); + parser.add_line("\"pairs-default\"", false); + parser.add_line("--search0 OFF --seed-length 8 --seed-offset 3 --pre-scoring 3 --pre-scoring-threshold 1.9", + true); + parser.add_line("\"pairs-sensitive\"", false); + parser.add_line("--search0 OFF --seed-length 7 --seed-offset 3 --pre-scoring 3 --pre-scoring-threshold 1.9", + true); break; case domain_t::nucleotide: parser.add_line("\"fast\"", false); - parser.add_line("--seed-length 14 --seed-offset 9 --seed-delta 0", true); + parser.add_line("--search0 OFF --seed-length 14 --seed-offset 9 --seed-delta 0", true); parser.add_line("\"sensitive\"", false); parser.add_line("--seed-length0 14 --seed-offset0 3 --seed-length 14 --seed-offset 3", true); + parser.add_line("\"pairs-default\"", false); + parser.add_line("--search0 OFF --seed-length 14 --seed-offset 3", true); + parser.add_line("\"pairs-sensitive\"", false); + parser.add_line("--search0 OFF --seed-length 13 --seed-offset 3", true); break; case domain_t::bisulfite: parser.add_line("\"fast\"", false); - parser.add_line("--seed-length 17 --seed-offset 10 --seed-delta 0", true); + parser.add_line("--search0 OFF --seed-length 17 --seed-offset 10 --seed-delta 0", true); parser.add_line("\"sensitive\"", false); parser.add_line("--seed-length0 16 --seed-offset0 8 --seed-length 15 --seed-offset 10", true); + parser.add_line("\"pairs-default\"", false); + parser.add_line("--search0 OFF --seed-length 15 --seed-offset 10", true); + parser.add_line("\"pairs-sensitive\"", false); + parser.add_line("--search0 OFF --seed-length 14 --seed-offset 10", true); break; } + + parser.add_line( + "The \"pairs\" profiles are for use in combination with higher --num-matches. " + "They are based on the sensitive profile but in addition to increasing the number of query-" + "sequences-with-one-or-more-hits, they also increase the number of qry-subj-pairs, i.e. the " + "number of hits per query.", + false); parser.add_line("For further information see the wiki: ", false); // parse command line. @@ -628,7 +649,7 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv) options.searchOpts.maxSeedDist = 0; } } - else if (options.profile == "sensitive") + else if ((options.profile == "sensitive") || options.profile.starts_with("pairs")) { switch (options.domain) { @@ -652,6 +673,12 @@ void parseCommandLine(LambdaOptions & options, int argc, char const ** argv) options.searchOpts.seedOffset = 10; break; } + + if (options.profile.starts_with("pairs")) + options.iterativeSearch = false; + + if (options.profile == "pairs-sensitive") + --options.searchOpts.seedLength; } // set output file format diff --git a/test/cli/CMakeLists.txt b/test/cli/CMakeLists.txt index db821ce16..965c36021 100644 --- a/test/cli/CMakeLists.txt +++ b/test/cli/CMakeLists.txt @@ -73,4 +73,28 @@ target_use_datasources (search_test FILES db_nucl.fasta.gz output_tblastn_fm_sensitive.m8 output_tblastn_fm_sensitive.sam output_tblastx_fm_sensitive.m8 - output_tblastx_fm_sensitive.sam) + output_tblastx_fm_sensitive.sam + output_blastn_bs_fm_pairs_default.m8 + output_blastn_bs_fm_pairs_default.sam + output_blastn_fm_pairs_default.m8 + output_blastn_fm_pairs_default.sam + output_blastp_fm_pairs_default.m8 + output_blastp_fm_pairs_default.sam + output_blastx_fm_pairs_default.m8 + output_blastx_fm_pairs_default.sam + output_tblastn_fm_pairs_default.m8 + output_tblastn_fm_pairs_default.sam + output_tblastx_fm_pairs_default.m8 + output_tblastx_fm_pairs_default.sam + output_blastn_bs_fm_pairs_sensitive.m8 + output_blastn_bs_fm_pairs_sensitive.sam + output_blastn_fm_pairs_sensitive.m8 + output_blastn_fm_pairs_sensitive.sam + output_blastp_fm_pairs_sensitive.m8 + output_blastp_fm_pairs_sensitive.sam + output_blastx_fm_pairs_sensitive.m8 + output_blastx_fm_pairs_sensitive.sam + output_tblastn_fm_pairs_sensitive.m8 + output_tblastn_fm_pairs_sensitive.sam + output_tblastx_fm_pairs_sensitive.m8 + output_tblastx_fm_pairs_sensitive.sam) diff --git a/test/cli/search_test.cpp b/test/cli/search_test.cpp index 35beef929..9af95afb1 100644 --- a/test/cli/search_test.cpp +++ b/test/cli/search_test.cpp @@ -170,37 +170,37 @@ TEST_F(search_test, searchbs_no_options) TEST_F(search_test, blastn_fm_m0) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "none", "output_blastn_fm_test.m0", "m0", "output_blastn_fm.m0"); + "queries_nucl.fasta.gz", "none", "output_blastn_fm.m0", "m0", "output_blastn_fm.m0"); } TEST_F(search_test, blastn_fm_m8) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "none", "output_blastn_fm_test.m8", "m8", "output_blastn_fm.m8"); + "queries_nucl.fasta.gz", "none", "output_blastn_fm.m8", "m8", "output_blastn_fm.m8"); } TEST_F(search_test, blastn_fm_m9) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "none", "output_blastn_fm_test.m9", "m9", "output_blastn_fm.m9"); + "queries_nucl.fasta.gz", "none", "output_blastn_fm.m9", "m9", "output_blastn_fm.m9"); } TEST_F(search_test, blastn_fm_m9_gz) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "none", "output_blastn_fm_test.m9.gz", "m9_gz", "output_blastn_fm.m9"); + "queries_nucl.fasta.gz", "none", "output_blastn_fm.m9.gz", "m9_gz", "output_blastn_fm.m9"); } TEST_F(search_test, blastn_fm_sam) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "none", "output_blastn_fm_test.sam", "sam", "output_blastn_fm.sam"); + "queries_nucl.fasta.gz", "none", "output_blastn_fm.sam", "sam", "output_blastn_fm.sam"); } TEST_F(search_test, blastn_fm_bam) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "none", "output_blastn_fm_test.bam", "bam", "output_blastn_fm.bam"); + "queries_nucl.fasta.gz", "none", "output_blastn_fm.bam", "bam", "output_blastn_fm.bam"); } // BLASTN bisulfite mode @@ -208,37 +208,37 @@ TEST_F(search_test, blastn_fm_bam) TEST_F(search_test, blastn_bs_fm_m0) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm_test.m0", "m0", "output_blastn_bs_fm.m0"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm.m0", "m0", "output_blastn_bs_fm.m0"); } TEST_F(search_test, blastn_bs_fm_m8) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm_test.m8", "m8", "output_blastn_bs_fm.m8"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm.m8", "m8", "output_blastn_bs_fm.m8"); } TEST_F(search_test, blastn_bs_fm_m9) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm_test.m9", "m9", "output_blastn_bs_fm.m9"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm.m9", "m9", "output_blastn_bs_fm.m9"); } TEST_F(search_test, blastn_bs_fm_m9_gz) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm_test.m9.gz", "m9_gz", "output_blastn_bs_fm.m9"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm.m9.gz", "m9_gz", "output_blastn_bs_fm.m9"); } TEST_F(search_test, blastn_bs_fm_sam) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm_test.sam", "sam", "output_blastn_bs_fm.sam"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm.sam", "sam", "output_blastn_bs_fm.sam"); } TEST_F(search_test, blastn_bs_fm_bam) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm_test.bam", "bam", "output_blastn_bs_fm.bam"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_fm.bam", "bam", "output_blastn_bs_fm.bam"); } // BLASTP @@ -246,37 +246,37 @@ TEST_F(search_test, blastn_bs_fm_bam) TEST_F(search_test, blastp_fm_m0) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_fm_test.m0", "m0", "output_blastp_fm.m0"); + "queries_prot.fasta.gz", "none", "output_blastp_fm.m0", "m0", "output_blastp_fm.m0"); } TEST_F(search_test, blastp_fm_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_fm_test.m8", "m8", "output_blastp_fm.m8"); + "queries_prot.fasta.gz", "none", "output_blastp_fm.m8", "m8", "output_blastp_fm.m8"); } TEST_F(search_test, blastp_fm_m9) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_fm_test.m9", "m9", "output_blastp_fm.m9"); + "queries_prot.fasta.gz", "none", "output_blastp_fm.m9", "m9", "output_blastp_fm.m9"); } TEST_F(search_test, blastp_fm_m9_gz) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_fm_test.m9.gz", "m9_gz", "output_blastp_fm.m9"); + "queries_prot.fasta.gz", "none", "output_blastp_fm.m9.gz", "m9_gz", "output_blastp_fm.m9"); } TEST_F(search_test, blastp_fm_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_fm_test.sam", "sam", "output_blastp_fm.sam"); + "queries_prot.fasta.gz", "none", "output_blastp_fm.sam", "sam", "output_blastp_fm.sam"); } TEST_F(search_test, blastp_fm_bam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_fm_test.bam", "bam", "output_blastp_fm.bam"); + "queries_prot.fasta.gz", "none", "output_blastp_fm.bam", "bam", "output_blastp_fm.bam"); } // BLASTX @@ -284,37 +284,37 @@ TEST_F(search_test, blastp_fm_bam) TEST_F(search_test, blastx_fm_m0) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_test.m0", "m0", "output_blastx_fm.m0"); + "queries_nucl.fasta.gz", "none", "output_blastx_fm.m0", "m0", "output_blastx_fm.m0"); } TEST_F(search_test, blastx_fm_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_test.m8", "m8", "output_blastx_fm.m8"); + "queries_nucl.fasta.gz", "none", "output_blastx_fm.m8", "m8", "output_blastx_fm.m8"); } TEST_F(search_test, blastx_fm_m9) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_test.m9", "m9", "output_blastx_fm.m9"); + "queries_nucl.fasta.gz", "none", "output_blastx_fm.m9", "m9", "output_blastx_fm.m9"); } TEST_F(search_test, blastx_fm_m9_gz) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_test.m9.gz", "m9_gz", "output_blastx_fm.m9"); + "queries_nucl.fasta.gz", "none", "output_blastx_fm.m9.gz", "m9_gz", "output_blastx_fm.m9"); } TEST_F(search_test, blastx_fm_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_test.sam", "sam", "output_blastx_fm.sam"); + "queries_nucl.fasta.gz", "none", "output_blastx_fm.sam", "sam", "output_blastx_fm.sam"); } TEST_F(search_test, blastx_fm_bam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_test.bam", "bam", "output_blastx_fm.bam"); + "queries_nucl.fasta.gz", "none", "output_blastx_fm.bam", "bam", "output_blastx_fm.bam"); } // TBLASTN @@ -322,37 +322,37 @@ TEST_F(search_test, blastx_fm_bam) TEST_F(search_test, tblastn_fm_m0) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_fm_test.m0", "m0", "output_tblastn_fm.m0"); + "queries_prot.fasta.gz", "none", "output_tblastn_fm.m0", "m0", "output_tblastn_fm.m0"); } TEST_F(search_test, tblastn_fm_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_fm_test.m8", "m8", "output_tblastn_fm.m8"); + "queries_prot.fasta.gz", "none", "output_tblastn_fm.m8", "m8", "output_tblastn_fm.m8"); } TEST_F(search_test, tblastn_fm_m9) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_fm_test.m9", "m9", "output_tblastn_fm.m9"); + "queries_prot.fasta.gz", "none", "output_tblastn_fm.m9", "m9", "output_tblastn_fm.m9"); } TEST_F(search_test, tblastn_fm_m9_gz) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_fm_test.m9.gz", "m9_gz", "output_tblastn_fm.m9"); + "queries_prot.fasta.gz", "none", "output_tblastn_fm.m9.gz", "m9_gz", "output_tblastn_fm.m9"); } TEST_F(search_test, tblastn_fm_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_fm_test.sam", "sam", "output_tblastn_fm.sam"); + "queries_prot.fasta.gz", "none", "output_tblastn_fm.sam", "sam", "output_tblastn_fm.sam"); } TEST_F(search_test, tblastn_fm_bam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_fm_test.bam", "bam", "output_tblastn_fm.bam"); + "queries_prot.fasta.gz", "none", "output_tblastn_fm.bam", "bam", "output_tblastn_fm.bam"); } // TBLASTX @@ -360,37 +360,37 @@ TEST_F(search_test, tblastn_fm_bam) TEST_F(search_test, tblastx_fm_m0) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_fm_test.m0", "m0", "output_tblastx_fm.m0"); + "queries_nucl.fasta.gz", "none", "output_tblastx_fm.m0", "m0", "output_tblastx_fm.m0"); } TEST_F(search_test, tblastx_fm_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_fm_test.m8", "m8", "output_tblastx_fm.m8"); + "queries_nucl.fasta.gz", "none", "output_tblastx_fm.m8", "m8", "output_tblastx_fm.m8"); } TEST_F(search_test, tblastx_fm_m9) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_fm_test.m9", "m9", "output_tblastx_fm.m9"); + "queries_nucl.fasta.gz", "none", "output_tblastx_fm.m9", "m9", "output_tblastx_fm.m9"); } TEST_F(search_test, tblastx_fm_m9_gz) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_fm_test.m9.gz", "m9_gz", "output_tblastx_fm.m9"); + "queries_nucl.fasta.gz", "none", "output_tblastx_fm.m9.gz", "m9_gz", "output_tblastx_fm.m9"); } TEST_F(search_test, tblastx_fm_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_fm_test.sam", "sam", "output_tblastx_fm.sam"); + "queries_nucl.fasta.gz", "none", "output_tblastx_fm.sam", "sam", "output_tblastx_fm.sam"); } TEST_F(search_test, tblastx_fm_bam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_fm_test.bam", "bam", "output_tblastx_fm.bam"); + "queries_nucl.fasta.gz", "none", "output_tblastx_fm.bam", "bam", "output_tblastx_fm.bam"); } // Search with bi-directional index @@ -400,73 +400,73 @@ TEST_F(search_test, tblastx_fm_bam) // TEST_F(search_test, blastn_bifm_m8) // { // run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_bifm.fasta.gz.lba", "bifm", "", "searchn", -// "queries_nucl.fasta.gz", "none", "output_blastn_bifm_test.m8", "m8", "output_blastn_fm.m8"); +// "queries_nucl.fasta.gz", "none", "output_blastn_bifm.m8", "m8", "output_blastn_fm.m8"); // } // // TEST_F(search_test, blastn_bifm_sam) // { // run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_bifm.fasta.gz.lba", "bifm", "", "searchn", -// "queries_nucl.fasta.gz", "none", "output_blastn_bifm_test.sam", "sam", "output_blastn_fm.sam"); +// "queries_nucl.fasta.gz", "none", "output_blastn_bifm.sam", "sam", "output_blastn_fm.sam"); // } TEST_F(search_test, blastn_bs_bifm_m8) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_bifm.fasta.gz.lba", "bifm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_bifm_test.m8", "m8", "output_blastn_bs_fm.m8"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_bifm.m8", "m8", "output_blastn_bs_fm.m8"); } TEST_F(search_test, blastn_bs_bifm_sam) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_bifm.fasta.gz.lba", "bifm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_bifm_test.sam", "sam", "output_blastn_bs_fm.sam"); + "queries_nucl_bs.fasta.gz", "none", "output_blastn_bs_bifm.sam", "sam", "output_blastn_bs_fm.sam"); } TEST_F(search_test, blastp_bifm_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_bifm_test.m8", "m8", "output_blastp_fm.m8"); + "queries_prot.fasta.gz", "none", "output_blastp_bifm.m8", "m8", "output_blastp_fm.m8"); } TEST_F(search_test, blastp_bifm_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_blastp_bifm_test.sam", "sam", "output_blastp_fm.sam"); + "queries_prot.fasta.gz", "none", "output_blastp_bifm.sam", "sam", "output_blastp_fm.sam"); } TEST_F(search_test, blastx_bifm_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_bifm_test.m8", "m8", "output_blastx_fm.m8"); + "queries_nucl.fasta.gz", "none", "output_blastx_bifm.m8", "m8", "output_blastx_fm.m8"); } TEST_F(search_test, blastx_bifm_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_bifm_test.sam", "sam", "output_blastx_fm.sam"); + "queries_nucl.fasta.gz", "none", "output_blastx_bifm.sam", "sam", "output_blastx_fm.sam"); } TEST_F(search_test, tblastn_bifm_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_bifm_test.m8", "m8", "output_tblastn_fm.m8"); + "queries_prot.fasta.gz", "none", "output_tblastn_bifm.m8", "m8", "output_tblastn_fm.m8"); } TEST_F(search_test, tblastn_bifm_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_prot.fasta.gz", "none", "output_tblastn_bifm_test.sam", "sam", "output_tblastn_fm.sam"); + "queries_prot.fasta.gz", "none", "output_tblastn_bifm.sam", "sam", "output_tblastn_fm.sam"); } TEST_F(search_test, tblastx_bifm_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_bifm_test.m8", "m8", "output_tblastx_fm.m8"); + "queries_nucl.fasta.gz", "none", "output_tblastx_bifm.m8", "m8", "output_tblastx_fm.m8"); } TEST_F(search_test, tblastx_bifm_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_bifm.fasta.gz.lba", "bifm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_tblastx_bifm_test.sam", "sam", "output_tblastx_fm.sam"); + "queries_nucl.fasta.gz", "none", "output_tblastx_bifm.sam", "sam", "output_tblastx_fm.sam"); } #endif @@ -476,73 +476,73 @@ TEST_F(search_test, tblastx_bifm_sam) TEST_F(search_test, blastn_fm_fast_m8) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "fast", "output_blastn_fm_fast_test.m8", "m8", "output_blastn_fm_fast.m8"); + "queries_nucl.fasta.gz", "fast", "output_blastn_fm_fast.m8", "m8", "output_blastn_fm_fast.m8"); } TEST_F(search_test, blastn_fm_fast_sam) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "fast", "output_blastn_fm_fast_test.sam", "sam", "output_blastn_fm_fast.sam"); + "queries_nucl.fasta.gz", "fast", "output_blastn_fm_fast.sam", "sam", "output_blastn_fm_fast.sam"); } TEST_F(search_test, blastn_bs_fm_fast_m8) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "fast", "output_blastn_bs_fm_fast_test.m8", "m8", "output_blastn_bs_fm_fast.m8"); + "queries_nucl_bs.fasta.gz", "fast", "output_blastn_bs_fm_fast.m8", "m8", "output_blastn_bs_fm_fast.m8"); } TEST_F(search_test, blastn_bs_fm_fast_sam) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "fast", "output_blastn_bs_fm_fast_test.sam", "sam", "output_blastn_bs_fm_fast.sam"); + "queries_nucl_bs.fasta.gz", "fast", "output_blastn_bs_fm_fast.sam", "sam", "output_blastn_bs_fm_fast.sam"); } TEST_F(search_test, blastp_fm_fast_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "fast", "output_blastp_fm_fast_test.m8", "m8", "output_blastp_fm_fast.m8"); + "queries_prot.fasta.gz", "fast", "output_blastp_fm_fast.m8", "m8", "output_blastp_fm_fast.m8"); } TEST_F(search_test, blastp_fm_fast_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "fast", "output_blastp_fm_fast_test.sam", "sam", "output_blastp_fm_fast.sam"); + "queries_prot.fasta.gz", "fast", "output_blastp_fm_fast.sam", "sam", "output_blastp_fm_fast.sam"); } TEST_F(search_test, blastx_fm_fast_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "fast", "output_blastx_fm_fast_test.m8", "m8", "output_blastx_fm_fast.m8"); + "queries_nucl.fasta.gz", "fast", "output_blastx_fm_fast.m8", "m8", "output_blastx_fm_fast.m8"); } TEST_F(search_test, blastx_fm_fast_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "fast", "output_blastx_fm_fast_test.sam", "sam", "output_blastx_fm_fast.sam"); + "queries_nucl.fasta.gz", "fast", "output_blastx_fm_fast.sam", "sam", "output_blastx_fm_fast.sam"); } TEST_F(search_test, tblastn_fm_fast_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "fast", "output_tblastn_fm_fast_test.m8", "m8", "output_tblastn_fm_fast.m8"); + "queries_prot.fasta.gz", "fast", "output_tblastn_fm_fast.m8", "m8", "output_tblastn_fm_fast.m8"); } TEST_F(search_test, tblastn_fm_fast_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "fast", "output_tblastn_fm_fast_test.sam", "sam", "output_tblastn_fm_fast.sam"); + "queries_prot.fasta.gz", "fast", "output_tblastn_fm_fast.sam", "sam", "output_tblastn_fm_fast.sam"); } TEST_F(search_test, tblastx_fm_fast_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "fast", "output_tblastx_fm_fast_test.m8", "m8", "output_tblastx_fm_fast.m8"); + "queries_nucl.fasta.gz", "fast", "output_tblastx_fm_fast.m8", "m8", "output_tblastx_fm_fast.m8"); } TEST_F(search_test, tblastx_fm_fast_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "fast", "output_tblastx_fm_fast_test.sam", "sam", "output_tblastx_fm_fast.sam"); + "queries_nucl.fasta.gz", "fast", "output_tblastx_fm_fast.sam", "sam", "output_tblastx_fm_fast.sam"); } // Sensitive mode @@ -550,73 +550,221 @@ TEST_F(search_test, tblastx_fm_fast_sam) TEST_F(search_test, blastn_fm_sensitive_m8) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "sensitive", "output_blastn_fm_sensitive_test.m8", "m8", "output_blastn_fm_sensitive.m8"); + "queries_nucl.fasta.gz", "sensitive", "output_blastn_fm_sensitive.m8", "m8", "output_blastn_fm_sensitive.m8"); } TEST_F(search_test, blastn_fm_sensitive_sam) { run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", - "queries_nucl.fasta.gz", "sensitive", "output_blastn_fm_sensitive_test.sam", "sam", "output_blastn_fm_sensitive.sam"); + "queries_nucl.fasta.gz", "sensitive", "output_blastn_fm_sensitive.sam", "sam", "output_blastn_fm_sensitive.sam"); } TEST_F(search_test, blastn_bs_fm_sensitive_m8) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "sensitive", "output_blastn_bs_fm_sensitive_test.m8", "m8", "output_blastn_bs_fm_sensitive.m8"); + "queries_nucl_bs.fasta.gz", "sensitive", "output_blastn_bs_fm_sensitive.m8", "m8", "output_blastn_bs_fm_sensitive.m8"); } TEST_F(search_test, blastn_bs_fm_sensitive_sam) { run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", - "queries_nucl_bs.fasta.gz", "sensitive", "output_blastn_bs_fm_sensitive_test.sam", "sam", "output_blastn_bs_fm_sensitive.sam"); + "queries_nucl_bs.fasta.gz", "sensitive", "output_blastn_bs_fm_sensitive.sam", "sam", "output_blastn_bs_fm_sensitive.sam"); } TEST_F(search_test, blastp_fm_sensitive_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "sensitive", "output_blastp_fm_sensitive_test.m8", "m8", "output_blastp_fm_sensitive.m8"); + "queries_prot.fasta.gz", "sensitive", "output_blastp_fm_sensitive.m8", "m8", "output_blastp_fm_sensitive.m8"); } TEST_F(search_test, blastp_fm_sensitive_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "sensitive", "output_blastp_fm_sensitive_test.sam", "sam", "output_blastp_fm_sensitive.sam"); + "queries_prot.fasta.gz", "sensitive", "output_blastp_fm_sensitive.sam", "sam", "output_blastp_fm_sensitive.sam"); } TEST_F(search_test, blastx_fm_sensitive_m8) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "sensitive", "output_blastx_fm_sensitive_test.m8", "m8", "output_blastx_fm_sensitive.m8"); + "queries_nucl.fasta.gz", "sensitive", "output_blastx_fm_sensitive.m8", "m8", "output_blastx_fm_sensitive.m8"); } TEST_F(search_test, blastx_fm_sensitive_sam) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "sensitive", "output_blastx_fm_sensitive_test.sam", "sam", "output_blastx_fm_sensitive.sam"); + "queries_nucl.fasta.gz", "sensitive", "output_blastx_fm_sensitive.sam", "sam", "output_blastx_fm_sensitive.sam"); } TEST_F(search_test, tblastn_fm_sensitive_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "sensitive", "output_tblastn_fm_sensitive_test.m8", "m8", "output_tblastn_fm_sensitive.m8"); + "queries_prot.fasta.gz", "sensitive", "output_tblastn_fm_sensitive.m8", "m8", "output_tblastn_fm_sensitive.m8"); } TEST_F(search_test, tblastn_fm_sensitive_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_prot.fasta.gz", "sensitive", "output_tblastn_fm_sensitive_test.sam", "sam", "output_tblastn_fm_sensitive.sam"); + "queries_prot.fasta.gz", "sensitive", "output_tblastn_fm_sensitive.sam", "sam", "output_tblastn_fm_sensitive.sam"); } TEST_F(search_test, tblastx_fm_sensitive_m8) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "sensitive", "output_tblastx_fm_sensitive_test.m8", "m8", "output_tblastx_fm_sensitive.m8"); + "queries_nucl.fasta.gz", "sensitive", "output_tblastx_fm_sensitive.m8", "m8", "output_tblastx_fm_sensitive.m8"); } TEST_F(search_test, tblastx_fm_sensitive_sam) { run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "sensitive", "output_tblastx_fm_sensitive_test.sam", "sam", "output_tblastx_fm_sensitive.sam"); + "queries_nucl.fasta.gz", "sensitive", "output_tblastx_fm_sensitive.sam", "sam", "output_tblastx_fm_sensitive.sam"); +} + +// pairs default mode + +TEST_F(search_test, blastn_fm_pairs_default_m8) +{ + run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", + "queries_nucl.fasta.gz", "pairs-default", "output_blastn_fm_pairs_default.m8", "m8", "output_blastn_fm_pairs_default.m8"); +} + +TEST_F(search_test, blastn_fm_pairs_default_sam) +{ + run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", + "queries_nucl.fasta.gz", "pairs-default", "output_blastn_fm_pairs_default.sam", "sam", "output_blastn_fm_pairs_default.sam"); +} + +TEST_F(search_test, blastn_bs_fm_pairs_default_m8) +{ + run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", + "queries_nucl_bs.fasta.gz", "pairs-default", "output_blastn_bs_fm_pairs_default.m8", "m8", "output_blastn_bs_fm_pairs_default.m8"); +} + +TEST_F(search_test, blastn_bs_fm_pairs_default_sam) +{ + run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", + "queries_nucl_bs.fasta.gz", "pairs-default", "output_blastn_bs_fm_pairs_default.sam", "sam", "output_blastn_bs_fm_pairs_default.sam"); +} + +TEST_F(search_test, blastp_fm_pairs_default_m8) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-default", "output_blastp_fm_pairs_default.m8", "m8", "output_blastp_fm_pairs_default.m8"); +} + +TEST_F(search_test, blastp_fm_pairs_default_sam) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-default", "output_blastp_fm_pairs_default.sam", "sam", "output_blastp_fm_pairs_default.sam"); +} + +TEST_F(search_test, blastx_fm_pairs_default_m8) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-default", "output_blastx_fm_pairs_default.m8", "m8", "output_blastx_fm_pairs_default.m8"); +} + +TEST_F(search_test, blastx_fm_pairs_default_sam) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-default", "output_blastx_fm_pairs_default.sam", "sam", "output_blastx_fm_pairs_default.sam"); +} + +TEST_F(search_test, tblastn_fm_pairs_default_m8) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-default", "output_tblastn_fm_pairs_default.m8", "m8", "output_tblastn_fm_pairs_default.m8"); +} + +TEST_F(search_test, tblastn_fm_pairs_default_sam) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-default", "output_tblastn_fm_pairs_default.sam", "sam", "output_tblastn_fm_pairs_default.sam"); +} + +TEST_F(search_test, tblastx_fm_pairs_default_m8) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-default", "output_tblastx_fm_pairs_default.m8", "m8", "output_tblastx_fm_pairs_default.m8"); +} + +TEST_F(search_test, tblastx_fm_pairs_default_sam) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-default", "output_tblastx_fm_pairs_default.sam", "sam", "output_tblastx_fm_pairs_default.sam"); +} + +// pairs sensitive mode + +TEST_F(search_test, blastn_fm_pairs_sensitive_m8) +{ + run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", + "queries_nucl.fasta.gz", "pairs-sensitive", "output_blastn_fm_pairs_sensitive.m8", "m8", "output_blastn_fm_pairs_sensitive.m8"); +} + +TEST_F(search_test, blastn_fm_pairs_sensitive_sam) +{ + run_search_test("mkindexn", "db_nucl.fasta.gz", "db_nucl_fm.fasta.gz.lba", "fm", "", "searchn", + "queries_nucl.fasta.gz", "pairs-sensitive", "output_blastn_fm_pairs_sensitive.sam", "sam", "output_blastn_fm_pairs_sensitive.sam"); +} + +TEST_F(search_test, blastn_bs_fm_pairs_sensitive_m8) +{ + run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", + "queries_nucl_bs.fasta.gz", "pairs-sensitive", "output_blastn_bs_fm_pairs_sensitive.m8", "m8", "output_blastn_bs_fm_pairs_sensitive.m8"); +} + +TEST_F(search_test, blastn_bs_fm_pairs_sensitive_sam) +{ + run_search_test("mkindexbs", "db_nucl_bs.fasta.gz", "db_nucl_bs_fm.fasta.gz.lba", "fm", "", "searchbs", + "queries_nucl_bs.fasta.gz", "pairs-sensitive", "output_blastn_bs_fm_pairs_sensitive.sam", "sam", "output_blastn_bs_fm_pairs_sensitive.sam"); +} + +TEST_F(search_test, blastp_fm_pairs_sensitive_m8) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-sensitive", "output_blastp_fm_pairs_sensitive.m8", "m8", "output_blastp_fm_pairs_sensitive.m8"); +} + +TEST_F(search_test, blastp_fm_pairs_sensitive_sam) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-sensitive", "output_blastp_fm_pairs_sensitive.sam", "sam", "output_blastp_fm_pairs_sensitive.sam"); +} + +TEST_F(search_test, blastx_fm_pairs_sensitive_m8) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-sensitive", "output_blastx_fm_pairs_sensitive.m8", "m8", "output_blastx_fm_pairs_sensitive.m8"); +} + +TEST_F(search_test, blastx_fm_pairs_sensitive_sam) +{ + run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-sensitive", "output_blastx_fm_pairs_sensitive.sam", "sam", "output_blastx_fm_pairs_sensitive.sam"); +} + +TEST_F(search_test, tblastn_fm_pairs_sensitive_m8) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-sensitive", "output_tblastn_fm_pairs_sensitive.m8", "m8", "output_tblastn_fm_pairs_sensitive.m8"); +} + +TEST_F(search_test, tblastn_fm_pairs_sensitive_sam) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_prot.fasta.gz", "pairs-sensitive", "output_tblastn_fm_pairs_sensitive.sam", "sam", "output_tblastn_fm_pairs_sensitive.sam"); +} + +TEST_F(search_test, tblastx_fm_pairs_sensitive_m8) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-sensitive", "output_tblastx_fm_pairs_sensitive.m8", "m8", "output_tblastx_fm_pairs_sensitive.m8"); +} + +TEST_F(search_test, tblastx_fm_pairs_sensitive_sam) +{ + run_search_test("mkindexp", "db_nucl.fasta.gz", "db_trans_fm.fasta.gz.lba", "fm", "li10", "searchp", + "queries_nucl.fasta.gz", "pairs-sensitive", "output_tblastx_fm_pairs_sensitive.sam", "sam", "output_tblastx_fm_pairs_sensitive.sam"); } // special options @@ -624,6 +772,6 @@ TEST_F(search_test, tblastx_fm_sensitive_sam) TEST_F(search_test, lazy_loading) { run_search_test("mkindexp", "db_prot.fasta.gz", "db_prot_fm.fasta.gz.lba", "fm", "li10", "searchp", - "queries_nucl.fasta.gz", "none", "output_blastx_fm_lazy_test.m8", "m8", "output_blastx_fm.m8", + "queries_nucl.fasta.gz", "none", "output_blastx_fm_lazy.m8", "m8", "output_blastx_fm.m8", "--lazy-query", "1", "-t", "2"); } diff --git a/test/data/datasources.cmake b/test/data/datasources.cmake index 99d8e57d3..9e166a689 100644 --- a/test/data/datasources.cmake +++ b/test/data/datasources.cmake @@ -4,7 +4,7 @@ include (cmake/app_datasources.cmake) ## Index input files -set(BASEURL "https://raw.githubusercontent.com/h-2/lambda-testdata/21e2a230deec072ddc6da4b67403ce684dddf2c2") +set(BASEURL "https://raw.githubusercontent.com/h-2/lambda-testdata/832453c8721094af511a2d7041dbb107a9ecc912") declare_datasource (FILE db_nucl.fasta.gz URL ${BASEURL}/input_files/db_nucl.fasta.gz @@ -68,218 +68,240 @@ declare_datasource (FILE queries_prot.fasta.gz ## Search output files -declare_datasource (FILE output_blastn_fm.bam - URL ${BASEURL}/output_files/output_blastn_fm.bam - URL_HASH SHA256=f181cd5e083df6879044153eced4b545a6c392e3c3e55f733799c37f32be16fb) - -declare_datasource (FILE output_blastn_fm.m0 - URL ${BASEURL}/output_files/output_blastn_fm.m0 - URL_HASH SHA256=8d4083e6c4f0979497df61fec5169c1e82a9111bf052b77980c987a5012acddf) - -declare_datasource (FILE output_blastn_fm.m8 - URL ${BASEURL}/output_files/output_blastn_fm.m8 - URL_HASH SHA256=5ee0f2c00efa90aa564b4f3a1a05e5bce084421612d1776d4431377e296c9f5f) - -declare_datasource (FILE output_blastn_fm.m9 - URL ${BASEURL}/output_files/output_blastn_fm.m9 - URL_HASH SHA256=46090b822625b64628c0b4bbb7c068a1224a77d5e6c6dd7f5dc4901943e94096) - -declare_datasource (FILE output_blastn_fm.sam - URL ${BASEURL}/output_files/output_blastn_fm.sam - URL_HASH SHA256=a1de463d54ee72ff24cade4526b340aab9e48d6232e3e98b36b9f6560260ef0b) - +declare_datasource (FILE output_blastn_bs_fm_fast.m8 + URL ${BASEURL}/output_files/output_blastn_bs_fm_fast.m8 + URL_HASH SHA256=732b439bded780e0b4b68478e6e89368934cab43d261c2f41e48d90ab505a01e) +declare_datasource (FILE output_blastn_bs_fm_fast.sam + URL ${BASEURL}/output_files/output_blastn_bs_fm_fast.sam + URL_HASH SHA256=2247d450da5ad0fa76f630e373bbf70d0fde79a736637d19f8f25d985178fcfa) +declare_datasource (FILE output_blastn_bs_fm_pairs_default.m8 + URL ${BASEURL}/output_files/output_blastn_bs_fm_pairs_default.m8 + URL_HASH SHA256=11c0e206f0c48bbe87bb464c175bd6bea3ce25c02769d33961beeadba15fcc98) +declare_datasource (FILE output_blastn_bs_fm_pairs_default.sam + URL ${BASEURL}/output_files/output_blastn_bs_fm_pairs_default.sam + URL_HASH SHA256=55e2f168ab0a3fd2d1d55e8344473ab67c75c509f8e42c3fa3d0cb5d655141cf) +declare_datasource (FILE output_blastn_bs_fm_pairs_sensitive.m8 + URL ${BASEURL}/output_files/output_blastn_bs_fm_pairs_sensitive.m8 + URL_HASH SHA256=1bd31e06f5c20c273b5079a8f483ae574daa6c8e38b50cdf45bacad18f940901) +declare_datasource (FILE output_blastn_bs_fm_pairs_sensitive.sam + URL ${BASEURL}/output_files/output_blastn_bs_fm_pairs_sensitive.sam + URL_HASH SHA256=ff854acd2bba55142275ace681c9270d2e287e3be7123f7ce69598cde2eb98ca) +declare_datasource (FILE output_blastn_bs_fm_sensitive.m8 + URL ${BASEURL}/output_files/output_blastn_bs_fm_sensitive.m8 + URL_HASH SHA256=5836c6941f04119823ec9e23ebf7cfec1c9b1e59d8cc486211b0aeb1d34ca0ca) +declare_datasource (FILE output_blastn_bs_fm_sensitive.sam + URL ${BASEURL}/output_files/output_blastn_bs_fm_sensitive.sam + URL_HASH SHA256=bee4b36f98572c6a4d6cc4f9c6cacf40b627b57dc8c5964d82921c9e7bd884c8) declare_datasource (FILE output_blastn_bs_fm.bam URL ${BASEURL}/output_files/output_blastn_bs_fm.bam - URL_HASH SHA256=8a73e5bca4b7a3225114170906c520c74bd066c2540898369a9c6ab24f517f5e) - + URL_HASH SHA256=cb8204f66fe135f39a01a495d553a4d2ebb7f190aab1cc92fc78e158d8ebb6ae) declare_datasource (FILE output_blastn_bs_fm.m0 URL ${BASEURL}/output_files/output_blastn_bs_fm.m0 - URL_HASH SHA256=5be6f6e2e5e57a9a07d364d1fd5c376e13db9aa4093f1445cdca17ee7e143790) - + URL_HASH SHA256=20227f3db16bf6dd5ecb5c22d831eb42e976f664df3678a49670369366ea3e00) declare_datasource (FILE output_blastn_bs_fm.m8 URL ${BASEURL}/output_files/output_blastn_bs_fm.m8 - URL_HASH SHA256=a03ec852936061867791a4dabffffe8cead43b24c0e0afba398e134841fc193d) - + URL_HASH SHA256=732b439bded780e0b4b68478e6e89368934cab43d261c2f41e48d90ab505a01e) declare_datasource (FILE output_blastn_bs_fm.m9 URL ${BASEURL}/output_files/output_blastn_bs_fm.m9 - URL_HASH SHA256=2b71a95f02f5cc59037d6d1b34b4fd6141e2d36a0e9a8803a6d6c5c9e98482de) - + URL_HASH SHA256=0bdcd2dae96480227f4da0dd431118ba0564c923f1fe9ea1f3eaf1cf143af44f) declare_datasource (FILE output_blastn_bs_fm.sam URL ${BASEURL}/output_files/output_blastn_bs_fm.sam - URL_HASH SHA256=3fe84a825c55004a87b34ee24312d64961a08737e91a948bfe0b5b3bcb2f3e38) - + URL_HASH SHA256=2247d450da5ad0fa76f630e373bbf70d0fde79a736637d19f8f25d985178fcfa) +declare_datasource (FILE output_blastn_fm_fast.m8 + URL ${BASEURL}/output_files/output_blastn_fm_fast.m8 + URL_HASH SHA256=8486e576c6ce0ed0f605f20f794ec2a7804cdb302c8261ab975fdd3b8f8f02b0) +declare_datasource (FILE output_blastn_fm_fast.sam + URL ${BASEURL}/output_files/output_blastn_fm_fast.sam + URL_HASH SHA256=105b00b92787338dbd3b2bed3322d452b75427f66d9cdc6c71028361afccc623) +declare_datasource (FILE output_blastn_fm_pairs_default.m8 + URL ${BASEURL}/output_files/output_blastn_fm_pairs_default.m8 + URL_HASH SHA256=f3ce1c515a7e48d1594ef7de7ec3af03fed352b111dfb387304012dda5d33b53) +declare_datasource (FILE output_blastn_fm_pairs_default.sam + URL ${BASEURL}/output_files/output_blastn_fm_pairs_default.sam + URL_HASH SHA256=f9edd30876b9a75d99d4bf52b71f6da22038de43ba33f711805044ad8d1d5794) +declare_datasource (FILE output_blastn_fm_pairs_sensitive.m8 + URL ${BASEURL}/output_files/output_blastn_fm_pairs_sensitive.m8 + URL_HASH SHA256=367660b88239aaa5ed32dbce7702e3c22eb5adb7c6f1c6f043a8e881c930e872) +declare_datasource (FILE output_blastn_fm_pairs_sensitive.sam + URL ${BASEURL}/output_files/output_blastn_fm_pairs_sensitive.sam + URL_HASH SHA256=e65eab36c18315d830d1abcf6b052657db113797e7a3cd7db7fc095b34a00b54) +declare_datasource (FILE output_blastn_fm_sensitive.m8 + URL ${BASEURL}/output_files/output_blastn_fm_sensitive.m8 + URL_HASH SHA256=e173961e41df452e67dff97e3eeee8dfaec6cdfa3b2250d2c6772c06bb2801de) +declare_datasource (FILE output_blastn_fm_sensitive.sam + URL ${BASEURL}/output_files/output_blastn_fm_sensitive.sam + URL_HASH SHA256=9737c9d2fa1f82f851a614fc84d91298e6b2c33b1809ea787708077c3e47c803) +declare_datasource (FILE output_blastn_fm.bam + URL ${BASEURL}/output_files/output_blastn_fm.bam + URL_HASH SHA256=989ecf8caddc2bbfe84c1c47d74fe88752027effc19e02b8ad30308022835996) +declare_datasource (FILE output_blastn_fm.m0 + URL ${BASEURL}/output_files/output_blastn_fm.m0 + URL_HASH SHA256=b533756dc14ee58fd350f5fc4f3ed8dac38dba8100185f3e1a23800fb06cba01) +declare_datasource (FILE output_blastn_fm.m8 + URL ${BASEURL}/output_files/output_blastn_fm.m8 + URL_HASH SHA256=18b7a0feb4b5e76a44be7ec4ae26ceb1be05fa257df0725a6d231f841de01d54) +declare_datasource (FILE output_blastn_fm.m9 + URL ${BASEURL}/output_files/output_blastn_fm.m9 + URL_HASH SHA256=f20ecfabbaf801ec7532b956931b36cbcaa4de5f9a946e139597334dfb50c132) +declare_datasource (FILE output_blastn_fm.sam + URL ${BASEURL}/output_files/output_blastn_fm.sam + URL_HASH SHA256=ca8202a68e22d59e731d023c021244e27e664077d8aa68662041346ac828c110) +declare_datasource (FILE output_blastp_fm_fast.m8 + URL ${BASEURL}/output_files/output_blastp_fm_fast.m8 + URL_HASH SHA256=753acc7afccbcacc8e585e7a83b7b295548ea536b23800ca90a9566bcb7a48cb) +declare_datasource (FILE output_blastp_fm_fast.sam + URL ${BASEURL}/output_files/output_blastp_fm_fast.sam + URL_HASH SHA256=36bca3f2ee56d2234ed44f8351ad83b5fe267c9e75a9eea5c13d34565f20f2ac) +declare_datasource (FILE output_blastp_fm_pairs_default.m8 + URL ${BASEURL}/output_files/output_blastp_fm_pairs_default.m8 + URL_HASH SHA256=8dd2211fbdf3dcbdbd5a53ce02f66d4cbe37ffe5543ba61d3cc324f5c6b698a8) +declare_datasource (FILE output_blastp_fm_pairs_default.sam + URL ${BASEURL}/output_files/output_blastp_fm_pairs_default.sam + URL_HASH SHA256=f1f874880d6ba5280f1fcb2c0e5ff2746ed343a7e9c16e49e4d0db4b48e32041) +declare_datasource (FILE output_blastp_fm_pairs_sensitive.m8 + URL ${BASEURL}/output_files/output_blastp_fm_pairs_sensitive.m8 + URL_HASH SHA256=9c9bb4c98315f1c3fee2116bc565b0eb9abc061af09282680275118a0c884fcf) +declare_datasource (FILE output_blastp_fm_pairs_sensitive.sam + URL ${BASEURL}/output_files/output_blastp_fm_pairs_sensitive.sam + URL_HASH SHA256=e6d733403afc9333429a8617ce91a326861b9c82cb676a819d8c281c7e1fdcea) +declare_datasource (FILE output_blastp_fm_sensitive.m8 + URL ${BASEURL}/output_files/output_blastp_fm_sensitive.m8 + URL_HASH SHA256=25b8fa3de4eda51b016baa90ade64f5ff4f409b37b32b16226e46ca350673823) +declare_datasource (FILE output_blastp_fm_sensitive.sam + URL ${BASEURL}/output_files/output_blastp_fm_sensitive.sam + URL_HASH SHA256=83fc52cfe429c8ac4d790f69f32856f1426ed003c128d6dc4c8767e977e5e9c1) declare_datasource (FILE output_blastp_fm.bam URL ${BASEURL}/output_files/output_blastp_fm.bam URL_HASH SHA256=322932054405c802211f9fd1f9e86a96c8b19ea85d2eaa8cbd18f4bcfb1d5131) - declare_datasource (FILE output_blastp_fm.m0 URL ${BASEURL}/output_files/output_blastp_fm.m0 URL_HASH SHA256=56e29329f35f1868d6c5a2ab0c88e7ea1446d433f5d7bb70308ceb97599fcd5f) - declare_datasource (FILE output_blastp_fm.m8 URL ${BASEURL}/output_files/output_blastp_fm.m8 URL_HASH SHA256=99f520bb55f5c1b371ae5ba41b881c21360a84e7fcb8ff097e01036beb801d4c) - declare_datasource (FILE output_blastp_fm.m9 URL ${BASEURL}/output_files/output_blastp_fm.m9 URL_HASH SHA256=3d7b519b26419361c37f5512b28220f3004620aafa2aae62f0e13bbee3ee92f2) - declare_datasource (FILE output_blastp_fm.sam URL ${BASEURL}/output_files/output_blastp_fm.sam URL_HASH SHA256=d7267490e2c6c1ebf838fb7f08a5f370bf0f2b23024ca76db6bfed440851fc91) - +declare_datasource (FILE output_blastx_fm_fast.m8 + URL ${BASEURL}/output_files/output_blastx_fm_fast.m8 + URL_HASH SHA256=5554e8dcd4de9ef02818e18ad8fb185594762a425aded7929a0b2a574137f46e) +declare_datasource (FILE output_blastx_fm_fast.sam + URL ${BASEURL}/output_files/output_blastx_fm_fast.sam + URL_HASH SHA256=557394a3c75c2da49d3d15c34f10f1eca2e4a934102cfbe92081df0f704b1828) +declare_datasource (FILE output_blastx_fm_lazy.m8 + URL ${BASEURL}/output_files/output_blastx_fm_lazy.m8 + URL_HASH SHA256=d3bb3a5f101e9deab0b7605b83d3c2ce03270545923a65d10b0c7afb52c324b7) +declare_datasource (FILE output_blastx_fm_pairs_default.m8 + URL ${BASEURL}/output_files/output_blastx_fm_pairs_default.m8 + URL_HASH SHA256=9479d7bb3ca8e53b1d425b70867f0d4aeecd73026596997724f4b1d3458ea16f) +declare_datasource (FILE output_blastx_fm_pairs_default.sam + URL ${BASEURL}/output_files/output_blastx_fm_pairs_default.sam + URL_HASH SHA256=44c8a52fa3c76ca943de5dc47e8a20a3f09f70f3c513096f1bc1101b822699e4) +declare_datasource (FILE output_blastx_fm_pairs_sensitive.m8 + URL ${BASEURL}/output_files/output_blastx_fm_pairs_sensitive.m8 + URL_HASH SHA256=abdd532001a794d3abbe3411e842271eae503684bca26c259c0170c2d6da0a61) +declare_datasource (FILE output_blastx_fm_pairs_sensitive.sam + URL ${BASEURL}/output_files/output_blastx_fm_pairs_sensitive.sam + URL_HASH SHA256=49b24eb192c7dbcee68662ba789ecd772a7160229e296653f7960e1ab639f1cf) +declare_datasource (FILE output_blastx_fm_sensitive.m8 + URL ${BASEURL}/output_files/output_blastx_fm_sensitive.m8 + URL_HASH SHA256=59f22a6158b48463b408b329db9472412838455dfbd74a6df7ab8ed4a0240914) +declare_datasource (FILE output_blastx_fm_sensitive.sam + URL ${BASEURL}/output_files/output_blastx_fm_sensitive.sam + URL_HASH SHA256=1402fe5c5161be0df142b279ef293f6edb6685ace4f85c2a6e8b5ff43e41a8b8) declare_datasource (FILE output_blastx_fm.bam URL ${BASEURL}/output_files/output_blastx_fm.bam - URL_HASH SHA256=490b13b75528c87530a3f3028bb825ddb96b46bcbe6dbea76ee782ec17abb5a5) - + URL_HASH SHA256=7a4cad866e89ef84839bba6f9eece7f20528758075fc7faac2419c9406be84cc) declare_datasource (FILE output_blastx_fm.m0 URL ${BASEURL}/output_files/output_blastx_fm.m0 - URL_HASH SHA256=08b1500f717cb596bd1be7919cd72b6ac2c69caccae2716072c046c45122fbdc) - + URL_HASH SHA256=ad5d8ed1fa3ea34edc9e3f5f0c256a7be83db7910fb45a65b514bb506a6b91fe) declare_datasource (FILE output_blastx_fm.m8 URL ${BASEURL}/output_files/output_blastx_fm.m8 - URL_HASH SHA256=f6345d4856a143b9a425a1cca75889e49d2dbc834a817b8ef261d02ac33d2d0d) - + URL_HASH SHA256=d3bb3a5f101e9deab0b7605b83d3c2ce03270545923a65d10b0c7afb52c324b7) declare_datasource (FILE output_blastx_fm.m9 URL ${BASEURL}/output_files/output_blastx_fm.m9 - URL_HASH SHA256=4965194ec39831d4b9343eebc49cbc0871b0cee3fb7219c5626846477dc0307c) - + URL_HASH SHA256=daabecc9b0ef1dd9f27ac7a27baf00327043b73ee94f3dc0a398a3ef2faebc02) declare_datasource (FILE output_blastx_fm.sam URL ${BASEURL}/output_files/output_blastx_fm.sam - URL_HASH SHA256=2447e15abfcfca8b7b91ec788e46b96b363d9d7b125a95471898956da58fa80c) - + URL_HASH SHA256=78f55f6dbff1205e09efa00b65498cb0de5e1d907be394cc8b73e75be7069a3e) +declare_datasource (FILE output_tblastn_fm_fast.m8 + URL ${BASEURL}/output_files/output_tblastn_fm_fast.m8 + URL_HASH SHA256=e7e34710b246347dfdc12619b064da1ec0f1d248316901209d89672e92d9bbb2) +declare_datasource (FILE output_tblastn_fm_fast.sam + URL ${BASEURL}/output_files/output_tblastn_fm_fast.sam + URL_HASH SHA256=e416ddf4d79ea72f8240d291c17c5e41fc2a2d7b4560f1c9ad600b498f9e4d1a) +declare_datasource (FILE output_tblastn_fm_pairs_default.m8 + URL ${BASEURL}/output_files/output_tblastn_fm_pairs_default.m8 + URL_HASH SHA256=9a8416ca080499af6c91e63d6c6ee5315a5440177dc8fc167c490d3d0df05c7c) +declare_datasource (FILE output_tblastn_fm_pairs_default.sam + URL ${BASEURL}/output_files/output_tblastn_fm_pairs_default.sam + URL_HASH SHA256=06d8a2fefc4bfb3fc39605f06bf28b96c442db25c228f59e24fc5c51c68597dd) +declare_datasource (FILE output_tblastn_fm_pairs_sensitive.m8 + URL ${BASEURL}/output_files/output_tblastn_fm_pairs_sensitive.m8 + URL_HASH SHA256=877bb8dbed8a69a065fa82dd3af3f68e393db5ccda575ab62f1ac19c69cb08ee) +declare_datasource (FILE output_tblastn_fm_pairs_sensitive.sam + URL ${BASEURL}/output_files/output_tblastn_fm_pairs_sensitive.sam + URL_HASH SHA256=5cc60d9032f4f8f7de1643d1f5181534288af78969b77051640efc0a7e1ab852) +declare_datasource (FILE output_tblastn_fm_sensitive.m8 + URL ${BASEURL}/output_files/output_tblastn_fm_sensitive.m8 + URL_HASH SHA256=c07e11add4b48d1d910c76f95a007de452c16a8fe8ea83f695a1c75ee4152db1) +declare_datasource (FILE output_tblastn_fm_sensitive.sam + URL ${BASEURL}/output_files/output_tblastn_fm_sensitive.sam + URL_HASH SHA256=b9b54e58f158746e1d69fc24d841ba637c859849bc9fe50e2c75cf3bc634a3e8) declare_datasource (FILE output_tblastn_fm.bam URL ${BASEURL}/output_files/output_tblastn_fm.bam URL_HASH SHA256=0d646463d379eeadca4af6705081854034d2e07bce870dee1165f11dc50f9336) - declare_datasource (FILE output_tblastn_fm.m0 URL ${BASEURL}/output_files/output_tblastn_fm.m0 URL_HASH SHA256=d3922d4db0245d3c797b4ca5a982e73c3331be7b7f3282754e31daf2820691aa) - declare_datasource (FILE output_tblastn_fm.m8 URL ${BASEURL}/output_files/output_tblastn_fm.m8 URL_HASH SHA256=316ff6d392d1553bf3115f41e14e5cfced72f6b22459e487b0def80c37123b44) - declare_datasource (FILE output_tblastn_fm.m9 URL ${BASEURL}/output_files/output_tblastn_fm.m9 URL_HASH SHA256=720895bca93a35543fc58f2dbc490ba9ce531195fe71d0dbbc0ed41e6392002f) - declare_datasource (FILE output_tblastn_fm.sam URL ${BASEURL}/output_files/output_tblastn_fm.sam URL_HASH SHA256=b2ca3d794d03154ed956d095e531858d71aac8d81b4fdee5ce18ed585300e034) - +declare_datasource (FILE output_tblastx_fm_fast.m8 + URL ${BASEURL}/output_files/output_tblastx_fm_fast.m8 + URL_HASH SHA256=dea0901a96f8dafd9e3f7518223257ac6ad0b8e4bf2ec42fe05701707ed72b4a) +declare_datasource (FILE output_tblastx_fm_fast.sam + URL ${BASEURL}/output_files/output_tblastx_fm_fast.sam + URL_HASH SHA256=3c23be9c52c1f05acef72acbfc2ea316e18a9e3fa9a9ad1f59903118783c4129) +declare_datasource (FILE output_tblastx_fm_pairs_default.m8 + URL ${BASEURL}/output_files/output_tblastx_fm_pairs_default.m8 + URL_HASH SHA256=8539cce5bb7ca18974eccf060b361fc09271449add941b21a99b040b001c4683) +declare_datasource (FILE output_tblastx_fm_pairs_default.sam + URL ${BASEURL}/output_files/output_tblastx_fm_pairs_default.sam + URL_HASH SHA256=0ebc191fac3f01ab6d72dd29729e49d0b06da3329281209165abd6a0260af02e) +declare_datasource (FILE output_tblastx_fm_pairs_sensitive.m8 + URL ${BASEURL}/output_files/output_tblastx_fm_pairs_sensitive.m8 + URL_HASH SHA256=59d760626164cdb2564686ce30c36d71c881f657eebca8b2a06ebe3b9a70d50d) +declare_datasource (FILE output_tblastx_fm_pairs_sensitive.sam + URL ${BASEURL}/output_files/output_tblastx_fm_pairs_sensitive.sam + URL_HASH SHA256=5bf3a0fe8ae736b072fd99df764c2039b2dcd28c4486b21c3796b5712d05c1fc) +declare_datasource (FILE output_tblastx_fm_sensitive.m8 + URL ${BASEURL}/output_files/output_tblastx_fm_sensitive.m8 + URL_HASH SHA256=a590cff9711dbbad654a7317c081af5ffacda9c934ece3bf7b59eec223c2cf1f) +declare_datasource (FILE output_tblastx_fm_sensitive.sam + URL ${BASEURL}/output_files/output_tblastx_fm_sensitive.sam + URL_HASH SHA256=8b400bf75ba657dd29983fcf0e5f0f8de2243d8b68287af8b884aab61524ba2e) declare_datasource (FILE output_tblastx_fm.bam URL ${BASEURL}/output_files/output_tblastx_fm.bam URL_HASH SHA256=ab3d60dc3beaa6d5ac78aaa7c6bd212297c9e7ab982fc9c9f6d3c69c6b819b87) - declare_datasource (FILE output_tblastx_fm.m0 URL ${BASEURL}/output_files/output_tblastx_fm.m0 URL_HASH SHA256=fcb43c8084305372ebaf931736bc1dc61a1589021aa3d36ff1d0610e7a423cbb) - declare_datasource (FILE output_tblastx_fm.m8 URL ${BASEURL}/output_files/output_tblastx_fm.m8 URL_HASH SHA256=d040e8debb4e5cff6443e676e77449a65f4ffdb83924660f339d640b121964f1) - declare_datasource (FILE output_tblastx_fm.m9 URL ${BASEURL}/output_files/output_tblastx_fm.m9 URL_HASH SHA256=970a2a628e1816243645e6eabc26ee8f20f2f2ae447e5d18b432fb125d25e867) - declare_datasource (FILE output_tblastx_fm.sam URL ${BASEURL}/output_files/output_tblastx_fm.sam URL_HASH SHA256=6f218b39e8785e1bebbe8be486237e03e06d9fccd41a5e57e575539cfe4eab6e) - -declare_datasource (FILE output_blastn_fm_fast.sam - URL ${BASEURL}/output_files/output_blastn_fm_fast.sam - URL_HASH SHA256=a8121e6138ab3c1d5c0e6b32a38782f07806ff4806a46b706444ebf8cdb318b8) - -declare_datasource (FILE output_blastn_fm_fast.m8 - URL ${BASEURL}/output_files/output_blastn_fm_fast.m8 - URL_HASH SHA256=b6dd323c73944d78367cf4f8b6f22f292d89876c4e6a6020fde7461a5115cfad) - -declare_datasource (FILE output_blastn_bs_fm_fast.sam - URL ${BASEURL}/output_files/output_blastn_bs_fm_fast.sam - URL_HASH SHA256=3fe84a825c55004a87b34ee24312d64961a08737e91a948bfe0b5b3bcb2f3e38) - -declare_datasource (FILE output_blastn_bs_fm_fast.m8 - URL ${BASEURL}/output_files/output_blastn_bs_fm_fast.m8 - URL_HASH SHA256=a03ec852936061867791a4dabffffe8cead43b24c0e0afba398e134841fc193d) - -declare_datasource (FILE output_blastp_fm_fast.sam - URL ${BASEURL}/output_files/output_blastp_fm_fast.sam - URL_HASH SHA256=36bca3f2ee56d2234ed44f8351ad83b5fe267c9e75a9eea5c13d34565f20f2ac) - -declare_datasource (FILE output_blastp_fm_fast.m8 - URL ${BASEURL}/output_files/output_blastp_fm_fast.m8 - URL_HASH SHA256=753acc7afccbcacc8e585e7a83b7b295548ea536b23800ca90a9566bcb7a48cb) - -declare_datasource (FILE output_blastx_fm_fast.sam - URL ${BASEURL}/output_files/output_blastx_fm_fast.sam - URL_HASH SHA256=557394a3c75c2da49d3d15c34f10f1eca2e4a934102cfbe92081df0f704b1828) - -declare_datasource (FILE output_blastx_fm_fast.m8 - URL ${BASEURL}/output_files/output_blastx_fm_fast.m8 - URL_HASH SHA256=5554e8dcd4de9ef02818e18ad8fb185594762a425aded7929a0b2a574137f46e) - -declare_datasource (FILE output_tblastn_fm_fast.sam - URL ${BASEURL}/output_files/output_tblastn_fm_fast.sam - URL_HASH SHA256=e416ddf4d79ea72f8240d291c17c5e41fc2a2d7b4560f1c9ad600b498f9e4d1a) - -declare_datasource (FILE output_tblastn_fm_fast.m8 - URL ${BASEURL}/output_files/output_tblastn_fm_fast.m8 - URL_HASH SHA256=e7e34710b246347dfdc12619b064da1ec0f1d248316901209d89672e92d9bbb2) - -declare_datasource (FILE output_tblastx_fm_fast.sam - URL ${BASEURL}/output_files/output_tblastx_fm_fast.sam - URL_HASH SHA256=3c23be9c52c1f05acef72acbfc2ea316e18a9e3fa9a9ad1f59903118783c4129) - -declare_datasource (FILE output_tblastx_fm_fast.m8 - URL ${BASEURL}/output_files/output_tblastx_fm_fast.m8 - URL_HASH SHA256=dea0901a96f8dafd9e3f7518223257ac6ad0b8e4bf2ec42fe05701707ed72b4a) - -declare_datasource (FILE output_blastn_fm_sensitive.sam - URL ${BASEURL}/output_files/output_blastn_fm_sensitive.sam - URL_HASH SHA256=40042463f6a551e27cf2820650be691f39417bce1d6f24782a1718ff9cbfc6c5) - -declare_datasource (FILE output_blastn_fm_sensitive.m8 - URL ${BASEURL}/output_files/output_blastn_fm_sensitive.m8 - URL_HASH SHA256=1656959b59c448c919c3e03398eece936fb196f141e1ffbc21185859a144ebd7) - -declare_datasource (FILE output_blastn_bs_fm_sensitive.sam - URL ${BASEURL}/output_files/output_blastn_bs_fm_sensitive.sam - URL_HASH SHA256=5f4bb4f9b8f43563856c04998069972e01882b694151bc235ead384f97aa3780) - -declare_datasource (FILE output_blastn_bs_fm_sensitive.m8 - URL ${BASEURL}/output_files/output_blastn_bs_fm_sensitive.m8 - URL_HASH SHA256=947860f9fb506eb0626de5c18bf47b6ba8efaa75fd765a5adc66b95df7958cfd) - -declare_datasource (FILE output_blastp_fm_sensitive.sam - URL ${BASEURL}/output_files/output_blastp_fm_sensitive.sam - URL_HASH SHA256=83fc52cfe429c8ac4d790f69f32856f1426ed003c128d6dc4c8767e977e5e9c1) - -declare_datasource (FILE output_blastp_fm_sensitive.m8 - URL ${BASEURL}/output_files/output_blastp_fm_sensitive.m8 - URL_HASH SHA256=25b8fa3de4eda51b016baa90ade64f5ff4f409b37b32b16226e46ca350673823) - -declare_datasource (FILE output_blastx_fm_sensitive.sam - URL ${BASEURL}/output_files/output_blastx_fm_sensitive.sam - URL_HASH SHA256=d7bf59418964c5b7c5e7d10a173d07d2b4fdaaaa7d684a1a2df1c323fe8620c6) - -declare_datasource (FILE output_blastx_fm_sensitive.m8 - URL ${BASEURL}/output_files/output_blastx_fm_sensitive.m8 - URL_HASH SHA256=039b2929a78ea1c4768a215dd7c6f060bea8c11feab6831d767ca4d7d9cdc0fa) - -declare_datasource (FILE output_tblastn_fm_sensitive.sam - URL ${BASEURL}/output_files/output_tblastn_fm_sensitive.sam - URL_HASH SHA256=b9b54e58f158746e1d69fc24d841ba637c859849bc9fe50e2c75cf3bc634a3e8) - -declare_datasource (FILE output_tblastn_fm_sensitive.m8 - URL ${BASEURL}/output_files/output_tblastn_fm_sensitive.m8 - URL_HASH SHA256=c07e11add4b48d1d910c76f95a007de452c16a8fe8ea83f695a1c75ee4152db1) - -declare_datasource (FILE output_tblastx_fm_sensitive.sam - URL ${BASEURL}/output_files/output_tblastx_fm_sensitive.sam - URL_HASH SHA256=8b400bf75ba657dd29983fcf0e5f0f8de2243d8b68287af8b884aab61524ba2e) - -declare_datasource (FILE output_tblastx_fm_sensitive.m8 - URL ${BASEURL}/output_files/output_tblastx_fm_sensitive.m8 - URL_HASH SHA256=a590cff9711dbbad654a7317c081af5ffacda9c934ece3bf7b59eec223c2cf1f)