     Timer timer;
     timer.start();
 
-    const read_string_set_type read_string_set = reads.const_read_string_set();
+    const read_view_type reads_view = reads;
+    const read_string_set_type read_string_set = reads_view.sequence_string_set();
     const seed_string_set_type seed_string_set = extract_seeds(
         read_string_set,
         params.seed_len,

            genome_infix_set,
            sinks.begin(),
            aln::ThreadParallelScheduler(),
            reads.max_read_len(),
            reads.max_read_len() + BAND_LEN );

        cudaDeviceSynchronize();
        timer.stop();

template <uint32 BAND_LEN>
struct genome_infixes
{
    typedef io::SequenceDataDevice<DNA_N>::const_plain_view_type       read_view_type;

    // constructor
    NVBIO_HOST_DEVICE
