Google

Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

gnCompare.cpp

Go to the documentation of this file.
00001 
00002 // File:            gnCompare.cpp
00003 // Purpose:         Coparator for all Sequences
00004 // Description:     Compares sequences
00005 // Changes:        
00006 // Version:         libGenome 0.1.0 
00007 // Author:          Aaron Darling 
00008 // Last Edited:     April 15, 2001, 11:13:00pm 
00009 // Modified by:     
00010 // Copyright:       (c) Aaron Darling 
00011 // Licenses:        Proprietary 
00013 #include "gn/gnCompare.h"
00014 
00015 //      public:
00016 
00017 const gnCompare *gnCompare::ProteinSeqCompare(){
00018         const static gnCompare* t_comp = new gnCompare(ProteinSeqCompareType);
00019         return t_comp;
00020 }
00021 const gnCompare *gnCompare::DNASeqCompare(){
00022         const static gnCompare* t_comp = new gnCompare(DNASeqCompareType);
00023         return t_comp;
00024 }
00025 const gnCompare *gnCompare::RNASeqCompare(){
00026         const static gnCompare* t_comp = new gnCompare(RNASeqCompareType);
00027         return t_comp;
00028 }
00029 
00030 gnCompare::gnCompare( const gnCompareType c_type ){
00031         for( gnSeqC i = 0; i < GNSEQC_MAX; ++i ){
00032                 m_pairArray[i] = new gnSeqC[1];
00033                 m_pairArray[i][0] = 0;
00034                 m_containArray[i] = new gnSeqC[1];
00035                 m_containArray[i][0] = 0;
00036         }
00037         switch(c_type){
00038                 case ProteinSeqCompareType:
00039                         CreateProteinComparator();
00040                         break;
00041                 case DNASeqCompareType:
00042                         CreateDNAComparator();
00043                         break;
00044                 case RNASeqCompareType:
00045                         CreateRNAComparator();
00046                         break;
00047         }
00048 }
00049 
00050 boolean gnCompare::Contains( gnSeqC ch, gnSeqC ch2, boolean case_sensitive) const
00051 {
00052         if(!case_sensitive){
00053                 ch = toupper(ch);
00054                 ch2 = toupper(ch2);
00055         }
00056         if(strchr(m_containArray[ch], ch2) == 0)
00057                 return false;
00058         return true;
00059 }
00060 
00061 boolean gnCompare::Contains( const gnSeqC* seq, const gnSeqC* seq2, const uint32 len, boolean case_sensitive ) const{
00062         for( uint32 i=0; i < len ; ++i )
00063                 if(!Contains(seq[i], seq2[i], case_sensitive))
00064                         return false;
00065         return true;
00066 }
00067 
00068 boolean gnCompare::Contains( const string &seq, const string &seq2, boolean case_sensitive) const
00069 {
00070         gnSeqI shorter_len = seq.length() < seq2.length() ? seq.length() : seq2.length();
00071         return Contains( (gnSeqC*)seq.data(), (gnSeqC*)seq2.data(), shorter_len, case_sensitive );
00072 }
00073 //      public:
00074 gnCompare::gnCompare()
00075 {
00076         for( gnSeqC i = 0; i < GNSEQC_MAX; ++i ){
00077                 m_pairArray[i] = new gnSeqC[1];
00078                 m_pairArray[i][0] = 0;
00079                 m_containArray[i] = new gnSeqC[1];
00080                 m_containArray[i][0] = 0;
00081         }
00082 }
00083 
00084 gnCompare::gnCompare( const gnCompare &sf )
00085 {
00086         m_name = sf.m_name;
00087         for( gnSeqC i = 0; i < GNSEQC_MAX; ++i ){
00088                 m_pairArray[i] = new gnSeqC[strlen(sf.m_pairArray[i])+1];
00089                 strcpy(m_pairArray[i], sf.m_pairArray[i]);
00090                 m_containArray[i] = new gnSeqC[strlen(sf.m_containArray[i])+1];
00091                 strcpy(m_containArray[i], sf.m_containArray[i]);
00092         }
00093 }
00094 gnCompare::~gnCompare()
00095 {
00096         for( gnSeqC i = 0; i < GNSEQC_MAX; ++i ){
00097                 delete[] m_pairArray[i];
00098                 delete[] m_containArray[i];
00099         }
00100 }
00101 
00102 
00103 void gnCompare::AddArrayEntry( gnSeqC *array[GNSEQC_MAX], const gnSeqC ch, const gnSeqC ch2){
00104         uint32 curlen = strlen(array[ch]);
00105         gnSeqC* tmp = new gnSeqC[curlen + 2];
00106         strcpy(tmp, array[ch]);
00107         tmp[curlen] = ch2;
00108         tmp[curlen+1] = 0;
00109         delete[] array[ch];
00110         array[ch] = tmp;
00111 }
00112 
00113 void gnCompare::DelArrayEntry( gnSeqC *array[GNSEQC_MAX], const gnSeqC ch, const gnSeqC ch2){
00114         //check that the pair exists
00115         gnSeqC* loc = strchr(m_containArray[ch], ch2);
00116         uint32 count = 0;
00117         while(loc != NULL){
00118                 count++;
00119                 loc = strchr(loc+1, ch2);
00120         }
00121         if(count == 0)
00122                 return;
00123 
00124         uint32 curlen = strlen(array[ch]);
00125         gnSeqC* tmp = new gnSeqC[curlen - count];
00126         uint32 tmppos = 0;
00127         for(uint32 i=0; i < curlen; i++)
00128                 if(m_containArray[ch][i] != ch2)
00129                         tmp[tmppos++] = m_containArray[ch][i];
00130         tmp[tmppos] = 0;
00131         delete[] array[ch];
00132         array[ch] = tmp;
00133 }
00134 
00135 
00136 void gnCompare::CreateProteinComparator()
00137 {
00138         SetName( "Protein Comparator" );
00139         SetSingle( 'A' );
00140         SetSingle( 'R' );
00141         SetSingle( 'N' );
00142         SetSingle( 'D' );
00143         SetSingle( 'C' );
00144         SetSingle( 'Q' );
00145         SetSingle( 'E' );
00146         SetSingle( 'G' );
00147         SetSingle( 'H' );
00148         SetSingle( 'I' );
00149         SetSingle( 'L' );
00150         SetSingle( 'K' );
00151         SetSingle( 'M' );
00152         SetSingle( 'F' );
00153         SetSingle( 'P' );
00154         SetSingle( 'S' );
00155         SetSingle( 'T' );
00156         SetSingle( 'W' );
00157         SetSingle( 'Y' );
00158         SetSingle( 'V' );
00159         SetSingle( '.' );
00160         
00161         SetSingle( 'a' );
00162         SetSingle( 'r' );
00163         SetSingle( 'n' );
00164         SetSingle( 'd' );
00165         SetSingle( 'c' );
00166         SetSingle( 'q' );
00167         SetSingle( 'e' );
00168         SetSingle( 'g' );
00169         SetSingle( 'h' );
00170         SetSingle( 'i' );
00171         SetSingle( 'l' );
00172         SetSingle( 'k' );
00173         SetSingle( 'm' );
00174         SetSingle( 'f' );
00175         SetSingle( 'p' );
00176         SetSingle( 's' );
00177         SetSingle( 't' );
00178         SetSingle( 'w' );
00179         SetSingle( 'y' );
00180         SetSingle( 'v' );
00181 }
00182 
00183 void gnCompare::CreateDNAComparator()
00184 {
00185         SetName( "Full DNA Comparator" );
00186 
00187         SetSingle( 'a' );
00188         SetSingle( 'c' );
00189         SetSingle( 'g' );
00190         SetSingle( 't' );
00191         SetSingle( 'r' );
00192         SetSingle( 'k' );
00193         SetSingle( 's' );
00194         SetSingle( 'm' );
00195         SetSingle( 'y' );
00196         SetSingle( 'w' );
00197         SetSingle( 'b' );
00198         SetSingle( 'v' );
00199         SetSingle( 'd' );
00200         SetSingle( 'h' );
00201         SetSingle( 'n' );
00202         SetSingle( 'x' );
00203 
00204         SetSingle( 'A' );
00205         SetSingle( 'C' );
00206         SetSingle( 'G' );
00207         SetSingle( 'T' );
00208         SetSingle( 'R' );
00209         SetSingle( 'K' );
00210         SetSingle( 'S' );
00211         SetSingle( 'M' );
00212         SetSingle( 'Y' );
00213         SetSingle( 'W' );
00214         SetSingle( 'B' );
00215         SetSingle( 'V' );
00216         SetSingle( 'D' );
00217         SetSingle( 'H' );
00218         SetSingle( 'N' );
00219         SetSingle( 'X' );
00220 
00221         SetPair( 'g', 'r' );
00222         SetPair( 'g', 'k' );
00223         SetPair( 'g', 's' );
00224         SetPair( 'g', 'd' );
00225         SetPair( 'g', 'v' );
00226         SetPair( 'g', 'b' );
00227         SetPair( 'g', 'x' );
00228         SetPair( 'G', 'R' );
00229         SetPair( 'G', 'K' );
00230         SetPair( 'G', 'S' );
00231         SetPair( 'G', 'D' );
00232         SetPair( 'G', 'V' );
00233         SetPair( 'G', 'B' );
00234         SetPair( 'G', 'X' );
00235         SetPair( 'a', 'r' );
00236         SetPair( 'a', 'w' );
00237         SetPair( 'a', 'm' );
00238         SetPair( 'a', 'd' );
00239         SetPair( 'a', 'v' );
00240         SetPair( 'a', 'h' );
00241         SetPair( 'a', 'x' );
00242         SetPair( 'A', 'R' );
00243         SetPair( 'A', 'W' );
00244         SetPair( 'A', 'M' );
00245         SetPair( 'A', 'D' );
00246         SetPair( 'A', 'V' );
00247         SetPair( 'A', 'H' );
00248         SetPair( 'A', 'B' );
00249         SetPair( 'A', 'X' );
00250         SetPair( 'c', 's' );
00251         SetPair( 'c', 'm' );
00252         SetPair( 'c', 'y' );
00253         SetPair( 'c', 'v' );
00254         SetPair( 'c', 'b' );
00255         SetPair( 'c', 'h' );
00256         SetPair( 'c', 'x' );
00257         SetPair( 'C', 'S' );
00258         SetPair( 'C', 'M' );
00259         SetPair( 'C', 'Y' );
00260         SetPair( 'C', 'V' );
00261         SetPair( 'C', 'B' );
00262         SetPair( 'C', 'H' );
00263         SetPair( 'C', 'X' );
00264         SetPair( 't', 'k' );
00265         SetPair( 't', 'w' );
00266         SetPair( 't', 'y' );
00267         SetPair( 't', 'd' );
00268         SetPair( 't', 'b' );
00269         SetPair( 't', 'h' );
00270         SetPair( 't', 'x' );
00271         SetPair( 'T', 'K' );
00272         SetPair( 'T', 'W' );
00273         SetPair( 'T', 'Y' );
00274         SetPair( 'T', 'D' );
00275         SetPair( 'T', 'B' );
00276         SetPair( 'T', 'H' );
00277         SetPair( 'T', 'X' );
00278 
00279         SetPair( 'r', 'x' );
00280         SetPair( 'y', 'x' );
00281         SetPair( 'w', 'x' );
00282         SetPair( 's', 'x' );
00283         SetPair( 'k', 'x' );
00284         SetPair( 'm', 'x' );
00285         SetPair( 'b', 'x' );
00286         SetPair( 'd', 'x' );
00287         SetPair( 'h', 'x' );
00288         SetPair( 'v', 'x' );
00289         SetPair( 'n', 'x' );
00290 
00291         SetPair( 'R', 'X' );
00292         SetPair( 'Y', 'X' );
00293         SetPair( 'W', 'X' );
00294         SetPair( 'S', 'X' );
00295         SetPair( 'K', 'X' );
00296         SetPair( 'M', 'X' );
00297         SetPair( 'B', 'X' );
00298         SetPair( 'D', 'X' );
00299         SetPair( 'H', 'X' );
00300         SetPair( 'V', 'X' );
00301         SetPair( 'N', 'X' );
00302 
00303         SetPair( 'k', 'd' );
00304         SetPair( 'k', 'b' );
00305         SetPair( 'r', 'd' );
00306         SetPair( 'r', 'v' );
00307         SetPair( 's', 'v' );
00308         SetPair( 's', 'b' );
00309         SetPair( 'm', 'v' );
00310         SetPair( 'm', 'h' );
00311         SetPair( 'w', 'd' );
00312         SetPair( 'w', 'h' );
00313         SetPair( 'y', 'b' );
00314         SetPair( 'y', 'h' );
00315 
00316         SetPair( 'K', 'D' );
00317         SetPair( 'K', 'B' );
00318         SetPair( 'R', 'D' );
00319         SetPair( 'R', 'V' );
00320         SetPair( 'S', 'V' );
00321         SetPair( 'S', 'B' );
00322         SetPair( 'M', 'V' );
00323         SetPair( 'M', 'H' );
00324         SetPair( 'W', 'D' );
00325         SetPair( 'W', 'H' );
00326         SetPair( 'Y', 'B' );
00327         SetPair( 'Y', 'H' );
00328 //set the containment properties
00329         SetContained( 'g', 'r' );
00330         SetContained( 'g', 'k' );
00331         SetContained( 'g', 's' );
00332         SetContained( 'g', 'd' );
00333         SetContained( 'g', 'v' );
00334         SetContained( 'g', 'b' );
00335         SetContained( 'g', 'x' );
00336         SetContained( 'G', 'R' );
00337         SetContained( 'G', 'K' );
00338         SetContained( 'G', 'S' );
00339         SetContained( 'G', 'D' );
00340         SetContained( 'G', 'V' );
00341         SetContained( 'G', 'B' );
00342         SetContained( 'G', 'X' );
00343         SetContained( 'a', 'r' );
00344         SetContained( 'a', 'w' );
00345         SetContained( 'a', 'm' );
00346         SetContained( 'a', 'd' );
00347         SetContained( 'a', 'v' );
00348         SetContained( 'a', 'h' );
00349         SetContained( 'a', 'x' );
00350         SetContained( 'A', 'R' );
00351         SetContained( 'A', 'W' );
00352         SetContained( 'A', 'M' );
00353         SetContained( 'A', 'D' );
00354         SetContained( 'A', 'V' );
00355         SetContained( 'A', 'H' );
00356         SetContained( 'A', 'B' );
00357         SetContained( 'A', 'X' );
00358         SetContained( 'c', 's' );
00359         SetContained( 'c', 'm' );
00360         SetContained( 'c', 'y' );
00361         SetContained( 'c', 'v' );
00362         SetContained( 'c', 'b' );
00363         SetContained( 'c', 'h' );
00364         SetContained( 'c', 'x' );
00365         SetContained( 'C', 'S' );
00366         SetContained( 'C', 'M' );
00367         SetContained( 'C', 'Y' );
00368         SetContained( 'C', 'V' );
00369         SetContained( 'C', 'B' );
00370         SetContained( 'C', 'H' );
00371         SetContained( 'C', 'X' );
00372         SetContained( 't', 'k' );
00373         SetContained( 't', 'w' );
00374         SetContained( 't', 'y' );
00375         SetContained( 't', 'd' );
00376         SetContained( 't', 'b' );
00377         SetContained( 't', 'h' );
00378         SetContained( 't', 'x' );
00379         SetContained( 'T', 'K' );
00380         SetContained( 'T', 'W' );
00381         SetContained( 'T', 'Y' );
00382         SetContained( 'T', 'D' );
00383         SetContained( 'T', 'B' );
00384         SetContained( 'T', 'H' );
00385         SetContained( 'T', 'X' );
00386 
00387         SetContained( 'r', 'x' );
00388         SetContained( 'y', 'x' );
00389         SetContained( 'w', 'x' );
00390         SetContained( 's', 'x' );
00391         SetContained( 'k', 'x' );
00392         SetContained( 'm', 'x' );
00393         SetContained( 'b', 'x' );
00394         SetContained( 'd', 'x' );
00395         SetContained( 'h', 'x' );
00396         SetContained( 'v', 'x' );
00397         SetContained( 'n', 'x' );
00398 
00399         SetContained( 'R', 'X' );
00400         SetContained( 'Y', 'X' );
00401         SetContained( 'W', 'X' );
00402         SetContained( 'S', 'X' );
00403         SetContained( 'K', 'X' );
00404         SetContained( 'M', 'X' );
00405         SetContained( 'B', 'X' );
00406         SetContained( 'D', 'X' );
00407         SetContained( 'H', 'X' );
00408         SetContained( 'V', 'X' );
00409         SetContained( 'N', 'X' );
00410 
00411         SetContained( 'k', 'd' );
00412         SetContained( 'k', 'b' );
00413         SetContained( 'r', 'd' );
00414         SetContained( 'r', 'v' );
00415         SetContained( 's', 'v' );
00416         SetContained( 's', 'b' );
00417         SetContained( 'm', 'v' );
00418         SetContained( 'm', 'h' );
00419         SetContained( 'w', 'd' );
00420         SetContained( 'w', 'h' );
00421         SetContained( 'y', 'b' );
00422         SetContained( 'y', 'h' );
00423 
00424         SetContained( 'K', 'D' );
00425         SetContained( 'K', 'B' );
00426         SetContained( 'R', 'D' );
00427         SetContained( 'R', 'V' );
00428         SetContained( 'S', 'V' );
00429         SetContained( 'S', 'B' );
00430         SetContained( 'M', 'V' );
00431         SetContained( 'M', 'H' );
00432         SetContained( 'W', 'D' );
00433         SetContained( 'W', 'H' );
00434         SetContained( 'Y', 'B' );
00435         SetContained( 'Y', 'H' );
00436 
00437 }
00438 
00439 void gnCompare::CreateRNAComparator()
00440 {
00441         SetName( "Full RNA Comparator" );
00442 
00443         SetSingle( 'a' );
00444         SetSingle( 'c' );
00445         SetSingle( 'g' );
00446         SetSingle( 'u' );
00447         SetSingle( 'r' );
00448         SetSingle( 'k' );
00449         SetSingle( 's' );
00450         SetSingle( 'm' );
00451         SetSingle( 'y' );
00452         SetSingle( 'w' );
00453         SetSingle( 'b' );
00454         SetSingle( 'v' );
00455         SetSingle( 'd' );
00456         SetSingle( 'h' );
00457         SetSingle( 'n' );
00458         SetSingle( 'x' );
00459 
00460         SetSingle( 'A' );
00461         SetSingle( 'C' );
00462         SetSingle( 'G' );
00463         SetSingle( 'U' );
00464         SetSingle( 'R' );
00465         SetSingle( 'K' );
00466         SetSingle( 'S' );
00467         SetSingle( 'M' );
00468         SetSingle( 'Y' );
00469         SetSingle( 'W' );
00470         SetSingle( 'B' );
00471         SetSingle( 'V' );
00472         SetSingle( 'D' );
00473         SetSingle( 'H' );
00474         SetSingle( 'N' );
00475         SetSingle( 'X' );
00476 
00477         SetPair( 'g', 'r' );
00478         SetPair( 'g', 'k' );
00479         SetPair( 'g', 's' );
00480         SetPair( 'g', 'd' );
00481         SetPair( 'g', 'v' );
00482         SetPair( 'g', 'b' );
00483         SetPair( 'g', 'x' );
00484         SetPair( 'G', 'R' );
00485         SetPair( 'G', 'K' );
00486         SetPair( 'G', 'S' );
00487         SetPair( 'G', 'D' );
00488         SetPair( 'G', 'V' );
00489         SetPair( 'G', 'B' );
00490         SetPair( 'G', 'X' );
00491         SetPair( 'a', 'r' );
00492         SetPair( 'a', 'w' );
00493         SetPair( 'a', 'm' );
00494         SetPair( 'a', 'd' );
00495         SetPair( 'a', 'v' );
00496         SetPair( 'a', 'h' );
00497         SetPair( 'a', 'x' );
00498         SetPair( 'A', 'R' );
00499         SetPair( 'A', 'W' );
00500         SetPair( 'A', 'M' );
00501         SetPair( 'A', 'D' );
00502         SetPair( 'A', 'V' );
00503         SetPair( 'A', 'H' );
00504         SetPair( 'A', 'B' );
00505         SetPair( 'A', 'X' );
00506         SetPair( 'c', 's' );
00507         SetPair( 'c', 'm' );
00508         SetPair( 'c', 'y' );
00509         SetPair( 'c', 'v' );
00510         SetPair( 'c', 'b' );
00511         SetPair( 'c', 'h' );
00512         SetPair( 'c', 'x' );
00513         SetPair( 'C', 'S' );
00514         SetPair( 'C', 'M' );
00515         SetPair( 'C', 'Y' );
00516         SetPair( 'C', 'V' );
00517         SetPair( 'C', 'B' );
00518         SetPair( 'C', 'H' );
00519         SetPair( 'C', 'X' );
00520         SetPair( 'u', 'k' );
00521         SetPair( 'u', 'w' );
00522         SetPair( 'u', 'y' );
00523         SetPair( 'u', 'd' );
00524         SetPair( 'u', 'b' );
00525         SetPair( 'u', 'h' );
00526         SetPair( 'u', 'x' );
00527         SetPair( 'U', 'K' );
00528         SetPair( 'U', 'W' );
00529         SetPair( 'U', 'Y' );
00530         SetPair( 'U', 'D' );
00531         SetPair( 'U', 'B' );
00532         SetPair( 'U', 'H' );
00533         SetPair( 'U', 'X' );
00534 
00535         SetPair( 'r', 'x' );
00536         SetPair( 'y', 'x' );
00537         SetPair( 'w', 'x' );
00538         SetPair( 's', 'x' );
00539         SetPair( 'k', 'x' );
00540         SetPair( 'm', 'x' );
00541         SetPair( 'b', 'x' );
00542         SetPair( 'd', 'x' );
00543         SetPair( 'h', 'x' );
00544         SetPair( 'v', 'x' );
00545         SetPair( 'n', 'x' );
00546 
00547         SetPair( 'R', 'X' );
00548         SetPair( 'Y', 'X' );
00549         SetPair( 'W', 'X' );
00550         SetPair( 'S', 'X' );
00551         SetPair( 'K', 'X' );
00552         SetPair( 'M', 'X' );
00553         SetPair( 'B', 'X' );
00554         SetPair( 'D', 'X' );
00555         SetPair( 'H', 'X' );
00556         SetPair( 'V', 'X' );
00557         SetPair( 'N', 'X' );
00558 
00559         SetPair( 'k', 'd' );
00560         SetPair( 'k', 'b' );
00561         SetPair( 'r', 'd' );
00562         SetPair( 'r', 'v' );
00563         SetPair( 's', 'v' );
00564         SetPair( 's', 'b' );
00565         SetPair( 'm', 'v' );
00566         SetPair( 'm', 'h' );
00567         SetPair( 'w', 'd' );
00568         SetPair( 'w', 'h' );
00569         SetPair( 'y', 'b' );
00570         SetPair( 'y', 'h' );
00571 
00572         SetPair( 'K', 'D' );
00573         SetPair( 'K', 'B' );
00574         SetPair( 'R', 'D' );
00575         SetPair( 'R', 'V' );
00576         SetPair( 'S', 'V' );
00577         SetPair( 'S', 'B' );
00578         SetPair( 'M', 'V' );
00579         SetPair( 'M', 'H' );
00580         SetPair( 'W', 'D' );
00581         SetPair( 'W', 'H' );
00582         SetPair( 'Y', 'B' );
00583         SetPair( 'Y', 'H' );
00584 //set the containment properties
00585         SetContained( 'g', 'r' );
00586         SetContained( 'g', 'k' );
00587         SetContained( 'g', 's' );
00588         SetContained( 'g', 'd' );
00589         SetContained( 'g', 'v' );
00590         SetContained( 'g', 'b' );
00591         SetContained( 'g', 'x' );
00592         SetContained( 'G', 'R' );
00593         SetContained( 'G', 'K' );
00594         SetContained( 'G', 'S' );
00595         SetContained( 'G', 'D' );
00596         SetContained( 'G', 'V' );
00597         SetContained( 'G', 'B' );
00598         SetContained( 'G', 'X' );
00599         SetContained( 'a', 'r' );
00600         SetContained( 'a', 'w' );
00601         SetContained( 'a', 'm' );
00602         SetContained( 'a', 'd' );
00603         SetContained( 'a', 'v' );
00604         SetContained( 'a', 'h' );
00605         SetContained( 'a', 'x' );
00606         SetContained( 'A', 'R' );
00607         SetContained( 'A', 'W' );
00608         SetContained( 'A', 'M' );
00609         SetContained( 'A', 'D' );
00610         SetContained( 'A', 'V' );
00611         SetContained( 'A', 'H' );
00612         SetContained( 'A', 'B' );
00613         SetContained( 'A', 'X' );
00614         SetContained( 'c', 's' );
00615         SetContained( 'c', 'm' );
00616         SetContained( 'c', 'y' );
00617         SetContained( 'c', 'v' );
00618         SetContained( 'c', 'b' );
00619         SetContained( 'c', 'h' );
00620         SetContained( 'c', 'x' );
00621         SetContained( 'C', 'S' );
00622         SetContained( 'C', 'M' );
00623         SetContained( 'C', 'Y' );
00624         SetContained( 'C', 'V' );
00625         SetContained( 'C', 'B' );
00626         SetContained( 'C', 'H' );
00627         SetContained( 'C', 'X' );
00628         SetContained( 'u', 'k' );
00629         SetContained( 'u', 'w' );
00630         SetContained( 'u', 'y' );
00631         SetContained( 'u', 'd' );
00632         SetContained( 'u', 'b' );
00633         SetContained( 'u', 'h' );
00634         SetContained( 'u', 'x' );
00635         SetContained( 'U', 'K' );
00636         SetContained( 'U', 'W' );
00637         SetContained( 'U', 'Y' );
00638         SetContained( 'U', 'D' );
00639         SetContained( 'U', 'B' );
00640         SetContained( 'U', 'H' );
00641         SetContained( 'U', 'X' );
00642 
00643         SetContained( 'r', 'x' );
00644         SetContained( 'y', 'x' );
00645         SetContained( 'w', 'x' );
00646         SetContained( 's', 'x' );
00647         SetContained( 'k', 'x' );
00648         SetContained( 'm', 'x' );
00649         SetContained( 'b', 'x' );
00650         SetContained( 'd', 'x' );
00651         SetContained( 'h', 'x' );
00652         SetContained( 'v', 'x' );
00653         SetContained( 'n', 'x' );
00654 
00655         SetContained( 'R', 'X' );
00656         SetContained( 'Y', 'X' );
00657         SetContained( 'W', 'X' );
00658         SetContained( 'S', 'X' );
00659         SetContained( 'K', 'X' );
00660         SetContained( 'M', 'X' );
00661         SetContained( 'B', 'X' );
00662         SetContained( 'D', 'X' );
00663         SetContained( 'H', 'X' );
00664         SetContained( 'V', 'X' );
00665         SetContained( 'N', 'X' );
00666 
00667         SetContained( 'k', 'd' );
00668         SetContained( 'k', 'b' );
00669         SetContained( 'r', 'd' );
00670         SetContained( 'r', 'v' );
00671         SetContained( 's', 'v' );
00672         SetContained( 's', 'b' );
00673         SetContained( 'm', 'v' );
00674         SetContained( 'm', 'h' );
00675         SetContained( 'w', 'd' );
00676         SetContained( 'w', 'h' );
00677         SetContained( 'y', 'b' );
00678         SetContained( 'y', 'h' );
00679 
00680         SetContained( 'K', 'D' );
00681         SetContained( 'K', 'B' );
00682         SetContained( 'R', 'D' );
00683         SetContained( 'R', 'V' );
00684         SetContained( 'S', 'V' );
00685         SetContained( 'S', 'B' );
00686         SetContained( 'M', 'V' );
00687         SetContained( 'M', 'H' );
00688         SetContained( 'W', 'D' );
00689         SetContained( 'W', 'H' );
00690         SetContained( 'Y', 'B' );
00691         SetContained( 'Y', 'H' );
00692 }

Generated at Fri Nov 30 15:36:50 2001 for libGenome by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001