// aligwlor.h - WL ordered/unordered display. Included // #ifdef _ALIG_WL_ORDERED //++int iSy; //double dWL = ((double)(iW - dX1 - dX2 ) + 1.) / (double)(iSeqLen - 1); // *** -1 double dWL = ((double)(iW - dX1 - dX2 ) ) / (double)iSeqLen; //cout << " ** sWL len = " << sWL.length() << " dWL = " << dWL << endl; //cout << " - last pos iW - dX2 = " << iW - dX2 << ", dX1 + i*dWL = " << dX1 + 80*dWL << endl; int iWLceil = ceil( (oAli.WeightLineMax) ) * 10 ; bool bColOrdered = false; if( (image_cfg.type == 12) || (image_cfg.type == 21) || (image_cfg.type == 22) ) bColOrdered = true; // +int to save index to plot GL (max group line) *** 22.08.2001 // ----------------------------------------------------------------- //multiset< double, greater< double >, alloc > orSums, orSums2; //multiset< double, greater< double >, alloc >::iterator iiSU, iiSU2; // 2 - for com pic //+multimap< double, int, greater< double >, alloc > orSums, orSums2; //+multimap< double, int, greater< double >, alloc >::iterator iiSU, iiSU2; // 2 - for com pic orSumsDef orSums, orSums2; orSumsDef::iterator iiSU, iiSU2; // 2 - for com pic // Alex /* multiset< int, greater< int >, alloc > orSL, orGL, orSL2, orGL2; multiset< int, greater< int >, alloc >::iterator iiSL, iiGL, iiSL2, iiGL2; multiset< int, less< int >, alloc > orNG, orNG2; multiset< int, less< int >, alloc >::iterator iiNG, iiNG2; */ multiset< int, greater< int > > orSL, orGL, orSL2, orGL2; multiset< int, greater< int > >::iterator iiSL, iiGL, iiSL2, iiGL2; multiset< int, less< int > > orNG, orNG2; multiset< int, less< int > >::iterator iiNG, iiNG2; if( image_cfg.type == 12 || (image_cfg.type == 21) || (image_cfg.type == 22) ) { f_fillValueMaps( vAli, oAli.WeightLineSums, aG, vColGroup, orSums, orSL, orGL, orNG ); if( (image_cfg.type == 21) || (image_cfg.type == 22) ) { f_fillValueMaps( *(oAli.pAli2), oAli.WeightLineSums2, aG, *(image_cfg.pColGroup2), orSums2, orSL2, orGL2, orNG2 ); } /*** //+for( i = 0; i < sWL.length(); ++i ) { for( i = 0; i < iSeqLen; ++i ) { //+if( i >= iSeqLen ) break; // ---------> orSums.insert( oAli.WeightLineSums[i] ); } if( image_cfg.type == 22 ) { for( i = 0; i < oAli.WeightLineLen2; ++i ) { orSums2.insert( oAli.WeightLineSums2[i] ); } } int iQ, iG; for( i = 0; i < iSeqLen; ++i ) { //Num of same letters map< char, int, less< char >, alloc > mLet, mGLet; map< int , int, less< int >, alloc > mGr; map< char, int, less< char >, alloc >::iterator iiL; // set ? int iGL = 0; for( j = 0; j < nSeq; ++j ) { string sAli = vAli[j]; //mLet[vAli[j][i]] if( sAli[i] != '-' ) { iQ = mLet[ sAli[i] ]; mLet[ sAli[i] ] = iQ + 1; // same letters iG = f_findGroup( sAli[i], aG ); if( iG > -1 ) { if( iG == vColGroup[i] ) // Same group ++iGL; mGr[iG] = iG; // num of groups } } } // Max same letters iQ = -1; for( iiL = mLet.begin(); iiL != mLet.end(); ++iiL ) { if( (*iiL).second > iQ ) { iQ = (*iiL).second; } } // Inserts: orSL.insert( iQ ); orGL.insert( iGL ); orNG.insert( mGr.size() ); } ***/ // Start pos of iterator: iiSU = orSums.begin(); if( (image_cfg.type == 21) || (image_cfg.type == 22) ) { iiSU2 = orSums2.begin(); } } // EOF