0.16.0 release

This commit is contained in:
chhylp123
2021-08-22 21:58:00 -04:00
parent 37b07e4d33
commit e230b3a55f
10 changed files with 126 additions and 85 deletions

View File

@@ -43,7 +43,35 @@ void print_hist_lines(int n_cnt, int start_cnt, const int64_t *cnt)
}
}
int ha_analyze_count(int n_cnt, int start_cnt, const int64_t *cnt, int *peak_het)
int adj_m_peak_hom(int m_peak_hom, int max_i, int max2_i, int max3_i, int *peak_het)
{
int64_t mm[3], d, min_i, min_d, i;
mm[0] = max2_i; mm[1] = max_i; mm[2] = max3_i;
for (i = 0, min_i = -1, min_d = -1; i < 3; i++){
if(mm[i] <= 0) continue;
d = (mm[i] >= m_peak_hom?mm[i]-m_peak_hom:m_peak_hom-mm[i]);
if(min_d == -1 || min_d > d || (min_d == d && i == 1)){
min_d = d; min_i = i;
}
}
if(min_i < 0) return m_peak_hom;
if(mm[min_i] < m_peak_hom){
d = m_peak_hom - mm[min_i];
if(d >= mm[min_i]*0.51) {
*peak_het = mm[min_i];
return m_peak_hom;
}
}
for (i = min_i-1; i >= 0; i--){
if(mm[i] <= 0) continue;
*peak_het = mm[i];
break;
}
return mm[min_i];
}
int ha_analyze_count(int n_cnt, int start_cnt, int m_peak_hom, const int64_t *cnt, int *peak_het)
{
const int hist_max = 100;
int i, start, low_i, max_i, max2_i, max3_i;
@@ -117,6 +145,8 @@ int ha_analyze_count(int n_cnt, int start_cnt, const int64_t *cnt, int *peak_het
}
if (max3 > 0) fprintf(stderr, "[M::%s] right: count[%d] = %ld\n", __func__, max3_i, (long)cnt[max3_i]);
else fprintf(stderr, "[M::%s] right: none\n", __func__);
if(m_peak_hom > 0) return adj_m_peak_hom(m_peak_hom, max_i, max2_i, max3_i, peak_het);
if (max3_i > 0) {
*peak_het = max_i;
return max3_i;