}
}
-void Sequence::load_fasta(std::iostream& file,
+void Sequence::load_fasta(std::istream& file,
int seq_num, int start_index, int end_index)
{
load_fasta(file, alphabet, seq_num, start_index, end_index);
}
void
-Sequence::load_fasta(std::iostream& data_file, alphabet_ref a,
+Sequence::load_fasta(std::istream& data_file, alphabet_ref a,
int seq_num,
int start_index, int end_index)
{
std::string rc_map = create_reverse_map();
// reverse and convert
- seq_string::const_reverse_iterator seq_i;
- seq_string::const_reverse_iterator seq_end = seq->rend();
- for(seq_i = seq->rbegin();
+ Sequence::const_reverse_iterator seq_i;
+ Sequence::const_reverse_iterator seq_end = rend();
+ for(seq_i = rbegin();
seq_i != seq_end;
++seq_i)
{
}
}
+Sequence::const_reverse_iterator Sequence::rbegin() const
+{
+ if (seq and seq_count != 0)
+ return seq->rbegin()+(seq->size()-(seq_start+seq_count));
+ else
+ return Sequence::const_reverse_iterator();
+}
+
+Sequence::const_reverse_iterator Sequence::rend() const
+{
+ if (seq and seq_count != 0) {
+ return rbegin() + seq_count;
+ } else {
+ return Sequence::const_reverse_iterator();
+ }
+}
+
bool Sequence::empty() const
{
return (seq_count == 0) ? true : false;