     typedef nvbio::cuda::ldg_pointer<uint32>                                        base_iterator;
 
     typedef nvbio::PackedStringLoader<base_iterator,
-        io::ReadData::READ_BITS,
-        io::ReadData::READ_BIG_ENDIAN,cache_type>                                               pattern_loader_type;
+        io::SequenceDataTraits<DNA_N>::SEQUENCE_BITS,
+        io::SequenceDataTraits<DNA_N>::SEQUENCE_BIG_ENDIAN,cache_type>                          pattern_loader_type;
     typedef typename pattern_loader_type::iterator                                              pattern_iterator;
     typedef nvbio::vector_view<pattern_iterator>                                                pattern_string;
 

                batch_score_profile_all(
                    aln::make_edit_distance_aligner<aln::SEMI_GLOBAL,aln::TextBlockingTag>(),
                    d_read_data.size(),
                    d_read_data.read_index(),
                    d_read_data.read_stream_storage(),
                    d_read_data.max_read_len(),
                    n_read_symbols,
                    nvbio::raw_pointer( d_ref_storage ),
                    ref_length,

    }
  #endif

    io::SequenceDataHost<DNA_N> h_read_data;

    while (io::next( &h_read_data, read_data_file.get(), batch_size ))
    {
        // build the device side representation
        const io::SequenceDataDevice<DNA_N> d_read_data( h_read_data );

        const uint32 n_read_symbols = h_read_data.bps();

        fprintf(stderr,"  %u reads, avg: %u bps, max: %u bps\n",
            h_read_data.size(),
            h_read_data.avg_sequence_len(),
            h_read_data.max_sequence_len());

        if (TEST_MASK & GOTOH)
        {
