     n_queries = nvbio::min( n_queries, genome_len );
 
     // test q-gram index
+    if (TEST_MASK & QGRAM_INDEX)
     {
         log_visible(stderr, "  testing q-gram index... started\n");
 

    log_info(stderr, "    throughput : %.2f B q-grams/s\n", (1.0e-9f * float( stats.queries )) / stats.filter_time);
}

// main test entry point
//
int qgram_test(int argc, char* argv[])
{
    uint32 n_qgrams      = 10000000;
    uint32 n_queries     = 10000000;
    uint32 queries_batch = 10000000;


        log_visible(stderr, "  testing q-gram index... done\n");
        const float genome_ratio = float(genome_len)/float(stats.queries);
        log_info(stderr, "    sorted throughput: %6.2f M reads/s\n", 1.0e-6f * float(n_strings)  / (stats.sorted_time * genome_ratio) );
        log_info(stderr, "    sorted throughput: %6.2f M bases/s\n", 1.0e-6f * float(string_len) / (stats.sorted_time * genome_ratio) );
        log_info(stderr, "    filter throughput: %6.2f M reads/s\n", 1.0e-6f * float(n_strings)  / (stats.filter_time * genome_ratio) );
        log_info(stderr, "    filter throughput: %6.2f M bases/s\n", 1.0e-6f * float(string_len) / (stats.filter_time * genome_ratio) );
    }

    // test q-gram set-index
    if (TEST_MASK & QGRAM_SET_INDEX)
    {
        log_visible(stderr, "  testing q-gram set-index... started\n");

