MCPcopy Create free account
hub / github.com/BoevaLab/FREEC / findSmallestSuffix

Function findSmallestSuffix

src/myFunc.cpp:2397–2445  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2395}
2396
2397string findSmallestSuffix (string s1, string s2) {
2398
2399 if (s1 == "")
2400 return s2;
2401
2402 // cout <<"s1: "<<s1<< "\ns2: "<<s2 << "\n";
2403
2404 string suffix = "";
2405 vector<string>values1 = split(s1, ';');
2406 vector<string>values2 = split(s2, ';');
2407
2408 int size1 = values1.size();
2409 int size2 = values2.size();
2410
2411 //cout <<"s1 size: "<<size1<< "; s2 size: "<<size2 << "\n";
2412
2413 int startSuffix = 0;
2414
2415 for (int i=max(0,size1-size2); i<size1; i++) {
2416
2417 if (values1[i].compare(values2[0])==0) {
2418 //found possible overlap
2419 int realOverlap = 1;
2420
2421 for (int j=i+1; j<size1; j++) {
2422 if (values1[j].compare(values2[j-i])!=0) {
2423 j=size1;
2424 realOverlap=0;
2425 }
2426 }
2427 if (realOverlap) {
2428 startSuffix = size1 - i;
2429 i=size1;
2430 }
2431 }
2432 }
2433 if (startSuffix == 0)
2434 return s2;
2435
2436 if (startSuffix >= size2) //should never happen
2437 return "";
2438
2439 suffix = values2[startSuffix];
2440 for (int i=startSuffix+1; i<size2; i++) {
2441 suffix += ";"+ values2[i];
2442 }
2443
2444 return suffix;
2445}
2446
2447std::string getNormalBAFforPloidy(int ploidy) {
2448 if (ploidy>1) {

Callers 1

Calls 2

splitFunction · 0.85
compareMethod · 0.80

Tested by

no test coverage detected