Re: [Seqan-dev] Dna5Q - how do you access qual or seq ? (Leon Kuchenbecker)
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