diff --git a/modules/seq/base/src/impl/sequence_impl.cc b/modules/seq/base/src/impl/sequence_impl.cc
index d584c354947f4d2a595164600d4fa1cc425a4620..9539dd20c5e3968edb285ef26ae6adcaa03c314f 100644
--- a/modules/seq/base/src/impl/sequence_impl.cc
+++ b/modules/seq/base/src/impl/sequence_impl.cc
@@ -136,7 +136,7 @@ int SequenceImpl::GetPos(int index) const
   int shifted_index=index-sequence_offset_;
   int pos=this->GetPosNoBounds(shifted_index);
   if (pos<0 || pos>=static_cast<int>(seq_string_.length()))
-    throw std::out_of_range("number not covered in sequence");
+    throw Error("number not covered in sequence");
   return pos;
 }
 
diff --git a/modules/seq/base/src/impl/sequence_list_impl.hh b/modules/seq/base/src/impl/sequence_list_impl.hh
index 93bc070353780e6c90ddc24add126b5a10560d12..3f1970f511d56e97defc73f78b69d407e024a71d 100644
--- a/modules/seq/base/src/impl/sequence_list_impl.hh
+++ b/modules/seq/base/src/impl/sequence_list_impl.hh
@@ -46,7 +46,7 @@ public:
     if (index<list_.size()) {
       return list_[index];
     }
-    throw Error("Index not covered SequenceList");
+    throw std::out_of_range("Index not covered SequenceList");
   }
   
   const SequenceImplPtr& GetSequence(unsigned int i) const {
@@ -54,7 +54,7 @@ public:
     if (index<list_.size()) {
       return list_[index];
     }
-    throw Error("Index not covered SequenceList");
+    throw std::out_of_range("Index not covered SequenceList");
   }
   
   int GetPos(int seq_index, int residue_index) const;
diff --git a/modules/seq/base/tests/test_alignment.cc b/modules/seq/base/tests/test_alignment.cc
index 260ea5c235a27b3977731f7dab778c27d915b5ec..0491f7d35c124c846b5ddd48cee8965e77492025 100644
--- a/modules/seq/base/tests/test_alignment.cc
+++ b/modules/seq/base/tests/test_alignment.cc
@@ -102,10 +102,10 @@ BOOST_AUTO_TEST_CASE(alignment_onelettercode)
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(0,3),seq1.GetOneLetterCode(3));
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,3),'w');
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,3),seq2.GetOneLetterCode(3));
-  BOOST_CHECK_THROW(a.GetOneLetterCode(0,-1),Error);
-  BOOST_CHECK_THROW(a.GetOneLetterCode(1,6),Error);
-  BOOST_CHECK_THROW(a.GetOneLetterCode(2,0),Error);
-  BOOST_CHECK_THROW(a.GetOneLetterCode(-1,0),Error);
+  BOOST_CHECK_THROW(a.GetOneLetterCode(0,-1),std::out_of_range);
+  BOOST_CHECK_THROW(a.GetOneLetterCode(1,6),std::out_of_range);
+  BOOST_CHECK_THROW(a.GetOneLetterCode(2,0),std::out_of_range);
+  BOOST_CHECK_THROW(a.GetOneLetterCode(-1,0), std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(alignment_pos_and_index)
@@ -119,8 +119,8 @@ BOOST_AUTO_TEST_CASE(alignment_pos_and_index)
   BOOST_CHECK_EQUAL(a.GetResidueIndex(1,4), 2);
   BOOST_CHECK_THROW(a.GetPos(0,-1),Error);
   BOOST_CHECK_THROW(a.GetPos(1,4),Error);
-  BOOST_CHECK_THROW(a.GetPos(2,0),Error);
-  BOOST_CHECK_THROW(a.GetPos(-1,0),Error);
+  BOOST_CHECK_THROW(a.GetPos(2,0),std::out_of_range);
+  BOOST_CHECK_THROW(a.GetPos(-1,0),std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(alignment_getseq)
@@ -132,8 +132,8 @@ BOOST_AUTO_TEST_CASE(alignment_getseq)
   a.AddSequence(seq2);
   BOOST_CHECK_EQUAL(a.GetSequence(0), seq1);
   BOOST_CHECK_EQUAL(a.GetSequence(1), seq2);
-  BOOST_CHECK_THROW(a.GetSequence(-1), Error);
-  BOOST_CHECK_THROW(a.GetSequence(2), Error);
+  BOOST_CHECK_THROW(a.GetSequence(-1), std::out_of_range);
+  BOOST_CHECK_THROW(a.GetSequence(2), std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(alignment_attach_view)
@@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(alignment_attach_view)
   BOOST_CHECK_NO_THROW(a.AttachView(0,EntityView()));
   BOOST_CHECK_EQUAL(a.GetResidue(0,1), EntityView());
   BOOST_CHECK_EQUAL(a.GetResidue(0,3), EntityView());
-  BOOST_CHECK_THROW(a.GetResidue(-1,0),Error)
+  BOOST_CHECK_THROW(a.GetResidue(-1,0),std::out_of_range)
 }
 
 BOOST_AUTO_TEST_CASE(alignment_cut)
@@ -170,10 +170,10 @@ BOOST_AUTO_TEST_CASE(alignment_cut)
   BOOST_CHECK_EQUAL(a.GetLength(),2);
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(0,0),'r');
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(0,1),'r');
-  BOOST_CHECK_THROW(a.GetOneLetterCode(0,2),Error);
+  BOOST_CHECK_THROW(a.GetOneLetterCode(0,2),std::out_of_range);
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,0),'a');
   BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,1),'-');
