Thanks That is exactly the sort of syntactic headslap I imagined (doh!). Cheers. While I'm here just out of curiosity do you know a) The size in RAM a fastq file takes up when single pass read vs double pass (~ per million 75mers)? b) Does Dna5Q and the alternative of a seqs, qual charstring take up the same space in RAM? c) Is there any extra overhead in iterating or extracting elements from Dna5Q as opposed to a simple charstring? d) Is Dna5Q something like a Vector of <Pair> ??? ... anyway thanks again. Stephen ----------------------- Hi Stephen! > //where seqs is the StringSet of Dna5Q read in above > seqan::Dna5Q seq= seqs[0]; > > Rcpp::Rcout << getQualityValue(seq[0]) << std::endl; // error > [...] seqan::Dna5Q is a type for storing a single character from the ACGTN alphabet including the associated quality. If you want to store a sequence of such characters, you need String<Dna5Q>. Thus, the correct types for your variables would be > seqan::StringSet<seqan::CharString> ids; > seqan::StringSet<seqan::String<seqan::Dna5Q> > seqsQ; Your usage of getQualityValue() was in principle correct, just that you were trying to subscript a single character. Cheers Leon