00001
00002
00003
00005 namespace dsu {
00006
00007 inline char comp(char bp) {
00008 switch(bp) {
00009 case 'A' : return 'T';
00010 case 'C' : return 'G';
00011 case 'G' : return 'C';
00012 case 'T' : return 'A';
00013 case 'U' : return 'A';
00014 case 'Y' : return 'R';
00015 case 'R' : return 'Y';
00016 case 'K' : return 'M';
00017 case 'M' : return 'K';
00018 case 'B' : return 'V';
00019 case 'D' : return 'H';
00020 case 'H' : return 'D';
00021 case 'V' : return 'B';
00022 case 'N' : return 'N';
00023 case 'W' : return 'W';
00024 case 'S' : return 'S';
00025 case 'a' : return 't';
00026 case 'c' : return 'g';
00027 case 'g' : return 'c';
00028 case 't' : return 'a';
00029 case 'u' : return 'a';
00030 case 'y' : return 'r';
00031 case 'r' : return 'y';
00032 case 'k' : return 'm';
00033 case 'm' : return 'k';
00034 case 'b' : return 'v';
00035 case 'd' : return 'h';
00036 case 'h' : return 'd';
00037 case 'v' : return 'b';
00038 case 'n' : return 'n';
00039 case 'w' : return 'w';
00040 case 's' : return 's';
00041 case '\0': return '\0';
00042 default:
00043 std::cerr<<"Unrecognized character: ["<<bp<<"] (dsu::comp)"<<std::endl;
00044 return bp;
00045 }
00046 }
00047
00048 }