X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=binaries%2Fsrc%2Fmafft%2Fextensions%2Fmxscarna_src%2FpostProcessings.cpp;fp=binaries%2Fsrc%2Fmafft%2Fextensions%2Fmxscarna_src%2FpostProcessings.cpp;h=0000000000000000000000000000000000000000;hb=6e0ce943f09b5ac30f3eb8dc0f20bc75114669ce;hp=1028630653666317f39b479754efd16a3cd1df82;hpb=48f0451143441afce738d887b0cde1fb5cdbc02e;p=jabaws.git diff --git a/binaries/src/mafft/extensions/mxscarna_src/postProcessings.cpp b/binaries/src/mafft/extensions/mxscarna_src/postProcessings.cpp deleted file mode 100644 index 1028630..0000000 --- a/binaries/src/mafft/extensions/mxscarna_src/postProcessings.cpp +++ /dev/null @@ -1,91 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////// -// postProcessings.cpp -// -// several post process functions after aligning two profile stem candidate sequences -////////////////////////////////////////////////////////////////////////////////////// - -#include -#include "scarna.hpp" -#include "StemCandidate.hpp" -#include -#include - -using namespace::MXSCARNA; - -void printStructure(std::vector *pscs1, std::vector *pscs2, std::vector *matchPSCS1, std::vector *matchPSCS2); - -void removeConflicts(std::vector *pscs1, std::vector *pscs2, std::vector *matchPSCS1, std::vector *matchPSCS2) -{ - int size = matchPSCS1->size(); - - std::vector found(size, 0); - for(int k = size - 1; k >= 0; k--) { - int i = matchPSCS1->at(k); - int i_rv = pscs1->at(i).GetRvscnumber(); - int j = matchPSCS2->at(k); - int j_rv = pscs2->at(j).GetRvscnumber(); - - found[k] = 0; - - for(int m = size - 1; m >= 0; m--) { - if ( (matchPSCS1->at(m) == i_rv) && (matchPSCS2->at(m) == j_rv) ) { - found[k] = 1; - break; - } - } - } - - int pt = 0; - for(int k = 0; k < size; k++) { - matchPSCS1->at(pt) = matchPSCS1->at(k); - matchPSCS2->at(pt) = matchPSCS2->at(k); - if(found[k] == 1) ++pt; - } - - matchPSCS1->resize(pt); - matchPSCS2->resize(pt); - - //printStructure (pscs1, pscs2, matchPSCS1, matchPSCS2); -} - -void printStructure(std::vector *pscs1, std::vector *pscs2, std::vector *matchPSCS1, std::vector *matchPSCS2) -{ - int size = matchPSCS1->size(); - int len = WORDLENGTH; - std::vector structure1(100, '.'); - std::vector structure2(100, '.'); - for(int k = 0; k < size; k++) { - int i = matchPSCS1->at(k); - int pos1 = pscs1->at(i).GetPosition(); - int j = matchPSCS2->at(k); - int pos2 = pscs2->at(j).GetPosition(); - for(int l = 0; l < len; l++) { - if(pscs1->at(i).GetDistance() > 0) { - structure1[pos1 + l] = '('; - } - else { - structure1[pos1 + l] = ')'; - } - - if(pscs2->at(j).GetDistance() > 0) { - structure2[pos2 + l] = '('; - } - else { - structure2[pos2 + l] = ')'; - } - } - /* - std::cout << i << "\t" << pscs1->at(i).GetLength() << "\t" << pscs1->at(i).GetPosition() << "\t" << pscs1->at(i).GetRvposition() << "\t" << pscs1->at(i).GetDistance() << "\t" << pscs1->at(i).GetContPos() << "\t" << pscs1->at(i).GetBeforePos() << "\t" << pscs1->at(i).GetRvscnumber() << endl; - */ - } - size = structure1.size(); - for(int k = 0; k < size; k++) { - std::cout << structure1[k]; - } - std::cout << endl; - for(int k = 0; k < size; k++) { - std::cout << structure2[k]; - } - std::cout << endl; -} -