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

Method Percentage_GenomeExplained

src/GenomeCopyNumber.cpp:4355–4386  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4353}
4354
4355double GenomeCopyNumber::Percentage_GenomeExplained(int & unexplainedChromosomes)
4356{
4357 vector<ChrCopyNumber>::iterator it;
4358 long double fragment_median2 ;
4359 long double numberOfPoints=0;
4360 double sum_frags = 0;
4361 unexplainedChromosomes=0;
4362 bool unexplained=0;
4363 int threshold = 10;
4364
4365 for ( it=chrCopyNumber_.begin() ; it != chrCopyNumber_.end(); it++ ) {
4366 if (! (it->getChromosome().find("X")!=string::npos || it->getChromosome().find("Y")!=string::npos)) {
4367 int fragmentLength=0;
4368 if (unexplained)unexplainedChromosomes++;
4369 unexplained=0;
4370 for (int i = 0; i< it->getNumberOfFragments(); i++) { // for each fragment:
4371 fragment_median2 = it->getMedianValuesAt(i);
4372 fragmentLength=it->getFragmentLengthsAt(i);
4373 if (fragmentLength>threshold) {
4374 numberOfPoints+=fragmentLength;
4375 if (fragment_median2!=NA && abs(fragment_median2-round_by_ploidy(fragment_median2,ploidy_)) >= 1.0/3/ploidy_) {
4376 //cout << "Unexplained segment: "<<fragment_median2 << "\t";
4377 unexplained=1;
4378 sum_frags+=fragmentLength;
4379 }
4380 }
4381 }
4382 }
4383 }
4384 cout << "Total proportion of unexplained regions: "<<sum_frags << " out of " << numberOfPoints<<" = " << sum_frags/numberOfPoints<< endl ;
4385 return (1-sum_frags/numberOfPoints);
4386}

Callers 1

runWithDefinedPloidyFunction · 0.80

Calls 5

round_by_ploidyFunction · 0.85
getChromosomeMethod · 0.80
getNumberOfFragmentsMethod · 0.80
getMedianValuesAtMethod · 0.80
getFragmentLengthsAtMethod · 0.80

Tested by

no test coverage detected