@@ -59,22 +59,26 @@ void DetermineBackgroundLevels::CalculateMeanandStdRegress(std::string eName, in
5959 // ////////Probe-distal
6060 if (whichProx==" ProbeDistal" ){
6161 for (iter = Features[feature_id].proximities .junctions .begin (); iter != Features[feature_id].proximities .junctions .end (); ++iter){
62+
6263 distance = iter->first - Design_NegCtrl[DesignName].Probes [i].end ;
6364
6465 int bin = abs (distance) / binsize;
66+
67+ if (iter->second .paircount [ExperimentNo] > 0 ){
6568
66- if (bglevelsloc.mean .find (bin) == bglevelsloc.mean .end ())
67- bglevelsloc.mean [bin] = iter->second .paircount [ExperimentNo];
68- else
69- bglevelsloc.mean [bin] = bglevelsloc.mean [bin] + iter->second .paircount [ExperimentNo];
69+ if (bglevelsloc.mean .find (bin) == bglevelsloc.mean .end ())
70+ bglevelsloc.mean [bin] = iter->second .paircount [ExperimentNo];
71+ else
72+ bglevelsloc.mean [bin] = bglevelsloc.mean [bin] + iter->second .paircount [ExperimentNo];
7073
71- if (nofentries_perBin.find (bin) == nofentries_perBin.end ()){
72- nofentries_perBin[bin] = 1 ;
73- signal_square[bin] = (iter->second .paircount [ExperimentNo])*(iter->second .paircount [ExperimentNo]);
74- }
75- else {
76- nofentries_perBin[bin] = nofentries_perBin[bin] + 1 ;
77- signal_square[bin] = (signal_square[bin] + ((iter->second .paircount [ExperimentNo])*(iter->second .paircount [ExperimentNo])));
74+ if (nofentries_perBin.find (bin) == nofentries_perBin.end ()){
75+ nofentries_perBin[bin] = 1 ;
76+ signal_square[bin] = (iter->second .paircount [ExperimentNo])*(iter->second .paircount [ExperimentNo]);
77+ }
78+ else {
79+ nofentries_perBin[bin] = nofentries_perBin[bin] + 1 ;
80+ signal_square[bin] = (signal_square[bin] + ((iter->second .paircount [ExperimentNo])*(iter->second .paircount [ExperimentNo])));
81+ }
7882 }
7983 }
8084 }
@@ -87,18 +91,20 @@ void DetermineBackgroundLevels::CalculateMeanandStdRegress(std::string eName, in
8791 if ((Features[feature_id].FeatureType == 3 && Features[(*iter).interacting_feature_id ].FeatureType == 3 ) && Features[feature_id].TranscriptName != Features[(*iter).interacting_feature_id ].TranscriptName && (abs (distance) >= MinimumJunctionDistance)){
8892
8993 int bin = abs (distance) / binsize;
90- if (bglevelsloc.mean .find (bin) == bglevelsloc.mean .end ())
91- bglevelsloc.mean [bin] = (*iter).signal [ExperimentNo];
92- else
93- bglevelsloc.mean [bin] = bglevelsloc.mean [bin] + (*iter).signal [ExperimentNo];
94+ if ((*iter).signal [ExperimentNo] > 0 ){
95+ if (bglevelsloc.mean .find (bin) == bglevelsloc.mean .end ())
96+ bglevelsloc.mean [bin] = (*iter).signal [ExperimentNo];
97+ else
98+ bglevelsloc.mean [bin] = bglevelsloc.mean [bin] + (*iter).signal [ExperimentNo];
9499
95- if (nofentries_perBin.find (bin) == nofentries_perBin.end ()){
96- nofentries_perBin[bin] = 1 ;
97- signal_square[bin] = ((*iter).signal [ExperimentNo])*((*iter).signal [ExperimentNo]);
98- }
99- else {
100- nofentries_perBin[bin] = nofentries_perBin[bin] + 1 ;
101- signal_square[bin] = (signal_square[bin] + (((*iter).signal [ExperimentNo])*((*iter).signal [ExperimentNo])));
100+ if (nofentries_perBin.find (bin) == nofentries_perBin.end ()){
101+ nofentries_perBin[bin] = 1 ;
102+ signal_square[bin] = ((*iter).signal [ExperimentNo])*((*iter).signal [ExperimentNo]);
103+ }
104+ else {
105+ nofentries_perBin[bin] = nofentries_perBin[bin] + 1 ;
106+ signal_square[bin] = (signal_square[bin] + (((*iter).signal [ExperimentNo])*((*iter).signal [ExperimentNo])));
107+ }
102108 }
103109 }
104110 }
0 commit comments