From f015de7e6d54b9e955baaa42309a1de65f3b0d51 Mon Sep 17 00:00:00 2001 From: Zonggui Chen Date: Sun, 27 Oct 2024 16:03:06 +0800 Subject: [PATCH 1/3] chrom:pos as the unique window ID instead of chrompos. --- src/ashleyslib/feature_generation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ashleyslib/feature_generation.py b/src/ashleyslib/feature_generation.py index 6fdc2b0..f856ca3 100644 --- a/src/ashleyslib/feature_generation.py +++ b/src/ashleyslib/feature_generation.py @@ -126,7 +126,7 @@ def get_read_features(chrom, bamfile_name, window_size, mapq_threshold): # count reads in each window of size stepsize for i in range(0, length, step_size): window_count += 1 - s = str(chrom) + str(i) + s = str(chrom) + ":" + str(i) window_collection.update({s: 1}) window_collection_wc.update({s: 1}) window_collection_wc.update({s+'W': 1}) @@ -167,7 +167,7 @@ def get_read_features(chrom, bamfile_name, window_size, mapq_threshold): window_collection_wc.update({s+'C': 1}) if not i == 0: - last_window = str(chrom) + str(i-step_size) + last_window = str(chrom) + ":" + str(i-step_size) diff = window_collection[last_window] - window_collection[s] neighbor_difference.append(diff) From c54cf80b4f0da895de151eca238cb36e65a59b5b Mon Sep 17 00:00:00 2001 From: Zonggui Chen Date: Sun, 27 Oct 2024 16:06:10 +0800 Subject: [PATCH 2/3] Fixed: incorrect header when statistic is enabled. --- src/ashleyslib/feature_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ashleyslib/feature_generation.py b/src/ashleyslib/feature_generation.py index f856ca3..c7bcffd 100644 --- a/src/ashleyslib/feature_generation.py +++ b/src/ashleyslib/feature_generation.py @@ -35,7 +35,7 @@ def get_header(windows_list, use_statistics): feature_names = [] regular_features = ['W10', 'W20', 'W30', 'W40', 'W50', 'W60', 'W70', 'W80', 'W90', 'W100', 'total'] if use_statistics: - statistics_features = ['stdev', 'mean', 'n_stdev', 'n_mean'] + statistics_features = ['stdev', 'mean', 'var', 'median', 'n_stdev', 'n_mean', 'n_var', 'n_median'] regular_features = regular_features + statistics_features mb = 1000000 for w in windows_list: From 4ab8f4e48d17bdc3c7543ed26be8fecd0a16c300 Mon Sep 17 00:00:00 2001 From: Zonggui Chen Date: Sun, 27 Oct 2024 16:07:55 +0800 Subject: [PATCH 3/3] Fixed: the raw read counts forgot to substract 1. --- src/ashleyslib/feature_generation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ashleyslib/feature_generation.py b/src/ashleyslib/feature_generation.py index c7bcffd..3c6e285 100644 --- a/src/ashleyslib/feature_generation.py +++ b/src/ashleyslib/feature_generation.py @@ -94,7 +94,7 @@ def get_wc_composition(total_window_collection_wc, total_window_collection, wind wc_difference.append(last_window - current_window) last_window = current_window - values.append(total_window_collection[i]) + values.append(total_window_collection[i] - 1) if total == 0: zero_list = ['0.0'] * 10