@@ -625,7 +625,7 @@ loadQuery(GlobalDataHolder<TRedAlph, TIndexSpec, TOutFormat, p, h> & global
625625 {
626626 if (maxLen <= 100 )
627627 {
628- #if defined(SEQAN_SIMD_ENABLED) && defined(__AVX2__)
628+ #if 0 // defined(SEQAN_SIMD_ENABLED) && defined(__AVX2__)
629629 options.extensionMode = LambdaOptions::ExtensionMode::FULL_SIMD;
630630 options.band = -1;
631631 #else
@@ -915,6 +915,8 @@ onFindVariable(LocalDataHolder<TGlobalHolder, TScoreExtension> & lH,
915915// Function search()
916916// --------------------------------------------------------------------------
917917
918+ // TODO experiment with tuned branch prediction
919+
918920template <typename TIndexIt, typename TNeedleIt, typename TLambda, typename TLambda2>
919921inline void
920922__goDownNoErrors (TIndexIt const & indexIt,
@@ -1148,18 +1150,13 @@ template <typename TLocalHolder>
11481150inline void
11491151search (TLocalHolder & lH)
11501152{
1151- if (lH.options .adaptiveSeeding )
1152- __serachAdaptive (lH, lH.options .seedLength );
1153- else if (lH.options .maxSeedDist == 0 )
1153+ // TODO implement adaptive seeding with 0-n mismatches
1154+ if (lH.options .maxSeedDist == 0 )
11541155 __search<Backtracking<Exact>>(lH);
1155- else if (lH.options .hammingOnly )
1156- __search<Backtracking<HammingDistance>> (lH);
1156+ else if (lH.options .adaptiveSeeding )
1157+ __serachAdaptive (lH, lH. options . seedLength );
11571158 else
1158- #if 0 // reactivate if edit-distance seeding is readded
1159- __search<Backtracking<EditDistance>>(lH);
1160- #else
1161- return ;
1162- #endif
1159+ __search<Backtracking<HammingDistance>>(lH);
11631160}
11641161
11651162// --------------------------------------------------------------------------
@@ -1630,7 +1627,7 @@ computeBlastMatch(TBlastMatch & bm,
16301627
16311628template <typename TLocalHolder>
16321629inline int
1633- iterateMatches (TLocalHolder & lH)
1630+ iterateMatchesExtend (TLocalHolder & lH)
16341631{
16351632 using TGlobalHolder = typename TLocalHolder::TGlobalHolder;
16361633// using TMatch = typename TGlobalHolder::TMatch;
@@ -1936,7 +1933,6 @@ iterateMatches(TLocalHolder & lH)
19361933}
19371934
19381935#ifdef SEQAN_SIMD_ENABLED
1939-
19401936template <typename TLocalHolder>
19411937inline int
19421938iterateMatchesFullSimd (TLocalHolder & lH)
@@ -2120,9 +2116,6 @@ template <typename TLocalHolder>
21202116inline int
21212117iterateMatchesFullSerial (TLocalHolder & lH)
21222118{
2123- if (length (lH.matches ) == 0 )
2124- return 0 ;
2125-
21262119 using TGlobalHolder = typename TLocalHolder::TGlobalHolder;
21272120 using TMatch = typename TGlobalHolder::TMatch;
21282121 using TPos = typename TMatch::TPos;
@@ -2233,4 +2226,19 @@ iterateMatchesFullSerial(TLocalHolder & lH)
22332226 return 0 ;
22342227}
22352228
2229+ template <typename TLocalHolder>
2230+ inline int
2231+ iterateMatches (TLocalHolder & lH)
2232+ {
2233+ #ifdef SEQAN_SIMD_ENABLED
2234+ if (lH.options .extensionMode == LambdaOptions::ExtensionMode::FULL_SIMD )
2235+ return iterateMatchesFullSimd (lH);
2236+ else
2237+ #endif
2238+ if (lH.options .extensionMode == LambdaOptions::ExtensionMode::FULL_SERIAL )
2239+ return iterateMatchesFullSerial (lH);
2240+ else
2241+ return iterateMatchesExtend (lH);
2242+ }
2243+
22362244#endif // HEADER GUARD
0 commit comments