| 160 | // |
| 161 | template <Alphabet ALPHABET, QualityEncoding quality_encoding, typename sequence_type> |
| 162 | void encode( |
| 163 | const sequence_type sequence, |
| 164 | typename SequenceDataEdit<ALPHABET,SequenceDataView>::sequence_stream_type stream, |
| 165 | char* qual_stream) |
| 166 | { |
| 167 | #if 1 |
| 168 | |
| 169 | // use the custom PackedStream assign() method |
| 170 | assign( sequence.length(), sequence, stream ); |
| 171 | |
| 172 | // naive serial implementation |
| 173 | for (uint32 i = 0; i < sequence.length(); i++) |
| 174 | qual_stream[i] = convert_to_phred_quality<quality_encoding>(sequence.quality(i)); |
| 175 | |
| 176 | #else |
| 177 | // naive serial implementation |
| 178 | for (uint32 i = 0; i < sequence.length(); i++) |
| 179 | { |
| 180 | stream[i] = sequence[i]; |
| 181 | qual_stream[i] = convert_to_phred_quality<quality_encoding>(sequence.quality(i)); |
| 182 | } |
| 183 | #endif |
| 184 | } |
| 185 | |
| 186 | // encode a sequence according to some compile-time flags and run-time quality-encoding |
| 187 | // |