-  BOOST_CHECK_THROW(a.GetOneLetterCode(1,2),Error);
+  BOOST_CHECK_THROW(a.GetOneLetterCode(1,2),std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(alignment_shift_region)
@@ -194,8 +194,8 @@ BOOST_AUTO_TEST_CASE(alignment_shift_region)
   BOOST_CHECK_EQUAL(a.GetSequence(0).GetString(),"abefcd");
   BOOST_CHECK_EQUAL(a.GetSequence(1).GetString(),"ghlkij");
 
-  BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,2),Error);
-  BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,-2),Error);
+  BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,2),std::out_of_range);
+  BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,-2),std::out_of_range);
 
   BOOST_CHECK_THROW(a.ShiftRegion(0,2,-1),std::out_of_range);
   BOOST_CHECK_THROW(a.ShiftRegion(0,5,2),std::out_of_range);
diff --git a/modules/seq/base/tests/test_sequence.cc b/modules/seq/base/tests/test_sequence.cc
index 97997f9156c63ed1b31a098f405570c02f5da084..d97152f009e99f79307453ecd1f089de7f247e41 100644
--- a/modules/seq/base/tests/test_sequence.cc
+++ b/modules/seq/base/tests/test_sequence.cc
@@ -94,16 +94,16 @@ BOOST_AUTO_TEST_CASE(seq_onelettercode)
   BOOST_CHECK_EQUAL(s.GetOneLetterCode(0),'a');
   BOOST_CHECK_EQUAL(s.GetOneLetterCode(3),'c');
   BOOST_CHECK_EQUAL(s.GetOneLetterCode(9),'f');
-  BOOST_CHECK_THROW(s.GetOneLetterCode(-1),Error);
-  BOOST_CHECK_THROW(s.GetOneLetterCode(10),Error);
+  BOOST_CHECK_THROW(s.GetOneLetterCode(-1),std::out_of_range);
+  BOOST_CHECK_THROW(s.GetOneLetterCode(10),std::out_of_range);
   s=CreateSequence("S1", "-afc--de-f");
   BOOST_CHECK_EQUAL(s.GetOneLetterCode(0),'-');
   BOOST_CHECK_EQUAL(s.GetOneLetterCode(1),'a');
   BOOST_CHECK_EQUAL(s.GetOneLetterCode(9),'f');
-  BOOST_CHECK_THROW(s.GetOneLetterCode(-1),Error);
-  BOOST_CHECK_THROW(s.GetOneLetterCode(10),Error);
+  BOOST_CHECK_THROW(s.GetOneLetterCode(-1),std::out_of_range);
+  BOOST_CHECK_THROW(s.GetOneLetterCode(10),std::out_of_range);
   s=CreateSequence("S1", "");
-  BOOST_CHECK_THROW(s.GetOneLetterCode(0),Error);
+  BOOST_CHECK_THROW(s.GetOneLetterCode(0), std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(seq_getnum) 
@@ -116,8 +116,8 @@ BOOST_AUTO_TEST_CASE(seq_getnum)
   BOOST_CHECK_EQUAL(s.GetResidueIndex(6),4-1);
   BOOST_CHECK_EQUAL(s.GetResidueIndex(7),5-1);
   BOOST_CHECK_EQUAL(s.GetResidueIndex(9),6-1);
-  BOOST_CHECK_THROW(s.GetResidueIndex(-1), Error);
-  BOOST_CHECK_THROW(s.GetResidueIndex(10), Error);
+  BOOST_CHECK_THROW(s.GetResidueIndex(-1), std::out_of_range);
+  BOOST_CHECK_THROW(s.GetResidueIndex(10), std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(seq_getpos) 
@@ -152,7 +152,8 @@ BOOST_AUTO_TEST_CASE(seq_offset)
   BOOST_CHECK_EQUAL(s.GetResidueIndex(1),s2.GetResidueIndex(1)+2);
   BOOST_CHECK_EQUAL(s.GetResidueIndex(6), 5);
   BOOST_CHECK_EQUAL(s.GetResidueIndex(6),s2.GetResidueIndex(6)+2);
-  BOOST_CHECK_THROW(s.GetResidueIndex(10), Error);
+  BOOST_CHECK_THROW(s.GetResidueIndex(10), std::out_of_range);
+  BOOST_CHECK_THROW(s.GetResidueIndex(-1), std::out_of_range);
 
   s.SetSequenceOffset(-1);
   BOOST_CHECK_THROW(s.GetPos(-2), Error);
@@ -169,7 +170,7 @@ BOOST_AUTO_TEST_CASE(seq_offset)
   BOOST_CHECK_EQUAL(s.GetResidueIndex(1),s2.GetResidueIndex(1)-1);
   BOOST_CHECK_EQUAL(s.GetResidueIndex(6), 2);
   BOOST_CHECK_EQUAL(s.GetResidueIndex(6),s2.GetResidueIndex(6)-1);
-  BOOST_CHECK_THROW(s.GetResidueIndex(10), Error);
+  BOOST_CHECK_THROW(s.GetResidueIndex(10), std::out_of_range);
 }
 
 BOOST_AUTO_TEST_CASE(seq_gaps)